/* ════════════════════════════════════════════════════════════════════
   Biz Tax Strategy — brand.css  (BAAS canon)
   Canonical design tokens + reusable components. Single source of truth
   for every NEW public page (tax-review.html, discovery.html).
   Mirrors index.html's inline :root. Keep in sync with BAAS_BrandOS/BRAND_TOKENS.md
   ════════════════════════════════════════════════════════════════════ */

/* ════════ TOKENS ════════ */
:root{
  --paper:#F1E9DA; --paper2:#EADFCB; --card:#FBF7EF; --navy:#11203A; --navy2:#1B2F4E;
  --ink:#1A1712; --ink2:#544B3D; --ink3:#8A7F6B;
  --gold:#9A6B12; --goldb:#E4AF3A; --gold-s:rgba(154,107,18,.10);
  --cream:#F1E9DA; --cream2:rgba(241,233,218,.62);
  --line:rgba(26,23,18,.14); --line2:rgba(26,23,18,.08);
  --dline:rgba(255,255,255,.12); --dline2:rgba(255,255,255,.07);
  --err:#C0492B; --err-s:rgba(192,73,43,.10); --ok:#3E7A53;
  --r:14px; --ease:.85s cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:62.5%;scroll-behavior:smooth;}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink2);
  font-size:1.7rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
::selection{background:rgba(154,107,18,.18);}

/* ════════ TYPE ════════ */
.serif{font-family:'DM Serif Display',serif;font-weight:400;}
.h-hero{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(4rem,8.4vw,8.6rem);line-height:.92;letter-spacing:-.035em;color:var(--ink);text-wrap:balance;}
.h1{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;}
.h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(2rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;}
.lead{font-size:clamp(1.7rem,1.9vw,2rem);line-height:1.55;color:var(--ink2);text-wrap:pretty;}
.body{font-size:1.7rem;line-height:1.7;color:var(--ink2);text-wrap:pretty;}
.sm{font-size:1.45rem;line-height:1.6;}
p{text-wrap:pretty;}
em.gold{font-style:italic;color:var(--gold);}

/* eyebrow / kicker */
.kick{display:inline-flex;align-items:center;gap:14px;margin-bottom:26px;}
.kick .rule{width:36px;height:1px;background:var(--gold);flex-shrink:0;}
.kick .txt{font-size:1.35rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);}
.kick.c{justify-content:center;}
.kick.d .rule{background:var(--goldb);} .kick.d .txt{color:var(--goldb);}

/* dark-section helpers */
.dk{background:var(--navy);color:rgba(255,255,255,.78);}
.dk .h1,.dk .h2,.dk .h-hero{color:#fff;}
.dk .body,.dk .lead{color:rgba(238,233,224,.82);}

/* ════════ LAYOUT ════════ */
.wrap{max-width:1240px;margin:0 auto;padding:0 56px;}
.narrow{max-width:880px;}
.sec{padding:130px 0;}
.sec-sm{padding:96px 0;}
.center{text-align:center;}
.mxw{max-width:760px;margin-left:auto;margin-right:auto;}

/* ════════ BUTTONS ════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:1.55rem;font-weight:700;
  padding:17px 34px;border-radius:100px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{box-shadow:0 14px 34px -12px rgba(17,32,58,.5);}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{box-shadow:0 14px 34px -12px rgba(154,107,18,.55);}
.btn-goldb{background:var(--goldb);color:var(--navy);}
.btn-goldb:hover{box-shadow:0 14px 34px -12px rgba(228,175,58,.5);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-ghost:hover{background:rgba(26,23,18,.04);border-color:rgba(26,23,18,.3);}
.btn-ghost-d{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.22);}
.btn-ghost-d:hover{background:rgba(255,255,255,.07);}
.btn-lg{padding:20px 40px;font-size:1.65rem;}
.btn-block{width:100%;}
.linkc{display:inline-flex;align-items:center;gap:10px;font-size:1.55rem;font-weight:700;color:var(--ink);}
.linkc .dot{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:.2s;}
.linkc:hover .dot{background:var(--gold);color:#fff;border-color:var(--gold);}

/* ════════ HEADER (shared) ════════ */
#hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s,box-shadow .3s;border-bottom:1px solid transparent;}
#hdr.on{background:rgba(241,233,218,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:var(--line2);}
.hdr-i{max-width:1240px;margin:0 auto;padding:0 56px;height:78px;display:flex;align-items:center;gap:24px;}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo .nm{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--ink);line-height:1;}
.logo .tg{font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-top:4px;}
.hdr-r{display:flex;align-items:center;gap:18px;flex-shrink:0;margin-left:auto;}
.hdr-ph{font-size:1.45rem;font-weight:600;color:var(--ink2);}

