
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montserrat-400.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/montserrat-500.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/montserrat-600.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/montserrat-700.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600.woff2") format("woff2");}
:root{
--charcoal-900:#1A1A1A;
--ink-800:#222222;
--gray-600:#595959;
--gray-500:#737373;
--gray-300:#BFBBB5;
--gray-200:#E4E1DC;
--gray-100:#EFEDE9;
--cream-50:#F9F8F6;
--white:#FFFFFF;
--sand-400:#C2A281;
--sand-500:#B59273;
--sand-700:#8A6A4E;
--sand-100:#F1E9E0;
--success-600:#4F6B4A;
--error-600:#9A3B2E;
--bg-page:var(--cream-50);
--bg-surface:var(--white);
--bg-muted:var(--gray-100);
--bg-inverse:var(--charcoal-900);
--bg-accent:var(--sand-400);
--bg-accent-soft:var(--sand-100);
--text-primary:var(--charcoal-900);
--text-body:var(--ink-800);
--text-secondary:var(--gray-600);
--text-muted:var(--gray-500);
--text-inverse:var(--cream-50);
--text-accent:var(--sand-700);   
--text-on-accent:var(--charcoal-900);
--border-default:var(--gray-200);
--border-strong:var(--gray-500);
--border-inverse:rgba(249,248,246,0.16);
--border-focus:var(--sand-500);
--action-primary:var(--charcoal-900);
--action-primary-hover:var(--sand-500);
--action-accent:var(--sand-400);
--action-accent-hover:var(--sand-500);
}
:root{
--font-heading:"Montserrat","Syne",system-ui,sans-serif;
--font-body:"Inter","Open Sans",system-ui,sans-serif;
--fs-display:40px; --lh-display:48px;  --fw-display:700; 
--fs-h2:32px; --lh-h2:36px;  --fw-h2:600; 
--fs-h3:24px; --lh-h3:28px;  --fw-h3:500; 
--fs-h4:18px; --lh-h4:24px;  --fw-h4:600; 
--fs-body:16px; --lh-body:1.6;  --fw-body:400; 
--fs-caption:14px; --lh-caption:1.4; 
--fs-eyebrow:12px;
--fs-stat:64px;
--tracking-heading:0.04em; 
--tracking-eyebrow:0.18em; 
--tracking-button:0.12em; 
}
:root{
--space-xs:8px;
--space-sm:16px;
--space-md:24px;
--space-lg:32px;
--space-lg-2:48px;
--space-xl:64px;
--space-xl-2:96px;
--container-max:1200px;
--gutter:24px;
}
:root{
--radius-none:0px;
--radius-sm:2px;
--radius-ui:4px;
--radius-card:8px;
--shadow-card:0px 4px 16px rgba(0,0,0,0.04);
--shadow-float:0px 2px 8px rgba(0,0,0,0.06);
--ease-out:cubic-bezier(0.22,0.61,0.36,1); 
--dur-fast:0.3s; 
--dur-enter:0.6s; 
--enter-offset:20px; 
--hover-scale:1.02; 
--stagger:0.12s; 
}
@keyframes dkn-fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
html,body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-primary);margin:0;text-wrap:balance}
h1{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display);text-transform:uppercase;letter-spacing:var(--tracking-heading)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2);text-transform:uppercase;letter-spacing:var(--tracking-heading)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-primary);text-decoration-color:var(--sand-400);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-accent)}
::selection{background:var(--sand-100)}
.dkn-reveal{animation:dkn-fade-up var(--dur-enter) var(--ease-out) both}
html{scroll-behavior:smooth}
a{color:var(--text-primary)}a:hover{color:var(--text-accent)}
:focus-visible{outline:2px solid var(--sand-500);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--charcoal-900);color:var(--cream-50);padding:8px 16px}.skip:focus{left:16px}
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.sec{padding:var(--space-xl) 0}
.tone-surface{background:var(--bg-surface)}.tone-page{background:var(--bg-page)}.tone-inverse{background:var(--bg-inverse);color:var(--gray-300)}
.tone-inverse h2,.tone-inverse h3{color:var(--cream-50)}
.muted-text{color:var(--text-secondary)}
.stack-sm{display:flex;flex-direction:column;gap:16px}.stack-md{display:flex;flex-direction:column;gap:var(--space-md)}.stack-lg{display:flex;flex-direction:column;gap:var(--space-lg)}
.g-split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
.g3,.g4{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
.head-row{margin-bottom:var(--space-lg)}
.sec-cta{margin-top:var(--space-lg);display:flex}
.btns{display:flex;flex-wrap:wrap;gap:16px}
.flag{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--text-muted);background:var(--gray-100);padding:2px 6px;border-radius:2px}
.note{font-size:14px;color:var(--text-muted);margin-top:var(--space-lg)}
.ph{width:100%;border-radius:var(--radius-card,4px);background:repeating-linear-gradient(135deg,var(--gray-100) 0 12px,#E8E5E0 12px 24px);display:flex;align-items:flex-end;padding:16px}
.ph span{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--text-muted);background:var(--cream-50);padding:4px 8px;border-radius:2px}
.hero{padding:var(--space-lg) 0 var(--space-xl);background:var(--bg-page)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-md)}
.hero h1{font-size:clamp(30px,7.4vw,56px);line-height:1.08;letter-spacing:.02em}
.hero-lead{font-size:clamp(16px,2vw,19px);line-height:1.55;color:var(--text-secondary);max-width:560px}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg) var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-default)}
.hero-stats [style*="font-size: var(--fs-stat)"]{font-size:clamp(44px,6vw,64px)!important}
.hero-stat-text{grid-column:1/-1;display:flex;flex-direction:column;gap:12px}
.hst-big{font-family:var(--font-heading);font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.1;color:var(--text-primary);text-transform:uppercase;letter-spacing:.02em}.hst-big i{font-style:normal;color:var(--sand-400)}
.hst-lbl{font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-secondary)}
.cad{position:relative;margin:0;padding:28px 0 0 28px}
.cad-dim{position:absolute;background:var(--gray-500)}
.cad-dim-h{top:10px;left:28px;right:0;height:1px}
.cad-dim-h::before,.cad-dim-h::after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:var(--gray-500)}.cad-dim-h::before{left:0}.cad-dim-h::after{right:0}
.cad-dim-h span{position:absolute;left:50%;top:-9px;transform:translateX(-50%);background:var(--bg-page);padding:0 8px;white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--text-muted);letter-spacing:.08em}
.cad-dim-v{left:10px;top:28px;bottom:0;width:1px}
.cad-dim-v::before,.cad-dim-v::after{content:"";position:absolute;left:-5px;height:1px;width:11px;background:var(--gray-500)}.cad-dim-v::before{top:0}.cad-dim-v::after{bottom:0}
.cad-sheet{background:var(--bg-surface);border:1px solid var(--border-default);padding:12px;box-shadow:var(--shadow-card)}
.cad-block{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 0;border:1px solid var(--charcoal-900)}
.cad-block div{padding:8px 12px;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.cad-block div:nth-child(2n){border-right:0}.cad-block div:nth-last-child(-n+2){border-bottom:0}
.cad-block dt{font-family:var(--font-heading);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}
.cad-block dd{margin:2px 0 0;font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--text-primary)}
.num-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-default)}
.num-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--border-default)}
.nl-n{font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--sand-500);letter-spacing:.08em}
.nl-t{font-family:var(--font-heading);font-weight:500;font-size:clamp(17px,2vw,20px);line-height:1.35;color:var(--text-primary)}
.transition-line{display:flex;gap:16px;align-items:flex-start;margin-top:var(--space-lg);font-size:17px;color:var(--text-body);line-height:1.5}.transition-line svg{margin-top:2px}
.mode-grid{list-style:none;padding:0;margin:var(--space-xl) 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--border-default);border:1px solid var(--border-default)}
.mode-grid li{background:var(--bg-page);padding:var(--space-md);display:flex;align-items:center;gap:16px;font-family:var(--font-heading);font-weight:500;font-size:16px;line-height:1.35;color:var(--text-primary)}
.statement{margin-top:var(--space-xl);font-family:var(--font-heading);font-weight:700;font-size:clamp(24px,4vw,44px);line-height:1.15;text-transform:uppercase;letter-spacing:.02em;color:var(--text-primary);max-width:900px}.statement span{color:var(--sand-700)}
.svc{display:flex;flex-direction:column;gap:12px}
.svc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--text-primary)}
.svc-n{font-family:var(--font-heading);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--sand-700)}
.svc h3,.who h3,.steps h3{font-size:16px;line-height:1.35;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.svc p,.who p,.steps p{font-size:15px;line-height:1.6;color:var(--text-secondary)}
.stat-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);margin-top:var(--space-lg)}
.stat-row>div{padding-top:var(--space-md);border-top:1px solid var(--border-inverse)}
.stat-row [style*="font-size: var(--fs-stat)"]{font-size:clamp(56px,9vw,96px)!important}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.flow li{position:relative;display:flex;align-items:center;gap:16px;padding:20px 24px;border:1px solid var(--charcoal-900);background:var(--bg-surface)}
.flow li:last-child{background:var(--charcoal-900)}.flow li:last-child .flow-t{color:var(--cream-50)}
.flow-n{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--sand-500)}
.flow-t{font-family:var(--font-heading);font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary)}
.flow-arrow{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%) rotate(90deg);z-index:1;background:var(--bg-page);color:var(--sand-500);display:flex;padding:0 2px}
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--space-md)}
.check-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border-default);font-size:15px;line-height:1.5}.check-list svg{margin-top:2px}
.quote{margin:var(--space-xl) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--sand-400);font-family:var(--font-heading);font-weight:500;font-size:clamp(20px,2.8vw,30px);line-height:1.35;color:var(--text-primary);max-width:880px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
.steps li{display:flex;flex-direction:column;gap:12px;padding-top:var(--space-md);border-top:1px solid var(--charcoal-900)}
.who{display:flex;flex-direction:column;gap:12px;color:var(--text-primary)}.who svg{margin-bottom:8px}
.filters{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;margin-bottom:var(--space-lg);padding-bottom:4px;scrollbar-width:none}
.filter{flex-shrink:0;font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;min-height:40px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);border-radius:2px;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.filter:hover{border-color:var(--charcoal-900);color:var(--text-primary)}.filter.on{background:var(--charcoal-900);border-color:var(--charcoal-900);color:var(--cream-50)}
.pf{display:flex;flex-direction:column;gap:16px}
.pf-body{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.pf dl{margin:0;width:100%;border-top:1px solid var(--border-default)}
.pf dl div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border-default);font-size:13px}
.pf dt{color:var(--text-secondary)}.pf dd{margin:0;color:var(--text-muted);font-family:ui-monospace,Menlo,monospace;font-size:12px}
.pf p{font-size:14px;color:var(--text-muted)}
.about .ph{max-width:340px}
.sig{display:flex;flex-direction:column;gap:4px;padding-top:var(--space-sm);border-top:1px solid var(--border-default)}.sig strong{font-family:var(--font-heading);font-size:18px;color:var(--text-primary)}.sig span{font-size:14px;color:var(--text-secondary)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.cta-inner{max-width:820px;display:flex;flex-direction:column;gap:var(--space-md)}
.cta-final h2{font-size:clamp(28px,4.4vw,48px);line-height:1.12}
.cta-final p{font-size:18px;color:var(--gray-300)}
.channels{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-default)}
.channels li{display:grid;grid-template-columns:20px 96px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-default);color:var(--text-primary)}
.ch-l{font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ch-v{justify-self:start}
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
.sent{display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start;min-height:360px;justify-content:center}
.sent-ic{width:48px;height:48px;border-radius:2px;background:var(--charcoal-900);color:var(--cream-50);display:flex;align-items:center;justify-content:center}
.m-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:auto 1fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(249,248,246,.96);backdrop-filter:blur(8px);box-shadow:0 -4px 16px rgba(0,0,0,.06)}
.m-bar button{min-height:48px;border-radius:2px;font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.m-menu{display:flex;align-items:center;gap:8px;padding:0 16px;background:transparent;border:1px solid var(--charcoal-900);color:var(--text-primary)}
.m-cta{background:var(--charcoal-900);color:var(--cream-50);border:0;padding:0 12px}
.m-sheet{position:fixed;inset:0 0 72px 0;z-index:55;background:var(--bg-page);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-lg) var(--gutter)}
.m-sheet a{font-family:var(--font-heading);font-weight:600;font-size:24px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border-default)}
body{padding-bottom:72px}
@media (max-width:899px){header nav{display:none!important}header button{display:none!important}}
@media (max-width:899px){.m-bar{top:0;bottom:auto;left:auto;right:0;height:84px;display:flex;align-items:center;padding:0 var(--gutter);background:transparent;backdrop-filter:none;box-shadow:none}.m-cta{display:none!important}.m-sheet{inset:84px 0 0 0;justify-content:flex-start}body{padding-bottom:0}.wa-fab{bottom:calc(16px + env(safe-area-inset-bottom))!important}}
@media (min-width:640px){
.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form{grid-template-columns:repeat(2,minmax(0,1fr))}.form .full{grid-column:1/-1}
.check-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stat-text{grid-column:auto}
}
@media (min-width:900px){
body{padding-bottom:0}.m-bar,.m-sheet{display:none}
.sec{padding:var(--space-xl-2) 0}
.hero{padding:var(--space-xl) 0 var(--space-xl-2)}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.g-split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-xl)}
.head-row{margin-bottom:var(--space-xl)}
.g-split.head-row{align-items:end}
.sticky-col{position:sticky;top:120px;align-self:start}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mode-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.mode-grid li{flex-direction:column;align-items:flex-start;padding:var(--space-lg) var(--space-md)}
.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg)}
.flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.flow li{flex-direction:column;align-items:flex-start;gap:24px;padding:24px}
.flow-arrow{left:auto;right:-21px;top:50%;bottom:auto;transform:translateY(-50%)}
.about{grid-template-columns:minmax(0,4fr) minmax(0,6fr);align-items:center}
.contact{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.filters{flex-wrap:wrap;overflow:visible}
}
@media (min-width:1100px){.g4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.svc h3{overflow-wrap:anywhere;hyphens:auto}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}.w-i{display:inline-block;will-change:transform}
.ph-clip{overflow:hidden;border-radius:var(--radius-card,4px)}.ph-clip .ph{transform-origin:center;will-change:transform}
.progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--sand-400);transform:scaleX(0);transform-origin:left;z-index:70;pointer-events:none}
.mq{overflow:hidden;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--bg-page);padding:clamp(20px,3vw,32px) 0}
.mq-track{display:flex;width:max-content;will-change:transform}
.mq-group{display:flex;flex-shrink:0}
.mq-item{display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px)}
.mq-w{font-family:var(--font-heading);font-weight:700;font-size:clamp(28px,5.2vw,72px);line-height:1;text-transform:uppercase;letter-spacing:.03em;color:var(--charcoal-900);white-space:nowrap}
.mq-o{color:transparent;-webkit-text-stroke:1px var(--charcoal-900)}
.mq-plus{font-family:var(--font-heading);font-weight:400;font-size:clamp(24px,3.6vw,48px);color:var(--sand-400);line-height:1}
.motion-off .mq-track{transform:none}
.svc-wrap .svc-top svg{transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s}.svc-wrap:hover .svc-top svg{transform:translate(3px,-3px);color:var(--sand-500)}
.svc-wrap .svc-n{transition:letter-spacing .4s cubic-bezier(.22,1,.36,1)}.svc-wrap:hover .svc-n{letter-spacing:.2em}
.g3 .who svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}.g3>div:hover .who svg{transform:translateY(-3px)}
.pf .ph-clip .ph{transition:transform .9s cubic-bezier(.22,1,.36,1)}.pf:hover .ph-clip .ph{transform:scale(1.04)}
.mode-grid li{transition:background .3s}.mode-grid li svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}.mode-grid li:hover{background:var(--bg-surface)}.mode-grid li:hover svg{transform:translateX(3px);color:var(--sand-500)}
.num-list li{transition:padding-left .4s cubic-bezier(.22,1,.36,1)}.num-list li:hover{padding-left:8px}
.channels li svg{transition:transform .3s}.channels li:hover svg{transform:translateX(3px)}
.filter{transition:all .3s cubic-bezier(.22,1,.36,1)}
.motion-ready:not(.motion-off) .steps li{border-top-color:transparent;position:relative}
.motion-ready:not(.motion-off) .steps li::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--charcoal-900);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.motion-ready:not(.motion-off) .steps li:nth-child(2)::before{transition-delay:.07s}.motion-ready:not(.motion-off) .steps li:nth-child(3)::before{transition-delay:.14s}.motion-ready:not(.motion-off) .steps li:nth-child(4)::before{transition-delay:.21s}
.motion-ready:not(.motion-off) .steps li.drawn::before{transform:none}
.motion-ready:not(.motion-off) .stat-row>div{border-top-color:transparent;position:relative}
.motion-ready:not(.motion-off) .stat-row>div::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--sand-400);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.motion-ready:not(.motion-off) .stat-row>div.drawn::before{transform:none}
.motion-ready:not(.motion-off) .quote{border-top-color:transparent;position:relative}
.motion-ready:not(.motion-off) .quote::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--sand-400);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.motion-ready:not(.motion-off) .quote.drawn::before{transform:none}
img.ph{padding:0;display:block;object-fit:cover;height:auto;background:var(--gray-100)}
.about img.portrait{object-position:center 38%;filter:grayscale(.35) contrast(1.05) brightness(.98);background:var(--cream-50);border:1px solid var(--border-default)}
.hero-id{display:flex;align-items:center;gap:16px}
.hero-avatar{width:56px;height:56px;border-radius:2px;object-fit:cover;object-position:center 20%;background:var(--gray-100);flex-shrink:0}
.hero-id-t{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:1px solid var(--sand-400)}
.hero-id-t strong{font-family:var(--font-heading);font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--text-primary)}
.hero-id-t span{font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.hero-assure{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text-secondary)}
.ha-plus{font-family:var(--font-heading);font-weight:700;font-size:20px;color:var(--sand-500);line-height:1}
.start-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.start-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px;align-items:start;font-size:16px;line-height:1.5;color:var(--text-body)}
.start-list svg{color:var(--sand-500);margin-top:2px}
.wa-fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:65;display:flex;align-items:center;gap:0;height:56px;min-width:56px;padding:0 16px;justify-content:center;background:var(--sand-400);color:var(--charcoal-900);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.14);text-decoration:none;transition:background .3s,color .3s,gap .4s cubic-bezier(.22,1,.36,1)}
.wa-fab:hover{background:var(--charcoal-900);color:var(--cream-50);gap:12px}
.wa-fab-l{max-width:0;overflow:hidden;white-space:nowrap;font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:max-width .4s cubic-bezier(.22,1,.36,1)}
.wa-fab:hover .wa-fab-l,.wa-fab:focus-visible .wa-fab-l{max-width:240px}
@media (min-width:640px){.stat-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.wa-fab{right:24px;bottom:24px}}
header > div > a:first-child{font-size:0!important;letter-spacing:0!important;display:block;width:36px;height:48px;background:url(../img/brand-sand.png) left center/contain no-repeat;flex-shrink:0}
footer > div > div:first-child > span:first-child{font-size:0!important;letter-spacing:0!important;display:block;width:54px;height:72px;background:url(../img/brand-light.png) left top/contain no-repeat}
.cad-block-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cad-block-3 div{border-bottom:0!important;border-right:1px solid var(--border-default)!important}.cad-block-3 div:last-child{border-right:0!important}
.cad-sheet img.ph{object-fit:contain;background:#fff}
.cad-dim-v span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-page);padding:6px 0;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--text-muted);letter-spacing:.08em}
.cad-block dd{white-space:nowrap}
.save{margin-top:8px;padding-top:16px;border-top:1px solid var(--sand-400);display:flex;flex-direction:column;gap:12px}
.save-k{font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.save ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.save li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;color:var(--text-body);line-height:1.5}
.save-m{font-family:var(--font-heading);font-weight:700;font-size:20px;line-height:1.1;color:var(--sand-500)}
@media (min-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)!important;gap:var(--space-lg)!important}}
.cad-block-3{grid-template-columns:auto max-content max-content}
.cad-block-3 div{padding:8px 10px}
@media (max-width:1100px){.cad-block-3 dd{font-size:12px}}
footer > div:last-child{text-align:center}
.ft-link{color:inherit;text-decoration:none;transition:color .3s}.ft-link:hover{color:var(--sand-400)}
.pf-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start;animation:pfIn .5s cubic-bezier(.22,1,.36,1)}
.pf-detail .ph-clip{border:1px solid var(--border-default)}
.pf-info{display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}
.pf-block{display:flex;flex-direction:column;gap:8px;width:100%}
.pf-k{font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.pf-need{font-family:var(--font-heading);font-weight:500;font-size:clamp(18px,2vw,22px);line-height:1.4;color:var(--text-primary);text-wrap:pretty}
.pf-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-default);width:100%}
.pf-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:12px 0;border-bottom:1px solid var(--border-default);font-size:15px;line-height:1.5;color:var(--text-body)}
.pf-plus{font-family:var(--font-heading);font-weight:700;color:var(--sand-500)}
.pf-fmt{display:flex;align-items:baseline;gap:16px}.pf-fmt-v{font-family:var(--font-heading);font-weight:600;font-size:14px;letter-spacing:.06em;color:var(--text-primary)}
@keyframes pfIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (min-width:900px){.pf-detail{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-xl)}}
@media (prefers-reduced-motion:reduce){.pf-detail{animation:none}}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-err{margin:0;padding:12px 16px;border:1px solid var(--sand-400);background:var(--bg-page);font-size:14px;color:var(--text-body)}

