/* TAXLAB — stafflab-family editorial layout: serif display with italic accent, mono eyebrows "— Label",
   numbered rows on hairlines, dark ink bands, one orange accent (the check from the logo). Light theme by design. */
:root{
  --paper:#F6F5F1; --card:#FFFFFF; --ink:#1A1D21; --muted:#5F6368; --rule:#DEDBD3;
  --band:#1F2B3A; --band-deep:#151E29; --band-fg:#F2F0EC; --band-muted:#A9B3C0; --band-rule:#2E3C4F;
  --accent:#F47A20; --accent-text:#B4520A; --accent-hover:#E0701D;
  --display:"Instrument Serif","Lora",Georgia,"Times New Roman",serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr-only:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;clip:auto;z-index:50;background:var(--card);padding:8px 12px}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin:0}
h1 em,h2 em,h3 em{font-style:italic;color:var(--accent-text)}
.band h1 em,.band h2 em{color:var(--accent)}
p{margin:0}
.eyebrow{display:block;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.band .eyebrow{color:var(--band-muted)}
.placeholder-tag{display:inline-block;font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--rule);padding:2px 6px;border-radius:4px;width:max-content}
.band .placeholder-tag{color:var(--band-muted);border-color:var(--band-rule)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:13px 22px;border-radius:999px;border:1px solid var(--ink);font:600 15px/1.2 var(--body);text-decoration:none;cursor:pointer;user-select:none;touch-action:manipulation;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.btn-light{background:var(--band-fg);border-color:var(--band-fg);color:var(--band)}
.btn-outline-light{background:transparent;border-color:var(--band-fg);color:var(--band-fg)}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:var(--band);border-color:var(--band)}
  .btn-ghost:hover{background:var(--ink);color:var(--paper)}
  .btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
  .btn-light:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
  .btn-outline-light:hover{background:rgba(255,255,255,.08)}
}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.logo-link{flex-shrink:0;display:block;margin-left:-10px}
.logo-link img{height:50px;width:auto}
.nav{display:none;gap:26px;font-size:14px;font-weight:500}
.nav a{text-decoration:none;color:var(--muted);transition:color 150ms ease}
.nav a[aria-current="page"]{color:var(--ink)}
@media (hover:hover) and (pointer:fine){.nav a:hover{color:var(--ink)}}
.tools{display:flex;align-items:center;gap:14px}
.lang{display:none;gap:2px;font:500 12px var(--mono)}
.lang a{padding:4px 7px;border-radius:6px;color:var(--muted);text-decoration:none}
.lang a[aria-current="true"]{background:var(--ink);color:var(--paper)}
@media (hover:hover) and (pointer:fine){.lang a:not([aria-current]):hover{color:var(--ink)}}
.tools .btn{min-height:40px;padding:9px 16px;font-size:14px}
.menu-btn{all:unset;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;border-radius:8px}
.menu-btn:focus-visible{outline:2px solid var(--accent)}
.menu-btn .bars{display:block;width:22px;height:2px;background:var(--ink);box-shadow:0 7px 0 var(--ink),0 -7px 0 var(--ink)}
.mobile-nav{border-top:1px solid var(--rule)}
.mobile-nav .wrap{display:grid;padding-block:8px 20px}
.mobile-nav a.m{display:block;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-weight:500}
.mobile-nav .lang{display:flex;margin-top:16px}
@media (min-width:1000px){.nav,.lang{display:flex}.menu-btn,.mobile-nav{display:none!important}}
@media (max-width:480px){.tools .btn{display:none}}

