/* ==========================================================
   Universal Tax Filer — brand stylesheet
   Navy #123C74 / Orange #E8500B, taken from the logo.
   Navy carries structure. Orange means "you can act on this."
   ========================================================== */
:root{
  --ink:#0A2350; --navy:#123C74; --navy-3:#2A5FA8;
  --orange:#E8500B; --orange-d:#C24206; --orange-txt:#D84000; --orange-hov:#B03400; --orange-w:#FDE8DC;
  --sky:#A9C6E6; --pale:#E7EEF7; --wash:#F6F9FC; --line:#DCE6F0; --line-2:#BCCDE0;
  --teal:#12916C; --teal-w:#E0F2EB; --body:#46586F; --muted:#61748A;
  --r-card:18px; --r-btn:10px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(10,35,80,.05), 0 4px 12px rgba(10,35,80,.06);
  --sh-md:0 2px 4px rgba(10,35,80,.05), 0 12px 32px rgba(10,35,80,.09);
  --sh-lg:0 8px 40px rgba(10,35,80,.14);
  --display:'Plus Jakarta Sans',system-ui,sans-serif;
  --text:'Inter',system-ui,sans-serif;
  --serif:'Lora',Georgia,serif;
  --pad:clamp(20px,5vw,56px); --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--body);font-family:var(--text);font-size:17px;
  line-height:1.65;-webkit-font-smoothing:antialiased}
svg{display:block} a{color:inherit} img{max-width:100%}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:12px 18px;border-radius:8px;box-shadow:var(--sh-md)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.narrow{max-width:830px}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;line-height:1.12;letter-spacing:-.025em}
h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.035em;line-height:1.07}
h2{font-size:clamp(27px,3.2vw,38px);font-weight:800}
h3{font-size:20px;font-weight:700;letter-spacing:-.02em}
h4{font-size:16.5px;font-weight:700}
p{margin:0 0 1em}
.lede{font-size:clamp(17px,1.9vw,20px);line-height:1.6;color:var(--muted)}
.fine{font-size:13.5px;color:var(--muted)}
.tagline{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--navy-3)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--pale);color:var(--navy);
  font-family:var(--display);font-weight:700;font-size:13px;padding:7px 14px;border-radius:var(--r-pill)}
.pill.o{background:var(--orange-w);color:var(--orange-d)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);
  font-weight:700;font-size:16px;padding:14px 24px;border-radius:var(--r-btn);border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn-p{background:var(--orange-txt);color:#fff;box-shadow:0 2px 10px rgba(232,80,11,.3)}
.btn-p:hover{background:var(--orange-hov);transform:translateY(-1px)}
.btn-s{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--sh-sm)}
.btn-s:hover{border-color:var(--line-2);transform:translateY(-1px)}
.btn-w{background:#fff;color:var(--navy)}
.btn-w:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.btn-sm{padding:10px 18px;font-size:15px}

/* ---------------- NAV ---------------- */
.nav{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--max);margin:0 auto;padding:11px var(--pad);display:flex;align-items:center;gap:26px}
.logo{flex:none;display:block}.logo img{height:46px;width:auto}
.nav-links{display:flex;gap:4px;list-style:none;margin:0 auto 0 0;padding:0;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a,.nav-links>li>button{font-family:var(--display);font-size:15px;font-weight:600;
  color:var(--body);text-decoration:none;padding:9px 12px;border-radius:8px;display:inline-flex;
  align-items:center;gap:6px;background:none;border:0;cursor:pointer}
.nav-links>li>a:hover,.nav-links>li>button:hover{color:var(--orange);background:var(--wash)}
.nav-links>li>a.on{color:var(--navy);background:var(--pale)}
.caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-top:-4px;transition:transform .18s}
.has-menu:hover .caret,.has-menu:focus-within .caret{transform:rotate(-135deg);margin-top:2px}
.menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--sh-lg);padding:14px;list-style:none;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;width:600px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s}
.has-menu:hover .menu,.has-menu:focus-within .menu{opacity:1;visibility:visible;transform:none}
.menu .mh{grid-column:span 1;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);padding:6px 12px 2px}
.menu a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none}
.menu a:hover{background:var(--wash)}
.menu b{display:block;font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--ink)}
.menu span{font-size:13px;color:var(--muted);line-height:1.4}
.nav-r{display:flex;align-items:center;gap:12px;flex:none}
/* Phone + email stacked: .nav-in is capped at var(--max)=1160px, and the two
   inline would overflow the bar at every desktop width. */
