/* ==========================================================
   Google Fonts Import — Cormorant Garamond + DM Sans + DM Mono
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

:root {
  --navy:      #0D1B2A;
  --navy-mid:  #162536;
  --navy-deep: #0A1520;
  --greige:    #EDE8E1;
  --ivory:     #FAF8F4;
  --parchment: #E6DFD3;
  --terra:     #A0522D;
  --terra-l:   #C4714A;
  --terra-d:   #7A3B1E;
  --gold:      #C9A96E;
  --gold-l:    #E8C98A;
  --gold-d:    #A8873E;
  --text-h:    #0D1B2A;
  --text-b:    #2A3040;
  --text-m:    #6A7080;
  --border:    #E2DBD2;
  --bth:       rgba(160,82,45,0.55);
  --nk-d:      rgba(250,248,244,.92);
  --nk-dm:     rgba(250,248,244,.58);
  --nk-dl:     rgba(250,248,244,.35);
  --bdr-nv:    rgba(201,169,110,.14);
  --e: cubic-bezier(.25,.46,.45,.94);
  --cream: #F5F0EB;
  --font-h: 'Cormorant Garamond', Georgia, serif;
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-b: 'DM Sans', system-ui, sans-serif;
  --font-body: 'DM Sans';
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--greige);color:var(--text-b);overflow-x:hidden;font-family: DM Sans;}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,select{font-family:inherit}
.container{max-width:1240px;margin:0 auto;padding:0 2rem}

/* REVEAL */
.rv{opacity:1;transform:none;transition:opacity .75s var(--e),transform .75s var(--e)}
.rv.js-ready{opacity:0;transform:translateY(16px)}
.rv.vis{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}


/* ══════════════════════════════
   NAV
══════════════════════════════ */
#nav { background: var(--ivory); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 1000; transition: box-shadow .4s; }
#nav.sc { box-shadow: 0 4px 20px rgba(13,27,42,.10); }
.nav-inner { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; text-decoration: none; }
.nav-logo-img-icon { height: 52px; width: auto; display: block; }
.nav-logo-img-text { height: 36px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; margin-left: auto; margin-right: 1.5rem; }
.nav-links a { font-size: .88rem; font-weight: 500; color: var(--text-b); letter-spacing: .02em; transition: color .2s; position: relative; padding-bottom: 3px; display: flex; align-items: center; gap: .3rem; }
.nav-links a::after { content: ''; position: absolute; bottom: 0; left: 0; right: 100%; height: 1.5px; background: var(--terra); transition: right .3s var(--e); }
.nav-links a:hover { color: var(--terra); }
.nav-links a:hover::after { right: 0; }
.nav-links a.active { color: var(--terra); }
.nav-links a.active::after { right: 0; }
.nav-links .client-hub { color: var(--text-b); }
.nav-links .client-hub svg { width: 13px; height: 13px; stroke: var(--text-m); fill: none; stroke-width: 2; }
.nav-right { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.nav-icon-btn { width: 38px; height: 38px; border: 1.5px solid var(--border); border-radius: 6px; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .2s, background .2s; }
.nav-icon-btn:hover { border-color: var(--terra); background: rgba(160,82,45,.05); }
.nav-icon-btn svg { width: 16px; height: 16px; stroke: var(--text-b); fill: none; stroke-width: 2; }
.nav-cta { background: var(--terra); color: var(--ivory); font-size: .88rem; font-weight: 700; letter-spacing: .04em; padding: .65rem 1.5rem; border-radius: 6px; transition: background .25s; white-space: nowrap; border: none; cursor: pointer; font-family: 'DM Sans', system-ui, sans-serif; margin-left: .35rem; }
.nav-cta:hover { background: var(--terra-l); }
.burger { display: none; flex-direction: column; gap: 5px; width: 38px; height: 38px; background: none; border: none; cursor: pointer; align-items: center; justify-content: center; }
.burger span { display: block; width: 22px; height: 1.5px; background: var(--navy); border-radius: 2px; transition: all .3s; }
.burger.op span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.burger.op span:nth-child(2) { opacity: 0; }
.burger.op span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.mob-nav { position: fixed; inset: 0; background: var(--navy); z-index: 999; transform: translateX(100%); transition: transform .45s var(--e); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; }
.mob-nav.open { transform: none; }
.mob-nav a { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.2rem; color: var(--ivory); }
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-icon-btn { display: none; }
  .nav-cta { display: none; }
  .burger { display: flex; }
}

/* ══════════════════════════════
   HERO
══════════════════════════════ */
#hero{background:var(--greige);padding:3rem 0 3rem;position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
#hero::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(160,82,45,.06) 0%,transparent 70%);pointer-events:none}
#hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.08) 0%,transparent 70%);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.hero-eyebrow {   font-family: DM Sans;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--terra);
    display: block;
    margin-bottom: 0.8rem;
}
.hero-eyebrow-line{width:26px;height:1.5px;background:var(--gold);flex-shrink:0}
.hero-h1{    font-family: Cormorant Garamond;
    font-size: clamp(3.2rem, 6vw, 5rem);
    font-weight: 300;
    color: var(--text-heading);
    line-height: 1.08;
    margin-bottom: 1.1rem;}
.hero-h1 em{font-style:italic;color:var(--terra);font-weight:300}
.hero-sub{    font-size: 1.2rem;
    color: var(--text-body);
    max-width: 100%;
    margin: 0 0 1.75rem 0;
    line-height: 1.7;
}

/* Hero search */
.hero-search{display:flex;gap:.55rem;max-width:420px}
.hero-search-wrap{flex:1;display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:.65rem 1rem;transition:border-color .2s}
.hero-search-wrap:focus-within{border-color:rgba(201,169,110,.55)}
.hero-search-wrap svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:2;flex-shrink:0}
.hero-search-wrap input{flex:1;border:none;background:none;font-size:.9rem;color:var(--navy);outline:none}
.hero-search-wrap input::placeholder{color:var(--text-m)}
.hero-search-btn{background:var(--terra);color:var(--ivory);border:none;border-radius:7px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:700;letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:background .2s}
.hero-search-btn:hover{background:var(--terra-l)}