/* Hero */
.hero{padding-block:clamp(48px,8vw,104px) 0}
.hero h1{font-size:clamp(56px,11vw,148px);margin-top:20px;line-height:.95}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;margin-top:44px;align-items:end}
.hero .lead{font-size:18px;max-width:50ch;margin-bottom:26px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.stat{padding:18px 14px 0 0;min-width:0}
.stat+.stat{padding-left:14px;border-left:1px solid var(--rule)}
.stat .n{font:400 44px/1 var(--display)}
.stat .l{font-size:13px;line-height:1.4;color:var(--muted);margin-top:8px}
.stat .placeholder-tag{margin-top:8px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.ticker{border-block:1px solid var(--rule);overflow:hidden;padding-block:16px;margin-top:56px}
.ticker .row{display:flex;gap:44px;white-space:nowrap;font:500 13px var(--mono);color:var(--muted);animation:slide 40s linear infinite;width:max-content}
@keyframes slide{to{transform:translateX(-50%)}}

/* Sections */
.s{padding-block:clamp(64px,9vw,112px)}
.s-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.s-head h2{font-size:clamp(38px,5.6vw,68px);margin-top:14px;max-width:16ch}
.s-head p{max-width:42ch;color:var(--muted)}
.band{background:var(--band);color:var(--band-fg)}
.band .muted,.band p.muted{color:var(--band-muted)}
.muted{color:var(--muted)}

/* Services grid */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.svc a{display:flex;flex-direction:column;gap:10px;padding:26px 24px 30px 0;text-decoration:none;border-bottom:1px solid var(--rule);min-width:0}
.svc a:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--rule)}
.svc .k{font:500 12px var(--mono);color:var(--muted)}
.svc h3{font-size:30px;transition:color 200ms ease}
.svc p{color:var(--muted);font-size:15px}
.svc .go{margin-top:auto;font-weight:600;font-size:14px;display:inline-block;transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.svc a:hover h3{color:var(--accent-text)}.svc a:hover .go{transform:translateX(4px)}}
@media (max-width:900px){.svc{grid-template-columns:1fr}.svc a,.svc a:not(:nth-child(3n+1)){padding:24px 0;border-left:0}}

/* Check motif */
.check{flex-shrink:0;width:18px;height:14px;overflow:visible}
.check path{fill:none;stroke:var(--accent);stroke-width:12;stroke-linejoin:miter;stroke-miterlimit:10}
.draw .check path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 500ms var(--ease-out);transition-delay:var(--d,0ms)}
.draw.pre .check path{stroke-dashoffset:1}

/* Workers band */
.niche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.niche h2{font-size:clamp(38px,5.2vw,62px);margin-top:14px}
.niche p{max-width:50ch;margin-top:18px}
.ledger{list-style:none;margin:0;padding:0;border:1px solid var(--band-rule);border-radius:14px;overflow:hidden}
.ledger li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--band-rule);font-size:15px}
.ledger li:last-child{border-bottom:0}
.ledger .note{font:400 13px/1.5 var(--mono);color:var(--band-muted);background:rgba(255,255,255,.03)}
@media (max-width:860px){.niche{grid-template-columns:1fr}}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.step{border-top:1px solid var(--ink);padding-top:18px;min-width:0}
.step .k{display:flex;align-items:center;gap:10px;font:500 12px var(--mono);color:var(--muted)}
.step h3{font-size:28px;margin:10px 0 8px}
.step p{color:var(--muted);font-size:15px}
.step .filed{display:inline-flex;gap:8px;align-items:center;margin-top:12px;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}} @media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:border-color 200ms ease}
.plan.hl{border-color:var(--ink);box-shadow:inset 0 3px 0 var(--accent)}
.plan .name{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.plan .price{font:400 52px/1 var(--display);font-variant-numeric:tabular-nums}
.plan .price small{font:500 14px var(--body);color:var(--muted)}
.plan .fit{font-size:14px;color:var(--muted)}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.plan li{display:flex;gap:12px;align-items:flex-start}
.plan li .check{margin-top:6px}
.plan .btn{margin-top:auto}
@media (hover:hover) and (pointer:fine){.plan:hover{border-color:var(--ink)}}
@media (max-width:900px){.plans{grid-template-columns:1fr}}
.note{font-size:13px;color:var(--muted);margin-top:18px}

/* About + quote */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.about h2{font-size:clamp(38px,5vw,60px);margin-top:14px}
.about p.text{color:var(--muted);margin-top:18px;max-width:50ch}
.quote{margin:0;background:var(--card);border:1px dashed #C9C4BB;border-radius:16px;padding:32px;display:grid;gap:16px}
.quote blockquote{margin:0;font:italic 400 28px/1.25 var(--display);color:var(--muted)}
.quote figcaption{font-size:14px;color:var(--muted)}
@media (max-width:860px){.about{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:56px}
.faq h2{font-size:clamp(38px,5vw,60px);margin-top:14px}
.faq details{border-top:1px solid var(--rule);padding-block:18px}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 28px/0.8 var(--display);color:var(--accent-text);transition:transform 200ms var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--muted);max-width:62ch}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content{height:0;opacity:0;overflow:clip;transition:height 260ms var(--ease-out),opacity 200ms ease,content-visibility 260ms allow-discrete}
  .faq details[open]::details-content{height:auto;opacity:1}
}
@media (max-width:860px){.faq{grid-template-columns:1fr;gap:24px}}