.nav-contact{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.nav-tel,.nav-mail{font-family:var(--display);text-decoration:none;white-space:nowrap}
.nav-tel{font-weight:700;font-size:14px;color:var(--ink)}
.nav-mail{font-weight:500;font-size:12.5px;color:var(--muted)}
.nav-tel:hover,.nav-mail:hover{color:var(--orange-txt)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:9px 11px;cursor:pointer}
.burger span{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px}
.burger span+span{margin-top:4px}
@media(max-width:1080px){
  .nav-links,.nav-contact{display:none}.burger{display:block}.nav-in{gap:14px}.logo{margin-right:auto}
  /* Client login stays through tablet; below 820px the header cannot hold
     two buttons plus the burger, so it falls back to the burger menu. */
}
.mobnav{display:none;border-bottom:1px solid var(--line);background:#fff;padding:8px var(--pad) 20px}
.mobnav.open{display:block}
.mobnav h5{font-family:var(--display);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin:16px 0 4px}
.mobnav a{display:block;padding:11px 0;text-decoration:none;font-family:var(--display);
  font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
@media(min-width:1081px){.mobnav{display:none!important}}

/* ---------------- PAGE BLOCKS ---------------- */
.phero{background:var(--wash);border-bottom:1px solid var(--line)}
.phero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;
  padding-block:clamp(38px,5vw,62px)}
.phero-in.solo{grid-template-columns:1fr;max-width:820px}
@media(max-width:880px){.phero-in{grid-template-columns:1fr;gap:24px}}
.phero h1{margin:16px 0 0}
.phero .lede{margin-top:16px;max-width:54ch}
.phero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.phero-art{justify-self:center}.phero-art svg{width:180px;height:180px}
@media(max-width:880px){.phero-art{display:none}}
.crumb{font-size:13.5px;color:var(--muted);margin-bottom:6px}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--orange-txt)}
.sec{padding-block:clamp(46px,6vw,80px)}
.sec-wash{background:var(--wash)}
.head{max-width:660px;margin-bottom:38px}
.head.mid{margin-inline:auto;text-align:center}
.head h2{margin:13px 0 0}.head .lede{margin-top:13px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.g2{grid-template-columns:1fr}}
@media(max-width:600px){.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px;
  box-shadow:var(--sh-sm);transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
a.card{text-decoration:none}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.card .art{width:80px;height:80px;margin-bottom:16px}
.card h3{margin-bottom:8px}
.card>p{font-size:15.5px;color:var(--muted);margin-bottom:16px}
.card .go{margin-top:auto;font-family:var(--display);font-weight:700;font-size:15px;color:var(--orange-txt);
  text-decoration:none;display:inline-flex;gap:6px;transition:gap .15s}
.card:hover .go{gap:11px}
.rows{list-style:none;padding:0;margin:0 0 20px}
.rows li{display:flex;justify-content:space-between;gap:14px;font-size:15px;color:var(--body);
  padding:9px 0;border-bottom:1px solid var(--line)}
.rows li:last-child{border-bottom:0}
.rows em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--navy);background:var(--pale);
  padding:2px 8px;border-radius:6px;flex:none;align-self:center}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px;font-size:16px}
.ticks svg{flex:none;margin-top:3px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;box-shadow:var(--sh-sm)}
.step .art{width:56px;height:56px;margin-bottom:14px}
.no{font-family:var(--display);font-weight:800;font-size:13px;color:#fff;background:var(--orange);
  width:27px;height:27px;border-radius:50%;display:grid;place-items:center;margin-bottom:11px}
.step h3{font-size:17px;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted);margin:0}
.step .when{display:inline-block;margin-top:12px;font-family:var(--display);font-weight:600;font-size:12.5px;
  color:var(--navy);background:var(--pale);padding:4px 10px;border-radius:var(--r-pill)}
