/* ==========================================================================
   The Alchemy Attorneys — design system
   ========================================================================== */
/* Metric-matched fallback faces (the next/font "fontaine" method). While Cormorant Garamond and
   Mulish download (font-display:swap), text renders in a local font scaled to the same average
   width and line box, so the swap causes no layout shift. Values come from the fonts' hhea/OS2
   tables and English-frequency-weighted glyph widths (see victoria/README log, 18 Aug). */
@font-face{font-family:"Cormorant FB";src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("Tinos"),local("Liberation Serif");size-adjust:98.05%;ascent-override:94.24%;descent-override:29.27%;line-gap-override:0%}
@font-face{font-family:"Cormorant FB Noto";src:local("Noto Serif");size-adjust:81.68%;ascent-override:113.13%;descent-override:35.14%;line-gap-override:0%}
@font-face{font-family:"Mulish FB";src:local("Arial"),local("ArialMT"),local("Arimo"),local("Liberation Sans"),local("Helvetica");size-adjust:104.86%;ascent-override:95.84%;descent-override:23.84%;line-gap-override:0%}
@font-face{font-family:"Mulish FB Roboto";src:local("Roboto");size-adjust:104.30%;ascent-override:96.35%;descent-override:23.97%;line-gap-override:0%}
:root{
  --al-purple:#2E1A47;
  --al-purple-dark:#241238;
  --al-gold:#E8B93E;
  --al-gold-deep:#8F6B10;
  --al-gold-hover:#D9A82B;
  --al-ivory:#FAF8F3;
  --al-lilac:#F4EFF9;
  --al-ink:#2A2433;
  --al-body:#4A4258;
  --al-muted:#5B5269;
  --al-soft:#6B6180;
  --al-line:#E7E0EF;
  --al-line-2:#EBE4F2;
  --al-serif:'Cormorant Garamond','Cormorant FB','Cormorant FB Noto',Georgia,serif;
  --al-sans:'Mulish','Mulish FB','Mulish FB Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --al-wrap:1180px;
}

/* Reset within our canvas */
.al-page *,.al-page *::before,.al-page *::after{box-sizing:border-box}
.al-page{margin:0;background:var(--al-ivory);color:var(--al-ink);font-family:var(--al-sans);-webkit-font-smoothing:antialiased}
.al-page img{max-width:100%;height:auto}
.al-page a{color:var(--al-purple);text-decoration:none;transition:color .18s ease}
.al-page a:hover{color:var(--al-gold-deep)}
/* a11y: links inside body text must not rely on colour alone (WCAG 1.4.1). Scoped to <main>; standalone CTA links opt out below. */
.al-page main p a:not([class]),.al-page main details a:not([class]){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(46,26,71,.45)}
.al-page main p a:not([class]):hover,.al-page main details a:not([class]):hover{text-decoration-color:currentColor}
.al-page main .al-more a:not([class]),.al-page main .al-backlink a:not([class]),.al-page main .al-article__back a:not([class]),.al-page main .al-quicklink a:not([class]),.al-page main .al-cr-v a:not([class]),.al-page main .wp-block-button a:not([class]){text-decoration:none}
.al-page ::selection{background:var(--al-gold);color:var(--al-purple)}
.al-wrap{max-width:var(--al-wrap);margin:0 auto;padding-left:24px;padding-right:24px}

/* Neutralise Kadence's global `button:hover/:focus/:active` styling on our own controls.
   Kadence's selector is (0,1,1); these are (0,3,0) so they win in every state. */
.al-page .al-nav__btn,.al-page .al-nav__btn:hover,.al-page .al-nav__btn:focus,.al-page .al-nav__btn:active,
.al-page .al-acc__btn,.al-page .al-acc__btn:hover,.al-page .al-acc__btn:focus,.al-page .al-acc__btn:active,
.al-page .al-burger,.al-page .al-burger:hover,.al-page .al-burger:focus,.al-page .al-burger:active,
.al-page .al-circ,.al-page .al-circ:hover,.al-page .al-circ:focus,.al-page .al-circ:active{
  -webkit-appearance:none;appearance:none;background-image:none;box-shadow:none;text-decoration:none}
