
*,*::before,*::after{ box-sizing:border-box; } *{ margin:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
body{ min-height:100%; line-height:1.55; -webkit-font-smoothing:antialiased; }
img,svg{ display:block; max-width:100%; } button,input,select,textarea{ font:inherit; color:inherit; min-width:0; max-width:100%; }
button{ background:none; border:0; cursor:pointer; } a{ color:inherit; text-decoration:none; } ul{ list-style:none; padding:0; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; } ::selection{ background:rgba(199,122,22,.22); }
:root{
  --white:#FFFFFF; --paper:#F5F6F8; --paper-2:#EDEFF2;
  --ink:#0E1216; --ink-2:#28303A; --muted:#59626D; --faint:#8A929C;
  --line:#E6E9ED; --line-2:#D6DBE0;
  --accent:#C77A16; --accent-deep:#A5620C; --accent-soft:#FBF0DF; --accent-line:#E8CFA6;
  --dark:#0B0F12; --dark-2:#121820; --dark-line:#28323C; --on-dark:#EEF1F4; --on-dark-mute:#98A2AD;
  --good:#2E7D5B; --good-soft:#E7F1EB;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:6px; --ease:cubic-bezier(.22,.61,.24,1);
  --shadow:0 18px 44px -24px rgba(14,18,22,.34); --shadow-lg:0 40px 90px -38px rgba(14,18,22,.46);
  --nav-h:70px; --container:1200px; --gut:clamp(20px,4vw,56px);
}
body{ background:var(--white); color:var(--ink-2); font-family:var(--sans); font-size:16.5px; }
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gut); }
.mono{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
h1,h2,h3,h4{ line-height:1.08; font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.eyebrow{ font-size:.82rem; font-weight:600; letter-spacing:0; color:var(--accent-deep); }
.lede{ font-size:clamp(1.02rem,.98rem+.4vw,1.18rem); color:var(--muted); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:50px; padding:0 1.5rem; font-size:.95rem; font-weight:600; border-radius:var(--r); border:1.5px solid transparent; cursor:pointer; transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease); white-space:nowrap; }
.btn:active{ transform:translateY(1px); }
.btn--accent{ background:var(--accent); color:#fff; border-color:var(--accent); } .btn--accent:hover{ background:var(--accent-deep); border-color:var(--accent-deep); }
.btn--ink{ background:var(--ink); color:#fff; border-color:var(--ink); } .btn--ink:hover{ background:#000; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); } .btn--ghost:hover{ border-color:var(--ink); }
.btn--ghost-dark{ background:transparent; color:var(--on-dark); border-color:rgba(255,255,255,.4); } .btn--ghost-dark:hover{ border-color:#fff; }
.btn--lg{ min-height:56px; padding:0 1.8rem; font-size:1rem; } .btn--sm{ min-height:42px; padding:0 1.05rem; font-size:.86rem; } .btn--block{ width:100%; }
.link{ display:inline-flex; align-items:center; gap:.4em; font-weight:600; color:var(--accent); } .link .a{ transition:transform .16s var(--ease); } .link:hover .a{ transform:translateX(3px); } .link--ink{ color:var(--ink); }
[data-reveal]{ opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease),transform .6s var(--ease); } [data-reveal].in{ opacity:1; transform:none; }

/* UTILITY */
.util{ background:var(--dark); color:var(--on-dark-mute); font-size:.8rem; }
.util__row{ display:flex; align-items:center; justify-content:flex-end; height:38px; gap:1.2rem; }
.util__row a{ color:var(--on-dark-mute); transition:color .15s var(--ease); } .util__row a:hover{ color:var(--on-dark); }
.util .sep{ width:1px; height:14px; background:var(--dark-line); }

/* HEADER */
.header{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.3) blur(10px); border-bottom:1px solid var(--line); }
.header__bar{ height:var(--nav-h); display:flex; align-items:center; gap:1.4rem; }
.brand__mark{ font-size:1.5rem; font-weight:800; letter-spacing:.01em; color:var(--ink); } .brand__mark .k{ color:var(--accent); }
.nav{ display:flex; align-items:center; gap:.1rem; }
.nav__link{ display:inline-flex; align-items:center; padding:.55rem .7rem; font-size:.94rem; font-weight:550; color:var(--ink-2); border-radius:var(--r); transition:color .15s var(--ease),background .15s var(--ease); }
.nav__link:hover{ color:var(--accent); background:var(--accent-soft); }
.actions{ display:flex; align-items:center; gap:.5rem; margin-left:auto; }
.iconbtn{ width:44px; height:44px; display:none; place-items:center; border-radius:var(--r); color:var(--ink-2); transition:background .15s var(--ease); } .iconbtn:hover{ background:var(--paper); }
.menu-toggle{ display:none; }
.navdrawer{ position:fixed; inset:0; z-index:80; overflow:hidden; pointer-events:none; }
.scrim{ position:absolute; inset:0; background:rgba(10,14,18,.5); opacity:0; visibility:hidden; transition:.25s var(--ease); }
.mpanel{ position:absolute; top:0; right:0; height:100%; width:min(88vw,380px); background:var(--white); border-left:1px solid var(--line); transform:translateX(100%); transition:transform .3s var(--ease); display:flex; flex-direction:column; padding:1rem 1.2rem 1.4rem; overflow-y:auto; }
body.nav-open{ overflow:hidden; } body.nav-open .navdrawer{ pointer-events:auto; } body.nav-open .scrim{ opacity:1; visibility:visible; } body.nav-open .mpanel{ transform:none; }
.mpanel__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; }
.mpanel__nav a{ display:block; padding:.95rem .2rem; font-size:1.08rem; font-weight:600; color:var(--ink); border-bottom:1px solid var(--line); }
.mpanel__cta{ margin-top:1.2rem; display:grid; gap:.6rem; } .mpanel__meta{ margin-top:auto; padding-top:1.2rem; font-size:.8rem; color:var(--muted); }

/* SECTION */
.section{ padding-block:clamp(48px,5.4vw,84px); } .section--paper{ background:var(--paper); }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.8rem; flex-wrap:wrap; }
.sec-head h2{ font-size:clamp(1.7rem,1.2rem+1.5vw,2.35rem); margin-top:.5rem; } .sec-head p{ margin-top:.7rem; color:var(--muted); max-width:56ch; }