/* Hero featured card */
.hero-feat{display:block;background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;transition:border-color .3s;box-shadow:0 2px 16px rgba(13,27,42,.06)}
.hero-feat:hover{border-color:var(--gold);box-shadow:0 4px 24px rgba(13,27,42,.10)}
.hero-feat-img{height:210px;position:relative;overflow:hidden}
.hero-feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--e)}
.hero-feat:hover .hero-feat-img img{transform:scale(1.04)}
.hero-feat-img-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,27,42,.1) 0%,rgba(13,27,42,.55) 100%)}
.hero-feat-badge{position:absolute;top:1rem;left:1rem;background:var(--terra);color:var(--ivory);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .6rem;border-radius:4px}
.hero-feat-new{position:absolute;top:1rem;right:1rem;background:rgba(201,169,110,.15);border:1px solid rgba(201,169,110,.4);color:var(--terra);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .55rem;border-radius:4px}
.hero-feat-body{padding:1.4rem;background:var(--ivory)}
.hero-feat-cat{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:.4rem}
.hero-feat-title{color:var(--navy);font-family:var(--font-h);font-size:1.4rem;font-weight:500;line-height:1.2;margin-bottom:.5rem}
.hero-feat-title em{font-style:italic;color:var(--gold-l)}
.hero-feat-excerpt{font-size:.83rem;color:var(--text-b);line-height:1.65;margin-bottom:1.1rem}
.hero-feat-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--border);margin-top:auto}
.hero-feat-meta{font-size:.74rem;color:var(--text-m);display:flex;flex-direction:column;gap:.15rem}
.hero-feat-read{display:inline-flex;align-items:center;gap:.38rem;font-size:.8rem;font-weight:600;color:var(--gold);transition:gap .2s}
.hero-feat-read svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:2.5}
.hero-feat:hover .hero-feat-read{gap:.6rem}

/* ══════════════════════════════
   BUSINESS TYPE FILTER STRIP
══════════════════════════════ */
#biz-strip{background:var(--ivory);border-bottom:1px solid var(--border);padding:.9rem 0}
.biz-inner{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.biz-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-m);margin-right:.4rem;white-space:nowrap}
.biz-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;padding:.38rem .9rem;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--text-m);cursor:pointer;transition:all .2s;white-space:nowrap}
.biz-pill svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.biz-pill:hover{border-color:var(--terra);color:var(--terra)}
.biz-pill.on{background:var(--navy);border-color:var(--navy);color:var(--ivory)}
.biz-pill.on svg{stroke:var(--gold)}

/* ══════════════════════════════
   TOPIC FILTER + SEARCH BAR
══════════════════════════════ */
#topic-bar{background:var(--ivory);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:90;box-shadow:0 1px 0 var(--border)}
.tb-inner{height:54px;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;gap:0}
.tb-inner::-webkit-scrollbar{display:none}
.tb-tab{display:inline-flex;align-items:center;height:100%;padding:0 1.1rem;font-size:.81rem;font-weight:500;color:var(--text-m);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;background:none;border-top:none;border-left:none;border-right:none}
.tb-tab:hover{color:var(--terra);border-bottom-color:rgba(160,82,45,.28)}
.tb-tab.on{color:var(--terra);border-bottom-color:var(--terra);font-weight:600}
.tb-sep{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 .1rem}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding-left:1rem;flex-shrink:0}
.tb-search{display:flex;align-items:center;gap:.45rem;background:var(--greige);border:1px solid var(--border);border-radius:6px;padding:.35rem .8rem}
.tb-search svg{width:13px;height:13px;stroke:var(--text-m);fill:none;stroke-width:2;flex-shrink:0}
.tb-search input{border:none;background:none;font-size:.82rem;color:var(--text-b);width:160px;outline:none}
.tb-search input::placeholder{color:var(--text-m)}

/* ══════════════════════════════
   MAIN CONTENT AREA
══════════════════════════════ */
#main{padding:3rem 0 5rem}
.main-layout{display:block;max-width:100%}

/* ── NEW & UPDATED BAND ── */
.section-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.section-label-text{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-m)}
.section-label-line{flex:1;height:1px;background:var(--border)}
.section-label-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:3px}
.badge-new{background:rgba(160,82,45,.12);color:var(--terra)}
.badge-popular{background:rgba(201,169,110,.15);color:var(--gold-d)}
.badge-updated{background:rgba(13,27,42,.07);color:var(--navy)}

/* ── ARTICLE CARD ── */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}
.art-card{background:var(--ivory);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,box-shadow .25s,transform .25s var(--e);cursor:pointer}
.art-card:hover{border-color:var(--bth);box-shadow:0 6px 28px rgba(13,27,42,.07);transform:translateY(-2px)}
.art-card--wide{grid-column:span 2;flex-direction:row}
.art-card-img{height:186px;position:relative;overflow:hidden;flex-shrink:0;background:var(--navy-mid)}
.art-card--wide .art-card-img{width:260px;height:auto;min-height:200px}
.art-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--e)}
.art-card:hover .art-card-img img{transform:scale(1.04)}
.art-card-img-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,27,42,.04) 0%,rgba(13,27,42,.32) 100%);pointer-events:none}
.art-card-label{position:absolute;top:.85rem;left:.85rem;z-index:2;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:4px;background:rgba(13,27,42,.65);backdrop-filter:blur(4px);color:var(--gold-l);border:1px solid rgba(201,169,110,.2)}
.art-card-body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.art-card-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;flex-wrap:wrap}
.art-card-cat{font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}
.art-card-biz{font-size:.63rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .45rem;border-radius:3px;background:rgba(13,27,42,.06);color:var(--text-m)}
.art-card-title{font-family:var(--font-h);font-size:1.25rem;font-weight:500;color:var(--text-h);line-height:1.22;margin-bottom:.5rem}
.art-card--wide .art-card-title{font-size:1.45rem}
.art-card-title em{font-style:italic;color:var(--terra);font-weight:300}
.art-card-excerpt{font-size:.83rem;color:var(--text-m);line-height:1.65;flex:1;margin-bottom:1rem}
.art-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid var(--border);margin-top:auto}
.art-card-meta{display:flex;flex-direction:column;gap:.1rem}
.art-card-author{font-size:.72rem;color:var(--terra);font-weight:500;display:block}
.art-card-date-read{font-size:.7rem;color:var(--text-m);display:block}
.art-card-arrow{width:28px;height:28px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .22s;flex-shrink:0}
.art-card-arrow svg{width:11px;height:11px;stroke:var(--text-m);fill:none;stroke-width:2.5}
.art-card:hover .art-card-arrow{border-color:var(--terra);background:var(--terra)}
.art-card:hover .art-card-arrow svg{stroke:var(--ivory)}
.art-card.hidden{display:none}