.note{background:var(--pale);border-radius:14px;padding:22px 24px;border-left:4px solid var(--navy)}
.note.o{background:var(--orange-w);border-left-color:var(--orange)}
.note h4,.note .nh{margin-bottom:7px;font-size:16.5px;font-weight:700;font-family:var(--display);color:var(--ink);line-height:1.25}.note p:last-child{margin-bottom:0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;
  box-shadow:var(--sh-sm);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:19px 54px 19px 22px;position:relative;
  font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:23px;width:13px;height:13px;
  border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg);transition:.2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:27px}
.faq .a{padding:0 22px 20px;font-size:16px;color:var(--muted)}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px;box-shadow:var(--sh-sm)}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--ink);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-family:var(--text);font-size:16px;color:var(--ink);
  padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);outline:none;
  box-shadow:0 0 0 3px rgba(232,80,11,.13)}
.field textarea{min-height:110px;resize:vertical}
.form .btn{width:100%}
.tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.tab{font-family:var(--display);font-weight:600;font-size:15px;padding:10px 20px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:#fff;color:var(--body);cursor:pointer;transition:.15s}
.tab:hover{border-color:var(--line-2);color:var(--ink)}
.tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-sm);overflow:hidden}
.pbar{display:flex;align-items:center;gap:16px;padding:17px 22px;border-bottom:1px solid var(--line)}
.pbar b{font-family:var(--display);font-size:14px;color:var(--ink);flex:none}
.track{flex:1;height:8px;background:var(--pale);border-radius:var(--r-pill);overflow:hidden}
.track i{display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--orange),#F5762F);transition:width .28s}
.pct{font-family:var(--display);font-weight:700;font-size:14px;color:var(--orange-txt);flex:none;min-width:110px;text-align:right}
.items{list-style:none;margin:0;padding:6px 0}
.items li+li{border-top:1px solid var(--line)}
.items label{display:flex;gap:13px;align-items:flex-start;padding:13px 22px;cursor:pointer}
.items label:hover{background:var(--wash)}
.items input{appearance:none;width:21px;height:21px;border:1.5px solid var(--line-2);border-radius:6px;
  margin-top:2px;flex:none;cursor:pointer;background:#fff}
.items input:checked{background:var(--orange);border-color:var(--orange);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.5 8.5l3 3 6-6' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-size:15px;background-repeat:no-repeat;background-position:center}
.items strong{display:block;font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink)}
.items small{font-size:14px;color:var(--muted);line-height:1.5}
.items input:checked ~ .t strong{color:var(--muted);text-decoration:line-through}
.pfoot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
  padding:17px 22px;border-top:1px solid var(--line);background:var(--wash)}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;box-shadow:var(--sh-sm)}
.rev .st{display:flex;gap:3px;margin-bottom:12px}
.rev p{font-size:16px;color:var(--ink);margin-bottom:18px}
.rev .who{display:flex;align-items:center;gap:12px}
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none;
  font-family:var(--display);font-weight:700;font-size:14px}
.who b{display:block;font-family:var(--display);font-size:15px;color:var(--ink)}
.who span{font-size:13px;color:var(--muted)}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px 24px;
  box-shadow:var(--sh-sm);display:flex;flex-direction:column;position:relative}
.plan.hot{border-color:var(--orange);border-width:1.5px;box-shadow:var(--sh-md)}
.plan .tg{position:absolute;top:-13px;left:24px;background:var(--orange);color:#fff;font-family:var(--display);
  font-weight:700;font-size:12.5px;padding:5px 13px;border-radius:var(--r-pill)}
