:root { --yellow:#f2d900; --black:#101010; --white:#f8f8f4; --muted:#74746c; --line:rgba(16,16,16,.25); --pad:clamp(22px,4vw,70px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--white); color:var(--black); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { background:var(--yellow); }
.skip-link { position:fixed; z-index:1000; top:-80px; left:20px; padding:12px 18px; background:var(--yellow); }
.skip-link:focus { top:20px; }
.site-header { position:sticky; z-index:100; top:0; display:flex; height:82px; align-items:center; justify-content:space-between; padding:0 var(--pad); border-bottom:1px solid var(--line); background:rgba(248,248,244,.93); backdrop-filter:blur(15px); }
.brand { display:inline-flex; align-items:center; gap:9px; font-size:19px; font-weight:900; letter-spacing:-.04em; }
.brand strong { padding:7px 9px 6px; background:var(--yellow); font-size:13px; letter-spacing:.02em; }
.main-nav { display:flex; align-items:center; gap:clamp(18px,2.5vw,42px); font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.main-nav>a { position:relative; }
.main-nav>a::after { position:absolute; bottom:-6px; left:0; width:100%; height:2px; background:var(--yellow); content:""; transform:scaleX(0); transform-origin:right; transition:transform .25s; }
.main-nav>a:hover::after { transform:scaleX(1); transform-origin:left; }
.menu-toggle { display:none; border:0; background:transparent; text-transform:uppercase; }
.eyebrow { margin:0; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.sectors-hero { padding:clamp(70px,9vw,145px) var(--pad) clamp(50px,7vw,105px); border-bottom:1px solid var(--black); }
.sectors-hero h1 { max-width:1380px; margin:34px 0 0; font-size:clamp(70px,10.5vw,166px); line-height:.82; letter-spacing:-.082em; text-transform:uppercase; }
.sectors-hero h1 em,.closing h2 em { display:inline-block; color:var(--yellow); font-family:Georgia,serif; font-weight:400; text-transform:none; transform:rotate(-2deg); }
.hero-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:80px; align-items:end; margin-top:clamp(60px,8vw,120px); }
.hero-bottom>p { max-width:900px; margin:0; font-size:clamp(20px,2vw,31px); line-height:1.36; letter-spacing:-.025em; }
.hero-stat { display:flex; align-items:flex-end; gap:14px; }
.hero-stat strong { font-size:clamp(70px,9vw,140px); line-height:.72; letter-spacing:-.09em; }
.hero-stat span { padding-bottom:4px; font-size:10px; font-weight:900; line-height:1.25; letter-spacing:.07em; text-transform:uppercase; }
.scope-note { max-width:990px; margin:50px 0 0; padding:16px 18px; border-left:5px solid var(--yellow); background:#ecece6; color:#44443f; font-size:13px; line-height:1.5; }
.sector-list { counter-reset:item; }
.sector-block { padding:clamp(60px,8vw,120px) var(--pad); border-bottom:1px solid var(--black); }
.sector-block header { display:grid; grid-template-columns:70px minmax(0,1fr) auto; gap:clamp(22px,4vw,70px); align-items:start; }
.sector-block header>span { padding-top:12px; font-size:12px; font-weight:900; }
.sector-block h2 { margin:0; font-size:clamp(54px,7vw,112px); line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }
.sector-block header p { max-width:670px; margin:30px 0 0; color:#40403a; font-size:clamp(16px,1.35vw,21px); line-height:1.48; }
.sector-block header>strong { padding:10px 13px; background:var(--yellow); font-size:12px; letter-spacing:.08em; }
.name-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:clamp(55px,7vw,95px) 0 0; padding:0; border-top:1px solid var(--black); border-left:1px solid var(--black); list-style:none; counter-reset:name; }
.name-grid li { position:relative; min-height:96px; padding:45px 18px 18px 52px; border-right:1px solid var(--black); border-bottom:1px solid var(--black); font-size:clamp(16px,1.35vw,21px); font-weight:800; line-height:1.08; letter-spacing:-.03em; counter-increment:name; }
.name-grid li::before { position:absolute; top:15px; left:18px; color:#66665f; font-size:10px; font-weight:900; content:counter(name,decimal-leading-zero); }
.name-grid li.reference { color:#777770; font-weight:500; }
.name-grid li.reference::after { position:absolute; top:13px; right:13px; content:"REF."; color:#8b8b84; font-size:8px; font-weight:900; letter-spacing:.08em; }
.sector-block--yellow { background:var(--yellow); }
.sector-block--yellow header>strong { background:var(--black); color:white; }
.sector-block--yellow .name-grid li.reference { color:#686000; }
.sector-block--yellow .name-grid li.reference::after { color:#686000; }
.closing { padding:clamp(85px,11vw,170px) var(--pad); background:var(--black); color:white; }
.closing h2 { max-width:1200px; margin:34px 0 0; font-size:clamp(56px,8vw,128px); line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.closing-link { display:flex; width:min(570px,100%); align-items:center; justify-content:space-between; margin-top:clamp(65px,8vw,110px); padding:20px 0; border-top:1px solid white; border-bottom:1px solid white; font-size:clamp(18px,2vw,29px); font-weight:800; }
.closing-link span { display:grid; width:54px; height:54px; place-items:center; border-radius:50%; background:var(--yellow); color:var(--black); transition:transform .25s; }
.closing-link:hover span { transform:rotate(45deg); }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
@media (max-width:1080px) { .name-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) {
  .site-header { height:68px; }
  .hero-bottom { grid-template-columns:1fr; gap:45px; }
  .hero-stat { justify-self:start; }
  .sector-block header { grid-template-columns:42px minmax(0,1fr); }
  .sector-block header>strong { grid-column:2; justify-self:start; }
  .name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .sectors-hero h1 { font-size:18vw; }
  .sector-block { padding-inline:18px; }
  .sector-block header { grid-template-columns:30px minmax(0,1fr); gap:10px; }
  .sector-block h2 { font-size:14vw; }
  .name-grid li { min-height:94px; padding:43px 10px 14px 36px; font-size:14px; }
  .name-grid li::before { left:10px; }
  .scope-note { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none} }
