:root{
  --paper:#FBFAF6;
  --ink:#171A21;
  --soft:#4A4F59;
  --navy:#101E45;
  --navy-2:#0B1636;
  --brass:#A9863E;
  --brass-lt:#C6A25A;
  --line:#E7E1D4;
  --line-2:#EFEADF;
  --mist:#F4F0E7;
  /* footer: warm graphite / onyx — distinct from the navy sections, harmonises with brass */
  --foot:#151310;
  --foot-2:#1E1B15;
  --foot-line:rgba(198,162,90,.18);
  --foot-text:rgba(244,240,232,.60);
  --foot-strong:#F6F2EA;
  --gut:26px;
  --max:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);color:var(--ink);
  font-family:"Roboto",Arial,sans-serif;font-weight:400;
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--navy);color:#fff}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.anchor{display:block;position:relative;top:-80px;visibility:hidden}
.sec{padding:clamp(64px,8.5vw,128px) 0}
.eyebrow{
  font-family:"Roboto";font-size:11px;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:var(--brass);display:flex;align-items:center;
}
.eyebrow.center{justify-content:center}

h1,h2,h3,.disp{font-family:"Poppins",Arial,sans-serif;font-weight:400;letter-spacing:-.015em;line-height:1.12}
h2{font-size:clamp(29px,4vw,50px);margin-top:20px}
h2 b{font-weight:600}
.lede{font-size:16px;font-weight:300;color:var(--soft);max-width:52ch;line-height:1.82}

/* keyline frame for imagery */
.frame{position:relative;overflow:hidden;background:var(--navy-2)}
.frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(23,26,33,.14);pointer-events:none;z-index:4}
.frame img{position:absolute;top:-9%;left:0;width:100%;height:118%;object-fit:cover;will-change:transform}

/* header styles live in site-chrome.css (shared #hdr partial) */

/* ---------------- HERO ---------------- */
.hero{border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,84px);align-items:center;min-height:min(90vh,880px);padding:clamp(44px,6vw,72px) var(--gut)}
.hero-copy{max-width:600px}
h1{font-size:clamp(34px,4.9vw,64px);margin-top:26px;font-weight:400}
h1 b{font-weight:600}
.hero-sub{margin-top:26px;font-size:16.5px;font-weight:300;color:var(--soft);max-width:52ch;line-height:1.82}
.hero-sub.sub-2{margin-top:16px;font-size:15.5px;color:rgba(90,95,105,.9)}
.hero-sub a{color:var(--ink);border-bottom:1px solid rgba(169,134,62,.5);padding-bottom:1px;transition:color .3s ease,border-color .3s ease}
.hero-sub a:hover{color:var(--brass);border-color:var(--brass)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.btn{font-family:"Roboto";font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:16px 30px;transition:.28s ease;text-align:center}
.btn.solid{background:var(--navy);color:#fff;border:1px solid var(--navy)}
.btn.solid:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn.ghost{border:1px solid var(--line);color:var(--ink);background:none}
.btn.ghost:hover{border-color:var(--ink)}
.hero-plate{position:relative;height:min(82vh,760px);padding:18px}
.hero-plate::before{content:"";position:absolute;inset:0;border:1px solid rgba(23,26,33,.16);pointer-events:none}
.hero-plate::after{
  content:"";position:absolute;left:-8px;top:-8px;width:26%;height:22%;
  border-left:2px solid var(--brass);border-top:2px solid var(--brass);pointer-events:none;
}
.hero-plate .frame{position:absolute;inset:18px}
.hero-plate img{object-position:50% 22%;transform:translateY(var(--py,0px))}

/* ---------------- COMPANY BAND ---------------- */
.band{position:relative;min-height:660px;display:flex;align-items:center;background:var(--navy)}
.band-bg{position:absolute;inset:0;background-color:var(--navy);background-image:var(--wall);background-size:cover;background-position:50% 52%;background-attachment:fixed}
.band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,12,32,.9) 0%,rgba(8,12,32,.66) 48%,rgba(8,12,32,.2) 100%)}
.band .wrap{position:relative;z-index:2;width:100%;padding-top:96px;padding-bottom:96px}
.band-inner{max-width:640px;color:#fff}
.band .eyebrow{color:var(--brass-lt)}
.band h2{color:#fff}
.band .lede{color:rgba(255,255,255,.82)}
.band-list{margin-top:46px;border-top:1px solid rgba(255,255,255,.2);max-width:540px}
.band-list div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:14.5px;color:rgba(255,255,255,.92);font-weight:300}
.band-list em{font-style:normal;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-lt);align-self:center}

