/*
Theme Name: Zhan Associates
Theme URI: https://www.zhanassociates.co.uk/
Author: Zhan Associates
Description: Bespoke editorial theme for Zhan Associates — specialist workplace defence consultancy. Charcoal / crimson / soft gold system, Montserrat throughout, WCAG 2.2 AA, reduced-motion aware.
Version: 1.3.3
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: zhan-associates
*/

/* ============ TOKENS ============ */
:root{
  --ink:#111111;
  --ink-2:#1a1917;
  --ink-3:#232220;
  --paper:#F8F8F6;
  --paper-2:#efede6;
  --crimson:#8B1E24;
  --crimson-2:#6e171c;
  --grey:#6B6B6B;
  --gold:#B89C52;
  --gold-40:rgba(184,156,82,.4);
  --gold-18:rgba(184,156,82,.18);
  --line-ink:rgba(17,17,17,.14);
  --line-paper:rgba(248,248,246,.16);
  --font:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --fs-hero:clamp(2.4rem,5.6vw,4.9rem);
  --fs-h2:clamp(1.9rem,3.8vw,3.2rem);
  --fs-h3:clamp(1.25rem,2vw,1.7rem);
  --fs-body:1.0625rem;
  --pad-section:clamp(4.5rem,9vw,8.5rem);
  --w-container:min(1180px,92vw);
  --w-wide:min(1340px,94vw);
  --ease:cubic-bezier(.22,.61,.2,1);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.78;font-weight:400;color:var(--ink);background:var(--paper);overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:var(--crimson);text-decoration:none}
a:hover{color:var(--crimson-2)}
h1,h2,h3,h4{margin:0 0 .6em;line-height:1.12;font-weight:800;letter-spacing:-.015em}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.15em;padding-left:1.2em}
strong{font-weight:700}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
::selection{background:var(--crimson);color:var(--paper)}

.za-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;z-index:10001;font-weight:600}
.za-skip:focus{left:0}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* ============ TYPE UTILITIES ============ */
.za-kicker{display:inline-flex;align-items:center;gap:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--crimson);margin-bottom:1.35rem}
.za-kicker::before{content:"";width:2.2rem;height:1px;background:var(--gold);flex:none}
.on-ink .za-kicker,.za-kicker--gold{color:var(--gold)}
.za-title{font-size:var(--fs-h2)}
.za-lede{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.8;color:var(--grey);font-weight:400;max-width:38em}
.on-ink .za-lede{color:rgba(248,248,246,.72)}
.za-center{text-align:center}
.za-center .za-kicker{justify-content:center}
.za-center .za-lede{margin-left:auto;margin-right:auto}

/* ============ LAYOUT ============ */
.za-container{width:var(--w-container);margin:0 auto}
.za-container--wide{width:var(--w-wide);margin:0 auto}
.za-section{padding:var(--pad-section) 0;position:relative}
.za-section--ink{background:var(--ink);color:var(--paper)}
.za-section--ink2{background:var(--ink-2);color:var(--paper)}
.za-section--paper2{background:var(--paper-2)}
.za-head{max-width:44em;margin-bottom:clamp(2.5rem,5vw,4.5rem)}

