:root{
  --cream:#f5f2ec; --cream-2:#efebe1; --card:#efeadf; --card-2:#e6e0d2;
  --ink:#16120e; --ink-2:#463f36; --muted:#8c8375; --muted-2:#a49a89;
  --gold:#a87d22; --gold-deep:#87641a; --gold-bright:#c9a24b; --gold-line:rgba(168,125,34,.28);
  --line:rgba(22,18,14,.08); --line-2:rgba(22,18,14,.14);
  --shadow-sm:0 1px 2px rgba(22,18,14,.04),0 3px 10px rgba(22,18,14,.05);
  --shadow-md:0 12px 30px rgba(22,18,14,.09);
  --shadow-lg:0 30px 64px rgba(22,18,14,.13);
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream); color:var(--ink); font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; line-height:1.65; letter-spacing:-.003em; -webkit-font-smoothing:antialiased; overflow-x:hidden}
h1,h2,h3,h4,.disp{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; line-height:1.04; letter-spacing:-.015em}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px}
.eyebrow{display:inline-flex; align-items:center; gap:11px; font-weight:600; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted)}
.eyebrow::before{content:""; width:7px; height:7px; background:var(--gold); flex:none}

/* chamfer signature */
.cut-br{clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%)}
.cut-bl{clip-path:polygon(0 0,100% 0,100% 100%,30px 100%,0 calc(100% - 30px))}
.cut-tl{clip-path:polygon(30px 0,100% 0,100% 100%,0 100%,0 30px)}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:.84rem; letter-spacing:.01em; padding:15px 28px; border-radius:12px; cursor:pointer; border:1px solid transparent; transition:transform .25s ease,background .25s ease,box-shadow .25s ease; font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif}
.btn-gold{background:var(--gold); color:#fff; box-shadow:0 6px 18px rgba(168,125,34,.26)}
.btn-gold:hover{background:var(--gold-deep); transform:translateY(-2px); box-shadow:0 12px 28px rgba(168,125,34,.34)}
.btn-dark{background:var(--ink); color:var(--cream)}
.btn-dark:hover{background:#000; transform:translateY(-2px)}
.btn-ghost{background:#fff; border-color:var(--line-2); color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold)}
.btn .arw{transition:transform .22s}
.btn:hover .arw{transform:translateX(3px)}

/* header */
header{position:fixed; top:0; left:0; right:0; z-index:100; padding:22px 0; transition:.3s}
header.scrolled{padding:12px 0}
header.scrolled .nav-inner{background:rgba(255,255,255,.82); backdrop-filter:blur(14px); box-shadow:0 10px 40px rgba(26,23,20,.08)}
.nav-inner{display:flex; align-items:center; justify-content:space-between; gap:22px; padding:11px 12px 11px 28px; border:1px solid var(--line); border-radius:999px; transition:.3s; background:rgba(255,255,255,.5); backdrop-filter:blur(6px)}
.brand{display:flex; align-items:center; gap:11px; font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; font-size:1.15rem; letter-spacing:-.01em}
.brand .mark{width:40px; height:40px; flex:none; object-fit:contain}
.brand .mark circle,.brand .mark path{fill:none; stroke:var(--gold); stroke-width:6}
.brand small{display:block; font-size:.5rem; letter-spacing:.36em; color:var(--muted); font-weight:500; margin-top:-2px}
.menu{display:flex; align-items:center; gap:2px; list-style:none; background:rgba(26,23,20,.04); padding:5px; border-radius:999px}
.menu>li{position:relative}
.menu>li>a{display:block; padding:9px 16px; font-size:.86rem; font-weight:500; border-radius:999px; transition:.18s}
.menu>li>a:hover{color:var(--gold)}
.menu>li.active>a{background:#fff; box-shadow:0 2px 8px rgba(26,23,20,.08)}
.has-sub>a::after{content:"▾"; font-size:.58rem; margin-left:6px; color:var(--muted)}
.sub{position:absolute; top:calc(100% + 8px); left:0; min-width:190px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:7px; list-style:none; opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s; box-shadow:0 24px 50px rgba(26,23,20,.14)}
.has-sub:hover .sub{opacity:1; visibility:visible; transform:translateY(0)}
.sub a{display:block; padding:9px 14px; font-size:.84rem; color:var(--ink-2); border-radius:7px; transition:.16s}
.sub a:hover{background:var(--cream); color:var(--gold)}
.nav-inner .btn{border-radius:999px; padding:12px 22px}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px}
.burger span{width:24px; height:2px; background:var(--ink); transition:.25s}

/* hero */
.hero{padding:172px 0 104px}
.hero-top{display:grid; grid-template-columns:1.35fr .9fr; gap:50px; align-items:end; margin-bottom:44px}
.hero h1{font-size:clamp(2.6rem,6vw,4.7rem); max-width:14ch}
.hero h1 .g{color:var(--gold)} .hero h1 .m{color:var(--muted-2)}
.hero-lead{color:var(--ink-2); font-size:1.04rem; padding-bottom:8px}
.hero-imgs{display:grid; grid-template-columns:1.25fr 1fr; gap:20px}
.himg{position:relative; aspect-ratio:16/11; background:linear-gradient(150deg,#cbb98f,#a98f5e); overflow:hidden; box-shadow:var(--shadow-md)}
.himg.two{background:linear-gradient(150deg,#b9a17e,#8a755a)}
.himg .ph{position:absolute; inset:0; display:flex; align-items:flex-end; padding:22px; color:rgba(255,255,255,.9); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; background:linear-gradient(transparent,rgba(20,16,10,.45))}
.hero-cta{margin-top:26px; display:flex; gap:14px; flex-wrap:wrap}

/* about + stats bento */
.about{padding:126px 0}
.about-head{text-align:center; max-width:620px; margin:0 auto 54px}
.about-head h2{font-size:clamp(2rem,4.2vw,3.2rem); margin:18px 0 16px}
.about-head p{color:var(--ink-2)}
.bento{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.bcard{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:34px; position:relative; overflow:hidden; box-shadow:var(--shadow-sm)}
.bcard .tex{position:absolute; inset:0; opacity:.5; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect x='14' y='14' width='68' height='68' rx='20' fill='none' stroke='%231a1714' stroke-opacity='0.05'/%3E%3C/svg%3E"); background-size:96px}
.bcard>*{position:relative; z-index:2}
.b-brand{grid-row:span 2; display:flex; flex-direction:column; justify-content:space-between; background:var(--ink); color:var(--cream); border-color:transparent}
.b-brand .tex{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect x='14' y='14' width='68' height='68' rx='20' fill='none' stroke='%23f4f1ea' stroke-opacity='0.06'/%3E%3C/svg%3E")}
.b-brand .brand{color:var(--cream); font-size:1.35rem; margin-bottom:10px}
.b-brand .brand small{color:var(--muted-2)}
.b-brand p{color:var(--muted-2); font-size:.9rem}
.b-num .n{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; font-size:2.9rem; line-height:1; letter-spacing:-.02em}
.b-num .n.gold{color:var(--gold)}
.b-num .l{margin-top:8px; font-weight:600; font-size:.92rem}
.b-num .c{margin-top:4px; font-size:.72rem; color:var(--muted)}
.b-feat{display:flex; flex-direction:column; gap:12px}
.b-feat .ic{width:38px; height:38px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; border:1px solid var(--line)}
.b-feat .ic svg{width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.6}
.b-feat h4{font-size:1.05rem}
.b-feat p{font-size:.84rem; color:var(--ink-2)}
.bento-note{text-align:center; font-size:.72rem; color:var(--muted); margin-top:20px}

/* operations */
.ops{padding:126px 0; background:var(--cream-2)}
.ops-head{max-width:620px; margin-bottom:48px}
.ops-head h2{font-size:clamp(2rem,4vw,3rem); margin:18px 0 14px}
.ops-head p{color:var(--ink-2)}
.ops-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.op{background:#fff; border:1px solid var(--line); padding:36px 32px 42px; position:relative; transition:transform .28s ease,box-shadow .28s ease; box-shadow:var(--shadow-sm)}
.op:hover{transform:translateY(-5px); box-shadow:0 24px 50px rgba(26,23,20,.1)}
.op .num{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; color:var(--gold); font-size:.95rem}
.op h3{font-size:1.45rem; margin:16px 0 10px}
.op p{color:var(--ink-2); font-size:.92rem}
.op .ic{width:46px; height:46px; margin-top:26px; stroke:var(--gold); fill:none; stroke-width:1.4}

/* commitments slider */
.comm{padding:126px 0}
.comm-head{text-align:center; max-width:640px; margin:0 auto 46px}
.comm-head h2{font-size:clamp(2rem,4.2vw,3rem); margin:18px 0 14px}
.comm-head p{color:var(--ink-2)}
.slider{position:relative; max-width:960px; margin:0 auto}
.slides{overflow:hidden}
.track{display:flex; transition:transform .5s cubic-bezier(.6,.05,.2,1)}
.slide{min-width:100%; background:var(--card); border-radius:24px; padding:48px; display:grid; grid-template-columns:200px 1fr; gap:40px; align-items:center}
.slide .frame{aspect-ratio:1; background:linear-gradient(150deg,var(--ink),#2e2820); display:flex; align-items:center; justify-content:center}
.slide .frame svg{width:64px; height:64px; stroke:var(--gold); fill:none; stroke-width:1.4}
.slide .stars{color:var(--gold); letter-spacing:3px; margin-bottom:14px; font-size:.9rem}
.slide q{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:500; font-size:1.35rem; line-height:1.35; display:block; quotes:none}
.slide .who{margin-top:22px; font-weight:700}
.slide .who span{display:block; font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:500; font-size:.82rem; color:var(--muted); margin-top:2px}
.s-nav{position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:12px; background:#fff; border:1px solid var(--line-2); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; z-index:3}
.s-nav:hover{background:var(--gold); border-color:var(--gold); color:#fff}
.s-prev{left:-24px} .s-next{right:-24px}
.dots{display:flex; gap:8px; justify-content:center; margin-top:26px}
.dot{width:8px; height:8px; border-radius:50%; background:var(--line-2); border:0; cursor:pointer; transition:.2s}
.dot.on{background:var(--gold); width:26px; border-radius:5px}

/* news grid */
.news{padding:126px 0; background:var(--cream-2)}
.news-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:46px; flex-wrap:wrap}
.news-head h2{font-size:clamp(2rem,4vw,2.9rem); margin-top:16px; max-width:14ch}
.news-head p{color:var(--ink-2); max-width:42ch; font-size:.95rem}
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.post .thumb{aspect-ratio:16/11; background:linear-gradient(150deg,#cbb98f,#9a8360); margin-bottom:22px; box-shadow:var(--shadow-sm)}
.post h3{font-size:1.18rem; margin-bottom:8px}
.post p{color:var(--ink-2); font-size:.88rem; margin-bottom:14px}
.read{color:var(--gold); font-weight:600; font-size:.82rem; display:inline-flex; align-items:center; gap:7px}
.read .arw{transition:transform .2s} .read:hover .arw{transform:translateX(3px)}
.news-cta{text-align:center; margin-top:46px}

/* cta */
.cta{padding:126px 0}
.cta-box{background:var(--ink); color:var(--cream); border-radius:30px; padding:74px 48px; text-align:center; position:relative; overflow:hidden}
.cta-box .tex{position:absolute; inset:0; opacity:.5; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Crect x='16' y='16' width='78' height='78' rx='24' fill='none' stroke='%23f4f1ea' stroke-opacity='0.05'/%3E%3C/svg%3E"); background-size:110px}
.cta-box>*{position:relative; z-index:2}
.cta-box h2{font-size:clamp(2.1rem,4.6vw,3.6rem); max-width:18ch; margin:0 auto}
.cta-box h2 .g{color:var(--gold)}
.cta-box p{color:var(--muted-2); margin:22px auto 36px; max-width:48ch}
.cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* footer */
footer{padding:70px 0 30px; background:var(--cream)}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line)}
.foot-brand .brand{margin-bottom:16px}
.foot-brand p{color:var(--ink-2); font-size:.88rem; max-width:34ch}
.foot-col h4{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-size:.92rem; margin-bottom:16px}
.foot-col a,.foot-col p{display:block; color:var(--ink-2); font-size:.87rem; padding:5px 0; transition:.16s}
.foot-col a:hover{color:var(--gold)}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; gap:14px; flex-wrap:wrap}
.foot-bottom p{font-size:.76rem; color:var(--muted)}
.foot-bottom .disc{max-width:58ch}

/* reveal */
.reveal{opacity:0; transform:translateY(26px); transition:.7s}
.reveal.in{opacity:1; transform:none}

@media(max-width:960px){
  .hero-top{grid-template-columns:1fr; gap:26px; align-items:start}
  .bento{grid-template-columns:1fr 1fr}
  .b-brand{grid-row:auto; grid-column:1/-1}
  .ops-grid,.news-grid{grid-template-columns:1fr}
  .slide{grid-template-columns:1fr; padding:36px; text-align:center}
  .slide .frame{width:120px; margin:0 auto}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav-inner{-webkit-backdrop-filter:none; backdrop-filter:none}
  header.scrolled .nav-inner{-webkit-backdrop-filter:none; backdrop-filter:none}
  .menu{position:fixed; top:0; left:0; right:0; bottom:0; width:auto; height:auto; background:var(--cream); flex-direction:column; align-items:stretch; justify-content:flex-start; padding:104px 26px 44px; gap:0; border-radius:0; transform:translateX(100%); transition:transform .32s ease; z-index:99; overflow-y:auto}
  .menu.open{transform:none}
  .menu>li>a{padding:18px 2px; border-bottom:1px solid var(--line); border-radius:0; font-size:1.15rem}
  .has-sub>a::after{float:right}
  .sub{position:static; opacity:1; visibility:visible; transform:none; background:transparent; border:0; box-shadow:none; padding:0 0 8px 16px; max-height:0; overflow:hidden; transition:max-height .3s}
  .sub a{padding:12px 8px; font-size:1rem}
  .has-sub.open .sub{max-height:320px}
  .burger{display:flex; z-index:100}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .bento{grid-template-columns:1fr}
  .hero-imgs{grid-template-columns:1fr}
  .s-prev{left:6px} .s-next{right:6px}
  .foot-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   SHARED PAGE STYLES (inner pages)
   ============================================================ */

/* page banner (sub-page hero) */
.section{padding:126px 0; position:relative}
.banner{padding:174px 0 86px; background:var(--cream-2); border-bottom:1px solid var(--line); position:relative; overflow:hidden}
.banner .crumbs{font-size:.8rem; color:var(--muted); margin-bottom:16px}
.banner .crumbs a:hover{color:var(--gold)}
.banner h1{font-size:clamp(2.4rem,5.4vw,4rem); max-width:16ch}
.banner h1 .g{color:var(--gold)}
.banner p{color:var(--ink-2); max-width:58ch; margin-top:20px; font-size:1.05rem}

/* real image treatment */
.photo{display:block; width:100%; height:100%; object-fit:cover}
.imgbox{position:relative; overflow:hidden; background:var(--card)}

/* generic two-col */
.split{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
.split.wide-left{grid-template-columns:1.15fr .85fr}
.split .copy h2{font-size:clamp(1.9rem,3.8vw,2.8rem); margin:16px 0 18px}
.split .copy p{color:var(--ink-2); margin-bottom:16px}
.split .visual{aspect-ratio:4/5}
.split .visual.landscape{aspect-ratio:4/3}

/* value / info cards */
.cards-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.cards-2{display:grid; grid-template-columns:repeat(2,1fr); gap:22px}
.info{background:#fff; border:1px solid var(--line); padding:34px 30px; position:relative; box-shadow:var(--shadow-sm); transition:transform .28s ease,box-shadow .28s ease}
.info .ic{width:44px;height:44px;border-radius:12px;background:var(--cream);display:flex;align-items:center;justify-content:center;border:1px solid var(--line);margin-bottom:18px}
.info .ic svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.5}
.info h3{font-size:1.2rem; margin-bottom:10px}
.info p{color:var(--ink-2); font-size:.9rem}

/* fact list */
.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff}
.facts .f{padding:30px 26px; border-right:1px solid var(--line)}
.facts .f:last-child{border-right:0}
.facts .f .n{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; font-size:1.9rem; color:var(--gold); line-height:1}
.facts .f .l{margin-top:8px; font-size:.86rem; color:var(--ink-2)}

/* timeline / value chain */
.chain{display:grid; gap:0}
.chain .step{display:grid; grid-template-columns:120px 1fr; gap:30px; padding:30px 0; border-top:1px solid var(--line)}
.chain .step:last-child{border-bottom:1px solid var(--line)}
.chain .step .k{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; font-size:2.4rem; color:var(--gold)}
.chain .step h3{font-size:1.5rem; margin-bottom:10px}
.chain .step p{color:var(--ink-2); max-width:64ch}

/* leadership */
.people{display:grid; grid-template-columns:repeat(2,1fr); gap:26px; max-width:760px}
.person .pic{aspect-ratio:4/5; background:linear-gradient(150deg,#d8c9a6,#a98f5e); margin-bottom:22px; display:flex; align-items:center; justify-content:center; overflow:hidden}
.person .pic .initials{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:700; font-size:2.8rem; color:rgba(255,255,255,.92); letter-spacing:.03em}
.person .pic .pic-logo{width:58%; height:auto}
.person .pic img.photo{width:100%; height:100%; object-fit:cover; object-position:center top}
.person h3{font-size:1.3rem}
.person .role{color:var(--gold); font-weight:600; font-size:.86rem; margin:4px 0 12px}
.person p{color:var(--ink-2); font-size:.9rem}
.person .links{margin-top:14px; display:flex; gap:12px}
.person .links a{font-size:.8rem; font-weight:600; color:var(--ink); border-bottom:2px solid var(--gold); padding-bottom:2px}
.person .links a:hover{color:var(--gold)}

/* gallery */
.filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px}
.filters button{font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-weight:500; font-size:.84rem; padding:10px 20px; border-radius:999px; border:1px solid var(--line-2); background:#fff; cursor:pointer; transition:.2s}
.filters button:hover{border-color:var(--gold); color:var(--gold)}
.filters button.on{background:var(--ink); color:var(--cream); border-color:var(--ink)}
.grid-gal{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; grid-auto-flow:dense}
.gitem{position:relative; aspect-ratio:4/3; overflow:hidden; cursor:pointer; background:var(--card); box-shadow:var(--shadow-sm)}
.gitem.tall{grid-row:span 2; aspect-ratio:auto}
.gitem img{transition:transform .6s}
.gitem:hover img{transform:scale(1.06)}
.gitem .cap{position:absolute; inset:auto 0 0 0; padding:24px 18px 16px; color:#fff; font-size:.82rem; font-weight:500; background:linear-gradient(transparent,rgba(20,16,10,.72)); opacity:0; transition:.28s}
.gitem:hover .cap{opacity:1}
.gitem .cap span{display:block; font-size:.68rem; color:var(--gold-bright); text-transform:uppercase; letter-spacing:.12em; margin-bottom:4px}

/* lightbox */
.lb{position:fixed; inset:0; background:rgba(15,12,10,.94); z-index:200; display:none; align-items:center; justify-content:center; padding:30px}
.lb.open{display:flex}
.lb img{max-width:92vw; max-height:82vh; object-fit:contain}
.lb .x,.lb .p,.lb .nx{position:absolute; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#fff; width:52px; height:52px; border-radius:50%; cursor:pointer; font-size:1.3rem; display:flex; align-items:center; justify-content:center; transition:.2s}
.lb .x:hover,.lb .p:hover,.lb .nx:hover{background:var(--gold); border-color:var(--gold)}
.lb .x{top:26px; right:26px}
.lb .p{left:26px; top:50%; transform:translateY(-50%)}
.lb .nx{right:26px; top:50%; transform:translateY(-50%)}
.lb .lcap{position:absolute; bottom:26px; left:0; right:0; text-align:center; color:#fff; font-size:.88rem}

/* videos */
.vgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px}
.vcard{background:#fff; border:1px solid var(--line); overflow:hidden}
.vcard video{width:100%; display:block; background:#111; aspect-ratio:16/9; object-fit:cover}
.vcard .vmeta{padding:22px 24px}
.vcard h3{font-size:1.2rem; margin-bottom:6px}
.vcard p{color:var(--ink-2); font-size:.88rem}
.vnote{margin-top:32px; padding:22px 26px; border:1px dashed var(--line-2); border-radius:14px; background:var(--cream-2); color:var(--ink-2); font-size:.88rem}
.vnote code{background:rgba(26,23,20,.07); padding:2px 7px; border-radius:5px; font-size:.82rem}

/* contact */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start}
.cinfo .cline{display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--line)}
.cinfo .cline:first-child{border-top:1px solid var(--line)}
.cinfo .cline .ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.cinfo .cline .ic svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.6}
.cinfo .cline h4{font-size:1rem; margin-bottom:3px}
.cinfo .cline a,.cinfo .cline p{color:var(--ink-2); font-size:.9rem; display:block}
.cinfo .cline a:hover{color:var(--gold)}
.form{background:#fff; border:1px solid var(--line); border-radius:20px; padding:38px}
.field{margin-bottom:20px}
.field label{display:block; font-size:.82rem; font-weight:600; margin-bottom:8px}
.field input,.field textarea,.field select{width:100%; padding:14px 16px; border:1px solid var(--line-2); border-radius:10px; background:var(--cream); font-family:"Book Antiqua","Palatino Linotype",Palatino,Georgia,serif; font-size:.92rem; color:var(--ink); transition:.18s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--gold); background:#fff}
.field textarea{resize:vertical; min-height:130px}
.field .err{color:#b4432e; font-size:.76rem; margin-top:6px; display:none}
.field.bad input,.field.bad textarea{border-color:#b4432e}
.field.bad .err{display:block}
.form-ok{display:none; background:#eef4ef; border:1px solid #bcd8c4; color:#2d5a3d; padding:14px 18px; border-radius:10px; margin-bottom:20px; font-size:.9rem}
.form-ok.show{display:block}

/* section intro helper */
.intro{max-width:640px; margin-bottom:52px}
.intro.center{margin-left:auto;margin-right:auto;text-align:center}
.intro h2{font-size:clamp(2rem,4vw,3rem); margin:16px 0 14px}
.intro p{color:var(--ink-2)}

@media(max-width:960px){
  .split,.contact-grid{grid-template-columns:1fr; gap:36px}
  .split.wide-left{grid-template-columns:1fr}
  .cards-3,.people,.vgrid{grid-template-columns:1fr}
  .cards-2{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .facts .f:nth-child(2n){border-right:0}
  .facts .f{border-bottom:1px solid var(--line)}
  .grid-gal{grid-template-columns:1fr 1fr}
  .gitem.tall{grid-row:span 1; aspect-ratio:4/3}
  .chain .step{grid-template-columns:1fr; gap:10px}
}
@media(max-width:600px){
  .grid-gal{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .facts .f{border-right:0}
}


/* ---- premium polish layer ---- */
.info:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
.op:hover{box-shadow:var(--shadow-lg)}
.vcard{box-shadow:var(--shadow-sm); transition:transform .28s ease,box-shadow .28s ease}
.vcard:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
.person .pic{box-shadow:var(--shadow-sm)}
.facts{box-shadow:var(--shadow-sm)}
.form{box-shadow:var(--shadow-md)}
.visual.imgbox{box-shadow:var(--shadow-md)}
img{image-rendering:auto}
.himg img,.gitem img,.post .thumb img,.visual img{transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.post:hover .thumb img{transform:scale(1.05)}
.intro h2,.about-head h2,.sec-head h2,.ops-head h2,.comm-head h2{letter-spacing:-.02em}
.hero h1{letter-spacing:-.025em}

/* mobile spacing scale-down */
@media(max-width:760px){
  .section,.about,.ops,.comm,.news,.cta{padding:80px 0}
  .banner{padding:132px 0 58px}
  .hero{padding:140px 0 72px}
}


/* portrait video reels */
.vreels{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.vreel{background:#fff; border:1px solid var(--line); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .28s ease, box-shadow .28s ease}
.vreel:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
.vreel video{width:100%; aspect-ratio:9/16; object-fit:cover; background:#0d0b09; display:block}
.vreel .vmeta{padding:16px 18px 18px}
.vreel h3{font-size:1.04rem; margin-bottom:4px}
.vreel p{color:var(--ink-2); font-size:.82rem}
@media(max-width:820px){.vreels{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vreels{grid-template-columns:1fr}}


/* leadership profile modal */
.person .bio-btn{margin-top:16px}
.pmodal{position:fixed; inset:0; z-index:200; display:none}
.pmodal.open{display:block}
.pmodal-backdrop{position:absolute; inset:0; background:rgba(15,12,10,.62); backdrop-filter:blur(3px)}
.pmodal-box{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(820px,92vw); max-height:86vh; overflow:hidden; background:var(--cream); border-radius:20px; box-shadow:var(--shadow-lg); display:flex}
.pmodal-box .pm-photo{flex:0 0 300px; position:relative; overflow:hidden; background:var(--card)}
.pmodal-box .pm-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top}
.pmodal-box .pm-body{flex:1; min-width:0; min-height:0; overflow-y:auto; padding:42px}
.pmodal-box .pm-body .role{display:block; color:var(--gold); font-weight:600; font-size:.84rem}
.pmodal-box .pm-body h3{font-size:1.9rem; margin:6px 0 18px}
.pmodal-box .pm-bio p{color:var(--ink-2); margin-bottom:14px}
.pmodal-box .bio-links a{color:var(--ink); border-bottom:2px solid var(--gold); font-weight:600; font-size:.86rem}
.pmodal-box .bio-links a:hover{color:var(--gold)}
.pm-x{position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:50%; border:1px solid var(--line-2); background:var(--cream); cursor:pointer; font-size:1.2rem; z-index:3}
.pm-x:hover{background:var(--gold); color:#fff; border-color:var(--gold)}
@media(max-width:640px){.pmodal-box{flex-direction:column; width:92vw; max-height:88vh} .pmodal-box .pm-photo{flex:0 0 200px; width:100%} .pmodal-box .pm-body{padding:26px 24px 30px} .pmodal-box .pm-body h3{font-size:1.5rem}}


/* ---- mobile nav + spacing fixes ---- */
.menu-cta{display:none}
@media(max-width:760px){
  .wrap{padding:0 20px}
  .nav-inner{padding:9px 10px 9px 20px; gap:12px}
  .brand{font-size:1rem}
  .brand .mark{width:34px; height:34px}
  #navbtn{display:none}
  .menu-cta{display:block; margin-top:18px; padding:6px 12px 0}
  .menu-cta .btn{width:100%; justify-content:center; padding:14px 22px; border-radius:999px; border-bottom:0; color:#fff}
  .menu-cta .btn:hover{color:#fff}
  .hero h1{font-size:2.2rem}
  .hero-lead{font-size:1rem}
  .cta-box{padding:54px 24px}
  .form{padding:26px}
}
/* contact honeypot + error state */
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-ok.error{background:#f6e9e6; border-color:#e0b4a9; color:#b4432e}