/* HERO */
.hero{ position:relative; min-height:clamp(540px,78vh,820px); display:flex; align-items:flex-end; overflow:hidden; background:var(--dark); }
.hero>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.hero__scrim{ position:absolute; inset:0; z-index:2; background:linear-gradient(to top, rgba(6,9,12,.92) 0%, rgba(6,9,12,.52) 46%, rgba(6,9,12,.2) 100%); }
.hero__in{ position:relative; z-index:3; color:#fff; padding-block:clamp(44px,7vh,92px); width:100%; }
.hero h1{ color:#fff; font-size:clamp(2.4rem,1.4rem+3.2vw,4rem); font-weight:800; letter-spacing:-.035em; line-height:1.02; max-width:18ch; }
.hero__sub{ margin-top:1.3rem; font-size:clamp(1.05rem,1rem+.45vw,1.28rem); color:rgba(255,255,255,.86); max-width:50ch; }
.hero__btns{ margin-top:2rem; display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; }
.hero__btns .link{ color:#fff; } .hero__btns .link:hover{ color:var(--accent); }
.hero__trust{ margin-top:2rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.16); font-size:.92rem; color:rgba(255,255,255,.78); max-width:52ch; }

/* TRUST / DOCUMENTATION LINE */
.docline{ border-bottom:1px solid var(--line); background:var(--paper); }
.docline__row{ padding-block:1.1rem; display:flex; gap:1rem; align-items:baseline; flex-wrap:wrap; }
.docline__row b{ color:var(--ink); font-weight:650; } .docline__row span{ color:var(--muted); font-size:.94rem; max-width:76ch; }

/* PRODUCTS TABLE */
.ptable-wrap{ border:1px solid var(--line-2); border-radius:12px; overflow:hidden; }
.ptable-scroll{ overflow-x:auto; }
.ptable{ width:100%; border-collapse:collapse; min-width:760px; }
.ptable thead th{ text-align:left; background:var(--paper); font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); padding:.9rem 1.1rem; border-bottom:1px solid var(--line-2); }
.ptable tbody td{ padding:1.05rem 1.1rem; border-bottom:1px solid var(--line); vertical-align:top; font-size:.94rem; color:var(--ink-2); }
.ptable tbody tr:last-child td{ border-bottom:0; } .ptable tbody tr:hover{ background:var(--paper); }
.ptable .oil{ display:flex; align-items:flex-start; gap:.75rem; }
.ptable .sw{ width:12px; height:12px; border-radius:3px; margin-top:.35rem; flex:none; }
.ptable .oil .nm{ display:block; font-weight:700; color:var(--ink); font-size:1rem; } .ptable .oil .sub{ display:block; font-size:.8rem; color:var(--faint); margin-top:.1rem; }
.ptable .spec{ font-size:.84rem; }
.ptable__foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.1rem; background:var(--paper); border-top:1px solid var(--line-2); }
.ptable__foot p{ font-size:.9rem; color:var(--muted); max-width:60ch; }