/* ============ BUTTONS ============ */
.za-btn{display:inline-flex;align-items:center;gap:.7rem;padding:1.05rem 1.9rem;background:var(--crimson);color:var(--paper);font-family:var(--font);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--crimson);cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}
.za-btn:hover{background:var(--crimson-2);border-color:var(--crimson-2);color:var(--paper);transform:translateY(-2px)}
.za-btn__arrow{transition:transform .3s var(--ease)}
.za-btn:hover .za-btn__arrow{transform:translateX(4px)}
.za-btn--ghost{background:transparent;color:var(--ink);border-color:rgba(17,17,17,.35)}
.za-btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.on-ink .za-btn--ghost,.za-btn--ghost-light{background:transparent;color:var(--paper);border-color:rgba(248,248,246,.4)}
.on-ink .za-btn--ghost:hover,.za-btn--ghost-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.za-btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.za-btn--gold:hover{background:#a5893f;border-color:#a5893f;color:var(--ink)}

/* ============ HEADER ============ */
.za-header{position:fixed;inset:0 0 auto;z-index:1000;transition:background .35s var(--ease),box-shadow .35s var(--ease)}
.za-header__inner{width:var(--w-wide);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:1.4rem 0;transition:padding .35s var(--ease)}
.za-header__inner>.za-logo{justify-self:start}
.za-header__inner>.za-nav{justify-self:center}
.za-header__inner>.za-nav__cta{justify-self:end}
.za-nav__cta--mobile{display:none}
.za-header.is-scrolled{background:rgba(17,17,17,.96);box-shadow:0 10px 40px rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.za-header.is-scrolled .za-header__inner{padding:.85rem 0}
.za-logo{display:inline-flex;align-items:center;flex:none}
.za-logo img{height:38px;width:auto;display:block;transition:height .35s var(--ease)}
.za-header.is-scrolled .za-logo img{height:32px}
.custom-logo-link{display:inline-flex;align-items:center;flex:none}
.custom-logo-link img{height:38px;width:auto;display:block}
@media (max-width:600px){.za-logo img,.custom-logo-link img{height:32px}}
.za-nav{display:flex;align-items:center;gap:1rem}
.za-nav>ul{list-style:none;margin:0;padding:.4rem .5rem;display:flex;align-items:center;gap:.15rem;background:rgba(30,28,26,.94);border:1px solid rgba(184,156,82,.35);border-radius:999px;overflow:visible}
.za-nav li{position:relative}
.za-nav>ul>li>a,.za-nav button.za-subtoggle{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,248,246,.82);background:none;border:0;cursor:pointer;font-family:var(--font);padding:.55rem 1.05rem;border-radius:999px;display:inline-flex;align-items:center;gap:.4rem;transition:color .25s var(--ease),background .25s var(--ease)}
.za-nav>ul>li>a:hover,.za-nav button.za-subtoggle:hover{color:var(--paper);background:rgba(184,156,82,.14)}
/* Remove the browser's default focus ring on click — on the rounded pill button it renders as an oval. */
.za-nav>ul>li>a:focus,.za-nav button.za-subtoggle:focus{outline:none}
/* Keyboard focus: contained inset ring, never an offset outline on the rounded pill (which renders as an oval halo). */
.za-nav>ul>li>a:focus-visible,.za-nav button.za-subtoggle:focus-visible{outline:none;background:rgba(184,156,82,.2);box-shadow:none}
.za-nav>ul>li>a.is-current,.za-nav>ul>li.is-current>a,.za-nav>ul>li.is-current>.za-subtoggle{color:var(--paper);background:none;position:relative}
.za-nav>ul>li>a.is-current::after,.za-nav>ul>li.is-current>a::after{content:"";position:absolute;left:50%;bottom:.34rem;width:4px;height:4px;background:var(--gold);border-radius:50%;transform:translateX(-50%)}
.za-nav>ul>li.za-has-sub.is-current>.za-subtoggle{color:var(--paper)}
.za-subtoggle{position:relative}
.za-subtoggle .za-chev{width:.42em;height:.42em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ease);display:inline-block}
li.is-open>.za-subtoggle .za-chev{transform:rotate(-135deg) translateY(0)}
.za-sub{position:absolute;top:calc(100% + .9rem);left:50%;margin-left:-150px;width:300px;display:none;flex-direction:column;align-items:stretch;background:var(--ink-2);border:1px solid rgba(184,156,82,.4);border-radius:14px;padding:.9rem 0;z-index:20;list-style:none;gap:0}
li.is-open>.za-sub{display:block}
.za-sub li{display:block}
.za-sub a{display:block;padding:.55rem 1.5rem;font-size:.74rem;letter-spacing:.1em;text-transform:none;font-weight:500;color:rgba(248,248,246,.8)}
.za-sub a:hover{color:var(--gold);background:rgba(184,156,82,.06)}
.za-sub .za-sub__all{border-top:1px solid var(--line-paper);margin-top:.5rem;padding-top:.9rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.za-nav__cta{margin-left:.25rem}
.za-nav__cta .za-btn{border-radius:999px}
.za-nav__cta .za-btn{padding:.75rem 1.3rem;font-size:.72rem}
.za-nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative;z-index:1002}
.za-nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--paper);transition:transform .3s var(--ease),opacity .3s}
.za-nav-toggle span:nth-child(1){top:15px}
.za-nav-toggle span:nth-child(2){top:22px}
.za-nav-toggle span:nth-child(3){top:29px}
.za-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.za-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.za-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1024px){
  .za-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .za-nav-toggle{display:block}
  .za-nav__cta--desktop{display:none}
  .za-nav__cta--mobile{display:block;margin:1.4rem 0 0}
  .za-nav__cta--mobile .za-btn{font-size:.9rem;padding:.85rem 1.8rem}
  .za-nav{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;gap:1rem;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;overflow-y:auto;padding:5rem 0 3rem}
  .za-nav.is-open{opacity:1;visibility:visible}
  .za-nav>ul{flex-direction:column;gap:1.4rem;text-align:center}
  .za-nav a,.za-nav button.za-subtoggle{font-size:1rem}
  .za-sub{position:static;transform:none;opacity:1;visibility:visible;background:none;border:0;min-width:0;width:auto;margin-left:0;display:none!important;padding:.5rem 0 0}
  li.is-open>.za-sub{display:block!important}
  .za-sub a{font-size:.85rem;padding:.4rem 1rem}
}

/* ============ HERO ============ */
.za-hero{position:relative;background:var(--ink);color:var(--paper);padding:0 0 clamp(3rem,5vw,4.5rem);overflow:hidden;isolation:isolate}
/* Ticker: full-bleed band in normal flow at the top of the hero, clearing the fixed header */
.za-hero>.za-ticker{margin-top:90px}
@media (max-width:600px){.za-hero>.za-ticker{margin-top:82px}}
.za-hero>.za-ticker+.za-container--wide{margin-top:clamp(3rem,5vw,4.4rem)}
.za-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(60% 55% at 82% 8%,rgba(139,30,36,.28),transparent 60%),
  radial-gradient(45% 45% at 8% 92%,rgba(184,156,82,.10),transparent 65%),
  linear-gradient(180deg,#141312 0%,#111111 60%)}
.za-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:
  repeating-linear-gradient(90deg,rgba(248,248,246,.028) 0 1px,transparent 1px 120px)}
