.image-led-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.image-led-grid img{width:100%;height:420px;object-fit:cover;display:block}.publication-panel{background:#0d4f4a;color:#fff;padding:38px;display:grid;grid-template-columns:50px 1fr;gap:18px;border-left:8px solid #f0c56e}.publication-panel span{color:#f0c56e;font-size:12px;letter-spacing:.12em}.publication-panel strong{font:400 28px var(--display)}
@media (max-width:850px){.image-led-grid{grid-template-columns:1fr;gap:38px}.image-led-grid img{height:300px}}
.site-header{background:rgba(255,255,255,.96);border-bottom-color:#d7e4df}.brand img{width:236px}.brand span{color:#0d4f4a}.eyebrow,.meta{color:#9b4d45}.hero{background:#fff}.hero h1,.section h2{color:#102b35}.hero-art{box-shadow:18px 18px 0 #f0c56e}.hero-art img{filter:none}.capability-visual-grid{gap:0;border:0}.capability-visual{position:relative;overflow:hidden;color:#fff;border:0;margin:0;padding:34px 30px 30px;min-height:410px;isolation:isolate}.capability-visual:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:.9}.capability-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,30,28,.12),rgba(9,20,24,.9))}.capability-visual span,.capability-visual p,.capability-visual b{color:#fff}.capability-visual h3{font-size:34px;margin-top:60px;max-width:290px}.capability-tax:before{background-image:url('/assets/hero-architecture.jpg')}.capability-finance:before{background-image:linear-gradient(135deg,#0b3f3d,#138f83 52%,#d69b45)}.capability-advisory:before{background-image:linear-gradient(135deg,#162a46,#6e1f3c 52%,#bd7557)}.visual-mark{font-size:11px;letter-spacing:.15em;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:14px}.cover{min-height:330px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative;overflow:hidden}.cover .meta,.cover p,.cover a{color:#fff}.cover h3{font:400 32px/1.08 var(--display);margin:18px 0 16px;max-width:500px}.cover-emerald{background:linear-gradient(135deg,#063f3a,#0e8d7a)}.cover-navy{background:linear-gradient(135deg,#152942,#1c5e73)}.cover-wine{background:linear-gradient(135deg,#5b1f31,#b5674d)}.cover:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.32);border-radius:50%;right:-54px;top:-52px}.cover>*{position:relative;z-index:1}.perspective-band{background:#0d4f4a}.section-light{background:#fff}.section-sand{background:#f6f7f4}.button-dark{background:#0b5f59}.button-dark:hover{background:#7f2742}.button-light{background:#f0c56e;color:#15252a}.enquiry{background:#f0c56e}.site-footer{background:#102b35}.insights-feature-section{background:#f5f7f5}
.theatre-hero{background:#0d4f4a;color:#fff}.theatre-hero h1,.theatre-hero .hero-lede{color:#fff}.theatre-filters{display:flex;gap:16px}.theatre-filters label{font-size:11px}.theatre-filters select,.theatre-filters input{margin-top:6px;padding:10px;border:1px solid #b8c9c1;background:#fff}.theatre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.theatre-card{border:1px solid #d7e4df;padding:20px;background:#fff}.theatre-cover{min-height:140px;background:linear-gradient(135deg,#063f3a,#b5674d);color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.theatre-cover span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.theatre-cover strong{font-size:12px;align-self:flex-end;border:1px solid rgba(255,255,255,.6);padding:4px 8px}.theatre-card h3{font:400 25px/1.12 var(--display)}.theatre-card p:not(.meta){color:var(--muted)}@media(max-width:850px){.theatre-grid{grid-template-columns:1fr}.theatre-filters{display:block;margin-top:30px}}
.home-theatre{background:#fff}.home-theatre-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.home-theatre-item{border-top:3px solid #0d4f4a;padding:22px 18px 10px;background:#f5f7f5}.home-theatre-item h3{font:400 25px/1.12 var(--display)}.home-theatre-item p:not(.meta){color:var(--muted)}@media(max-width:850px){.home-theatre-list{grid-template-columns:1fr}}

/* ALTAF Ecosystem 9-dot launcher — same shared component/class names as
   altaf.ai, taxlazy and syncgcc.com (see altaf-ecosystem-launcher.js),
   mapped onto this site's own header tokens. Sits beside the wordmark in
   the header, always visible regardless of the mobile nav's open/closed
   state. */
.brand-group{display:flex;align-items:center;gap:14px}
.taxlazy-ecosystem-trigger{box-sizing:border-box;min-width:44px;min-height:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(22,35,38,.1);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.taxlazy-ecosystem-trigger:hover,.taxlazy-ecosystem-trigger:focus-visible{border-color:#9b4d45;outline:2px solid rgba(155,77,69,.25)}
.taxlazy-ecosystem-dots{display:grid;grid-template-columns:repeat(3,3.5px);grid-template-rows:repeat(3,3.5px);gap:3px}
.taxlazy-ecosystem-dots i{display:block;width:3.5px;height:3.5px;border-radius:50%;background:var(--muted);font-style:normal}
.taxlazy-ecosystem-menu{position:fixed;z-index:13040;box-sizing:border-box;width:min(240px,calc(100vw - 24px));aspect-ratio:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 40px rgba(22,35,38,.16)}
.taxlazy-ecosystem-menu[hidden]{display:none}
.taxlazy-ecosystem-tile{box-sizing:border-box;display:flex;align-items:flex-end;justify-content:center;min-width:0;min-height:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:#f6f7f4;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.taxlazy-ecosystem-tile:hover{border-color:#9b4d45;box-shadow:0 6px 18px rgba(22,35,38,.1);transform:translateY(-1px)}
.taxlazy-ecosystem-tile:focus-visible{border-color:#9b4d45;outline:2px solid rgba(155,77,69,.25)}
.taxlazy-ecosystem-tile img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.taxlazy-ecosystem-tile[aria-current="true"]{border-color:#9b4d45;background:#f0e2df}
@media(prefers-reduced-motion:reduce){.taxlazy-ecosystem-tile{transition:none!important}.taxlazy-ecosystem-tile:hover{transform:none!important}}
@media(max-width:850px){.brand-group{gap:9px}.brand img{width:190px}}

/* ============================================================
   GT5 final closure fixes (2026-10-02) -- CX1 audit P1/A1/A2.
   All changes isolated to this override file; site.css untouched.
   ============================================================ */

/* P1-2: homepage mobile header overflow at <=390px. Root cause: at the
   existing 850px breakpoint .brand img is 190px wide (line above) and the
   "Fiscal Advisory" <span> wordmark stays visible, so brand-group + the
   9-dot ecosystem launcher leave no room for the Menu button on phones,
   causing horizontal overflow of the whole document. Phones only
   (tablets 601-850px keep the existing 190px treatment, which has room). */
@media(max-width:600px){
  .site-header .brand span{display:none}
  .site-header .brand img{width:128px}
  .brand-group{gap:8px}
  .nav-wrap{gap:10px}
  .menu-toggle{flex-shrink:0;padding:8px 10px;font-size:11px}
}
html,body{overflow-x:hidden}

/* A1: dark-teal perspective section -- .section h2 is globally forced to
   #102b35 (near-black) a few lines above for the light sections, which
   also wins inside .perspective-band's dark teal (#0d4f4a) background,
   making the heading/eyebrow unreadable. Restore light text for this
   section only; everything else (background, layout, the rest of the
   palette) is untouched. */
.perspective-band h2,.perspective-band .eyebrow{color:#f5f7f3}
.perspective-band .large-copy{color:#d8e6e1}

/* A2-4: footer logo. altaf-cf-logo-owner.png is an OPAQUE PNG (solid
   near-white background baked in, not a transparent cutout), so the
   previous filter:brightness(0) invert(1) turned the entire opaque
   rectangle white, not just the dark letterforms -- hence the
   "unrecognizable white rectangle". No transparent variant of this
   specific mark exists in /assets (altaf-ai-logo-transparent.png is a
   different brand's logo, not this one). Non-destructive fix: show the
   logo in its real colours inside a small light plaque instead of
   inverting it. */
.brand-footer img{filter:none;opacity:1;background:#fff;border-radius:6px;padding:8px 14px;width:110px}

/* A2-5: homepage first-fold CTA. The hero-art image's 1.1 aspect-ratio
   makes the image column taller than the text column at common desktop
   widths, so the grid row (and therefore the whole hero section) is
   taller than a 1440x900 first screen, pushing the primary CTA below the
   fold. Desktop/tablet only -- mobile already has its own separate,
   already-reasonable hero sizing below and is untouched. */
@media(min-width:851px){
  .hero{padding:66px 0 70px}
  /* height:auto is required here -- the <img> carries width="1600"
     height="1200"attributes, which map to a low-priority presentational
     "height:1200px" that nothing else in the cascade contests, so
     aspect-ratio alone is silently ignored for the height calculation
     unless height is explicitly reset to auto. */
  .hero-art img{aspect-ratio:1.35;height:auto}
  .hero h1{font-size:clamp(3rem,6vw,5.6rem)}
}

/* A2-6: very long GCC Tax Theatre article titles use the same .hero h1
   as the short homepage headline, which is a fixed 3.7rem on mobile
   regardless of title length -- a 100+ character title at that size
   wraps past 10 lines. Scale down further on phones (full title
   preserved, no truncation); the short homepage headline still reads
   clearly at this size, just less oversized. */
@media(max-width:480px){
  .hero h1{font-size:clamp(1.9rem,8.5vw,2.6rem);line-height:1.1}
}

/* A2-7: empty GCC Tax Theatre archive. Previously a single stray
   .form-note paragraph inside the empty 3-column theatre-grid, which
   reads as broken/unfinished. A compact, deliberately-styled notice
   instead (see assets/gcc-tax-theatre.js for the matching markup). */
.theatre-empty{grid-column:1/-1;border:1px dashed #b8c9c1;background:#f6f7f4;padding:48px 32px;text-align:center;border-radius:4px}
.theatre-empty p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.theatre-empty p:first-child{font:400 22px var(--display);color:var(--ink);margin-bottom:8px}

/* P1-1: enquiry form now resolves via mailto (see index.html/site.js) --
   update the note copy's tone to a calm helper line rather than an alert. */
.enquiry-form .form-note{color:#6b5a3a}