/* Load more */
.load-wrap{text-align:center;margin-top:.5rem}
.load-btn{display:inline-flex;align-items:center;gap:.55rem;background:none;border:1.5px solid var(--border);color:var(--text-b);font-size:.86rem;font-weight:500;padding:.7rem 1.85rem;border-radius:8px;cursor:pointer;transition:all .22s}
.load-btn:hover{border-color:var(--terra);color:var(--terra)}
.load-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}

/* Disclaimer */
.disclaimer{background:rgba(13,27,42,.04);border:1px solid var(--border);border-radius:8px;padding:.9rem 1.2rem;margin-top:2.5rem;display:flex;align-items:flex-start;gap:.7rem}
.disclaimer svg{width:15px;height:15px;stroke:var(--text-m);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px}
.disclaimer p{font-size:.75rem;color:var(--text-m);line-height:1.6}

/* ══════════════════════════════
   SIDEBAR
══════════════════════════════ */
.sidebar{display:flex;flex-direction:column;gap:1.4rem;position:sticky;top:56px}
.sw{background:var(--ivory);border:1.5px solid var(--border);border-radius:14px;overflow:hidden}
.sw-head{padding:1rem 1.3rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.55rem}
.sw-head-icon{width:26px;height:26px;background:var(--navy);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sw-head-icon svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:2}
.sw-head-title{font-family:var(--font-h);font-size:1.05rem;font-weight:500;color:var(--text-h)}

/* ── DEADLINE WIDGET ── */
.dl-list{padding:0 1.2rem}
.dl-item{display:grid;grid-template-columns:48px 1fr auto;gap:.65rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--border)}
.dl-item:last-child{border-bottom:none}
.dl-date{width:48px;height:48px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid transparent}
.dl-date.s-passed{background:var(--greige);border-color:var(--border)}
.dl-date.s-passed .dl-day{color:var(--text-m)}
.dl-date.s-passed .dl-mon{color:var(--text-m);opacity:.6}
.dl-date.s-urgent{background:rgba(160,82,45,.1);border-color:rgba(160,82,45,.35)}
.dl-date.s-urgent .dl-day{color:var(--terra)}
.dl-date.s-urgent .dl-mon{color:var(--terra);opacity:.75}
.dl-date.s-soon{background:rgba(201,169,110,.1);border-color:rgba(201,169,110,.3)}
.dl-date.s-soon .dl-day{color:var(--gold-d)}
.dl-date.s-soon .dl-mon{color:var(--gold-d);opacity:.7}
.dl-date.s-ok{background:rgba(13,27,42,.05);border-color:var(--border)}
.dl-date.s-ok .dl-day{color:var(--navy)}
.dl-date.s-ok .dl-mon{color:var(--text-m)}
.dl-day{font-family:var(--font-h);font-size:1.2rem;font-weight:500;line-height:1}
.dl-mon{font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:1px}
.dl-info{min-width:0}
.dl-svc{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.13rem .42rem;border-radius:3px;display:inline-block;margin-bottom:.2rem}
.svc-tax{background:rgba(160,82,45,.12);color:var(--terra)}
.svc-vat{background:rgba(201,169,110,.14);color:var(--gold-d)}
.svc-payroll{background:rgba(13,27,42,.07);color:var(--navy);border:1px solid var(--border)}
.svc-ct{background:rgba(160,82,45,.1);color:var(--terra-d)}
.svc-accounts{background:rgba(13,27,42,.07);color:var(--navy);border:1px solid var(--border)}
.svc-conf{background:rgba(201,169,110,.1);color:var(--gold-d);border:1px solid rgba(201,169,110,.2)}
.dl-title{font-size:.82rem;font-weight:500;color:var(--text-b);line-height:1.3}
.dl-desc{font-size:.69rem;color:var(--text-m);margin-top:.1rem;line-height:1.35}
.dl-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:.2rem .5rem;border-radius:20px;white-space:nowrap;flex-shrink:0}
.dl-chip svg{width:8px;height:8px;stroke:currentColor;fill:none;stroke-width:2.5;flex-shrink:0}
.c-passed{background:var(--greige);color:var(--text-m)}
.c-today{background:rgba(160,82,45,.2);color:var(--terra)}
.c-urgent{background:rgba(160,82,45,.14);color:var(--terra)}
.c-soon{background:rgba(201,169,110,.14);color:var(--gold-d)}
.c-ok{background:rgba(13,27,42,.05);color:var(--text-m);border:1px solid var(--border)}
.sw-foot{padding:.8rem 1.3rem;border-top:1px solid var(--border)}
.sw-foot-link{display:inline-flex;align-items:center;gap:.38rem;font-size:.8rem;font-weight:600;color:var(--terra);transition:gap .2s}
.sw-foot-link:hover{gap:.6rem}
.sw-foot-link svg{width:11px;height:11px;stroke:var(--terra);fill:none;stroke-width:2.5}

/* ── MICRO CTA WIDGET ── */
.sw-cta{background:var(--navy);border-color:var(--bdr-nv);position:relative;overflow:hidden}
.sw-cta::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(201,169,110,.09) 0%,transparent 70%);pointer-events:none}
.sw-cta-body{padding:1.6rem 1.3rem;position:relative;z-index:1}
.sw-cta-icon{width:40px;height:40px;background:rgba(201,169,110,.12);border:1.5px solid rgba(201,169,110,.25);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem}
.sw-cta-icon svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.6}
.sw-cta-title{font-family:var(--font-h);font-size:1.2rem;font-weight:500;color:var(--nk-d);margin-bottom:.4rem;line-height:1.2}
.sw-cta-title em{font-style:italic;color:var(--gold-l)}
.sw-cta-text{font-size:.8rem;color:var(--nk-dm);line-height:1.65;margin-bottom:1.1rem}
.sw-cta-btn{display:block;text-align:center;background:var(--terra);color:var(--ivory);font-size:.86rem;font-weight:700;letter-spacing:.04em;padding:.7rem 1.4rem;border-radius:7px;border:none;cursor:pointer;transition:background .22s;width:100%}
.sw-cta-btn:hover{background:var(--terra-l)}
.sw-cta-sub{font-size:.7rem;color:var(--nk-dl);text-align:center;margin-top:.6rem}

