/* ==================================================================
   Alchemy block pages. Every value below is taken verbatim from the
   approved design markup, so the block build matches it exactly.
   ================================================================== */
:root{
  --alc-plum:#2E1A47; --alc-gold:#E8B93E; --alc-gold-deep:#8F6B10;
  --alc-paper:#F7F3EA; --alc-ink:#2A2433; --alc-muted:#5B5269;
  --alc-line:#E7E0EF; --alc-lav:#F1EEF9;
  --alc-serif:'Cormorant Garamond','Cormorant FB','Cormorant FB Noto',serif; --alc-sans:'Mulish','Mulish FB','Mulish FB Roboto',sans-serif;
}

/* ---------- shells: beat WP/Kadence .has-background padding and the layout rail ---------- */
.wp-block-group.al-sec,
.wp-block-group.al-sec.has-background{
  padding:clamp(48px,6vw,80px) 24px !important;
  font-family:var(--alc-sans);color:var(--alc-ink);font-size:16px;
}
.wp-block-group.al-band,.wp-block-group.al-band.has-background,
.wp-block-group.al-tall,.wp-block-group.al-tall.has-background{padding:clamp(56px,7vw,88px) 24px !important}
.wp-block-group.al-striped,
.wp-block-group.al-striped.has-background{
  padding:26px 24px !important;
  border-top:1px solid #EBE4F2;border-bottom:1px solid #EBE4F2;
}
.al-ruled{border-top:1px solid #EBE4F2;border-bottom:1px solid #EBE4F2}
.al-ruledtop{border-top:1px solid #EBE4F2}
.wp-block-group.al-areas,
.wp-block-group.al-areas.has-background{padding:clamp(48px,6vw,72px) 24px !important}

/* the 1180 rail lives on the inner container WordPress injects */
.al-sec > .wp-block-group__inner-container{max-width:1180px;margin:0 auto;width:100%}
/* section rhythm applies to the real children, inside that container */
.wp-block-group.al-sec > .wp-block-group__inner-container > * + *{margin-top:34px}
.al-sec > .wp-block-group__inner-container > .al-kicker + *{margin-top:0}
.al-sec > .wp-block-group__inner-container > .al-h2 + .al-lead,
.al-sec > .wp-block-group__inner-container > .al-h2 + .al-lead2{margin-top:14px}
/* strip WP defaults inside our sections */
:where(.al-sec) :where(h1,h2,h3,p,figure,.wp-block-columns,.wp-block-buttons,.wp-block-image,details){margin-top:0;margin-bottom:0}
/* cards keep their own padding; kill the inner-container interference */
.al-card > .wp-block-group__inner-container,
.al-card-dark > .wp-block-group__inner-container,
.al-stepcard > .wp-block-group__inner-container,
.al-fitcard > .wp-block-group__inner-container,
.al-ratecard > .wp-block-group__inner-container,
.al-raterow > .wp-block-group__inner-container,
.al-rev-viewport > .wp-block-group__inner-container{max-width:none;margin:0}

/* ---------- type: exact ---------- */
.al-kicker{font-size:13px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;color:var(--alc-gold-deep);margin-top:0;margin-bottom:12px}
.al-band .al-kicker,.al-kicker-gold{color:var(--alc-gold)}
.al-h1{font-family:var(--alc-serif);font-weight:600;font-size:clamp(40px,5vw,64px);line-height:1.08;color:var(--alc-plum);text-wrap:balance;margin-top:0;margin-bottom:0}
.al-h1 em{color:var(--alc-gold-deep)}
.al-h1-ondark{color:#fff}
.al-h2{font-family:var(--alc-serif);font-weight:600;font-size:clamp(30px,3.6vw,44px);line-height:1.12;color:var(--alc-plum);text-wrap:balance;margin-top:0;margin-bottom:12px}
.al-band .al-h2{color:#fff}
.al-sub{font-family:var(--alc-serif);font-style:italic;font-size:clamp(21px,2.4vw,27px);line-height:1.35;color:var(--alc-muted);margin:10px 0 0}
.al-sub-ondark{color:#CFC3E2}
.al-lead{max-width:640px;margin:0 0 26px;margin-left:0;color:#CFC3E2}
.al-lead2{max-width:640px;margin:0 0 24px;margin-left:0;color:var(--alc-muted)}
.al-sig{font-family:var(--alc-serif);font-style:italic;color:var(--alc-muted)}
.al-muted{color:var(--alc-muted)}
.al-center{text-align:center}

/* ---------- buttons: exact ---------- */
.al-btnrow{gap:14px;margin-top:18px}
.al-btnrow-center{justify-content:center}
.wp-block-button .wp-block-button__link{font-weight:800;font-size:15px;padding:14px 26px;border-radius:8px;line-height:normal;border:0;display:inline-block;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}
.al-btn-gold .wp-block-button__link{background:var(--alc-gold) !important;color:var(--alc-plum) !important;border:0 !important;font-weight:800}
.al-btn-outline .wp-block-button__link{background:transparent !important;color:var(--alc-plum) !important;border:1.5px solid var(--alc-plum) !important;font-weight:700;box-sizing:border-box}
.al-btn-outline-gold .wp-block-button__link{background:transparent !important;color:var(--alc-gold) !important;border:1.5px solid var(--alc-gold) !important;font-weight:700;padding:13px 24px}
.al-meet .wp-block-button__link{padding:13px 24px}
.al-btn-gold .wp-block-button__link:hover{background:#D9A82B !important;color:var(--alc-plum) !important;transform:translateY(-1px)}
.al-btn-outline .wp-block-button__link:hover{background:#F7F2E4 !important;color:var(--alc-plum) !important;border-color:var(--alc-plum) !important;transform:translateY(-1px)}
.al-btn-outline-gold .wp-block-button__link:hover{background:var(--alc-gold) !important;color:var(--alc-plum) !important;border-color:var(--alc-gold) !important;transform:translateY(-1px)}

/* ---------- hero: exact flex model from the design ---------- */
.al-hero-cols{gap:clamp(36px,5vw,60px);align-items:center;flex-wrap:wrap}
.al-hero-cols > .wp-block-column:first-child{flex:1.4 1 440px !important;min-width:320px}
.al-hero-cols > .wp-block-column:last-child{flex:1 1 320px !important;min-width:290px;max-width:440px;position:relative}
.al-hero-text > *{margin-bottom:0}
.al-hero-text .al-kicker{margin-top:16px}
.al-frame{margin:0}
.al-frame img{border:1px solid var(--alc-gold);border-radius:18px;padding:12px;background:#fff;display:block;width:100%;height:auto}
.al-badge{position:absolute;bottom:26px;right:-10px;background:var(--alc-gold);color:var(--alc-plum);font-weight:800;font-size:13px;letter-spacing:0.04em;padding:9px 16px;border-radius:8px;box-shadow:0 10px 24px rgba(46,26,71,.18);margin:0}

/* ---------- trust strip ---------- */
.al-trust{gap:18px;text-align:center}
.al-trust-n{font-family:var(--alc-serif);font-weight:600;font-size:24px;color:var(--alc-plum);margin:0}
.al-trust-l{font-size:12px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:#5B5269;margin:4px 0 0}

/* ---------- cards: exact ---------- */
.al-cards3{gap:20px;margin-top:26px}
.al-cards4{gap:18px;margin-top:26px}
.al-card,.al-card-dark,.al-stepcard{border-radius:14px;height:100%;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),border-color .2s ease,box-shadow .25s ease}
.al-card{background:#fff;border:1px solid var(--alc-line);padding:28px}
.al-card-dark{background:rgba(255,255,255,0.06);border:1px solid rgba(207,195,226,0.28);padding:26px}
.al-stepcard{background:#FAF8F3;border:1px solid var(--alc-line);padding:22px}
.al-card:hover,.al-stepcard:hover{transform:translateY(-4px);border-color:var(--alc-gold);box-shadow:0 14px 30px rgba(46,26,71,.12)}
.al-card-dark:hover{transform:translateY(-4px);border-color:var(--alc-gold);box-shadow:0 14px 34px rgba(0,0,0,.3)}
.al-card-h{font-family:var(--alc-serif);font-weight:600;font-size:24px;color:var(--alc-plum);margin:0 0 12px}
.al-card-dark .al-card-h{color:var(--alc-gold);font-size:23px}
.al-card-p{font-size:14.5px;line-height:1.7;color:var(--alc-muted);margin:0}
.al-card-dark .al-card-p{color:#CFC3E2}
.al-card-featured{background:var(--alc-plum);border:1px solid var(--alc-plum)}
.al-card-featured .al-card-h{color:#fff}
.al-card-featured .al-card-p{color:#CFC3E2}
.al-card-featured .al-more a{color:var(--alc-gold)}
.al-chip{display:inline-block;align-self:flex-start;background:var(--alc-gold);color:var(--alc-plum);font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;padding:5px 10px;border-radius:6px;margin:0 0 12px}
.al-more{margin:12px 0 0}
.al-more a{color:var(--alc-gold-deep);font-weight:800;font-size:14px;text-decoration:none}
.al-more a:hover{color:var(--alc-plum)}
.al-stepnum{font-family:var(--alc-serif);font-size:26px;color:var(--alc-gold-deep);margin:0 0 8px}

/* ---------- meet ---------- */
.al-meet{gap:clamp(36px,5vw,60px);align-items:center;flex-wrap:wrap}
.al-meet > .wp-block-column:first-child{flex:1 1 320px !important;min-width:290px;max-width:440px}
.al-meet > .wp-block-column:last-child{flex:1.4 1 440px !important;min-width:320px}
.al-frame-plum img{border-color:var(--alc-line)}

/* ---------- values ---------- */
.al-values{gap:28px;margin-top:26px}
.al-val{border-top:2px solid var(--alc-gold);padding-top:18px}
.al-val-h{font-family:var(--alc-serif);font-weight:600;font-size:23px;color:var(--alc-plum);margin:0 0 10px}
.al-val-p{font-size:14.5px;line-height:1.7;color:var(--alc-muted);margin:0}

/* ---------- reviews ---------- */
.al-rev-head{align-items:flex-end}
.al-rev-navcol{text-align:right}
.al-rev-nav{white-space:nowrap;margin:0}
.al-circ{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--alc-plum);color:var(--alc-plum);background:#fff;font-size:22px;line-height:1;text-decoration:none;transition:background .2s ease,color .2s ease}
.al-circ:hover{background:var(--alc-plum);color:#fff}
.js-rev-page{font-size:13px;font-weight:700;color:var(--alc-muted);margin:0 8px}
.al-rev-viewport{overflow:hidden;margin-top:30px}
.al-rev-track{flex-wrap:nowrap !important;gap:20px;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.al-rev-track > .wp-block-column{background:#fff;border:1px solid var(--alc-line);border-radius:14px;padding:26px}
.al-stars{color:var(--alc-gold);letter-spacing:3px;font-size:15px;margin:0 0 14px}
.al-rev-text{font-size:15px;line-height:1.75;color:#4A4258;margin:0 0 14px;flex:1}
.al-rev-name{margin:0;color:var(--alc-plum)}
.al-rev-meta{font-size:13px;color:#675873;margin:2px 0 0}
@media(max-width:760px){.al-rev-track > .wp-block-column{flex-basis:100% !important}}

/* ---------- service chips: exact ---------- */
.al-chiprow{justify-content:center;gap:12px;margin-top:20px}
.al-chip-btn .wp-block-button__link{background:#fff;border:1px solid var(--alc-line);color:#3A2E4F;font-size:14px;font-weight:700;padding:9px 20px;border-radius:999px}
.al-chip-btn .wp-block-button__link:hover{background:#fff !important;color:#3A2E4F !important;border-color:var(--alc-gold) !important}
.al-areas .al-muted{text-align:center;margin-top:18px}
.al-areas .al-more{text-align:center}

/* ---------- FAQ: exact ---------- */
.al-faq{gap:clamp(30px,4vw,54px)}
.al-faq-item{background:#FAF8F3;border:1px solid var(--alc-line);border-radius:12px;padding:0;margin-bottom:12px}
.al-faq-item summary{font-family:var(--alc-serif);font-weight:600;font-size:20px;color:var(--alc-plum);padding:19px 22px;cursor:pointer;list-style:none;position:relative;padding-right:64px}
.al-faq-item summary::-webkit-details-marker{display:none}
.al-faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--alc-gold);color:var(--alc-gold-deep);display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-family:var(--alc-sans)}
.al-faq-item[open] summary::after{content:"\2212"}
.al-faq-item p{padding:0 22px 20px;margin:0;font-size:15px;line-height:1.7}
.al-faq-intro .al-more{margin-top:8px}

/* ---------- mediation page ---------- */
.al-page-hero{padding:clamp(56px,7vw,88px) 24px}
.al-guide{gap:clamp(30px,4vw,54px);align-items:flex-start}
.al-guide .wp-block-column > p.wp-block-paragraph:not(.al-kicker):not(.al-check):not(.al-finemuted){margin:0 0 1.05em;line-height:1.75}
.al-guide .wp-block-column > p.wp-block-paragraph:not(.al-kicker):not(.al-check):not(.al-finemuted):last-child{margin-bottom:0}
.al-check{margin:0 0 10px;font-size:15px;line-height:1.6}
.al-fitcard{padding:26px}
.al-finemuted{font-size:13px;color:var(--alc-muted);margin:14px 0 0;line-height:1.6}
.al-ratecard{padding:6px 26px 20px;max-width:760px;margin-left:auto;margin-right:auto}
.al-rates .al-kicker,.al-rates .al-h2{text-align:center}
.al-rates .al-lead2{margin-left:auto;margin-right:auto;text-align:center;max-width:560px}
.al-raterow{border-bottom:1px solid var(--alc-line);padding:18px 0}
.al-raterow:last-of-type{border-bottom:0}
.al-ratecols{align-items:center}
.al-rate-h{font-family:var(--alc-serif);font-weight:600;font-size:22px;color:var(--alc-plum);margin:0}
.al-rate-meta{font-size:13px;color:var(--alc-muted);margin:4px 0 0}
.al-rate-pricecol{text-align:right}
.al-rate-price{font-family:var(--alc-serif);font-size:26px;color:var(--alc-gold-deep);margin:0}
.al-rate-per{font-size:14px;color:var(--alc-muted)}
.al-creds{gap:28px;margin-top:26px}
.al-cred{border-top:2px solid var(--alc-gold);padding-top:14px}
.al-cred-n{font-family:var(--alc-serif);font-weight:600;font-size:26px;margin:0 0 6px}
.al-cred-l{font-size:14px;margin:0}

/* header/footer PHP parts still use data-hv */
[data-hv="hv1"]:hover{background:#D9A82B !important}
[data-hv="hv2"]:hover{background:#E8B93E !important;border-color:#E8B93E !important;color:#2E1A47 !important}
[data-hv="hv3"]:hover{background:#E8B93E !important;color:#2E1A47 !important}
[data-hv="hv4"]:hover{border-color:#E8B93E !important}
[data-hv="hv5"]:hover{background:#F7F2E4 !important}
[data-hv="hv6"]:hover{border-color:#E8B93E !important;color:#2E1A47 !important}
[data-hv="hv7"]:hover{background:#F7F2E4 !important;color:#2E1A47 !important}
[data-hv="hv8"]:hover{background:rgba(232,185,62,.14) !important}
[data-hv="hv9"]:hover{color:#FFFFFF !important}
[data-hv="hv10"]:hover{color:#E8B93E !important}
a[data-hv],button[data-hv]{transition:background .18s ease,color .18s ease,border-color .18s ease}

img{max-width:100%;height:auto}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important}
  .al-card:hover,.al-card-dark:hover,.al-stepcard:hover{transform:none !important}
}

.al-badge{text-transform:none;letter-spacing:0.04em}

/* kill WP/theme default block spacing inside our sections; class margins win */
:where(.al-sec) :where(h1,h2,h3,p,figure,.wp-block-columns,.wp-block-buttons,.wp-block-image,details){margin-top:0;margin-bottom:0}
.al-sec :where(.wp-block-column > *:last-child){margin-bottom:0}

/* carousel columns must never shrink; 3 visible, 4th offscreen */
.al-rev-track > .wp-block-column{flex-shrink:0}

/* hero and meet text columns were flex columns with a 22px gap in the design */
.al-hero-cols > .wp-block-column:first-child,
.al-meet > .wp-block-column:last-child{display:flex;flex-direction:column;gap:22px;justify-content:center}
.al-hero-cols > .wp-block-column:first-child > *,
.al-meet > .wp-block-column:last-child > *{margin:0}

/* the design caps the intro block of a band at 720 and uses a 34px stack gap */
.al-band > .wp-block-group__inner-container > .al-kicker,
.al-band > .wp-block-group__inner-container > .al-h2,
.al-band > .wp-block-group__inner-container > .al-lead{max-width:720px;margin-left:0}
.al-band > .wp-block-group__inner-container > * + *{margin-top:14px}
.al-band > .wp-block-group__inner-container > .al-cards3{margin-top:34px}
.al-band > .wp-block-group__inner-container > .al-btnrow{margin-top:34px}

/* service areas: centred column, smaller heading, 24px rhythm */
.al-areas > .wp-block-group__inner-container{text-align:center}
.al-areas .al-h2{font-size:clamp(28px,3.2vw,38px);line-height:1.14}
.al-areas > .wp-block-group__inner-container > * + *{margin-top:24px}


/* ==================================================================
   Ghost guard. alchemy.css still ships the site header and footer, and
   its old page rules are prefixed .al-page, so they outrank the plain
   class selectors above. Every value here is read straight out of
   Home.dc.html, and each selector carries one extra class so it wins.
   ================================================================== */
.al-sec .al-card-dark .al-card-h{font-size:23px;color:var(--alc-gold);margin:0 0 10px}
.al-sec .al-card-dark .al-card-p{font-size:14.5px;line-height:1.7;color:#CFC3E2;margin:0}
.al-sec .al-card-dark strong{color:#FFFFFF;font-weight:700}
.al-sec p.al-sig{font-size:19px;color:var(--alc-muted);margin:0}
.al-sec .al-circ{width:42px;height:42px;background:#FFFFFF;border:1.5px solid var(--alc-plum);
  color:var(--alc-plum);font-size:18px;border-radius:50%}
.al-sec .al-circ:hover{background:#F7F2E4;color:var(--alc-plum)}

/* ---------- FAQ, matched to the design column by column ---------- */
.al-faq{gap:clamp(36px,5vw,64px);align-items:flex-start}
.al-faq-intro > * + *{margin-top:14px}
.al-faq-intro .al-more + .al-more{margin-top:8px}
.al-faq-intro .al-muted{font-size:15.5px;line-height:1.7}
.al-faq-item{margin-bottom:14px}
.al-faq-item:last-of-type{margin-bottom:0}
.al-faq-item summary::after{font-weight:600;line-height:1}
.al-sec .al-faq-item p{padding:0 54px 20px 22px;font-size:15.5px;line-height:1.75;color:#4A4258}

/* standalone "see all" links run one step larger than the in-card ones */
.al-areas .al-more a,.al-faq-intro .al-more a{font-size:15px}


/* ==================================================================
   Card internals follow the design's flex model, so a card's last line
   sits on its floor however long the copy runs. The margin reset above
   is wrapped in :where() so it only clears WordPress defaults and every
   class margin below still wins.
   ================================================================== */
.al-card > .wp-block-group__inner-container,
.al-card-dark > .wp-block-group__inner-container,
.al-stepcard > .wp-block-group__inner-container{display:flex;flex-direction:column;height:100%}
.al-card .al-card-p{flex:1}
.al-rev-slide,.al-trust-cell,.al-val{display:flex;flex-direction:column}

/* small print under the city chips */
.al-areas .al-muted{font-size:14px;color:#5B5269}

/* FAQ rows answer to the mouse the way the cards do */
.al-faq-item{transition:border-color .2s ease,background-color .2s ease,transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s ease}
.al-faq-item:hover{border-color:var(--alc-gold);background:#FFFDF7;transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,26,71,.07)}
.al-faq-item:hover summary::after{background:var(--alc-gold);color:var(--alc-plum)}
@media (prefers-reduced-motion:reduce){.al-faq-item:hover{transform:none}}


/* ==================================================================
   Section rhythm, read off the design's own flex gaps. The old
   alchemy.css zeroes the margin on anything classed .al-h1/.al-h2/.al-h3
   at a higher specificity, so the gap next to a heading is carried by
   the element beside it rather than by the heading itself.
   ================================================================== */
.al-cards3 + .al-cards3{margin-top:20px}          /* one grid in the design, row gap 20 */
.al-meet > .wp-block-column:last-child{gap:18px}  /* hero column is 22, meet is 18 */
.al-band .al-kicker{margin-bottom:14px}           /* band intro group gap */
.al-faq-intro .al-kicker{margin-bottom:14px}      /* faq intro group gap */

/* these three sit inside a section, so they must outrank the 34px rhythm */
.wp-block-group.al-sec > .wp-block-group__inner-container > .al-cards3 + .al-cards3{margin-top:20px}
.wp-block-group.al-sec > .wp-block-group__inner-container > .al-rev-viewport{margin-top:30px}
.wp-block-group.al-sec.al-areas > .wp-block-group__inner-container > * + *{margin-top:24px}
.wp-block-group.al-sec.al-areas > .wp-block-group__inner-container > .al-kicker + *{margin-top:0}


/* ==================================================================
   Kadence repaints buttons on :focus and :active as well as :hover, so a
   chip kept the theme's blue after it was clicked. Pin the clicked state
   back to rest, keep hover one notch more specific, and give keyboards a
   real focus ring.
   ================================================================== */
.al-btn-gold .wp-block-button__link:focus,
.al-btn-gold .wp-block-button__link:active{background:var(--alc-gold) !important;color:var(--alc-plum) !important}
.wp-block-button.al-btn-gold .wp-block-button__link:hover{background:#D9A82B !important;color:var(--alc-plum) !important}

.al-btn-outline .wp-block-button__link:focus,
.al-btn-outline .wp-block-button__link:active{background:transparent !important;color:var(--alc-plum) !important;border-color:var(--alc-plum) !important}
.wp-block-button.al-btn-outline .wp-block-button__link:hover{background:#F7F2E4 !important;color:var(--alc-plum) !important}

.al-btn-outline-gold .wp-block-button__link:focus,
.al-btn-outline-gold .wp-block-button__link:active{background:transparent !important;color:var(--alc-gold) !important;border-color:var(--alc-gold) !important}
.wp-block-button.al-btn-outline-gold .wp-block-button__link:hover{background:var(--alc-gold) !important;color:var(--alc-plum) !important;border-color:var(--alc-gold) !important}

.al-chip-btn .wp-block-button__link:focus,
.al-chip-btn .wp-block-button__link:active,
.al-chip-btn .wp-block-button__link:visited{background:#fff !important;color:#3A2E4F !important;border-color:var(--alc-line) !important}
.wp-block-button.al-chip-btn .wp-block-button__link:hover{border-color:var(--alc-gold) !important}

.wp-block-button__link:focus-visible{outline:2px solid var(--alc-gold);outline-offset:3px}

/* ---------- mediation page, measured against Mediation.dc.html ---------- */
.wp-block-group.al-sec.al-cta{padding:clamp(64px,8vw,104px) 24px !important}
.wp-block-group.al-page-hero > .wp-block-group__inner-container > * + *{margin-top:18px}
.al-page-hero .al-kicker{margin-bottom:18px}
.al-stepnum{margin:0 0 10px}
.al-stepcard .al-card-h{margin:0 0 10px}
.al-cred-l{margin:8px 0 0}
.al-raterow{padding:24px 0}


/* ==================================================================
   Practice Areas hub. One auto-fit grid, exactly as the design has it, so
   a card can be added or removed in the editor without touching widths.
   ================================================================== */
.al-areagrid > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:none;margin:0}

.wp-block-group.al-ctapanel{padding:clamp(26px,4vw,40px) !important;border-radius:16px}
.al-ctapanel > .wp-block-group__inner-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;max-width:none;margin:0}
.al-ctapanel-text{max-width:640px}
.al-ctapanel-text > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:8px;max-width:none;margin:0}
.al-ctapanel-h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(24px,2.8vw,32px);line-height:1.16;color:var(--alc-plum);margin:0}
.al-ctapanel-p{font-size:15.5px;line-height:1.7;color:#4A4258;margin:0}
.al-ctapanel .al-btnrow{flex-shrink:0;margin-top:0}
.al-ctapanel .wp-block-button__link{padding:14px 28px}

/* the plum inner-page heroes run one step smaller than the homepage */
.al-page-hero .al-h1{font-size:clamp(38px,4.6vw,58px)}
.al-page-hero .al-sub{font-size:clamp(20px,2.2vw,25px);line-height:1.4;max-width:640px}

.al-stepcard .al-card-p{line-height:1.65}


/* ==================================================================
   Service Areas hub, measured off Service-Areas.dc.html.
   ================================================================== */
.al-introblock{max-width:720px}
.al-introblock > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:12px;max-width:none;margin:0}
.al-intro-p{font-size:16.5px;line-height:1.75;color:#4A4258;margin:0}

.al-citygrid > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-width:none;margin:0}
.al-citycard{padding:26px}
.al-citycard > .wp-block-group__inner-container{gap:10px}
.al-citycard > .wp-block-group__inner-container > *{margin:0}
.al-county{font-size:13px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--alc-gold-deep)}

/* statewide band */
.al-virtual{gap:clamp(36px,5vw,64px);align-items:center;flex-wrap:wrap}
.al-virtual > .wp-block-column:first-child{flex:1.5 1 440px !important;min-width:320px;display:flex;flex-direction:column;gap:18px}
.al-virtual > .wp-block-column:first-child > *{margin:0}
.al-virtual > .wp-block-column:last-child{flex:1 1 300px !important;min-width:280px}
.al-lead-dark{font-size:16.5px;line-height:1.75;color:#CFC3E2;margin:0}
.al-virtual .al-btnrow{margin-top:6px}
.al-statgrid > .wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:none;margin:0}
.al-statcard{background:rgba(255,255,255,0.06);border:1px solid rgba(207,195,226,0.28);border-radius:14px;padding:22px}
.al-statcard > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:6px;max-width:none;margin:0}
.al-stat-n{font-family:var(--alc-serif);font-weight:600;font-size:26px;color:var(--alc-gold);margin:0}
.al-stat-l{font-size:13.5px;line-height:1.55;color:#CFC3E2;margin:0}

/* courts we appear in */
.al-courts{gap:clamp(36px,5vw,64px);align-items:flex-start;flex-wrap:wrap}
.al-courts > .wp-block-column:first-child{flex:1 1 300px !important;min-width:280px;display:flex;flex-direction:column;gap:14px}
.al-courts > .wp-block-column:first-child > *{margin:0}
.al-courts > .wp-block-column:last-child{flex:1.6 1 420px !important;min-width:320px;display:flex;flex-direction:column;gap:14px}
.al-courts-p{font-size:15.5px;line-height:1.7;color:var(--alc-muted);margin:0}
.al-courtcard{background:#fff;border:1px solid var(--alc-line);border-radius:12px;padding:22px 26px;transition:border-color .2s ease,transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s ease}
.al-courtcard:hover{border-color:var(--alc-gold);transform:translateY(-2px);box-shadow:0 10px 24px rgba(46,26,71,.08)}
.al-courtcard > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:6px;max-width:none;margin:0}
.al-court-h{font-family:var(--alc-serif);font-weight:600;font-size:22px;color:var(--alc-plum);margin:0}

/* the closing plum CTA, shared with the mediation page */
.al-cta > .wp-block-group__inner-container{max-width:840px;text-align:center}
.wp-block-group.al-sec.al-cta > .wp-block-group__inner-container > * + *{margin-top:20px}
.al-cta .al-h2{font-size:clamp(32px,4.2vw,50px)}

/* the band intro cap is for the homepage band, not the centred closing CTA */
.al-band.al-cta > .wp-block-group__inner-container > .al-h2,
.al-band.al-cta > .wp-block-group__inner-container > .al-kicker,
.al-band.al-cta > .wp-block-group__inner-container > .al-lead{max-width:none;margin-left:auto;margin-right:auto}

.al-alsoserve{font-size:15.5px;line-height:1.7;color:var(--alc-muted);margin:0}


/* ==================================================================
   City pages. One layout for all five towns: a wide main column and a
   sticky facts rail, straight out of Georgetown.dc.html.
   ================================================================== */
.al-citypage{gap:clamp(40px,5vw,64px);align-items:flex-start;flex-wrap:wrap}
.al-citypage > .wp-block-column:first-child{flex:1.8 1 520px !important;min-width:320px;display:flex;flex-direction:column;gap:44px}
.al-citypage > .wp-block-column:first-child > *{margin:0}
.al-citypage > .wp-block-column:last-child{flex:1 1 300px !important;min-width:290px;max-width:380px;position:sticky;top:24px;display:flex;flex-direction:column;gap:20px}
.al-citypage > .wp-block-column:last-child > *{margin:0}
.al-cityblock > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:18px;max-width:none;margin:0}
.al-cityblock-wide > .wp-block-group__inner-container{gap:20px}
.al-h2-city{font-family:var(--alc-serif);font-weight:600;font-size:clamp(28px,3.2vw,38px);line-height:1.14;color:var(--alc-plum);margin:0}
.al-h3-city{font-family:var(--alc-serif);font-weight:600;font-size:clamp(26px,3vw,34px);color:var(--alc-plum);margin:0}

.al-quicklinks > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:none;margin:0}
.al-quicklink{margin:0}
.al-quicklink a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--alc-line);border-radius:10px;padding:16px 20px;font-weight:700;font-size:15px;color:var(--alc-plum);text-decoration:none;transition:border-color .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}
.al-quicklink a:hover{border-color:var(--alc-gold);transform:translateY(-2px)}
.al-qarrow{color:var(--alc-gold-deep)}

.al-factcard{background:#fff;border:1px solid var(--alc-line);border-radius:16px;padding:28px}
.al-factcard > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0}
.al-fact-h{font-family:var(--alc-serif);font-weight:600;font-size:23px;color:var(--alc-plum);margin:0}
.al-factrow{border-top:1px solid #EFEAF6;padding-top:14px}
.al-factrow > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:4px;max-width:none;margin:0}
.al-fact-l{font-size:12px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--alc-gold-deep);margin:0}
.al-fact-v{font-size:15px;font-weight:700;color:var(--alc-plum);margin:0}

.wp-block-group.al-asidecta{border-radius:16px;padding:30px !important}
.al-asidecta > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0}
.al-asidecta-h{font-family:var(--alc-serif);font-weight:600;font-size:24px;line-height:1.2;color:#fff;margin:0}
.al-asidecta-p{text-align:center;font-size:14px;color:#CFC3E2;margin:0}
.al-asidecta-p strong{color:#fff}
.al-btnrow-block{margin-top:0}
.al-btnrow-block .wp-block-button{width:100%}
.al-btnrow-block .wp-block-button__link{display:block;width:100%;text-align:center}
.al-backlink{text-align:center;margin:0}
.al-backlink a{font-size:14px;font-weight:800;color:var(--alc-gold-deep);text-decoration:none}

/* a local photograph on each city page, credited in its caption because the
   licences require it and because it proves the picture is really that town */
.al-cityphoto{margin:0}
.al-cityphoto img{width:100%;height:auto;display:block;border-radius:16px}
figure.al-cityphoto figcaption.wp-element-caption{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:#8F8399;text-align:left}


/* ==================================================================
   Our Story. Wider vertical rhythm than the rest of the site, because
   the design gives this page its own padding scale.
   ================================================================== */
.wp-block-group.al-sec.al-hero-center{padding:clamp(64px,8vw,110px) 24px !important}
.al-hero-center > .wp-block-group__inner-container{max-width:780px;text-align:center}
.wp-block-group.al-sec.al-hero-center > .wp-block-group__inner-container > * + *{margin-top:22px}
.al-lead-lg{font-size:18px;line-height:1.7;color:#4A4258;max-width:600px;margin:0 auto}

.al-journey{gap:clamp(40px,5vw,72px);align-items:flex-start;flex-wrap:wrap}
.al-journey > .wp-block-column:first-child{flex:1.4 1 480px !important;min-width:320px;display:flex;flex-direction:column;gap:18px}
.al-journey > .wp-block-column:first-child > *{margin:0}
.al-journey > .wp-block-column:last-child{flex:1 1 320px !important;min-width:300px;max-width:420px}
.al-pullquote{font-family:var(--alc-serif);font-style:italic;font-size:21px;line-height:1.45;color:var(--alc-plum);border-left:3px solid var(--alc-gold);padding-left:20px;margin:6px 0 0}
.al-pullquote-by{font-size:13px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--alc-gold-deep);padding-left:23px;margin:0}

.wp-block-group.al-sec.al-philo{padding:clamp(64px,8vw,100px) 24px !important}
.al-philo > .wp-block-group__inner-container{max-width:900px;text-align:center}
.wp-block-group.al-sec.al-philo > .wp-block-group__inner-container > * + *{margin-top:24px}
.al-rule{border:0;height:2px;width:56px;background:var(--alc-gold);margin:0 auto}
.al-philo-p{font-size:17px;line-height:1.8;max-width:680px;margin:0 auto}
.al-band.al-philo > .wp-block-group__inner-container > .al-h2,
.al-band.al-philo > .wp-block-group__inner-container > .al-kicker{max-width:none;margin-left:auto;margin-right:auto}

.al-valintro{max-width:640px}
.al-valintro > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0}
.al-valgrid > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:none;margin:0}
.wp-block-group.al-sec > .wp-block-group__inner-container > .al-valintro + .al-valgrid{margin-top:44px}
.al-valcard > .wp-block-group__inner-container{gap:10px}
.al-valcard > .wp-block-group__inner-container > *{margin:0}
.al-valcard .al-card-p{font-size:15px;line-height:1.65}


/* ==================================================================
   Contact. The form is a real Kadence Advanced Form, so the styling
   below targets the classes Kadence actually renders.
   ================================================================== */
.al-contact{gap:clamp(40px,5vw,72px);align-items:flex-start;flex-wrap:wrap}
.al-contact > .wp-block-column:first-child{flex:1 1 380px !important;min-width:300px;display:flex;flex-direction:column;gap:26px}
.al-contact > .wp-block-column:first-child > *{margin:0}
.al-contact > .wp-block-column:last-child{flex:1.3 1 460px !important;min-width:320px}
.al-contact-intro > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0}
.al-contact-lead{font-size:17px;line-height:1.7;color:#4A4258;margin:0}
.al-contactlist > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:20px;max-width:none;margin:0}
.al-contactrow > .wp-block-group__inner-container{display:flex;gap:16px;align-items:flex-start;max-width:none;margin:0}
.al-ico{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#F4EFF9;display:inline-flex;align-items:center;justify-content:center}
.al-cr-body > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:2px;max-width:none;margin:0}
.al-cr-l{font-weight:800;font-size:15px;color:var(--alc-plum);margin:0}
.al-cr-v{font-size:16px;line-height:1.6;color:#4A4258;margin:0}
.al-cr-v a{color:#4A4258;text-decoration:none}
.al-cr-v a:hover{color:var(--alc-gold-deep)}
.al-cr-note{font-size:13.5px;color:#6B6180;margin:0}

.wp-block-group.al-formcard{background:#fff;border:1px solid var(--alc-line);border-radius:16px;padding:clamp(28px,4vw,40px) !important}
.al-formcard > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:18px;max-width:none;margin:0}
.al-form-h{font-family:var(--alc-serif);font-weight:600;font-size:28px;color:var(--alc-plum);margin:0}
.al-form-note,.al-cta p.al-form-note,.al-formcard p.al-form-note{font-size:12.5px;line-height:1.6;color:#5F5570;margin:0}

.al-formcard .kb-adv-form-label{font-size:13.5px;font-weight:800;color:#3A2E4F;margin-bottom:7px;display:block}
.al-formcard .kb-field,
.al-formcard select{border:1px solid #DED5EA;border-radius:8px;padding:13px 15px;font-family:var(--alc-sans);font-size:15px;line-height:1.6;color:var(--alc-ink);background:#FAF8F3;width:100%;box-sizing:border-box}
.al-formcard .kb-textarea-field{resize:vertical;min-height:132px}
.al-formcard .kb-field:focus,
.al-formcard select:focus{border-color:var(--alc-gold);outline:none;background:#fff}
.al-formcard .kb-adv-form-submit-button{background:var(--alc-gold) !important;color:var(--alc-plum) !important;font-family:var(--alc-sans);font-weight:800;font-size:16px;padding:16px 32px;border:0;border-radius:8px;cursor:pointer;transition:background .2s ease}
.al-formcard .kb-adv-form-submit-button:hover{background:#D9A82B !important;color:var(--alc-plum) !important}


.al-qagrid > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;max-width:none;margin:0}
.al-qa{border-top:2px solid var(--alc-gold);padding-top:18px}
.al-qa > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:10px;max-width:none;margin:0}
.al-qa-h{font-family:var(--alc-serif);font-weight:600;font-size:23px;color:var(--alc-plum);margin:0}
.al-qa-p{font-size:15px;line-height:1.7;color:var(--alc-muted);margin:0}

/* Kadence lays the form out as a column; the design pairs the short fields */
.al-formcard .wp-block-kadence-advanced-form .kb-advanced-form{flex-flow:row wrap;gap:18px;align-items:flex-start}
.al-formcard .kb-adv-form-field{flex:1 1 100%;max-width:100% !important}
.al-formcard .kb-fieldaf-name,
.al-formcard .kb-fieldaf-email,
.al-formcard .kb-fieldaf-phone,
.al-formcard .kb-fieldaf-matter{flex:1 1 calc(50% - 9px);max-width:calc(50% - 9px) !important;min-width:200px}
@media (max-width:600px){
  .al-formcard .kb-fieldaf-name,.al-formcard .kb-fieldaf-email,
  .al-formcard .kb-fieldaf-phone,.al-formcard .kb-fieldaf-matter{flex-basis:100%;max-width:100% !important}
}

/* Getting here. The OpenStreetMap embed loaded its controls but never its
   tiles, so a blank 400px box was the failure mode. A directions card always
   works, and she is not staffed at this address anyway. */
.wp-block-group.al-sec.al-directions{padding:0 24px clamp(56px,7vw,88px) !important}
.al-dircard{background:#fff;border:1px solid var(--alc-line);border-radius:16px;padding:clamp(28px,4vw,40px)}
.al-dircard > .wp-block-group__inner-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;max-width:none;margin:0}
.al-dir-text{max-width:680px}
.al-dir-text > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:10px;max-width:none;margin:0}
.al-dir-h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(24px,2.8vw,32px);line-height:1.16;color:var(--alc-plum);margin:0}
.al-dir-p{font-size:15.5px;line-height:1.7;color:#4A4258;margin:0}
.al-directions .al-btnrow{flex-shrink:0;margin-top:0}


/* ==================================================================
   Meet the Team. Every card is a real person already listed on
   alchemyattorneys.com, with the role their own site gives them.
   ================================================================== */
.wp-block-group.al-sec.al-teamintro{padding:clamp(64px,8vw,100px) 24px 40px !important}
.al-teamintro > .wp-block-group__inner-container{max-width:760px;text-align:center}
.wp-block-group.al-sec.al-teamintro > .wp-block-group__inner-container > * + *{margin-top:22px}
.al-teamintro .al-lead-lg{max-width:580px}

.wp-block-group.al-sec.al-teamgridsec{padding:24px 24px clamp(72px,9vw,110px) !important}
.al-teamgrid > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;align-items:stretch;max-width:none;margin:0}
.al-member{background:#fff;border:1px solid var(--alc-line);border-radius:16px;overflow:hidden;transition:box-shadow .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}
.al-member:hover{box-shadow:0 16px 34px rgba(46,26,71,.12);transform:translateY(-2px)}
.al-member > .wp-block-group__inner-container{display:flex;flex-direction:column;height:100%;max-width:none;margin:0}
.al-member-photo{margin:0}
.al-member-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.al-member-body{padding:24px 26px 28px}
.al-member-body > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:6px;max-width:none;margin:0}
.al-member-n{font-family:var(--alc-serif);font-weight:600;font-size:26px;color:var(--alc-plum);margin:0}
.al-member-r{font-size:13px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--alc-gold-deep);margin:0}
.al-member-b{font-size:14.5px;line-height:1.65;color:var(--alc-muted);margin:8px 0 0}

.wp-block-group.al-sec.al-joinsec{padding:56px 24px !important}
.al-joinsec > .wp-block-group__inner-container{max-width:640px;text-align:center}
.wp-block-group.al-sec.al-joinsec > .wp-block-group__inner-container > * + *{margin-top:14px}
.al-join-h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(26px,3vw,34px);color:var(--alc-plum);margin:0}
.al-join-p{font-size:16px;line-height:1.7;color:#4A4258;margin:0}
.al-joinsec .al-more a{font-size:15.5px;font-weight:700}


/* ==================================================================
   Blog index. Two core Query Loops read the real posts, so the cards
   are dynamic. The design's six sample articles were placeholders.
   ================================================================== */
.wp-block-group.al-sec.al-blogintro{padding:clamp(56px,7vw,88px) 24px 40px !important}
.al-blogintro > .wp-block-group__inner-container > * + *{margin-top:16px}
.al-blog-h1{font-size:clamp(38px,4.6vw,56px);max-width:720px}

.wp-block-group.al-sec.al-featsec{padding:0 24px 56px !important}
.al-featq .wp-block-post-template{list-style:none;margin:0;padding:0}
.al-featq .wp-block-post{background:#fff;border:1px solid var(--alc-line);border-radius:18px;overflow:hidden;
  display:flex;flex-wrap:wrap;transition:box-shadow .2s ease}
.al-featq .wp-block-post:hover{box-shadow:0 18px 40px rgba(46,26,71,.12)}
.al-feat-img{flex:1.2 1 440px;min-width:300px;margin:0}
.al-feat-img img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
.al-feat-body{flex:1 1 380px;min-width:300px;padding:clamp(28px,4vw,48px)}
.al-feat-body > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:16px;justify-content:center;height:100%;max-width:none;margin:0}
.al-feat-h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0}
.al-feat-h a{color:var(--alc-plum);text-decoration:none}
.al-feat-h a:hover{color:var(--alc-gold-deep)}
.al-feat-x{font-size:16px;line-height:1.7;color:var(--alc-muted);margin:0}

.wp-block-group.al-sec.al-recentsec{padding:0 24px clamp(64px,8vw,96px) !important}
.al-recentq .wp-block-post-template{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:28px;align-items:stretch}
.al-recentq .wp-block-post{background:#fff;border:1px solid var(--alc-line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}
.al-recentq .wp-block-post:hover{box-shadow:0 16px 34px rgba(46,26,71,.10);transform:translateY(-2px)}
.al-post-img{margin:0}
.al-post-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.al-post-body{padding:24px 26px 28px;flex:1}
.al-post-body > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:12px;height:100%;max-width:none;margin:0}
.al-post-h{font-family:var(--alc-serif);font-weight:600;font-size:23px;line-height:1.2;margin:0}
.al-post-h a{color:var(--alc-plum);text-decoration:none}
.al-post-h a:hover{color:var(--alc-gold-deep)}
.al-post-x{font-size:14.5px;line-height:1.65;color:var(--alc-muted);margin:0}
.al-post-date{font-size:13px;color:#6B6180;margin:0}
.al-noposts{font-size:15.5px;color:var(--alc-muted);margin:0}

.al-pager{margin-top:44px;gap:10px}
.al-pager .page-numbers,
.al-pager .wp-block-query-pagination-previous,
.al-pager .wp-block-query-pagination-next{min-width:44px;height:44px;border-radius:10px;border:1px solid #DED5EA;
  color:#3A2E4F;font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 14px;text-decoration:none;transition:border-color .2s ease}
.al-pager .page-numbers:hover,
.al-pager .wp-block-query-pagination-previous:hover,
.al-pager .wp-block-query-pagination-next:hover{border-color:var(--alc-gold)}
.al-pager .page-numbers.current{background:var(--alc-plum);border-color:var(--alc-plum);color:#fff;font-weight:800}


/* ==================================================================
   Single post. Rails come from Blog-Post.dc.html: 760 for the header,
   980 for the image, 700 for the reading column.
   ================================================================== */
.al-article{padding:clamp(56px,7vw,88px) 24px 0}
.al-article__head{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.al-article__date{font-size:13px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--alc-gold-deep);margin:0}
.al-article__title{font-family:var(--alc-serif);font-weight:600;font-size:clamp(34px,4.4vw,52px);line-height:1.1;color:var(--alc-plum);margin:0;text-wrap:balance}
.al-article__media{max-width:980px;margin:36px auto 0;aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.al-article__media img{display:block;width:100%;height:100%;object-fit:cover}
.al-article__body{max-width:700px;margin:40px auto 0;font-size:17px;line-height:1.8;color:#3A3346}
.al-article__body > *{margin:0}
.al-article__body > * + *{margin-top:22px}
.al-article__body h2{font-family:var(--alc-serif);font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.2;color:var(--alc-plum);margin:34px 0 0}
.al-article__body h3{font-family:var(--alc-serif);font-weight:600;font-size:23px;color:var(--alc-plum);margin:28px 0 0}
.al-article__body a{color:var(--alc-gold-deep)}
.al-article__body ul,.al-article__body ol{padding-left:22px}
.al-article__body li + li{margin-top:8px}
.al-article__body img{max-width:100%;height:auto;border-radius:12px}
.al-article__back{max-width:700px;margin:44px auto 0;padding-bottom:clamp(56px,7vw,80px)}
.al-article__back a{font-size:15px;font-weight:800;color:var(--alc-gold-deep);text-decoration:none}
.al-article__back a:hover{color:var(--alc-plum)}

.al-related{background:#fff;border-top:1px solid #EFE9F5;padding:clamp(56px,7vw,84px) 24px}
.al-related__inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:32px}
.al-related__h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(26px,3vw,34px);color:var(--alc-plum);margin:0}
.al-related__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.al-relcard{background:#fff;border:1px solid var(--alc-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:box-shadow .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}
.al-relcard:hover{box-shadow:0 16px 34px rgba(46,26,71,.10);transform:translateY(-2px)}
.al-relcard__img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.al-relcard__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.al-relcard__date{font-size:13px;color:#6B6180}
.al-relcard__t{font-family:var(--alc-serif);font-weight:600;font-size:21px;line-height:1.25;color:var(--alc-plum)}

/* ---------------------------------------------------------------------------
   Practice-area step cards.
   The mediation page's "Four steps" row sits on a white section, so .al-stepcard
   uses the cream fill to stand away from it. The practice-area designs put the
   same row on the cream page, where a cream card is invisible, so the design
   there specifies a white card, 26px of padding, and a larger gold numeral.
   Same component on different ground, so this is a modifier and the mediation
   page is untouched.
--------------------------------------------------------------------------- */
.al-stepcard-lg{background:#FFFFFF;padding:26px}
.al-stepcard-lg .al-stepnum{font-size:36px;font-weight:600;color:var(--alc-gold);line-height:1}
.al-stepcard-lg .al-card-h{font-size:22px}

/* ---------------------------------------------------------------------------
   Comparison table (Uncontested vs litigation, and any page that needs one).
   Built on the core table block rather than nested groups, so the rows stay
   editable in the editor. The group carries the border and the radius because
   a table cannot clip its own corners reliably.
--------------------------------------------------------------------------- */
.al-cmp{background:#fff;border:1px solid var(--alc-line);border-radius:14px;overflow:hidden}
.al-cmp > .wp-block-group__inner-container{max-width:none;margin:0}
.al-cmp figure.wp-block-table{margin:0}
.al-cmp table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.al-cmp thead tr{background:var(--alc-plum)}
.al-cmp thead th{padding:14px 22px;border:0;text-align:left;font-family:var(--alc-sans);
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#CFC3E2}
.al-cmp thead th:nth-child(2){color:var(--alc-gold)}
.al-cmp tbody td{padding:16px 22px;border:0;border-bottom:1px solid var(--alc-line);
  font-size:14.5px;line-height:1.6;color:#5B5269;vertical-align:top}
.al-cmp tbody tr:last-child td{border-bottom:0}
.al-cmp thead th:first-child{width:120px}
.al-cmp tbody td:first-child{font-size:13px;font-weight:800;color:var(--alc-gold-deep)}
.al-cmp tbody td:nth-child(2){color:var(--alc-plum);font-weight:700}
@media (max-width:640px){
  .al-cmp thead th,.al-cmp tbody td{padding:12px 12px}
  .al-cmp tbody td{font-size:13.5px}
  .al-cmp thead th:first-child{width:82px}
  .al-cmp tbody td:first-child{font-size:12px}
}

/* ---------------------------------------------------------------------------
   Contact band. The real form, at the foot of the pages people convert on,
   rather than a button that sends them somewhere else to find it.
   It carries the al-cta class so the footer's own CTA suppresses itself and
   nobody sees two in a row, but it overrides al-cta's narrow centred column.
--------------------------------------------------------------------------- */
.al-contactband > .wp-block-group__inner-container{max-width:1180px;text-align:left}
.al-cbcols{gap:clamp(32px,4vw,56px) !important;align-items:center}
.al-cbcols > .wp-block-column:first-child{flex:1 1 360px !important;min-width:290px}
.al-cbcols > .wp-block-column:last-child{flex:1.15 1 430px !important;min-width:300px}
.al-cb-h{font-family:var(--alc-serif);font-weight:600;font-size:clamp(30px,3.6vw,42px);
  line-height:1.12;color:#fff;margin:0}
.al-cb-p{font-size:16px;line-height:1.75;color:#CFC3E2;margin:16px 0 0}
.al-cb-phone{font-size:15px;line-height:1.7;color:#CFC3E2;margin:18px 0 0}
.al-cb-phone strong{color:#fff;font-weight:700}
.al-contactband .al-formcard{margin:0}
.al-contactband .al-form-h{font-size:22px}
@media (max-width:781px){
  .al-cbcols > .wp-block-column{flex-basis:100% !important}
  .al-cb-h{font-size:30px}
}

/* ---------------------------------------------------------------------------
   Kadence form fields.
   The earlier `.al-formcard .kb-field` rule (0,2,0) never won: Kadence ships
   `.kb-form-basic-style input[type="text"]` at (0,2,1), so the fields rendered
   in Kadence's default grey-on-white with 3px corners on every page carrying
   the form, including /contact-us/ since the day it was built.
   Kadence drives all of it from custom properties, so setting those is the
   clean fix. No specificity fight and no !important.
--------------------------------------------------------------------------- */
.al-formcard{
  --kb-form-v-padding:13px;
  --kb-form-h-padding:15px;
  --kb-form-border-radius:8px;
  --kb-form-font-size:15px;
  --kb-form-border-width:1px;
  --kb-form-border-color:#DED5EA;
  --kb-form-background-color:#FAF8F3;
}
/* focus needs to out-rank Kadence's own (0,2,1) focus rule */
.al-formcard .kb-form-basic-style .kb-field:focus,
.al-formcard .kb-form-basic-style select:focus,
.al-formcard .kb-form-basic-style textarea:focus{
  border-color:var(--alc-gold);
  background:#fff;
  outline:none;
}
/* The form's submit button shipped as a Kadence button: 3px corners, 18px text,
   7px padding. Every other button on the site is 8px, 15px, 14px/26px. */
.al-formcard .kb-form-basic-style .kb-adv-form-submit-button,
.al-formcard .kb-form-basic-style button.kb-button{
  border-radius:8px;
  padding:14px 26px;
  font-family:var(--alc-sans);
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  transition:background .2s ease,transform .25s cubic-bezier(.2,.7,.3,1);
}
.al-formcard .kb-form-basic-style .kb-adv-form-submit-button:hover{transform:translateY(-2px)}

/* ---------------------------------------------------------------------------
   Legal pages (disclaimer, terms, privacy). Header band with pill nav across
   the three, then a sticky contents card beside the numbered sections.
--------------------------------------------------------------------------- */
.al-legalhead{border-bottom:1px solid #EFE9F5;padding:clamp(56px,7vw,80px) 24px 36px !important}
.al-legalhead > .wp-block-group__inner-container{max-width:1080px;display:flex;flex-direction:column;gap:18px}
.al-legal-h1{font-family:var(--alc-serif);font-weight:600;font-size:clamp(36px,4.4vw,52px);
  line-height:1.1;color:var(--alc-plum);margin:0}
.al-legal-updated{font-size:14.5px;color:#6B6180;margin:0}
.al-legalpills{margin:4px 0 0}
.al-legalpills a,.al-legalpills strong{display:inline-block;font-size:13.5px;font-weight:700;
  padding:9px 20px;border-radius:99px;text-decoration:none;margin:0 8px 8px 0}
.al-legalpills a{border:1px solid var(--alc-line);color:#3A2E4F;background:transparent;
  transition:border-color .2s ease}
.al-legalpills a:hover{border-color:var(--alc-gold)}
.al-legalpills strong{background:var(--alc-plum);color:#fff;font-weight:700}
.al-legalbody{padding:clamp(40px,5vw,64px) 24px clamp(64px,8vw,96px) !important}
.al-legalbody > .wp-block-group__inner-container{max-width:1080px}
.al-legalcols{gap:clamp(36px,5vw,64px) !important;align-items:flex-start}
.al-legalcols > .wp-block-column:first-child{flex:0 1 280px !important;min-width:230px;
  position:sticky;top:24px}
.al-legalcols > .wp-block-column:last-child{flex:1 1 520px !important;min-width:290px;max-width:720px}
.al-legalnav{background:#fff;border:1px solid var(--alc-line);border-radius:14px;padding:24px !important}
.al-legalnav > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:11px;max-width:none;margin:0}
.al-legalnav .al-kicker{margin:0 0 3px}
.al-legalnav p{margin:0}
.al-legalnav a{font-size:14.5px;font-weight:600;color:#3A2E4F;text-decoration:none;line-height:1.45}
.al-legalnav a:hover{color:var(--alc-gold-deep)}
.al-legal-h2{font-family:var(--alc-serif);font-weight:600;font-size:27px;color:var(--alc-plum);
  margin:22px 0 0;scroll-margin-top:100px}
.al-legalcols > .wp-block-column:last-child > *:first-child{margin-top:0}
.al-legal-p{font-size:16px;line-height:1.8;color:#4A4258;margin:10px 0 0}
@media (max-width:781px){
  .al-legalcols > .wp-block-column:first-child{position:static;flex-basis:100% !important}
  .al-legalcols > .wp-block-column:last-child{flex-basis:100% !important}
}

/* ---------------------------------------------------------------------------
   Testimonials. Real Google reviews from her own listing, quoted verbatim and
   attributed. The design shipped two cards of placeholder text; these are the
   words actual clients wrote.
--------------------------------------------------------------------------- */
.al-tgrid > .wp-block-group__inner-container{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:none;margin:0}
.al-tcard{background:#fff;border:1px solid var(--alc-line);border-radius:14px;padding:26px !important}
.al-tcard > .wp-block-group__inner-container{display:flex;flex-direction:column;gap:12px;max-width:none;margin:0}
.al-tmark{font-family:var(--alc-serif);font-size:44px;line-height:0.6;color:var(--alc-gold);margin:0}
.al-tquote{font-family:var(--alc-serif);font-style:italic;font-size:19px;line-height:1.6;
  color:var(--alc-ink);margin:0}
.al-tby{font-size:13.5px;font-weight:800;color:var(--alc-plum);margin:0}
.al-tby span{font-weight:600;color:#6B6180}
.al-tnote{font-size:12.5px;line-height:1.6;color:#6B6180;margin:14px 0 0}

/* mobile readability + swipeable reviews */
@media(max-width:767px){
  .al-card-p,.al-val-p,.al-sec .al-card-dark .al-card-p{font-size:16px}
  .kb-advanced-form input,.kb-advanced-form select,.kb-advanced-form textarea{font-size:16px}
  .al-rev-viewport{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}
  .al-rev-viewport::-webkit-scrollbar{display:none}
  .al-rev-track > .wp-block-column{scroll-snap-align:start}
}
/* a11y contrast overrides */
:root{--al-gold-deep:#85630F;--alc-gold-deep:#85630F}
.al-kicker{color:#85630F}
.al-kicker.al-kicker-gold{color:#E8B93E}
a:focus-visible,button:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:2px solid #2E1A47;outline-offset:2px;box-shadow:0 0 0 5px #E8B93E}
.al-band a:focus-visible,.al-band button:focus-visible,.al-page-hero a:focus-visible,.al-contactband a:focus-visible,.al-footer a:focus-visible{outline-color:#E8B93E;box-shadow:0 0 0 5px rgba(232,185,62,.35)}
.al-formcard .kb-field:focus,.kb-advanced-form .kb-field:focus{outline:2px solid #2E1A47;outline-offset:1px;border-color:#2E1A47;box-shadow:0 0 0 4px rgba(232,185,62,.55)}
/* Our Story: the 40% side column now carries a portrait above the fact card, so
   it needs the same flex rhythm the text column already has. */
.al-journey > .wp-block-column:last-child{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,30px)}
.al-journey > .wp-block-column:last-child > *{margin:0}

/* Step cards, -lg variant (jury consulting + collaborative law): two per row
   with more padding. Four narrow columns read as crowded; two wide ones do not. */
.al-cards4:has(.al-stepcard-lg){flex-wrap:wrap!important;gap:clamp(18px,2.2vw,26px)}
.al-cards4:has(.al-stepcard-lg)>.wp-block-column{flex:0 0 calc(50% - 13px)}
.al-stepcard-lg{padding:clamp(26px,3vw,36px)}

/* Eight top-level nav items (Jury Consulting + Mediation both promoted): the
   30px gap overflows between 940 and ~1450, so the gap and, lower down, the
   type scale step down with the viewport instead of wrapping to a second row. */
.al-nav{gap:clamp(10px,1.4vw,24px)}
.al-page .al-nav__link,.al-page .al-nav__btn{white-space:nowrap}
@media (max-width:1360px){.al-page .al-nav__link,.al-page .al-nav__btn{font-size:14px}}
@media (max-width:1120px){.al-nav{gap:9px}.al-page .al-nav__link,.al-page .al-nav__btn{font-size:13px}}