.plan .nm{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);margin-bottom:5px}
.plan .sb{font-size:14.5px;color:var(--muted);margin-bottom:18px}
.amt{font-family:var(--display);font-weight:800;font-size:44px;color:var(--ink);letter-spacing:-.04em;line-height:1}
.amt sup{font-size:18px;font-weight:700;color:var(--muted);vertical-align:super}
.amt i{font-style:normal;font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.plan ul{list-style:none;padding:20px 0 24px;margin:20px 0 0;border-top:1px solid var(--line)}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;margin-bottom:10px}
.plan .btn{margin-top:auto}
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15.5px}
.tbl th{font-family:var(--display);font-weight:700;color:var(--ink);background:var(--wash);font-size:14px}
.tbl tr:last-child td{border-bottom:0}
.band{background:linear-gradient(135deg,#0A2350 0%,#123C74 52%,#2A5FA8 100%);border-radius:28px;
  padding:clamp(30px,5vw,52px);color:#fff;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;right:-90px;bottom:-150px;width:400px;height:400px;
  border-radius:50%;background:rgba(255,255,255,.07)}
.band-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
@media(max-width:860px){.band-in{grid-template-columns:1fr;gap:24px}}
.band h2{color:#fff}.band .tagline{color:#F9B98F;font-size:19px;display:block;margin-top:16px}
.ways{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:6px 18px}
.ways a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;text-decoration:none;color:#fff;
  font-family:var(--display);font-weight:600;font-size:15px}
.ways a+a{border-top:1px solid rgba(255,255,255,.16)}
.ways a span{color:rgba(255,255,255,.8);font-weight:500}
.ways a:hover span{color:#F9B98F}
.ft{background:#fff;border-top:1px solid var(--line);padding-block:52px 26px}
.ft-in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
@media(max-width:860px){.ft-in{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-in{grid-template-columns:1fr}}
.ft h2.fh{font-size:13px;font-family:var(--display);font-weight:700;color:var(--ink);margin-bottom:14px;letter-spacing:0}
.ft ul{list-style:none;padding:0;margin:0}.ft li{margin-bottom:10px}
.ft a{text-decoration:none;color:var(--muted);font-size:15px}.ft a:hover{color:var(--orange-txt)}
.ft address{font-style:normal;font-size:14.5px;color:var(--muted);margin-top:12px;line-height:1.6}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;
  color:var(--muted);transition:.15s}
.social a:hover{border-color:var(--orange);color:var(--orange)}
.ft-btm{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;
  gap:14px;justify-content:space-between;font-size:14px;color:var(--muted)}
.ft-btm a{font-size:14px}
.mbar{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;grid-template-columns:1fr 1fr;gap:10px;
  padding:10px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.mbar .btn{width:100%}
@media(max-width:1080px){.mbar{display:grid}body{padding-bottom:72px}}
@media print{.nav,.mobnav,.mbar,.band,.ft{display:none!important}body{padding:0}}

/* ---------------- mega menu columns ---------------- */
.menu{display:flex;gap:6px;width:auto}
.menu.cols2{width:620px}.menu.cols3{width:900px}
.mcol{flex:1;min-width:190px}
.mcol .mh{font-family:var(--display);font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);padding:6px 12px 4px;margin:0}
.mcol a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none}
.mcol a:hover{background:var(--wash)}
.mcol b{display:block;font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink)}
.mcol span{font-size:12.5px;color:var(--muted);line-height:1.4;display:block}
@media(max-width:1240px){.menu.cols3{width:640px;flex-wrap:wrap}}

/* ---------------- proof band ---------------- */
.statband{border-block:1px solid var(--line);background:var(--wash)}
.statband.dark{background:var(--navy);border-color:rgba(255,255,255,.14)}
.statband-in{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:26px;text-align:center}
@media(max-width:720px){.statband-in{grid-template-columns:1fr 1fr;gap:20px}}
.statband b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(26px,3.4vw,36px);
  color:var(--navy);letter-spacing:-.035em;line-height:1}