.za-hero__grid{display:grid;grid-template-columns:minmax(0,7.2fr) minmax(0,4.8fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.za-hero h1{font-size:var(--fs-hero);letter-spacing:-.02em;max-width:11.5em}
.za-hero h1 em{font-style:normal;color:var(--gold)}
.za-hero__sub{font-size:clamp(1.02rem,1.4vw,1.18rem);color:rgba(248,248,246,.72);max-width:34em;margin:1.4rem 0 2.2rem}
.za-hero__ctas{display:flex;flex-wrap:wrap;gap:1rem}
.za-hero__aside{border-left:1px solid var(--gold-40);padding-left:clamp(1.4rem,2.5vw,2.4rem)}
.za-hero__ticks{list-style:none;margin:0;padding:0}
.za-hero__ticks li{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid var(--line-paper);font-size:.92rem;font-weight:500;color:rgba(248,248,246,.88)}
.za-hero__ticks li:last-child{border-bottom:0}
.za-tick{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem;color:var(--gold)}
.za-hero__note{margin-top:1.4rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
@media (max-width:900px){.za-hero__grid{grid-template-columns:1fr}.za-hero__aside{border-left:0;border-top:1px solid var(--gold-40);padding:1.6rem 0 0}}
.za-hero__figure{margin:clamp(2.6rem,5vw,4rem) 0 0;position:relative}
.za-hero__imgcap{margin-top:1.2rem;font-size:1rem;line-height:1.7;color:rgba(248,248,246,.78);max-width:52em;font-style:italic}
.za-hero__lead{margin-top:clamp(2rem,4vw,3rem);max-width:44em}
.za-hero__lead .za-hero__sub{margin-bottom:1.8rem}
.za-hero__figure img{width:100%;height:auto;display:block;border:1px solid var(--gold-40);border-radius:2px}
.za-hero__figure figcaption{margin-top:.9rem;font-size:.78rem;letter-spacing:.02em;color:rgba(248,248,246,.6);font-style:italic;max-width:44em}

/* ============ TRUST BAR ============ */
/* ============ SERVICE TICKER (pure-CSS marquee) ============
   Scrolls with zero JavaScript so it is immune to JS deferral/combination.
   The animation and both sets are declared here and are visibly used in the
   raw markup, so "remove unused CSS" cannot strip them. Do not minify away. */
.za-ticker{background:#1A1917;border-top:1px solid rgba(184,156,82,.25);border-bottom:2px solid #B89C52;overflow:hidden;position:relative;--ticker-fade:96px}
.za-ticker__track{display:flex;width:max-content;flex-wrap:nowrap;align-items:center;animation:za-ticker-scroll 42s linear infinite;will-change:transform}
.za-ticker:hover .za-ticker__track,.za-ticker:focus-within .za-ticker__track{animation-play-state:paused}
.za-ticker__set{display:flex;flex-wrap:nowrap;align-items:center;flex:none}
.za-ticker__item{display:inline-flex;align-items:center;white-space:nowrap;color:#F8F8F6;font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:1.15rem 1.75rem}
.za-ticker__sep{flex:none;width:5px;height:5px;background:#B89C52;transform:rotate(45deg)}
.za-ticker::before,.za-ticker::after{content:"";position:absolute;top:0;bottom:0;width:var(--ticker-fade);z-index:2;pointer-events:none}
.za-ticker::before{left:0;background:linear-gradient(to right,#1A1917,transparent)}
.za-ticker::after{right:0;background:linear-gradient(to left,#1A1917,transparent)}
@keyframes za-ticker-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:768px){.za-ticker{--ticker-fade:44px}.za-ticker__item{font-size:.72rem;letter-spacing:.16em;padding:.95rem 1.15rem}.za-ticker__track{animation-duration:30s}}
@media (prefers-reduced-motion:reduce){
	.za-ticker{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.za-ticker::-webkit-scrollbar{display:none}
	.za-ticker__track{animation:none;transform:none}
}

/* ============ PROBLEM + RAIL (signature) ============ */
.za-problem{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,6rem)}
.za-problem__copy p{color:rgba(248,248,246,.75)}
.za-problem__copy .za-callout{border-left:2px solid var(--crimson);padding:.35rem 0 .35rem 1.4rem;margin:1.8rem 0;color:var(--paper);font-weight:600;font-size:1.05rem;line-height:1.6}
.za-rail{position:relative;padding-left:2.2rem}
.za-rail__line{position:absolute;left:.55rem;top:.6rem;bottom:.6rem;width:1px;background:var(--line-paper);overflow:hidden}
.za-rail__line::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 2.4s var(--ease)}
.za-rail.is-in .za-rail__line::after{transform:scaleY(1)}
.za-rail__item{position:relative;padding:1.05rem 0 1.05rem .4rem}
.za-rail__item::before{content:"";position:absolute;left:-2.07rem;top:1.55rem;width:.85rem;height:.85rem;background:var(--ink);border:2px solid var(--gold);transform:rotate(45deg)}
.za-rail__item--risk::before{border-color:var(--crimson);background:var(--crimson)}
.za-rail__stage{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.25rem}
.za-rail__item h3{font-size:1.05rem;margin-bottom:.25rem}
.za-rail__item p{font-size:.9rem;color:rgba(248,248,246,.62);margin:0;line-height:1.65}
@media (max-width:900px){.za-problem{grid-template-columns:1fr}}

/* ============ EDITORIAL SOLUTION BLOCKS ============ */
.za-edit{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;align-items:start;padding:clamp(2.2rem,4vw,3.5rem) 0;border-top:1px solid var(--line-ink)}
.za-edit:first-of-type{border-top:0;padding-top:0}
.za-edit__num{grid-column:1/span 2;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:800;color:transparent;-webkit-text-stroke:1.5px var(--gold);line-height:1}
.za-edit__body{grid-column:3/span 6}
.za-edit__body h3{font-size:var(--fs-h3)}
.za-edit__body p{color:var(--grey);margin-bottom:0}
.za-edit__side{grid-column:10/span 3;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);border-top:2px solid var(--gold);padding-top:.9rem;line-height:1.9}
@media (max-width:900px){.za-edit{display:block}.za-edit__num{margin-bottom:.6rem}.za-edit__side{margin-top:1.2rem;display:inline-block}}

/* ============ FEATURE SHOWCASE ============ */
.za-feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2.8rem,5vw,4.5rem) 0}
.za-feature+.za-feature{border-top:1px solid var(--line-paper)}
.za-feature:nth-child(even) .za-feature__art{order:2}
.za-feature__art{position:relative;min-height:280px;background:linear-gradient(150deg,var(--ink-3),var(--ink-2));border:1px solid rgba(184,156,82,.22);display:flex;align-items:flex-end;padding:1.6rem;overflow:hidden}
.za-feature__art::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 90% at 100% 0%,rgba(139,30,36,.22),transparent 62%)}
.za-feature__art::after{content:"";position:absolute;right:-15%;top:-25%;width:70%;aspect-ratio:1;border:1px solid var(--gold-40);border-radius:50%;box-shadow:0 0 0 44px rgba(184,156,82,.05),0 0 0 100px rgba(184,156,82,.03)}
.za-feature__glyph{position:relative;font-size:clamp(4rem,8vw,7rem);font-weight:800;line-height:.85;color:transparent;-webkit-text-stroke:1.5px rgba(184,156,82,.65);letter-spacing:-.02em;text-transform:uppercase}
.za-feature__body .za-lede{margin-bottom:1.6rem}
.za-link{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.za-link::after{content:"\2192";transition:transform .3s var(--ease)}
.za-link:hover{color:var(--paper)}
.za-link:hover::after{transform:translateX(5px)}
.on-paper .za-link{color:var(--crimson)}
.on-paper .za-link:hover{color:var(--ink)}
@media (max-width:900px){.za-feature{grid-template-columns:1fr}.za-feature:nth-child(even) .za-feature__art{order:0}.za-feature__art{min-height:200px}}

/* ============ STATS ============ */
.za-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;border-top:1px solid var(--line-ink);padding-top:clamp(2.5rem,4vw,4rem)}
.za-stat__num{font-size:clamp(2.8rem,5.5vw,4.6rem);font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.za-stat__num sup{font-size:.45em;color:var(--crimson);top:-.9em}
.za-stat__label{margin-top:.7rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);border-top:2px solid var(--gold);display:inline-block;padding-top:.6rem}
@media (max-width:900px){.za-stats{grid-template-columns:repeat(2,1fr)}}

/* ============ QUOTES ============ */
.za-quotes{position:relative;max-width:820px;margin:0 auto}
.za-quote{display:none}
.za-quote.is-active{display:block;animation:zaFade .6s var(--ease)}
@keyframes zaFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.za-quote blockquote{margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:300;font-style:italic;line-height:1.7;color:var(--paper)}
.za-quote blockquote::before{content:"\201C";display:block;font-size:4rem;line-height:.4;color:var(--gold);font-style:normal;font-weight:800;margin-bottom:1.2rem}
.za-quote figcaption{margin-top:1.6rem;font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.za-quotes__nav{display:flex;gap:.8rem;margin-top:2.4rem}
.za-quotes__btn{width:48px;height:48px;background:none;border:1px solid rgba(248,248,246,.35);color:var(--paper);cursor:pointer;font-size:1.1rem;transition:border-color .3s,background .3s}
.za-quotes__btn:hover{border-color:var(--gold);background:rgba(184,156,82,.1)}

/* ============ PROCESS ============ */
.za-process{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:step}
.za-process__step{position:relative;padding:2.2rem 1.4rem 0 0}
.za-process__step::before{content:"";position:absolute;top:0;left:0;right:1.4rem;height:1px;background:var(--line-ink)}
.za-process__step::after{content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;background:var(--crimson);transform:rotate(45deg)}
.za-process__k{counter-increment:step;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}
.za-process__k::before{content:"Step " counter(step)}
.za-process__step h3{font-size:1rem;margin-bottom:.4rem}
.za-process__step p{font-size:.86rem;color:var(--grey);line-height:1.65;margin:0}
@media (max-width:900px){.za-process{grid-template-columns:1fr 1fr;gap:0 1.6rem}}
@media (max-width:560px){
	.za-process{grid-template-columns:1fr;gap:3.4rem 0}
	.za-process__step{padding:2.4rem 0 0 0}
	.za-process__step::before{right:0}
}

/* ============ PRICING ============ */
.za-bands{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:clamp(2rem,4vw,3rem)}
.za-band{border:1px solid var(--line-ink);padding:.7rem 1.1rem;font-size:.8rem;line-height:1.4;background:#fff}
.za-band b{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson)}
.za-feerows{border-top:1px solid var(--ink)}
.za-feerow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,2.4fr) auto;gap:1.5rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line-ink);color:inherit;transition:background .25s}
a.za-feerow:hover{background:rgba(184,156,82,.07);color:inherit}
.za-feerow h3{font-size:1.06rem;margin:0}
.za-feerow__tag{display:block;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.za-feerow p{font-size:.88rem;color:var(--grey);margin:0;line-height:1.6}
.za-feerow__fee{font-size:1.1rem;font-weight:800;color:var(--crimson);white-space:nowrap}
.za-feerow__fee small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:.3rem;white-space:normal}
.za-feerow__go{font-size:1.2rem;color:var(--gold)}
.za-price-note{margin-top:1.8rem;font-size:.9rem;color:var(--grey);max-width:46em}
@media (max-width:900px){.za-feerow{grid-template-columns:1fr;gap:.6rem}.za-feerow__go{display:none}}

/* ============ URGENCY ============ */
.za-urgent{background:linear-gradient(120deg,#180c0d,var(--ink) 55%);border-top:1px solid rgba(139,30,36,.5);border-bottom:1px solid rgba(139,30,36,.5)}
.za-urgent h2{font-size:clamp(1.7rem,3.6vw,3rem);max-width:20em;color:var(--paper)}
.za-urgent h2 em{font-style:normal;color:var(--gold)}
.za-urgent p{color:rgba(248,248,246,.7);max-width:40em}

/* ============ ACCORDION ============ */
.za-accordion{border-top:1px solid var(--line-ink)}
.on-ink .za-accordion{border-color:var(--line-paper)}
.za-acc__item{border-bottom:1px solid var(--line-ink)}
.on-ink .za-acc__item{border-color:var(--line-paper)}
.za-acc__btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--font);font-size:clamp(1rem,1.5vw,1.15rem);font-weight:700;color:inherit;padding:1.5rem .2rem}
.za-acc__btn:hover{color:var(--crimson)}
.on-ink .za-acc__btn:hover{color:var(--gold)}
.za-acc__ico{flex:none;width:1.2rem;height:1.2rem;position:relative}
.za-acc__ico::before,.za-acc__ico::after{content:"";position:absolute;background:var(--gold);top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);transition:transform .3s var(--ease)}
.za-acc__ico::after{transform:translateY(-50%) rotate(90deg)}
.za-acc__btn[aria-expanded="true"] .za-acc__ico::after{transform:translateY(-50%) rotate(0)}
.za-acc__panel{overflow:hidden;max-height:0;transition:max-height .45s var(--ease)}
.za-acc__panel-in{padding:0 .2rem 1.7rem;max-width:52em;color:var(--grey);line-height:1.8}
.on-ink .za-acc__panel-in{color:rgba(248,248,246,.72)}