.al-sec{padding:clamp(64px,8vw,100px) 0}
.al-sec--tight{padding:56px 0}
.al-eyebrow{margin:0;font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--al-gold-deep)}
.al-eyebrow--gold{color:var(--al-gold)}
.al-h1{margin:0;font-family:var(--al-serif);font-weight:600;font-size:clamp(40px,4.6vw,62px);line-height:1.08;color:var(--al-purple);text-wrap:balance}
.al-h1 em{font-style:italic;color:var(--al-gold-deep)}
.al-h2{margin:0;font-family:var(--al-serif);font-weight:600;font-size:clamp(30px,3.6vw,44px);line-height:1.12;color:var(--al-purple);text-wrap:balance}
.al-h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:25px;color:var(--al-purple)}
.al-lede{margin:0;font-size:17px;line-height:1.75;color:var(--al-body)}

/* Buttons — scoped with .al-page so they beat the generic `.al-page a` colour rule */
.al-page .al-btn{display:inline-block;font-weight:800;font-size:16px;padding:15px 32px;border-radius:8px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.al-page .al-btn--gold{background-color:var(--al-gold);color:var(--al-purple)}
.al-page .al-btn--gold:hover,.al-page .al-btn--gold:focus{background-color:var(--al-gold-hover);color:var(--al-purple)}
.al-page .al-btn--ghost{border:1.5px solid var(--al-purple);color:var(--al-purple);font-weight:700;padding:14px 30px}
.al-page .al-btn--ghost:hover,.al-page .al-btn--ghost:focus{background-color:rgba(46,26,71,.06);color:var(--al-purple)}
.al-page .al-btn--ghost-light{border:2px solid var(--al-gold);color:var(--al-gold);font-weight:800;padding:14px 30px;background-color:transparent}
.al-page .al-btn--ghost-light:hover,.al-page .al-btn--ghost-light:focus{background-color:var(--al-gold);color:var(--al-purple)}
.al-page .al-textlink{color:var(--al-gold-deep)}
.al-page .al-textlink:hover{color:var(--al-purple)}

/* ===== Header ===== */
.al-header{background:#fff;border-bottom:1px solid var(--al-line-2);font-family:var(--al-sans);position:relative;z-index:50}
.al-header__inner{max-width:var(--al-wrap);margin:0 auto;padding:0 24px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.al-logo img{height:64px;width:auto;display:block}
.al-nav{display:flex;align-items:center;gap:30px}
.al-nav__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}
.al-page .al-nav__link,.al-page .al-nav__btn,
.al-page .al-nav__btn:hover,.al-page .al-nav__btn:focus,.al-page .al-nav__btn:active{font-family:var(--al-sans);font-size:15px;font-weight:600;color:#3A2E4F;padding:4px 0;background-color:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:6px}
.al-page .al-nav__link:hover,.al-page .al-nav__btn:hover,.al-page .al-nav__btn:focus{color:var(--al-gold-deep)}
.al-page .al-nav__btn:focus-visible{outline:2px solid var(--al-gold);outline-offset:4px;border-radius:4px}
.al-nav__underline{display:block;width:26px;height:2px;background:var(--al-gold);border-radius:2px}
.al-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:12px;z-index:70;display:none}
.al-nav__item:hover .al-drop,.al-nav__item.is-open .al-drop{display:block}
.al-drop__inner{background:#fff;border:1px solid var(--al-line-2);border-radius:12px;box-shadow:0 20px 44px rgba(46,26,71,.16);padding:10px;min-width:300px;display:flex;flex-direction:column}
.al-drop__inner a{padding:10px 14px;border-radius:8px;font-size:15px;font-weight:600;color:#3A2E4F;white-space:nowrap}
.al-drop__inner a:hover{background:#F7F2E4;color:var(--al-purple)}
.al-header__cta{display:flex;align-items:center;flex-shrink:0}
.al-header__cta .al-btn{font-size:15px;padding:12px 24px;font-weight:700}
.al-page .al-burger,.al-page .al-burger:hover,.al-page .al-burger:focus,.al-page .al-burger:active{display:none;align-items:center;justify-content:center;width:44px;height:44px;background-color:transparent;border:1px solid var(--al-line-2);border-radius:8px;cursor:pointer}
.al-page .al-burger:hover{border-color:var(--al-gold)}
.al-mobile{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--al-line-2);box-shadow:0 24px 40px rgba(46,26,71,.14);padding:10px 24px 26px;flex-direction:column;z-index:80}
.al-mobile.is-open{display:flex}
.al-mobile a{padding:12px 4px;font-size:16px;font-weight:700;color:var(--al-purple);border-bottom:1px solid #F2EDF7}
.al-mobile a.al-mobile__sub{padding:9px 4px 9px 16px;font-size:15px;font-weight:600;color:#3A2E4F;border-bottom:none}
.al-mobile__label{padding:14px 4px 6px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--al-gold-deep)}
.al-mobile .al-btn{margin-top:16px;text-align:center;border-bottom:none}
@media(max-width:939px){
  .al-nav,.al-header__cta{display:none}
  .al-page .al-burger,.al-page .al-burger:hover,.al-page .al-burger:focus,.al-page .al-burger:active{display:inline-flex}
}

/* ===== Hero ===== */
.al-hero{padding:clamp(56px,7vw,96px) 0}
.al-hero__grid{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,5vw,72px)}
.al-hero__copy{flex:1 1 480px;min-width:300px;display:flex;flex-direction:column;gap:24px}
.al-hero__sub{margin:0;font-family:var(--al-serif);font-style:italic;font-weight:500;font-size:clamp(22px,2.4vw,28px);line-height:1.3;color:#5A4A75}
.al-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.al-hero__media{flex:0 1 420px;min-width:280px;margin:0 auto}
.al-hero__media img{display:block;width:100%;border-radius:16px;box-shadow:14px 14px 0 rgba(232,185,62,.30)}

/* ===== Trust bar ===== */
.al-trust{background:#fff;border-top:1px solid #EFE9F5;border-bottom:1px solid #EFE9F5;padding:36px 0}
.al-trust__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;text-align:center}
.al-trust__item{display:flex;flex-direction:column;align-items:center;gap:6px}
.al-trust__num{display:flex;align-items:center;gap:8px;font-family:var(--al-serif);font-weight:600;font-size:27px;color:var(--al-purple)}
.al-trust__label{font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--al-soft)}

/* ===== Dark section (mediation) ===== */
.al-dark{background:var(--al-purple)}
.al-dark .al-h2{color:#fff}
.al-dark .al-lede{color:#CFC3E2}
.al-stack{display:flex;flex-direction:column;gap:44px}
.al-head{max-width:680px;display:flex;flex-direction:column;gap:16px}
.al-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.al-card-dark{background:rgba(255,255,255,.05);border:1px solid rgba(232,185,62,.32);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:14px}
.al-card-dark h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:25px;color:#fff}
.al-card-dark p{margin:0;font-size:15.5px;line-height:1.7;color:#CFC3E2}
.al-card-dark strong{color:var(--al-gold);font-weight:700}

/* ===== Practice areas ===== */
.al-white{background:#fff}
.al-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.al-pcard{background:#fff;border:1px solid var(--al-line);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.al-pcard:hover{border-color:var(--al-gold);box-shadow:0 14px 30px rgba(46,26,71,.10);transform:translateY(-3px)}
.al-pcard h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:26px;color:var(--al-purple)}
.al-pcard p{margin:0;font-size:15px;line-height:1.65;color:var(--al-muted)}
.al-pcard__more{margin-top:auto;font-size:14.5px;font-weight:700;color:var(--al-gold-deep)}
.al-pcard--feature{background:var(--al-purple);border-color:var(--al-purple)}
.al-pcard--feature:hover{box-shadow:0 16px 34px rgba(46,26,71,.24);border-color:var(--al-purple)}
.al-pcard--feature h3{color:#fff}
.al-pcard--feature p{color:#CFC3E2}
.al-pcard--feature .al-pcard__more{color:var(--al-gold)}
.al-badge{align-self:flex-start;background:var(--al-gold);color:var(--al-purple);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:99px}

/* ===== About ===== */
.al-split{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,5vw,72px)}
.al-split__media{flex:0 1 420px;min-width:280px;margin:0 auto}
.al-split__media img{display:block;width:100%;border-radius:16px;box-shadow:-14px 14px 0 rgba(46,26,71,.10)}
.al-split__copy{flex:1 1 480px;min-width:300px;display:flex;flex-direction:column;gap:20px}
.al-split__copy p{margin:0;font-size:16.5px;line-height:1.75;color:var(--al-body)}
.al-sig{margin:0;font-family:var(--al-serif);font-style:italic;font-size:21px;color:#5A4A75}
.al-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}
.al-textlink{display:inline-flex;align-items:center;font-weight:700;font-size:15.5px;color:var(--al-gold-deep);padding:13px 4px}

/* ===== Values ===== */
.al-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px 32px}
.al-value{display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--al-gold);padding-top:20px}
.al-value h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:24px;color:var(--al-purple)}
.al-value p{margin:0;font-size:15.5px;line-height:1.7;color:var(--al-muted)}

/* ===== Reviews ===== */
.al-reviews{background:var(--al-lilac)}
.al-reviews__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.al-reviews__nav{display:flex;align-items:center;gap:14px}
.al-page .al-circ,.al-page .al-circ:focus,.al-page .al-circ:active{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--al-purple);background-color:transparent;color:var(--al-purple);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color .18s ease,transform .18s ease,border-color .18s ease}
.al-page .al-circ:hover{background-color:var(--al-purple);border-color:var(--al-purple);transform:translateY(-2px)}
.al-page .al-circ:hover svg path{stroke:#fff}
.al-page .al-circ:focus-visible{outline:2px solid var(--al-gold);outline-offset:3px}
.al-circ svg path{transition:stroke .18s ease}
.al-reviews__count{font-size:14px;font-weight:700;color:var(--al-muted);letter-spacing:.08em}
.al-quote{margin:0;background:#fff;border:1px solid var(--al-line);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:16px}
.al-stars{display:flex;gap:4px}
.al-quote blockquote{margin:0;font-size:16px;line-height:1.7;color:var(--al-body)}
.al-quote figcaption{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.al-quote__name{font-weight:800;font-size:15px;color:var(--al-purple)}
.al-quote__meta{font-size:13.5px;color:var(--al-soft)}
.al-note{margin:0;font-size:13px;color:var(--al-soft);font-style:italic}

/* ===== Service areas ===== */
.al-areas{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.al-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:820px}
.al-pill{border:1px solid #DED5EA;border-radius:99px;padding:9px 20px;font-size:14.5px;font-weight:600;color:#3A2E4F}

/* ===== FAQ ===== */
.al-faq{display:flex;flex-wrap:wrap;gap:clamp(40px,5vw,72px)}
.al-faq__intro{flex:1 1 300px;min-width:260px;display:flex;flex-direction:column;gap:16px}
.al-faq__intro p{margin:0;font-size:16px;line-height:1.7;color:var(--al-body)}
.al-faq__list{flex:1.6 1 460px;min-width:300px;display:flex;flex-direction:column;gap:14px}
.al-acc{background:#fff;border:1px solid var(--al-line);border-radius:12px;overflow:hidden}
.al-page .al-acc__btn,.al-page .al-acc__btn:hover,.al-page .al-acc__btn:focus,.al-page .al-acc__btn:active{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;background-color:transparent;border:none;cursor:pointer;padding:20px 24px;font-family:inherit;color:inherit}
.al-page .al-acc__btn:focus-visible{outline:2px solid var(--al-gold);outline-offset:-3px;border-radius:12px}
.al-acc__q{font-family:var(--al-serif);font-weight:600;font-size:21px;color:var(--al-purple)}
.al-acc__icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--al-gold);color:var(--al-gold-deep);display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;line-height:1}
.al-acc__a{margin:0;padding:0 56px 0 24px;font-size:15.5px;line-height:1.75;color:var(--al-body);max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding-bottom .4s ease}
.al-acc.is-open{border-color:var(--al-gold)}
.al-acc.is-open .al-acc__a{max-height:340px;opacity:1;padding-bottom:22px}
.al-acc__icon{transition:transform .3s ease,background-color .2s ease}
.al-acc.is-open .al-acc__icon{transform:rotate(180deg)}
.al-acc__btn:hover .al-acc__q{color:var(--al-gold-deep)}
.al-acc__q{transition:color .18s ease}

/* ===== CTA band ===== */
.al-cta{background:var(--al-purple);padding:84px 24px;text-align:center}
.al-cta__inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
.al-cta .al-h2{color:#fff;font-size:clamp(30px,4.2vw,46px);line-height:1.15}
.al-cta p{margin:0;font-size:17px;line-height:1.6;color:#CFC3E2}
.al-rule{display:block;width:56px;height:2px;background:var(--al-gold)}
.al-cta .al-btn{font-size:17px;padding:16px 36px;margin-top:6px}

/* ===== Footer ===== */
.al-footer{background:var(--al-purple-dark);border-top:1px solid rgba(232,185,62,.28);padding:64px 24px 28px;color:#CDC3DE;font-family:var(--al-sans)}
.al-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:44px;align-items:start;max-width:var(--al-wrap);margin:0 auto}
.al-footer__brand{display:flex;flex-direction:column;gap:16px;max-width:320px}
.al-footer__brand img{height:76px;width:auto;align-self:flex-start}
.al-footer__brand p{margin:0;font-size:15px;line-height:1.7;color:#BBAFD0}
.al-social{display:flex;gap:12px;margin-top:4px}
.al-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#CDC3DE;transition:border-color .18s ease,color .18s ease}
.al-social a:hover{border-color:var(--al-gold);color:var(--al-gold)}
.al-fnav{display:flex;flex-direction:column;gap:11px}
.al-fnav__title{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--al-gold);margin-bottom:4px}
.al-fnav a{color:#CDC3DE;font-size:15px}
.al-fnav a:hover{color:var(--al-gold)}
.al-footer__bottom{max-width:var(--al-wrap);margin:52px auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:14px;color:#A797BF}
.al-footer__legal{max-width:var(--al-wrap);margin:14px auto 0;font-size:12.5px;line-height:1.6;color:#B9AACB}
.al-footer__bottom a{color:#D9CFE8;text-decoration:underline;text-underline-offset:2px}
.al-footer__bottom a:hover,.al-footer__bottom a:focus-visible{color:#fff}

@media(max-width:600px){
  .al-hero__media img{box-shadow:9px 9px 0 rgba(232,185,62,.30)}
  .al-split__media img{box-shadow:-9px 9px 0 rgba(46,26,71,.10)}
  .al-acc__q{font-size:19px}
}

/* ==========================================================================
   Utilities for the native Kadence-block build
   (same look, applied to Kadence's own markup instead of custom HTML)
   ========================================================================== */
.al-page .al-shadow-gold img{border-radius:16px;box-shadow:14px 14px 0 rgba(232,185,62,.30);transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s ease}
.al-page .al-shadow-gold:hover img{transform:translate(-4px,-4px);box-shadow:18px 18px 0 rgba(232,185,62,.34)}
.al-page .al-shadow-purple img{border-radius:16px;box-shadow:-14px 14px 0 rgba(46,26,71,.10)}
.al-page .al-shadow-gold,.al-page .al-shadow-purple{margin:0}

/* Kadence renders these as standalone paragraphs, so own their spacing */
.al-page h1.al-h1,.al-page h2.al-h2,.al-page h3.al-h3{margin:0}
.al-page p.al-hero__sub{margin:18px 0 0}
.al-page p.al-eyebrow{margin:18px 0 0}
.al-page p.al-lede{margin:14px 0 0}
.al-page p.al-trust__num{justify-content:center;margin:0}
.al-page p.al-trust__label{margin:6px 0 0}
.al-page .kb-buttons-wrap{margin-top:28px;gap:14px}

/* Kadence columns used as cards: style the inner wrapper so padding/flex behave */
.al-page .al-card-dark.wp-block-kadence-column{padding:0}
.al-page .al-card-dark.wp-block-kadence-column > .kt-inside-inner-col{background:rgba(255,255,255,.05);border:1px solid rgba(232,185,62,.32);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:14px;height:100%;transition:transform .25s cubic-bezier(.22,.61,.36,1),border-color .25s ease,background-color .25s ease}
.al-page .al-card-dark.wp-block-kadence-column:hover > .kt-inside-inner-col{transform:translateY(-4px);border-color:var(--al-gold);background:rgba(255,255,255,.08)}
.al-page .al-card-dark h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:25px;color:#fff}
.al-page .al-card-dark p{margin:0;font-size:15.5px;line-height:1.7;color:#CFC3E2}
.al-page .al-card-dark strong{color:var(--al-gold);font-weight:700}
.al-page .al-card-dark .kb-svg-icon-wrap{line-height:0;color:var(--al-gold)}
.al-page .al-card-dark .kb-svg-icon-wrap svg{width:30px;height:30px;transition:transform .3s ease}
.al-page .al-card-dark:hover .kb-svg-icon-wrap svg{transform:scale(1.08) rotate(-3deg)}

/* Dark section headings inherit the design's colours */
.al-page .al-dark h2.al-h2{color:#fff}
.al-page .al-dark p.al-lede{color:#CFC3E2}

/* Practice-area cards built from Kadence columns */
.al-page .al-pcard-k.wp-block-kadence-column{padding:0}
.al-page .al-pcard-k.wp-block-kadence-column > .kt-inside-inner-col{background:#fff;border:1px solid var(--al-line);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:12px;height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.al-page .al-pcard-k.wp-block-kadence-column:hover > .kt-inside-inner-col{border-color:var(--al-gold);box-shadow:0 14px 30px rgba(46,26,71,.10);transform:translateY(-3px)}
.al-page .al-pcard-k h3{margin:0;font-family:var(--al-serif);font-weight:600;font-size:26px;color:var(--al-purple)}
.al-page .al-pcard-k p{margin:0;font-size:15px;line-height:1.65;color:var(--al-muted)}
.al-page .al-pcard-k p.al-pcard__more{margin-top:auto;font-size:14.5px;font-weight:700}
.al-page .al-pcard-k p.al-pcard__more a{color:var(--al-gold-deep);display:inline-block;transition:transform .2s ease}
.al-page .al-pcard-k:hover p.al-pcard__more a{transform:translateX(4px)}
.al-page .al-pcard-k p.al-badge{align-self:flex-start;background:var(--al-gold);color:var(--al-purple);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:99px;margin:0}
.al-page .al-pcard--feature.wp-block-kadence-column > .kt-inside-inner-col{background:var(--al-purple);border-color:var(--al-purple)}
.al-page .al-pcard--feature.wp-block-kadence-column:hover > .kt-inside-inner-col{border-color:var(--al-purple);box-shadow:0 16px 34px rgba(46,26,71,.24)}
.al-page .al-pcard--feature h3{color:#fff}
.al-page .al-pcard--feature p{color:#CFC3E2}
.al-page .al-pcard--feature p.al-pcard__more a{color:var(--al-gold)}

/* About block */
.al-page p.al-sig{margin:6px 0 0;font-family:var(--al-serif);font-style:italic;font-size:21px;color:#5A4A75}
.al-page .al-shadow-purple.wp-block-kadence-image{margin:0}

@media(max-width:600px){
  .al-page .al-shadow-gold img{box-shadow:9px 9px 0 rgba(232,185,62,.30)}
  .al-page .al-shadow-purple img{box-shadow:-9px 9px 0 rgba(46,26,71,.10)}
}

/* ==========================================================================
   Motion
   ========================================================================== */

/* Scroll reveal */
.al-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.al-reveal.is-in{opacity:1;transform:none}
.al-reveal[data-al-delay="1"]{transition-delay:.09s}
.al-reveal[data-al-delay="2"]{transition-delay:.18s}
.al-reveal[data-al-delay="3"]{transition-delay:.27s}
.al-reveal[data-al-delay="4"]{transition-delay:.36s}
.al-reveal[data-al-delay="5"]{transition-delay:.45s}

/* Hero entrance */
.al-hero__copy > *{opacity:0;transform:translateY(18px);animation:alUp .8s cubic-bezier(.22,.61,.36,1) forwards}
.al-hero__copy > *:nth-child(1){animation-delay:.05s}
.al-hero__copy > *:nth-child(2){animation-delay:.15s}
.al-hero__copy > *:nth-child(3){animation-delay:.25s}
.al-hero__copy > *:nth-child(4){animation-delay:.35s}
.al-hero__media{opacity:0;animation:alFadeIn 1s ease .2s forwards}
.al-hero__media img{transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s ease}
.al-hero__media:hover img{transform:translate(-4px,-4px);box-shadow:18px 18px 0 rgba(232,185,62,.34)}
@keyframes alUp{to{opacity:1;transform:none}}
@keyframes alFadeIn{to{opacity:1}}

/* Buttons */
.al-btn{transform:translateZ(0)}
.al-btn--gold:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,185,62,.35)}
.al-btn--ghost:hover,.al-btn--ghost-light:hover{transform:translateY(-2px)}

/* Cards */
.al-card-dark{transition:transform .25s cubic-bezier(.22,.61,.36,1),border-color .25s ease,background-color .25s ease}
.al-card-dark:hover{transform:translateY(-4px);border-color:var(--al-gold);background:rgba(255,255,255,.08)}
.al-card-dark svg{transition:transform .3s ease}
.al-card-dark:hover svg{transform:scale(1.08) rotate(-3deg)}
.al-pcard__more{transition:transform .2s ease}
.al-pcard:hover .al-pcard__more{transform:translateX(4px)}
.al-quote{transition:transform .25s ease,box-shadow .25s ease}
.al-quote:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(46,26,71,.09)}
.al-pill{transition:border-color .2s ease,color .2s ease,transform .2s ease}
.al-pill:hover{border-color:var(--al-gold);color:var(--al-purple);transform:translateY(-2px)}
.al-value{transition:border-color .25s ease}
.al-value:hover{border-top-color:var(--al-gold-deep)}
.al-social a{transition:border-color .2s ease,color .2s ease,transform .2s ease}
.al-social a:hover{transform:translateY(-2px)}

/* Nav underline grow */
.al-nav__underline{transform-origin:center;animation:alGrow .35s cubic-bezier(.22,.61,.36,1)}
@keyframes alGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.al-drop{animation:alDropIn .22s cubic-bezier(.22,.61,.36,1)}
@keyframes alDropIn{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* Sticky header shadow */
.al-header{transition:box-shadow .3s ease}
.al-header.is-stuck{box-shadow:0 6px 24px rgba(46,26,71,.10)}

/* Reviews fade on page change */
[data-al-reviews]{transition:opacity .25s ease}
[data-al-reviews].is-fading{opacity:0}

@media(prefers-reduced-motion:reduce){
  .al-reveal,.al-hero__copy > *,.al-hero__media{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Mobile header CTAs (nav + desktop CTA hide at ≤939px, so keep call + consult visible) */
.al-header__mcta{display:none;align-items:center;gap:8px;margin-left:auto;margin-right:10px}
.al-mcta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;font-weight:600;font-size:14px;line-height:1;text-decoration:none}
.al-mcta--call{width:44px;color:#2E1A47;border:1.5px solid #2E1A47;background:#fff}
.al-mcta--consult{padding:0 16px;background:#E8B93E;color:#2E1A47}
.al-mcta:focus-visible{outline:2px solid #E8B93E;outline-offset:3px}
@media(max-width:939px){.al-header__mcta{display:flex}}
@media(max-width:360px){.al-mcta--consult{display:none}}