/* ---------------- GOVERNANCE ---------------- */
.gov-head{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:end}
.gov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:70px;border:1px solid var(--line)}
.card{background:var(--paper);padding:46px 36px 50px;transition:background .3s ease}
.card:hover{background:var(--mist)}
.card .rn{font-family:"Poppins";font-weight:300;font-size:13px;letter-spacing:.2em;color:var(--brass)}
.card h3{font-size:21px;margin-top:26px;font-weight:500}
.card p{margin-top:14px;font-size:14.5px;color:var(--soft);line-height:1.72;font-weight:300}

/* ---------------- ESSAYS ---------------- */
.essays{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.essay-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,88px);align-items:start}
.essay-sticky{position:sticky;top:110px}
.shelf-plate{height:min(66vh,560px)}
.shelf-plate img{object-position:50% 32%;transform:translateY(var(--py,0px));filter:saturate(.9)}
.shelf-note{margin-top:18px;font-size:12.5px;color:var(--soft);max-width:34ch;line-height:1.6;font-weight:300}
.list{margin-top:50px;border-top:1px solid var(--line)}
.item{display:block;padding:32px 0;border-bottom:1px solid var(--line);position:relative;transition:padding-left .35s ease}
.item:hover{padding-left:18px}
.item .kick{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:500}
.item h3{font-size:clamp(20px,2vw,27px);font-weight:400;margin-top:12px;max-width:24ch;line-height:1.24}
.item p{margin-top:10px;font-size:14px;color:var(--soft);font-weight:300}
.item .go{position:absolute;right:0;top:36px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);opacity:0;transform:translateX(-8px);transition:.3s ease}
.item:hover .go{opacity:1;transform:none;color:var(--ink)}

/* ---------------- VOICE (rotating quotes) ---------------- */
.voice{background:var(--paper);position:relative;overflow:hidden}
.voice .wrap{
  display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(36px,5.5vw,84px);
  align-items:center;position:relative;z-index:1;
}
.voice-copy{display:flex;flex-direction:column;min-width:0}
.voice-portrait{position:relative;width:100%;max-width:430px;aspect-ratio:4/5;padding:16px;justify-self:end;align-self:center}
.voice-portrait::before{
  content:"";position:absolute;inset:0;border:1px solid rgba(23,26,33,.16);pointer-events:none;
}
.voice-portrait::after{
  content:"";position:absolute;right:-8px;bottom:-8px;width:26%;height:22%;
  border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);pointer-events:none;
}
.voice-portrait .frame{position:absolute;inset:16px}
.voice-portrait .frame img{
  position:static;width:100%;height:100%;object-fit:cover;object-position:50% 18%;
  filter:grayscale(.15) contrast(1.04) saturate(.94);
}
.voice-cap{margin-top:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);text-align:center}
.voice-copy{text-align:left}
.voice-copy .eyebrow{justify-content:flex-start}
.quote-stage{position:relative;width:100%;margin-top:28px;min-height:clamp(210px,26vw,300px);display:grid}
.qslide{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.qslide.is-active{opacity:1;transform:none;pointer-events:auto}
.quote{font-family:"Poppins";font-weight:400;font-size:clamp(24px,3vw,40px);line-height:1.28;letter-spacing:-.02em;max-width:20ch}
.quote span{color:var(--soft)}
.quote-sub{margin-top:26px;font-size:15px;color:var(--soft);font-weight:300;max-width:54ch;line-height:1.7}
.sig{margin-top:28px;font-family:"Poppins";font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);font-weight:500}
.qdots{display:flex;gap:10px;margin-top:22px}
.qdots button{width:8px;height:8px;padding:0;border:1px solid var(--brass);background:none;border-radius:50%;cursor:pointer;transition:.3s ease;opacity:.45}
.qdots button:hover{opacity:.8}
.qdots button.on{background:var(--brass);opacity:1;transform:scale(1.15)}

