/* ============================================================
   Eminent Tax · home.css
   Homepage only: hero mosaic, phone hero, software row, before/after
   slider, services bento, mission and how it works, who we help,
   review marquee. Load after site.css and plans.css.
   When another page needs one of these, move it to site.css.
   ============================================================ */

/* ---------- Hero ---------- */
.hero{position:relative;padding:60px 0 30px;text-align:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto;height:1100px;pointer-events:none;
  background:radial-gradient(520px 420px at 12% 34%,rgba(255,176,152,.55),transparent 70%),radial-gradient(560px 460px at 90% 18%,rgba(255,196,170,.55),transparent 70%),radial-gradient(520px 380px at 50% 78%,rgba(253,214,200,.6),transparent 70%)}
.hero .wrap{position:relative}
.badge{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 7px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid #fff;font-size:0.875rem;font-weight:500;color:var(--body);box-shadow:0 4px 14px rgba(22,19,15,.05)}
.faces{display:flex}
.faces img{width:28px;height:28px;border-radius:50%;background:var(--coral-100);border:2px solid #fff;margin-left:-8px}
.faces img:first-child{margin-left:0}
.badge .b-dot{width:28px;height:28px;border-radius:50%;flex:none}
.hero h1{font-size:clamp(2.375rem,6.2vw,4.875rem);font-weight:700;max-width:1040px;margin:26px auto 22px}
.hero .sub{font-size:clamp(1.0625rem,1.6vw,1.25rem);max-width:660px;margin:0 auto 32px}
.creds{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:0.8438rem;color:var(--muted)}
.creds span{display:inline-flex;align-items:center;gap:7px}
.creds span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral)}
.ttl{font-family:var(--display);font-size:1.1875rem;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-bottom:2px}
.score-tile{display:flex;align-items:center;gap:12px}
.score-tile b{font-family:var(--display);font-size:1.875rem;color:var(--ink);letter-spacing:-.03em;line-height:1}
.score-tile small{display:block;font-size:0.7813rem;color:var(--muted)}