/* ── TOPICS EXPLORE WIDGET ── */
.topics-grid{padding:1rem 1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.topic-pill{display:flex;align-items:center;gap:.45rem;padding:.52rem .7rem;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;transition:all .2s;background:var(--greige)}
.topic-pill:hover{border-color:var(--terra);background:rgba(160,82,45,.04)}
.topic-pill:hover .topic-pill-name{color:var(--terra)}
.topic-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.topic-pill-name{font-size:.76rem;font-weight:500;color:var(--text-b);line-height:1.2;transition:color .2s}

/* ══════════════════════════════
   KEY DATES SECTION
══════════════════════════════ */
#key-dates{background:var(--navy);padding:4rem 0}
.kd-head{text-align:center;margin-bottom:2.2rem}
.kd-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.kd-eline{width:22px;height:1.5px;background:var(--gold)}
.kd-title{font-family:var(--font-h);font-size:clamp(1.9rem,3vw,2.7rem);font-weight:400;color:var(--ivory);line-height:1.1;margin-bottom:.45rem}
.kd-title em{font-style:italic;color:var(--gold-l)}
.kd-sub{font-size:.93rem;color:var(--nk-dm);max-width:540px;margin:0 auto;line-height:1.72}
.kd-filters{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
.kd-f{font-size:.76rem;font-weight:600;letter-spacing:.04em;padding:.36rem .95rem;border-radius:20px;border:1.5px solid rgba(201,169,110,.2);background:transparent;color:var(--nk-dm);cursor:pointer;transition:all .2s}
.kd-f:hover{border-color:rgba(201,169,110,.5);color:var(--nk-d)}
.kd-f.on{background:var(--terra);color:var(--ivory);border-color:var(--terra)}
.kd-list{display:flex;flex-direction:column;gap:.7rem;max-width:900px;margin:0 auto}
.kd-item{background:rgba(250,248,244,.04);border:1.5px solid var(--bdr-nv);border-radius:11px;padding:1rem 1.25rem;display:grid;grid-template-columns:64px 1fr auto;gap:1.1rem;align-items:center;transition:border-color .22s,background .22s}
.kd-item:hover{border-color:rgba(201,169,110,.24);background:rgba(250,248,244,.06)}
.kd-item.kd-urgent{border-color:rgba(160,82,45,.38)}
.kd-item.kd-passed{opacity:.48}
.kd-date-col{text-align:center}
.kd-day{font-family:var(--font-h);font-size:1.9rem;font-weight:500;line-height:1;color:var(--gold)}
.kd-month{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nk-dm);margin-top:2px}
.kd-item.kd-urgent .kd-day{color:#e8a07a}
.kd-item.kd-passed .kd-day{color:var(--nk-dl)}
.kd-item.kd-passed .kd-month{color:var(--nk-dl)}
.kd-info-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.28rem;flex-wrap:wrap}
.kd-badge{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .48rem;border-radius:3px}
.kd-badge-tax{background:rgba(160,82,45,.2);color:#d4845a}
.kd-badge-vat{background:rgba(201,169,110,.18);color:var(--gold)}
.kd-badge-payroll{background:rgba(250,248,244,.07);color:var(--nk-dm);border:1px solid var(--bdr-nv)}
.kd-badge-ct{background:rgba(160,82,45,.14);color:#c4714a}
.kd-badge-accounts{background:rgba(250,248,244,.06);color:var(--nk-dm);border:1px solid var(--bdr-nv)}
.kd-badge-conf{background:rgba(201,169,110,.12);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.kd-info-title{font-size:.93rem;font-weight:500;color:var(--nk-d);line-height:1.28}
.kd-info-note{font-size:.75rem;color:var(--nk-dm);margin-top:.25rem;line-height:1.5}
.kd-right{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0}
.kd-chip{display:inline-flex;align-items:center;gap:.28rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.26rem .6rem;border-radius:20px;white-space:nowrap}
.kd-chip svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2.5}
.kd-c-passed{background:rgba(250,248,244,.06);color:var(--nk-dl);border:1px solid var(--bdr-nv)}
.kd-c-today{background:rgba(160,82,45,.24);color:#e8a07a}
.kd-c-urgent{background:rgba(160,82,45,.16);color:#e8a07a}
.kd-c-soon{background:rgba(201,169,110,.14);color:var(--gold)}
.kd-c-ok{background:rgba(250,248,244,.05);color:var(--nk-dm);border:1px solid var(--bdr-nv)}
.kd-item.hidden{display:none}
.kd-foot{text-align:center;margin-top:2.2rem}
.kd-dl-btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--gold);color:var(--navy);font-size:.88rem;font-weight:700;letter-spacing:.04em;padding:.82rem 1.9rem;border-radius:6px;border:none;cursor:pointer;transition:background .22s,gap .22s}
.kd-dl-btn:hover{background:var(--gold-l);gap:.8rem}
.kd-dl-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5}

/* ══════════════════════════════
   MICRO CTA SECTION
══════════════════════════════ */
#micro-cta{background:var(--ivory);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.5rem 0}
.mc-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.mc-text h3{font-family:var(--font-h);font-size:1.9rem;font-weight:400;color:var(--navy);line-height:1.15}
.mc-text h3 em{font-style:italic;color:var(--terra)}
.mc-text p{font-size:.88rem;color:var(--text-m);margin-top:.35rem;max-width:460px;line-height:1.65}
.mc-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;flex-shrink:0}
.mc-btn-primary{display:inline-flex;align-items:center;gap:.55rem;background:var(--terra);color:var(--ivory);font-size:.88rem;font-weight:700;letter-spacing:.04em;padding:.82rem 1.7rem;border-radius:7px;border:none;cursor:pointer;transition:background .22s,gap .22s}
.mc-btn-primary:hover{background:var(--terra-l);gap:.8rem}
.mc-btn-primary svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5}
.mc-btn-ghost{display:inline-flex;align-items:center;font-size:.88rem;font-weight:600;color:var(--terra);gap:.4rem;background:none;border:none;cursor:pointer;transition:gap .2s;padding:.82rem 0}
.mc-btn-ghost:hover{gap:.65rem}
.mc-btn-ghost svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5}