/* ---------------- PRESS CAROUSEL ---------------- */
.press{border-top:1px solid var(--line);background:var(--navy);color:#fff;overflow:hidden}
.press .eyebrow{color:var(--brass-lt)}
.press h2{color:#fff}
.press-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.carousel{margin-top:52px;position:relative}
.viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.track{display:flex;gap:22px;will-change:transform;cursor:grab}
.track.grabbing{cursor:grabbing}
.slide{flex:0 0 auto;width:340px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);padding:34px 32px 36px;transition:border-color .3s,background .3s}
.slide:hover{background:rgba(255,255,255,.07);border-color:rgba(198,162,90,.55)}
.slide em{font-style:normal;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-lt)}
.slide p{font-family:"Poppins";font-weight:400;font-size:18px;margin-top:16px;line-height:1.4;letter-spacing:-.01em}
.slide .rd{margin-top:26px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.car-ctrl{display:flex;gap:12px;flex:none}
.car-ctrl button{width:48px;height:48px;border:1px solid rgba(255,255,255,.28);background:none;color:#fff;cursor:pointer;font-size:17px;transition:.28s ease;border-radius:2px}
.car-ctrl button:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ---------------- CONTACT ---------------- */
.field{display:flex;margin-top:26px;border-bottom:1px solid rgba(255,255,255,.26)}
.field input{flex:1;background:none;border:0;color:#fff;font-family:"Roboto";font-size:15px;padding:13px 0;outline:none}
.field input::placeholder{color:rgba(255,255,255,.42)}
.field button{background:none;border:0;color:var(--brass-lt);font-family:"Roboto";font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:0 4px}
/* ---------------- FOOTER (sophisticated, warm graphite) ---------------- */
footer{position:relative;background:var(--foot);color:var(--foot-text);overflow:hidden}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--brass-lt) 22%,var(--brass-lt) 78%,transparent);opacity:.55}
.foot-glow{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(1200px 460px at 12% -12%,rgba(198,162,90,.10),transparent 62%),
             radial-gradient(1000px 560px at 104% 118%,rgba(16,30,69,.42),transparent 60%)}
.foot-grid{position:relative;z-index:1;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,100px);
  padding:clamp(64px,8vw,112px) var(--gut) clamp(46px,5vw,74px)}

.foot-l{max-width:430px;min-width:0}
.foot-mark{height:52px;width:auto;filter:brightness(0) invert(1);opacity:.92}
.foot-name{font-family:"Poppins";font-weight:600;font-size:20px;letter-spacing:.005em;color:var(--foot-strong);margin-top:26px}
.foot-role{font-family:"Roboto";font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lt);margin-top:12px}
.foot-mail{display:inline-block;font-family:"Poppins";font-weight:300;font-size:clamp(19px,2vw,26px);letter-spacing:-.01em;
  color:var(--foot-strong);margin-top:26px;padding-bottom:5px;border-bottom:1px solid var(--foot-line);
  transition:color .3s ease,border-color .3s ease}
.foot-mail:hover{color:var(--brass-lt);border-color:var(--brass-lt)}
.foot-place{display:flex;align-items:center;gap:13px;margin-top:24px;font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:rgba(244,240,232,.5)}
.foot-dot{width:4px;height:4px;border-radius:50%;background:var(--brass-lt);flex:none}

.foot-r{min-width:0;align-content:start}
.foot-h{font-family:"Roboto";font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lt);
  padding-bottom:16px;border-bottom:1px solid var(--foot-line)}
.foot-links{display:flex;flex-direction:column;gap:15px;margin-top:22px}
.foot-links a{font-family:"Roboto";font-size:14px;font-weight:300;letter-spacing:.01em;color:var(--foot-text);
  position:relative;width:fit-content;transition:color .28s ease}
.foot-links a:hover{color:var(--foot-strong)}

