/* CMB editorial refinement. Local assets, progressive enhancement, no dependencies. */
:root{--paper:#fdfcf8;--muted:#52645d}
.header{background:#fdfcf8f5}
.header.scrolled{box-shadow:0 7px 30px #103c370d}
.header nav>a:not(.btn){letter-spacing:.005em}
.btn{border-radius:4px}
.btn:focus-visible,.entry-path:focus-visible,.sector-card:focus-visible{outline:3px solid #906c2c;outline-offset:5px}
.lead,.hero-description,.large-text{text-wrap:pretty}
.section-heading h2,.subhero h1,.service-hero h1{text-wrap:balance}
@media(min-width:1361px){.header nav{gap:20px}.header nav>a:not(.btn){font-size:.88rem}.nav-inner{gap:24px}}

/* A bold opening, with a quieter editorial voice underneath. */
body[data-page="index"] .hero{padding:70px 0 50px;background:linear-gradient(115deg,#fdfcf8 60%,#eef2e9 100%)}
body[data-page="index"] .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,4.4vw,72px)}
body[data-page="index"] .hero h1{font-family:var(--sans);font-size:clamp(3rem,5.6vw,5.55rem);font-weight:600;line-height:1.045;letter-spacing:-.047em;text-wrap:balance}
body[data-page="index"] .hero h1 em{display:inline-block;font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.04em;margin-top:8px}
body[data-page="index"] .hero-description{font-size:1.12rem;line-height:1.75;max-width:470px;margin-top:28px}
body[data-page="index"] .hero .eyebrow{font-size:.7rem;letter-spacing:.12em;max-width:420px}
body[data-page="index"] .hero-actions{gap:12px}
body[data-page="index"] .hero-note{margin-top:30px}
body[data-page="index"] .hero-visual{padding:0 34px 91px 0;isolation:isolate}
body[data-page="index"] .hero-visual:before{inset:16px 17px 75px 16px;border:1px solid #c5b78f;border-radius:6px;z-index:-1}
body[data-page="index"] .hero-photo{height:clamp(490px,44vw,620px);border-radius:6px;background:var(--mint)}
body[data-page="index"] .hero-photo img{object-position:50% 40%}
body[data-page="index"] .photo-caption{left:0;bottom:13px;padding:0;gap:12px;border:0;box-shadow:none;background:none;color:var(--ink);max-width:53%}
body[data-page="index"] .photo-caption strong{font-size:1.35rem}
body[data-page="index"] .photo-caption span:not(.caption-symbol){font-size:.77rem;color:var(--muted);letter-spacing:0}
body[data-page="index"] .caption-symbol{font-size:1.8rem;color:#8a743f}
body[data-page="index"] .vertical-note{right:-5px;top:65px;font-size:.59rem;letter-spacing:.16em}
.hero-inset{position:absolute;right:0;bottom:0;width:43%;margin:0;padding:6px;background:var(--paper);border-radius:5px;box-shadow:0 12px 34px #092e2a1a}
.hero-inset img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.hero-inset figcaption{padding:8px 6px 4px;color:var(--forest);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}

/* Three useful destinations before the longer company story. */
.entry-paths{padding:12px 0 48px;background:var(--paper)}
.entry-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.entry-path{display:flex;align-items:center;gap:16px;padding:27px 25px;min-width:0;transition:background .2s}
.entry-path:first-child{padding-left:0}
.entry-path:last-child{padding-right:0}
.entry-path+.entry-path{border-left:1px solid var(--line)}
.entry-path:hover{background:#edf2eb}
.entry-path-number{font-family:var(--serif);font-size:1.55rem;color:#796b48;align-self:flex-start;line-height:1.3}
.entry-path-copy{min-width:0;flex:1}
.entry-path-copy strong{display:block;font-weight:600;font-size:1.02rem;line-height:1.35}
.entry-path-copy small{display:block;font-size:.82rem;line-height:1.5;color:var(--muted);margin-top:6px}
.entry-path>svg{width:20px;height:20px}
body[data-page="index"] .discipline-strip{background:var(--forest-deep);border-color:var(--forest-deep)}
body[data-page="index"] .discipline-strip p{color:#f0f2e6}
body[data-page="index"] .discipline-strip span{color:#c2d4ca}
body[data-page="index"] .discipline-strip i{color:var(--gold)}

/* Two generous lead photographs followed by four compact sector stories. */
body[data-page="index"] .sectors-section{background:#f0f2eb}
body[data-page="index"] .sector-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
body[data-page="index"] .sector-card{border-radius:4px;box-shadow:none;background:var(--paper);border:1px solid #dce2d7}
body[data-page="index"] .sector-card:nth-child(-n+2){grid-column:span 2}
body[data-page="index"] .sector-card:nth-child(-n+2) .sector-photo{height:clamp(290px,27vw,375px)}
body[data-page="index"] .sector-card:nth-child(n+3) .sector-photo{height:210px}
body[data-page="index"] .sector-card:nth-child(-n+2) .sector-body h3{font-size:1.9rem;max-width:none}
body[data-page="index"] .sector-body{min-height:103px;padding:24px 22px;gap:12px}
body[data-page="index"] .sector-body h3{font-size:1.4rem;line-height:1.25;max-width:none}
body[data-page="index"] .sector-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #143d3010}
body[data-page="index"] .section-heading h2{max-width:650px}

@media(max-width:1100px){
  body[data-page="index"] .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page="index"] .sector-card:nth-child(-n+2){grid-column:auto}
  body[data-page="index"] .sector-card:nth-child(n) .sector-photo{height:270px}
  body[data-page="index"] .sector-card:nth-child(n) .sector-body h3{font-size:1.65rem}
  .entry-path{gap:12px;padding:24px 18px}
  .entry-path-copy strong{font-size:.97rem}
}
@media(max-width:900px){
  body[data-page="index"] .hero{padding:48px 0 42px}
  body[data-page="index"] .hero-grid{grid-template-columns:1fr;gap:42px}
  body[data-page="index"] .hero-copy{max-width:650px}
  body[data-page="index"] .hero h1{font-size:clamp(3.5rem,8.5vw,5.6rem);max-width:640px}
  body[data-page="index"] .hero-description{max-width:540px}
  body[data-page="index"] .hero-actions{flex-direction:row}
  body[data-page="index"] .hero-visual{width:100%;max-width:610px;margin:0 auto}
  body[data-page="index"] .hero-photo{height:610px}
  .entry-path-grid{grid-template-columns:1fr}
  .entry-path,.entry-path:first-child,.entry-path:last-child{padding:22px 10px;gap:22px}
  .entry-path+.entry-path{border-left:0;border-top:1px solid var(--line)}
  .entry-path-copy strong{font-size:1.08rem}
  .entry-path-copy small{font-size:.9rem}
  .entry-path-number{font-size:1.6rem}
  .entry-paths{padding-bottom:32px}
}
@media(max-width:600px){
  body[data-page="index"] .hero{padding-top:35px}
  body[data-page="index"] .hero h1{font-size:clamp(2.65rem,10.7vw,4rem);letter-spacing:-.04em}
  body[data-page="index"] .hero .eyebrow{font-size:.67rem}
  body[data-page="index"] .hero-description{font-size:1.04rem;line-height:1.7;margin-top:22px}
  body[data-page="index"] .hero-visual{padding:0 18px 86px 0}
  body[data-page="index"] .hero-visual:before{inset:12px 7px 74px 11px}
  body[data-page="index"] .hero-photo{height:auto;aspect-ratio:4/5}
  body[data-page="index"] .hero-photo img{height:100%;width:100%;object-fit:cover}
  body[data-page="index"] .vertical-note{display:none}
  body[data-page="index"] .photo-caption{gap:9px;bottom:20px;max-width:54%}
  body[data-page="index"] .photo-caption strong{font-size:1.05rem}
  body[data-page="index"] .photo-caption span:not(.caption-symbol){font-size:.67rem;line-height:1.5}
  body[data-page="index"] .caption-symbol{font-size:1.4rem}
  .hero-inset{width:43%;padding:4px}
  .hero-inset figcaption{font-size:.57rem;padding:7px 4px 4px;letter-spacing:.035em}
  body[data-page="index"] .sector-grid{grid-template-columns:1fr;gap:22px}
  body[data-page="index"] .sector-card:nth-child(n) .sector-photo{height:auto;aspect-ratio:4/3}
  body[data-page="index"] .sector-card:nth-child(n) .sector-body{min-height:90px;padding:22px}
  body[data-page="index"] .sector-card:nth-child(n) .sector-body h3{font-size:1.6rem}
}
@media(max-width:360px){
  body[data-page="index"] .photo-caption .caption-symbol{display:none}
  body[data-page="index"] .hero-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.entry-path{transition:none}body[data-page="index"] .sector-card:hover{transform:none}}
@media print{
  .hero-inset,.entry-paths{display:none}
  body[data-page="index"] .hero{padding:20px 0;background:#fff}
  body[data-page="index"] .hero-grid{display:block}
  body[data-page="index"] .hero h1{font-size:32pt}
  body[data-page="index"] .hero-visual{padding:0;max-width:280px;margin:24px 0}
  body[data-page="index"] .hero-photo{height:320px}
  body[data-page="index"] .hero-visual:before,body[data-page="index"] .photo-caption{display:none}
  body[data-page="index"] .sector-grid{grid-template-columns:repeat(2,1fr)}
  body[data-page="index"] .sector-card:nth-child(-n+2){grid-column:auto}
}