/* ════════ FOOTER (shared) ════════ */
footer{background:var(--navy);color:rgba(238,233,224,.6);padding:84px 0 36px;}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.fcol h4{font-size:1.25rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,233,224,.45);margin-bottom:20px;}
.fcol a{display:block;font-size:1.5rem;color:rgba(238,233,224,.7);margin-bottom:12px;transition:color .2s;}
.fcol a:hover{color:#fff;}
.fbar{border-top:1px solid var(--dline2);padding-top:28px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.fbar p{font-size:1.25rem;color:rgba(238,233,224,.4);line-height:1.6;max-width:640px;}

/* ════════ CARDS / GRIDS ════════ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.dcard{background:var(--navy2);border:1px solid var(--dline2);border-top:3px solid var(--goldb);border-radius:14px;padding:30px;transition:transform .22s,border-color .22s;}
.dcard:hover{transform:translateY(-5px);}
.dcard .ic{width:50px;height:50px;border-radius:12px;background:rgba(228,175,58,.12);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.dcard .nm{font-size:1.85rem;font-weight:700;color:#fff;margin-bottom:8px;}
.dcard .ds{font-size:1.5rem;color:rgba(238,233,224,.7);line-height:1.55;}
.lcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px;}

/* media frame (hero video / portrait) */
.frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 50px 90px -50px rgba(26,23,18,.5);}
.frame img{width:100%;display:block;}
.cred{position:absolute;left:26px;bottom:26px;display:flex;align-items:center;gap:10px;background:rgba(17,32,58,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:100px;padding:11px 20px;}
.cred span{font-size:1.4rem;font-weight:700;color:#fff;}
.vsl{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy),var(--navy2));display:flex;align-items:center;justify-content:center;}
.vsl .play{width:84px;height:84px;border-radius:50%;background:var(--goldb);display:flex;align-items:center;justify-content:center;box-shadow:0 18px 50px -16px rgba(228,175,58,.6);transition:transform .2s;}
.vsl:hover .play{transform:scale(1.06);}
.vsl .ph{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:1.35rem;color:rgba(255,255,255,.55);letter-spacing:.04em;}

/* ════════ FORMS / FUNNEL ════════ */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,56px);box-shadow:0 40px 90px -56px rgba(26,23,18,.45);}
.field{margin-bottom:26px;}
.field-row{display:flex;gap:18px;flex-wrap:wrap;}
.field-row > .field{flex:1;min-width:220px;}
.lbl{display:block;font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em;}
.lbl .req{color:var(--gold);}
.hint{font-size:1.3rem;color:var(--ink3);margin-top:-2px;margin-bottom:10px;}
.inp,.sel,.ta{width:100%;font-family:inherit;font-size:1.65rem;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:15px 18px;transition:border-color .18s,box-shadow .18s,background .18s;}
.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-s);}
.inp::placeholder,.ta::placeholder{color:var(--ink3);}
.ta{resize:vertical;min-height:120px;line-height:1.6;}
.sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239A6B12' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:46px;}
.inp.bad,.sel.bad,.ta.bad{border-color:var(--err);box-shadow:0 0 0 4px var(--err-s);}
.err-msg{font-size:1.3rem;color:var(--err);margin-top:8px;font-weight:600;}
.field.is-unknown .inp,.field.is-unknown .sel,.field.is-unknown .ta{opacity:.4;pointer-events:none;background:var(--paper2);}

