/* COD Tax Solutions — design tokens and reusable components, v1.0 */
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source-sans-3-variable.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{
  --color-logo-magenta:#E807F2;
  --color-brand-pink:#F040EE;
  --color-brand-orchid:#D33ED2;
  --color-brand-purple:#B73CB5;
  --color-brand-electric:#D60BED;
  --color-brand-gray:#F0F0F0;
  --color-gold:#D6BB5D;
  --color-gold-dark:#8C7034;
  --color-action:#970EAD;
  --color-action-hover:#760B88;
  --color-plum:#35123E;
  --color-ink:#25132B;
  --color-on-vivid:#16091B;
  --color-muted:#625667;
  --color-white:#FFFFFF;
  --color-surface:#F7F2F8;
  --color-border:#E6DCE8;
  --color-control-border:#89748D;
  --color-success:#236544;
  --color-success-bg:#EAF6EE;
  --color-error:#AD253B;
  --color-error-bg:#FFF0F2;
  --color-warning:#7B551A;
  --color-warning-bg:#FFF5D9;
  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-3:0.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-20:5rem;
  --space-24:6rem;
  --space-30:7.5rem;
  --font-heading:Montserrat,Arial,sans-serif;
  --font-body:'Source Sans 3',Arial,sans-serif;
  --radius-control:12px;--radius-card:20px;--radius-feature:28px;--radius-pill:999px;
  --shadow-card:0 8px 32px rgb(53 18 62 / .06);--shadow-raised:0 16px 40px rgb(53 18 62 / .10);
  --container:1200px;--reading-width:65ch;--gutter:clamp(1.25rem,4vw,3rem);--section-gap:clamp(4rem,8vw,7.5rem);
  --text-display:clamp(2.5rem,1.45rem + 3.5vw,4.5rem);--text-h1:clamp(2.25rem,1.6rem + 2.2vw,3.5rem);--text-h2:clamp(1.875rem,1.4rem + 1.5vw,2.75rem);--text-h3:1.5rem;
  --duration-micro:160ms;--duration-control:220ms;--duration-reveal:500ms;--duration-hero:650ms;
}
*,*::before,*::after{box-sizing:border-box}html{color-scheme:light;scroll-padding-top:2rem}body{margin:0;background:var(--color-white);color:var(--color-ink);font:400 1.125rem/1.6 var(--font-body)}
img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:var(--color-action);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--color-action);outline-offset:4px}.on-dark :focus-visible{outline-color:white}p{margin:0 0 1em}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:inherit;margin:0 0 .55em}h1{font-size:var(--text-h1);line-height:1.12;letter-spacing:-.035em}h2{font-size:var(--text-h2);line-height:1.16;letter-spacing:-.035em}h3{font-size:var(--text-h3);line-height:1.25;letter-spacing:-.02em}h4{font-size:1.125rem;line-height:1.35}.display{font-size:var(--text-display);line-height:1.08;letter-spacing:-.045em}.lead{font-size:1.25rem;line-height:1.5}.caption{font-size:.875rem;line-height:1.5}.muted{color:var(--color-muted)}.eyebrow{font-size:.8125rem;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-action)}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-gap)}.reading{max-width:var(--reading-width)}.stack>*+*{margin-top:var(--space-4)}.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.grid-2,.grid-3{display:grid;gap:var(--space-6)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:48px;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-control);font:600 1rem/1.4 var(--font-body);text-decoration:none;cursor:pointer;transition:background-color var(--duration-micro),border-color var(--duration-micro),color var(--duration-micro);position:relative}
.button:hover{text-decoration:none}.button--primary{background:var(--color-action);color:white}.button--primary:hover{background:var(--color-action-hover)}.button--secondary{border-color:var(--color-action);background:white;color:var(--color-action)}.button--secondary:hover{background:var(--color-surface)}.button--bright{background:var(--color-brand-pink);color:var(--color-ink)}.button--bright:hover{background:#F56BF3}.button--text{padding-inline:.5rem;color:var(--color-action);background:transparent;text-decoration:underline}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;background:#ECE7ED;border-color:#ECE7ED;color:#706475}.button__arrow{display:inline-block}.button--small{min-height:44px;padding:.625rem 1rem}.icon{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:white;padding:var(--space-8);box-shadow:var(--shadow-card)}.card--plum{background:var(--color-plum);color:white;border-color:var(--color-plum)}.card--plum .muted{color:#DBCFE0}.card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-surface);color:var(--color-action);border-radius:12px;margin-bottom:var(--space-5)}.card--plum .card__icon{background:rgb(255 255 255 / .08);color:var(--color-gold)}.badge{display:inline-flex;gap:.375rem;align-items:center;border-radius:var(--radius-pill);padding:.375rem .75rem;font-size:.875rem;font-weight:600;background:var(--color-surface);color:var(--color-action)}.badge--gold{background:var(--color-warning-bg);color:var(--color-warning)}
.field{display:grid;gap:.5rem}.field label{font-size:1rem;font-weight:600}.field input,.field textarea,.field select{width:100%;min-height:52px;background:white;border:1px solid var(--color-control-border);border-radius:var(--radius-control);padding:.75rem 1rem;color:var(--color-ink)}.field textarea{min-height:120px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--color-muted)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border:2px solid var(--color-error)}.field__help{font-size:.875rem;color:var(--color-muted);margin:0}.field__error{font-size:.875rem;color:var(--color-error);margin:0}.field__error:empty{display:none}.notice{padding:1rem 1.25rem;border-radius:12px;background:var(--color-success-bg);color:var(--color-success);border-left:3px solid currentColor}.notice--warning{color:var(--color-warning);background:var(--color-warning-bg)}.notice--error{color:var(--color-error);background:var(--color-error-bg)}
.faq{border-top:1px solid var(--color-border)}.faq details{border-bottom:1px solid var(--color-border);padding-block:1rem}.faq summary{min-height:44px;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:1.5rem;color:var(--color-action)}.faq details[open] summary::after{content:'−'}.faq details p{margin-top:.75rem;max-width:65ch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:1rem;left:1rem;transform:translateY(-200%);z-index:100;background:white;padding:1rem;border-radius:8px}.skip-link:focus{transform:none}[hidden]{display:none!important}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