/* ══════════════════════════════
   TOPICS EXPLORE SECTION
══════════════════════════════ */
#topics-section{padding:3.5rem 0;background:var(--greige)}
.topics-section-head{text-align:center;margin-bottom:2.2rem}
.topics-section-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-m);margin-bottom:.5rem}
.topics-section-title{font-family:var(--font-h);font-size:clamp(1.8rem,2.8vw,2.5rem);font-weight:400;color:var(--text-h);line-height:1.12}
.topics-section-title em{font-style:italic;color:var(--terra)}
.topics-big-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.topic-card{background:var(--ivory);border:1.5px solid var(--border);border-radius:12px;padding:1.4rem 1.3rem;cursor:pointer;transition:all .22s var(--e)}
.topic-card:hover{border-color:var(--bth);transform:translateY(-2px);box-shadow:0 4px 20px rgba(13,27,42,.07)}
.topic-card-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:.85rem}
.topic-card-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.topic-card-name{font-family:var(--font-h);font-size:1.1rem;font-weight:500;color:var(--text-h);margin-bottom:.3rem;line-height:1.2}
.topic-card-desc{font-size:.77rem;color:var(--text-m);line-height:1.55}

/* ══════════════════════════════
   FOOTER DISCLAIMER
══════════════════════════════ */
#page-disclaimer{background:var(--navy-deep);padding:1.5rem 0}
.pd-inner{display:flex;align-items:flex-start;gap:.85rem;max-width:900px;margin:0 auto}
.pd-inner svg{width:16px;height:16px;stroke:var(--nk-dl);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px}
.pd-inner p{font-size:.75rem;color:var(--nk-dl);line-height:1.65}
.pd-inner p strong{color:var(--nk-dm);font-weight:600}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:1024px){
  .main-layout{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
  .topics-big-grid{grid-template-columns:repeat(2,1fr)}
  .kd-item{grid-template-columns:56px 1fr auto}
}
@media(max-width:768px){
  .hero-inner{grid-template-columns:1fr}
  .cards-grid{grid-template-columns:1fr}
  .art-card--wide{flex-direction:column}
  .art-card--wide .art-card-img{width:100%;height:196px}
  .sidebar{grid-template-columns:1fr}
  .topics-big-grid{grid-template-columns:1fr 1fr}
  .kd-item{grid-template-columns:48px 1fr}
  .kd-right{display:none}
  .mc-inner{flex-direction:column;align-items:flex-start}
  .tb-search input{width:110px}
  .hero-search{flex-direction:column}
}

/* ══════════════════════════════
   BUDGET & HMRC HUB
══════════════════════════════ */
#budget-hub{background:var(--navy);padding:3.5rem 0;border-top:none}
.bh-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.bh-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:.4rem}
.bh-title{font-family:var(--font-h);font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:400;color:var(--ivory);line-height:1.12}
.bh-title em{font-style:italic;color:var(--gold-l)}
.bh-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem}
.bh-card{background:var(--cream);border:1px solid rgba(160,82,45,.15);border-radius:12px;padding:1.4rem;transition:border-color .22s,box-shadow .22s,transform .22s var(--e);cursor:pointer}
.bh-card:hover{border-color:rgba(160,82,45,.4);box-shadow:0 6px 28px rgba(0,0,0,.2);transform:translateY(-2px)}
.bh-card-type{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.18rem .5rem;border-radius:3px;display:inline-block;margin-bottom:.7rem}
.bh-type-budget{background:rgba(160,82,45,.1);color:var(--terra)}
.bh-type-hmrc{background:rgba(201,169,110,.2);color:var(--gold-d)}
.bh-type-threshold{background:rgba(13,27,42,.07);color:var(--navy)}
.bh-card-title{font-family:var(--font-h);font-size:1.1rem;font-weight:500;color:var(--navy);line-height:1.22;margin-bottom:.4rem}
.bh-card-desc{font-size:.8rem;color:var(--text-b);line-height:1.6;margin-bottom:.9rem}
.bh-card-footer{display:flex;align-items:center;justify-content:space-between}
.bh-card-date{font-size:.7rem;color:var(--text-m)}
.bh-card-arrow{width:26px;height:26px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .22s;flex-shrink:0}
.bh-card-arrow svg{width:10px;height:10px;stroke:var(--text-m);fill:none;stroke-width:2.5}
.bh-card:hover .bh-card-arrow{border-color:var(--terra);background:var(--terra)}
.bh-card:hover .bh-card-arrow svg{stroke:var(--ivory)}
@media(max-width:900px){.bh-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bh-grid{grid-template-columns:1fr}}

.sg-title em{font-style:italic;color:var(--terra)}
.sg-card:hover{border-color:var(--bth);transform:translateY(-2px);box-shadow:0 4px 22px rgba(13,27,42,.07)}
.sg-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.sg-link:hover{gap:.6rem}
.sg-link svg{width:11px;height:11px;stroke:var(--terra);fill:none;stroke-width:2.5}