/* "I don't know / N/A" toggle */
.unk{display:inline-flex;align-items:center;gap:9px;margin-top:10px;font-size:1.35rem;color:var(--ink2);cursor:pointer;user-select:none;}
.unk input{position:absolute;opacity:0;width:0;height:0;}
.unk .box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:.16s;flex-shrink:0;}
.unk input:checked + .box{background:var(--ink2);border-color:var(--ink2);}
.unk input:checked + .box::after{content:'✓';color:#fff;font-size:1.2rem;line-height:1;}
.unk input:focus-visible + .box{box-shadow:0 0 0 4px var(--gold-s);}

/* consent / checkbox block */
.consent{display:flex;gap:14px;align-items:flex-start;padding:22px;border:1.5px solid var(--line);border-radius:14px;background:#fff;}
.consent input{margin-top:4px;width:20px;height:20px;flex-shrink:0;accent-color:var(--gold);}
.consent label{font-size:1.4rem;color:var(--ink2);line-height:1.55;}
.consent.bad{border-color:var(--err);}

/* radio cards (yes/no branches) */
.opts{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.opt{position:relative;}
.opt input{position:absolute;opacity:0;}
.opt .face{display:block;text-align:center;padding:26px 20px;border:1.5px solid var(--line);border-radius:16px;background:#fff;font-size:1.85rem;font-weight:700;color:var(--ink);transition:.16s;cursor:pointer;}
.opt .face .sub{display:block;font-size:1.3rem;font-weight:500;color:var(--ink3);margin-top:6px;}
.opt input:checked + .face{border-color:var(--gold);background:var(--gold-s);box-shadow:0 0 0 4px var(--gold-s);}
.opt input:focus-visible + .face{box-shadow:0 0 0 4px var(--gold-s);}

/* progress bar */
.prog{height:5px;background:var(--line2);border-radius:100px;overflow:hidden;margin-bottom:8px;}
.prog .bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--goldb));border-radius:100px;transition:width .45s cubic-bezier(.2,.7,.2,1);}
.prog-l{font-size:1.3rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}

/* step container animation */
.step{animation:stepIn .4s cubic-bezier(.2,.7,.2,1);}
@keyframes stepIn{from{opacity:0;transform:translateX(16px);}to{opacity:1;transform:none;}}

/* save indicator */
.saved{display:inline-flex;align-items:center;gap:7px;font-size:1.3rem;color:var(--ok);font-weight:600;}
.saved.muted{color:var(--ink3);}

/* ════════ DROPZONE (uploads) ════════ */
.dz{border:2px dashed var(--line);border-radius:16px;background:#fff;padding:42px 28px;text-align:center;transition:border-color .18s,background .18s;cursor:pointer;}
.dz.drag{border-color:var(--gold);background:var(--gold-s);}
.dz .di{width:56px;height:56px;border-radius:14px;background:var(--gold-s);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.dz .dt{font-size:1.6rem;font-weight:700;color:var(--ink);}
.dz .dh{font-size:1.35rem;color:var(--ink3);margin-top:6px;}
.filelist{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.filerow{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.filerow .fi{width:38px;height:38px;border-radius:9px;background:var(--gold-s);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.filerow .fm{flex:1;min-width:0;}
.filerow .fn{font-size:1.45rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.filerow .fs{font-size:1.25rem;color:var(--ink3);}
.filerow .fx{font-size:1.6rem;color:var(--ink3);padding:4px 8px;line-height:1;}
.filerow .fx:hover{color:var(--err);}
.fbar-progress{height:4px;background:var(--line2);border-radius:100px;overflow:hidden;margin-top:6px;}
.fbar-progress span{display:block;height:100%;background:var(--gold);transition:width .2s;}
.secure-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:1.35rem;color:var(--ink2);line-height:1.55;background:var(--gold-s);border-radius:12px;padding:16px 18px;}
.secure-note svg{flex-shrink:0;margin-top:2px;}

/* gated booking reveal */
.gate{position:relative;border-radius:18px;overflow:hidden;}
.gate.locked .gate-body{filter:blur(7px);pointer-events:none;user-select:none;opacity:.5;}
.gate .gate-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:30px;}
.gate.unlocked .gate-overlay{display:none;}
.cal-embed{width:100%;min-height:640px;border:0;border-radius:14px;background:#fff;}

/* ════════ REVEAL ════════ */
@media(prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(22px);transition:opacity var(--ease),transform var(--ease);}
  .rv.in{opacity:1;transform:none;}
  .d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}
}

/* ════════ RESPONSIVE ════════ */
@media(max-width:1024px){
  .wrap,.hdr-i{padding-left:32px;padding-right:32px;}
  .grid3{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  body{font-size:1.6rem;}
  .hdr-r .hdr-ph{display:none;}
  .wrap,.hdr-i{padding-left:24px;padding-right:24px;}
  .sec{padding:88px 0;}
  .grid3,.grid2,.fcols,.opts{grid-template-columns:1fr;}
}
@media print{ #hdr,#mnav{display:none;} .rv{opacity:1!important;transform:none!important;} }
