/* Dom Accounting — tax calculator pages (builds on site.css tokens) */
.calc-hero{padding:56px 0 24px;}
.calc-hero h1{font-size:clamp(32px,5vw,50px); letter-spacing:-.01em; max-width:820px;}
.calc-hero h1 em{font-style:normal; color:var(--brass-dark);}
.calc-hero .lede{margin-top:16px; max-width:640px;}
.calc-section{padding:24px 0 56px;}

.calc-grid{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:28px; align-items:start;}
@media(max-width:900px){ .calc-grid{grid-template-columns:1fr;} }

.calc-card{background:var(--paper-2); border:1px solid var(--line); border-radius:8px; padding:26px; box-shadow:0 10px 30px -18px rgba(30,59,44,.35);}
.calc-card h2{font-size:26px; margin-bottom:6px;}

.calc-tabs{display:flex; gap:6px; background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:5px; margin-bottom:22px;}
.calc-tab{flex:1; border:none; background:transparent; font-family:var(--font-body); font-weight:600; font-size:15px; color:var(--ink-soft); padding:11px 8px; border-radius:5px; cursor:pointer; transition:background .15s,color .15s;}
.calc-tab[aria-selected="true"]{background:var(--ink); color:var(--paper);}
.calc-tab:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}

.cf{margin-bottom:18px;}
.cf label{display:block; font-weight:600; font-size:14.5px; margin-bottom:6px;}
.cf .hint{display:block; font-size:13px; color:var(--sage-muted); margin-top:5px; line-height:1.4;}
.money{position:relative;}
.money span.cur{position:absolute; left:14px; top:50%; transform:translateY(-50%); font-family:var(--font-mono); color:var(--ink-soft); pointer-events:none;}
.money input{width:100%; padding:13px 14px 13px 30px; border:1px solid var(--line); border-radius:6px; font-family:var(--font-mono); font-size:17px; color:var(--ink); background:var(--paper);}
.money input:focus{outline:2px solid var(--brass); outline-offset:1px; background:#fff;}
.profit-line{display:flex; justify-content:space-between; align-items:baseline; background:var(--paper); border:1px dashed var(--line); border-radius:6px; padding:12px 14px; margin-bottom:18px; font-size:14.5px;}
.profit-line strong{font-family:var(--font-mono); font-size:17px; font-weight:500;}
.calc-note{font-size:13px; color:var(--sage-muted); line-height:1.5;}

/* Results */
.res-head{font-family:var(--font-mono); font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--brass-dark); margin-bottom:6px;}
.res-big{font-family:var(--font-display); font-weight:700; font-size:clamp(44px,7vw,64px); line-height:1; letter-spacing:-.02em; color:var(--ink);}
.res-sub{color:var(--ink-soft); font-size:15.5px; margin-top:8px;}
.res-sub b{color:var(--ink);}
.split-bar{display:flex; height:16px; border-radius:8px; overflow:hidden; margin:20px 0 10px; background:var(--line);}
.split-bar i{display:block; height:100%; min-width:2px; transition:width .35s ease;}
.legend{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px; color:var(--ink-soft); margin-bottom:6px;}
.legend span::before{content:''; display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; background:var(--c); vertical-align:-1px;}
.res-table{width:100%; border-collapse:collapse; margin-top:12px; font-size:15px;}
.res-table td{padding:10px 0; border-bottom:1px solid var(--line);}
.res-table td:last-child{text-align:right; font-family:var(--font-mono); white-space:nowrap;}
.res-table tr.total td{border-bottom:2px solid var(--ink); font-weight:600;}
.res-table tr.keep td{border-bottom:none; font-weight:600; color:var(--ink); font-size:16.5px;}
.res-table tr.sub td{color:var(--ink-soft); font-size:14px; padding-left:14px;}
.res-table tr.sub td:first-child{padding-left:14px;}
.res-note{margin-top:14px; font-size:14px; color:var(--ink-soft); background:var(--paper); border-left:3px solid var(--brass); padding:10px 14px; border-radius:0 6px 6px 0; line-height:1.5;}
.res-note.warn{border-left-color:var(--stamp);}
.cmp-box{margin-top:18px; border:1px solid var(--line); border-radius:8px; padding:16px 18px; background:var(--paper);}
.cmp-box h3{font-family:var(--font-body); font-weight:600; font-size:15px; margin-bottom:10px;}
.cmp-row{display:flex; justify-content:space-between; gap:12px; font-size:15px; padding:5px 0;}
.cmp-row b{font-family:var(--font-mono); font-weight:500;}
.cmp-verdict{margin-top:8px; font-size:14.5px; color:var(--ink);}
.cmp-small{margin-top:8px; font-size:13px; color:var(--sage-muted); line-height:1.45;}
.hidden{display:none !important;}
.empty-state{color:var(--sage-muted); font-size:15.5px; padding:18px 0;}