/* ============ FINAL CTA ============ */
.za-final h2{font-size:clamp(2.2rem,5vw,4rem);max-width:14em}
.za-final__row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2.2rem}
.za-final__tel{font-size:1.05rem;font-weight:700;color:var(--paper);letter-spacing:.05em}
.za-final__tel:hover{color:var(--gold)}

/* ============ FOOTER ============ */
.za-footer{background:var(--ink);color:rgba(248,248,246,.65);padding:clamp(3.5rem,7vw,5.5rem) 0 2.2rem;border-top:1px solid rgba(184,156,82,.25)}
.za-footer__grid{display:grid;grid-template-columns:2fr 1fr 1.3fr 1.3fr;gap:2.6rem}
.za-footer h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:1.2rem}
.za-footer ul{list-style:none;margin:0;padding:0}
.za-footer li{margin-bottom:.65rem}
.za-footer a{color:rgba(248,248,246,.65);font-size:.88rem}
.za-footer a:hover{color:var(--gold)}
.za-footer__brand p{font-size:.88rem;line-height:1.75;max-width:26em}
.za-footer__tag{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:1rem}
.za-footer__legal{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.8rem;border-top:1px solid var(--line-paper);font-size:.76rem;line-height:1.8;color:rgba(248,248,246,.45)}
.za-footer__legal p{margin-bottom:.6em;max-width:none}
@media (max-width:900px){.za-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.za-footer__grid{grid-template-columns:1fr}}