/* Contact band */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
.contact h2{font-size:clamp(40px,6vw,76px);margin-top:14px}
.contact dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 22px;margin:30px 0 0;font-size:15px}
.contact dt{font:500 12px var(--mono);color:var(--band-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:3px}
.contact dd{margin:0;overflow-wrap:anywhere}
.contact dd a{color:var(--band-fg)}
.contact .next{margin-top:40px}
.contact .next h3{font-size:26px;margin-bottom:14px}
.contact .next ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.contact .next li{display:flex;gap:12px;align-items:flex-start}
.contact .next li .check{margin-top:6px}
.form{display:grid;gap:14px;align-content:start}
.form label{font:500 12px var(--mono);color:var(--band-muted);text-transform:uppercase;letter-spacing:.06em}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;background:transparent;color:var(--band-fg);border:0;border-bottom:1px solid #FFFFFF40;border-radius:0;padding:10px 0 12px;font:400 16px var(--body)}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:0;border-bottom-color:var(--accent)}
.form select option{color:#1A1D21}
.form textarea{min-height:90px;resize:vertical}
.form .consent{display:flex;gap:12px;align-items:flex-start;font:400 13px/1.5 var(--body);text-transform:none;letter-spacing:0;color:var(--band-muted)}
.form .consent input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--accent)}
.form .btn{justify-self:start;margin-top:8px}
.form .error{color:#FF9A8A;font-size:14px}
.form-done{display:flex;gap:10px;align-items:center;font-weight:600;transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out)}
@starting-style{.form-done{opacity:0;transform:translateY(6px)}}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

/* Eco */
.eco{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.eco a,.eco div{display:block;border:1px solid var(--rule);border-radius:14px;padding:22px;min-width:0;text-decoration:none;transition:border-color 200ms ease}
.eco .me{border-color:var(--ink);background:var(--card)}
.eco .wm{font:400 30px/1 var(--display)}
.eco .wm b{font-weight:400;font-style:italic;color:var(--accent-text)}
.eco p{margin-top:10px;color:var(--muted);font-size:14px}
@media (hover:hover) and (pointer:fine){.eco a:hover{border-color:var(--ink)}}
@media (max-width:760px){.eco{grid-template-columns:1fr}}

/* Inner pages */
.page-hero{padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px)}
.page-hero h1{font-size:clamp(48px,8vw,104px);margin-top:20px}
.page-hero p{max-width:56ch;margin-top:22px;font-size:18px;color:var(--muted)}
.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;padding-block:44px;border-top:1px solid var(--rule);scroll-margin-top:90px}
.detail:first-child{border-top:1px solid var(--ink)}
.detail h2{font-size:clamp(34px,4.4vw,52px);margin-top:12px}
.detail .long{color:var(--muted);margin-top:16px;max-width:46ch}
.meta-rows{margin-top:24px;font-size:15px}
.meta-rows div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--rule)}
.meta-rows span:first-child{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:2px}
.meta-rows span:last-child{text-align:right}
.detail h3{font-size:26px;margin-bottom:18px}
.detail ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.detail li{display:flex;gap:12px;align-items:flex-start}
.detail li .check{margin-top:6px}
.detail .btn{margin-top:28px}
@media (max-width:860px){.detail{grid-template-columns:1fr;gap:28px}}

/* Footer */
.site-footer{border-top:1px solid var(--rule);padding-block:44px 32px;font-size:14px;color:var(--muted)}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.foot img{height:52px;width:auto;margin-left:-10px}
.foot address{font-style:normal;margin-top:14px;line-height:1.6}
.foot h2{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{text-decoration:none}
@media (hover:hover) and (pointer:fine){.foot a:hover{color:var(--ink);text-decoration:underline}}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:36px;padding-top:20px;border-top:1px solid var(--rule)}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}

