/* FABIN v2 design (approved Nov 2026): warm white, deep navy, restrained yellow.
   Loaded on every page (partials/head.html); every body has class v2. */
body.v2{
--ink:#0B1430;--text:#141B33;--muted:#4A5370;--muted-2:#5A6380;
--blue:#0B1430;--blue-d:#0B1430;--blue-dd:#1C2A55;--blue-50:#F2EFE6;--blue-100:#E6E1D3;
--yellow:#F7BE2A;--yellow-d:#E5AA0F;--yellow-50:#FFF5D6;
--line:#E7E3D9;--line-2:#D8D3C6;--soft:#F4F1EA;--card:#FFFFFF;--bg:#FBFAF6;
--r-sm:6px;--r:8px;--r-lg:10px;
--shadow:0 1px 2px rgba(11,20,48,.04),0 2px 8px -2px rgba(11,20,48,.06);
--shadow-lg:0 1px 2px rgba(11,20,48,.05),0 12px 32px -12px rgba(11,20,48,.18);
--display:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
background:var(--bg);color:var(--text);font-size:1.0625rem;line-height:1.6;font-feature-settings:"cv11","ss01"}
body.v2 :where(h1,h2,h3){font-family:var(--display);color:var(--ink);font-weight:650;letter-spacing:-.025em}
body.v2 :where(h2){font-size:clamp(1.75rem,3vw,2.375rem);line-height:1.15}
body.v2 :where(h3){font-size:1.125rem;letter-spacing:-.012em;line-height:1.3}
.v2 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.v2 a:hover{text-decoration-color:var(--ink)}
.v2 .site-header a,.v2 .mobile a,.v2 .site-footer a,.v2 .btn,.v2 .v2-btn,.v2 .v2-link,.v2 .v2-res a,.v2 .v2-svc h3 a{text-decoration:none}
/* focus: navy outline plus a soft yellow halo, readable on light and dark */
.v2 :focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px rgba(247,190,42,.45);border-radius:6px}
.v2 .site-footer :focus-visible,.v2 .v2-dark :focus-visible{outline-color:var(--yellow);box-shadow:none}
/* header */
.v2 .site-header{background:rgba(251,250,246,.9);border-bottom:1px solid var(--line)}
.v2 .site-header.scrolled{box-shadow:none}
.v2 .menu a.top{font-weight:500;font-size:.9375rem;color:var(--text)}
.v2 .menu a.top.active{color:var(--ink);font-weight:600}
.v2 .btn{border-radius:var(--r);font-weight:600;box-shadow:none}
.v2 .btn-primary{background:var(--ink);color:#fff}
.v2 .btn-primary:hover{background:var(--blue-dd);color:#fff}
.v2 .btn-secondary{background:var(--card);border-color:var(--line-2)}
.v2 .sub-in{border-radius:var(--r-lg)}
.v2 .sub-col .ic{background:var(--soft);color:var(--ink)}
/* buttons */
.v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--r);font-weight:600;font-size:1rem;border:1px solid transparent;transition:background-color .15s,border-color .15s;white-space:nowrap}
.v2-btn svg{width:18px;height:18px}
.v2-btn-primary{background:var(--ink);color:#fff!important}
.v2-btn-primary:hover{background:var(--blue-dd)}
.v2-btn-secondary{background:var(--card);color:var(--ink);border-color:var(--line-2)}
.v2-btn-secondary:hover{border-color:var(--ink)}
.v2-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9375rem;color:var(--ink)}
.v2-link svg{width:16px;height:16px;transition:transform .15s}
.v2-link:hover svg{transform:translateX(2px)}
.v2-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.v2-eyebrow::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--yellow)}
.v2-tag{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* sections */
.v2-sec{padding:clamp(64px,8vw,104px) 0;border-top:1px solid var(--line)}
.v2-alt{background:var(--soft)}
.v2-head{max-width:640px;margin-bottom:clamp(32px,4vw,48px)}
.v2-head p:not(.v2-eyebrow){color:var(--muted);margin-top:12px;font-size:1.0625rem}
/* hero */
.v2-hero{padding:clamp(56px,8vw,112px) 0 clamp(56px,7vw,96px)}
.v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.v2-hero h1{font-size:clamp(2.375rem,5.2vw,4rem);line-height:1.04;letter-spacing:-.04em;font-weight:700;max-width:13ch}
.v2-lead{font-size:clamp(1.0625rem,1.4vw,1.1875rem);color:var(--muted);margin-top:22px;max-width:56ch}
.v2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.v2-points{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;font-size:.9375rem;color:var(--muted)}
.v2-points li{display:flex;align-items:center;gap:8px}
.v2-points svg{width:16px;height:16px;color:var(--ink);background:var(--yellow-50);border-radius:4px;padding:2px;box-sizing:content-box}
.v2-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.v2-panel-head{padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.v2-panel-k{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.v2-panel h2{font-size:1.25rem;margin-top:6px;letter-spacing:-.015em}
.v2-panel-list{list-style:none;padding:6px 0;margin:0}
.v2-panel-list li{display:flex;gap:14px;padding:14px 24px;align-items:flex-start}
.v2-panel-list li+li{border-top:1px solid var(--line)}
.v2-num{flex:none;width:24px;height:24px;border-radius:6px;border:1px solid var(--line-2);display:grid;place-items:center;font-size:.8125rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.v2-panel-list strong{display:block;font-size:.96875rem;font-weight:600;color:var(--ink)}
.v2-panel-list span:not(.v2-num){display:block;font-size:.875rem;color:var(--muted);margin-top:1px}
.v2-panel-foot{padding:14px 24px;border-top:1px solid var(--line);background:var(--soft);border-radius:0 0 var(--r-lg) var(--r-lg);font-size:.875rem;color:var(--muted)}
/* services */
.v2-svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);overflow:hidden}
.v2-svc{position:relative;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:12px;transition:background-color .15s}
.v2-svc:nth-child(even){border-left:1px solid var(--line)}
.v2-svc:nth-child(n+3){border-top:1px solid var(--line)}
.v2-svc:hover{background:#FDFCF9}
.v2-svc h3{font-size:1.25rem}
.v2-svc h3 a{color:var(--ink)}
.v2-svc h3 a::after{content:"";position:absolute;inset:0}
.v2-svc h3 a:focus-visible{box-shadow:none;outline:0}
.v2-svc:has(h3 a:focus-visible){outline:2px solid var(--ink);outline-offset:-2px;box-shadow:inset 0 0 0 6px rgba(247,190,42,.45)}
.v2-svc>p:not(.v2-tag){color:var(--muted)}
.v2-svc ul{list-style:none;display:grid;gap:8px;margin:4px 0 8px;font-size:.9375rem}
.v2-svc li{display:flex;gap:10px;align-items:flex-start}
.v2-svc li svg{width:16px;height:16px;margin-top:4px;color:var(--yellow-d)}
.v2-svc .v2-link{margin-top:auto}
.v2-more{margin-top:24px;color:var(--muted);font-size:.9375rem}
/* steps */
.v2-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid var(--line-2)}
.v2-steps li{position:relative;padding:28px 32px 0 0}
.v2-steps li::before{content:"";position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--yellow)}
.v2-steps li:not(:last-child)::after{content:"→";position:absolute;right:16px;top:24px;color:var(--muted-2);font-size:1.125rem}
.v2-step-n{display:block;font-size:.8125rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:10px}
.v2-steps p{color:var(--muted);margin-top:8px;font-size:.96875rem;max-width:34ch}
/* about */
.v2-about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,88px);align-items:center}
.v2-photo{margin:0;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--soft);border:1px solid var(--line);max-width:440px}
.v2-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.v2-about h2{max-width:22ch}
.v2-about blockquote{margin:24px 0 0;padding-left:20px;border-left:2px solid var(--yellow)}
.v2-about blockquote p{font-size:1.0625rem;color:var(--text)}
.v2-about blockquote footer{margin-top:14px;font-size:.9375rem}
.v2-about blockquote footer strong{display:block;color:var(--ink)}
.v2-about blockquote footer span{color:var(--muted)}
.v2-facts{margin:28px 0 24px;border-top:1px solid var(--line)}
.v2-facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.v2-facts dt{color:var(--muted)}
.v2-facts dd{margin:0;color:var(--ink)}
/* faq */
.v2-faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,6vw,88px);align-items:start}
.v2-faq-side p:not(.v2-eyebrow){color:var(--muted);margin-top:12px}
.v2-qs{border-top:1px solid var(--line-2)}
.v2-q{border-bottom:1px solid var(--line-2)}
.v2-q summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;font-weight:600;color:var(--ink);font-size:1.03125rem}
.v2-q summary::-webkit-details-marker{display:none}
.v2-plus{position:relative;flex:none;width:14px;height:14px}
.v2-plus::before,.v2-plus::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--ink);border-radius:1px;transition:transform .15s}
.v2-plus::after{transform:rotate(90deg)}
.v2-q[open] .v2-plus::after{transform:rotate(0)}
.v2-q p{padding:0 40px 22px 0;color:var(--muted);font-size:.96875rem}
/* resources */
.v2-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}
.v2-row-head h2{font-size:1.5rem}
.v2-res{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v2-res a{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink);transition:border-color .15s}
.v2-res a:hover{border-color:var(--line-2)}
.v2-res-t{font-weight:600;line-height:1.35}
.v2-res svg{width:16px;height:16px;margin-top:auto;color:var(--muted)}
/* contact */
.v2-contact{background:var(--soft)}
.v2-contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,80px);align-items:start}
.v2-contact-copy p:not(.v2-eyebrow){color:var(--muted);margin:12px 0 24px}
.v2-contact-copy .v2-contact-mail{margin-top:16px;font-size:.9375rem}
.v2 .form-card{border-radius:var(--r-lg);box-shadow:var(--shadow);border-color:var(--line)}
.v2 .form-card h2{font-size:1.25rem}
.v2 .field input,.v2 .field select,.v2 .field textarea{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.v2 .field input:hover,.v2 .field select:hover,.v2 .field textarea:hover{border-color:#B9B3A3}
.v2 .field input:focus,.v2 .field select:focus,.v2 .field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(247,190,42,.45);outline:0}
/* footer stays navy; yellow only on its one button */
.v2 .site-footer{background:var(--ink)}
/* ---- shared components on the inner pages ---- */
.v2 .eyebrow{font-family:var(--display);font-size:.8125rem;font-weight:600;letter-spacing:.06em;color:var(--muted);gap:8px}
.v2 .eyebrow::before{width:8px;height:8px;border-radius:2px}
.v2 .dark .eyebrow{color:#C9D1E6}
body.v2 :where(h1){font-weight:700;letter-spacing:-.035em}
.v2 h4{font-family:var(--display);font-weight:600;color:var(--ink)}
.v2 .lead{color:var(--muted)}
.v2 .link{font-family:var(--display);font-weight:600;color:var(--ink)}
.v2 .dark .link{color:#fff}
.v2 .soft{background:var(--soft)}
.v2 section+section:not(.dark):not(.soft):not(.cta-band){border-top:1px solid var(--line)}
.v2 .page-hero{background:var(--bg);border-bottom:1px solid var(--line)}
.v2 .page-hero h1{font-size:clamp(2.125rem,4.4vw,3.25rem);line-height:1.08;max-width:20ch}
.v2 .crumbs,.v2 .crumbs a{color:var(--muted)}
.v2 .frame,.v2 .page-hero-grid .frame,.v2 .path-head .media,.v2 .split .media,.v2 .article-cover{border-radius:var(--r-lg);box-shadow:none;border:1px solid var(--line);background:var(--soft)}
.v2 .card,.v2 .path,.v2 .post,.v2 .value,.v2 .info,.v2 .step,.v2 .svc-detail .box,.v2 .price-card,.v2 .toc,.v2 .callout{border-radius:var(--r-lg);border-color:var(--line);box-shadow:none}
.v2 .card:hover,.v2 .path:hover,.v2 .post:hover{transform:none;box-shadow:none;border-color:var(--line-2)}
.v2 .path:hover .img img,.v2 .post:hover .thumb img{transform:none}
.v2 .card .ic,.v2 .value .ic,.v2 .info .ic,.v2 .path li .ic,.v2 .jump .ic{background:var(--soft);color:var(--ink);border-radius:var(--r-sm)}
.v2 .path .tag,.v2 .post .cat{background:var(--yellow-50);color:var(--ink);border-radius:4px}
.v2 .checks li svg,.v2 .card li svg{color:var(--ink);background:var(--yellow-50);border-radius:4px}
.v2 .svc-block .num,.v2 .step .n{color:var(--muted);background:transparent;border:1px solid var(--line-2);border-radius:6px}
.v2 .dark .step{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.v2 .dark .step .n{background:var(--yellow);color:var(--ink);border:0}
.v2 .note{border-radius:var(--r);border-color:var(--line);background:var(--soft)}
.v2 .callout{background:var(--soft);border-left:2px solid var(--yellow)}
.v2 .cta-box{border-radius:var(--r-lg)}
.v2 .cta-box::before{content:none}
.v2 .cta-box::after{width:3px}
.v2 .btn-accent{background:var(--yellow);color:var(--ink)}
.v2 .filters button{border-radius:var(--r-sm)}
.v2 .filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.v2 .seg span,.v2 .slots span{border-radius:var(--r-sm)}
.v2 .seg input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.v2 .prose a,.v2 .info a,.v2 .legal a{color:var(--ink)}
.v2 .co-preview{border-radius:var(--r)}
/* calm, no decorative motion: content is visible at once */
.v2 .reveal{opacity:1!important;transform:none!important;transition:none!important}
/* About: text-only top section, heading left, intro and actions right */
.v2 .about-hero{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,88px)}
.v2 .about-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end;margin-top:clamp(24px,3vw,40px)}
.v2 .about-hero h1{max-width:17ch;font-size:clamp(2.25rem,4.6vw,3.5rem)}
.v2 .about-hero-side .lead{margin-top:0;max-width:46ch}
.v2 .about-hero-side .btn-row{margin-top:28px}
/* navy bands and boxes keep light text */
.v2 .foot-bottom a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4)}
.v2 .dark h1,.v2 .dark h2,.v2 .dark h3,.v2 .dark h4,.v2 .cta-box h2,.v2 .cta-box h3{color:#fff}
.v2 .dark p,.v2 .cta-box p{color:var(--on-dark)}
.v2 .btn-outline-light,.v2 .btn-outline-light:hover{color:#fff}
/* responsive */
@media (max-width:980px){
 .v2 .about-hero-grid{grid-template-columns:1fr;align-items:start;gap:20px}
 .v2-hero-grid,.v2-about,.v2-faq,.v2-contact-grid{grid-template-columns:1fr}
 .v2-panel{max-width:560px}
 .v2-photo{max-width:360px}
}
@media (max-width:760px){
 .v2 .about-hero-grid{grid-template-columns:1fr;gap:22px}
 .v2 .about-hero-side .btn-row .btn{flex:1 1 100%}
 .v2-svc-grid{grid-template-columns:1fr}
 .v2-svc:nth-child(even){border-left:0}
 .v2-svc:nth-child(n+2){border-top:1px solid var(--line)}
 .v2-steps{grid-template-columns:1fr;gap:8px}
 .v2-steps li{padding:24px 0 16px}
 .v2-steps li:not(:last-child)::after{content:none}
 .v2-res{grid-template-columns:1fr}
 .v2-facts div{grid-template-columns:1fr;gap:2px}
 .v2-actions .v2-btn{flex:1 1 100%}
 .v2-q p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){.v2 *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===== Type system (one scale for the whole site) ===== */
.v2{--fs-body:1.0625rem;--fs-sm:1rem;--fs-label:.8125rem;--lh-body:1.65;--lh-sm:1.55}
body.v2 :where(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word}
body.v2 :where(p,li,dd,blockquote){text-wrap:pretty;overflow-wrap:break-word}
body.v2 :where(h1){line-height:1.08}
body.v2 :where(h2){line-height:1.15}
body.v2 :where(h3){font-size:1.1875rem;line-height:1.3}
body.v2 :where(main p,main li,main dd,main blockquote){line-height:var(--lh-body)}
/* page titles */
.v2 .page-hero h1,.v2 .article-head h1,.v2 .about-hero h1{font-size:clamp(2.125rem,1.55rem + 2.4vw,3.25rem);line-height:1.08}
.v2 .co-main h1{font-size:clamp(1.875rem,1.5rem + 1.6vw,2.5rem)}
/* labels: small, uppercase, semibold */
.v2 .eyebrow,.v2 .v2-eyebrow,.v2 .v2-tag,.v2 .v2-panel-k,.v2 .tag,.v2 .cat,.v2 main h4{font-size:var(--fs-label);font-weight:600;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}
/* secondary text: 16px */
.v2 main :is(.v2-points,.v2-svc ul,.v2-more,.v2-steps p,.v2-q p,.v2-facts div,.v2-about blockquote footer,.v2-contact-mail,.v2-panel-foot,.v2-panel-list span:not(.v2-num),.v2-link,.form-foot,.side-alt,.meta,.article-meta,.muted,.legal,.terms-box,.co-terms,.co-preview,.secure,.sum-body p,.sum-help,.ph-note,.co-steps,.field label,.field .lbl,.seg span,.note,.crumbs){font-size:var(--fs-sm);line-height:var(--lh-sm)}
.v2 main .v2-q p,.v2 main .legal p,.v2 main .legal li,.v2 main .terms-box p,.v2 main .terms-box li{line-height:var(--lh-body)}
.v2 main :is(.v2-svc li,.price li,.box li,.check li) span{font-size:inherit}
.v2 .note{max-width:75ch}
.v2 .lead,.v2 .v2-lead{max-width:60ch}
.v2 .v2-head p:not(.v2-eyebrow){font-size:var(--fs-body)}
/* readable measure + rhythm in long text */
.v2 .prose{font-size:1.09375rem;line-height:1.75;max-width:68ch}
.v2 .prose h2{font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem);margin-top:2em;margin-bottom:0}
.v2 .prose h3{font-size:1.25rem;margin-top:1.6em}
.v2 .prose :is(h2,h3)+*{margin-top:.6em}
.v2 .prose :is(ul,ol){padding-left:1.4em}
.v2 .prose li>p{margin:0}
.v2 .legal h2{font-size:clamp(1.375rem,1.2rem + .7vw,1.625rem);margin-top:1.8em}
.v2 .legal :is(h2,h3)+*{margin-top:.6em}
.v2 .legal p+p,.v2 .legal p+ul,.v2 .legal ul+p{margin-top:1em}
.v2 .legal li+li{margin-top:.4em}
/* navy surfaces: light text */
.v2 .sum-head h2{color:#fff;font-size:1.375rem}
.v2 .sum-head .eyebrow{color:#C9D1E6}
.v2 .dark p,.v2 .dark li,.v2 .cta-box p{color:var(--on-dark)}
/* no fade/slide on scroll: text is always fully drawn */
.v2 .reveal,.v2 .reveal.in{opacity:1!important;transform:none!important;transition:none!important}
@media (max-width:640px){
 body.v2 :where(h2){font-size:clamp(1.625rem,1.2rem + 2vw,1.875rem)}
 .v2 .prose{font-size:1.0625rem}
}
.v2 main .checks li,.v2 main .success li{font-size:var(--fs-sm);line-height:var(--lh-sm)}
.v2 main .contact-grid p.muted{font-size:var(--fs-sm)}
.v2 .note{max-width:68ch}
.v2 .split p.muted,.v2 .split .lead{max-width:62ch}
.v2 .steps-cta{display:flex;justify-content:center;margin-top:clamp(32px,4vw,44px)}
@media (max-width:560px){.v2 .steps-cta .btn,.v2 .steps-cta .v2-btn{width:100%}}
.v2 ol.steps,.v2 ol.v2-steps{padding-left:0;margin:0}

/* ===== Refinement: readability, rhythm, services, panel, portrait ===== */
.v2{--text:#1A2138;--muted:#3B4462;--muted-2:#465070;--fs-body:1.0625rem;--fs-sm:1rem;--lh-body:1.7}
body.v2{color:var(--text);font-size:var(--fs-body)}
body.v2 :where(h2){font-size:clamp(1.75rem,1.4rem + 1.5vw,2.375rem);font-weight:700}
body.v2 :where(h3){font-size:clamp(1.1875rem,1.1rem + .3vw,1.3125rem);font-weight:650;color:var(--ink)}
.v2 main :where(p,li,dd){color:var(--text)}
.v2 .muted,.v2 .v2-head p:not(.v2-eyebrow),.v2 .v2-lead,.v2 .lead{color:var(--muted)}
/* section rhythm: one scale on desktop and mobile */
.v2{--sec:clamp(48px,6vw,80px)}
.v2 main>section:not([class*="hero"]),.v2-sec{padding:var(--sec) 0}
.v2 .v2-hero{padding-bottom:var(--sec)}
.v2-head{margin-bottom:clamp(24px,3vw,36px)}
.v2 .page-hero{padding:clamp(32px,4vw,56px) 0 clamp(36px,5vw,60px)}
.v2 .about-hero{padding:clamp(32px,4vw,56px) 0 clamp(40px,5vw,64px)}
/* FAQs */
.v2-q summary{font-size:1.0625rem;padding:18px 0;line-height:1.45}
.v2 main .v2-q p,.v2 .faq .a{font-size:1rem;color:var(--text);line-height:1.7}
.v2 .faq summary{font-size:1.0625rem}
/* forms */
.v2 .field label,.v2 .field>span{font-size:.9375rem;font-weight:600;color:var(--ink)}
.v2 .field input,.v2 .field select,.v2 .field textarea{font-size:1rem;color:var(--text);border-color:#C9C3B4}
.v2 .field input::placeholder,.v2 .field textarea::placeholder{color:#6A7290}
.v2 .form-foot,.v2 .help,.v2 .field small{color:var(--muted)}
/* four services: separate cards, icon + stronger heading */
.v2-svc-grid{gap:16px;border:0;background:none;border-radius:0;overflow:visible}
.v2-svc{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-lg);border-top:3px solid var(--ink);padding:clamp(22px,2.6vw,30px)}
.v2-svc:nth-child(even),.v2-svc:nth-child(n+3){border-left:1px solid var(--line-2);border-top:3px solid var(--ink)}
.v2-svc:hover{border-color:var(--ink);background:var(--card)}
.v2-svc-top{display:flex;align-items:center;gap:12px}
.v2-ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--ink);color:var(--yellow);flex:none}
.v2-ic svg{width:22px;height:22px}
.v2-svc h3{font-size:clamp(1.25rem,1.15rem + .4vw,1.4375rem);font-weight:700}
.v2-svc>p:not(.v2-tag){color:var(--text)}
.v2 main .v2-svc ul{font-size:1rem;color:var(--text)}
.v2 .svc-block h3{font-size:clamp(1.375rem,1.2rem + .7vw,1.625rem);font-weight:700}
.v2 .svc-detail .box{border:1px solid var(--line)}
/* proposal panel: short and scannable */
.v2-panel-list{padding:4px 0}
.v2-panel-list li{align-items:center;padding:12px 24px}
.v2-panel-list strong{font-size:1rem}
.v2-panel-foot{color:var(--text)}
/* founder portrait */
.v2-about{align-items:start;grid-template-columns:minmax(0,380px) minmax(0,1fr)}
.v2-photo{aspect-ratio:5/6;max-width:380px;width:100%;box-shadow:var(--shadow)}
.v2-photo img{object-position:38% 18%}
.v2-about-copy{padding-top:4px}
.v2-about blockquote p{color:var(--text)}
@media (max-width:900px){
 .v2-about{grid-template-columns:1fr;gap:28px}
 .v2-photo{max-width:340px}
 .v2-svc-grid{grid-template-columns:1fr;gap:12px}
}
.v2 main .price-side :is(p,li,span,dd){color:#DCE3F3}
.v2 main .price-side a:not(.btn){color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.v2 main :is(.v2-dark,.dark,.step,.cta-band) :is(p,li,dd){color:#DCE3F3}
.form-privacy{font-size:.875rem;color:#4a5068;margin:16px 0 0}.form-privacy a{text-decoration:underline}
.about-svcs{list-style:none;padding:0;margin:0;display:grid;gap:16px}.about-svcs li{font-size:1.0625rem;line-height:1.6}.about-svcs strong{display:block;color:var(--navy,#0b1a3a)}
/* LLC get-started section */
.v2 .llc-start{padding:48px 0 0}
.v2 .llc-start-box{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:32px;display:grid;gap:20px}
.v2 .llc-start-box h2{margin-top:6px}
.v2 .llc-start-box p{margin-top:8px;max-width:62ch}
.v2 .llc-start .btn svg{width:18px;height:18px}
.v2 .llc-start .is-pending{opacity:.45;cursor:not-allowed}
.v2 .llc-privacy{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm);color:#4A5268;margin:0 !important}
.v2 .llc-privacy svg{width:18px;height:18px;flex:none;margin-top:3px}
/* Starting-at pricing (service pages, services page, homepage bundle) */
.v2 .pricing-sec{padding:var(--sec) 0}
.v2 .pricing-sec .sec-head{margin-bottom:32px}
.v2 .plans{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.v2 .plans.n1{max-width:520px}
.v2 .plan{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.v2 .plan h3{margin:0}
.v2 .plan .checks{flex:1;margin:0}
.v2 .plan .btn{margin-top:8px}
.v2 .plan-lead{margin:0;font-weight:600;color:var(--ink);font-size:var(--fs-sm)}
.v2 .plan-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0}
.v2 .plan-price .from{flex-basis:100%;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.v2 .plan-price .amt{font-size:2.25rem;font-weight:700;line-height:1.1;color:var(--ink);letter-spacing:-.02em}
.v2 .plan-price .per,.v2 .plan-price .save{color:var(--muted);font-size:var(--fs-sm)}
.v2 .plan-price .save{flex-basis:100%;color:var(--ink);font-weight:600}
.v2 .plans-foot{margin-top:24px;display:grid;gap:12px}
.v2 .fees-note{margin:0;padding:14px 16px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r);font-size:var(--fs-sm);color:var(--text)}
.v2 .custom-work{margin:0;font-size:var(--fs-sm);color:var(--text)}
.v2 .custom-work .link{margin-left:4px;white-space:nowrap}
.v2 .price-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.v2 .price-list li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.v2 .price-list strong{color:var(--ink);white-space:nowrap}
.v2 .price-more{margin-top:12px}
.v2 .bundle-sec{padding:var(--sec) 0 0}
.v2 .bundle{display:grid;grid-template-columns:1fr minmax(240px,300px);gap:32px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:var(--r-lg);padding:32px;margin-bottom:16px}
.v2 .bundle h2{margin:6px 0 10px}
.v2 .bundle p{margin:0}
.v2 .bundle-side{display:grid;gap:16px}
.v2 .custom-sec{padding:16px 0 var(--sec)}
@media (max-width:760px){.v2 .bundle{grid-template-columns:1fr;padding:24px}.v2 .plan{padding:24px}}
/* Phone + WhatsApp (header, mobile menu, footer, contact) */
.wa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r);background:#1A8D47;color:#fff!important;font-weight:600;font-size:.9375rem;line-height:1;white-space:nowrap;text-decoration:none}
.wa-btn:hover{background:#157A3C}
.wa-btn:focus-visible,.hdr-phone:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.wa-ic{width:20px;height:20px;flex:none}
.nav-cta{gap:10px}
.hdr-phone{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ink);font-weight:600;font-size:.9375rem;white-space:nowrap;text-decoration:none}
.hdr-phone svg{width:18px;height:18px;flex:none}
.wa-hdr{min-height:40px;padding:0 14px}
.wa-short{display:none}
@media (max-width:1279px){.hdr-phone-n{display:none}.hdr-phone{width:40px;height:40px;justify-content:center;border:1px solid var(--line);border-radius:var(--r);background:#fff}}
@media (max-width:1180px) and (min-width:1021px){.wa-hdr .wa-full{display:none}.wa-hdr .wa-short{display:inline}}
@media (max-width:1020px){.hdr-phone{width:44px;height:44px}.wa-hdr{min-height:44px;padding:0 12px}.wa-hdr .wa-full{display:none}.wa-hdr .wa-short{display:inline}}
@media (max-width:370px){.wa-hdr .wa-short{display:none}.wa-hdr{width:44px;padding:0}.nav-cta{gap:6px}}
.m-reach{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.m-reach .wa-btn{flex:1 1 100%;min-height:48px}
.mobile .m-reach .m-phone{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);border:0;padding:10px 0}
.m-phone svg{width:18px;height:18px}
.foot address .foot-wa{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:0 12px;min-height:40px;border-radius:var(--r);background:#1A8D47;color:#fff}
.foot address .foot-wa .wa-ic{width:18px;height:18px}
.reach-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:20px 0 8px}
.reach-row .wa-btn{min-height:48px;padding:0 20px}
.reach-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none}
.reach-phone svg{width:20px;height:20px}
/* Lead magnet: New Trucker Startup Checklist */
.v2 .lm-sec{padding:var(--sec) 0}
.v2 .lm{display:grid;grid-template-columns:auto 1fr minmax(260px,340px);gap:28px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:36px}
.v2 .lm h2{color:#fff;margin:4px 0 8px}
.v2 .lm .lm-copy p{margin:0;color:rgba(255,255,255,.85)}
.v2 .lm .lm-k{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--yellow)!important}
.v2 .lm-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--r);background:var(--yellow);color:var(--ink)}
.v2 .lm-ic svg{width:32px;height:32px}
.v2 .lm-ic.sm{width:44px;height:44px}.v2 .lm-ic.sm svg{width:24px;height:24px}
.v2 .lm-act{display:grid;gap:10px}
.v2 .lm-act .btn{width:100%}
.v2 .lm-fine{margin:0;font-size:.875rem;line-height:1.45}
.v2 .lm .lm-fine{color:rgba(255,255,255,.75)}
.v2 .is-pending{opacity:.5;cursor:not-allowed}
.v2 .lm-band{padding:32px 0 0}
.v2 .lm-strip{display:grid;grid-template-columns:auto 1fr minmax(240px,300px);gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:var(--r-lg);padding:20px 24px}
.v2 .lm-strip .lm-copy{display:grid;gap:4px}
.v2 .lm-strip .lm-copy strong{color:var(--ink);font-size:1.125rem}
.v2 .lm-strip .lm-copy span{color:var(--muted);font-size:var(--fs-sm)}
.v2 .lm-strip .lm-fine{color:var(--muted)}
.v2 .lm-sec .co-preview,.v2 .lm-band .co-preview{margin-top:10px}
@media (max-width:900px){.v2 .lm,.v2 .lm-strip{grid-template-columns:1fr;gap:16px}.v2 .lm{padding:28px 22px}}

/* checklist sign-up dialog */
.lm-dlg{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:var(--r-lg);padding:32px 28px 26px;box-shadow:var(--shadow-lg);color:var(--text);overflow:auto}
.lm-dlg::backdrop{background:rgba(10,21,48,.6)}
.lm-dlg h2{font-size:1.5rem;margin:4px 0 6px}
.lm-dlg .lm-k{margin:0;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue-d)}
.lm-dlg .lm-sub{margin:0 0 18px;color:var(--muted);font-size:1rem}
.lm-dlg form{display:grid;gap:14px}
.lm-dlg .btn{width:100%}
.lm-dlg .lm-fine{margin:0;font-size:.875rem;line-height:1.45;color:var(--muted-2);text-align:center}
.lm-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;border-radius:50%;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.lm-x:hover{background:var(--soft)}.lm-x svg{width:22px;height:22px}
.lm-opt{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:var(--text);cursor:pointer;line-height:1.4}
.lm-opt input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--blue)}
.lm-err{display:none;margin:0;padding:10px 14px;border-radius:var(--r-sm);background:#FEF3F2;color:#B42318;font-size:.9375rem}.lm-err.show{display:block}
.lm-done{text-align:center;display:grid;gap:4px;justify-items:center;outline:none}
.lm-done[hidden]{display:none}
.lm-ok{width:60px;height:60px;border-radius:50%;background:#E7F6EC;color:#127A3A;display:grid;place-items:center;margin-bottom:8px}.lm-ok svg{width:30px;height:30px}
.lm-done .btn{margin:6px 0 10px}
.lm-done .lm-fine a{color:var(--blue-d);font-weight:600}