/* ══════════════════════════════
   GLOSSARY
══════════════════════════════ */
#glossary{background:var(--navy);padding:3.5rem 0;border-top:none}
.gl-head{text-align:center;margin-bottom:2rem}
.gl-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:.5rem}
.gl-title{font-family:var(--font-h);font-size:clamp(1.7rem,2.5vw,2.2rem);font-weight:400;color:var(--ivory);line-height:1.12}
.gl-title em{font-style:italic;color:var(--gold-l)}
.gl-sub{font-size:.88rem;color:rgba(250,248,244,.55);margin-top:.4rem;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.65}
.gl-alpha{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center;margin-bottom:0;padding:.5rem 0 .25rem}
.gl-alpha-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1.5px solid rgba(201,169,110,.2);background:transparent;font-size:.78rem;font-weight:600;color:rgba(250,248,244,.5);cursor:pointer;transition:all .2s}
.gl-alpha-btn:hover{border-color:var(--terra);color:var(--terra)}
.gl-alpha-btn.on{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.gl-alpha-btn:disabled{opacity:.3;cursor:default;pointer-events:none}
.gl-search-wrap{max-width:520px;margin:0 auto 2rem;display:flex;align-items:center;gap:.6rem;background:var(--cream);border:1.5px solid rgba(201,169,110,.25);border-radius:8px;padding:.65rem 1rem}
.gl-search-wrap svg{width:14px;height:14px;stroke:var(--text-m);fill:none;stroke-width:2;flex-shrink:0}
.gl-search-wrap input{flex:1;border:none;background:none;font-size:.88rem;color:var(--text-b);outline:none}
.gl-search-wrap input::placeholder{color:var(--text-m)}
.gl-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.gl-group{margin-bottom:1.5rem}
.gl-group-letter{font-family:var(--font-h);font-size:1.8rem;font-weight:500;color:var(--gold);border-bottom:1px solid rgba(201,169,110,.2);padding-bottom:.3rem;margin-bottom:.8rem;line-height:1}
.gl-entry{padding:.7rem 0;border-bottom:1px solid rgba(250,248,244,.07);display:grid;grid-template-columns:180px 1fr;gap:1.2rem;align-items:baseline}
.gl-entry:last-child{border-bottom:none}
.gl-term{font-size:.88rem;font-weight:600;color:var(--ivory)}
.gl-def{font-size:.85rem;color:rgba(250,248,244,.6);line-height:1.65}
.gl-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.13rem .42rem;border-radius:3px;margin-left:.4rem;vertical-align:middle;background:rgba(201,169,110,.18);color:var(--gold-l)}
@media(max-width:640px){.gl-entry{grid-template-columns:1fr;gap:.2rem}.gl-term{font-size:.85rem}}

/* ══════════════════════════════
   ASK AN ACCOUNTANT
══════════════════════════════ */
#ask-section{background:var(--greige);padding:3.5rem 0;border-top:1px solid var(--border)}
.ask-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;max-width:1000px;margin:0 auto}
.ask-left{}
.ask-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-m);margin-bottom:.5rem}
.ask-title{font-family:var(--font-h);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:400;color:var(--text-h);line-height:1.15;margin-bottom:.6rem}
.ask-title em{font-style:italic;color:var(--terra)}
.ask-desc{font-size:.88rem;color:var(--text-m);line-height:1.7;margin-bottom:1.2rem}
.ask-answered{display:flex;flex-direction:column;gap:.8rem}
.ask-answered-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-m);margin-bottom:.2rem}
.ask-prev{background:var(--ivory);border:1.5px solid var(--border);border-radius:10px;padding:1rem 1.1rem;cursor:pointer;transition:border-color .2s}
.ask-prev:hover{border-color:var(--bth)}
.ask-prev-q{font-size:.85rem;font-weight:500;color:var(--text-h);margin-bottom:.3rem}
.ask-prev-meta{font-size:.72rem;color:var(--text-m)}
.ask-prev-meta span{color:var(--terra);font-weight:500}
.ask-form{background:var(--ivory);border:1.5px solid var(--border);border-radius:14px;padding:1.8rem}
.ask-form-title{font-family:var(--font-h);font-size:1.2rem;font-weight:500;color:var(--text-h);margin-bottom:.3rem}
.ask-form-sub{font-size:.8rem;color:var(--text-m);line-height:1.6;margin-bottom:1.3rem}
.ask-field{margin-bottom:1rem}
.ask-field label{display:block;font-size:.73rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-m);margin-bottom:.4rem}
.ask-field input,.ask-field select,.ask-field textarea{width:100%;background:var(--greige);border:1.5px solid var(--border);border-radius:7px;padding:.6rem .85rem;font-size:.88rem;color:var(--text-b);outline:none;font-family:var(--font-b);transition:border-color .2s;resize:vertical}
.ask-field input:focus,.ask-field select:focus,.ask-field textarea:focus{border-color:var(--bth)}
.ask-field textarea{min-height:100px}
.ask-field select option{background:var(--ivory)}
.ask-submit{display:inline-flex;align-items:center;gap:.5rem;background:var(--terra);color:var(--ivory);border:none;border-radius:7px;padding:.72rem 1.6rem;font-size:.88rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .22s,gap .22s;width:100%;justify-content:center;margin-top:.3rem}
.ask-submit:hover{background:var(--terra-l);gap:.7rem}
.ask-submit svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5}
.ask-success{display:none;text-align:center;padding:1.5rem 0}
.ask-success-icon{width:44px;height:44px;background:rgba(160,82,45,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem}
.ask-success-icon svg{width:20px;height:20px;stroke:var(--terra);fill:none;stroke-width:2}
.ask-success h4{font-family:var(--font-h);font-size:1.2rem;font-weight:500;color:var(--text-h);margin-bottom:.3rem}
.ask-success p{font-size:.82rem;color:var(--text-m);line-height:1.65}
@media(max-width:800px){.ask-inner{grid-template-columns:1fr;gap:2rem}}

@media(max-width:1024px){
  .cards-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .cards-grid{grid-template-columns:1fr}
  .art-card--wide{grid-column:1}
}

/* ── INSIGHTS CTA STRIP ── */
.ins-cta-strip { background: var(--terra); padding: 3.5rem 2.5rem; }
.ins-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; }
.ins-cta-left { flex: 1; min-width: 260px; }
.ins-cta-strip h2, .ins-cta-left h2 { font-family: var(--font-h); font-size: clamp(1.7rem, 2.5vw, 2.4rem); font-weight: 400; color: var(--ivory); line-height: 1.15; margin-bottom: 0.4rem; }
.ins-cta-left h2 em { font-style: italic; color: var(--gold-l); }
.ins-cta-left p { font-size: 0.95rem; color: rgba(250,248,244,0.85); margin: 0.4rem 0 0; line-height: 1.6; }
.ins-cta-actions { display: flex; gap: 0.75rem; flex-shrink: 0; flex-wrap: wrap; align-items: center; }
.ins-btn-filled { display: inline-flex; align-items: center; gap: 0.6rem; padding: 1rem 2.25rem; border: none; border-radius: 10px; font-size: 1rem; font-weight: 700; letter-spacing: 0.02em; color: var(--navy); background: var(--gold); cursor: pointer; transition: background 0.25s; white-space: nowrap; font-family: var(--font-b); text-decoration: none; }
.ins-btn-filled:hover { background: var(--gold-l); }
.ins-btn-outline { display: inline-flex; align-items: center; gap: 0.4rem; padding: 1rem 0.5rem; border: none; background: transparent; font-size: 1rem; font-weight: 500; color: var(--gold-l); cursor: pointer; transition: color 0.25s; white-space: nowrap; font-family: var(--font-b); text-decoration: none; }
.ins-btn-outline:hover { color: var(--ivory); }
@media(max-width:640px){ .ins-cta-strip { padding: 2.5rem 1.5rem; } .ins-cta-inner { flex-direction: column; } }