/* Motion: one orchestrated hero entrance, scroll reveal for content below the fold */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero>*{animation:rise 700ms var(--ease-out) both}
.hero>:nth-child(2){animation-delay:70ms}.hero>:nth-child(3){animation-delay:140ms}.hero>:nth-child(4){animation-delay:210ms}
.stat{animation:rise 600ms var(--ease-out) both}
.stat:nth-child(1){animation-delay:260ms}.stat:nth-child(2){animation-delay:320ms}.stat:nth-child(3){animation-delay:380ms}
.reveal{transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);transition-delay:var(--rd,0ms)}
.reveal.pre{opacity:0;transform:translateY(16px)}
@media (prefers-reduced-motion:reduce){
  .hero>*,.stat{animation:none}
  .ticker .row{animation:none}
  .reveal,.reveal.pre{transform:none}.reveal{transition:opacity 300ms ease}
  .draw .check path,.draw.pre .check path{transition:none;stroke-dashoffset:0}
  .btn:active{transform:none}
  .svc .go,.faq summary::after,.form-done{transition:none}
}
@media (hover:hover) and (pointer:fine){.ticker:hover .row{animation-play-state:paused}}

/* One-off price list */
.pricelist{margin-top:40px;border-top:1px solid var(--ink)}
.pricelist h3{font-size:30px;padding-block:22px 6px}
.pricelist ul{list-style:none;margin:0;padding:0}
.pricelist li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:16px}
.pricelist li a{text-decoration:none;font-weight:500}
@media (hover:hover) and (pointer:fine){.pricelist li a:hover{color:var(--accent-text)}}
.pricelist .pv{font:400 26px/1 var(--display);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.pricelist .pv small{font:500 13px var(--body);color:var(--muted)}
.pricelist .fees{display:block;font:500 12px var(--mono);color:var(--muted);margin-top:4px}
@media (max-width:560px){.pricelist li{flex-direction:column;gap:6px}.pricelist .pv{text-align:left;white-space:normal}}

/* ---------- Breadcrumbs ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none}
@media (hover:hover) and (pointer:fine){.crumbs a:hover{color:var(--ink)}}
.page-hero h1{margin-top:22px}
.article-title{font-size:clamp(40px,6vw,76px)!important;max-width:18ch}

/* ---------- Services overview rows ---------- */
.srows{border-top:1px solid var(--ink)}
.srow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.srow .k{font:500 12px var(--mono);color:var(--muted);padding-top:10px}
.srow h2{font-size:clamp(28px,3.4vw,40px)}
.srow p{color:var(--muted);margin-top:8px;max-width:60ch}
.srow .sp{text-align:right;font:400 24px/1.2 var(--display);white-space:nowrap}
.srow .go{display:block;margin-top:10px;font:600 14px var(--body);transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.srow:hover h2{color:var(--accent-text)}.srow:hover .go{transform:translateX(4px)}}
@media (max-width:760px){.srow{grid-template-columns:1fr;gap:8px}.srow .sp{text-align:left;white-space:normal}}

/* ---------- Service page ---------- */
.svc-page{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:start}
.svc-main .intro{font-size:19px;line-height:1.6;max-width:60ch}
.svc-main h2{font-size:clamp(30px,3.6vw,44px);margin:44px 0 18px}
.biglist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.biglist li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--rule);font-size:17px}
.biglist .check{margin-top:7px}
.svc-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 88px);display:grid;gap:22px}
.pricecard{background:var(--card);border:1px solid var(--ink);border-radius:16px;padding:26px;display:grid;gap:14px;box-shadow:inset 0 3px 0 var(--accent)}
.pricecard .pc{font:400 34px/1.15 var(--display)}
.pricecard .btn{justify-self:stretch}
.small{font-size:13px}
.others ul{list-style:none;margin:12px 0 0;padding:0;display:grid}
.others a{display:block;padding:10px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:15px}
@media (hover:hover) and (pointer:fine){.others a:hover{color:var(--accent-text)}}
.rel{display:grid;gap:6px;margin-top:36px;padding:20px 22px;border:1px solid var(--rule);border-radius:14px;text-decoration:none;background:var(--card);transition:border-color 200ms ease}
.rel .rt{font:400 24px/1.25 var(--display)}
@media (hover:hover) and (pointer:fine){.rel:hover{border-color:var(--ink)}}
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.proc li{display:grid;gap:10px;border-top:1px solid var(--ink);padding-top:18px}
.proc .k{font:500 12px var(--mono);color:var(--accent-text)}
.proc h3{font-size:26px}
.proc p{color:var(--muted);font-size:15px}
@media (max-width:900px){.svc-page{grid-template-columns:1fr}.svc-side{position:static}.proc{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.proc{grid-template-columns:1fr}}

/* ---------- Blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.post{display:flex;flex-direction:column;gap:12px;padding:28px 24px 32px 0;border-bottom:1px solid var(--rule);text-decoration:none;min-width:0}
.post:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--rule)}
.post .k{font:500 12px var(--mono);color:var(--muted)}
.post h2{font-size:30px;line-height:1.08;transition:color 200ms ease}
.post p{color:var(--muted);font-size:15px}
.post .go{margin-top:auto;font-weight:600;font-size:14px;transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.post:hover h2{color:var(--accent-text)}.post:hover .go{transform:translateX(4px)}}
@media (max-width:900px){.posts{grid-template-columns:1fr}.post,.post:not(:nth-child(3n+1)){padding:24px 0;border-left:0}}
.prose{max-width:720px;padding-bottom:72px}
.prose h2{font-size:clamp(28px,3.4vw,38px);margin:40px 0 14px}
.prose p{font-size:18px;line-height:1.7;margin:0 0 14px}
.prose ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.prose li{display:flex;gap:12px;align-items:flex-start;font-size:17px}
.prose li .check{margin-top:7px}
.note-box{margin-top:32px!important;padding:16px 18px;border-left:3px solid var(--accent);background:var(--card);font-size:15px!important;color:var(--muted)}
.legal h2{font-size:28px}

/* ---------- Calculator ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin-top:28px;border:1px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--card)}
.calc-in{padding:28px;display:grid;gap:10px;align-content:start}
.calc-in h3{font-size:clamp(28px,3.2vw,40px);margin:6px 0 14px}
.c-field{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;margin-top:8px}
.c-field output{font:400 28px/1 var(--display)}
.calc input[type=range]{width:100%;accent-color:var(--accent);height:28px}
.c-check{display:flex;gap:10px;align-items:center;font-size:15px;margin-top:10px;cursor:pointer}
.c-check input{width:18px;height:18px;accent-color:var(--accent)}
.calc-out{background:var(--band);color:var(--band-fg);padding:28px;display:grid;gap:10px;align-content:start}
.calc-out .eyebrow{color:var(--band-muted)}
.c-plan{font:400 34px/1 var(--display);margin-top:6px}
.c-price .c-sum{font:400 64px/1 var(--display)}
.c-price small{color:var(--band-muted);font-size:14px}
.c-note{color:var(--band-muted);font-size:14px;min-height:1.4em}
.c-cta{justify-self:start;margin-top:8px}
@media (max-width:860px){.calc{grid-template-columns:1fr}}

/* ---------- Team ---------- */
.team h3{font-size:clamp(30px,3.6vw,44px);margin:14px 0 20px}
.team ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.person{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:18px}
.person img,.avatar{width:72px;height:72px;border-radius:50%;flex-shrink:0;object-fit:cover}
.avatar{display:grid;place-items:center;background:var(--band);color:var(--band-fg);font:400 26px var(--display)}
.pname{font-weight:600;font-size:17px}
.prole{color:var(--muted);font-size:14px}
.cert{display:flex;gap:8px;align-items:center;font:500 12px/1.4 var(--mono);color:var(--muted);margin-top:6px}

/* ---------- Lead magnet ---------- */
.leadbox{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;padding:36px;border-radius:20px;background:var(--card);border:1px solid var(--rule);box-shadow:inset 0 3px 0 var(--accent)}
.leadbox h2{font-size:clamp(34px,4.4vw,54px);margin:14px 0 12px}
.lead label{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.lead-row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.lead-row input{flex:1 1 220px;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:999px;padding:0 18px;font:400 16px var(--body);background:var(--paper)}
.lead-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.lead input[aria-invalid=true]{border-color:#C2321F}
.lead-done{display:flex;gap:10px;align-items:center;font-weight:600;margin-top:12px}
.lead-done a{color:var(--accent-text)}
@media (max-width:860px){.leadbox{grid-template-columns:1fr;padding:26px}}

/* ---------- Honeypot ---------- */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Floating chat ---------- */
.chat{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:grid;gap:10px}
.chat-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform 160ms var(--ease-out);-webkit-tap-highlight-color:transparent}
.chat-btn svg{width:26px;height:26px}
.chat-btn.wa{background:#1DA851}
.chat-btn.tg{background:#229ED9}
.chat-btn:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.chat-btn:hover{transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.chat-btn,.srow .go,.post .go{transition:none}}

/* ---------- Mobile fixes ---------- */
h1,h2,h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.page-hero h1{font-size:clamp(36px,9.5vw,104px)}
.hero h1{font-size:clamp(52px,14vw,148px)}
.faq details{padding-block:6px}
.faq summary{padding-block:12px;min-height:48px;align-items:center}
.faq summary>span{min-width:0;flex:1}
.faq details p{margin-top:2px;padding-bottom:12px}
.calc input[type=range]{height:44px}
.c-check{min-height:44px}
.c-check input{width:22px;height:22px}
.foot-bottom a{display:inline-block;padding-block:12px;margin-block:-12px}
@media (max-width:560px){
  .s{padding-block:56px}
  .s-head{margin-bottom:28px}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat .n{font-size:36px}
  .stat .l{font-size:12px}
  .plan{padding:22px}
  .calc-in,.calc-out{padding:22px}
  .c-price .c-sum{font-size:52px}
  .pricecard .pc{font-size:28px}
  .ctas .btn{flex:1 1 auto}
  .chat{gap:8px}
  .chat-btn{width:48px;height:48px}
  .site-footer{padding-bottom:96px}
}
@media (max-width:560px){.page-hero h1{font-size:clamp(30px,8.4vw,104px)}.article-title{font-size:clamp(30px,8.4vw,76px)!important}}
/* Wide tables in guides scroll inside themselves on phones */
.prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;font-size:15px}
.prose th,.prose td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.1);text-align:left;vertical-align:top}
@media (max-width:640px){.prose table{font-size:13.5px}.prose th,.prose td{padding:7px 8px}}
/* Additional services: compact two-column list */
.pricelist.extras>p{margin:0 0 8px;max-width:60ch}
.pricelist.extras .pv{font-size:20px}
@media (min-width:900px){.pricelist.extras ul{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}}
.svc-main .pricelist.extras{margin-top:48px}
@media (min-width:900px){.svc-main .pricelist.extras ul{grid-template-columns:1fr}}
.pricelist .pv small.free{font:600 15px var(--body);color:var(--accent-text)}
/* Additional services as a disclosure */
details.extras{margin-top:40px}
details.extras>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule);min-height:48px}
details.extras>summary::-webkit-details-marker{display:none}
details.extras .ex-head{display:grid;gap:6px}
details.extras .ex-title{font-size:30px;margin:0;padding:0}
details.extras .ex-teaser{font-size:15px;color:var(--muted)}
details.extras .ex-count{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
details.extras .ex-chev{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;position:relative;transition:background-color .2s,color .2s}
details.extras .ex-chev::before,details.extras .ex-chev::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
details.extras .ex-chev::after{transform:translate(-50%,-50%) rotate(90deg)}
details.extras[open]:not(.is-closing) .ex-chev::after{transform:translate(-50%,-50%) rotate(0deg)}
details.extras[open]:not(.is-closing) .ex-chev{background:var(--ink);color:var(--bg)}
@media (hover:hover) and (pointer:fine){details.extras>summary:hover .ex-title{color:var(--accent-text)}}
details.extras>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
details.extras .ex-body{overflow:hidden}
details.extras .ex-body>p{margin:18px 0 8px}
.svc-main details.extras .ex-title{font-size:26px}
@media (max-width:560px){details.extras>summary{grid-template-columns:1fr auto;gap:12px}details.extras .ex-count{display:none}details.extras .ex-title{font-size:24px}}