/* Lead capture */
.lead-card{margin-top:28px; background:var(--ink); color:var(--paper); border-radius:10px; padding:30px; display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media(max-width:800px){ .lead-card{grid-template-columns:1fr; padding:24px;} }
.lead-card h2{color:var(--paper); font-size:clamp(26px,3.4vw,34px);}
.lead-card p{color:#D6E0D2; font-size:15.5px; margin-top:10px; max-width:460px;}
.lead-card .price-hint{margin-top:14px; font-family:var(--font-mono); font-size:13px; color:var(--gold,#D9A63C);}
.lead-form .cf label{color:var(--paper);}
.lead-form input[type=text],.lead-form input[type=email],.lead-form input[type=tel]{width:100%; padding:12px 13px; border:1px solid #3F5C4C; border-radius:6px; background:#fff; color:var(--ink); font-family:var(--font-body); font-size:16px;}
.lead-form input:focus{outline:2px solid var(--brass); outline-offset:1px;}
.lead-form .btn{width:100%; justify-content:center; background:var(--brass); color:#fff; border-color:var(--brass);}
.lead-form .btn:hover{background:var(--gold,#D9A63C);}
.lead-form .consent{font-size:12.5px; color:#B9C9B7; margin-top:10px; line-height:1.45;}
.lead-form .consent a{color:#fff;}
.lead-wa{display:flex; align-items:center; justify-content:center; gap:9px; margin-top:12px; background:#25D366; color:#fff; font-weight:600; font-size:15px; padding:12px 16px; border-radius:6px; text-decoration:none;}
.lead-wa:hover{background:#1DA851;}
.lead-error{display:none; color:#FFB4A8; font-size:14px; margin-top:8px;}
.lead-error.show{display:block;}
.lead-success{display:none; background:rgba(255,255,255,.08); border-radius:8px; padding:20px; font-size:16px;}
.lead-success.show{display:block;}
.hp{position:absolute; left:-9999px; height:0; overflow:hidden;}

/* Info content */
.info{padding:8px 0 64px;}
.info .wrap > *:not(.card-grid){max-width:860px;}
.info .wrap > .card-grid{max-width:none;}
.info h2{margin-top:44px; margin-bottom:12px;}
.info p{color:var(--ink-soft); font-size:16px; margin-bottom:14px; line-height:1.65;}
.info ul{margin:0 0 16px 20px; color:var(--ink-soft); line-height:1.65;}
.info li{margin-bottom:6px;}
.rate-table{width:100%; border-collapse:collapse; margin:10px 0 22px; font-size:15px; background:var(--paper-2); border:1px solid var(--line);}
.rate-table th,.rate-table td{padding:10px 12px; text-align:left; border-bottom:1px solid var(--line);}
.rate-table th{font-family:var(--font-mono); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--brass-dark); background:var(--paper);}
.rate-table{table-layout:fixed;}
.rate-table th:last-child,.rate-table td:last-child{width:40%; text-align:right;}
.rate-table td:last-child{font-family:var(--font-mono); font-size:14px; overflow-wrap:anywhere;}
@media(max-width:480px){ .rate-table th:last-child,.rate-table td:last-child{width:34%;} .rate-table th,.rate-table td{padding:9px 10px;} }
.src{font-size:13.5px; color:var(--sage-muted);}
.src a{color:var(--brass-dark);}
.disclaimer{margin-top:36px; padding:16px 18px; border:1px solid var(--line); border-radius:8px; font-size:13.5px; color:var(--ink-soft); background:var(--paper-2); line-height:1.55;}
.lang-link{font-family:var(--font-mono); font-size:13px; background:var(--paper-2); border:1px solid var(--line); border-radius:3px; padding:7px 10px; color:var(--ink-soft); text-decoration:none;}
.lang-link:hover{border-color:var(--brass); color:var(--ink);}
@media(max-width:480px){ .calc-card{padding:20px;} .calc-hero{padding-top:32px;} .res-table{font-size:14.5px;} }

/* Content pages */
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.hero-cta .btn{text-decoration:none;}
.steps-list{margin:0 0 18px 0; padding-left:0; list-style:none; counter-reset:st;}
.steps-list li{counter-increment:st; position:relative; padding:12px 0 12px 48px; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.6; margin:0;}
.steps-list li::before{content:counter(st); position:absolute; left:0; top:12px; width:32px; height:32px; border-radius:50%; background:var(--ink); color:var(--paper); font-family:var(--font-mono); font-size:14px; display:flex; align-items:center; justify-content:center;}
.card-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:14px 0 8px;}
@media(max-width:700px){ .card-grid{grid-template-columns:1fr;} }
.card-link{display:block; background:var(--paper-2); border:1px solid var(--line); border-radius:8px; padding:20px 22px; text-decoration:none; color:var(--ink); transition:border-color .15s, transform .15s;}
.card-link:hover{border-color:var(--brass); transform:translateY(-2px);}
.card-link strong{display:block; font-family:var(--font-display); font-size:22px; font-weight:600; margin-bottom:6px;}
.card-link span{display:block; color:var(--ink-soft); font-size:14.5px; line-height:1.5;}
.info .faq-item{margin-bottom:0;}
.info h2:first-child{margin-top:8px;}
.updated-line{font-family:var(--font-mono); font-size:12.5px; color:var(--sage-muted); margin-bottom:6px;}

/* text tables (cookie policy): left-aligned, no fixed numeric column */
.rate-table.txt{table-layout:auto;}
.rate-table.txt th:last-child,.rate-table.txt td:last-child{width:auto; text-align:left; font-family:var(--font-body); font-size:15px;}
.rate-table.txt td{vertical-align:top;}
@media(max-width:600px){ .rate-table.txt th,.rate-table.txt td{padding:8px 9px; font-size:14px;} .rate-table.txt th:last-child,.rate-table.txt td:last-child{font-size:14px;} }
@media(max-width:600px){
  .rate-table.txt{table-layout:fixed; width:100%;}
  .rate-table.txt th,.rate-table.txt td{overflow-wrap:anywhere; hyphens:auto;}
  .rate-table.txt th{font-size:10.5px; letter-spacing:.03em;}
  .rate-table.txt th:nth-child(1),.rate-table.txt td:nth-child(1){width:32%;}
  .rate-table.txt th:nth-child(2),.rate-table.txt td:nth-child(2){width:40%;}
  .rate-table.txt th:nth-child(3),.rate-table.txt td:nth-child(3){width:28%;}
}

.legal-line{margin-top:16px; font-size:11.5px; line-height:1.55; color:#8FA698; max-width:760px;}