@media (min-width:900px){.hero h1{font-size:clamp(34px,4.2vw,56px)}}
.js .hero .hero-copy,.js .hero .cad{visibility:hidden}.js.ready .hero .hero-copy,.js.ready .hero .cad{visibility:visible}
/* compatto: spaziature verticali ridotte */
.sec{padding:48px 0}.hero{padding:24px 0 48px}.head-row{margin-bottom:24px}.sec-cta{margin-top:24px}
.hero-stats{margin-top:40px;padding-top:24px}.mode-grid{margin-top:40px}.statement{margin-top:40px}.quote{margin-top:40px;padding-top:24px}.stat-row{margin-top:24px}.transition-line{margin-top:24px}
@media (min-width:900px){.sec{padding:72px 0}.hero{padding:48px 0 72px}.head-row{margin-bottom:40px}.hero-stats{margin-top:48px}.mode-grid,.statement,.quote{margin-top:48px}}
#esperienza.sec{padding:32px 0}#esperienza .stat-row{margin-top:16px;gap:16px}#esperienza .stat-row>div{padding-top:12px}
@media (min-width:900px){#esperienza.sec{padding:44px 0}}
@media (max-width:899px){.filters{gap:6px}.filter{padding:7px 10px;min-height:34px;font-size:10px;letter-spacing:.1em}.ft-soc{gap:0}.ft-soc a{min-height:44px}footer a{display:inline-flex;align-items:center;min-height:44px}}
.cad-block-3{grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr);max-width:100%;box-sizing:border-box}.cad-block-3 div{min-width:0}.cad-block-3 dd{white-space:normal;overflow-wrap:anywhere}.cad-block-3 dt{letter-spacing:.1em}
@media (max-width:420px){.cad-block-3 div{padding:8px 8px}.cad-block-3 dd{font-size:11px}}
.pf-link{color:inherit;text-decoration:none;cursor:pointer}.pf-link:hover{color:inherit}.pf-link:focus-visible{outline:2px solid var(--sand-500);outline-offset:4px}

/* hero più compatto: marquee visibile senza scroll */
#faq button[aria-expanded]{padding:16px 0!important}
@media (min-width:900px){.hero{padding:32px 0 40px}.hero-copy{gap:20px}.hero-stats{margin-top:32px;padding-top:20px}.hero h1{font-size:clamp(34px,3.6vw,52px)}.mq{padding:20px 0}}

.split-cta{display:flex;align-items:stretch}.split-cta>button:first-child{border-right:0!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.cta-arrow{display:flex;align-items:center;justify-content:center;width:62px;background:var(--charcoal-900);color:var(--cream-50);border:1px solid var(--charcoal-900);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.cta-arrow svg{transition:transform var(--dur-fast) var(--ease-out)}.split-cta:hover .cta-arrow{background:var(--sand-400);border-color:var(--sand-400);color:var(--charcoal-900)}.split-cta:hover .cta-arrow svg{transform:translateX(3px)}

.ft-soc{display:flex;flex-direction:column;gap:12px}.ft-soc a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.ft-soc a svg{color:var(--sand-400)}.ft-soc a:hover{color:var(--sand-400)}
