@font-face{font-family:Barlow;src:url(../fonts/barlow-400.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-600.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-700.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-600.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-700.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-800.ttf) format("truetype");font-style:normal;font-weight:800;font-display:swap}

:root{
  --ink:#282828;
  --graphite:#606369;
  --yellow:#ffbc00;
  --orange:#ff9100;
  --cream:#fffdf1;
  --paper:#fff;
  --muted:#f1f2f2;
  --mineral:#f1f2f2;
  --line:rgba(40,40,40,.12);
  --line-light:rgba(255,253,241,.16);
  --shadow:0 24px 80px rgba(40,40,40,.12);
  --font-body:Barlow,Arial,sans-serif;
  --font-display:"Barlow Condensed",Arial,sans-serif;
  --container:min(1280px,calc(100% - 64px));
  --ease:cubic-bezier(.2,.75,.25,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--yellow);color:var(--ink)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.025em}
h1{font-size:clamp(3.8rem,8vw,7.4rem)}
h2{font-size:clamp(3rem,5.5vw,5.3rem)}
h3{font-size:clamp(1.5rem,2.4vw,2rem)}
p:last-child{margin-bottom:0}
address{font-style:normal}
.container{width:var(--container);margin-inline:auto}
.section{padding:clamp(90px,10vw,150px) 0}
.section--cream,.section--mineral{background:var(--mineral)}
.section--dark{background:var(--ink);color:var(--cream)}
.skip-link{position:fixed;left:20px;top:-100px;z-index:9999;background:var(--yellow);padding:10px 16px;color:var(--ink);font-weight:700;text-decoration:none}
.skip-link:focus{top:20px}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}