/* Desktop and tablet mosaic: a fixed 1180px stage scaled to fit */
.mosaic-wrap{position:relative;margin:46px auto 0;max-width:1180px;height:calc(580px * var(--s,1))}
.mosaic{position:absolute;left:50%;top:0;width:1180px;height:580px;margin-left:-590px;transform:scale(var(--s,1));transform-origin:50% 0}
.tile{position:absolute;border-radius:var(--r-lg);background:rgba(255,255,255,.9);border:1px solid #fff;box-shadow:0 24px 60px rgba(22,19,15,.10),inset 0 1px 0 #fff;padding:20px;text-align:left;transition:transform .5s var(--ease)}
.tile .in{transform:translate3d(0,0,0)}
.t-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:0.8125rem;color:var(--muted);margin-bottom:10px}
.t-head b{color:var(--ink);font-size:0.9063rem;font-weight:600}
.t-main{left:330px;top:40px;width:520px;z-index:3;background:#fff}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.kpi{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.kpi small{display:block;font-size:0.75rem;color:var(--muted)}
.kpi b{font-family:var(--display);font-size:1.375rem;color:var(--ink);letter-spacing:-.02em}
.kpi em{display:block;font-style:normal;font-size:0.75rem;color:var(--green);font-weight:600}
.chart{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px 6px}
.chart svg{width:100%;height:150px;display:block}
.chart .g line{stroke:#F0EDEA}
.chart .area{fill:url(#ga)}
.chart .ln{fill:none;stroke:var(--coral);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:0}
.chart .ln2{fill:none;stroke:#C9C2BB;stroke-width:2;stroke-dasharray:4 5}
.legend{display:flex;gap:14px;font-size:0.75rem;color:var(--muted);margin-bottom:4px}
.legend span::before{content:"";display:inline-block;width:10px;height:3px;border-radius:2px;background:var(--coral);margin-right:6px;vertical-align:middle}
.legend span+span::before{background:#C9C2BB}
.lbls{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--muted);padding:2px 2px 0}
.t-accept{left:0;top:12px;width:280px;z-index:2}
.t-chat{left:28px;top:262px;width:300px;z-index:4}
.t-est{right:0;top:0;width:290px;z-index:2}
.t-pay{right:28px;top:250px;width:300px;z-index:4}
.t-rev{left:440px;top:470px;width:300px;z-index:5;padding:14px 18px}
.check{width:54px;height:54px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:4px 0 12px;box-shadow:0 0 0 8px var(--green-50)}
.check svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:0}
.t-accept h3{font-size:1.1875rem;margin-bottom:2px}
.t-accept p{font-size:0.8125rem;color:var(--muted)}
.chat{display:flex;gap:10px;align-items:flex-end}
.chat img{width:42px;height:42px;border-radius:50%;background:var(--coral-100);flex:none}
.bubble{background:var(--soft);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:10px 12px;font-size:0.8438rem;color:var(--ink);line-height:1.45}
.bubble small{display:block;color:var(--muted);font-size:0.75rem;margin-top:4px}
.typing{display:inline-flex;gap:4px;margin:10px 0 0 52px;padding:8px 12px;border-radius:999px;background:var(--soft);border:1px solid var(--line)}
.typing i{width:6px;height:6px;border-radius:50%;background:#B9B1AA}
.ring{display:flex;align-items:center;gap:14px}
.ring svg{width:64px;height:64px;flex:none;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:7}
.ring .bg{stroke:#F0EDEA}
.ring .fg{stroke:var(--coral);stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:44}
.ring b{display:block;font-family:var(--display);font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}
.ring small{font-size:0.7813rem;color:var(--muted);line-height:1.4;display:block}
.prow{display:flex;align-items:center;gap:10px;font-size:0.8438rem;padding:3px 0}
.prow img{width:30px;height:30px;border-radius:50%;background:#FFE9E3}
.prow span{flex:1;color:var(--ink);font-weight:500}
.prow em{font-style:normal;color:var(--muted);font-size:0.8125rem}
.t-rev p{font-size:0.8438rem;color:var(--ink)}
.t-rev small{color:var(--muted);font-size:0.75rem}

/* Phone hero composition */

/* Motion (only when allowed) */
@media (prefers-reduced-motion:no-preference){
  .js .chart:not(.drawn) .ln{stroke-dashoffset:900}
  .chart.drawn .ln{transition:stroke-dashoffset 1.8s var(--ease)}
  .check svg{animation:tick .7s 1.1s var(--ease) both}
  .ring .fg{animation:ringfill 1.6s .7s var(--ease) both}
  .typing i{animation:bob 1.2s infinite}
  .typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
  .t-accept .in{animation-duration:7.5s}.t-chat .in{animation-duration:8s;animation-delay:-2s}.t-est .in{animation-duration:8.5s;animation-delay:-3s}.t-pay .in{animation-duration:7s;animation-delay:-1s}.t-rev .in{animation-duration:6.5s;animation-delay:-4s}.t-main .in{animation-duration:10s}
}
@keyframes tick{from{stroke-dashoffset:30}}
@keyframes ringfill{from{stroke-dashoffset:176}}
@keyframes bob{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes float{to{transform:translate3d(0,-10px,0)}}
@keyframes pop{from{opacity:0;transform:translate3d(0,12px,0) scale(.96)}}

/* ---------- Logos ---------- */
.logos{padding-block:38px 6px;text-align:center}
.logos p{font-size:0.875rem;color:var(--muted);margin-bottom:14px}
.logos .ltrack{justify-content:center}
.logos .ltrack img{height:24px}
.logos .ltrack img.qb{height:30px}
.logos .lmq.on .ltrack>*{margin-right:56px}

/* ---------- Before / after ---------- */
.ba{position:relative;display:grid;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:ew-resize;--pos:50%;isolation:isolate}
.ba-side{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:center;padding:48px 52px}
.after .bt{order:2}
.ba-cap{display:none}
.before{background:#F2EDE7}
.after{background:var(--ink);color:#C9C2BB;-webkit-clip-path:inset(0 0 0 var(--pos));clip-path:inset(0 0 0 var(--pos));z-index:1}
.ba .tagx{display:inline-block;font-size:0.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;margin-bottom:16px}
.before .tagx{background:#E5DCD2;color:#6B5A4B}
.after .tagx{background:rgba(249,76,48,.16);color:var(--peach)}
.ba h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:16px}
.after h3{color:#fff}
.ba ul{display:grid;gap:12px;font-size:1rem}
.ba li{display:flex;gap:12px;align-items:flex-start}
.ba li::before{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:0.75rem;font-weight:800;margin-top:1px}
.before li::before{content:"✕";background:#F6D9D3;color:#A3321F}
.after li::before{content:"✓";background:rgba(74,222,128,.15);color:#4ADE80}
.mess{position:relative;height:300px}
.note{position:absolute;padding:12px 14px;border-radius:12px;font-size:0.8438rem;font-weight:600;background:#fff;border:1px solid #E6DED6;color:#5A4A40;box-shadow:0 10px 24px rgba(60,40,20,.08);max-width:220px;line-height:1.35}
.note small{display:block;font-weight:500;color:#8C7B6D;font-size:0.75rem;margin-top:2px}
.n1{left:2%;top:4%;transform:rotate(-6deg)}
.n2{right:4%;top:10%;transform:rotate(5deg);background:#FFF7E3;border-color:#F2DCA5}
.n3{left:18%;top:40%;transform:rotate(3deg)}
.n4{right:0;top:52%;transform:rotate(-4deg);background:#FDECEA;border-color:#F3C3BC;color:#9B2C1F}
.n5{left:4%;top:74%;transform:rotate(-2deg);background:#FFF7E3;border-color:#F2DCA5}
.calm{background:var(--ink-2);border:1px solid #352F28;border-radius:20px;padding:20px;display:grid;gap:4px}
.calm .h{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:600;font-size:0.9375rem;margin-bottom:8px}
.calm .r{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #322C25;font-size:0.9063rem;color:#E7E1DA}
.calm .r em{font-style:normal;font-size:0.75rem;font-weight:700;color:#4ADE80;background:rgba(74,222,128,.12);padding:3px 10px;border-radius:999px}
.calm .who{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:14px;background:rgba(249,76,48,.10);font-size:0.8438rem;color:#fff}
.calm .who img{width:32px;height:32px;border-radius:50%;background:var(--coral-100)}
.handle{position:absolute;top:0;bottom:0;left:var(--pos);width:0;z-index:3;pointer-events:none}
.handle::before{content:"";position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(22,19,15,.12),0 0 24px rgba(249,76,48,.35)}
.knob{position:absolute;z-index:4;top:50%;left:clamp(6px,calc(var(--pos) - 28px),calc(100% - 62px));width:56px;height:56px;margin-top:-28px;border-radius:50%;background:var(--coral);box-shadow:0 10px 26px rgba(249,76,48,.45),0 0 0 6px rgba(255,255,255,.65);display:grid;place-items:center;pointer-events:auto;cursor:ew-resize;border:0;padding:0;touch-action:none}
.knob svg{width:26px;height:26px;stroke:#1A0E0A;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ba-hint{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:0.875rem;font-weight:600;color:var(--muted)}
.ba-hint span:nth-child(2){font-weight:500}

/* ---------- Services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:16px}
.svc{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--r-lg);background:var(--soft);border:1px solid var(--line);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s,opacity .3s}
.svc h3{font-size:1.4375rem}
.svc p{font-size:0.9375rem;color:var(--muted);max-width:460px}
.svc .go{margin-top:auto;padding-top:6px;font-weight:600;font-size:0.9063rem;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.svc .go span{transition:transform .25s var(--ease)}
.svc .ic{margin-bottom:4px}
.svc .txt{flex:1;min-width:0}
@media (hover:hover){.svc:hover .go span{transform:translateX(4px)}}
.s-feature{grid-column:span 5;grid-row:span 2;background:var(--ink);border-color:var(--ink);color:#C9C2BB;padding:30px;min-height:560px}
.s-feature h3{color:#fff;font-size:1.875rem;max-width:320px}
.s-feature p{color:#B3AAA2;max-width:330px}
.s-feature .go{color:#fff}
.s-feature .from{display:inline-block;align-self:flex-start;margin-top:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:0.8438rem;color:#C9C2BB}
.s-feature .from b{color:#fff;font-family:var(--display);font-size:1rem;letter-spacing:-.01em}
.s-feature .kick{font-size:0.7813rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--peach)}
.stage{position:absolute;right:-10px;bottom:0;width:300px;height:360px}
.arch{position:absolute;right:20px;bottom:0;width:240px;height:300px;border-radius:130px 130px 0 0;background:radial-gradient(circle at 50% 42%,rgba(249,76,48,.55),transparent 62%),linear-gradient(170deg,#3A322B 0%,#221D19 100%);border:1px solid rgba(255,255,255,.08);border-bottom:0;overflow:hidden}
.arch::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.35),transparent 46%),repeating-radial-gradient(circle at 50% 120%,rgba(255,255,255,.09) 0 2px,transparent 2px 24px)}
.person{position:absolute;right:-12px;bottom:-4px;width:300px;max-width:none}
.person.bird{right:28px;bottom:8px;width:230px}
.chat img.dot,.calm .who img.dot{background:#16130F}
.prow .mono{flex:0 0 30px;width:30px;height:30px;font-size:0.6875rem}
.avs .stack .mono{width:34px;height:34px;border:2px solid var(--soft);margin-left:-10px;font-size:0.6875rem;color:#8A2210}
.avs .stack .mono:first-child{margin-left:0}
.rc .who .mono{width:38px;height:38px}
.fchip{position:absolute;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:#fff;color:var(--ink);font-size:0.8125rem;font-weight:600;box-shadow:0 14px 30px rgba(0,0,0,.25);white-space:nowrap;transition:transform .4s var(--ease)}
.fchip i{width:18px;height:18px;border-radius:50%;background:var(--green);flex:none;position:relative}
.fchip i::after{content:"";position:absolute;left:6px;top:3.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fc1{left:-150px;top:56px}.fc2{left:-120px;top:140px}.fc3{left:-160px;top:224px}
@media (hover:hover){.s-feature:hover .fc1{transform:translateX(-6px)}.s-feature:hover .fc2{transform:translateX(8px)}.s-feature:hover .fc3{transform:translateX(-4px)}}
.s-book{grid-column:span 4}
.s-pay{grid-column:span 3}
.s-sales{grid-column:span 3}
.s-tax{grid-column:span 4}
.s-plan,.s-llc,.s-itin{grid-column:span 4}
.s-irs{grid-column:span 12;flex-direction:row;align-items:center;gap:22px;padding:22px 26px;background:linear-gradient(90deg,var(--coral-50),#fff 60%)}
.s-irs .txt{flex:1;min-width:0}
.s-irs h3{font-size:1.3125rem;margin-bottom:2px}
.s-irs .go{margin:0;padding:0;flex:none}
.mini{margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:0.8125rem}
.mini .r{display:flex;justify-content:space-between;align-items:center;padding:6px 2px}
.mini .r+.r{border-top:1px solid #F3F0ED}
.mini .r b{color:var(--ink);font-weight:600}
.mini .r b.good{color:var(--green)}
.avs{display:flex;align-items:center;gap:10px;margin-top:4px}
.avs .stack{display:flex}
.avs .stack img{width:34px;height:34px;border-radius:50%;border:2px solid var(--soft);background:var(--coral-100);margin-left:-10px}
.avs .stack img:first-child{margin-left:0}
.avs span{font-size:0.8125rem;color:var(--muted)}
.states{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.states span{font-size:0.75rem;font-weight:700;padding:6px 9px;border-radius:9px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:background-color .3s,color .3s,border-color .3s}
.states span.on{background:var(--coral);border-color:var(--coral);color:#1A0E0A}
.forms{position:relative;height:96px;margin-top:4px}
.forms span{position:absolute;bottom:0;width:120px;height:84px;border-radius:10px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 18px rgba(22,19,15,.06);padding:10px;font-family:var(--display);font-weight:700;font-size:0.9375rem;color:var(--ink);transition:transform .35s var(--ease)}
.forms span::after{content:"";position:absolute;left:10px;right:10px;bottom:14px;height:22px;background:repeating-linear-gradient(#EFEAE5 0 3px,transparent 3px 9px)}
.forms span:nth-child(1){left:0;transform:rotate(-5deg)}
.forms span:nth-child(2){left:90px;transform:rotate(2deg);z-index:1}
.forms span:nth-child(3){left:180px;transform:rotate(-1deg);z-index:2;border-color:#FFC9BB}
@media (hover:hover){.s-tax:hover .forms span:nth-child(1){transform:rotate(-9deg) translateY(-6px)}.s-tax:hover .forms span:nth-child(3){transform:rotate(3deg) translateY(-8px)}}
.bars{display:flex;align-items:flex-end;gap:8px;height:70px;margin-top:4px}
.bars i{flex:1;border-radius:7px 7px 3px 3px;background:#EAE4DE;transform-origin:bottom;transition:transform .5s var(--ease)}
.bars i.c{background:var(--coral)}
@media (hover:hover){.s-plan:hover .bars i.c{transform:scaleY(.8)}.s-plan:hover .bars i:not(.c){transform:scaleY(1.06)}}
.steps3{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:0.7813rem;font-weight:600;color:var(--ink);flex-wrap:wrap}
.steps3 span{padding:6px 10px;border-radius:9px;background:#fff;border:1px solid var(--line)}
.steps3 i{color:var(--muted);font-style:normal}
.passport{display:flex;align-items:center;gap:12px;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.passport .pp{width:40px;height:52px;border-radius:6px;background:#1E2A44;position:relative;flex:none}
.passport .pp::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;border:2px solid #D9B76B;border-radius:50%}
.passport b{display:block;color:var(--ink);font-size:0.8438rem}
.passport small{color:var(--muted);font-size:0.75rem}

/* ---------- Mission + how it works ---------- */
.mission{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
.mission-h{font-size:clamp(1.75rem,3.3vw,2.75rem);line-height:1.1;color:#fff}
.mission-h em{font-style:normal;color:var(--coral)}
.mission-p{margin-top:20px;font-size:1.0625rem}
.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.values span{padding:8px 14px;border-radius:999px;border:1px solid #38322B;color:#E7E1DA;font-size:0.875rem}
.steps{display:grid;gap:12px;counter-reset:s}
.step{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:22px;border-radius:var(--r-lg);background:var(--ink-2);border:1px solid #2E2923;transition:border-color .3s,transform .3s var(--ease)}
.step .n{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.25rem;background:rgba(249,76,48,.16);color:var(--peach)}
.step h3{font-size:1.3125rem;margin-bottom:4px}
.step p{font-size:0.9375rem;color:#A39A92}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:56px}
.stat{padding:26px 24px;border-radius:var(--r-lg);background:var(--ink-2);border:1px solid #2E2923}
.stat b{display:block;font-family:var(--display);font-size:clamp(2.5rem,4.4vw,3.625rem);color:#fff;letter-spacing:-.04em;line-height:1}
.stat b em{font-style:normal;color:var(--coral)}
.stat>span{display:block;margin-top:10px;font-size:0.9063rem;color:#A39A92}

/* ---------- Who we help ---------- */
.inds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ind{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:200px;padding:22px;padding-top:86px;border-radius:var(--r-lg);background:var(--soft);border:1px solid var(--line);overflow:hidden;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s var(--ease)}
.ind .ic{position:absolute;top:22px;left:22px;width:44px;height:44px;border-radius:13px}
.ind .ic svg{width:24px;height:24px}
.ind h3{font-size:1.25rem}
.ind p{font-size:0.875rem;color:var(--muted);margin-top:6px}


/* ---------- Reviews marquee ---------- */
.score{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 18px;border-radius:var(--r-lg);background:var(--soft);border:1px solid var(--line)}
.score b{font-family:var(--display);font-size:2.5rem;color:var(--ink);letter-spacing:-.04em;line-height:1}
.score small{display:block;color:var(--muted);font-size:0.8125rem}
.score .link{margin-left:4px;padding-left:16px;border-left:1px solid var(--line-2);font-size:0.9063rem;white-space:nowrap}
.mq{position:relative;display:grid;gap:16px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:16px;width:max-content;will-change:transform}
@media (prefers-reduced-motion:no-preference){
  .track{animation:marq 60s linear infinite}
  .track.rev{animation-name:marqr;animation-duration:70s}
  .mq:hover .track,.mq:focus-within .track,.mq.paused .track{animation-play-state:paused}
}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes marqr{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.rc{flex:none;width:360px;display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.rc blockquote{margin:0}
.rc q{color:var(--ink);font-size:0.9688rem;quotes:none}
.rc .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.rc .who img{width:38px;height:38px;border-radius:50%;background:var(--coral-100)}
.rc .who b{display:block;color:var(--ink);font-size:0.875rem}
.rc .who small{color:var(--muted);font-size:0.7813rem}
.ph{align-self:flex-start;font-size:0.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#F4F1EE;color:var(--muted);padding:3px 8px;border-radius:6px}
.mq-ctl{display:flex;justify-content:center;gap:10px;margin-top:24px}
.pause{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-weight:600;font-size:0.875rem;color:var(--ink);cursor:pointer}
.pause i{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.pause[aria-pressed="true"] i{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}

/* ============ Responsive ============ */
@media (max-width:1180px){
  .s-feature{grid-column:span 12;grid-row:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:24px;align-content:start}
  .s-feature>*:not(.stage){grid-column:1}
  .s-feature .go{margin-top:12px}
  .s-feature .stage{position:relative;right:auto;bottom:auto;grid-column:2;grid-row:1/span 5;align-self:end;width:320px;height:330px;margin:0 0 -30px}
  .s-feature .arch{right:30px;width:230px;height:280px}
  .s-feature .person{right:-6px;width:290px}
  .s-feature .person.bird{right:36px;bottom:12px;width:218px}
  .fc1{left:-20px;top:40px}.fc2{left:10px;top:118px}.fc3{left:-30px;top:196px}
  .s-book{grid-column:span 6}.s-pay{grid-column:span 6}.s-sales{grid-column:span 6}.s-tax{grid-column:span 6}
  .s-plan,.s-llc,.s-itin{grid-column:span 4}
  .inds{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1023px){
  .s-plan,.s-llc{grid-column:span 6}.s-itin{grid-column:span 12}
  .mission{grid-template-columns:minmax(0,1fr);gap:40px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inds{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .ind{padding:18px;padding-top:76px;min-height:0}
  .ind .ic{top:18px;left:18px}
  .ba-side{padding:40px 36px;gap:72px}
  .mosaic-wrap{display:none}
}
@media (max-width:767px){
  .hero{padding:44px 0 10px}
  .hero::before{height:900px}
  .badge{font-size:0.7813rem;white-space:nowrap;max-width:100%}
  .badge .b-x{display:none}
  .ba{cursor:auto}
  .ba-side{grid-template-columns:minmax(0,1fr);padding:22px 16px;gap:0;align-items:center}
  .ba .bt{display:none}
  .mess{height:270px}
  .calm{padding:16px}
  .ba-cap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
  .cap{padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--soft);font-size:0.8438rem;line-height:1.45;transition:background-color .25s,border-color .25s,color .25s}
  .cap b{display:block;font-family:var(--display);font-size:1.0625rem;color:var(--ink);margin-bottom:4px}
  .cap.on.cb{background:#F2EDE7;border-color:#E2D6CA}
  .cap.on.ca{background:var(--ink);border-color:var(--ink);color:#C9C2BB}
  .cap.on.ca b{color:#fff}
  .note{font-size:0.7813rem;padding:9px 11px;max-width:190px}
  .knob{width:48px;height:48px;left:clamp(6px,calc(var(--pos) - 24px),calc(100% - 54px));margin-top:-24px}
  .ba-hint span:nth-child(2){display:none}
  .svc-grid{grid-template-columns:minmax(0,1fr)}
  .svc,.s-feature,.s-book,.s-pay,.s-sales,.s-tax,.s-plan,.s-llc,.s-itin,.s-irs{grid-column:1/-1}
  .s-feature{display:flex;padding:26px 26px 0}
  .s-feature .stage{grid-column:auto;grid-row:auto;align-self:center;width:290px;height:300px;margin:18px auto 0}
  .s-feature .arch{right:35px;width:220px;height:260px}
  .s-feature .person{right:0;width:270px}
  .s-feature .person.bird{right:44px;bottom:12px;width:200px}
  .fc1{left:-14px;top:150px}.fc2{left:-14px;top:196px}.fc3{left:-14px;top:242px}
  .s-irs{flex-direction:column;align-items:flex-start}
  .forms span{width:42%;padding:8px;font-size:0.8438rem;height:76px}
  .forms span:nth-child(2){left:29%}
  .forms span:nth-child(3){left:58%}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{padding:20px 18px}
  .step{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px}
  .step .n{width:44px;height:44px;border-radius:13px;font-size:1.125rem}
  .step h3{font-size:1.1875rem}
  .inds{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ind{min-height:0;padding:16px;padding-top:66px}
  .ind .ic{top:16px;left:16px;width:38px;height:38px}
  .ind .ic svg{width:20px;height:20px}
  .ind h3{font-size:1.0625rem}
  .ind p{font-size:0.8125rem}
  .score .link{margin-left:0;padding-left:0;border-left:0;flex-basis:100%}
  .rc{width:290px;padding:18px}
  .logos .ltrack img{height:20px}
  .logos .ltrack img.qb{height:25px}
  .logos .lmq.on .ltrack>*{margin-right:40px}
  .mq{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:420px){
  .hero h1{font-size:2.125rem}
  .creds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:0.7813rem;max-width:360px;margin-inline:auto}
  .creds span{justify-content:center;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.65);border:1px solid #fff;text-align:center;line-height:1.3}
  .creds span::before{display:none}
  .badge .faces,.badge .b-dot{display:none}
  .badge .b-x{display:none}
  .badge{padding:7px 14px}
}
@media (max-width:350px){
  .badge{font-size:0.6875rem;padding:6px 11px}
}
@media (max-width:380px){
  .hero h1{font-size:2.125rem}
  .rc{width:260px}
  .fc2{left:120px}
}

/* Homepage pricing: monthly plans only, one-off jobs live on /pricing/ */
.p-cta{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:14px;padding:18px 18px 18px 26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.p-cta p{margin:0;color:var(--muted);max-width:620px}
.p-cta b{color:var(--ink);font-weight:600}
.p-cta .btn{flex:none}
@media (max-width:767px){.p-cta{flex-direction:column;align-items:stretch;padding:20px}.p-cta .btn{width:100%}}

/* Comparison cards (homepage pricing) */
.cv-wrap{margin-top:64px}
.cv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:22px}
.cv-head h3{margin:0}
.cv-head p{color:var(--muted);max-width:440px;margin:0}
.cv{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;align-items:stretch}
.cv-col{display:flex;flex-direction:column;padding:26px 24px;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.cv-col.us{background:var(--ink);border-color:var(--ink);color:#C9C2BB;box-shadow:0 0 0 1px var(--coral),0 30px 60px -24px rgba(249,76,48,.45)}
.cv-tag{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.1875rem;color:var(--ink);margin-bottom:14px}
.cv-col.us .cv-tag{color:#fff}
.logo-dot{width:22px;height:22px;border-radius:6px}
.cv ul{display:grid;gap:0;margin:0 0 18px;padding:0;list-style:none}
.cv li{position:relative;display:grid;gap:2px;padding:12px 0 12px 34px;border-top:1px solid var(--line)}
.cv-col.us li{border-color:#2E2923}
.cv li small{font-size:0.7813rem;color:var(--muted)}
.cv-col.us li small{color:#A39A92}
.cv li b{font-weight:600;color:var(--ink);font-size:0.9375rem}
.cv-col.us li b{color:#fff}
.cv li::before{position:absolute;left:0;top:14px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:0.75rem;font-weight:800}
.cv li.y::before{content:"\2713";background:var(--coral);color:#1A0E0A}
.cv li.n::before{content:"\2715";background:#F1EEEA;color:var(--muted)}
.cv li.m::before{content:"~";background:#F1EEEA;color:var(--muted)}
.cv-col .btn{margin-top:auto}
@media (max-width:1023px){.cv{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cv-col.us{grid-column:1/-1}}
@media (max-width:767px){.cv{grid-template-columns:minmax(0,1fr)}.cv-col{padding:22px 20px}}

/* ---------- Phones: a shorter homepage. Decorative minis go, cards tighten,
   the comparison is hidden. ---------- */
@media (max-width:767px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .svc,.s-book,.s-pay,.s-sales,.s-tax,.s-plan,.s-llc,.s-itin{grid-column:auto;padding:16px;gap:6px}
  .s-feature,.s-irs,.s-itin{grid-column:1/-1}
  .svc .mini,.svc .avs,.svc .states,.svc .forms,.svc .bars,.svc .steps3,.svc .passport,.s-feature .stage{display:none}
  .svc:not(.s-feature):not(.s-irs) p{display:none}
  .svc h3{font-size:1.0625rem}
  .s-feature h3{font-size:1.3125rem}
  .svc .go{font-size:0.8438rem;min-height:24px}
  .svc:not(.s-feature):not(.s-irs) .go{font-size:0;margin-top:auto}
  .svc:not(.s-feature):not(.s-irs) .go span{font-size:1.125rem;color:var(--coral-deep)}
  .svc .ic{width:38px;height:38px}
}
/* D-03: two service cards per row stay readable on 320 to 360px phones */
@media (max-width:360px){
  .svc,.s-book,.s-pay,.s-sales,.s-tax,.s-plan,.s-llc,.s-itin{padding:14px 12px}
  .svc h3{font-size:0.9688rem;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
}
@media (max-width:767px){
  .ind p{display:none}
  .ind{padding:14px;padding-top:60px}
  .ind .ic{top:14px;left:14px}
  .ind h3{font-size:1rem}
  #pricing .cv-wrap{display:none}
  /* How it works: step titles carry it on a phone; value pills repeat the stats */
  #how .values,#how .step p{display:none}
  #how .steps{gap:8px}
}

/* ---------- Intro: the first thing a visitor sees on their first homepage visit ----------
   The inline script in the head adds html.intro (not for reduced motion, crawlers or repeat visits);
   site.js flies the cardinal in to land on the T, then the wordmark glides into the header and the
   page shows. If the script ever fails, the timed animations below clear the screen anyway. */
.splash{display:none}
html.intro .splash{display:block;position:fixed;inset:0;z-index:200;overflow:hidden;cursor:pointer;animation:sp-gone .4s 7s forwards}
.sp-bg{position:absolute;inset:0;background:var(--canvas)}
.sp-bg::after{content:"";position:absolute;left:50%;top:44%;width:min(900px,140vw);height:min(560px,90vw);transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(249,76,48,.13),rgba(249,76,48,0))}
.sp-mark{--S:2.4;position:absolute;left:50%;top:45%;width:calc(149.23px * var(--S));height:calc(37.85px * var(--S));margin:calc(37.85px * var(--S) / -2) 0 0 calc(149.23px * var(--S) / -2);transform-origin:0 0;opacity:0;animation:sp-in .6s .08s var(--ease) forwards}
.sp-mark img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none}
.sp-mark .sp-perch{opacity:0;transform-origin:78.57% 58%}
html.intro .nav .logo>*{opacity:0;animation:sp-back .3s 7s forwards}
@keyframes sp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sp-gone{to{opacity:0;visibility:hidden}}
@keyframes sp-back{to{opacity:1}}
@media (max-width:767px){.sp-mark{--S:1.7}}