.foot-news-copy{margin-top:22px;font-size:14px;font-weight:300;color:var(--foot-text);line-height:1.72;max-width:40ch}
.foot-r .field{display:flex;margin-top:22px;border-bottom:1px solid rgba(244,240,232,.22);transition:border-color .3s ease}
.foot-r .field:focus-within{border-color:var(--brass-lt)}
.foot-r .field input{flex:1;min-width:0;background:none;border:0;color:var(--foot-strong);font-family:"Roboto";font-size:14.5px;padding:12px 0;outline:none}
.foot-r .field input::placeholder{color:rgba(244,240,232,.36)}
.foot-r .field button{background:none;border:0;color:var(--brass-lt);font-family:"Roboto";font-size:11px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;cursor:pointer;padding:0 2px 0 14px;white-space:nowrap;transition:color .25s ease}
.foot-r .field button:hover{color:var(--foot-strong)}
.nl-note{margin-top:12px;font-size:12.5px;font-weight:300;color:var(--brass-lt);min-height:16px}

.foot-base{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  max-width:var(--max);margin:0 auto;padding:26px var(--gut) 32px;border-top:1px solid var(--foot-line);font-size:12px;letter-spacing:.05em;color:rgba(244,240,232,.44)}
.foot-base-r{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.foot-top-link{color:rgba(244,240,232,.55);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:color .25s ease}
.foot-top-link:hover{color:var(--brass-lt)}
.foot-sitemap{color:rgba(244,240,232,.55);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:color .25s ease}
.foot-sitemap:hover{color:var(--brass-lt)}

/* ---------------- CUSTOM CMS SECTIONS ---------------- */
.custom-home-section{background:var(--paper);border-top:1px solid var(--line)}
.custom-home-section-dark{background:var(--navy);color:#fff}
.custom-home-section-dark .lede{color:rgba(255,255,255,.78)}
.custom-home-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}
.custom-home-grid-copy-only{grid-template-columns:1fr;max-width:820px}
.custom-home-media{height:min(58vh,520px)}
.custom-home-copy .eyebrow{margin-bottom:20px}
.custom-home-copy .lede{margin-top:22px}
.custom-home-button{display:inline-flex;margin-top:30px}

/* ---------------- MOTION ---------------- */
.rev{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rev.in{opacity:1;transform:none}
.rev.d1{transition-delay:.08s}.rev.d2{transition-delay:.16s}.rev.d3{transition-delay:.24s}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1024px){
  .hero .wrap{grid-template-columns:1fr;min-height:0}
  .hero-plate{height:min(66vh,540px);margin-top:8px;order:-1}
  .gov-head{grid-template-columns:1fr;gap:26px;align-items:start}
  .gov-grid{grid-template-columns:1fr}
  .essay-grid{grid-template-columns:1fr}
  .essay-sticky{position:static}
  .shelf-plate{height:56vh}
  .band-bg{background-attachment:scroll}
  .voice .wrap{grid-template-columns:1fr;justify-items:center}
  .voice-portrait{justify-self:center;max-width:340px}
  .voice-copy{text-align:center}
  .quote{margin:0 auto}
  .quote-sub{margin-left:auto;margin-right:auto}
  .qdots{justify-content:center}
  .foot-grid{grid-template-columns:1fr;gap:48px}
}
@media (max-width:760px){
  :root{--gut:20px}
  body{font-size:16px}
  .hero .wrap{gap:30px}
  .hero-plate{height:62vh;padding:12px}
  .hero-plate .frame{inset:12px}
  .actions .btn{flex:1 1 auto}
  .band{min-height:0}
  .band .wrap{padding-top:70px;padding-bottom:70px}
  .band-list div{flex-wrap:wrap;gap:4px}
  .press-head{flex-direction:column;align-items:flex-start}
  .car-ctrl{display:none}
  .slide{width:78vw;max-width:320px;padding:28px 26px 30px}
  .item .go{display:none}
  .item:hover{padding-left:0}
  .foot-mark{height:44px}
  .foot-base{flex-direction:column;align-items:flex-start;gap:12px}
  .foot-base-r{gap:18px}
  .custom-home-grid{grid-template-columns:1fr}
  .custom-home-media{height:48vh}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rev{opacity:1;transform:none;transition:none}
  .frame img{transform:none!important}
}