.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--graphite);font-family:var(--font-display);font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow>span{width:30px;height:3px;background:linear-gradient(90deg,var(--yellow),var(--orange))}
.eyebrow--light{color:rgba(255,253,241,.82)}
.section-heading{max-width:820px}
.section-heading h2{margin:0}
.section-heading--split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:end;gap:clamp(50px,8vw,140px);max-width:none;margin-bottom:64px}
.section-heading--split>div>h2{margin-bottom:0}
.section-heading--split>p,.section-heading--split>div:last-child{color:var(--graphite);margin-bottom:6px}
.lead{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.5;color:var(--ink)}
.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:14px 24px;border:1px solid var(--yellow);background:var(--yellow);color:var(--ink);font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s}
.button:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-2px)}
.button:active{transform:translateY(1px) scale(.985);box-shadow:none}
.button span,.text-link span,.service-card__arrow,.service-index__item i{font-family:Arial,sans-serif;font-style:normal}
.button span{font-size:0;transition:transform .25s var(--ease)}
.button span::before{content:"\2197\FE0E";font-size:1.1rem}
.button:hover span{transform:translate(3px,-3px)}
.button--small{min-height:46px;padding:10px 18px;font-size:.8rem}
.button--dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.button--dark:hover{background:var(--graphite);border-color:var(--graphite)}
.button--outline{background:transparent;border-color:var(--ink)}
.button--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.button--full{width:100%}
.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--ink);font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid rgba(40,40,40,.35);padding-bottom:4px;transition:gap .2s,border-color .2s,color .2s,transform .2s}
.text-link:hover{gap:20px;border-color:var(--orange)}
.text-link:active{transform:translateY(1px)}
.text-link--light{color:var(--cream);border-color:rgba(255,253,241,.45)}
.breadcrumb{display:flex;gap:9px;align-items:center;margin:0 0 34px;color:var(--graphite);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.breadcrumb a{text-decoration:none}

/* Header */
.utility-bar{height:36px;background:var(--ink);color:rgba(255,253,241,.8);font-size:.72rem;letter-spacing:.06em}
.utility-bar__inner{display:flex;height:100%;align-items:center;justify-content:space-between}
.utility-bar p{display:flex;align-items:center;gap:10px;margin:0;text-transform:uppercase}
.utility-bar__dot{width:4px;height:4px;background:var(--yellow);border-radius:50%}
.utility-bar__links{display:flex;gap:28px}
.utility-bar a{text-decoration:none;transition:color .2s}
.utility-bar a:hover{color:var(--yellow)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);transition:box-shadow .25s}
.site-header.is-scrolled{box-shadow:0 10px 40px rgba(40,40,40,.08)}
.site-header__inner{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:30px;height:82px}
.site-brand{display:block;width:155px;transition:opacity .25s,transform .25s var(--ease)}
.site-brand:hover{opacity:.78;transform:translateY(-1px)}
.site-brand img{width:100%;height:auto}
.site-nav{justify-self:center}
.site-nav__list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.site-nav__list>li{position:relative}
.site-nav__list a{display:flex;align-items:center;gap:6px;padding:14px 14px;color:var(--ink);font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:color .2s,background .2s}
.site-nav__list>.current-menu-item>a,.site-nav__list>.current-menu-ancestor>a{background:rgba(255,188,0,.07)}
.site-nav__list>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.site-nav__list>li:hover>a::after,.site-nav__list>.current-menu-item>a::after,.site-nav__list>.current-menu-ancestor>a::after{transform:scaleX(1)}
.site-nav .menu-item-has-children>a::before{content:"+";order:2;color:var(--orange);font-size:1rem}
.site-nav .sub-menu{position:absolute;top:calc(100% - 3px);left:-18px;width:310px;margin:0;padding:18px;background:var(--ink);list-style:none;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}
.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.site-nav .sub-menu a{padding:10px 12px;color:rgba(255,253,241,.75);font-family:var(--font-body);font-size:.84rem;letter-spacing:0;text-transform:none;white-space:normal;border-left:2px solid transparent}
.site-nav .sub-menu a:hover{color:var(--cream);border-color:var(--yellow);background:rgba(255,255,255,.04)}
.nav-toggle{display:none;border:0;background:none;padding:10px;align-items:center;gap:12px;cursor:pointer}
.nav-toggle__label{font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav-toggle__icon{display:flex;flex-direction:column;gap:6px;width:24px}
.nav-toggle__icon i{display:block;width:24px;height:2px;background:var(--ink);transition:transform .25s}

/* Hero */
.home-hero{position:relative;min-height:660px;background:#202222;color:var(--cream);overflow:hidden}
.home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),rgba(255,255,255,.045) 50%,transparent calc(50% + 1px)),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 100%,100% 120px;pointer-events:none}
.home-hero__ambient{position:absolute;inset:0;pointer-events:none}
.home-hero__ambient::before{content:"";position:absolute;right:-14%;top:-38%;width:58vw;height:58vw;border-radius:50%;background:radial-gradient(circle,rgba(255,145,0,.14),rgba(255,188,0,.035) 46%,transparent 70%)}
.home-hero__ambient span{position:absolute;display:block;background:var(--yellow)}
.home-hero__ambient span:nth-child(1){top:0;left:0;width:7px;height:44%}
.home-hero__ambient span:nth-child(2){right:0;bottom:0;width:28%;height:5px}
.home-hero__ambient span:nth-child(3){right:calc((100% - var(--container))/2);top:0;width:78px;height:5px;background:var(--orange)}
.home-hero__content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(430px,.86fr);align-items:center;gap:clamp(56px,7vw,108px);min-height:660px;padding-top:clamp(52px,4vw,80px);padding-bottom:clamp(52px,4vw,80px)}
.home-hero__copy{position:relative;z-index:2;max-width:720px}
.home-hero h1{max-width:720px;margin:0 0 30px;font-size:clamp(4.5rem,6.4vw,7rem);line-height:.89;text-transform:uppercase}
.home-hero h1 em,.page-hero h1 em,.page-hero-split__copy h1 em,.contact-hero h1 em{display:block;color:var(--yellow);font-style:normal}
.home-hero__lead{max-width:620px;margin-bottom:36px;color:rgba(255,253,241,.8);font-size:1.12rem;line-height:1.62}
.home-hero__signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;margin-top:48px;border-top:1px solid rgba(255,255,255,.18)}
.home-hero__signals>div{padding:22px 24px 0 0}
.home-hero__signals>div+div{padding-left:26px;border-left:1px solid rgba(255,255,255,.14)}
.home-hero__signals strong,.home-hero__signals span{display:block}
.home-hero__signals strong{margin-bottom:4px;color:var(--cream);font-family:var(--font-display);font-size:1.05rem;letter-spacing:.055em;text-transform:uppercase}
.home-hero__signals span{color:rgba(255,253,241,.62);font-size:.76rem;line-height:1.35}
.home-hero__visual{position:relative;min-width:0;height:clamp(520px,42vw,650px);margin:0;border:1px solid rgba(255,255,255,.15);background:#161818;box-shadow:0 36px 90px rgba(0,0,0,.32);isolation:isolate;overflow:visible}
.home-hero__visual::before{content:"";position:absolute;z-index:2;left:-1px;top:-1px;width:72%;height:6px;background:linear-gradient(90deg,var(--yellow),var(--orange))}
.home-hero__visual::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(20,21,21,.35));pointer-events:none}
.home-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:48% center;filter:saturate(.84) contrast(1.04);transition:filter .5s var(--ease),transform .7s var(--ease)}
.home-hero__visual-index{position:absolute;z-index:3;top:28px;right:0;display:flex;align-items:baseline;gap:5px;padding:13px 17px;background:var(--yellow);color:var(--ink);font-family:var(--font-display);line-height:1}
.home-hero__visual-index span{font-size:1.5rem;font-weight:800}
.home-hero__visual-index small{font-size:.66rem;font-weight:700}
.home-hero__visual figcaption{position:absolute;z-index:3;left:-42px;right:34px;bottom:30px;max-width:390px;padding:24px 28px;background:var(--cream);color:var(--ink);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.home-hero__visual figcaption span,.home-hero__visual figcaption strong{display:block}
.home-hero__visual figcaption span{margin-bottom:7px;color:#8b5a00;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.home-hero__visual figcaption strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.08;text-transform:uppercase}
@media (hover:hover){.home-hero__visual:hover img{filter:saturate(1) contrast(1.04);transform:scale(1.025)}}
.trust-strip{background:var(--ink);color:var(--cream);border-top:1px solid var(--line-light)}
.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-strip__grid>div{position:relative;display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:28px 24px;border-right:1px solid var(--line-light)}
.trust-strip__grid>div:first-child{border-left:1px solid var(--line-light)}
.trust-strip span{grid-row:1/3;color:var(--yellow);font-family:var(--font-display);font-size:.72rem;font-weight:700}
.trust-strip strong{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.trust-strip small{color:rgba(255,253,241,.7);font-size:.76rem}

/* Home sections */
.intro-section__grid,.story-section__grid,.service-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(70px,10vw,160px);margin-bottom:90px}
.intro-section__copy,.story-section__copy,.service-detail__copy{padding-top:10px;color:var(--graphite)}
.intro-section__copy .text-link{margin-top:22px}
.intro-feature{display:grid;grid-template-columns:.8fr 1.2fr;min-height:590px;background:var(--ink);box-shadow:var(--shadow)}
.intro-feature__image{min-height:520px;overflow:hidden}
.intro-feature__image img{width:100%;height:100%;object-fit:cover;object-position:center}
.intro-feature__card{position:relative;padding:clamp(48px,7vw,100px);color:var(--cream);overflow:hidden}
.intro-feature__mark{position:absolute;right:-140px;bottom:-210px;width:500px;opacity:.06}
.intro-feature__card>*:not(.intro-feature__mark){position:relative;z-index:1}
.intro-feature__card h3{max-width:600px;margin:0 0 28px;font-size:clamp(2.8rem,5vw,5rem)}
.intro-feature__card>p:not(.eyebrow){max-width:600px;color:rgba(255,253,241,.78)}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;list-style:none;margin:32px 0 0;padding:0}
.check-list li{position:relative;padding-left:26px;color:var(--ink);font-size:.93rem}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}
.check-list--light li{color:rgba(255,253,241,.78)}
.home-surface{background:#f1f2f2}
.services-section{position:relative;overflow:hidden}
.services-section::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:360px;padding:34px;border:1px solid rgba(40,40,40,.09);background:#fff;color:var(--ink);text-decoration:none;overflow:hidden;transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s}
.service-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--yellow),var(--orange));transform:scaleY(0);transform-origin:bottom;transition:transform .35s var(--ease)}
.service-card:hover{z-index:1;background:var(--ink);color:#fff;transform:translateY(-7px);box-shadow:0 28px 60px rgba(40,40,40,.16)}
.service-card:hover::before{transform:scaleY(1)}
.service-card__number{display:grid;place-items:center;width:38px;height:38px;background:#eceeed;color:var(--ink);font-family:var(--font-display);font-size:.76rem;font-weight:700;transition:background .3s}
.service-card:hover .service-card__number{background:var(--yellow)}
.service-card__standard{margin-bottom:11px;color:var(--graphite);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-card:hover .service-card__standard{color:var(--yellow)}
.service-card h3{max-width:300px;margin:0 0 16px;font-size:2.15rem}
.service-card div>p:last-child{color:var(--graphite);font-size:.92rem;line-height:1.55}
.service-card:hover div>p:last-child{color:rgba(255,253,241,.76)}
.service-card__arrow{position:absolute;right:28px;top:27px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(40,40,40,.18);border-radius:50%;font-size:0;transition:transform .25s,border-color .25s}
.service-card__arrow::before{content:"\2197\FE0E";font-size:1rem;line-height:1}
.service-card:hover .service-card__arrow{transform:translate(4px,-4px) rotate(4deg);color:var(--yellow)}
.service-card:active{transform:translateY(-2px) scale(.99)}
.process-section{background:#fff}
.process-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,140px);align-items:center}
.process-section__visual{position:relative;min-height:680px}
.process-section__visual img{width:100%;height:680px;object-fit:cover}
.process-section__tag{position:absolute;right:-45px;bottom:50px;display:flex;align-items:center;gap:16px;width:190px;padding:22px;background:var(--ink);color:#fff;border-top:4px solid var(--yellow);box-shadow:var(--shadow)}
.process-section__tag strong{font-family:var(--font-display);font-size:3rem;line-height:.8}
.process-section__tag span{font-size:.78rem;font-weight:700;line-height:1.25;text-transform:uppercase}
.process-section__content .section-heading{margin-bottom:42px}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.process-list li{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease),background .25s}
.process-list li>span{color:var(--orange);font-family:var(--font-display);font-size:.76rem;font-weight:700}
.process-list h3{margin:0 0 7px;font-size:1.55rem}
.process-list p{color:var(--graphite);font-size:.88rem;line-height:1.45}
.standards-section{padding:0;background:#fff}
.standards-section__inner{display:grid;grid-template-columns:1fr .8fr;gap:80px;padding:clamp(70px,9vw,120px);background:var(--ink);color:var(--cream)}
.standards-section h2{margin-bottom:24px}
.standards-section p:not(.eyebrow){max-width:620px;color:rgba(255,253,241,.78)}
.standards-list{display:grid;grid-template-columns:1fr 1fr;align-content:center}
.standards-list span{padding:24px 18px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);color:var(--yellow);font-family:var(--font-display);font-size:1.4rem;font-weight:700;text-align:center;transition:background .25s,color .25s,transform .25s var(--ease)}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.industry-card{min-height:250px;padding:34px 28px;border-right:1px solid var(--line);background:#fff;transition:background .25s,transform .25s}
.industry-card:hover{background:#f1f2f2;transform:translateY(-3px)}
.industry-card:first-child{border-left:1px solid var(--line)}
.industry-card span{color:var(--orange);font-family:var(--font-display);font-size:.75rem;font-weight:700}
.industry-card h3{margin:65px 0 13px;font-size:1.75rem}
.industry-card p{color:var(--graphite);font-size:.88rem;line-height:1.45}
.faq-section__grid{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(70px,10vw,160px)}
.faq-section .section-heading p:not(.eyebrow){color:var(--graphite)}
.faq-section .button{margin-top:25px}
.accordion{border-top:1px solid var(--line)}
.accordion details{margin:0 -16px;padding:0 16px;border-bottom:1px solid var(--line);transition:background .25s,box-shadow .25s}
.accordion details[open]{background:rgba(255,255,255,.76);box-shadow:inset 3px 0 0 var(--yellow)}
.accordion summary{display:flex;justify-content:space-between;gap:20px;padding:26px 0;cursor:pointer;font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1.25;list-style:none;transition:color .2s,padding .25s var(--ease)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(40,40,40,.15);border-radius:50%;color:var(--orange);font-size:1.35rem;font-weight:400;line-height:1;transition:transform .2s,background .2s,border-color .2s}
.accordion details[open] summary span{transform:rotate(45deg)}
.accordion details p{max-width:640px;padding:0 50px 26px 0;color:var(--graphite);font-size:.93rem}
.cta-section{position:relative;background:#292a2a;color:#fff;border-top:1px solid rgba(255,255,255,.06);overflow:hidden}
.cta-section::before{content:"";position:absolute;right:0;top:0;width:clamp(150px,13vw,250px);height:100%;background:linear-gradient(155deg,rgba(255,188,0,.2),rgba(255,145,0,.08));box-shadow:inset -7px 0 0 var(--yellow);clip-path:polygon(68% 0,100% 0,100% 100%,0 100%);pointer-events:none}
.cta-section::after{content:"";position:absolute;right:0;bottom:0;width:min(24vw,420px);height:5px;background:linear-gradient(90deg,var(--yellow),var(--orange));pointer-events:none}
.cta-section__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(60px,10vw,150px);align-items:end;padding:clamp(70px,9vw,120px) 0}
.cta-section__inner{position:relative;z-index:1}
.cta-section h2{margin:0;max-width:760px}
.cta-section .eyebrow{color:rgba(255,255,255,.84)}
.cta-section__inner>div:last-child>p{max-width:480px;margin-bottom:28px;color:rgba(255,255,255,.86)}
.cta-section .button--dark{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.cta-section .button--dark:hover{background:var(--orange);border-color:var(--orange)}

/* Footer */
.site-footer{background:#1f2020;color:var(--cream);padding-top:80px;border-top:1px solid rgba(255,188,0,.26);box-shadow:inset 0 8px 24px rgba(0,0,0,.14)}
.site-footer__grid{display:grid;grid-template-columns:1.55fr .7fr 1fr 1fr;gap:clamp(40px,7vw,100px);padding-bottom:70px}
.site-footer__brand img{width:180px;margin-bottom:28px}
.site-footer__brand>p{max-width:390px;color:rgba(255,253,241,.7);font-size:.9rem}
.footer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.footer-badges span{padding:6px 10px;border:1px solid rgba(255,253,241,.28);color:rgba(255,253,241,.74);font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,color .2s,transform .2s}
.footer-title{margin-bottom:22px;color:var(--yellow);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{margin-bottom:10px}
.footer-menu a,.site-footer__contact a{display:inline-block;color:rgba(255,253,241,.74);font-size:.87rem;text-decoration:none;transition:color .2s,transform .2s}
.footer-menu a:hover,.site-footer__contact a:hover{color:var(--yellow)}
.site-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer__contact .footer-title{margin-bottom:12px}
.site-footer__contact address{margin-bottom:8px;color:rgba(255,253,241,.74);font-size:.87rem;line-height:1.6}
.site-footer__bottom{display:flex;justify-content:space-between;gap:30px;padding:24px 0;border-top:1px solid rgba(255,253,241,.24);color:rgba(255,253,241,.58);font-size:.72rem}
.site-footer__bottom p{margin:0}
.site-footer__bottom>div{display:flex;gap:26px}
.site-footer__bottom a{text-decoration:none;transition:color .2s}
.site-footer__bottom a:hover{color:var(--yellow)}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:99px;background:#25d366;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.22);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:transform .25s}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.02)}
.whatsapp-float:active{transform:translateY(0) scale(.98)}
.whatsapp-float svg{width:25px;height:25px;fill:currentColor}

/* Page heroes */
.page-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;background:var(--ink);color:var(--cream);overflow:hidden}
.page-hero__image{position:absolute;inset:0}
.page-hero__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,40,40,.97),rgba(40,40,40,.67) 55%,rgba(40,40,40,.25))}
.page-hero__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.page-hero__content{position:relative;z-index:2;padding-top:100px;padding-bottom:80px}
.page-hero__content .breadcrumb{color:rgba(255,253,241,.76)}
.page-hero__content h1{max-width:850px;margin:0 0 26px;font-size:clamp(4.5rem,8vw,7.2rem);text-transform:uppercase}
.page-hero__content>p:last-child{max-width:650px;color:rgba(255,253,241,.84);font-size:1.08rem}
.page-hero--quality .page-hero__image img{object-position:center 50%}
.page-hero--split{padding:clamp(80px,10vw,130px) 0;background:#fff;color:var(--ink)}
.page-hero-split__grid{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(70px,10vw,150px);align-items:center}
.page-hero-split__copy h1{margin-bottom:28px;font-size:clamp(4.4rem,7vw,7rem);text-transform:uppercase}
.page-hero-split__copy>p:last-child{max-width:650px;color:var(--graphite);font-size:1.08rem}
.page-hero-split__image{position:relative;height:650px}
.page-hero-split__image>img{width:100%;height:100%;object-fit:cover}
.page-hero-split__image>div{position:absolute;left:-44px;bottom:36px;display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--yellow)}
.page-hero-split__image strong{font-family:var(--font-display);font-size:2.4rem;line-height:1}
.page-hero-split__image span{font-size:.78rem;font-weight:700;text-transform:uppercase}
.simple-hero{padding:clamp(100px,12vw,170px) 0;background:var(--mineral)}
.simple-hero h1{max-width:900px;margin:0 0 28px;font-size:clamp(4rem,7vw,7rem);text-transform:uppercase}
.simple-hero>div>p:last-child{max-width:680px;color:var(--graphite);font-size:1.1rem}
.simple-hero--404{min-height:70vh;display:flex;align-items:center}

/* Services */
.service-index{border-top:1px solid var(--line)}
.service-index__item{display:grid;grid-template-columns:70px 1.15fr 1fr 40px;gap:30px;align-items:center;min-height:210px;padding:34px 24px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .25s,padding .25s,box-shadow .25s,transform .25s var(--ease)}
.service-index__item:hover{background:var(--paper);padding-left:34px}
.service-index__number{align-self:start;color:var(--orange);font-family:var(--font-display);font-size:.82rem;font-weight:700}
.service-index__item div:nth-child(2)>p{margin:0 0 8px;color:var(--graphite);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-index__item h2{margin:0 0 10px;font-size:2.4rem}
.service-index__item div:nth-child(2)>span{font-size:.82rem;font-weight:600}
.service-index__description{color:var(--graphite);font-size:.92rem;line-height:1.55}
.service-index__item i{justify-self:end;font-style:normal;font-size:0;transition:transform .25s,color .25s}
.service-index__item i::before{content:"\2197\FE0E";font-size:1.35rem;line-height:1}
.service-hero{padding:clamp(70px,9vw,120px) 0;background:#fff}
.service-hero__grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(70px,10vw,150px);align-items:center}
.service-hero__copy h1{margin:0 0 30px;font-size:clamp(4.2rem,6.4vw,6.7rem);text-transform:uppercase}
.service-hero__copy>p:not(.eyebrow,.breadcrumb){max-width:660px;margin-bottom:34px;color:var(--graphite);font-size:1.1rem}
.service-hero__visual{position:relative;height:590px}
.service-hero__visual::before{content:"";position:absolute;top:-20px;right:-20px;width:55%;height:55%;background:#e7e9e9}
.service-hero__visual::after{content:"";position:absolute;z-index:2;right:-20px;top:-20px;width:5px;height:34%;background:linear-gradient(180deg,var(--yellow),var(--orange))}
.service-hero__visual img{position:relative;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04)}
.service-hero__visual>span{position:absolute;left:-34px;bottom:30px;padding:20px 26px;background:var(--ink);color:var(--yellow);font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1}
.service-facts{background:var(--ink);color:var(--cream)}
.service-facts__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.service-facts__grid>div{padding:30px;border-right:1px solid var(--line-light);transition:background .25s,box-shadow .25s}
.service-facts__grid>div:first-child{border-left:1px solid var(--line-light)}
.service-facts small{display:block;margin-bottom:8px;color:var(--yellow);font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.service-facts strong{font-family:var(--font-display);font-size:1.15rem}
.service-detail__grid{margin-bottom:0}
.service-detail__copy>p:not(.lead){color:var(--graphite)}
.service-evaluation{background:var(--mineral)}
.service-evaluation__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-evaluation__grid article{position:relative;min-height:285px;padding:30px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.service-evaluation__grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--yellow),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.service-evaluation__grid article>span{color:var(--orange);font-family:var(--font-display);font-size:.76rem;font-weight:700}
.service-evaluation__grid h3{margin:72px 0 12px;font-size:1.75rem}
.service-evaluation__grid p{color:var(--graphite);font-size:.88rem;line-height:1.5}
.service-guidance{background:#fff}
.service-guidance__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.service-guidance__panel{padding:clamp(42px,6vw,76px);background:var(--ink);color:#fff;transition:transform .3s var(--ease),box-shadow .3s}
.service-guidance__panel--light{background:var(--mineral);color:var(--ink)}
.service-guidance__panel h2{margin:0 0 38px;font-size:clamp(2.6rem,4vw,4rem)}
.service-guidance__panel ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-light)}
.service-guidance__panel--light ul{border-color:var(--line)}
.service-guidance__panel li{position:relative;padding:18px 8px 18px 28px;border-bottom:1px solid var(--line-light);color:rgba(255,255,255,.8);font-size:.92rem;transition:padding .22s,color .22s,background .22s}
.service-guidance__panel--light li{border-color:var(--line);color:var(--graphite)}
.service-guidance__panel li::before{content:"";position:absolute;left:3px;top:29px;width:8px;height:2px;background:var(--yellow)}
.service-guidance__panel--light li::before{background:var(--orange)}
.normative-section__grid{display:grid;grid-template-columns:180px 1fr;gap:70px;align-items:start;max-width:1040px}
.normative-section__number{color:var(--yellow);font-family:var(--font-display);font-size:9rem;font-weight:800;line-height:.75;text-shadow:1px 0 var(--ink),-1px 0 var(--ink),0 1px var(--ink),0 -1px var(--ink)}
.normative-section h2{margin:0 0 25px}
.normative-section p:not(.eyebrow){max-width:780px;color:var(--graphite)}
.normative-section .text-link{margin-top:24px}
.normative-note{margin-top:30px;padding-left:18px;border-left:3px solid var(--yellow);font-size:.82rem;font-weight:600}
.service-deliverables{background:var(--ink);color:#fff}
.service-deliverables__grid{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(60px,10vw,150px);align-items:start}
.service-deliverables .section-heading>p:not(.eyebrow){max-width:610px;color:rgba(255,255,255,.76)}
.service-deliverables__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-light)}
.service-deliverables__list li{position:relative;display:grid;grid-template-columns:50px 1fr;gap:24px;align-items:center;min-height:95px;padding:20px 5px;border-bottom:1px solid var(--line-light);transition:padding .25s var(--ease),background .25s}
.service-deliverables__list span{color:var(--yellow);font-family:var(--font-display);font-size:.76rem;font-weight:700}
.service-deliverables__list strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.2}
.mini-process__grid{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mini-process__grid li{position:relative;min-height:260px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.mini-process__grid span{color:var(--orange);font-family:var(--font-display);font-size:.76rem;font-weight:700}
.mini-process__grid h3{margin:70px 0 10px}
.mini-process__grid p{color:var(--graphite);font-size:.88rem;line-height:1.5}
.service-faq__grid{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(70px,10vw,160px)}
.service-faq .section-heading>p:not(.eyebrow){color:var(--graphite)}

/* Technical blog */
.blog-archive-hero{position:relative;padding:clamp(90px,10vw,145px) 0;background:var(--ink);color:#fff;overflow:hidden}
.blog-archive-hero::before{content:"";position:absolute;right:-7vw;top:-38%;width:42vw;height:145%;background:linear-gradient(160deg,rgba(255,188,0,.2),rgba(255,145,0,.03) 64%);clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);pointer-events:none}
.blog-archive-hero::after{content:"";position:absolute;right:0;bottom:0;width:38%;height:5px;background:linear-gradient(90deg,var(--yellow),var(--orange))}
.blog-archive-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(70px,10vw,150px);align-items:end}
.blog-archive-hero .breadcrumb{color:rgba(255,255,255,.72)}
.blog-archive-hero h1{max-width:900px;margin:0;font-size:clamp(4.4rem,7.3vw,7.3rem);text-transform:uppercase}
.blog-archive-hero h1 em{display:block;color:var(--yellow);font-style:normal}
.blog-archive-hero__intro>p{max-width:470px;color:rgba(255,255,255,.82);font-size:1.08rem}
.blog-topic-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px}
.blog-topic-list span{padding:7px 10px;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78);font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.blog-feature-section{background:#fff}
.blog-section-label{display:flex;justify-content:space-between;gap:30px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.blog-section-label span{color:var(--graphite);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em}
.blog-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:620px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
.blog-feature__image{position:relative;overflow:hidden}
.blog-feature__image::after{content:"";position:absolute;inset:0;box-shadow:inset -1px 0 0 rgba(255,255,255,.12);pointer-events:none}
.blog-feature__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .7s var(--ease),filter .5s}
.blog-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,6vw,84px)}
.blog-feature__copy h2{margin:28px 0 24px;font-size:clamp(2.9rem,4vw,4.5rem)}
.blog-feature__copy h2 a,.blog-card h3 a{text-decoration:none}
.blog-feature__copy>p{max-width:560px;color:rgba(255,255,255,.78)}
.blog-feature__copy .text-link{align-self:flex-start;margin-top:24px;color:#fff;border-color:rgba(255,255,255,.4)}
.blog-meta{display:flex;align-items:center;gap:0;flex-wrap:wrap;color:var(--graphite);font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.blog-meta>*{display:flex;align-items:center}
.blog-meta>*+*::before{content:"";width:3px;height:3px;margin:0 10px;background:var(--orange);border-radius:50%}
.blog-meta>span:first-child{color:#a85f00;font-family:var(--font-display);font-weight:700}
.blog-feature .blog-meta{color:rgba(255,255,255,.7)}
.blog-feature .blog-meta>span:first-child,.blog-meta--light>span:first-child{color:var(--yellow)}
.blog-library{padding-top:clamp(80px,9vw,125px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.blog-card__image{display:block;height:280px;overflow:hidden}
.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease),filter .4s}
.blog-card__body{display:flex;flex:1;flex-direction:column;padding:30px}
.blog-card h3{margin:22px 0 15px;font-size:2rem}
.blog-card__body>p{color:var(--graphite);font-size:.9rem}
.blog-card .text-link{align-self:flex-start;margin-top:auto;padding-top:20px}
.blog-coming{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding:28px 30px;border:1px solid var(--line);background:rgba(255,255,255,.56)}
.blog-coming span{color:#a85f00;font-family:var(--font-display);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.blog-coming p{margin:0;color:var(--graphite)}
.navigation.pagination{margin-top:50px}
.nav-links{display:flex;justify-content:center;gap:8px}
.nav-links .page-numbers{display:grid;min-width:42px;height:42px;place-items:center;padding:0 12px;border:1px solid var(--line);background:#fff;font-family:var(--font-display);font-size:.8rem;font-weight:700;text-decoration:none;text-transform:uppercase}
.nav-links .current,.nav-links a:hover{background:var(--ink);border-color:var(--ink);color:#fff}

.article-hero{position:relative;padding:clamp(80px,9vw,125px) 0 clamp(155px,16vw,240px);background:var(--ink);color:#fff;overflow:hidden}
.article-hero::before{content:"";position:absolute;right:-12vw;top:-55%;width:42vw;height:170%;background:linear-gradient(150deg,rgba(255,188,0,.16),transparent 68%);transform:skewX(-14deg)}
.article-hero::after{content:"";position:absolute;left:0;bottom:0;width:32%;height:4px;background:var(--yellow)}
.article-hero__inner{position:relative;z-index:1;max-width:1120px;margin-inline:auto}
.article-hero .breadcrumb{color:rgba(255,255,255,.68)}
.article-hero h1{max-width:1100px;margin:30px 0 28px;font-size:clamp(4rem,7vw,7rem)}
.article-hero__excerpt{max-width:790px;color:rgba(255,255,255,.82);font-size:clamp(1.08rem,1.7vw,1.3rem);line-height:1.55}
.blog-meta--light{color:rgba(255,255,255,.7)}
.article-cover{position:relative;z-index:2;margin:clamp(-130px,-9vw,-90px) 0 0}
.article-cover img{width:100%;height:clamp(420px,55vw,720px);object-fit:cover;object-position:center 58%;box-shadow:0 30px 85px rgba(0,0,0,.18)}
.article-cover figcaption,.article-image figcaption{display:flex;justify-content:space-between;gap:25px;margin-top:12px;color:var(--graphite);font-size:.72rem;line-height:1.45}
.article-cover figcaption span,.article-image figcaption span{flex:0 0 auto;color:#8a5100;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.article-shell{padding-top:clamp(75px,8vw,115px)}
.article-layout{display:grid;grid-template-columns:220px minmax(0,780px);justify-content:center;gap:clamp(70px,9vw,135px);align-items:start}
.article-sidebar{position:sticky;top:145px;border-top:3px solid var(--yellow)}
.article-sidebar>div{padding:22px 0;border-bottom:1px solid var(--line)}
.article-sidebar__label{display:block;margin-bottom:8px;color:var(--graphite);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.article-sidebar strong{font-family:var(--font-display);font-size:1.15rem;line-height:1.2}
.article-sidebar time{font-size:.85rem}
.article-sidebar__action{margin-top:16px}
.article-sidebar .text-link{font-size:.75rem}
.article-content{min-width:0;color:#383a3c;font-size:1.08rem;line-height:1.78}
.article-content .article-lead{margin-bottom:30px;color:var(--ink);font-size:clamp(1.35rem,2.2vw,1.65rem);font-weight:600;line-height:1.47}
.article-content h2{margin:80px 0 25px;padding-top:10px;color:var(--ink);font-size:clamp(2.7rem,4.2vw,4rem);scroll-margin-top:120px}
.article-content h3{margin:38px 0 15px;color:var(--ink);font-size:1.8rem}
.article-content p{margin-bottom:26px}
.article-content a{color:#975600;text-decoration-color:rgba(151,86,0,.42);text-underline-offset:3px}
.article-content a:hover{color:#6e3e00;text-decoration-color:currentColor}
.article-content ul,.article-content ol{margin:0 0 32px;padding-left:26px}
.article-content li{margin-bottom:12px;padding-left:6px}
.article-content li::marker{color:var(--orange);font-weight:700}
.article-toc{margin:52px 0 70px;padding:32px 36px;background:var(--mineral);border-top:3px solid var(--yellow)}
.article-toc>strong{display:block;margin-bottom:20px;font-family:var(--font-display);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.article-toc ol{margin:0;padding-left:20px;columns:2;column-gap:45px}
.article-toc li{break-inside:avoid;margin-bottom:8px;font-size:.91rem}
.article-toc a{color:var(--ink);text-decoration:none}
.article-callout{margin:45px 0;padding:30px 34px;background:var(--ink);color:#fff;border-left:5px solid var(--yellow)}
.article-callout strong{display:block;margin-bottom:8px;color:var(--yellow);font-family:var(--font-display);font-size:.8rem;letter-spacing:.11em;text-transform:uppercase}
.article-callout p{margin:0;color:rgba(255,255,255,.86)}
.article-image{margin:54px -70px}
.article-image img{width:100%;max-height:600px;object-fit:cover}
.article-decision-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:42px 0;gap:1px;background:var(--line)}
.article-decision-grid article{padding:28px 24px;background:var(--mineral)}
.article-decision-grid span{color:#a85f00;font-family:var(--font-display);font-size:.72rem;font-weight:700}
.article-decision-grid h3{margin:42px 0 10px;font-size:1.55rem}
.article-decision-grid p{margin:0;color:var(--graphite);font-size:.86rem;line-height:1.5}
.article-checklist{list-style:none;padding-left:0!important}
.article-checklist li{position:relative;padding:14px 18px 14px 42px;border-bottom:1px solid var(--line);margin:0}
.article-checklist li:first-child{border-top:1px solid var(--line)}
.article-checklist li::before{content:"✓";position:absolute;left:14px;color:#a85f00;font-weight:700}
.article-table-wrap{margin:42px 0;overflow-x:auto;border:1px solid var(--line)}
.article-table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.5}
.article-table-wrap th{padding:16px;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:.75rem;letter-spacing:.06em;text-align:left;text-transform:uppercase}
.article-table-wrap td{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}
.article-table-wrap tr:last-child td{border-bottom:0}
.article-table-wrap td:last-child{border-right:0}
.article-faq{background:var(--mineral)}
.article-faq__grid{display:grid;grid-template-columns:.68fr 1fr;gap:clamp(70px,10vw,145px)}
.article-editorial-note{padding:55px 0;background:#fff}
.article-editorial-note__inner{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:start;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-editorial-note span{color:#a85f00;font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.article-editorial-note p{max-width:850px;margin:0;color:var(--graphite);font-size:.85rem}

/* About and quality */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-light)}
.mission-grid article{position:relative;padding:clamp(60px,7vw,100px);background:var(--ink);overflow:hidden;transition:background .3s,transform .3s var(--ease)}
.mission-grid article>span{position:absolute;right:30px;top:25px;color:rgba(255,253,241,.08);font-family:var(--font-display);font-size:8rem;font-weight:800;line-height:1}
.mission-grid h2{position:relative;margin-bottom:28px;font-size:clamp(2.8rem,4.5vw,4.4rem)}
.mission-grid article>p:last-child{position:relative;color:rgba(255,253,241,.76)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.value-grid article{min-height:260px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.value-grid span{color:var(--orange);font-family:var(--font-display);font-size:.75rem;font-weight:700}
.value-grid h3{margin:70px 0 12px;font-size:1.8rem}
.value-grid p{color:var(--graphite);font-size:.88rem;line-height:1.5}
.objectives-list{counter-reset:objectives}
.objectives-list article{display:grid;grid-template-columns:70px .65fr 1fr;gap:40px;align-items:start;padding:35px 24px;border-top:1px solid var(--line);transition:background .25s,padding .25s var(--ease)}
.objectives-list article:last-child{border-bottom:1px solid var(--line)}
.objectives-list span{color:var(--orange);font-family:var(--font-display);font-size:.8rem;font-weight:700}
.objectives-list h3{margin:0;font-size:2rem}
.objectives-list p{margin:0;color:var(--graphite)}
.standards-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.standards-cards__grid article{padding:46px 34px;background:var(--ink);color:var(--cream);border-top:3px solid transparent;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s,background .3s}
.standards-cards__grid strong{display:block;margin-bottom:70px;color:var(--yellow);font-family:var(--font-display);font-size:2.5rem}
.standards-cards__grid p{color:rgba(255,253,241,.76);font-size:.9rem}

/* Contact */
.contact-hero{padding:clamp(70px,9vw,120px) 0;background:#fff}
.contact-hero__grid{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(60px,9vw,130px);align-items:start}
.contact-hero h1{margin:0 0 28px;font-size:clamp(4rem,6.2vw,6.3rem);text-transform:uppercase}
.contact-hero__copy>p:not(.eyebrow,.breadcrumb){max-width:580px;color:var(--graphite);font-size:1.08rem}
.contact-direct{margin-top:55px;border-top:1px solid var(--line)}
.contact-direct>a,.contact-direct>div{display:flex;flex-direction:column;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .25s var(--ease),background .25s}
.contact-direct small{color:var(--graphite);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-direct strong{font-family:var(--font-display);font-size:1.15rem}
.contact-form-wrap{padding:clamp(34px,5vw,60px);background:var(--paper);box-shadow:var(--shadow)}
.contact-form{display:grid;gap:20px}
.field-group{display:grid;gap:18px}
.field-group--two{grid-template-columns:1fr 1fr}
.contact-form label{display:grid;gap:8px;color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.contact-form label>span{color:var(--orange)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(40,40,40,.18);border-radius:0;background:#fbfbf9;color:var(--ink);padding:14px 15px;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;transition:border-color .2s,box-shadow .2s}
.contact-form input,.contact-form select{height:52px}
.contact-form textarea{resize:vertical;min-height:140px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,145,0,.12);outline:0}
.contact-form .checkbox-field{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;color:var(--graphite);font-size:.72rem;font-weight:400;letter-spacing:0;text-transform:none}
.contact-form .checkbox-field input{width:17px;height:17px;margin-top:2px;accent-color:var(--orange)}
.contact-form .checkbox-field span{color:inherit}
.form-note{color:var(--graphite);font-size:.7rem;text-align:center}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-notice{margin-bottom:20px;padding:15px 18px;border-left:4px solid;font-size:.85rem}
.form-notice--success{border-color:#25975a;background:#edf9f2;color:#185f3a}
.form-notice--error{border-color:#c74738;background:#fff0ee;color:#7f2921}
.contact-narrow{max-width:780px}
.prose{max-width:820px}
.prose h2{font-size:2.8rem}

@media (hover:hover) and (pointer:fine){
  .process-list li:hover{padding-left:14px;background:linear-gradient(90deg,rgba(255,188,0,.08),transparent 68%)}
  .standards-list span:hover{z-index:1;background:var(--yellow);color:var(--ink);transform:translateY(-3px)}
  .accordion summary:hover{padding-left:8px;color:#a85f00}
  .accordion summary:hover span{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
  .service-index__item:hover{box-shadow:inset 4px 0 0 var(--yellow);transform:translateX(4px)}
  .service-index__item:hover i{color:var(--orange);transform:translate(4px,-4px)}
  .service-facts__grid>div:hover{background:rgba(255,255,255,.055);box-shadow:inset 0 -3px 0 var(--yellow)}
  .service-evaluation__grid article:hover{z-index:1;background:#fff;transform:translateY(-6px);box-shadow:0 22px 45px rgba(40,40,40,.12)}
  .service-evaluation__grid article:hover::before{transform:scaleX(1)}
  .service-guidance__panel:hover{z-index:1;transform:translateY(-5px);box-shadow:0 24px 50px rgba(40,40,40,.15)}
  .service-guidance__panel li:hover{padding-left:36px;color:#fff;background:rgba(255,255,255,.035)}
  .service-guidance__panel--light li:hover{color:var(--ink);background:rgba(255,255,255,.75)}
  .service-deliverables__list li:hover{padding-left:16px;background:rgba(255,255,255,.045)}
  .mini-process__grid li:hover{z-index:1;background:var(--mineral);transform:translateY(-5px);box-shadow:0 18px 36px rgba(40,40,40,.09)}
  .mission-grid article:hover{z-index:1;background:#303232;transform:translateY(-4px)}
  .value-grid article:hover{z-index:1;background:var(--mineral);transform:translateY(-4px);box-shadow:0 18px 35px rgba(40,40,40,.08)}
  .objectives-list article:hover{padding-left:34px;background:var(--mineral)}
  .standards-cards__grid article:hover{z-index:1;background:#303232;border-color:var(--yellow);transform:translateY(-6px);box-shadow:0 24px 50px rgba(40,40,40,.18)}
  .contact-direct>a:hover{padding-left:14px;background:linear-gradient(90deg,rgba(255,188,0,.09),transparent 74%)}
  .blog-feature:hover .blog-feature__image img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
  .blog-card:hover{z-index:1;border-color:rgba(255,145,0,.48);transform:translateY(-6px);box-shadow:0 20px 45px rgba(40,40,40,.12)}
  .blog-card:hover .blog-card__image img{transform:scale(1.045);filter:saturate(1.05)}
  .article-toc a:hover{color:#975600}
  .footer-menu a:hover,.site-footer__contact a:hover{transform:translateX(4px)}
  .footer-badges span:hover{border-color:var(--yellow);color:var(--yellow);transform:translateY(-2px)}
}

.service-index__item:active{transform:translateX(2px) scale(.995)}

@media (max-width:1120px){
  :root{--container:min(100% - 48px,1200px)}
  .site-header__inner{grid-template-columns:150px 1fr auto;gap:15px}
  .site-brand{width:145px}
  .site-nav__list a{padding-inline:10px;font-size:.78rem}
  .home-hero__content{grid-template-columns:minmax(0,1fr) minmax(370px,.78fr);gap:44px}
  .home-hero h1{font-size:clamp(4rem,7vw,5.7rem)}
  .home-hero__visual{height:560px}
  .home-hero__visual figcaption{left:-28px;right:24px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-evaluation__grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid,.value-grid{grid-template-columns:repeat(2,1fr)}
  .industry-card:nth-child(3),.value-grid article:nth-child(3){border-left:1px solid var(--line)}
  .process-section__grid{gap:70px}
  .site-footer__grid{grid-template-columns:1.4fr 1fr 1fr}
  .site-footer__contact{grid-column:2/4}
  .article-image{margin-inline:-30px}
}

@media (max-width:1300px){
  .whatsapp-float{padding:12px}
  .whatsapp-float span{display:none}
}

@media (max-width:900px){
  body{font-size:16px}
  .utility-bar{display:none}
  .site-header__inner{height:74px;grid-template-columns:1fr auto}
  .site-header__cta{display:none}
  .nav-toggle{display:flex;grid-column:2}
  .nav-toggle[aria-expanded="true"] .nav-toggle__icon i:first-child{transform:translateY(4px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle__icon i:last-child{transform:translateY(-4px) rotate(-45deg)}
  .site-nav{position:absolute;top:100%;left:0;right:0;width:100%;min-height:calc(100vh - 74px);display:block;padding:28px max(24px,calc((100% - var(--container))/2)) 100px;background:var(--ink);overflow:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}
  .site-nav.is-open{opacity:1;visibility:visible;transform:none}
  .site-nav__list{display:block}
  .site-nav__list>li{border-bottom:1px solid var(--line-light)}
  .site-nav__list a{justify-content:space-between;padding:18px 4px;color:var(--cream);font-size:1.25rem}
  .site-nav__list>li>a::after{display:none}
  .site-nav .menu-item-has-children>a::before{content:"+"}
  .site-nav .sub-menu{position:static;width:auto;padding:0 0 14px 16px;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .site-nav .sub-menu a{padding:8px 4px;font-size:.9rem}
  .home-hero{min-height:0}
  .home-hero__content{grid-template-columns:1fr;gap:60px;padding-top:80px;padding-bottom:82px}
  .home-hero__copy{max-width:760px}
  .home-hero h1{max-width:760px;font-size:clamp(4.5rem,12vw,6.7rem)}
  .home-hero__visual{height:560px;margin-left:46px}
  .home-hero__visual figcaption{left:-46px}
  .trust-strip__grid{grid-template-columns:repeat(2,1fr)}
  .trust-strip__grid>div:nth-child(3){border-left:1px solid var(--line-light)}
  .section-heading--split,.intro-section__grid,.story-section__grid,.service-detail__grid,.process-section__grid,.faq-section__grid,.service-guidance__grid,.service-deliverables__grid,.service-faq__grid,.cta-section__inner,.standards-section__inner,.page-hero-split__grid,.service-hero__grid,.contact-hero__grid{grid-template-columns:1fr}
  .blog-archive-hero__grid,.blog-feature,.article-layout,.article-faq__grid{grid-template-columns:1fr}
  .blog-archive-hero__grid{gap:45px}
  .blog-feature{min-height:0}
  .blog-feature__image{height:520px}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .article-sidebar{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:0}
  .article-sidebar>div{border-top:3px solid var(--yellow)}
  .article-image{margin-inline:0}
  .cta-section::before{display:none}
  .section-heading--split{gap:30px;margin-bottom:45px}
  .intro-section__grid,.story-section__grid,.service-detail__grid{gap:45px}
  .intro-feature{grid-template-columns:1fr}
  .intro-feature__image{height:420px;min-height:0}
  .intro-feature__card{padding:60px 45px}
  .process-section__visual{min-height:500px}
  .process-section__visual img{height:500px}
  .process-section__tag{right:20px}
  .standards-section{padding:70px 0;background:var(--ink)}
  .standards-section__inner{gap:40px;padding:0;background:transparent}
  .page-hero-split__image{height:520px}
  .service-hero__visual{height:480px}
  .service-deliverables__grid,.service-faq__grid{gap:50px}
  .service-index__item{grid-template-columns:50px 1fr 34px}
  .service-index__description{grid-column:2}
  .service-index__item i{grid-column:3;grid-row:1/3}
  .mission-grid{grid-template-columns:1fr}
  .objectives-list article{grid-template-columns:50px 1fr}
  .objectives-list p{grid-column:2}
  .site-footer__grid{grid-template-columns:1.4fr 1fr}
  .site-footer__contact{grid-column:auto}
}

@media (max-width:640px){
  :root{--container:calc(100% - 36px)}
  h2{font-size:clamp(2.65rem,13vw,4rem)}
  .section{padding:78px 0}
  .site-header__inner{height:68px}
  .site-brand{width:132px}
  .site-nav{min-height:calc(100vh - 68px)}
  .home-hero__content{gap:48px;padding-top:66px;padding-bottom:60px}
  .home-hero h1{font-size:clamp(3.7rem,17vw,5rem)}
  .home-hero__lead{font-size:1rem}
  .home-hero .button-row{align-items:flex-start;flex-direction:column;gap:24px}
  .home-hero__signals{margin-top:38px}
  .home-hero__signals>div{padding-right:14px}
  .home-hero__signals>div+div{padding-left:16px}
  .home-hero__visual{height:420px;margin-left:0}
  .home-hero__visual img{object-position:54% center}
  .home-hero__visual-index{top:18px;padding:11px 14px}
  .home-hero__visual figcaption{left:16px;right:16px;bottom:16px;width:auto;padding:20px 22px}
  .home-hero__visual figcaption strong{font-size:1.18rem}
  .trust-strip__grid{grid-template-columns:1fr 1fr}
  .trust-strip__grid>div{grid-template-columns:26px 1fr;padding:22px 12px}
  .trust-strip strong{font-size:.84rem}
  .trust-strip small{font-size:.67rem}
  .intro-feature__image{height:340px}
  .intro-feature__card{padding:48px 26px}
  .intro-feature__card h3{font-size:2.8rem}
  .check-list{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:340px}
  .process-section__visual{min-height:370px}
  .process-section__visual img{height:370px}
  .process-section__tag{right:12px;bottom:12px}
  .standards-list{grid-template-columns:1fr 1fr}
  .standards-list span{font-size:1rem;padding:18px 8px}
  .industry-grid,.value-grid{grid-template-columns:1fr}
  .industry-card,.industry-card:first-child,.industry-card:nth-child(3),.value-grid article,.value-grid article:nth-child(3){border-left:1px solid var(--line)}
  .industry-card h3,.value-grid h3{margin-top:44px}
  .faq-section__grid{gap:50px}
  .cta-section__inner{gap:35px}
  .site-footer__grid{grid-template-columns:1fr;gap:40px}
  .site-footer__bottom{flex-direction:column}
  .whatsapp-float{right:16px;bottom:16px;padding:12px}
  .whatsapp-float span{display:none}
  .page-hero{min-height:590px}
  .page-hero__content h1{font-size:clamp(4rem,17vw,5.3rem)}
  .page-hero-split__copy h1,.contact-hero h1,.service-hero__copy h1{font-size:clamp(3.8rem,16vw,5rem)}
  .page-hero-split__image{height:460px}
  .page-hero-split__image>div{left:-10px}
  .service-index__item{grid-template-columns:34px 1fr 24px;gap:14px;padding:28px 8px}
  .service-index__item:hover{padding-left:8px}
  .service-index__item h2{font-size:1.8rem}
  .service-hero{padding-top:60px}
  .service-hero__visual{height:390px}
  .service-hero__visual::before{top:-10px;right:-10px}
  .service-hero__visual::after{top:-10px;right:-10px}
  .service-hero__visual>span{left:-8px}
  .service-facts__grid{grid-template-columns:1fr}
  .service-facts__grid>div,.service-facts__grid>div:first-child{border-left:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
  .normative-section__grid{grid-template-columns:1fr;gap:30px}
  .normative-section__number{font-size:6rem}
  .service-evaluation__grid{grid-template-columns:1fr}
  .service-evaluation__grid article{min-height:240px}
  .service-evaluation__grid h3{margin-top:45px}
  .service-guidance__panel{padding:46px 26px}
  .mini-process__grid{grid-template-columns:1fr 1fr}
  .mini-process__grid li{min-height:230px}
  .mini-process__grid h3{margin-top:45px}
  .mission-grid article{padding:55px 26px}
  .objectives-list article{grid-template-columns:34px 1fr;gap:18px;padding-inline:8px}
  .standards-cards__grid{grid-template-columns:1fr}
  .standards-cards__grid strong{margin-bottom:45px}
  .field-group--two{grid-template-columns:1fr}
  .contact-form-wrap{padding:30px 20px}
  .blog-archive-hero{padding:75px 0 85px}
  .blog-archive-hero h1{font-size:clamp(3.9rem,16vw,5.2rem)}
  .blog-feature__image{height:340px}
  .blog-feature__copy{padding:38px 25px 44px}
  .blog-feature__copy h2{font-size:2.8rem}
  .blog-grid{grid-template-columns:1fr}
  .blog-coming{align-items:flex-start;flex-direction:column}
  .article-hero{padding:65px 0 125px}
  .article-hero h1{font-size:clamp(3.55rem,15vw,4.8rem)}
  .article-cover{margin-top:-75px}
  .article-cover img{height:330px}
  .article-cover figcaption,.article-image figcaption{align-items:flex-start;flex-direction:column;gap:6px}
  .article-layout{gap:55px}
  .article-sidebar{grid-template-columns:1fr 1fr}
  .article-sidebar__action{grid-column:1/3}
  .article-content{font-size:1rem;line-height:1.72}
  .article-content h2{margin-top:62px;font-size:2.7rem}
  .article-toc{padding:27px 22px}
  .article-toc ol{columns:1}
  .article-callout{padding:26px 23px}
  .article-decision-grid{grid-template-columns:1fr}
  .article-table-wrap{margin-right:-18px}
  .article-editorial-note__inner{grid-template-columns:1fr;gap:12px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.button,.button span,.text-link,.site-brand,.service-card,.service-index__item,.service-index__item i,.process-list li,.standards-list span,.accordion details,.accordion summary,.service-evaluation__grid article,.service-guidance__panel,.service-guidance__panel li,.service-deliverables__list li,.mini-process__grid li,.mission-grid article,.value-grid article,.objectives-list article,.standards-cards__grid article,.contact-direct>a,.footer-menu a,.site-footer__contact a,.footer-badges span,.whatsapp-float,.blog-card,.blog-card img,.blog-feature img{transition:none}}
