/*
Theme Name: GetYourNISS Child
Template: twentytwentyfive
GetYourNISS.pt WordPress theme stylesheet
   Exported verbatim from the approved artifact build (single source of truth).
   Design tokens: pale lavender wash #F3F1FB, blue-grey wash #EAF0F7, offset lilac #E7E1FF;
   action green tick #0FA45A, CTA fill --action #0C854B (hover #0A6E3B), emerald #046A38 / #059669;
   navy #0A1F33, gold #C9A227 / #E3B505; headings Plus Jakarta Sans, body Inter; cards 20px radius.
   Fonts are loaded from Google Fonts in the theme header (Plus Jakarta Sans 600/700/800, Inter 400/500/600/700).
*/
:root{
  --navy:#0A1F33; --navy2:#12314f; --emerald:#046A38; --emerald2:#059669; --gold:#C9A227; --gold2:#E3B505;
  --action:#0C854B; --action-dark:#0A6E3B; --action-edge:#0B7A43; --tick:#0FA45A;
  --lav:#F3F1FB; --bluegrey:#EAF0F7; --offset:#E7E1FF; --head:#111827;
  --bg:#FDFDFE; --surface:#ffffff; --surface2:#EEF2F5; --mint:#E6F4EA; --ink:#334155; --ink2:#475569; --line:#E2E8F0;
  --header-bg:rgba(255,255,255,.94); --shadow:0 10px 30px rgba(10,31,51,.10); --radius:14px; --radius-card:20px; --card-shadow:0 8px 28px rgba(17,24,39,.06);
  color-scheme:light;
}
html{background:#FDFDFE;color-scheme:light}
input,select,textarea{color-scheme:light;background-color:#ffffff;color:#111827}
input::placeholder,textarea::placeholder{color:#64748b;opacity:1}
select option,select optgroup{background-color:#ffffff;color:#111827}
input[type="checkbox"],input[type="radio"]{color-scheme:light;background-color:#ffffff}
table.cmp td{background-color:#ffffff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:16.5px}
h1,h2,h3,h4{font-family:"Plus Jakarta Sans",Inter,sans-serif;line-height:1.18;color:var(--head);margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4.6vw,3.1rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:800}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--emerald)}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
section{padding:56px 0}
.wash-lav{background:var(--lav)}
.wash-blue{background:var(--bluegrey)}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald);margin-bottom:10px}
.hero-badge{display:inline-flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:7px 14px;font-size:.84rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow);margin-bottom:16px;max-width:100%;flex-wrap:wrap}
.hb-stars{display:inline-flex;gap:2px;color:#E0A32E;flex:none}.hb-stars svg{width:13px;height:13px;fill:currentColor;display:block}
section.sec-inset{padding-top:24px}
.lede{font-size:1.13rem;color:var(--ink2)}
.btn{display:inline-block;background:var(--action);color:#fff;font-weight:700;padding:14px 26px;border-radius:11px;text-decoration:none;border:0;cursor:pointer;font-size:1rem;font-family:inherit;box-shadow:0 3px 0 var(--action-edge)}
.btn:hover{background:var(--action-dark)}
.btn.secondary{background:transparent;color:var(--action-dark);border:2px solid var(--action);box-shadow:none}
.btn.gold{background:var(--gold);color:#0A1F33;box-shadow:none}
.btn.gold:hover{background:var(--gold2)}
header.site{position:sticky;top:0;z-index:60;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:22px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{width:40px;height:40px}
.brand .wm{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.18rem;color:var(--head)}
.brand .wm em{font-style:normal;color:var(--emerald2)}
.brand .wm .pt{color:var(--gold)}
nav.main{margin-left:auto;display:flex;gap:20px;align-items:center}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
nav.main a:hover{color:var(--emerald)}
nav.main a.btn{color:#fff;padding:10px 18px}
@media(max-width:860px){nav.main a:not(.btn){display:none}}
.hero{background:linear-gradient(180deg,var(--lav),var(--bg));padding:48px 0 56px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:22px}
.hero-photo img{width:100%;height:230px;object-fit:cover}
.price-line{font-weight:700;color:var(--navy);background:var(--surface);border:1px solid var(--line);display:inline-block;padding:8px 14px;border-radius:100px;margin:6px 0 18px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.sample-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:14px 14px 0 var(--offset);padding:22px}
.sample-tag{display:inline-block;background:var(--gold);color:#0A1F33;font-weight:800;font-size:.72rem;letter-spacing:.1em;padding:4px 10px;border-radius:100px;text-transform:uppercase}
.sample-card .org{font-weight:700;color:var(--ink2);font-size:.85rem;margin-top:12px}
.niss-num{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:800;letter-spacing:.14em;color:var(--navy);margin:6px 0}
.tracker{margin-top:18px}
.tracker li{list-style:none;display:flex;gap:12px;padding:9px 0;border-top:1px dashed var(--line);font-weight:600}
.tracker{padding:0;margin:18px 0 0}
.tracker .dot{width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--mint);color:var(--emerald);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;border:1.5px solid var(--emerald2)}
.trust{background:var(--navy);color:#fff}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:30px;padding-bottom:30px}
@media(max-width:900px){.trust .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.trust .wrap{grid-template-columns:1fr}}
.trust h3{color:#fff;margin-bottom:2px;font-size:1rem}
.trust p{color:#c8d8cf;margin:0;font-size:.92rem}
.trust a{color:var(--gold2)}
.trust .ic{font-size:1.3rem;margin-bottom:6px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:22px}
.price-card li::marker,.verdict li::marker{color:var(--tick)}
.grid{display:grid;gap:18px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid.c3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid.c3,.grid.c2{grid-template-columns:1fr}}
.card h3{margin-bottom:6px}
.card p{color:var(--ink2);margin:0;font-size:.97rem}
table.cmp{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.96rem}
table.cmp th,table.cmp td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.cmp th{background:var(--navy);color:#fff;font-family:"Plus Jakarta Sans",sans-serif}
table.cmp td:first-child{font-weight:700}
.table-scroll{overflow-x:auto;border-radius:var(--radius)}
@media(max-width:640px){.stack-table table,.stack-table thead,.stack-table tbody,.stack-table tr,.stack-table td{display:block;width:100%}.stack-table thead{display:none}.stack-table tr{border-bottom:2px solid var(--line);padding:8px 0}.stack-table td{border:0;padding:6px 15px}.stack-table td::before{content:attr(data-h);display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--emerald)}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.steps{grid-template-columns:1fr}}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:22px}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--emerald);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-family:"Plus Jakarta Sans",sans-serif}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tab{border:1.5px solid var(--action);background:transparent;color:var(--action-dark);font-weight:700;padding:9px 16px;border-radius:100px;cursor:pointer;font-family:inherit;font-size:.95rem}
.tab[aria-selected="true"]{background:var(--action);color:#fff}
.checker{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:26px;box-shadow:var(--card-shadow)}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;margin-bottom:6px}
.field select,.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field input[type="date"]{width:100%;padding:13px 14px;min-height:50px;border:1.5px solid #A9BACB;border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem}
.field select{appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230A1F33' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.field select:focus,.field input[type="text"]:focus,.field input[type="email"]:focus,.field input[type="tel"]:focus,.field input[type="date"]:focus{outline:2px solid var(--action);outline-offset:1px;border-color:var(--action)}
@media(max-width:640px){
  .checker{padding:20px 16px}
  .field{margin-bottom:20px}
  .field label{font-size:1.02rem}
  .field select,.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field input[type="date"]{min-height:56px;padding:15px 14px;font-size:16px}
  .field select{padding-right:46px}
}
.field .hint{font-size:.87rem;color:var(--ink2);margin-top:4px}
.verdict{border-radius:10px;padding:18px;margin-top:18px;display:none}
.verdict.show{display:block}
.verdict.ok{background:var(--mint);border:1px solid var(--emerald2)}
.verdict.warn{background:#fdf3d7;border:1px solid var(--gold);color:#14231c}
.verdict h3{margin-bottom:4px}
.verdict ul{margin:8px 0 0;padding-left:20px}
.notice{background:var(--mint);border:1px solid var(--emerald2);border-radius:var(--radius);padding:24px}
.notice.gold{background:#fbf3d3;border-color:var(--gold);color:#14231c}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:800px){.pricing-grid{grid-template-columns:1fr}}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:28px}
.price-card.featured{border:2.5px solid var(--gold);box-shadow:var(--shadow)}
.price-card .amount{font-family:"Plus Jakarta Sans",sans-serif;font-size:2.4rem;font-weight:800;color:var(--navy)}
.price-card ul{padding-left:20px;margin:12px 0}
.price-card li{margin-bottom:6px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);margin-bottom:10px;overflow:hidden}
.faq-item button{width:100%;text-align:left;background:none;border:0;padding:17px 20px;font:inherit;font-weight:700;cursor:pointer;color:var(--ink);display:flex;justify-content:space-between;gap:14px}
.faq-item .ans{padding:0 20px 18px;color:var(--ink2);display:none}
.faq-item.open .ans{display:block}
.form-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:22px}
.form-steps span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:9px 6px;border-radius:8px;background:var(--surface2);font-weight:700;font-size:.85rem;color:var(--ink2);line-height:1.3}
@media(max-width:640px){.form-steps{grid-template-columns:repeat(2,1fr)}.form-steps span{min-height:52px}}
.form-steps span.on{background:var(--action);color:#fff}
.fstep{display:none}.fstep.on{display:block}
.fstep[data-step="4"] .btn{margin-top:16px}
.price-box{background:var(--mint);border:1px solid var(--emerald2);border-radius:10px;padding:18px;margin:18px 0}
.price-box .row{display:flex;justify-content:space-between;padding:4px 0}
.price-box .total{border-top:1px solid var(--emerald2);margin-top:8px;padding-top:10px;font-weight:800;font-size:1.15rem}
.upload-zone{border:2px dashed var(--line);border-radius:var(--radius-card);padding:22px;text-align:center;background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.upload-zone:hover,.upload-zone:focus-visible{border-color:var(--action);outline:none}
.upload-zone.drag{border-color:var(--action);background:var(--mint)}
.upload-zone .dz-title{font-weight:800;color:var(--head);font-family:"Plus Jakarta Sans",sans-serif}
.upload-zone .dz-sub{color:var(--ink2);font-size:.9rem;margin:4px 0 0}
.doc-expect{list-style:none;padding:0;margin:10px 0 0}
.doc-expect li{padding:5px 0 5px 28px;position:relative;font-size:.95rem}
.doc-expect li::before{content:"\2713";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--mint);color:var(--emerald);border:1.5px solid var(--emerald2);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800}
.file-row{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:8px;background:var(--surface);text-align:left}
.file-thumb{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.file-badge{width:44px;height:44px;flex:0 0 44px;border-radius:8px;background:var(--bluegrey);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.68rem;letter-spacing:.04em}
.file-meta{flex:1;min-width:0}
.file-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-size{font-size:.85rem;color:var(--ink2)}
.file-remove{background:none;border:1.5px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 11px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;flex:0 0 auto}
.file-remove:hover{border-color:#b3261e;color:#b3261e}
.summary-text{width:100%;min-height:170px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;text-align:left;margin:14px 0}
.success-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.success{background:var(--mint);border:2px solid var(--emerald2);border-radius:var(--radius);padding:30px;text-align:center;display:none}
.success.show{display:block}
.success .ref{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.6rem;font-weight:800;color:var(--emerald)}
footer.site{background:var(--navy);color:#d7e3da;padding:52px 0 90px;margin-top:0}
footer.site a{color:#fff}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-size:1rem;margin-bottom:10px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:7px}
footer li a{text-decoration:none;color:#c8d8cf}
footer li a:hover{color:#fff}
.disclaimer{border-top:1px solid #26435f;margin-top:34px;padding-top:20px;font-size:.88rem;color:#a9bfb2}
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--navy);padding:10px 14px;gap:10px;align-items:center}
.sticky-cta .p{color:#fff;font-weight:800}
.sticky-cta a{flex:1;text-align:center}
@media(max-width:760px){.sticky-cta{display:none} body{padding-bottom:0}}
.guide-hero{border-radius:var(--radius);overflow:hidden;margin-bottom:26px}
.guide-hero img{width:100%;height:300px;object-fit:cover}
.byline{color:var(--ink2);font-size:.92rem;margin-bottom:18px}
article.guide-body h2{margin-top:34px}
article.guide-body{max-width:780px}
.hidden-view{display:none}
.err{color:#b3261e;font-size:.88rem;display:none;margin-top:4px}
input.invalid,select.invalid{border-color:#b3261e !important}
.radio-row{display:flex;gap:12px;flex-wrap:wrap}
.radio-card{flex:1;min-width:200px;border:1.5px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;background:var(--surface)}
.radio-card input{margin-right:8px}
.radio-card.sel{border-color:var(--emerald2);background:var(--mint)}
.checkline{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.checkline input{margin-top:5px;width:18px;height:18px}
.tip{cursor:help;border-bottom:2px dotted var(--gold);outline:none}
.tip:focus-visible{outline:2px solid var(--emerald2);outline-offset:2px;border-radius:2px}
.tip-box{position:fixed;z-index:200;max-width:min(300px,86vw);background:var(--navy);color:#fff;font-size:.88rem;font-weight:500;line-height:1.5;padding:13px 15px;border-radius:10px;border-top:3px solid var(--gold);box-shadow:0 14px 34px rgba(10,31,51,.28);opacity:0;visibility:hidden;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease,visibility .16s;pointer-events:none}
.tip-box.show{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media (prefers-reduced-motion: reduce){.tip-box{transition:none}}
.digit-row{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 6px}
.digit-box{width:44px;height:54px;text-align:center;font-size:1.35rem;font-weight:800;font-family:"Plus Jakarta Sans",sans-serif;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--head)}
.digit-box:focus{outline:2px solid var(--action);outline-offset:1px;border-color:var(--action)}
.digit-box.check{border-color:var(--gold);background:#fdf6d8;box-shadow:0 0 0 2px rgba(201,162,39,.25)}
@media(max-width:560px){.digit-box{width:calc((100% - 60px)/11);min-width:24px;height:46px;font-size:1rem;padding:0}}
.chip{border:1.5px solid var(--action);background:var(--surface);color:var(--action-dark);font-weight:700;padding:8px 13px;border-radius:100px;cursor:pointer;font-family:inherit;font-size:.88rem}
.chip:hover{background:var(--mint)}
.check-list{list-style:none;padding:0;margin:12px 0 0}
.check-list li{padding:7px 0 7px 30px;position:relative;border-top:1px dashed var(--line)}
.check-list li::before{position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800}
.check-list li.pass::before{content:"\2713";background:var(--mint);color:var(--emerald);border:1.5px solid var(--emerald2)}
.check-list li.fail::before{content:"\2715";background:#fde8e8;color:#b3261e;border:1.5px solid #b3261e}
.val-result{display:none;margin-top:20px}
.val-result.show{display:block}
.val-result.valid{background:var(--mint);border:1px solid var(--emerald2);border-radius:10px;padding:18px}
.val-result.invalid{background:#fdf3d7;border:1px solid var(--gold);border-radius:10px;padding:18px;color:#14231c}
.tax-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
@media(max-width:900px){.tax-summary-grid{grid-template-columns:1fr}}
.tax-summary h2{font-size:1.15rem;margin-bottom:10px}
.tax-mini{border-top:1px dashed var(--line);padding:9px 0}
.tax-mini:first-of-type{border-top:0}
.tax-mini strong{display:block;color:var(--head)}
.tax-mini span{font-size:.9rem;color:var(--ink2)}
.tax-next-big{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.55rem;font-weight:800;color:var(--head);line-height:1.25}
.tax-controls{margin-top:20px}
.tax-control-label{font-weight:800;color:var(--head);margin:18px 0 8px}
.tax-control-label:first-child{margin-top:0}
.tax-chip-row{display:flex;gap:8px;flex-wrap:wrap}
.tax-chip{border:1.5px solid var(--action);background:var(--surface);color:var(--action-dark);font-weight:700;padding:8px 13px;border-radius:100px;cursor:pointer;font-family:inherit;font-size:.9rem}
.tax-chip[aria-pressed="true"],.tax-chip.on{background:var(--action);color:#fff}
.tax-toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}
@media(max-width:640px){.tax-toggle-grid{grid-template-columns:1fr}}
.tax-search{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}
.num-cards{display:none}
.cmp-cards{display:none}
@media(max-width:640px){
  .nums-table{display:none}
  .num-cards{display:grid;gap:14px}
  .num-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);overflow:hidden}
  .num-card h3{background:var(--navy);color:#fff;margin:0;padding:12px 18px;font-size:1.05rem}
  .num-card dl{margin:0;padding:6px 18px 12px}
  .num-card .nr{padding:9px 0;border-top:1px dashed var(--line)}
  .num-card .nr:first-child{border-top:0}
  .num-card dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--emerald);margin-bottom:2px}
  .num-card dd{margin:0;color:var(--ink)}
  .cmp-table-wrap{display:none}
  .cmp-cards{display:grid;gap:14px}
  .cmp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);overflow:hidden}
  .cmp-card h3{background:var(--navy);color:#fff;margin:0;padding:12px 18px;font-size:1.05rem}
  .cmp-card dl{margin:0;padding:6px 18px 12px}
  .cmp-card .nr{padding:9px 0;border-top:1px dashed var(--line)}
  .cmp-card .nr:first-child{border-top:0}
  .cmp-card dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--emerald);margin-bottom:2px}
  .cmp-card dd{margin:0;color:var(--ink)}
}
.tax-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.tax-month{margin-top:30px}
.tax-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:16px}
.tax-month-head h3{font-size:1.3rem;margin:0}
.tax-month-head span{color:var(--ink2);font-size:.92rem;font-weight:700}
.tax-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:820px){.tax-card-grid{grid-template-columns:1fr}}
.tax-card{display:flex;flex-direction:column}
.tax-card-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.tax-tag{display:inline-block;background:var(--bluegrey);color:var(--navy);font-weight:800;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:100px}
.tax-status{margin-left:auto;font-weight:800;font-size:.84rem;color:var(--action-dark)}
.tax-status.closed{color:#b3261e}
.tax-prov{display:inline-block;background:#fdf3d7;border:1px solid var(--gold);color:#6b5200;font-weight:800;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:100px}
.tax-dates{font-weight:700;color:var(--head);margin-bottom:8px}
.tax-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.tax-small-btn{display:inline-block;border:1.5px solid var(--action);background:var(--surface);color:var(--action-dark);font-weight:700;padding:8px 12px;border-radius:9px;cursor:pointer;font-family:inherit;font-size:.88rem;text-decoration:none}
.tax-small-btn:hover{background:var(--mint)}
.tax-details{display:none;border-top:1px dashed var(--line);margin-top:14px;padding-top:12px;font-size:.94rem}
.tax-details.show{display:block}
.tax-details p{margin-bottom:8px;color:var(--ink2)}
.tax-details strong{color:var(--head)}
.tax-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;margin-top:22px}
.tax-print-view{display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:26px;margin-top:22px}
.tax-print-view.show{display:block}
.tax-print-view li{margin-bottom:8px}
/* Situation + spotlight panel, year at a glance Gantt */
:root{
  --cat-ss:#046A38; --cat-irs:#0A1F33; --cat-iva:#6D4C9F; --cat-imi:#C4551B; --cat-iuc:#0E7C86; --cat-admin:#B03060;
  --cat-ss-bg:#CDEBD9; --cat-irs-bg:#C9D6E4; --cat-iva-bg:#E0D5F2; --cat-imi-bg:#F8DCC8; --cat-iuc-bg:#CBE9EC; --cat-admin-bg:#F6D3E0;
}
.tax-panel-grid{display:grid;grid-template-columns:5fr 7fr;gap:18px;margin-top:26px;align-items:stretch}
@media(max-width:900px){.tax-panel-grid{grid-template-columns:1fr}}
.tax-situation h2{font-size:1.3rem;margin:0}
.tax-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.tax-panel-head .hint{color:var(--ink2);font-size:.9rem;font-weight:600}
.tax-sit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
@media(max-width:520px){.tax-sit-grid{grid-template-columns:1fr}}
.tax-sit-card{position:relative;display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px 36px 14px 14px;cursor:pointer;font:inherit;width:100%}
.tax-sit-card:hover{border-color:var(--action)}
.tax-sit-card .ic{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--emerald)}
.tax-sit-card .ic svg{width:22px;height:22px}
.tax-sit-card .lbl{display:block;font-weight:800;color:var(--head);line-height:1.3}
.tax-sit-card .sub{display:block;color:var(--ink2);font-size:.88rem;line-height:1.35;margin-top:2px}
.tax-sit-card .box{position:absolute;top:13px;right:13px;width:20px;height:20px;border:1.5px solid var(--line);border-radius:6px;background:var(--surface)}
.tax-sit-card[aria-pressed="true"]{border-color:var(--action);background:var(--mint)}
.tax-sit-card[aria-pressed="true"] .box{background:var(--action);border-color:var(--action)}
.tax-sit-card[aria-pressed="true"] .box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(42deg)}
.tax-count{display:flex;gap:14px;align-items:center;background:var(--surface2);border-radius:14px;padding:14px 16px;margin-top:16px}
.tax-count .num{font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;color:var(--navy);line-height:1}
.tax-count p{margin:0;font-size:.95rem;color:var(--ink2)}
.tax-count p strong{color:var(--head)}
.tax-spotlight{background:var(--bluegrey);border-radius:var(--radius-card);padding:26px;display:flex;flex-direction:column}
.tax-spot-status{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.8rem;letter-spacing:.1em;color:var(--action-dark)}
.tax-spot-status .dot{width:10px;height:10px;border-radius:50%;background:var(--tick);box-shadow:0 0 0 4px rgba(15,164,90,.18)}
.tax-spot-status.soon{color:var(--gold)}
.tax-spot-status.soon .dot{background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,39,.2)}
.tax-spot-main{display:flex;gap:22px;align-items:flex-start;margin-top:16px}
@media(max-width:520px){.tax-spot-main{flex-direction:column}}
.tax-cal-block{flex:0 0 118px;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow);text-align:center}
.tax-cal-block .mo{background:var(--emerald);color:#fff;font-weight:800;letter-spacing:.14em;font-size:.85rem;padding:7px 0}
.tax-cal-block .dy{font-family:"Plus Jakarta Sans",sans-serif;font-size:2.9rem;font-weight:800;color:var(--head);line-height:1.12}
.tax-cal-block .wd{color:var(--ink2);font-size:.88rem;font-weight:600;padding-bottom:10px}
.tax-spot-info{flex:1;min-width:0}
.tax-spot-days{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;color:var(--head);font-size:1.7rem;line-height:1.1}
.tax-spot-days span{font-size:1rem;font-weight:700;color:var(--ink2)}
.tax-spot-info h3{font-size:1.3rem;margin:6px 0 4px}
.tax-spot-meta{color:var(--ink2);margin:0 0 14px;font-size:.97rem}
.tax-spot-meta strong{color:var(--head)}
.tax-progress{position:relative;height:9px;border-radius:100px;background:var(--line);margin:20px 0 8px}
.tax-progress .fill{position:absolute;left:0;top:0;bottom:0;border-radius:100px;background:var(--emerald)}
.tax-progress .mark{position:absolute;top:-4px;width:3px;height:17px;border-radius:2px;background:var(--head);transform:translateX(-50%)}
.tax-progress-lbl{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.88rem;color:var(--ink2)}
.tax-progress-lbl strong{color:var(--head)}
.tax-spot-desc{color:var(--ink);margin:14px 0 0;font-size:.97rem}
.tax-spot-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:20px;align-items:center}
.tax-spot-actions .btn.primary{background:var(--action);color:#fff;border:0}
.tax-spot-actions .btn.primary:hover{background:var(--action-dark)}
.tax-spot-remind{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tax-spot-remind .pop{display:none;gap:8px;flex-wrap:wrap}
.tax-spot-remind.open .pop{display:flex}
.tax-card.flash{outline:3px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion: no-preference){.tax-card.flash{transition:outline-color .3s ease}}
.tax-gantt-card{margin-top:18px;padding:24px 26px}
.tax-gantt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.tax-gantt-head h2{font-size:1.45rem;margin:0 0 4px}
.tax-gantt-head .sub{color:var(--ink2);margin:0;font-size:.95rem}
.tax-legend{display:flex;gap:16px;align-items:center;font-size:.88rem;color:var(--ink2);font-weight:600;padding-top:6px}
.tax-legend .sw{display:inline-block;width:26px;height:11px;border-radius:6px;background:var(--surface2);border:1.5px solid var(--ink2);vertical-align:-1px;margin-right:6px}
.tax-legend .dm{display:inline-block;width:10px;height:10px;background:var(--navy);transform:rotate(45deg);vertical-align:0;margin-right:7px}
.tax-gantt-scroll{overflow-x:auto;margin-top:18px;padding-bottom:6px}
.tax-gantt{position:relative;min-width:1060px;padding-top:24px}
.tax-gantt-grid{position:relative;display:grid;grid-template-columns:120px 1fr;column-gap:12px}
.tax-gantt-months{display:grid}
.tax-gantt-months span{font-size:.8rem;font-weight:700;color:var(--ink2);padding:2px 0 8px 6px;border-left:1px dashed var(--line);white-space:nowrap}
.tax-gantt-months span.cur{color:var(--navy)}
.tax-g-line{position:absolute;top:0;bottom:0;width:2px;background:var(--navy);z-index:3;pointer-events:none}
.tax-g-today{position:absolute;top:-24px;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:2px 8px;border-radius:100px;z-index:4;pointer-events:none}
.tax-g-row{display:contents}
.tax-g-label{position:sticky;left:0;z-index:2;background:var(--surface);display:flex;align-items:center;gap:8px;font-weight:800;color:var(--head);font-size:.92rem;padding:9px 10px 9px 0;align-self:start;min-height:40px}
.tax-g-label .cdot{flex:0 0 9px;width:9px;height:9px;border-radius:3px;transform:rotate(45deg)}
.tax-g-track{position:relative;border-top:1px solid var(--line)}
.tax-g-bar{position:absolute;height:22px;border-radius:8px;border:1.5px solid;cursor:pointer;padding:0 7px;font-size:.72rem;font-weight:700;line-height:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--navy);font-family:inherit;text-align:left}
.tax-g-bar:hover,.tax-g-bar:focus-visible{filter:brightness(.96);z-index:5}
.tax-g-dia{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%) rotate(45deg);cursor:pointer;border:0;padding:0;z-index:2}
.tax-g-dia:hover,.tax-g-dia:focus-visible{filter:brightness(1.15);z-index:5}
.tax-gantt-note{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--ink2);font-size:.9rem;margin-top:14px}
.tax-gantt-note p{margin:0}
.tax-gtip{position:fixed;z-index:300;max-width:min(300px,86vw);background:var(--navy);color:#fff;font-size:.88rem;line-height:1.5;padding:11px 13px;border-radius:10px;border-top:3px solid var(--gold);box-shadow:0 14px 34px rgba(10,31,51,.28);opacity:0;visibility:hidden;pointer-events:none}
.tax-gtip.show{opacity:1;visibility:visible}
.tax-gtip strong{display:block;font-size:.95rem;margin-bottom:2px}
.tax-summary-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media(max-width:820px){.tax-summary-row{grid-template-columns:1fr}}
@media print{
  header.site,footer.site,.sticky-cta,.tax-summary-grid,.tax-panel-grid,.tax-gantt-card,.tax-summary-row,#tax-tool,#tax-results,.tax-after,#tax-address-card{display:none !important}
  #tax-print-view{display:block !important;border:0}
  body{background:#fff}
}
.brand{min-width:0}nav.main{flex-shrink:0}.brand.wm{white-space:nowrap}@media(max-width:520px){.header-in{gap:12px}.brand{gap:8px}.brand img{width:34px;height:34px}.brand.wm{font-size:1.02rem}nav.main a.btn{padding:9px 14px;font-size:.95rem;white-space:nowrap}}