
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@700;800&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap');
:root{--y:#FFE802;--ink:#2A2A2A;--black:#111;--paper:#F1F2F3;--white:#fff;--soft:#E7E8E9;--muted:#686868;--line:rgba(42,42,42,.16);--good:#246B3B;--bad:#A82525;--display:'Archivo','Arial Black',Arial,sans-serif;--sans:'Hanken Grotesk','Segoe UI',Arial,sans-serif;--shadow:0 20px 60px rgba(17,17,17,.14);--r:26px;--pill:999px;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}h1,h2,h3,p,figure{margin-top:0}::selection{background:var(--y);color:var(--black)}
.shell{width:min(var(--max),calc(100% - 72px));margin:auto}.micro{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--y);box-shadow:0 0 0 6px rgba(255,232,2,.14)}
.topline{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:var(--y);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#111}.topline .right{display:flex;gap:28px}
.header-wrap{position:sticky;top:0;z-index:50;background:rgba(17,17,17,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09)}.site-header{height:84px;display:grid;grid-template-columns:260px 1fr 260px;align-items:center;color:white}.brand{display:inline-flex;align-items:center;gap:12px;width:max-content}.brand-mark{width:46px;height:46px;padding:6px;border-radius:12px;background:var(--y)}.brand-copy strong{display:block;font:800 19px/.83 var(--display);letter-spacing:-.055em;text-transform:uppercase}.brand-copy small{display:block;margin-top:6px;color:#aaa;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}nav.desktop{display:flex;justify-content:center;gap:28px;font-size:13px;font-weight:700}nav.desktop a{position:relative;padding:8px 0;color:#d8d8d8}nav.desktop a:after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--y);transition:right .18s ease}nav.desktop a:hover{color:#fff}nav.desktop a:hover:after{right:0}.header-cta{justify-self:end;min-height:44px;padding:0 17px;display:inline-flex;align-items:center;gap:24px;border-radius:10px;background:var(--y);color:#111;font-size:12px;font-weight:800;text-transform:uppercase}.mobile-toggle{display:none;justify-self:end;width:44px;height:44px;border:1px solid #444;border-radius:10px;background:transparent;color:#fff;font-size:20px}.mobile-nav{display:none}
.hero-wrap{background:var(--black);color:#fff;overflow:hidden}.hero{min-height:760px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:stretch}.hero-copy{padding:84px 50px 70px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.hero h1{max-width:700px;margin:24px 0 30px;font:800 clamp(62px,6.8vw,108px)/.84 var(--display);letter-spacing:-.07em;text-transform:uppercase}.hero h1 em{font-style:normal;color:var(--y)}.hero-lede{max-width:650px;color:#c7c7c7;font-size:19px;line-height:1.62}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border:1px solid rgba(255,255,255,.35);border-radius:12px;font-size:13px;font-weight:800;text-transform:uppercase;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--y);border-color:var(--y);color:#111}.btn.light{background:#fff;color:#111;border-color:#fff}.btn.dark{background:#111;color:#fff;border-color:#111}.btn.outline-dark{border-color:#222;color:#222}.trust-row{margin-top:46px;padding-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid #343434}.trust-row span{display:grid;grid-template-columns:24px 1fr;gap:10px;color:#aaa;font-size:12px}.trust-row i{width:22px;height:22px;display:grid;place-items:center;border:1px solid #555;border-radius:50%;color:var(--y);font-style:normal;font-size:13px}.trust-row b{display:block;color:#fff;font-size:12px;text-transform:uppercase}
.hero-media{position:relative;min-height:760px;margin-right:calc((100vw - min(var(--max),calc(100vw - 72px)))/-2)}.hero-media:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.15) 24%,rgba(17,17,17,.08) 72%,rgba(17,17,17,.46) 100%);z-index:1}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.04)}.image-tag{position:absolute;z-index:3;top:22px;right:22px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#222;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.route-card{position:absolute;z-index:3;right:42px;bottom:52px;width:min(360px,calc(100% - 80px));padding:26px;border:1px solid #343434;border-radius:22px;background:rgba(17,17,17,.92);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.route-head{display:flex;justify-content:space-between;color:#b7b7b7;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.route-head b{color:var(--y)}.route-line{margin:26px 0 10px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.route-line:before{content:'';position:absolute;left:10%;right:10%;top:7px;height:1px;background:#686868}.route-line span{position:relative;z-index:1;text-align:center;color:#aaa;font-size:11px}.route-line span:before{content:'';width:12px;height:12px;margin:0 auto 10px;display:block;border:2px solid var(--y);border-radius:50%;background:#111}.route-card p{margin:18px 0 0;color:#c7c7c7;font-size:13px;line-height:1.55}
.manifesto{background:#fff;border-bottom:1px solid var(--line)}.manifesto-grid{min-height:210px;padding:54px 0;display:grid;grid-template-columns:1.55fr .95fr;gap:64px;align-items:start;align-items:center}.manifesto h2{margin:0;font:800 clamp(38px,4vw,60px)/.95 var(--display);letter-spacing:-.055em;text-transform:uppercase}.manifesto h2 em{font-style:normal;background:linear-gradient(transparent 62%,var(--y) 62%)}.manifesto p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.dark-section{background:var(--black);color:#fff}.section{padding:112px 0}.section-head{margin-bottom:48px;display:grid;grid-template-columns:.42fr 1fr .55fr;gap:34px;align-items:end}.section-head h2{margin:0;font:800 clamp(46px,5vw,76px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.section-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}.section-head.dark p{color:#aaa}.section-link{justify-self:end;font-size:12px;font-weight:800;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-card{position:relative;min-height:320px;border:1px solid #2e2e2e;border-radius:18px;overflow:hidden;background:#181818;color:#fff;transition:transform .2s ease,border-color .2s ease}.category-card:hover{transform:translateY(-5px);border-color:#555}.category-card img{width:100%;height:160px;object-fit:cover;filter:saturate(.77) contrast(1.06)}.category-body{padding:18px}.category-body .icon{width:26px;height:26px;display:grid;place-items:center;margin-bottom:24px;border-radius:8px;background:var(--y);color:#111;font-size:15px}.category-body h3{margin:0 0 8px;font:800 21px/.95 var(--display);letter-spacing:-.035em;text-transform:uppercase}.category-body p{margin:0;color:#9e9e9e;font-size:12px}.card-arrow{position:absolute;right:16px;bottom:14px;color:var(--y);font-weight:800}
.proof-section{padding:96px 0;background:#fff}.proof-layout{display:grid;grid-template-columns:.62fr 1.38fr;gap:36px;align-items:stretch}.proof-copy{padding:46px;border-radius:26px 72px 26px 26px;background:#111;color:#fff}.proof-copy h2{margin:24px 0 20px;font:800 clamp(44px,4.6vw,72px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.proof-copy h2 em{font-style:normal;color:var(--y)}.proof-copy p{color:#aaa;font-size:16px;line-height:1.7}.proof-panel{padding:36px;border:1px solid var(--line);border-radius:26px;background:var(--paper)}.proof-panel .top{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.proof-panel .top b{font:800 14px var(--display);text-transform:uppercase}.proof-panel .top span{color:var(--muted);font-size:12px}.math-grid{min-height:250px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;text-align:center}.math-grid strong{font:800 clamp(52px,6vw,88px)/1 var(--display);letter-spacing:-.06em}.math-grid small{display:block;margin-top:10px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.math-grid i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#111;color:var(--y);font-style:normal;font-weight:800}.proof-note{padding:16px 18px;border-left:5px solid var(--y);background:#fff;color:#555;font-size:13px}
.dossier-wrap{margin-top:28px}.dossier-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.dossier-head h3{margin:0;font:800 22px var(--display);text-transform:uppercase}.dossier-head span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}.dossier-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.dossier-card{min-height:230px;padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff}.dossier-card .n{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--y);font-size:12px;font-weight:800}.dossier-card h3{margin:auto 0 10px;font:800 19px/1 var(--display);text-transform:uppercase}.dossier-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.process-preview{padding:84px 0;background:#111;color:#fff}.process-grid{display:grid;grid-template-columns:.5fr 1.5fr;gap:50px;align-items:center}.process-copy h2{margin:18px 0 18px;font:800 clamp(44px,4.2vw,68px)/.9 var(--display);letter-spacing:-.055em;text-transform:uppercase}.process-copy p{color:#aaa;font-size:15px}.stage-line{display:grid;grid-template-columns:repeat(5,1fr);position:relative}.stage-line:before{content:'';position:absolute;left:8%;right:8%;top:17px;height:2px;background:#3a3a3a}.stage{position:relative;z-index:1;padding-right:15px}.stage b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--y);color:#111;font:800 13px var(--display)}.stage h3{margin:22px 0 8px;font:800 19px/1 var(--display);text-transform:uppercase}.stage p{margin:0;color:#8e8e8e;font-size:12px;line-height:1.5}
.inspection{padding:112px 0;background:#fff}.inspection-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:18px}.big-photo{position:relative;min-height:600px;border-radius:28px 90px 28px 28px;overflow:hidden;background:#ddd}.big-photo img{width:100%;height:600px;object-fit:cover;filter:saturate(.72)}.inspection-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.photo-card{position:relative;min-height:291px;border-radius:24px;overflow:hidden;background:#ddd}.photo-card img{width:100%;height:291px;object-fit:cover;filter:saturate(.72)}.photo-caption{position:absolute;left:16px;bottom:16px;right:16px;padding:16px;border-radius:14px;background:rgba(17,17,17,.88);color:#fff;backdrop-filter:blur(7px)}.photo-caption b{display:block;font:800 18px var(--display);text-transform:uppercase}.photo-caption span{color:#bbb;font-size:11px}.inspection-copy{margin-top:42px;display:grid;grid-template-columns:.62fr 1.38fr;gap:42px}.inspection-copy h2{margin:0;font:800 clamp(46px,5vw,78px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.inspection-copy h2 em{font-style:normal;background:linear-gradient(transparent 62%,var(--y) 62%)}.inspection-copy .right p{max-width:700px;color:var(--muted);font-size:17px;line-height:1.7}.inspection-points{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.inspection-points div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.inspection-points b{display:block;margin-bottom:7px;font-size:12px;text-transform:uppercase}.inspection-points span{color:var(--muted);font-size:12px}
.alternatives{padding:100px 0;background:var(--paper)}.alt-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:42px;align-items:start}.alt-grid h2{margin:18px 0 22px;font:800 clamp(46px,5vw,78px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.alt-grid .lead{color:var(--muted);font-size:17px;line-height:1.7}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-card{min-height:390px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.compare-card.dark{background:#111;color:#fff;border-color:#111;transform:translateY(-16px)}.compare-card .tag{display:inline-flex;padding:7px 9px;border-radius:999px;background:var(--y);color:#111;font-size:11px;font-weight:800;text-transform:uppercase}.compare-card h3{margin:72px 0 22px;font:800 30px/1 var(--display);text-transform:uppercase}.compare-card ul{margin:0;padding:0;list-style:none}.compare-card li{padding:13px 0;border-top:1px solid var(--line);font-size:13px}.compare-card.dark li{border-color:#2f2f2f;color:#bbb}.compare-card li:before{content:'→';margin-right:10px;color:var(--y);font-weight:800}
.pricing-preview{padding:88px 0;background:#111;color:#fff}.pricing-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:46px;align-items:start}.pricing-copy h2{margin:18px 0 20px;font:800 clamp(48px,5.2vw,80px)/.89 var(--display);letter-spacing:-.06em;text-transform:uppercase}.pricing-copy h2 em{font-style:normal;color:var(--y)}.pricing-copy p{color:#aaa;font-size:16px;line-height:1.7}.price-principles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-principle{min-height:180px;padding:24px;border:1px solid #333;border-radius:20px;background:#171717}.price-principle span{font-size:11px;color:var(--y);font-weight:800;text-transform:uppercase}.price-principle h3{margin:52px 0 8px;font:800 23px/1 var(--display);text-transform:uppercase}.price-principle p{margin:0;color:#999;font-size:12px;line-height:1.55}.cost-strip{margin-top:18px;padding:26px;border-radius:22px;background:var(--y);color:#111}.cost-strip-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.cost-strip-head b{font:800 19px var(--display);text-transform:uppercase}.cost-line{margin-top:22px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.cost-line span{padding:14px 8px;border-top:1px solid rgba(17,17,17,.25);font-size:11px;font-weight:800;text-transform:uppercase;text-align:center}
.guides{padding:104px 0;background:#fff}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-card{position:relative;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.guide-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.guide-card img{width:100%;height:230px;object-fit:cover;filter:saturate(.78)}.guide-card .body{padding:22px}.guide-card .meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.guide-card h3{margin:28px 0 16px;font:800 25px/1 var(--display);letter-spacing:-.035em;text-transform:uppercase}.guide-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.guide-card .go{display:inline-block;margin-top:22px;font-size:12px;font-weight:800;text-transform:uppercase;border-bottom:1px solid}
.eu-section{padding:96px 0;background:var(--paper)}.eu-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:48px;align-items:start}.eu-grid h2{margin:18px 0 24px;font:800 clamp(46px,4.8vw,74px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.eu-grid p{color:var(--muted);font-size:16px;line-height:1.7}.eu-checks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.eu-check{min-height:170px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.eu-check span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--y);font-size:11px;font-weight:800}.eu-check h3{margin:34px 0 8px;font:800 19px/1 var(--display);text-transform:uppercase}.eu-check p{margin:0;font-size:12px;line-height:1.55}
.faq{padding:104px 0;background:#fff}.faq-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:52px}.faq h2{margin:18px 0 0;font:800 clamp(48px,5vw,78px)/.9 var(--display);letter-spacing:-.06em;text-transform:uppercase}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:25px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}summary span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:transform .2s ease}details[open] summary span{transform:rotate(45deg);background:var(--y);border-color:var(--y)}details p{max-width:780px;margin:0;padding:0 0 24px;color:var(--muted);font-size:15px;line-height:1.7}
.brief{padding:96px 0;background:var(--y);color:#111}.brief-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}.brief h2{margin:18px 0 20px;font:800 clamp(50px,5.6vw,86px)/.88 var(--display);letter-spacing:-.065em;text-transform:uppercase}.brief p{font-size:16px;line-height:1.65}.brief-form{padding:28px;border-radius:24px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:14px}.brief-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase}.brief-form label.wide{grid-column:1/-1}.brief-form input,.brief-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#f8f8f8;padding:14px;color:#222;outline:none;text-transform:none;font-size:15px;font-weight:500}.brief-form input:focus,.brief-form textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(255,232,2,.6)}.brief-form button{grid-column:1/-1;min-height:56px;border:0;border-radius:12px;background:#111;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer}.brief-form small{grid-column:1/-1;color:#777;font-size:11px}
footer{padding:70px 0 24px;background:#0b0b0b;color:#fff}.footer-top{display:grid;grid-template-columns:1.25fr repeat(5,.7fr);gap:36px;padding-bottom:48px}.footer-brand p{max-width:280px;margin-top:22px;color:#8f8f8f;font-size:12px;line-height:1.7}.footer-col h4{margin:0 0 16px;color:var(--y);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer-col a{display:block;padding:7px 0;color:#aaa;font-size:12px}.footer-col a:hover{color:#fff}.footer-signoff{margin-top:24px;font:800 25px/1.02 var(--display);text-transform:uppercase}.footer-bottom{padding-top:20px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #242424;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.reveal.on{opacity:1;transform:none}
@media(max-width:1180px){.site-header{grid-template-columns:220px 1fr 220px}nav.desktop{gap:18px}.category-grid{grid-template-columns:repeat(3,1fr)}.dossier-grid{grid-template-columns:repeat(3,1fr)}.footer-top{grid-template-columns:1.4fr repeat(3,1fr)}.footer-col:nth-last-child(-n+2){margin-top:18px}}
@media(max-width:900px){.shell{width:min(100% - 40px,var(--max))}.topline{padding:0 20px}.topline .right span:first-child{display:none}.site-header{grid-template-columns:1fr auto}nav.desktop,.header-cta{display:none}.mobile-toggle{display:grid;place-items:center}.mobile-nav.open{display:grid;padding:12px 0 18px;border-top:1px solid #2b2b2b}.mobile-nav a{padding:12px 20px;color:#ddd;font-size:13px;font-weight:700}.hero{grid-template-columns:1fr}.hero-copy{padding:68px 0 36px}.hero-media{min-height:620px;margin-right:0}.manifesto-grid,.section-head,.proof-layout,.process-grid,.inspection-copy,.alt-grid,.pricing-grid,.eu-grid,.faq-grid,.brief-grid{grid-template-columns:1fr}.section-link{justify-self:start}.category-grid{grid-template-columns:repeat(2,1fr)}.dossier-grid{grid-template-columns:repeat(2,1fr)}.stage-line{grid-template-columns:1fr 1fr;gap:22px}.stage-line:before{display:none}.inspection-grid{grid-template-columns:1fr}.big-photo,.big-photo img{min-height:520px;height:520px}.inspection-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.comparison{grid-template-columns:1fr}.compare-card.dark{transform:none}.guide-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.shell{width:calc(100% - 28px)}.topline{height:28px;padding:0 14px}.topline .right{display:none}.site-header{height:72px}.brand-mark{width:40px;height:40px}.brand-copy strong{font-size:17px}.hero{min-height:0}.hero-copy{padding-top:52px}.hero h1{font-size:54px}.hero-lede{font-size:17px}.trust-row{grid-template-columns:1fr}.hero-media{min-height:510px}.route-card{right:14px;bottom:18px;width:calc(100% - 28px)}.manifesto-grid{padding:42px 0;gap:24px}.section{padding:78px 0}.section-head{gap:18px}.section-head h2,.proof-copy h2,.inspection-copy h2,.alt-grid h2,.pricing-copy h2,.eu-grid h2,.faq h2{font-size:44px}.category-grid,.dossier-grid,.guide-grid{grid-template-columns:1fr}.category-card{min-height:0}.category-card img{height:220px}.math-grid{grid-template-columns:1fr;gap:12px;padding:26px 0}.math-grid i{margin:auto;transform:rotate(90deg)}.stage-line{grid-template-columns:1fr}.inspection-side{grid-template-columns:1fr}.photo-card,.photo-card img{min-height:250px;height:250px}.inspection-points,.price-principles,.cost-line,.eu-checks{grid-template-columns:1fr}.guide-card img{height:220px}.brief-form{grid-template-columns:1fr}.brief-form label.wide,.brief-form button,.brief-form small{grid-column:auto}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important;animation:none!important}}



:root{--max:1440px}
body{line-height:1.58}
.shell{width:min(var(--max),calc(100% - 96px))}
.topline{height:36px;padding:0 42px}
.site-header{height:90px}
.hero{min-height:840px}
.hero-copy{padding:112px 68px 96px 0}
.hero h1{margin:28px 0 38px}
.hero-lede{font-size:19px;line-height:1.72;max-width:700px}
.actions{gap:16px;margin-top:40px}
.btn{min-height:58px;padding:0 22px}
.trust-row{margin-top:58px;padding-top:28px;gap:24px}
.hero-media{min-height:840px}
.route-card{right:56px;bottom:64px;width:min(388px,calc(100% - 112px));padding:30px}
.manifesto-grid{min-height:250px;padding:76px 0;gap:72px}
.manifesto p{font-size:17px;line-height:1.72}
.section{padding:136px 0}
.section-head{margin-bottom:64px;gap:44px}
.section-head p{font-size:17px;line-height:1.72}
.category-grid{gap:18px}
.category-card{min-height:348px;border-radius:22px}
.category-card img{height:184px}
.category-body{padding:22px}
.category-body .icon{margin-bottom:30px}
.proof-section{padding:118px 0}
.proof-layout{gap:48px}
.proof-copy{padding:56px;border-radius:28px 84px 28px 28px}
.proof-copy p{font-size:17px;line-height:1.75}
.proof-panel{padding:44px}
.math-grid{min-height:286px}
.dossier-grid{gap:18px;margin-top:18px}
.dossier-card{min-height:236px;padding:28px}
.process-preview{padding:126px 0}
.process-grid{gap:56px}
.process-copy p{font-size:17px;line-height:1.72}
.stage-line{margin-top:22px;gap:18px}
.inspection{padding:132px 0}
.inspection-grid{gap:22px}
.big-photo,.big-photo img{min-height:610px;height:610px}
.photo-card,.photo-card img{min-height:300px;height:300px}
.inspection-copy{padding:12px 0 0 28px}
.inspection-copy p{font-size:17px;line-height:1.72}
.inspection-points{gap:16px;margin-top:26px}
.point-card{padding:24px;min-height:170px}
.alternatives{padding:126px 0}
.alt-grid{gap:54px}
.alt-grid .lead{font-size:17px;line-height:1.75}
.comparison{gap:18px}
.compare-card{min-height:420px;padding:34px}
.pricing-preview{padding:118px 0;background:#151515}
.pricing-grid{gap:54px}
.pricing-copy p{font-size:17px;line-height:1.75}
.price-principles{gap:16px}
.price-principle{min-height:196px;padding:28px}
.cost-strip{margin-top:22px;padding:30px;border-radius:24px}
.cost-line{margin-top:26px;gap:12px}
.guides{padding:122px 0}
.guide-grid{gap:22px}
.guide-card{border-radius:22px}
.guide-card img{height:250px}
.guide-card .body{padding:26px}
.guide-card h3{margin:32px 0 18px}
.guide-card p{font-size:14px;line-height:1.62}
.eu-section{padding:112px 0}
.eu-grid{gap:56px}
.eu-grid p{font-size:17px;line-height:1.75}
.eu-check{min-height:186px;padding:26px}
.faq{padding:118px 0}
.faq-grid{gap:60px}
summary{padding:30px 0}
details p{padding:0 0 30px;font-size:16px;line-height:1.75}
.brief{padding:108px 0}
.brief-grid{gap:62px}
.brief p{font-size:17px;line-height:1.72}
.brief-form{padding:34px;gap:16px;border-radius:28px}
.brief-form input,.brief-form textarea{padding:16px}
footer{padding:88px 0 28px}
.footer-top{gap:42px;padding-bottom:56px}
.footer-brand p{margin-top:26px;line-height:1.8}
.footer-col a{padding:9px 0}
@media (max-width:1180px){
  .shell{width:min(var(--max),calc(100% - 72px))}
  .section{padding:118px 0}
  .hero-copy{padding-right:36px}
}
@media (max-width:900px){
  .shell{width:min(100% - 46px,var(--max))}
  .hero-copy{padding:86px 0 46px}
  .hero-media{min-height:680px}
  .manifesto-grid,.section-head,.proof-layout,.process-grid,.inspection-copy,.alt-grid,.pricing-grid,.eu-grid,.faq-grid,.brief-grid{gap:30px}
  .section{padding:104px 0}
}
@media (max-width:620px){
  .shell{width:calc(100% - 34px)}
  .topline{padding:0 16px}
  .site-header{height:76px}
  .hero-copy{padding-top:60px;padding-bottom:42px}
  .hero h1{font-size:56px;margin-bottom:28px}
  .hero-lede{font-size:17px;line-height:1.68}
  .actions{margin-top:30px}
  .trust-row{margin-top:36px;padding-top:22px;gap:16px}
  .hero-media{min-height:560px}
  .route-card{right:16px;bottom:20px;width:calc(100% - 32px);padding:24px}
  .manifesto-grid{padding:54px 0;gap:28px}
  .section{padding:92px 0}
  .section-head{margin-bottom:42px;gap:20px}
  .proof-copy,.proof-panel,.compare-card,.price-principle,.brief-form,.cost-strip{padding:24px}
  .proof-copy h2,.inspection-copy h2,.alt-grid h2,.pricing-copy h2,.eu-grid h2,.faq h2{font-size:46px}
  .proof-panel{padding:28px}
  .category-grid,.dossier-grid,.guide-grid{gap:18px}
  .category-card img{height:230px}
  .guide-card img{height:230px}
  .big-photo,.big-photo img{min-height:440px;height:440px}
  .photo-card,.photo-card img{min-height:260px;height:260px}
  .inspection-copy{padding:0}
  .faq-grid{gap:32px}
  .brief-grid{gap:36px}
  .brief-form{gap:14px}
}



.guide-card img{filter:none!important;image-rendering:auto;transform:translateZ(0);backface-visibility:hidden}



/* Brand-aligned redesign: preserves content/structure, restores live-v1 visual language */
:root{
  --y:#FFE802;--ink:#2A2A2A;--black:#111111;--paper:#F1F2F3;--white:#FFFFFF;--soft:#E7E8E9;--mist:#F7F7F7;--muted:#696969;--line:rgba(42,42,42,.17);--shadow:0 18px 46px rgba(17,17,17,.10);--r:26px;--max:1360px
}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);line-height:1.55}
.shell{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.topline{height:32px;padding:0 32px;background:var(--y);color:var(--black);font-size:11px;letter-spacing:.13em}
.header-wrap{position:relative;top:auto;background:var(--paper);backdrop-filter:none;border-bottom:1px solid var(--line)}
.site-header{height:100px;grid-template-columns:1fr auto 1fr;color:var(--ink)}
.brand-mark{width:52px;height:52px;padding:6px;border-radius:13px;background:var(--y)}
.brand-copy strong{color:var(--ink);font-size:20px}
.brand-copy small{color:var(--muted)}
nav.desktop{gap:32px;font-size:15px}
nav.desktop a{color:var(--ink);padding:10px 0}
nav.desktop a:hover{color:var(--black)}
nav.desktop a:after{height:4px;bottom:1px;background:var(--y)}
.header-cta{min-height:auto;padding:0 0 6px;border-radius:0;background:transparent;color:var(--ink);border-bottom:1px solid var(--ink);font-size:15px;gap:18px}
.header-cta:hover{border-bottom-color:var(--y);box-shadow:inset 0 -4px 0 var(--y)}
.mobile-toggle{border-color:var(--line);color:var(--ink)}
.mobile-nav{background:var(--paper)}
.mobile-nav a{color:var(--ink)}

/* Hero: live-v1 paper + asymmetric documentary image */
.hero-wrap{background:var(--paper);color:var(--ink);overflow:visible}
.hero{min-height:760px;grid-template-columns:.94fr 1.06fr;gap:74px;align-items:center;padding:78px 0 88px}
.hero-copy{padding:0;display:block}
.eyebrow,.micro{color:var(--ink);font-size:13px;letter-spacing:.13em}
.eyebrow{gap:11px}
.eyebrow:before{width:26px;height:26px;border:7px solid var(--white);background:var(--y);box-shadow:none}
.hero h1{max-width:760px;margin:30px 0 34px;color:var(--ink);font:800 clamp(62px,6.6vw,104px)/.88 var(--display);letter-spacing:-.067em}
.hero h1 em,.manifesto h2 em,.inspection-copy h2 em,.pricing-copy h2 em{color:var(--ink);background:linear-gradient(transparent 62%,var(--y) 62%)}
.hero-lede{max-width:650px;color:var(--muted);font-size:20px;line-height:1.55}
.actions{gap:12px;margin-top:38px}
.btn{min-height:54px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);color:var(--ink);font-size:15px;gap:36px;text-transform:none}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn.primary:hover{background:var(--black)}
.btn.light{background:var(--white);color:var(--ink);border-color:var(--line)}
.btn.outline-dark{border-color:var(--ink);color:var(--ink);background:transparent}
.trust-row{margin-top:54px;padding-top:22px;display:flex;flex-wrap:wrap;gap:15px 30px;border-top:1px solid var(--line)}
.trust-row>span{display:block;padding-left:14px;position:relative;color:var(--muted);font-size:13px}
.trust-row>span:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--y)}
.trust-row i{display:none}.trust-row b{color:var(--ink);font-size:13px;text-transform:none}
.hero-media{min-height:610px;margin-right:0;position:relative;isolation:isolate}
.hero-media:before{content:"";position:absolute;z-index:-1;inset:22px -12px -12px 22px;background:var(--y);border-radius:42px 138px 42px 42px}
.hero-media:after{display:none}
.hero-media img{height:610px;width:100%;object-fit:cover;object-position:70% center;filter:saturate(.66) contrast(1.04);border-radius:42px 138px 42px 42px}
.image-tag{top:18px;left:18px;right:auto;padding:7px 11px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11px}
.route-card{right:auto;left:-42px;bottom:28px;width:min(430px,85%);padding:22px;border-radius:24px;background:rgba(17,17,17,.95);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(17,17,17,.24)}
.route-head{color:#c7c7c7}.route-head b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--y);color:var(--ink)}
.route-line{margin:28px 7px 12px}.route-line:before{background:rgba(255,255,255,.35)}
.route-line span{color:#b6b6b6}.route-line span:before{background:var(--y);border:3px solid var(--black)}
.route-card p{font:500 18px/1.35 var(--display);color:var(--white)}

/* Promise */
.manifesto{background:var(--white);border:0}
.manifesto-grid{min-height:0;padding:110px 0;grid-template-columns:1.12fr .64fr .30fr;gap:64px;align-items:start}
.manifesto h2{font:800 clamp(48px,5.6vw,82px)/.94 var(--display);letter-spacing:-.058em}
.manifesto p{color:var(--muted);font-size:19px;line-height:1.65}




/* General section rhythm */
.section,.proof-section,.process-preview,.inspection,.alternatives,.pricing-preview,.guides,.eu-section,.faq,.brief{padding:120px 0}
.section-head{margin-bottom:72px;grid-template-columns:.16fr 1fr .42fr;gap:50px;align-items:end}
.section-head h2{color:var(--ink);font:800 clamp(48px,5.4vw,78px)/.94 var(--display);letter-spacing:-.058em}
.section-head p,.section-head.dark p{color:var(--ink)}
.section-link{color:var(--ink);font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:6px}
.section-link:hover{box-shadow:inset 0 -5px 0 var(--y)}

/* Machines: no black slab, editorial white cards on paper */
.dark-section{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-grid{grid-template-columns:repeat(3,1fr);gap:22px}
.category-card{min-height:420px;border:1px solid var(--line);border-radius:32px 78px 32px 32px;background:rgba(255,255,255,.72);color:var(--ink);overflow:hidden;box-shadow:none}
.category-card:nth-child(2n){border-radius:78px 32px 32px 32px}
.category-card:hover{transform:translateY(-6px);border-color:rgba(42,42,42,.32);background:var(--white);box-shadow:0 18px 40px rgba(17,17,17,.08)}
.category-card img{height:235px;filter:saturate(.68) contrast(1.04)}
.category-body{padding:24px 24px 30px}
.category-body .icon{width:32px;height:28px;margin-bottom:30px;border-radius:0;background:var(--y)}
.category-body h3{font:800 28px/1 var(--display);color:var(--ink)}
.category-body p{color:var(--muted);font-size:15px;line-height:1.55}
.card-arrow{right:22px;bottom:20px;color:var(--ink);background:var(--y);width:30px;height:30px;display:grid;place-items:center;border-radius:50%}

/* Proof: soft field, dark copy block + white/yellow math object */
.proof-section{background:var(--soft);color:var(--ink)}
.proof-layout{grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}
.proof-copy{padding:52px;border-radius:34px 100px 34px 34px;background:var(--ink);color:var(--white)}
.proof-copy .eyebrow{color:var(--y)}.proof-copy .eyebrow:before{border-color:var(--ink)}
.proof-copy h2{color:var(--white);font:800 clamp(50px,5vw,76px)/.92 var(--display)}
.proof-copy h2 em{color:var(--y);background:none}
.proof-copy p{color:#d1d1d1;font-size:19px;line-height:1.65}
.proof-copy .btn{border-color:rgba(255,255,255,.35);background:transparent;color:var(--white)}
.proof-panel{padding:34px;border:0;border-radius:32px 92px 32px 32px;background:var(--white);box-shadow:18px 18px 0 var(--y)}
.proof-panel .top{padding-bottom:22px}.proof-panel .top b{font-size:12px}.proof-panel .top span{font-size:12px}
.math-grid{min-height:300px}.math-grid strong{font:800 clamp(56px,6vw,88px)/1 var(--display)}
.math-grid i{background:var(--ink);color:var(--y)}
.proof-note{padding:20px 22px;border-left:5px solid var(--y);background:var(--paper);font-size:14px;line-height:1.6}
.dossier-wrap{margin-top:76px}.dossier-head{margin-bottom:24px}
.dossier-grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.dossier-card{min-height:230px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:var(--white);padding:24px}
.dossier-card .n{width:32px;height:28px;border-radius:0;background:var(--y)}
.dossier-card h3{margin:64px 0 12px;font:800 28px/1 var(--display)}
.dossier-card p{font-size:15px;line-height:1.55}

/* Process: light route, yellow geometry */
.process-preview{background:var(--white);color:var(--ink)}
.process-grid{grid-template-columns:.48fr 1.52fr;gap:70px;align-items:center}
.process-copy h2{font:800 clamp(48px,4.8vw,74px)/.94 var(--display);color:var(--ink)}
.process-copy p{color:var(--muted);font-size:17px;line-height:1.65}
.process-copy .btn{color:var(--ink);border-color:var(--ink)}
.stage-line{padding-top:54px}
.stage-line:before{top:70px;height:3px;background:var(--y);border-radius:999px}
.stage{padding-right:24px}
.stage b{width:36px;height:36px;border:3px solid var(--ink);background:var(--y);color:var(--ink)}
.stage h3{margin:26px 0 10px;color:var(--ink);font:800 22px/1 var(--display)}
.stage p{color:var(--muted);font-size:14px;line-height:1.55}

/* Inspection: live-v1 documentary asymmetry with yellow offsets */
.inspection{background:var(--paper)}
.inspection-grid{grid-template-columns:1.18fr .82fr;gap:24px;align-items:stretch}
.big-photo,.photo-card{position:relative;overflow:visible;background:transparent}
.big-photo:before{content:"";position:absolute;z-index:0;inset:22px -12px -12px 22px;background:var(--y);border-radius:38px 120px 38px 38px}
.big-photo img{position:relative;z-index:1;height:650px;min-height:650px;border-radius:38px 120px 38px 38px;filter:saturate(.68) contrast(1.03)}
.inspection-side{gap:24px}
.photo-card img{height:313px;min-height:313px;border-radius:34px;filter:saturate(.68) contrast(1.03)}
.photo-card:nth-child(2) img{border-radius:90px 34px 34px 34px}
.photo-caption{z-index:2;left:18px;right:18px;bottom:18px;padding:16px 18px;border-radius:16px;background:rgba(17,17,17,.90)}
.inspection-copy{display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;padding:96px 0 0}
.inspection-copy h2{font:800 clamp(50px,5.2vw,78px)/.94 var(--display)}
.inspection-copy .right>p{color:var(--muted);font-size:17px;line-height:1.65}
.inspection-points{grid-template-columns:repeat(2,1fr);gap:12px}
.inspection-points>div{min-height:140px;padding:20px;border:0;border-top:5px solid var(--y);border-radius:0;background:var(--white)}
.inspection-points b{font:800 20px/1 var(--display);color:var(--ink)}
.inspection-points span{font-size:14px;color:var(--muted)}

/* Alternatives: quiet sand field, one dark decision card */
.alternatives{background:var(--soft)}
.alt-grid{grid-template-columns:.74fr 1.26fr;gap:80px}
.alt-grid h2{font:800 clamp(50px,5.4vw,80px)/.94 var(--display)}
.alt-grid .lead{font-size:18px;line-height:1.7}
.comparison{gap:18px}
.compare-card{min-height:430px;padding:32px;border:1px solid var(--line);border-radius:30px 82px 30px 30px;background:var(--white)}
.compare-card.dark{background:var(--ink);color:var(--white);border-color:var(--ink);transform:translateY(28px);box-shadow:16px 16px 0 var(--y)}
.compare-card .tag{border-radius:0;background:var(--y);font-size:11px}
.compare-card h3{margin:82px 0 24px;font:800 31px/1 var(--display)}
.compare-card li{padding:15px 0;font-size:14px}
.compare-card:not(.dark) li{color:var(--muted)}

/* Pricing: paper field, dark manifesto card, yellow anatomy card */
.pricing-preview{background:var(--paper);color:var(--ink)}
.pricing-grid{grid-template-columns:.78fr 1.22fr;gap:68px}
.pricing-copy{padding:48px;border-radius:32px 92px 32px 32px;background:var(--ink);color:var(--white);align-self:start}
.pricing-copy .eyebrow{color:var(--y)}.pricing-copy .eyebrow:before{border-color:var(--ink)}
.pricing-copy h2{color:var(--white);font:800 clamp(50px,5.2vw,78px)/.92 var(--display)}
.pricing-copy h2 em{color:var(--y);background:none}
.pricing-copy p{color:#d0d0d0;font-size:18px;line-height:1.7}
.pricing-copy .btn{color:var(--white);border-color:rgba(255,255,255,.38)}
.price-principles{grid-template-columns:1fr 1fr;gap:14px}
.price-principle{min-height:210px;padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--white);color:var(--ink)}
.price-principle span{color:var(--ink);background:linear-gradient(transparent 55%,var(--y) 55%);width:max-content}
.price-principle h3{margin:62px 0 10px;color:var(--ink);font:800 25px/1 var(--display)}
.price-principle p{color:var(--muted);font-size:14px}
.cost-strip{margin-top:22px;padding:30px;border-radius:30px 80px 30px 30px;background:var(--y);color:var(--ink);box-shadow:none}
.cost-strip-head b{font:800 22px var(--display)}
.cost-line{gap:10px}.cost-line span{padding:18px 8px;border-top:1px solid rgba(17,17,17,.28);font-size:12px}

/* Guides: premium light editorial cards, no blur/filter */
.guides{background:var(--white)}
.guide-grid{grid-template-columns:repeat(3,1fr);gap:22px}
.guide-card{border:1px solid var(--line);border-radius:30px 72px 30px 30px;background:var(--white);overflow:hidden;box-shadow:none}
.guide-card:nth-child(3n+2){border-radius:72px 30px 30px 30px}
.guide-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(17,17,17,.09)}
.guide-card img{height:260px;filter:none;object-fit:cover}
.guide-card .body{padding:26px 26px 30px}
.guide-card .meta{font-size:11px}.guide-card h3{margin:34px 0 16px;font:800 27px/1 var(--display)}
.guide-card p{font-size:15px;line-height:1.6}.guide-card .go{margin-top:26px;font-size:13px;text-decoration-thickness:4px;text-decoration-color:var(--y)}

/* EU verification: sand/white checkerboard */
.eu-section{background:var(--soft)}
.eu-grid{grid-template-columns:.72fr 1.28fr;gap:72px}
.eu-grid h2{font:800 clamp(50px,5.1vw,76px)/.94 var(--display)}
.eu-grid p{font-size:18px;line-height:1.7}
.eu-checks{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.eu-check{min-height:210px;padding:24px;background:var(--white)}
.eu-check span{width:32px;height:28px;border-radius:0;background:var(--y)}
.eu-check h3{margin:52px 0 10px;font:800 22px/1 var(--display)}
.eu-check p{font-size:14px;line-height:1.55}

/* FAQ: white / spacious */
.faq{background:var(--white)}
.faq-grid{grid-template-columns:.48fr 1.52fr;gap:80px}
.faq h2{font:800 clamp(50px,5.2vw,78px)/.94 var(--display)}
.faq-list{border-top:1px solid var(--line)}
summary{padding:30px 0;font-size:17px}
summary span{border-color:var(--line)}details[open] summary span{background:var(--y);border-color:var(--y)}
details p{font-size:16px;line-height:1.72}

/* Brief: one intentional dark ending, white/yellow form like live v1 */
.brief{background:var(--ink);color:var(--white)}
.brief-grid{grid-template-columns:.85fr 1.15fr;gap:90px}
.brief .micro{color:var(--y)}
.brief h2{color:var(--white);font:800 clamp(50px,5.4vw,82px)/.94 var(--display)}
.brief p{color:#b6b6b6;font-size:17px;line-height:1.65}
.brief-form{padding:34px;border-radius:32px 90px 32px 32px;background:var(--white);color:var(--ink);grid-template-columns:1fr 1fr;gap:20px 24px}
.brief-form label{font-size:11px;letter-spacing:.09em;color:var(--ink)}
.brief-form input,.brief-form textarea{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:13px 0}
.brief-form button{border-radius:999px;background:var(--y);color:var(--ink);min-height:54px}

/* Footer remains the deep anchor, but less cramped */
footer{padding:78px 0 28px;background:var(--black)}
.footer-top{grid-template-columns:1.3fr repeat(5,.72fr);gap:40px;padding-bottom:52px}
footer .brand-copy strong{color:var(--white)}footer .brand-copy small{color:#aaa}
.footer-brand p{font-size:12px;line-height:1.75}.footer-signoff{font-size:28px}
.footer-col h4{font-size:11px;color:var(--y)}.footer-col a{padding:8px 0;font-size:12px}
.footer-bottom{padding-top:22px}

/* No reveal-induced empty gaps if JS is delayed/disabled */
.reveal{opacity:1;transform:none}

@media(max-width:1180px){
  .site-header{grid-template-columns:220px 1fr 220px}.category-grid{grid-template-columns:repeat(2,1fr)}
  .dossier-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.2fr repeat(3,1fr)}
}
@media(max-width:900px){
  .shell{width:min(100% - 40px,780px)}.site-header{grid-template-columns:1fr auto;height:86px}nav.desktop,.header-cta{display:none}.mobile-toggle{display:grid;place-items:center}
  .mobile-nav.open{display:grid;padding:12px 0 18px;border-top:1px solid var(--line)}
  .hero{grid-template-columns:1fr;gap:58px;padding:70px 0 92px}.hero-media{width:calc(100% - 24px);margin-left:24px}.route-card{left:-24px}
  .manifesto-grid,.section-head,.proof-layout,.process-grid,.inspection-copy,.alt-grid,.pricing-grid,.eu-grid,.faq-grid,.brief-grid{grid-template-columns:1fr;gap:46px}
  .section-link{justify-self:start}.process-copy{max-width:680px}
  .stage-line{grid-template-columns:repeat(5,1fr)}.inspection-grid{grid-template-columns:1fr}.big-photo img{height:540px;min-height:540px}.inspection-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.photo-card img{height:280px;min-height:280px}
  .comparison{grid-template-columns:1fr}.compare-card.dark{transform:none}.guide-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:620px){
  .shell{width:min(100% - 30px,520px)}.topline{padding-inline:15px}.topline .right{display:none}.site-header{height:82px}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:19px}
  .hero{padding:62px 0 78px}.hero h1{font-size:58px}.hero-lede{font-size:18px}.hero-media{width:100%;margin-left:0;min-height:470px}.hero-media:before{inset:12px -7px -7px 12px}.hero-media img{height:470px;border-radius:28px 76px 28px 28px}.route-card{width:calc(100% - 24px);left:12px;bottom:14px}
  .manifesto-grid{padding:78px 0;gap:28px}
  .section,.proof-section,.process-preview,.inspection,.alternatives,.pricing-preview,.guides,.eu-section,.faq,.brief{padding:82px 0}
  .section-head{gap:22px;margin-bottom:48px}.section-head h2,.proof-copy h2,.process-copy h2,.inspection-copy h2,.alt-grid h2,.pricing-copy h2,.eu-grid h2,.faq h2,.brief h2{font-size:48px}
  .category-grid,.dossier-grid,.guide-grid,.eu-checks{grid-template-columns:1fr}.category-card{min-height:0}.category-card img{height:230px}.dossier-card{min-height:210px}
  .proof-layout{gap:54px}.proof-copy{padding:28px}.proof-panel{padding:24px;box-shadow:10px 10px 0 var(--y);border-radius:24px 64px 24px 24px}.math-grid{grid-template-columns:1fr;gap:12px;padding:28px 0}.math-grid i{margin:auto;transform:rotate(90deg)}
  .stage-line{grid-template-columns:1fr;gap:0;padding-top:0}.stage-line:before{display:none}.stage{padding:22px 0;border-top:1px solid var(--line)}.stage b{float:left;margin-right:14px}.stage h3{margin:4px 0 10px}.stage p{padding-left:50px}
  .big-photo:before{inset:12px -7px -7px 12px}.big-photo img{height:470px;min-height:470px}.inspection-side{grid-template-columns:1fr}.photo-card img{height:260px;min-height:260px}.inspection-copy{padding-top:68px}.inspection-points,.price-principles,.cost-line{grid-template-columns:1fr}
  .compare-card{min-height:0}.pricing-copy{padding:28px}.guide-card img{height:230px}.brief-form{grid-template-columns:1fr}.brief-form label.wide,.brief-form button,.brief-form small{grid-column:auto}
  .footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}
}


/* =============== v5 MERGE PATCHES, generated by _build/merge_homepage.py =============== */

/* --- P2: the arithmetic panel, rebuilt -------------------------------------------------
   The director could not read it: "impossible to understand, math symbols are way too small".
   Three faults, all fixed here.
   1. It stopped at the inputs. An equation with no result is not an equation, so `= 960` is now
      part of the row and carries the answer in Signal Yellow.
   2. The operators sat as ~13px glyphs inside 38px discs, so the disc read as a bullet. They are
      now 30px glyphs in 54px discs, which is what makes the row scan as arithmetic.
   3. The unit labels were 9px. They are the part that makes the sum mean anything. Now 13px. */
.math-grid{min-height:0!important;grid-template-columns:1fr auto 1fr auto 1fr auto 1.25fr!important;
  gap:6px;align-items:center;text-align:center;padding:34px 0 26px!important}
.math-grid .math-in strong,.math-grid .math-out strong{
  font:800 clamp(46px,4.6vw,68px)/1 var(--display);letter-spacing:-.06em;display:block}
.math-grid small{display:block;margin-top:12px;color:var(--muted);font-size:13px!important;
  font-weight:700;line-height:1.35;text-transform:none;letter-spacing:0}
.math-grid .math-out{background:var(--y);border-radius:22px 40px 22px 22px;padding:22px 14px 20px;
  margin-left:6px}
.math-grid .math-out strong{color:var(--ink)}
.math-grid .math-out small{color:var(--ink);opacity:.72}
.math-grid .math-out small b{font-weight:800;opacity:1}
.math-grid i{width:54px!important;height:54px!important;display:grid;place-items:center;
  border-radius:50%;background:var(--ink);color:var(--y);font-style:normal;font-weight:800;
  font-size:30px!important;line-height:1;font-family:var(--display)}
.math-grid i.eq{background:transparent;color:var(--ink);font-size:38px!important;width:44px!important}
.math-compare{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px;margin-top:6px;padding-top:22px;border-top:1px solid var(--line)}
.math-compare .mc-claim{font-size:16px;color:var(--muted);line-height:1.5}
.math-compare .mc-claim b{color:var(--ink);font-weight:800}
.math-compare .mc-flag{background:var(--ink);color:var(--y);border-radius:999px;
  padding:10px 16px;font-size:13px;font-weight:800;white-space:nowrap}
@media (max-width:900px){
  .math-grid{grid-template-columns:1fr!important;gap:10px;padding:24px 0!important}
  .math-grid i{margin:auto;transform:rotate(90deg)}
  .math-grid i.eq{transform:none}
  .math-grid .math-out{margin-left:0}
}

/* --- P3: the founder, in its new slot -------------------------------------------------- */
.founder-section{background:var(--white);padding:96px 0}
.founder-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:78px;align-items:center}
.founder-copy h2{margin:22px 0 26px;font:800 clamp(38px,4vw,58px)/.96 var(--display);
  letter-spacing:-.055em;text-transform:uppercase}
.founder-copy h2 em{font-style:normal;background:linear-gradient(transparent 62%,var(--y) 62%)}
.founder-copy p{color:var(--muted);font-size:17px;line-height:1.7;margin:0 0 16px;max-width:60ch}
/* Set as a quotation, because it is one. The oversized Signal Yellow quote mark does the work an
   avatar usually does in a testimonial: it tells you a person is speaking before you read a word.
   It is decorative and sits in a pseudo-element, so a screen reader never announces it. */
.founder-quote{position:relative;margin:0;padding-left:34px;border:0}
.founder-quote:before{content:"“";position:absolute;left:-6px;top:-26px;
  font:800 92px/1 var(--display);color:var(--y);pointer-events:none}
.founder-quote p{max-width:56ch}
/* The closing line is the founder's own sentence and the reason the section exists, so it is the
   one line here set in ink rather than muted grey. */
.founder-copy .founder-close{color:var(--ink);font-size:19px;font-weight:600;line-height:1.55;
  margin-top:26px}
@media (max-width:560px){
  .founder-quote{padding-left:22px}
  .founder-quote:before{font-size:66px;top:-18px;left:-4px}
}
/* The card is now the photograph. The hard yellow offset carries it, exactly as it carries every
   other image on the site, so the founder sits in the same visual register as the machinery
   rather than looking like a bolted-on team page. */
.founder-card{background:transparent;border:0;padding:0;box-shadow:none;
  margin-right:18px;margin-bottom:18px}
.founder-portrait{position:relative;margin:0;border-radius:26px 64px 26px 26px;overflow:hidden;
  box-shadow:18px 18px 0 var(--y);line-height:0;background:var(--soft)}
.founder-portrait img{display:block;width:100%;height:auto;
  filter:saturate(.96) contrast(1.01)}
.founder-portrait figcaption{position:absolute;left:18px;right:18px;bottom:18px;
  background:rgba(17,17,17,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-radius:16px;padding:15px 18px;line-height:1.2}
.founder-portrait figcaption strong{display:block;color:#fff;
  font:800 26px/1 var(--display);letter-spacing:-.035em;text-transform:uppercase}
.founder-portrait figcaption span{display:block;margin-top:8px;color:var(--y);font-size:11px;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase}
/* The LinkedIn mark. Final placement: under the note text, in the left column. The two credential
   pills are gone at the director's instruction, and the name plate on the photograph is
   untouched. Putting the mark beside the prose also removes the collision that broke the previous
   version, because nothing in the left column has an offset shadow to clear.
   It is a rounded ink tile with the LinkedIn letterform in Signal Yellow, not the LinkedIn blue
   box, so it belongs to this brand's vocabulary rather than sitting on the page as someone
   else's logo.
   TWICE this rule was silently deleted by an unbalanced comment marker in an edit above it: CSS
   error recovery treats the stray text as a broken selector and swallows the following block
   whole, so the anchor fell back to a bare glyph and nothing reported an error. The build now
   counts comment markers and refuses to write the file if they do not balance. */
.founder-link{display:inline-grid;place-items:center;width:42px;height:42px;margin-top:30px;
  border-radius:12px;background:var(--ink);color:var(--y);
  transition:transform .18s ease,background .18s ease}
.founder-link:hover{transform:translateY(-2px);background:var(--black)}
.founder-link:focus-visible{outline:3px solid var(--y);outline-offset:4px}
.founder-link svg{display:block;width:19px;height:19px}
@media (max-width:900px){
  .founder-grid{grid-template-columns:1fr;gap:44px}
  .founder-section{padding:70px 0}
  .founder-card{margin-right:10px;margin-bottom:10px;max-width:420px}
  .founder-portrait{box-shadow:10px 10px 0 var(--y);border-radius:20px 44px 20px 20px}
}

/* --- P4: the twelve-category lattice ---------------------------------------------------
   Named, not photographed. Six generated factory scenes invented to look broader would be the
   dishonesty this brand exists to argue against.

   CORRECTION: this lattice was first built dark, on the assumption that `.dark-section` was dark.
   It is not. A later rule in the source overrides it to `background:var(--paper)` with light
   cards, so a black slab was landing in the middle of a light section and reading as a hole in
   the page. It now matches the six photographed cards directly above it: near-white tiles,
   hairline grid, ink headings. The rule this breaks if reintroduced: black `#111` is the floor of
   the document, for the footer and dossier panels. It is not a content surface. */
.category-more{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;
  background:var(--line);border:1px solid var(--line)}
.cat-tile{display:block;position:relative;background:rgba(255,255,255,.72);
  padding:26px 26px 30px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.cat-tile:hover{background:var(--white);transform:translateY(-4px);z-index:2;
  box-shadow:0 12px 30px rgba(17,17,17,.09)}
.cat-tile h3{margin:0 0 8px;color:var(--ink);font:700 21px/1.15 var(--display);
  letter-spacing:-.03em}
.cat-tile p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;max-width:34ch}
.cat-tile span{position:absolute;top:24px;right:24px;color:var(--ink);font-size:16px;
  font-weight:800}
.category-more-note{grid-column:1/-1;background:rgba(255,255,255,.72);margin:0;
  padding:24px 26px;color:var(--muted);font-size:14px;line-height:1.6}
@media (max-width:1000px){.category-more{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.category-more{grid-template-columns:1fr}}

/* --- P5: the fee band, stated ----------------------------------------------------------- */
.price-figure{margin-top:38px;border-top:1px solid rgba(255,255,255,.22);padding-top:30px}
.pf-main{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.pf-main strong{font:800 clamp(58px,6vw,92px)/.82 var(--display);letter-spacing:-.07em;
  color:var(--y)}
.pf-main strong sup{font-size:.42em;vertical-align:super;letter-spacing:0}
.pf-main span{color:#c4c4c4;font-size:16px;line-height:1.6;max-width:46ch}
.pf-side{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;
  background:rgba(255,255,255,.2)}
.pf-side>div{background:var(--ink);padding:18px 20px}
.pf-side b{display:block;color:#fff;font:800 22px/1 var(--display);letter-spacing:-.03em}
.pf-side small{display:block;margin-top:9px;color:#a5a5a5;font-size:12px;line-height:1.45;
  font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media (max-width:900px){
  .pf-main{grid-template-columns:1fr;gap:14px}
  .pf-side{grid-template-columns:1fr}
}

/* Type floor. Nothing on this page renders below 11px after the P1 ramp. */
small,.micro,.eyebrow,.topline{font-synthesis:none}

/* --- P10: footer base line -------------------------------------------------------------- */
.footer-bottom .fb-powered a{color:var(--y);font-weight:800}
.footer-bottom .fb-powered a:hover{text-decoration:underline}

/* --- P12: the route ---------------------------------------------------------------------
   Two director corrections applied on top of the original, both measured against it:
     dashed line   stroke-width 3 -> 8, dasharray "2 9" -> "1 17"   (dots ~2.7x wider)
     stage number  32x25 box at 9px -> 60x42 box at 21px            (box 3.1x area, type 2.3x)
   The dots are round-capped zero-ish dashes rather than short strokes, so the line reads as a
   row of dots on a curve instead of a broken line. */
.process-preview{background:var(--paper)!important;color:var(--ink)!important}
.service-route{position:relative;padding-top:172px}
.service-route>svg{position:absolute;inset:0 0 auto;width:100%;height:170px;overflow:visible}
.service-route path{fill:none;stroke:var(--y);stroke-width:8;stroke-linecap:round;
  stroke-dasharray:1 17}

/* THE NODES ARE THE NUMBERS.
   Two things were wrong and they had one cause. The circles looked squashed because the SVG is
   drawn with preserveAspectRatio="none" so the curve can span any width: that stretches x and y
   unequally, which a 20px circle shows and a 4px dot does not. And the stage numbers were sitting
   in separate yellow boxes inside the cards, so the same five things were being counted twice.
   Both are solved by taking the nodes out of the SVG. They are now HTML circles positioned over
   the curve at the centre of each column, so they cannot deform, they hold real selectable text,
   and each number sits directly above the card it belongs to. The paper-coloured ring is what
   stops the dotted line running into the numeral. */
.route-nodes{position:absolute;inset:0 0 auto;height:170px;pointer-events:none}
.route-nodes span{position:absolute;transform:translate(-50%,-50%);
  display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:var(--ink);color:var(--y);font:800 20px/1 var(--display);letter-spacing:-.02em;
  box-shadow:0 0 0 7px var(--paper)}
.route-nodes .n1{left:10%;top:112px}
.route-nodes .n2{left:30%;top:121px}
.route-nodes .n3{left:50%;top:46px}
.route-nodes .n4{left:70%;top:126px}
.route-nodes .n5{left:90%;top:44px}

.service-grid{display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.6);min-height:250px;padding:38px 26px 28px;position:relative;
  transition:background .2s ease,transform .2s ease}
.service-grid article:hover{background:var(--white);transform:translateY(-6px);z-index:2}
/* The in-card number is the fallback for narrow screens, where the curve is hidden. */
.service-grid span{display:none}
.service-grid h3{margin:0 0 14px;color:var(--ink);font:600 33px/1 var(--display);
  letter-spacing:-.03em}
.service-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.6;max-width:30ch}
@media (max-width:1000px){
  .service-route{padding-top:0}
  .service-route>svg,.route-nodes{display:none}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid article:last-child{grid-column:1/-1}
  .service-grid article{padding-top:26px}
  .service-grid span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
    background:var(--ink);color:var(--y);font:800 20px/1 var(--display);margin-bottom:26px}
}
@media (max-width:620px){
  .service-grid{grid-template-columns:1fr}
  .service-grid article:last-child{grid-column:auto}
  .service-grid article{min-height:0}
}

/* --- P13: footer, type up and the column count fixed -------------------------------------
     column heading   11px -> 13px
     link             12px -> 15px
     description      12px -> 15px
     base line        11px -> 13px
   The grid is now brand + five columns on one row instead of a full-width brand block forcing
   the links to wrap. Same content, one row, and the type has somewhere to go. */
.footer-top{display:grid!important;grid-template-columns:1.6fr repeat(4,minmax(0,1fr))!important;
  gap:46px 34px!important;align-items:start}
.footer-brand{grid-column:1!important;grid-row:1}
.footer-col h4{font-size:13px!important;letter-spacing:.1em;margin:0 0 18px}
.footer-col a{font-size:15px!important;padding:9px 0;color:#b4b4b4;transition:color .18s ease}
.footer-col a:hover{color:#fff}
.footer-brand p{font-size:15px!important;line-height:1.7;max-width:300px}
.footer-signoff,.footer-brand .footer-signoff{margin-top:30px}
.footer-bottom{font-size:13px!important;letter-spacing:.06em}
@media (max-width:1180px){
  .footer-top{grid-template-columns:1fr repeat(3,minmax(0,1fr))!important}
  .footer-brand{grid-column:1/-1!important}
}
@media (max-width:760px){
  .footer-top{grid-template-columns:1fr 1fr!important;gap:34px 26px!important}
}
@media (max-width:460px){
  .footer-top{grid-template-columns:1fr!important}
}

/* --- P16: the wide door ------------------------------------------------------------------
   `optional` is set quietly beside the label rather than as a separate line, because the point
   is to remove an obstacle, not to add another thing to read. */
.brief-form label i{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;
  opacity:.5;margin-left:7px;font-size:.92em}

/* --- ship: the header CTA is a button, not a link ----------------------------------------
   Director: "highlight the CTA button in yellow please". It was an underlined text link sitting
   in a row of four other text links, so the one thing on the page that earns money looked like a
   fifth navigation item. Signal Yellow is reserved for the action; this is the action. */
.header-cta{background:var(--y)!important;color:var(--ink)!important;border:0!important;
  border-radius:999px!important;padding:12px 22px!important;font-weight:800!important;
  display:inline-flex!important;align-items:center;gap:10px;
  transition:transform .18s ease,box-shadow .18s ease;text-decoration:none!important}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,17,17,.16)}
.header-cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* --- ship: THE AUTHORITATIVE FOOTER LAYOUT. Nothing after this may touch .footer-top. ----- */
footer .footer-top{
  display:grid!important;
  grid-template-columns:1.6fr repeat(4,minmax(0,1fr))!important;
  gap:44px 32px!important;
  align-items:start!important;
  align-content:start!important;
  grid-auto-flow:row!important}
footer .footer-brand{grid-column:1!important;grid-row:1!important;align-self:start!important}
footer .footer-col{grid-row:1!important;align-self:start!important;min-width:0}
footer .footer-col h4{margin:0 0 18px!important;line-height:1}
@media (max-width:1180px){
  footer .footer-top{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  footer .footer-brand{grid-column:1/-1!important;grid-row:1!important;margin-bottom:8px}
  footer .footer-col{grid-row:2!important}
}
@media (max-width:760px){
  footer .footer-top{grid-template-columns:1fr 1fr!important;gap:34px 24px!important}
  footer .footer-col:nth-of-type(1),footer .footer-col:nth-of-type(2){grid-row:2!important}
  footer .footer-col:nth-of-type(3),footer .footer-col:nth-of-type(4){grid-row:3!important}
}
@media (max-width:460px){
  footer .footer-top{grid-template-columns:1fr!important}
  footer .footer-col{grid-row:auto!important}
}

/* --- ship: THE AUTHORITATIVE PROMISE LAYOUT. Nothing after this may touch .manifesto-grid. ---
   Found by walking the live site, not by reading the source: the computed grid was
   `669px 382px 179px`, a three-column layout with an empty third column where the founder card
   used to be. The fix in merge_homepage.py had changed the FIRST .manifesto-grid rule; a later
   one at `1.12fr .64fr .3fr` was winning. Same class as the footer, same answer: one rule, last
   in the file, with a build assertion so a future edit cannot quietly outrank it. */
.manifesto-grid{grid-template-columns:1.55fr .95fr!important;gap:64px!important;
  align-items:start!important}
.manifesto-grid>*:nth-child(3){display:none!important}
@media (max-width:900px){
  .manifesto-grid{grid-template-columns:1fr!important;gap:24px!important}
}

/* --- build_v5_pages: breadcrumbs, the machine index, guide prose ------------------------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:22px 0 0;
  font-size:13px;font-weight:700;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--y)}
.crumbs .sep{opacity:.4}
.crumbs span:last-child{color:var(--ink)}

/* THE LIST SECTION ALIGNS ON ONE LEFT EDGE.
   The default .section-head is a 3-column grid (.16fr 1fr .42fr) that parks the eyebrow in its own
   column, which indents the h2 by ~126px while the table below starts at the shell edge. Two left
   edges that close makes the eye read the whole section as broken. Stacking the eyebrow above the
   heading REMOVES the offset rather than trying to match it - matching would mean recomputing an fr
   value every time the head changes, which is how it drifts back. */
.machine-list-section .section-head{grid-template-columns:1fr;gap:12px;align-items:start;
  margin-bottom:44px}
.machine-list-section .section-head .micro{color:var(--muted)}
.machine-index{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line)}
.machine-index li{background:var(--white);padding:15px 18px;font-size:15px;line-height:1.45;
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.machine-index li>span{color:var(--muted)}
.machine-index li>a{color:var(--ink);font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--y)}
.machine-index li>a:hover{background:var(--y)}
.machine-index .tag{flex:0 0 auto;background:var(--ink);color:var(--y);border-radius:999px;
  padding:4px 9px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.machine-index.checks li>span{color:var(--ink)}
.machine-index-note{margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.6;
  max-width:78ch}
@media (max-width:1000px){.machine-index{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.machine-index{grid-template-columns:1fr}}

.guide-copy{max-width:74ch}
.guide-copy p{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 18px}
.guide-copy p:last-child{margin-bottom:0}
.section.alt-grid{background:var(--white)}

/* --- supplier response forms, /s/<category>. Not a public page. --------------------------- */
.sf{max-width:900px}
.sf-block{margin:0 0 54px}
.sf-block h2{font:800 clamp(28px,3vw,42px)/1 var(--display);letter-spacing:-.05em;
  margin:0 0 22px;text-transform:uppercase}
.sf-note{color:var(--muted);font-size:16px;line-height:1.65;max-width:70ch;margin:0 0 30px}
.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sf-field{display:flex;flex-direction:column;gap:7px}
.sf-label{font-size:14px;font-weight:800;color:var(--ink)}
.sf-label .req{color:var(--sea-deep,var(--ink))}
.sf-label i{font-style:normal;font-weight:600;opacity:.5;font-size:.92em}
.sf-field .hint{font-size:13px;color:var(--muted)}
.sf input,.sf select,.sf textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;
  padding:13px 15px;font:inherit;font-size:16px;color:var(--ink);background:var(--white)}
.sf input:focus,.sf select:focus,.sf textarea:focus{outline:3px solid var(--y);outline-offset:2px;
  border-color:var(--ink)}
.sf textarea{resize:vertical;min-height:84px}
.sf-q{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:26px 0;
  border-top:1px solid var(--line)}
.sf-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--ink);color:var(--y);font:800 16px/1 var(--display)}
.sf-qbody h3{margin:0 0 8px;font:700 20px/1.25 var(--sans);color:var(--ink)}
.sf-qbody p{margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.6;max-width:74ch}
.sf-submit{border-top:1px solid var(--line);padding-top:30px}
.sf-submit button{background:var(--y);color:var(--ink);border:0;border-radius:999px;
  padding:17px 30px;font:800 16px/1 var(--sans);cursor:pointer;display:inline-flex;
  align-items:center;gap:12px;transition:transform .18s ease}
.sf-submit button:hover{transform:translateY(-2px)}
.sf-submit small{display:block;margin-top:16px;color:var(--muted);font-size:14px;line-height:1.6;
  max-width:70ch}
@media (max-width:720px){
  .sf-grid{grid-template-columns:1fr}
  .sf-q{grid-template-columns:1fr;gap:12px}
}