.statband span{font-size:13.5px;color:var(--muted);display:block;margin-top:5px}
.statband.dark b{color:#fff}.statband.dark span{color:#B9CBE2}
.statnum{font-family:var(--display);font-weight:800;font-size:36px;color:var(--navy);letter-spacing:-.035em}

/* review strip */
.gstrip{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  padding:14px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--sh-sm);font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink)}
.gstrip .st{display:flex;gap:2px}
.gstrip a{color:var(--orange-txt);text-decoration:none}
.ft-in{grid-template-columns:1.4fr 1fr 1fr 1.15fr}
@media(max-width:980px){.ft-in{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft-in{grid-template-columns:1fr}}

/* --- open mega menu via click as well as hover (touch + a11y) --- */
.has-menu > button[aria-expanded="true"] + .menu{opacity:1;visibility:visible;transform:none}
.has-menu > button[aria-expanded="true"] .caret{transform:rotate(-135deg);margin-top:2px}
.has-menu > button[aria-expanded="true"]{color:var(--orange-txt);background:var(--wash)}
/* related services */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.rel{grid-template-columns:1fr}}
.rel a{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px;text-decoration:none;box-shadow:var(--sh-sm);transition:.16s}
.rel a:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:var(--line-2)}
.rel svg{width:34px;height:34px;flex:none}
.rel b{display:block;font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--ink)}
.rel span{font-size:13.5px;color:var(--muted);line-height:1.45}
/* sticky in-page CTA for long pages */
.stickycta{position:sticky;bottom:16px;z-index:40;margin-top:32px}
.ch{font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}
.ch2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:34px 0 16px}
.ch2:first-of-type{margin-top:0}

/* ---------------- floating contact widget ---------------- */
.fab-wrap{position:fixed;right:18px;bottom:18px;z-index:95;display:flex;flex-direction:column;
  align-items:flex-end;gap:10px}
@media(max-width:1080px){.fab-wrap{bottom:84px}}
.fab-menu{display:flex;flex-direction:column;gap:8px;align-items:flex-end;
  opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transform-origin:bottom right;
  transition:opacity .18s ease,transform .18s ease,visibility .18s}
.fab-wrap[data-open="true"] .fab-menu{opacity:1;visibility:visible;transform:none}
.fab-menu a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:9px 16px 9px 12px;text-decoration:none;box-shadow:var(--sh-md);
  font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--ink);white-space:nowrap;
  transition:transform .14s}
.fab-menu a:hover{transform:translateX(-2px);border-color:var(--line-2)}
.fab-menu svg{width:20px;height:20px;flex:none}
.fab{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;background:var(--orange-txt);
  box-shadow:0 4px 16px rgba(216,64,0,.4);display:grid;place-items:center;transition:transform .18s,background .18s}
.fab:hover{background:var(--orange-hov);transform:scale(1.05)}
.fab svg{width:28px;height:28px}
.fab .ic-close{display:none}
.fab-wrap[data-open="true"] .fab{background:var(--navy);box-shadow:0 4px 16px rgba(18,60,116,.4)}
.fab-wrap[data-open="true"] .fab .ic-chat{display:none}
.fab-wrap[data-open="true"] .fab .ic-close{display:block}
@media print{.fab-wrap{display:none}}
/* SMS link only where a device can actually send one */
.only-touch{display:none}
@media (max-width:900px), (pointer:coarse){.only-touch{display:flex}}

/* ---------------- header: small-screen tiers ---------------- */
@media(max-width:820px){.nav-login{display:none}}
@media(max-width:420px){
  .nav-in{gap:10px}
  .logo img{height:38px}
  .nav-r .btn-sm{padding:9px 13px;font-size:14px}
}

/* ---------------- small-screen safety ---------------- */
/* An email address has no break opportunity, so "support@universaltaxfiler.com"
   in a two-column table cell pushed the contact page wider than a 360px
   viewport and produced horizontal scroll. */
body{overflow-wrap:break-word}
.tbl td,.tbl th{overflow-wrap:anywhere}
@media(max-width:520px){
  .tbl th,.tbl td{padding:11px 12px;font-size:14.5px}
}

/* ---------------- header fit ---------------- */
/* The bar carries six nav labels, a two-line contact block and two buttons.
   var(--max) minus 2x var(--pad) leaves ~1048px, which is too tight for that,
   and the cap means the squeeze is identical at every desktop width. The
   header is allowed to run wider than the body copy, and the labels tighten
   up just above the burger breakpoint. */
.nav-in{max-width:1280px;gap:20px}
.nav-r{gap:10px}
@media(max-width:1240px){
  .nav-links>li>a,.nav-links>li>button{padding:9px 9px;font-size:14.5px}
  .nav-in{gap:14px}
  .nav-mail{font-size:12px}
}