/* ============ SERVICE PAGES ============ */
.za-shero{background:var(--ink);color:var(--paper);padding:clamp(9rem,16vh,12rem) 0 clamp(3.5rem,6vw,5rem);position:relative;overflow:hidden}
.za-shero::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 88% 0%,rgba(139,30,36,.25),transparent 62%)}
.za-shero .za-container{position:relative}
.za-crumbs{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:rgba(248,248,246,.55);margin-bottom:1.6rem}
.za-crumbs a{color:rgba(248,248,246,.55)}
.za-crumbs a:hover{color:var(--gold)}
.za-crumbs span{color:var(--gold)}
.za-shero h1{font-size:clamp(2.1rem,4.5vw,3.8rem);max-width:15em}
.za-shero__sub{color:rgba(248,248,246,.72);max-width:38em;font-size:1.08rem}
.za-shero__meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2rem}
.za-feechip{display:inline-flex;flex-direction:column;gap:.15rem;border:1px solid var(--gold-40);padding:.8rem 1.3rem}
.za-feechip b{font-size:1.25rem;font-weight:800;color:var(--gold);letter-spacing:-.01em}
.za-feechip span{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(248,248,246,.6)}
.za-benefits{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,3vw,3rem) clamp(2rem,4vw,4rem)}
.za-benefit{border-top:2px solid var(--gold);padding-top:1.2rem}
.za-benefit h3{font-size:1.08rem}
.za-benefit p{font-size:.94rem;color:var(--grey);margin:0}
@media (max-width:768px){.za-benefits{grid-template-columns:1fr}}
.za-included{list-style:none;margin:0;padding:0;columns:2;column-gap:3rem}
.za-included li{break-inside:avoid;display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line-paper);font-size:.95rem;color:rgba(248,248,246,.85)}
.za-included .za-tick{margin-top:.25rem}
@media (max-width:768px){.za-included{columns:1}}
.za-feepanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.za-feepanel__fig{border:1px solid var(--line-ink);background:#fff;padding:2rem}
.za-feepanel__fig b{display:block;font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:800;color:var(--crimson);letter-spacing:-.02em}
.za-feepanel__fig span{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.za-feepanel__fig hr{border:0;border-top:1px solid var(--line-ink);margin:1.3rem 0}
.za-feepanel__fig p{font-size:.86rem;color:var(--grey);margin:0;line-height:1.7}
@media (max-width:768px){.za-feepanel{grid-template-columns:1fr}}
.za-related{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.za-rel{border:1px solid var(--line-paper);padding:1.7rem;color:inherit;display:flex;flex-direction:column;gap:.7rem;transition:border-color .3s,transform .3s var(--ease)}
.za-rel:hover{border-color:var(--gold);transform:translateY(-4px);color:inherit}
.za-rel h3{font-size:1rem;margin:0;color:var(--paper)}
.za-rel span{font-size:.78rem;color:var(--gold);font-weight:700}
.za-rel p{font-size:.85rem;color:rgba(248,248,246,.6);margin:0;line-height:1.6}
@media (max-width:768px){.za-related{grid-template-columns:1fr}}

/* ============ HUB ============ */
.za-hub-group{margin-bottom:clamp(2.5rem,5vw,4rem)}
.za-hub-group>h2{font-size:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:.5rem;margin-bottom:0}

/* ============ PRICING GUIDE (Services & Fees) ============ */
.za-process--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:768px){.za-process--3{grid-template-columns:1fr}}
.za-goldtag{display:inline-block;margin-top:1rem;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--gold);padding:.4rem .8rem}
.za-svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:1024px){.za-svcgrid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.za-svcgrid{grid-template-columns:1fr}}
.za-svc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-ink);padding:1.8rem;transition:border-color .3s,transform .3s var(--ease)}
.za-svc:hover{border-color:var(--gold);transform:translateY(-4px)}
.za-svc--featured{border-color:var(--crimson);border-top:3px solid var(--crimson)}
.za-svc__flag{position:absolute;top:0;right:1.4rem;transform:translateY(-50%);background:var(--crimson);color:var(--paper);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.35rem .8rem}
.za-svc__tag{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);margin-bottom:.5rem}
.za-svc h3{font-size:1.12rem;margin-bottom:.3rem}
.za-svc__sub{font-size:.84rem;color:var(--grey);line-height:1.6;margin-bottom:1rem}
.za-svc__price{font-size:1.55rem;font-weight:800;color:var(--crimson);letter-spacing:-.01em}
.za-svc__pricenote{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-top:.25rem}
.za-svc__rule{border:0;border-top:1px solid var(--line-ink);margin:1.2rem 0}
.za-svc ul{list-style:none;margin:0 0 1.4rem;padding:0;flex:1}
.za-svc li{display:flex;gap:.7rem;font-size:.85rem;color:var(--grey);line-height:1.6;padding:.35rem 0}
.za-svc li .za-tick{flex:none;width:15px;height:15px;color:var(--gold);margin-top:.25rem}
.za-svc__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}
.za-svc__more{font-size:.76rem;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.za-svc__more:hover{color:var(--crimson)}
.za-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.8rem}
.za-tab{font-family:var(--font);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line-paper);color:rgba(248,248,246,.75);padding:.85rem 1.2rem;cursor:pointer;transition:border-color .25s,color .25s,background .25s;min-height:44px}
.za-tab:hover{border-color:var(--gold);color:var(--paper)}
.za-tab[aria-selected="true"]{background:var(--crimson);border-color:var(--crimson);color:var(--paper)}
.za-calpanel[hidden]{display:none}
.za-calpanel>h3{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:1.6rem 0 .9rem}
.za-caltable{width:100%;border-collapse:collapse}
.za-caltable th{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line-paper)}
.za-caltable td{padding:1rem;border-bottom:1px solid var(--line-paper);font-size:.9rem;color:rgba(248,248,246,.85);vertical-align:top}
.za-caltable td:first-child{font-weight:700;color:var(--paper);white-space:nowrap}
.za-caltable td:first-child a{color:var(--paper)}
.za-caltable td:first-child a:hover{color:var(--gold)}
.za-caltable .za-caltable__desc{font-size:.8rem;color:rgba(248,248,246,.55)}
.za-caltable .za-caltable__fee{font-size:1rem;font-weight:800;color:var(--gold);white-space:nowrap;text-align:right}
.za-calnote{font-size:.8rem;color:rgba(248,248,246,.6);line-height:1.7;margin-top:1.4rem;max-width:52em}
@media (max-width:768px){
  .za-caltable thead{display:none}
  .za-caltable tr{display:block;padding:1rem 0;border-bottom:1px solid var(--line-paper)}
  .za-caltable td{display:block;border:0;padding:.15rem 0}
  .za-caltable .za-caltable__fee{text-align:left}
}
.za-compare{border:1px solid var(--line-paper)}
.za-compare__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr);gap:1rem;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line-paper)}
.za-compare__row:last-child{border-bottom:0}
.za-compare__row--head{background:var(--ink-2);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.za-compare__row--total{background:var(--ink-2)}
.za-compare__row--saving{background:rgba(184,156,82,.08)}
.za-compare__label{font-weight:700;color:var(--paper);font-size:.94rem}
.za-compare__sub{font-size:.78rem;color:rgba(248,248,246,.55);font-weight:400;margin-top:.15rem}
.za-compare__za{font-weight:800;color:var(--gold);font-size:1rem}
.za-compare__sol{color:rgba(248,248,246,.65);font-size:.9rem}
.za-compare__sol small{display:block;font-size:.72rem;color:rgba(248,248,246,.45)}
.za-compare__badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--gold-40);color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem}
.za-compare__badge .za-tick{width:13px;height:13px}
.za-comparectx{font-size:.85rem;color:rgba(248,248,246,.65);line-height:1.75;margin-top:1.6rem;max-width:56em}
.za-comparectx strong{color:var(--paper)}
@media (max-width:700px){
  .za-compare__row{grid-template-columns:1fr;gap:.4rem}
  .za-compare__row--head div:not(:first-child){display:none}
}

