/* Wealthy Wave theme v3 (2026-10-15). Every colour comes from the variables in :root, built from the
   logo's royal blue (#2a3094). Change the palette here only. Loaded last on every WWA page. CSS only. */
:root{
  --brand:#2a3094;--brand-hover:#232877;--brand-soft:#eceefb;
  --ink:#10143a;--text:#2b3150;--muted:#5b6283;--bg:#ffffff;--surface:#f5f6fb;--line:#e3e6f2;
  --header-bg:#ffffff;--header-ink:#10143a;--header-line:#e3e6f2;
  --hero-bg:#f5f6fb;--hero-glow:#e6e9fb;--hero-ink:#10143a;--hero-muted:#4f5677;--hero-em:#2a3094;
  --btn-bg:#2a3094;--btn-ink:#ffffff;--btn-hover:#232877;
  --dark-bg:#161a4f;--dark-card:#1f2463;--dark-ink:#ffffff;--dark-muted:#c5c9ec;--rule:#7f8cff;
  --art-1:#ffffff;--art-2:#2a3094;--art-3:#10143a;
  /* aliases used by older blocks */
  --navy:var(--dark-bg);--paper:var(--surface);--gold:var(--brand);--soft:var(--surface);
  --story-green:var(--ink);--story-gold:var(--brand);--story-paper:#ffffff}
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--text)}
h1,h2,h3{color:var(--ink)}
em{color:var(--brand)}
a{text-underline-offset:3px}
::selection{background:#2a309426}

/* Buttons */
.button.primary,.primary{background:var(--btn-bg);color:var(--btn-ink);border:1px solid var(--btn-bg);border-radius:8px;box-shadow:0 1px 2px #10143a1f,0 8px 20px #2a309424;transition:background .15s,transform .15s,box-shadow .15s}
.button.primary:hover,.primary:hover{background:var(--btn-hover);transform:translateY(-1px)}
.outline{border-color:#c9cde3;border-radius:8px}
.outline:hover{background:var(--surface)}

/* Header + hero */
.site-header,.hero{position:relative;isolation:isolate}
.site-header::before,.hero::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:var(--header-bg)}
.hero::before{background:radial-gradient(1000px 560px at 85% 30%,var(--hero-glow) 0%,transparent 65%),var(--hero-bg)}
.site-header{border-bottom:1px solid var(--header-line)}
.official-brand>span,.official-brand small{color:var(--header-ink)}
.official-brand img{border-radius:10px;background:#fff}
.desktop-nav a{color:var(--header-ink);opacity:.85}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{opacity:1}
.desktop-nav a[aria-current=page]::after{background:var(--rule)}
.header-call{color:var(--header-ink);border-color:currentColor;border-radius:8px}
.mobile-nav summary{color:var(--header-ink)}
.site-header .mobile-nav nav{background:var(--header-bg);border-color:var(--header-line)}
.site-header .mobile-nav nav a{color:var(--header-ink)}
.hero,.hero h1{color:var(--hero-ink)}
.hero h1 em{color:var(--hero-em);background:none;-webkit-background-clip:initial;background-clip:initial}
.hero .eyebrow{color:var(--hero-muted);letter-spacing:.14em}
.hero .small-line{background:var(--rule)}
.hero .hero-description{color:var(--hero-muted)}
.hero .quiet-link{color:var(--hero-ink)}
.hero .location{color:var(--hero-muted)}
.hero .button.primary{background:var(--hero-btn-bg,var(--btn-bg));color:var(--hero-btn-ink,var(--btn-ink));border-color:var(--hero-btn-bg,var(--btn-bg))}
.hero-art{background:var(--hero-art-bg,#ffffffa6);border-color:var(--hero-art-line,var(--line));box-shadow:0 24px 60px #10143a1a}
.art-heading,.art-caption,.art-explanation,.motion-toggle,.view-controls button,.view-controls span{color:var(--hero-muted)}
.view-controls input:checked+span,.view-controls button[aria-pressed=true]{background:var(--brand);color:#fff}
.scene-grid{background-image:linear-gradient(#2a309414 1px,transparent 1px),linear-gradient(90deg,#2a309414 1px,transparent 1px)}
.sculpture-shadow{background:#10143a40}
.orbit{border-color:#2a309433!important}
.layer-records{background:var(--art-1);border-color:#cfd3ea;color:var(--ink)}
.layer-tax{background:var(--art-2);border-color:var(--art-2);color:#fff;box-shadow:1px 1px #1c2170,2px 2px #1c2170,3px 3px #1c2170,4px 4px #1c2170,5px 5px #1c2170}
.layer-decisions{background:var(--art-3);border-color:var(--art-3);box-shadow:1px 1px #070a26,2px 2px #070a26,3px 3px #070a26,4px 4px #070a26}
.decision-path i{background:#fff;border-color:#fff;box-shadow:4px 4px 0 #7f8cff}
.record-lines i{background:#2a309430}

/* Light sections */
.service-card,.service-card:nth-child(2),.service-card:nth-child(3){background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #10143a0d}
.service-card:hover{border-color:#c9cde3}
.service-symbol,.service-card:nth-child(2) .service-symbol{color:var(--brand)}
.service-number,.all-services p{color:var(--muted)}
.service-ribbon{background:var(--dark-bg);color:var(--dark-ink)}
.service-ribbon b,.service-ribbon span::before{color:var(--rule)}
.perspective-section{background:var(--dark-bg);color:var(--dark-ink)}
.perspective-section h2,.perspective-section h3{color:var(--dark-ink)}
.perspective-section .eyebrow,.perspective-section em{color:var(--rule)}
.prose-grid p,.prose-grid li,.perspective-layout>div>p:not(.eyebrow),.topic-grid p,.perspective-section .service-intro p{color:var(--dark-muted)}
.topic-grid h3{color:var(--dark-ink)}
.process span{color:var(--brand)}
.contact-section{background:var(--surface)}
.reviews figure,.info-card,.info-card:nth-child(2),.info-card:nth-child(3),.prep-card,.article-aside,.article-links p,.wwa-service-introduction .wwa-intro-item{background:#fff;border-color:var(--line)}
.info-card{border-bottom:3px solid var(--brand)}
.prep-card{box-shadow:0 1px 2px #10143a0d}
.faq-list details[open]{background:var(--surface)}
.faq-list summary::after,.check-list li::before{color:var(--brand)}
.information-note{background:var(--surface);border-left-color:var(--brand)}
.detail-grid .scope-note{border-left-color:var(--brand);color:var(--muted)}
.check-list li{color:var(--text)}
.depth-art{background:linear-gradient(135deg,#f5f6fb,#e6e9f7);border-color:var(--line)}
.sheet-2{background:var(--brand-soft);border-color:#c9cde3}
.sheet-3{background:var(--art-3);border-color:var(--art-3);color:#fff;box-shadow:1px 2px 0 #070a26,2px 4px 0 #070a26,9px 18px 28px #10143a33}
.sheet-3 .sheet-lines i{background:var(--rule)}
.intro-section>p:first-child,.footer-label{color:var(--brand)}
.wwa-service-jumps a{border-color:#c9cde3;color:var(--ink);background:#fff}
.wwa-next-step strong,.wwa-service-group>h3,.wwa-profile-columns h4{color:var(--ink)}
.wj~.wwa-story,main:has(.wj) .process-section{display:none}

/* Doctors band */
.dr-band{background:var(--dark-bg)!important;border:1px solid #ffffff14!important;border-left:4px solid var(--rule)!important;box-shadow:0 18px 40px #10143a26!important}
.dr-band__eyebrow{color:var(--rule)}
.dr-band__cta{background:#fff!important;color:var(--ink)!important;border-radius:8px!important;box-shadow:none!important;border:0!important}

/* Shared blocks */
.pp3d--wwa{--pp-ink:var(--ink);--pp-muted:var(--muted);--pp-accent:var(--dark-card);--pp-accent-2:var(--dark-bg);--pp-glow:rgba(42,48,148,.18);--pp-bg1:var(--surface);--pp-bg2:#eceefb;--pp-gold:var(--brand);
  --pp-prob-bg:#ffffff;--pp-prob-edge:var(--line);--pp-prob-ink:#8a3b2a}
.pp3d--wwa .pp3d__card--problem .pp3d__tag{background:#fbeeea;color:#8a3b2a}
.pp3d--wwa .pp3d__button{background:var(--btn-bg);color:var(--btn-ink);border-radius:8px;box-shadow:none}
.pp3d--wwa .pp3d__slab--book .pp3d__button{background:#fff;color:var(--ink)}
.fdr{--fdr-ink:var(--ink);--fdr-muted:var(--muted);--fdr-accent:var(--btn-bg);--fdr-accent-2:var(--rule);--fdr-line:var(--line)}
.fdr__button{background:var(--btn-bg);color:var(--btn-ink);border-radius:8px;box-shadow:none}
.fdr__button:hover{color:var(--btn-ink);background:var(--btn-hover)}
.hf{--hf-ink:var(--ink);--hf-muted:var(--muted);--hf-accent:var(--dark-card);--hf-accent-2:var(--dark-bg);--hf-line:#d5d9ea}
.hf__eyebrow{color:var(--rule)}
.hf__button{background:var(--btn-bg);color:var(--btn-ink);border-radius:8px;box-shadow:none}
.dr-card--one{background:var(--art-2)}
.dr-card--two{background:#fff;color:var(--ink);border:1px solid var(--line)}
.dr-card--three{background:var(--art-3)}
.dr-takeaways li::before{background:var(--brand)!important;box-shadow:none!important}
.dr-meet__role{color:var(--brand)}
.dr-hero__plus{border-left-color:var(--brand)}
.dr-offer__step{background:var(--brand);color:#fff;box-shadow:none}

/* Booking bar */
.bkbar--wwa{--bk-main:var(--btn-bg);--bk-accent:var(--btn-hover)}
.bkbar--wwa a.bkbar__main{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.bkbar--wwa a{border-radius:8px}

/* ---------- 3D scroll steps (.wj): used on the home page and every service page ---------- */
.wj{position:relative;isolation:isolate;padding:100px 0 108px;color:var(--dark-ink)}
.wj::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:var(--dark-bg)}
.wj__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.wj__intro{position:sticky;top:110px}
.wj__eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rule);margin:0 0 18px}
.wj__eyebrow::before{content:"";width:28px;height:2px;background:var(--rule)}
.wj__intro h2{color:var(--dark-ink);font-size:clamp(32px,4vw,52px);margin:0 0 22px}
.wj__intro h2 em{color:var(--rule)}
.wj__intro p{color:var(--dark-muted);font-size:17px;line-height:1.75;max-width:440px}
.wj__steps{list-style:none;margin:0;padding:0 0 0 54px;position:relative;perspective:1400px;view-timeline-name:--wj}
.wj__steps::before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:1px;background:#ffffff26}
.wj__steps::after{content:"";position:absolute;left:16px;top:12px;bottom:12px;width:3px;background:var(--rule);transform-origin:top}
.wj__step{position:relative;margin:0 0 26px;padding:28px 32px;border-radius:14px;background:var(--dark-card);border:1px solid #ffffff14;box-shadow:0 1px 0 #ffffff12 inset,0 20px 40px #00000033;transform-style:preserve-3d}
.wj__step::before{content:attr(data-n);position:absolute;left:-54px;top:26px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 14px/1 var(--sans);color:var(--dark-bg);background:#fff;box-shadow:0 0 0 6px var(--dark-bg)}
.wj__step h3{margin:0 0 10px;font:400 24px/1.25 var(--serif);color:var(--dark-ink)}
.wj__step p{margin:0;color:var(--dark-muted);font-size:16px;line-height:1.7}
.wj__step .wj__tag{display:inline-block;margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rule)}
.wj__step--book{background:#fff;border-color:#fff;box-shadow:0 24px 50px #00000040}
.wj__step--book h3{color:var(--ink)}
.wj__step--book p{color:var(--muted)}
.wj__step--book::before{background:var(--rule);color:var(--dark-bg)}
.wj__step--book .wj__tag{color:var(--brand)}
.wj__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px!important}
.wj__actions a{display:inline-flex;align-items:center;min-height:50px;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s}
.wj__actions .wj__go{background:var(--btn-bg);color:var(--btn-ink)}
.wj__actions .wj__go:hover{background:var(--btn-hover);transform:translateY(-1px)}
.wj__actions .wj__alt{border:1px solid #c9cde3;color:var(--ink)}
.wj__actions .wj__alt:hover{background:var(--surface)}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .wj__step{animation:wj-in linear both;animation-timeline:view();animation-range:entry 5% cover 36%}
    .wj__step:nth-child(even){animation-name:wj-in-alt}
    .wj__step::before{animation:wj-dot linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
    .wj__steps::after{animation:wj-line linear both;animation-timeline:--wj;animation-range:entry 40% exit 60%}
  }
}
@keyframes wj-in{from{opacity:0;transform:translate3d(0,70px,-120px) rotateX(24deg) rotateY(-6deg)}to{opacity:1;transform:none}}
@keyframes wj-in-alt{from{opacity:0;transform:translate3d(0,70px,-120px) rotateX(24deg) rotateY(6deg)}to{opacity:1;transform:none}}
@keyframes wj-dot{from{opacity:.45}to{opacity:1}}
@keyframes wj-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (max-width:860px){
  .wj{padding:66px 0 74px}
  .wj__grid{grid-template-columns:1fr;gap:34px}
  .wj__intro{position:static}
  .wj__steps{padding-left:46px}
  .wj__step{padding:24px 22px}
  .wj__step::before{left:-46px}
}

/* A-to-Z pass (15 Oct): pages with their own 3D steps drop the blocks that repeated the same process 3-5 times */
main:has(.wj--page) :is(.wwa-story,.wwa-service-introduction,.service-intro,.wwa-deliverables),
main:has(.wj--page) section.section.wrap:has(>ol.process){display:none}
.depth-art>p{display:none}

/* Hooks v2 (15 Oct): proof under the hero button, "what happens on the call" strip */
.hero-micro{margin:12px 0 0;font-size:13px;color:var(--hero-muted)}
.hero-proof{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:18px 0 6px;font-size:14px;color:var(--hero-muted)}
.hero-proof a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
.hero-proof a:hover{border-color:var(--brand)}
.hero-proof__stars{color:#e8a317;letter-spacing:1px}
.callstrip{margin-top:28px;margin-bottom:28px;padding:26px 28px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 1px 2px #10143a0d}
.callstrip h2{margin:0 0 16px;font-size:clamp(20px,2.2vw,26px)}
.callstrip ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.callstrip li{display:flex;gap:12px;align-items:flex-start}
.callstrip b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-size:14px}
.callstrip li p{margin:0;font-size:15px;line-height:1.6;color:var(--text)}
.callstrip__note{margin:16px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:760px){.callstrip ol{grid-template-columns:1fr}.callstrip{padding:22px 18px}}

/* Tax dates page tables */
.tdates h2{margin-bottom:18px}
.tdates__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.tdates table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.tdates th,.tdates td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tdates thead th{background:var(--surface);color:var(--ink);font-size:13px;font-weight:600}
.tdates tbody th{color:var(--ink);font-weight:600}
.tdates tbody tr:last-child>*{border-bottom:0}
.tdates tbody tr:hover{background:var(--brand-soft)}
.tdates__note{margin-top:14px;font-size:14px;color:var(--muted);max-width:820px;line-height:1.7}