/* APPLICATIONS */
.apps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.app{ position:relative; border-radius:10px; overflow:hidden; min-height:300px; display:flex; align-items:flex-end; color:#fff; }
.app img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:transform .5s var(--ease); } .app:hover img{ transform:scale(1.05); }
.app__scrim{ position:absolute; inset:0; z-index:2; background:linear-gradient(to top,rgba(8,11,14,.92) 0%,rgba(8,11,14,.32) 58%,transparent 100%); }
.app__body{ position:relative; z-index:3; padding:1.3rem; }
.app__body h3{ color:#fff; font-size:1.15rem; } .app__body p{ font-size:.86rem; color:rgba(255,255,255,.85); margin-top:.4rem; }
.app__body .rec{ margin-top:.7rem; font-size:.82rem; color:rgba(255,255,255,.92); } .app__body .rec b{ color:#fff; font-weight:650; }

/* WHY — how supply works */
.why{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.why__photo{ position:relative; min-height:460px; overflow:hidden; } .why__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.why__body{ background:var(--dark); color:var(--on-dark); padding:clamp(32px,4vw,64px); display:flex; flex-direction:column; justify-content:center; }
.why__body h2{ color:#fff; } .why__body .lead{ color:var(--on-dark-mute); margin-top:.7rem; max-width:46ch; }
.supsteps{ margin-top:1.8rem; display:grid; gap:1.3rem; }
.supstep{ display:flex; gap:1rem; } .supstep .no{ width:30px; height:30px; flex:none; border-radius:50%; border:1px solid var(--dark-line); color:#fff; display:grid; place-items:center; font-size:.85rem; font-weight:600; }
.supstep h3{ color:#fff; font-size:1.05rem; } .supstep p{ color:var(--on-dark-mute); font-size:.88rem; margin-top:.25rem; }
.why__foot{ margin-top:1.9rem; padding-top:1.3rem; border-top:1px solid var(--dark-line); color:var(--on-dark-mute); font-size:.88rem; }

/* QUALITY */
.qual{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(26px,3.6vw,56px); align-items:start; }
.qual p.lead{ color:var(--muted); margin-top:.7rem; max-width:52ch; }
.qprocess{ margin-top:1.6rem; display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
.qprocess .st{ font-size:.86rem; font-weight:600; color:var(--ink); background:var(--paper); border:1px solid var(--line-2); border-radius:100px; padding:.45em .95em; }
.qprocess .ar{ color:var(--faint); }
.qcert{ margin-top:1.5rem; font-size:.9rem; color:var(--muted); max-width:52ch; }
.doclist{ border:1px solid var(--line-2); border-radius:12px; overflow:hidden; }
.doclist__head{ padding:.85rem 1.1rem; background:var(--ink); color:#fff; font-size:.8rem; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.docrow{ display:flex; align-items:center; gap:.9rem; padding:.95rem 1.1rem; border-bottom:1px solid var(--line); } .docrow:last-of-type{ border-bottom:0; }
.docrow svg{ width:22px; height:22px; color:var(--muted); flex:none; }
.docrow .t{ font-size:.92rem; font-weight:600; color:var(--ink); } .docrow .d{ font-size:.78rem; color:var(--muted); margin-top:.1rem; }
.docrow .st{ margin-left:auto; font-size:.7rem; font-weight:600; color:var(--muted); background:var(--paper); border:1px solid var(--line-2); border-radius:4px; padding:.3em .55em; white-space:nowrap; }
.doclist__foot{ padding:1rem 1.1rem; background:var(--paper); border-top:1px solid var(--line-2); }

/* LOGISTICS */
.formats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:1.4rem; }
.fmt{ background:var(--white); padding:1.3rem 1.2rem; } .fmt .ic{ width:34px; height:34px; color:var(--ink); } .fmt h3{ font-size:1rem; margin-top:.7rem; } .fmt p{ font-size:.82rem; color:var(--muted); margin-top:.25rem; }
.logdetails{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.logd{ background:var(--white); padding:1.2rem 1.1rem; } .logd .k{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--faint); } .logd .v{ font-size:.9rem; color:var(--ink-2); margin-top:.45rem; }

/* CONFIGURATOR */
.configure{ background:var(--dark); color:var(--on-dark); }
.configure__in{ padding-block:clamp(40px,4.6vw,68px); }
.configure__head{ max-width:60ch; margin-bottom:1.6rem; } .configure__head h2{ color:#fff; } .configure__head p{ color:var(--on-dark-mute); margin-top:.6rem; }
.cfgtool{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; border:1px solid var(--dark-line); border-radius:10px; overflow:hidden; background:var(--dark-2); }
.cfgf{ padding:16px 18px; border-left:1px solid var(--dark-line); display:flex; flex-direction:column; gap:.5rem; min-width:0; } .cfgf:first-child{ border-left:0; }
.cfgf label{ font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--on-dark-mute); font-weight:600; }
.cfgf select,.cfgf input{ background:transparent; border:0; outline:0; color:#fff; font-size:1rem; font-weight:600; width:100%; appearance:none; -webkit-appearance:none; }
.cfgf select option{ color:#111; }
.cfgf.sel{ position:relative; } .cfgf.sel::after{ content:""; position:absolute; right:18px; bottom:22px; width:8px; height:8px; border-right:2px solid var(--on-dark-mute); border-bottom:2px solid var(--on-dark-mute); transform:rotate(45deg); pointer-events:none; }
.cfgout{ margin-top:1.3rem; display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; background:var(--dark-2); border:1px solid var(--dark-line); border-radius:10px; padding:1.1rem 1.3rem; }
.cfgout .rk{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--on-dark-mute); font-weight:600; } .cfgout .rv{ font-size:1.15rem; font-weight:650; color:#fff; margin-top:.15rem; }
.cfgout .go{ margin-left:auto; }
.cfgnote{ margin-top:.9rem; font-size:.82rem; color:var(--on-dark-mute); max-width:70ch; }

/* RESOURCES */
.res{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(24px,3vw,48px); align-items:start; }
.resfeat{ border:1px solid var(--line-2); border-radius:12px; overflow:hidden; display:block; transition:box-shadow .18s var(--ease),transform .18s var(--ease); } .resfeat:hover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.resfeat__img{ position:relative; height:clamp(220px,26vw,320px); overflow:hidden; background:var(--dark); } .resfeat__img img{ width:100%; height:100%; object-fit:cover; }
.resfeat__in{ padding:1.5rem 1.6rem 1.7rem; } .resfeat .k{ font-size:.78rem; font-weight:600; color:var(--accent-deep); } .resfeat h3{ font-size:clamp(1.3rem,1.1rem+.7vw,1.7rem); margin-top:.5rem; } .resfeat p{ color:var(--muted); margin-top:.6rem; max-width:54ch; }
.reslist{ display:flex; flex-direction:column; }
.resitem{ padding:1.1rem 0; border-bottom:1px solid var(--line); } .resitem:first-child{ padding-top:0; }
.resitem .k{ font-size:.74rem; font-weight:600; color:var(--faint); } .resitem h4{ font-size:1.02rem; margin-top:.3rem; color:var(--ink); } .resitem:hover h4{ color:var(--accent); }
.resmore{ margin-top:1.2rem; }

/* RFQ FORM */
.rfq{ display:grid; grid-template-columns:1fr 1.15fr; gap:0; border:1px solid var(--line-2); border-radius:14px; overflow:hidden; }
.rfq__aside{ background:var(--dark); color:var(--on-dark); padding:clamp(30px,3.4vw,52px); }
.rfq__aside h2{ color:#fff; } .rfq__aside p{ color:var(--on-dark-mute); margin-top:.8rem; }
.rfq__aside ul{ margin-top:1.6rem; display:grid; gap:.9rem; } .rfq__aside li{ display:flex; gap:.7rem; font-size:.92rem; color:var(--on-dark); } .rfq__aside li svg{ width:18px; height:18px; color:var(--accent); flex:none; margin-top:2px; }
.rfq__meta{ margin-top:1.8rem; padding-top:1.3rem; border-top:1px solid var(--dark-line); font-size:.82rem; color:var(--on-dark-mute); }
.rfq__form{ padding:clamp(28px,3.2vw,48px); background:var(--white); }
.fgrid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field{ display:flex; flex-direction:column; gap:.35rem; } .field.full{ grid-column:1/-1; }
.field label{ font-size:.78rem; font-weight:600; color:var(--ink-2); } .field label .req{ color:var(--accent); }
.field input,.field select,.field textarea{ height:48px; padding:0 .85rem; border:1px solid var(--line-2); border-radius:var(--r); background:var(--white); color:var(--ink); font-size:.95rem; appearance:none; -webkit-appearance:none; transition:border-color .15s var(--ease); }
.field textarea{ height:auto; min-height:84px; padding:.7rem .85rem; resize:vertical; }
.field select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2359626D' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .85rem center; padding-right:2rem; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--accent); outline:none; }
.field .err{ font-size:.74rem; color:#B4341F; display:none; } .field.invalid input,.field.invalid select{ border-color:#B4341F; } .field.invalid .err{ display:block; }
.rfq__submit{ margin-top:1.3rem; } .rfq__privacy{ margin-top:.9rem; font-size:.76rem; color:var(--faint); }
.rfq__done{ display:none; text-align:center; padding:2rem 1rem; } .rfq__done.show{ display:block; } .rfq__form.sent .fgrid,.rfq__form.sent .rfq__submit,.rfq__form.sent .rfq__privacy{ display:none; }
.rfq__done .chk{ width:54px; height:54px; margin:0 auto 1rem; border-radius:50%; background:var(--good-soft); color:var(--good); display:grid; place-items:center; } .rfq__done h3{ font-size:1.4rem; } .rfq__done p{ color:var(--muted); margin-top:.5rem; }

/* FOOTER */
.footer{ background:var(--dark); color:var(--on-dark); }
.footer a{ color:var(--on-dark-mute); transition:color .15s var(--ease); } .footer a:hover{ color:var(--on-dark); }
.footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.2rem 1.6rem; padding-block:clamp(46px,6vw,72px); }
.footer__brand .brand__mark{ color:#fff; } .footer__brand p{ color:var(--on-dark-mute); font-size:.9rem; margin-top:1rem; max-width:36ch; }
.footer__col h4{ font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--on-dark-mute); font-weight:600; margin-bottom:1rem; } .footer__col a{ display:block; padding:.3rem 0; font-size:.9rem; }
.footer__bottom{ border-top:1px solid var(--dark-line); padding-block:1.3rem; display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; font-size:.82rem; color:var(--on-dark-mute); }

#backtop{ position:fixed; right:20px; bottom:20px; z-index:50; width:46px; height:46px; border-radius:50%; background:var(--ink); color:#fff; display:grid; place-items:center; box-shadow:var(--shadow); opacity:0; visibility:hidden; transition:.2s var(--ease); } #backtop.show{ opacity:1; visibility:visible; } #backtop:hover{ background:var(--accent); }

@media(max-width:1024px){
  :root{ --nav-h:62px; }
  .util{ display:none; }
  .nav{ display:none; } .menu-toggle{ display:inline-grid; }
  .apps{ grid-template-columns:1fr 1fr; }
  .why{ grid-template-columns:1fr; } .why__photo{ min-height:300px; order:-1; }
  .qual{ grid-template-columns:1fr; }
  .formats{ grid-template-columns:1fr 1fr; } .logdetails{ grid-template-columns:1fr 1fr; }
  .cfgtool{ grid-template-columns:1fr 1fr; }
  .res{ grid-template-columns:1fr; }
  .rfq{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .apps{ grid-template-columns:1fr; }
  .formats{ grid-template-columns:1fr 1fr; } .logdetails{ grid-template-columns:1fr; }
  .cfgtool{ grid-template-columns:1fr; } .cfgf{ border-left:0; border-top:1px solid var(--dark-line); } .cfgf:first-child{ border-top:0; }
  .cfgout{ flex-direction:column; align-items:stretch; } .cfgout .go{ margin-left:0; white-space:normal; text-align:center; }
  .fgrid{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .sec-head{ flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition-duration:.001ms!important; } [data-reveal]{ opacity:1; transform:none; } }




/* ===== Multi-page components ===== */
.crumb{ font-size:.82rem; color:var(--muted); padding-top:1.4rem; }
.crumb a{ color:var(--muted); } .crumb a:hover{ color:var(--accent); } .crumb .sep{ margin:0 .5rem; color:var(--faint); }
.phero{ padding-block:clamp(24px,3vw,44px) clamp(20px,2.4vw,34px); }
.phero .eyebrow{ margin-bottom:.5rem; }
.phero h1{ font-size:clamp(2rem,1.4rem+1.9vw,3.05rem); max-width:20ch; }
.phero .lede{ margin-top:1rem; max-width:62ch; }
.phero .btns{ margin-top:1.7rem; display:flex; gap:1rem 1.2rem; flex-wrap:wrap; align-items:center; }
.grid2{ display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(26px,3.6vw,56px); align-items:start; }
.spectable{ width:100%; border-collapse:collapse; }
.spectable th,.spectable td{ text-align:left; padding:.72rem .1rem; border-bottom:1px solid var(--line); font-size:.92rem; vertical-align:top; }
.spectable th{ color:var(--ink-2); font-weight:500; width:54%; } .spectable td{ font-family:var(--mono); color:var(--ink); font-weight:500; }
.spectable tr:last-child th,.spectable tr:last-child td{ border-bottom:0; }
.specnote{ font-size:.78rem; color:var(--faint); margin-top:.9rem; }
.panelcard{ border:1px solid var(--line-2); border-radius:12px; overflow:hidden; position:sticky; top:calc(var(--nav-h) + 14px); }
.panelcard__h{ background:var(--ink); color:#fff; padding:.85rem 1.1rem; font-size:.8rem; font-weight:600; }
.panelcard__b{ padding:1.2rem; } .panelcard__b .row{ display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid var(--line); font-size:.88rem; } .panelcard__b .row:last-of-type{ border-bottom:0; } .panelcard__b .row span{ color:var(--muted); } .panelcard__b .row b{ color:var(--ink); font-weight:600; }
.panelcard__b .btn{ margin-top:1rem; }
.prose p{ margin-top:1rem; color:var(--ink-2); max-width:70ch; }
.prose h2{ margin-top:2.2rem; font-size:clamp(1.4rem,1.1rem+1vw,1.8rem); }
.prose h3{ margin-top:1.5rem; font-size:1.15rem; }
.prose ul.bul{ margin-top:1rem; display:grid; gap:.55rem; max-width:70ch; }
.prose ul.bul li{ padding-left:1.3rem; position:relative; color:var(--ink-2); }
.prose ul.bul li::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.mediaband{ position:relative; min-height:clamp(230px,28vw,360px); overflow:hidden; border-radius:12px; display:flex; align-items:flex-end; color:#fff; margin-top:.4rem; }
.mediaband img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.mediaband__s{ position:absolute; inset:0; z-index:2; background:linear-gradient(to top,rgba(8,11,14,.8),rgba(8,11,14,.05)); }
.mediaband__b{ position:relative; z-index:3; padding:1.4rem; } .mediaband__b .k{ font-size:.75rem; font-weight:600; color:rgba(255,255,255,.8); } .mediaband__b h2{ color:#fff; margin-top:.3rem; }
.relcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.relcard{ border:1px solid var(--line-2); border-radius:10px; padding:1.3rem; display:block; transition:box-shadow .18s var(--ease),transform .18s var(--ease); }
.relcard:hover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.relcard .k{ font-size:.74rem; font-weight:600; color:var(--faint); } .relcard h3{ font-size:1.05rem; margin-top:.3rem; } .relcard p{ color:var(--muted); font-size:.86rem; margin-top:.4rem; }
.ctaband{ background:var(--dark); color:#fff; border-radius:14px; padding:clamp(28px,3.4vw,52px); display:flex; justify-content:space-between; gap:1.6rem; align-items:center; flex-wrap:wrap; }
.ctaband h2{ color:#fff; } .ctaband p{ color:var(--on-dark-mute); margin-top:.5rem; max-width:52ch; }
.chips{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; } .chips span{ font-size:.82rem; font-weight:600; color:var(--ink-2); background:var(--paper); border:1px solid var(--line-2); border-radius:100px; padding:.4em .9em; }
@media(max-width:900px){ .grid2{ grid-template-columns:1fr; } .panelcard{ position:static; } .relcards{ grid-template-columns:1fr; } }
/* olive cluster */
.olivefeat{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line-2); border-radius:14px; overflow:hidden; margin-top:1.4rem; }
.olivefeat__media{ position:relative; min-height:300px; } .olivefeat__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.olivefeat__body{ padding:clamp(24px,3vw,44px); }
.oliverow{ display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); } .oliverow:last-of-type{ border-bottom:0; }
.oliverow .g{ display:flex; align-items:center; gap:.6rem; font-weight:650; color:var(--ink); } .oliverow .sw{ width:12px; height:12px; border-radius:3px; flex:none; } .oliverow .u{ font-size:.84rem; color:var(--muted); text-align:right; }
@media(max-width:900px){ .olivefeat{ grid-template-columns:1fr; } .olivefeat__media{ min-height:220px; } }