/* ============ INSIGHTS ============ */
.za-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.za-postcard{border:1px solid var(--line-ink);background:#fff;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.za-postcard:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(17,17,17,.09)}
.za-postcard a{color:inherit;display:flex;flex-direction:column;flex:1}
.za-postcard__thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--ink-2),var(--ink));position:relative;overflow:hidden}
.za-postcard__thumb::after{content:"";position:absolute;right:-20%;top:-30%;width:75%;aspect-ratio:1;border:1px solid var(--gold-40);border-radius:50%}
.za-postcard__thumb img{width:100%;height:100%;object-fit:cover}
.za-postcard__body{padding:1.6rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.za-postcard__cat{font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson)}
.za-postcard h2,.za-postcard h3{font-size:1.12rem;margin:0;line-height:1.35}
.za-postcard p{font-size:.88rem;color:var(--grey);margin:0;line-height:1.65}
.za-postcard time{font-size:.72rem;color:var(--grey);letter-spacing:.1em;text-transform:uppercase;margin-top:auto;padding-top:.6rem}
@media (max-width:900px){.za-posts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.za-posts{grid-template-columns:1fr}}
/* Homepage Latest Insights: keep cards a natural width when fewer than three exist */
.za-insights-home .za-posts--1{grid-template-columns:minmax(0,420px)}
.za-insights-home .za-posts--2{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center}
@media (max-width:900px){.za-insights-home .za-posts--2{grid-template-columns:1fr}}
.za-postcard__link{color:inherit;display:flex;flex-direction:column;flex:1}
.za-postcard__more{margin-top:auto;padding-top:.9rem;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);display:inline-flex;align-items:center;gap:.4rem;transition:gap .3s var(--ease)}
.za-postcard:hover .za-postcard__more{gap:.75rem}
.za-postcard__thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;letter-spacing:.12em;color:var(--gold-40)}
.za-insights-home__all{margin-top:2.6rem;text-align:center}
.za-article{max-width:760px;margin:0 auto}
.za-article__meta{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--grey);margin-bottom:2.2rem}
.za-article__meta b{color:var(--crimson)}
.za-article .entry{font-size:1.05rem;line-height:1.9}
.za-article .entry h2{font-size:1.6rem;margin-top:2.2em}
.za-article .entry h3{font-size:1.25rem;margin-top:1.8em}
.za-article .entry blockquote{border-left:2px solid var(--gold);margin:2em 0;padding:.3em 0 .3em 1.4em;font-style:italic;color:var(--grey)}
.za-article .entry a{text-decoration:underline;text-underline-offset:3px}
.za-pagination{display:flex;gap:.6rem;justify-content:center;margin-top:3.5rem}
.za-pagination .page-numbers{border:1px solid var(--line-ink);padding:.6rem 1rem;font-size:.85rem;font-weight:600;color:var(--ink)}
.za-pagination .page-numbers.current{background:var(--crimson);color:var(--paper);border-color:var(--crimson)}