.gl-disc{font-size:.75rem;color:rgba(250,248,244,.4);text-align:center;max-width:600px;margin:.5rem auto 2rem;line-height:1.6;}

/* ── CUSTOM CURSOR ── */
#lt-cursor-arrow {
  position: fixed; top: 0; left: 0;
  width: 14px; height: 14px;
  pointer-events: none; z-index: 999999;
  transform: translate(-50%, -50%);
  will-change: left, top;
  transition: transform 0.2s cubic-bezier(.25,.46,.45,.94), opacity 0.3s;
}
#lt-cursor-ring {
  position: fixed; top: 0; left: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(201,169,110,0.55);
  pointer-events: none; z-index: 999998;
  transform: translate(-50%, -50%);
  will-change: left, top;
  transition: width 0.35s cubic-bezier(.25,.46,.45,.94), height 0.35s cubic-bezier(.25,.46,.45,.94), border-color 0.35s, opacity 0.3s;
}
body.cursor-hover #lt-cursor-ring { width: 42px; height: 42px; border-color: rgba(201,169,110,0.9); }
body.cursor-hover #lt-cursor-arrow { transform: translate(-50%,-50%) scale(1.1); }
body.cursor-click #lt-cursor-ring { width: 18px; height: 18px; border-color: rgba(201,169,110,1); }
@media (hover: none) { #lt-cursor-arrow, #lt-cursor-ring { display: none; } body { cursor: auto !important; } }

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE OVERRIDES
═══════════════════════════════════════════════════ */

/* ── GLOBAL ── */
@media (max-width: 768px) {
  html { font-size: 15px; }
  body { font-size: 1rem; }
  .container { padding: 0 1.25rem; }
}
@media (max-width: 400px) {
  html { font-size: 14px; }
  .container { padding: 0 1rem; }
}

/* ═══════════ NAV — MOBILE ═══════════ */
@media (max-width: 900px) {
  .nav-inner { height: 60px; }
  .nav-logo-img-icon { height: 40px; }
  .nav-logo-img-text { height: 28px; }
  .nav-links  { display: none; }
  .nav-icon-btn { display: none; }
  .nav-cta    { display: none; }
  .burger     { display: flex; }
  .mob-nav a  { font-size: 1.8rem; }
}

/* ═══════════ HERO — MOBILE ═══════════ */
@media (max-width: 1024px) {
  #hero { padding: 2.5rem 0; }
  .hero-inner { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 768px) {
  #hero { padding: 2rem 0; }
  .hero-h1  { font-size: clamp(2rem, 7.5vw, 3rem); margin-bottom: .65rem; }
  .hero-sub { font-size: .92rem; margin-bottom: 1.5rem; max-width: 100%; }
  .hero-search { flex-direction: column; gap: .55rem; max-width: 100%; }
  .hero-search-wrap { width: 100%; }
  .hero-search-btn { width: 100%; justify-content: center; padding: .7rem 1.25rem; }
  .hero-feat-img { height: 180px; }
  .hero-feat-body { padding: 1.1rem; }
  .hero-feat-title { font-size: 1.25rem; }
  .hero-feat-excerpt { font-size: .8rem; }
}
@media (max-width: 400px) {
  .hero-h1 { font-size: clamp(1.85rem, 8vw, 2.5rem); }
  .hero-feat-img { height: 155px; }
}

/* ═══════════ BIZ STRIP — MOBILE ═══════════ */
@media (max-width: 768px) {
  #biz-strip { padding: .7rem 0; }
  .biz-inner { gap: .45rem; }
  .biz-label { display: none; }
  .biz-pill  { font-size: .75rem; padding: .32rem .75rem; }
  .biz-pill svg { width: 11px; height: 11px; }
}

/* ═══════════ TOPIC BAR — MOBILE ═══════════ */
@media (max-width: 768px) {
  .tb-inner { height: 48px; }
  .tb-tab   { font-size: .76rem; padding: 0 .85rem; }
  .tb-search input { width: 90px; font-size: .78rem; }
  .tb-right { padding-left: .65rem; gap: .35rem; }
}
@media (max-width: 480px) {
  .tb-search { display: none; }
}

/* ═══════════ ARTICLE CARDS GRID — MOBILE ═══════════ */
@media (max-width: 1024px) {
  .cards-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
  .art-card--wide { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .cards-grid { grid-template-columns: 1fr; gap: 1rem; }
  .art-card--wide { grid-column: 1; flex-direction: column; }
  .art-card--wide .art-card-img { width: 100%; height: 180px; }
  .art-card-title { font-size: 1.15rem; }
  .art-card--wide .art-card-title { font-size: 1.2rem; }
  .art-card-excerpt { font-size: .8rem; }
  .art-card-body { padding: 1.15rem; }
}
@media (max-width: 400px) {
  .art-card-img { height: 160px; }
  .art-card-body { padding: 1rem; }
}

/* ═══════════ SECTION LABEL ═══════════ */
@media (max-width: 768px) {
  .section-label { margin-bottom: 1.1rem; }
}

/* ═══════════ LOAD MORE ═══════════ */
@media (max-width: 400px) {
  .load-btn { font-size: .82rem; padding: .65rem 1.4rem; }
}

/* ═══════════ SIDEBAR — MOBILE ═══════════ */
@media (max-width: 1024px) {
  .sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
}
@media (max-width: 768px) {
  .sidebar { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 640px) {
  .dl-item { gap: .5rem; }
  .dl-date  { width: 44px; height: 44px; }
  .dl-day   { font-size: 1.05rem; }
  .dl-title { font-size: .78rem; }
  .dl-desc  { font-size: .65rem; }
  .dl-chip  { font-size: .58rem; }
}
@media (max-width: 768px) {
  .topics-grid { grid-template-columns: 1fr 1fr; gap: .45rem; }
  .topic-pill  { padding: .45rem .6rem; }
  .topic-pill-name { font-size: .72rem; }
}

/* ═══════════ KEY DATES — MOBILE ═══════════ */
@media (max-width: 1024px) {
  .kd-item { grid-template-columns: 56px 1fr auto; gap: .9rem; }
}
@media (max-width: 768px) {
  #key-dates { padding: 2.5rem 0; }
  .kd-head   { margin-bottom: 1.75rem; }
  .kd-title  { font-size: clamp(1.6rem, 5.5vw, 2.2rem); }
  .kd-sub    { font-size: .88rem; }
  .kd-filters { gap: .35rem; margin-bottom: 1.5rem; }
  .kd-f       { font-size: .72rem; padding: .3rem .8rem; }
  .kd-item    { grid-template-columns: 48px 1fr; gap: .75rem; padding: .85rem 1rem; }
  .kd-right   { display: none; }
  .kd-day     { font-size: 1.6rem; }
  .kd-info-title { font-size: .88rem; }
  .kd-info-note  { font-size: .72rem; }
  .kd-dl-btn  { font-size: .84rem; padding: .75rem 1.6rem; }
}
@media (max-width: 400px) {
  .kd-item { padding: .75rem .9rem; }
  .kd-day  { font-size: 1.4rem; }
}

/* ═══════════ MICRO CTA — MOBILE ═══════════ */
@media (max-width: 768px) {
  #micro-cta { padding: 2rem 0; }
  .mc-inner  { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .mc-text h3 { font-size: clamp(1.5rem, 5.5vw, 1.9rem); }
  .mc-text p  { font-size: .85rem; margin-top: .3rem; }
  .mc-actions { flex-wrap: wrap; gap: .5rem; width: 100%; }
  .mc-btn-primary { width: 100%; justify-content: center; }
}

/* ═══════════ TOPICS EXPLORE — MOBILE ═══════════ */
@media (max-width: 1024px) {
  .topics-big-grid { grid-template-columns: repeat(2, 1fr); gap: .9rem; }
}
@media (max-width: 640px) {
  #topics-section { padding: 2.5rem 0; }
  .topics-section-head { margin-bottom: 1.75rem; }
  .topics-section-title { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .topics-big-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .topic-card { padding: 1.1rem 1rem; }
  .topic-card-icon { width: 30px; height: 30px; margin-bottom: .65rem; }
  .topic-card-name { font-size: 1rem; }
  .topic-card-desc { font-size: .73rem; }
}
@media (max-width: 380px) {
  .topics-big-grid { grid-template-columns: 1fr; }
}

/* ═══════════ BUDGET HUB — MOBILE ═══════════ */
@media (max-width: 900px) {
  .bh-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
}
@media (max-width: 768px) {
  #budget-hub { padding: 2.5rem 0; }
  .bh-head    { margin-bottom: 1.5rem; }
  .bh-title   { font-size: clamp(1.4rem, 5.5vw, 1.9rem); }
  .bh-card    { padding: 1.15rem; }
  .bh-card-title { font-size: 1rem; }
  .bh-card-desc  { font-size: .76rem; }
}
@media (max-width: 600px) {
  .bh-grid { grid-template-columns: 1fr; gap: .85rem; }
}

/* ═══════════ GLOSSARY — MOBILE ═══════════ */
@media (max-width: 768px) {
  #glossary    { padding: 2.5rem 0; }
  .gl-head     { margin-bottom: 1.5rem; }
  .gl-title    { font-size: clamp(1.5rem, 5.5vw, 2rem); }
  .gl-sub      { font-size: .84rem; }
  .gl-alpha    { gap: .22rem; }
  .gl-alpha-btn { width: 28px; height: 28px; font-size: .72rem; }
  .gl-search-wrap { margin-bottom: 1.5rem; padding: .55rem .85rem; }
  .gl-search-wrap input { font-size: .84rem; }
  .gl-group-letter { font-size: 1.5rem; }
  .gl-entry    { gap: .2rem; }
  .gl-term     { font-size: .84rem; }
  .gl-def      { font-size: .82rem; }
  .gl-disc     { font-size: .72rem; margin-bottom: 1.5rem; }
}
@media (max-width: 640px) {
  .gl-entry { grid-template-columns: 1fr; gap: .18rem; }
}
@media (max-width: 400px) {
  .gl-alpha-btn { width: 25px; height: 25px; font-size: .66rem; border-radius: 4px; }
}

/* ═══════════ ASK AN ACCOUNTANT — MOBILE ═══════════ */
@media (max-width: 800px) {
  #ask-section { padding: 2.5rem 0; }
  .ask-inner   { grid-template-columns: 1fr; gap: 2rem; }
  .ask-title   { font-size: clamp(1.45rem, 5.5vw, 1.9rem); }
  .ask-desc    { font-size: .85rem; }
  .ask-prev    { padding: .85rem .95rem; }
  .ask-prev-q  { font-size: .82rem; }
  .ask-form    { padding: 1.5rem 1.25rem; }
  .ask-field input,
  .ask-field select,
  .ask-field textarea { font-size: .85rem; padding: .55rem .8rem; }
  .ask-field textarea  { min-height: 85px; }
}

/* ═══════════ INSIGHTS CTA STRIP — MOBILE ═══════════ */
@media (max-width: 768px) {
  .ins-cta-strip  { padding: 2rem 1.25rem; }
  .ins-cta-inner  { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .ins-cta-left h2 { font-size: clamp(1.5rem, 5.5vw, 2rem); }
  .ins-cta-left p  { font-size: .9rem; }
  .ins-cta-actions { width: 100%; flex-direction: column; gap: .65rem; }
  .ins-btn-filled  { width: 100%; justify-content: center; padding: .9rem 1.5rem; }
  .ins-btn-outline { padding: .5rem 0; }
}

/* ═══════════ PAGE DISCLAIMER — MOBILE ═══════════ */
@media (max-width: 768px) {
  #page-disclaimer { padding: 1.1rem 0; }
  .pd-inner { padding: 0 1.25rem; gap: .65rem; }
  .pd-inner p { font-size: .72rem; }
}

/* ═══════════ DISCLAIMER BOX — MOBILE ═══════════ */
@media (max-width: 768px) {
  .disclaimer { padding: .8rem 1rem; gap: .55rem; margin-top: 2rem; }
  .disclaimer p { font-size: .72rem; }
}

/* ═══════════ OVERFLOW SAFETY ═══════════ */
@media (max-width: 768px) {
  body { overflow-x: hidden; }
}