/* ============ CONTACT ============ */
.za-contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2.5rem,5vw,5rem)}
.za-contact__card{border:1px solid var(--line-ink);background:#fff;padding:clamp(1.8rem,3vw,2.6rem)}
.za-contact__row{padding:1.1rem 0;border-bottom:1px solid var(--line-ink)}
.za-contact__row:last-child{border-bottom:0}
.za-contact__row b{display:block;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);margin-bottom:.35rem}
.za-contact__row a{font-size:1.05rem;font-weight:600;color:var(--ink)}
.za-contact__row a:hover{color:var(--crimson)}
.za-formslot{border:1px solid var(--line-ink);background:#fff;padding:clamp(1.8rem,3vw,2.6rem)}
.za-formslot .entry input[type=text],.za-formslot .entry input[type=email],.za-formslot .entry input[type=tel],.za-formslot .entry textarea,.za-formslot .entry select{width:100%;font-family:var(--font);font-size:.95rem;padding:.85rem 1rem;border:1px solid var(--line-ink);background:var(--paper);margin-bottom:1rem}
.za-formslot .entry input:focus,.za-formslot .entry textarea:focus{outline:2px solid var(--gold)}
@media (max-width:900px){.za-contact{grid-template-columns:1fr}}

/* ============ 404 ============ */
.za-404{min-height:55vh;display:flex;align-items:center}

/* ============ PROSE / MISC ============ */
.za-entry{font-size:1.02rem;line-height:1.85;max-width:760px}
.za-entry h2{font-size:1.55rem;margin-top:2.1em}
.za-entry h3{font-size:1.2rem;margin-top:1.7em}
.za-entry ul,.za-entry ol{padding-left:1.3em;margin:1.2em 0}
.za-entry li{margin-bottom:.5em}
.za-entry a{text-decoration:underline;text-underline-offset:3px}
.za-entry blockquote{border-left:2px solid var(--gold);margin:2em 0;padding:.3em 0 .3em 1.4em;font-style:italic;color:var(--grey)}
.za-feepanel__note{display:block;margin-top:.3rem}
.za-feepanel__aside h3{font-size:1.1rem;margin-bottom:.8rem}
.za-feepanel__aside p{font-size:.95rem;color:var(--grey);line-height:1.75}
.za-contact__card h2,.za-formslot h2{font-size:1.25rem;margin-bottom:1rem}
.za-contact__card + .za-contact__card{margin-top:1.5rem}
.za-contact__steps{list-style:none;margin:0;padding:0;counter-reset:cstep}
.za-contact__steps li{counter-increment:cstep;position:relative;padding:1rem 0 1rem 3rem;border-bottom:1px solid var(--line-ink);font-size:.92rem;color:var(--grey);line-height:1.7}
.za-contact__steps li:last-child{border-bottom:0}
.za-contact__steps li::before{content:counter(cstep,decimal-leading-zero);position:absolute;left:0;top:1.1rem;font-size:.78rem;font-weight:800;color:var(--gold);letter-spacing:.08em}
.za-contact__steps b{color:var(--ink)}
.za-formslot .za-entry input[type=text],.za-formslot .za-entry input[type=email],.za-formslot .za-entry input[type=tel],.za-formslot .za-entry textarea,.za-formslot .za-entry select{width:100%;font-family:var(--font);font-size:.95rem;padding:.85rem 1rem;border:1px solid var(--line-ink);background:var(--paper);margin-bottom:1rem}
.za-formslot .za-entry input:focus,.za-formslot .za-entry textarea:focus{outline:2px solid var(--gold)}
.za-article__hero{margin:0 0 2.5rem}
.za-article__hero img{width:100%;height:auto}

/* ============ CONTACT FORM (native intake form) ============ */
.za-form{max-width:820px;margin:0 auto}
.za-fsec{background:#fff;border:1px solid var(--line-ink);margin-bottom:1.6rem}
.za-fsec:focus-within{border-color:var(--gold)}
.za-fsec__head{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.6rem;border-bottom:1px solid var(--line-ink);background:var(--paper)}
.za-fsec__num{flex:none;min-width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;background:var(--crimson);color:var(--paper);font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:0 .45rem}
.za-fsec__title{font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.za-fsec__sub{margin-left:auto;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.za-fsec__body{padding:1.6rem}
.za-frow{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-bottom:1.2rem}
.za-frow:last-child{margin-bottom:0}
.za-frow--2{grid-template-columns:1fr 1fr}
.za-form label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:.5rem}
.za-form label .za-req{color:var(--crimson)}
.za-form label.za-label--plain{text-transform:none;letter-spacing:0;font-size:.86rem;font-weight:500;color:var(--grey)}
.za-form input[type=text],.za-form input[type=email],.za-form input[type=tel],.za-form input[type=date],.za-form select,.za-form textarea{width:100%;font-family:var(--font);font-size:.95rem;color:var(--ink);padding:.85rem 1rem;border:1px solid var(--line-ink);background:var(--paper);transition:border-color .2s,box-shadow .2s}
.za-form input::placeholder,.za-form textarea::placeholder{color:#a3a09b;font-weight:300}
.za-form input:focus,.za-form select:focus,.za-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,156,82,.18)}
.za-form textarea{min-height:120px;resize:vertical;line-height:1.7}
.za-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6B6B' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
.za-form .za-field-err{border-color:var(--crimson)!important;box-shadow:0 0 0 3px rgba(139,30,36,.12)!important}
.za-hint{font-size:.76rem;color:var(--grey);margin-top:.45rem;line-height:1.6}
.za-fdivider{border:0;border-top:1px solid var(--line-ink);margin:1.4rem 0}
.za-checks{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.za-check{display:flex;align-items:flex-start;gap:.8rem;border:1px solid var(--line-ink);background:var(--paper);padding:.85rem 1rem;cursor:pointer;user-select:none;transition:border-color .2s,background .2s;margin-bottom:0!important}
.za-check input{position:absolute;opacity:0;pointer-events:none}
.za-check__box{flex:none;width:1.05rem;height:1.05rem;border:1px solid var(--grey);background:#fff;position:relative;margin-top:.1rem;transition:background .2s,border-color .2s}
.za-check input:checked~.za-check__box{background:var(--crimson);border-color:var(--crimson)}
.za-check input:checked~.za-check__box::after{content:"";position:absolute;left:.22rem;top:.26rem;width:.5rem;height:.26rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.za-check__label{font-size:.85rem;font-weight:500;color:var(--ink);letter-spacing:0;text-transform:none;line-height:1.5}
.za-check.is-checked{border-color:var(--crimson);background:#fff}
.za-check input:focus-visible~.za-check__box{outline:2px solid var(--gold);outline-offset:2px}
.za-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.za-slot{border:1px solid var(--line-ink);background:var(--paper);padding:1rem;text-align:center;cursor:pointer;user-select:none;transition:border-color .2s,background .2s;margin-bottom:0!important}
.za-slot input{position:absolute;opacity:0;pointer-events:none}
.za-slot__label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.za-slot__range{display:block;font-size:.8rem;color:var(--grey);margin-top:.3rem;font-weight:500;letter-spacing:0;text-transform:none}
.za-slot.is-checked{border-color:var(--crimson);background:#fff;box-shadow:inset 0 3px 0 var(--gold)}
.za-slot input:focus-visible~.za-slot__label{outline:2px solid var(--gold);outline-offset:6px}
.za-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.za-method{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line-ink);background:var(--paper);padding:.95rem 1.1rem;cursor:pointer;user-select:none;transition:border-color .2s;margin-bottom:0!important}
.za-method input{position:absolute;opacity:0;pointer-events:none}
.za-method__dot{flex:none;width:.95rem;height:.95rem;border:1px solid var(--grey);border-radius:50%;position:relative;transition:border-color .2s}
.za-method input:checked~.za-method__dot{border-color:var(--crimson)}
.za-method input:checked~.za-method__dot::after{content:"";position:absolute;inset:.18rem;background:var(--crimson);border-radius:50%}
.za-method__label{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.za-method.is-checked{border-color:var(--crimson)}
.za-method input:focus-visible~.za-method__dot{outline:2px solid var(--gold);outline-offset:3px}
.za-fnote{border-left:3px solid var(--crimson);background:var(--paper);padding:1rem 1.3rem;font-size:.88rem;color:var(--grey);line-height:1.7;margin-bottom:1.4rem}
.za-fnote strong{color:var(--ink)}
.za-decl{border:1px solid var(--line-ink);border-left:3px solid var(--gold);background:var(--paper);padding:1.2rem 1.4rem;font-size:.85rem;color:var(--grey);line-height:1.75;margin-bottom:1.4rem}
.za-decl strong{color:var(--ink)}
.za-form__submit{width:100%;margin-top:1.4rem;justify-content:center;font-size:.9rem;padding:1.15rem 2rem}
.za-form__submit:disabled{opacity:.55;cursor:wait}
.za-form-success{display:none;background:#fff;border:1px solid var(--line-ink);border-top:3px solid var(--gold);padding:clamp(2rem,4vw,3rem);text-align:center;max-width:820px;margin:0 auto}
.za-form-success h2{font-size:1.5rem;margin-bottom:.8rem}
.za-form-success p{color:var(--grey);font-size:.95rem;line-height:1.75}
.za-next{max-width:820px;margin:2.5rem auto 0;border:1px solid var(--line-ink);background:#fff;padding:clamp(1.6rem,3vw,2.4rem)}
.za-next h3{font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--crimson);margin-bottom:1.1rem}
.za-next ol{margin:0;padding-left:1.3rem;color:var(--grey);font-size:.92rem;line-height:1.8}
.za-next ol li{margin-bottom:.5rem}
.za-next ol strong{color:var(--ink)}
.za-next__assure{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--line-ink);font-size:.85rem;color:var(--grey);line-height:1.75}
.za-next__assure strong{color:var(--ink)}
.za-contactbar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-ink);border:1px solid var(--line-ink);max-width:820px;margin:0 auto clamp(2rem,4vw,3rem)}
.za-contactbar>div{background:#fff;padding:1.1rem 1.4rem}
.za-contactbar b{display:block;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);margin-bottom:.3rem}
.za-contactbar a{font-weight:600;color:var(--ink);font-size:.92rem}
.za-contactbar a:hover{color:var(--crimson)}
.za-contactbar span{font-size:.92rem;color:var(--grey)}
@media (max-width:768px){
  .za-frow--2,.za-checks{grid-template-columns:1fr}
  .za-slots,.za-methods{grid-template-columns:1fr}
  .za-contactbar{grid-template-columns:1fr}
  .za-fsec__body{padding:1.2rem}
  .za-fsec__sub{display:none}
}

/* ============ REVEAL / MOTION ============ */
.za-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.za-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .za-reveal{opacity:1;transform:none;transition:none}
  .za-rail__line::after{transition:none;transform:scaleY(1)}
  .za-quote.is-active{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ============ WP CORE COMPAT ============ */
.entry .alignwide,.entry .alignfull{max-width:100%}
.entry img{margin:1.5em 0}
.wp-caption{max-width:100%}
