/*
Theme Name: GeneratePress Child - Ashley Wood Law
Description: Child theme for the Ashley Wood Law, P.C. build. Design tokens, shared chrome (header/nav/footer), and site-wide standards. Sources of truth: Design Guide - FULL SITE.md and full-site/site-chrome.js.
Template: generatepress
Version: 1.9.21
*/
/* Version scheme: 1.<session>.<patch> — bump on every zip rebuild so the
   WordPress replace screen always shows a newer uploaded version. */

/* ==========================================================================
   1. Design tokens (design_tokens.md)
   ========================================================================== */

:root {
  /* Core */
  --navy-deep:   #0B141B;
  --navy-mid:    #1F272D;
  --navy-light:  #2C3940;
  --gold:        #CEB594;
  --gold-light:  #DDD0B5;
  --gold-pale:   #EDE5D4;
  --charcoal:    #535353;
  --warm-gray:   #6F6C6A;
  --parchment:   #F2F2ED;
  --white:       #FFFFFF;

  /* Semantic */
  --divider:     rgba(206,181,148,0.22);
  --label-gray:  #5A5756;
  --text-dark:   #2A2A2A;

  /* Aliases */
  --color-bg:           #F2F2ED;
  --color-bg-alt:       #F2F2ED;
  --color-bg-dark:      #0B141B;
  --color-border:       rgba(206,181,148,0.22);
  --color-border-light: rgba(206,181,148,0.12);

  /* Spacing (8px base grid) */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  48px;
  --space-8:  64px;
  --space-9:  80px;
  --space-10: 96px;
  --space-11: 120px;

  /* Borders & radius — sharp corners are core to the aesthetic */
  --radius-none: 0;
  --border-width:       1px;
  --border-color:       rgba(206,181,148,0.22);
  --border-color-light: rgba(206,181,148,0.12);
  --card-accent-top:    3px solid #CEB594;
  --rule-left:          2px solid #CEB594;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;

  /* Z-index */
  --z-base:   0;
  --z-above:  1;
  --z-sticky: 100;
  --z-header: 200;
  --z-modal:  1000;
  --z-cookie: 10001;

  /* GP palette bridge — the Customizer's Global Colors panel renamed GP's
     default slots, so GP-generated CSS still referencing var(--accent),
     var(--contrast), var(--base*) resolved to nothing (invisible active nav
     item, un-colored body text/links). Map them to the design tokens here. */
  --accent:     #CEB594;   /* gold — content links, GP accent uses */
  --contrast:   #535353;   /* charcoal — body text, headings */
  --contrast-2: #6F6C6A;   /* warm gray — secondary text */
  --contrast-3: #6F6C6A;
  --base:       #FFFFFF;
  --base-2:     #F2F2ED;   /* parchment — GP uses this for the body bg */
  --base-3:     #FFFFFF;   /* white — GP content/card surfaces */
}

/* ==========================================================================
   2. Base / site-wide standards
   ========================================================================== */

body {
  background: var(--parchment);
}

/* Radius 0 everywhere; no box shadows (Design Guide section 8) */
button,
input,
select,
textarea,
.gb-button,
.wp-block-button__link {
  border-radius: 0;
  box-shadow: none;
}

/* Gold focus ring instead of default blue */
*:focus-visible {
  outline: 2px solid rgba(206,181,148,0.6);
  outline-offset: 2px;
}

/* Gold rule divider (48x1) */
.gold-rule {
  width: 48px;
  height: 1px;
  background: var(--gold);
}

/* iOS auto-zoom fix for form inputs — !important so it beats the WPForms
   0.9rem overrides (its entire purpose is to win at ≤600px) */
@media (max-width: 600px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   3. Primary CTA button — "Request a Consultation" (Design Guide section 4)
   ========================================================================== */

.awl-btn,
.gb-button,
.wp-block-button__link,
button[type="submit"] {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  color: var(--navy-deep);
  background: var(--gold);
  border: none;
  border-radius: 0;
  padding: 16px 32px;
  white-space: nowrap;
  /* GP's global a{text-decoration:underline} reaches anchor-buttons; its own
     exception list doesn't include these classes */
  text-decoration: none;
  transition: background var(--transition-base);
  cursor: pointer;
}

.awl-btn:hover,
.awl-btn:focus,
.gb-button:hover,
.gb-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
button[type="submit"]:hover,
button[type="submit"]:focus {
  background: var(--gold-light);
  color: var(--navy-deep);
  text-decoration: none;
}

/* Ghost / outline button (dark backgrounds) */
.awl-btn-ghost {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(221,208,181,0.7);
  background: transparent;
  border: 1px solid rgba(206,181,148,0.3);
  border-radius: 0;
  padding: 16px 28px;
  transition: color var(--transition-base), border-color var(--transition-base);
}

.awl-btn-ghost:hover {
  color: var(--gold-light);
  border-color: rgba(206,181,148,0.7);
  background: transparent;
}

/* ==========================================================================
   4. Header + navigation (site-chrome.js parity)
   ========================================================================== */

.site-header {
  background: var(--navy-deep);
  padding: 8px 48px;
  position: sticky;
  top: 0;
  z-index: var(--z-header);
}

.site-header .inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  padding: 0;
}

.site-header .site-logo img,
.site-header .site-logo svg {
  height: 128px;
  width: auto;
  max-height: none;
  display: block;
  opacity: 0.95;
}

/* Inline SVG lockup: width follows the 900:240 viewBox from the height */
.awl-logo-svg {
  aspect-ratio: 900 / 240;
}

/* Logo only — never the text site title/tagline next to it (also prevents
   header overflow on small viewports) */
.site-header .site-branding {
  display: none;
}

.site-header .site-branding-container {
  min-width: 0;
}

/* Desktop nav links */
.main-navigation {
  background: transparent;
}

.main-navigation .main-nav > ul > li {
  margin-left: 32px;
}

.main-navigation .main-nav ul li a {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(221,208,181,0.6);
  background: transparent;
  padding: 8px 0;
  line-height: normal;
  transition: color var(--transition-base);
}

/* Hover + active states — selectors mirror the Customizer-generated rules so
   the child theme (loaded later) always wins the cascade */
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .current-page-ancestor > a {
  color: var(--gold-light);
  background: transparent;
}

/* Shipped-chrome parity: plain nav links at an even 32px rhythm — no dropdown
   caret on desktop (it added 41.5px inside the Practice Areas link). Hover
   still opens the submenu; the caret keeps its expand role in the mobile
   drawer below 1200px. */
@media (min-width: 1201px) {
  .main-navigation .main-nav ul li.menu-item-has-children > a .dropdown-menu-toggle {
    display: none;
  }

  /* Single-row nav like the shipped chrome: GP's flex menu defaults to
     flex-wrap:wrap, which pushed the last item onto a second row in the
     1201-1274px squeeze band. nowrap makes items shrink so a long label
     wraps internally instead (site-chrome.js parity). */
  .main-navigation .main-nav > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
}

/* Dropdown (Practice Areas) */
.main-navigation ul ul {
  background: var(--navy-deep);
  border: 1px solid rgba(206,181,148,0.12);
  box-shadow: none;
  width: 240px;
}

.main-navigation .main-nav ul ul li {
  margin-left: 0;
}

.main-navigation .main-nav ul ul li a {
  font-size: 0.72rem;
  color: rgba(221,208,181,0.75);
  padding: 12px 20px;
}

.main-navigation .main-nav ul ul li a:hover,
.main-navigation .main-nav ul ul li.current-menu-item > a {
  color: var(--gold-light);
}

/* Mobile toggle (hamburger) — .main-navigation prefix matches the
   Customizer-generated selector so the gold-light color wins */
.main-navigation .menu-toggle {
  background: transparent;
  color: var(--gold-light);
  padding: 8px;
}

.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus,
button.menu-toggle:hover,
button.menu-toggle:focus {
  background: transparent;
  color: var(--gold-light);
  opacity: 1;
}

/* Mobile drawer (opens below header, site-chrome.js parity) */
@media (max-width: 1200px) {
  .site-header {
    padding: 8px 24px;
  }

  .main-navigation.toggled .main-nav > ul {
    background: var(--navy-deep);
    border-top: 1px solid rgba(206,181,148,0.1);
  }

  .main-navigation .main-nav ul li {
    margin-left: 0;
  }

  .main-navigation .main-nav ul li a {
    font-size: 0.85rem;
    padding: 16px 24px;
    border-bottom: 1px solid rgba(206,181,148,0.12);
  }
}

/* ==========================================================================
   5. Footer (site-chrome.js parity — GP Block Element "Site Footer")
   ========================================================================== */

.awl-footer {
  background: var(--navy-deep);
  padding: 24px 48px;
  border-top: 1px solid rgba(206,181,148,0.08);
  font-family: 'Jost', sans-serif;
}

.awl-footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}

.awl-footer-logo {
  text-decoration: none;
  flex-shrink: 0;
}

.awl-footer-logo img,
.awl-footer-logo svg {
  height: 128px;
  width: auto;
  display: block;
  opacity: 0.9;
}

.awl-footer-meta {
  text-align: right;
}

.awl-footer-meta p {
  margin: 0;
  line-height: 1.9;
}

.awl-footer-contact {
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(242,242,237,0.55);
  margin-bottom: 18px !important;
}

.awl-footer-contact a {
  color: rgba(242,242,237,0.55);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-footer-contact a[href^="tel:"] {
  white-space: nowrap;
}

.awl-footer-legal {
  font-size: 0.72rem;
  font-weight: 300;
  white-space: nowrap;
  color: rgba(242,242,237,0.4);
}

.awl-footer-legal a {
  color: rgba(242,242,237,0.4);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-footer-contact a:hover,
.awl-footer-legal a:hover {
  color: var(--gold-light);
}

.awl-footer-copyright {
  font-size: 0.7rem;
  font-weight: 300;
  color: rgba(242,242,237,0.3);
  margin-top: 8px !important;
}

/* ==========================================================================
   6. Shared responsive steps (header + footer move together)
   ========================================================================== */

@media (max-width: 1200px) {
  .awl-footer {
    padding: 24px 24px;
  }
}

@media (max-width: 900px) {
  .awl-footer {
    padding: 32px 24px;
  }

  .awl-footer-inner {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }

  .awl-footer-meta {
    text-align: center;
  }
}

@media (max-width: 760px) {
  .site-header .site-logo img,
  .site-header .site-logo svg,
  .awl-footer-logo img,
  .awl-footer-logo svg {
    height: 96px;
  }
}

@media (max-width: 480px) {
  .site-header .site-logo img,
  .site-header .site-logo svg,
  .awl-footer-logo img,
  .awl-footer-logo svg {
    height: 80px;
  }
}

/* ==========================================================================
   7a. Page canvas — sections own their spacing; GP page chrome stripped
   ========================================================================== */

html,
body {
  overflow-x: clip;
}

.page .entry-header {
  display: none;
}

/* Design has no sidebars on pages — force full-width content so .awl-bleed
   breakouts center correctly (proper fix: Customizer → Layout → Sidebars →
   No Sidebar; this rule keeps the canvas correct regardless) */
.page .site-content {
  display: block;
}

.page .content-area {
  width: 100%;
  float: none;
}

.page .widget-area {
  display: none;
}

.page .inside-article {
  padding: 0;
  background-color: transparent;
}

/* GP adds margin-top: 2em to .entry-content when it isn't the first child —
   the hidden .entry-header still counts, leaving a parchment gap between the
   header and full-bleed heroes. Sections own all vertical rhythm. */
.page .inside-article .entry-content {
  margin-top: 0;
}

.page.separate-containers .site-main {
  margin: 0;
}

/* Full-width breakout inside the GP container */
.awl-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Content section rhythm (approved July 5 standard: 48px desktop, 32/24 mobile).
   Max-width pins the design's 1100px column even if the GP container is wider
   (live Customizer has 1200 — gp_settings.md says 1100; flagged in the log) */
.awl-section {
  padding: 48px 24px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.awl-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.awl-label::before {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: var(--gold);
}

.awl-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.15;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.awl-h2 em {
  font-style: italic;
}

.awl-h2-narrow {
  max-width: 500px;
}

.awl-h2-mid {
  max-width: 560px;
}

/* One primary 2.8rem H2 per page (intro section) */
.awl-h2-primary {
  font-size: 2.8rem;
  max-width: 560px;
}

@media (max-width: 1200px) {
  /* Shipped chrome drops all section H2s to 2rem below 1200 */
  .awl-h2,
  .awl-h2-primary {
    font-size: 2rem;
  }
}

.awl-intro {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
  max-width: 640px;
  margin-bottom: 32px;
}

.awl-more-wrap {
  padding-top: 20px;
}

.awl-more {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--navy-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 2px;
}

@media (max-width: 768px) {
  .awl-section {
    padding: 32px 24px;
  }
}

/* ==========================================================================
   7b. Home hero (full-site Home ground truth)
   ========================================================================== */

.awl-hero {
  background: var(--navy-deep);
  padding: 108px 80px 96px;
  position: relative;
  overflow: hidden;
  min-height: 760px;
  display: flex;
  align-items: center;
}

.awl-hero-portrait {
  position: absolute;
  top: -240px;
  right: 0;
  /* shipped spec — fills to the hero's bottom edge; the class selector
     outweighs GP's `img { height: auto }` */
  height: calc(100% + 240px);
  width: 68%;
  object-fit: cover;
  object-position: 22% 18%;
  display: block;
}

.awl-hero-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #0B141B 20%, rgba(11,20,27,0.85) 36%, rgba(11,20,27,0.18) 62%, rgba(11,20,27,0.04) 80%, rgba(11,20,27,0.6) 92%, #0B141B 100%);
  z-index: 1;
}

.awl-hero::before {
  content: '';
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(206,181,148,0.05);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}

.awl-hero::after {
  content: '';
  position: absolute;
  right: 60px;
  bottom: 60px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(206,181,148,0.03);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}

.awl-hero-inner {
  max-width: 560px;
  position: relative;
  z-index: 3;
}

.awl-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.8rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 28px;
  max-width: 720px;
  text-shadow: 0 2px 24px rgba(11,20,27,0.5);
}

.awl-hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-hero-tagline {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.85;
  margin-bottom: 36px;
}

.awl-hero .gold-rule {
  margin: 0 0 36px;
}

.awl-hero-lead {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.75);
  max-width: 600px;
  margin-bottom: 32px;
}

.awl-hero-cta-wrap {
  display: inline-flex;
  flex-direction: column;
  /* content-width CTA in every hero: the default stretch would size the
     button to the wrap's widest child (the location line) — the confirmed
     Resources-hero bug, shared by Home/PA/Our Firm via this class */
  align-items: flex-start;
  margin-top: 44px;
}

.awl-hero-loc {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-family: 'Jost', sans-serif;
  font-size: 0.7rem; /* approved exception to the 0.72rem floor (hero location tag) */
  font-weight: 300;
  letter-spacing: 0.12em;
  color: rgba(206,181,148,0.65);
  margin-top: 16px;
  margin-bottom: 0;
}

@media (max-width: 1200px) {
  .awl-hero {
    padding: 0;
    min-height: auto;
    flex-direction: column;
  }

  .awl-hero-grad {
    display: none;
  }

  .awl-hero-portrait {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 480px;
    object-position: 50% 2%;
    margin-top: -80px;
  }

  .awl-hero-inner {
    position: relative;
    z-index: 2;
    padding: 28px 32px 56px;
    background: var(--navy-deep);
  }

  .awl-hero h1 {
    font-size: 2.4rem;
  }

  .awl-hero-lead {
    font-size: 0.95rem;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .awl-hero-portrait {
    height: 380px;
    object-position: 50% 6%;
  }

  .awl-hero-inner {
    padding: 24px 24px 48px;
  }

  .awl-hero h1 {
    font-size: 1.9rem;
  }

  .awl-hero-cta-wrap {
    width: 100%;
  }

  .awl-hero-cta-wrap .awl-btn {
    width: 100%;
    padding: 16px;
  }
}

/* ==========================================================================
   7c. Home practice-area tile grid
   ========================================================================== */

.awl-practice-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid var(--divider);
}

.awl-tile {
  background: var(--white);
  padding: 24px 20px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  transition: background var(--transition-base);
  border-right: 1px solid var(--divider);
  border-bottom: 1px solid var(--divider);
}

.awl-tile:hover {
  background: var(--parchment);
}

.awl-tile-icon {
  display: block;
  margin-bottom: 12px;
  opacity: 0.55;
  transition: opacity var(--transition-base);
}

.awl-tile:hover .awl-tile-icon {
  opacity: 0.9;
}

.awl-tile-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 6px;
  transition: color var(--transition-base);
}

.awl-tile:hover .awl-tile-name {
  color: var(--gold);
}

.awl-tile-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--charcoal);
  opacity: 0.8;
  margin: 8px 0 0;
}

.awl-tile-link {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-top: auto;
  padding-top: 16px;
}

@media (max-width: 1200px) {
  .awl-practice-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .awl-practice-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   7f. Intro section — stats grid + credentials strip (Home)
   ========================================================================== */

.awl-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--divider);
  border: 1px solid var(--divider);
}

.awl-stat {
  background: var(--navy-deep);
  padding: 36px 28px;
}

.awl-stat-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3rem;
  font-weight: 300;
  color: var(--white);
  line-height: 1;
  margin-bottom: 12px;
}

.awl-stat-num sup {
  font-size: 1.2rem;
  font-weight: 300;
  color: var(--gold);
  vertical-align: super;
  margin-left: 3px;
  opacity: 0.85;
}

.awl-stat-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.awl-stat-note {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--white);
  margin-bottom: 6px;
}

.awl-stat-desc {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.65);
  margin: 0;
}

.awl-cred-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--divider);
  border: 1px solid var(--divider);
  border-top: 2px solid rgba(206,181,148,0.4);
}

.awl-cred {
  background: var(--navy-mid);
  padding: 22px 28px;
}

.awl-cred-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
  margin-bottom: 5px;
}

.awl-cred-value {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--gold-light);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 1200px) {
  .awl-stats-grid,
  .awl-cred-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .awl-cred-strip {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   7g. Pillars + process trio (Home) — gold-tint 0.15 grid dividers
   ========================================================================== */

.awl-pillars-grid,
.awl-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(206,181,148,0.15);
  border: 1px solid rgba(206,181,148,0.15);
}

.awl-pillar {
  background: var(--navy-light);
  padding: 40px 36px;
  position: relative;
  overflow: hidden;
}

.awl-pillar-ghost {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 8rem;
  font-weight: 300;
  color: var(--white);
  opacity: 0.04;
  position: absolute;
  top: -12px;
  right: 20px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  margin: 0;
}

.awl-pillar-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  position: relative;
}

.awl-pillar-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--white);
  margin-bottom: 12px;
  position: relative;
}

.awl-pillar-body {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.65);
  position: relative;
  margin: 0;
}

.awl-step {
  background: var(--navy-mid);
  padding: 40px 36px;
}

.awl-step-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 20px;
}

.awl-step-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
  margin-bottom: 10px;
}

.awl-step-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--white);
  margin-bottom: 12px;
}

.awl-step-body {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.6);
  margin: 0;
}

@media (max-width: 1200px) {
  .awl-pillars-grid,
  .awl-process-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   7h. Pull-quote (Home — no section label, per approved reorder)
   ========================================================================== */

.awl-pullquote {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.awl-pullquote .gold-rule {
  margin: 0 auto 32px;
}

.awl-pullquote blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.4;
  color: var(--navy-deep);
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

.awl-pullquote cite {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  font-style: normal;
}

@media (max-width: 1200px) {
  .awl-pullquote blockquote {
    font-size: 1.6rem;
  }
}

/* ==========================================================================
   7d. Testimonials (static grid — Home)
   ========================================================================== */

.awl-testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.awl-testi-card {
  background: var(--white);
  padding: 36px 32px;
  border: 1px solid var(--divider);
}

.awl-testi-mark {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 12px;
  opacity: 0.6;
}

.awl-testi-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.7;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.awl-testi-foot {
  border-top: 1px solid var(--divider);
  padding-top: 16px;
}

.awl-testi-attr {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin: 0;
}

@media (max-width: 1200px) {
  .awl-testi-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ==========================================================================
   7e. Closing CTA band (canonical synced pattern — wp_block 69)
   ========================================================================== */

.awl-cta-band {
  background: var(--navy-mid);
  padding: 72px 80px;
}

.awl-cta-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 80px;
  align-items: center;
}

.awl-cta-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 300;
  line-height: 1.2;
  color: var(--parchment);
  margin-bottom: 32px;
}

.awl-cta-body {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.55);
  margin-bottom: 20px;
}

.awl-cta-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.82rem;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: rgba(242,242,237,0.3);
  margin: 0;
}

.awl-cta-sub a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-base);
}

.awl-cta-sub a:hover {
  color: var(--gold);
}

@media (max-width: 1200px) {
  .awl-cta-band {
    padding: 48px 32px;
  }

  .awl-cta-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ==========================================================================
   7i. Practice Areas — shared (page header, stripe, quicknav, pull-quote)
   ========================================================================== */

.awl-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.awl-ph {
  background: var(--navy-deep);
  padding: 56px 80px 48px;
  position: relative;
  overflow: hidden;
}

.awl-ph--index {
  padding: 64px 80px 56px;
}

/* Concentric circles — detail pages only */
.awl-ph--detail::before {
  content: '';
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(206,181,148,0.05);
  border-radius: 50%;
  pointer-events: none;
}

.awl-ph--detail::after {
  content: '';
  position: absolute;
  right: 60px;
  bottom: 60px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(206,181,148,0.03);
  border-radius: 50%;
  pointer-events: none;
}

.awl-ph-inner {
  max-width: 680px;
  position: relative;
  z-index: 1;
}

.awl-ph-inner--wide {
  max-width: 720px;
}

.awl-ph h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 20px;
}

.awl-ph--index h1 {
  font-size: 3.2rem;
  margin-bottom: 28px;
}

.awl-ph h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-ph .awl-hero-tagline {
  margin: 0 0 20px;
}

.awl-ph .gold-rule {
  margin: 0 0 24px;
}

.awl-ph-lead {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.65);
  max-width: 580px;
}

.awl-ph--index .awl-ph-lead {
  max-width: 600px;
}

/* Index hero: two-column flex with the typographic index side panel */
.awl-ph-flex {
  display: flex;
  gap: 72px;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  max-width: 1560px;
}

.awl-pa-side {
  flex: 0 1 660px;
  min-width: 500px;
  margin-top: 14px;
  background: rgba(206,181,148,0.05);
  border: 1px solid rgba(206,181,148,0.18);
  padding: 30px 40px 20px;
}

.awl-pa-side-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.awl-pa-index-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  column-gap: 40px;
}

.awl-pa-index-list a {
  display: flex;
  align-items: baseline;
  gap: 14px;
  white-space: nowrap;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  color: rgba(242,242,237,0.82);
  text-decoration: none;
  padding: 10.5px 0;
  border-bottom: 1px solid rgba(206,181,148,0.10);
  transition: color var(--transition-base), padding-left var(--transition-base);
}

.awl-pa-index-list a:nth-child(5),
.awl-pa-index-list a:nth-child(10) {
  border-bottom: none;
}

.awl-pa-index-list a::after {
  content: '\2192';
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem;
  color: var(--gold);
  opacity: 0.45;
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.awl-pa-index-list a:hover {
  color: var(--gold-light);
  padding-left: 6px;
}

.awl-pa-index-list a:hover::after {
  opacity: 1;
}

.awl-pa-approach-line {
  display: block;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(206,181,148,0.25);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.98rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(242,242,237,0.62);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-pa-approach-line:hover {
  color: var(--gold-light);
}

.awl-pa-approach-line-label {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

/* Plain section label (no dash — PA family) */
.awl-plabel {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
  display: block;
}

/* Closing stripe — canonical for Practice Areas family (navy-deep, 280/1fr) */
.awl-stripe {
  background: var(--navy-deep);
  padding: 48px 80px;
}

.awl-stripe-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 72px;
  align-items: center;
}

.awl-stripe-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(206,181,148,0.65);
  display: block;
}

.awl-stripe h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--white);
  line-height: 1.3;
}

.awl-stripe .awl-btn {
  display: inline-block;
  margin-top: 24px;
}

.awl-stripe-body {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  color: rgba(242,242,237,0.55);
  line-height: 1.85;
}

.awl-stripe-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: rgba(242,242,237,0.4);
  line-height: 1.85;
  margin-top: 12px;
}

.awl-stripe-sub a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

/* Contact-link hover affordance (shipped-parity, site-wide): tel/mailto
   links warm to gold on hover everywhere except styled buttons */
a[href^="tel:"]:not(.awl-btn):not(.awl-lg-cc-phone):hover,
a[href^="mailto:"]:not(.awl-btn):hover {
  color: var(--gold) !important;
  transition: color 0.2s;
}

/* PA pull-quote variant (after the stripe on the index) */
.awl-pullquote--pa blockquote {
  font-size: 1.55rem;
  line-height: 1.65;
}

.awl-pullquote--pa {
  max-width: 740px;
}

.awl-pullquote--pa cite {
  color: var(--warm-gray);
}

.awl-pullquote--pa .gold-rule {
  margin-bottom: 36px;
}

/* Floating quick-nav (index — JS in child theme) */
.awl-quicknav {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.awl-quicknav[hidden] {
  display: none;
}

.awl-quicknav-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--navy-deep);
  color: var(--gold-light);
  border: 1px solid rgba(206,181,148,0.30);
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 13px 20px;
  cursor: pointer;
  box-shadow: 0 6px 24px rgba(11,20,27,0.28);
  transition: background var(--transition-base);
}

.awl-quicknav-btn:hover {
  background: #12222e;
  color: var(--gold-light);
}

.awl-quicknav-dots {
  font-size: 0.9rem;
  line-height: 1;
}

.awl-quicknav-panel {
  display: none;
  flex-direction: column;
  width: 258px;
  margin-bottom: 12px;
  background: var(--navy-deep);
  border: 1px solid rgba(206,181,148,0.22);
  box-shadow: 0 12px 40px rgba(11,20,27,0.42);
  padding: 20px 22px 6px;
}

.awl-quicknav.open .awl-quicknav-panel {
  display: flex;
}

.awl-quicknav-head {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 8px;
}

.awl-quicknav-panel a {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  color: rgba(242,242,237,0.82);
  text-decoration: none;
  padding: 9px 0;
  border-bottom: 1px solid rgba(206,181,148,0.08);
  transition: color var(--transition-base);
}

.awl-quicknav-panel a:last-child {
  border-bottom: none;
}

.awl-quicknav-panel a:hover {
  color: var(--gold-light);
}

@media (max-width: 1360px) {
  .awl-pa-side {
    flex: 0 0 480px;
    min-width: 0;
  }
}

@media (max-width: 1200px) {
  .awl-pa-side {
    display: none;
  }

  .awl-ph-flex {
    display: block;
  }
}

@media (max-width: 960px) {
  .awl-ph {
    padding: 48px 24px 40px;
  }

  .awl-ph h1 {
    font-size: 2.2rem;
  }

  .awl-ph--index {
    padding: 48px 24px 40px;
  }

  .awl-ph--index h1 {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }

  .awl-ph-lead,
  .awl-ph--index .awl-ph-lead {
    font-size: 0.95rem;
    max-width: 100%;
  }

  .awl-quicknav {
    right: 16px;
    bottom: 16px;
  }

  .awl-quicknav-panel {
    width: min(258px, calc(100vw - 32px));
  }

  .awl-ph .awl-hero-cta-wrap {
    margin-top: 24px;
  }

  .awl-stripe {
    padding: 40px 24px;
  }

  .awl-stripe-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 480px) {
  .awl-ph h1 {
    font-size: 1.85rem;
  }

  .awl-ph--index h1 {
    font-size: 2rem;
  }

  .awl-pullquote--pa blockquote {
    font-size: 1.15rem;
  }

  .awl-ph .awl-hero-cta-wrap,
  .awl-ph .awl-hero-cta-wrap .awl-btn {
    width: 100%;
  }
}

/* ==========================================================================
   7j. Practice Areas index (page 14)
   ========================================================================== */

.awl-pa-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 80px 48px;
}

.awl-pa-intro p {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
}

.awl-count-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 40px 0 28px;
}

.awl-count-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  flex-shrink: 0;
}

.awl-count-rule {
  flex: 1;
  height: 1px;
  background: var(--divider);
}

.awl-pa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--divider);
  border: 1px solid var(--divider);
  margin-bottom: 48px;
}

.awl-pa-card {
  background: var(--white);
  padding: 28px 32px;
  text-decoration: none;
  display: block;
  transition: background var(--transition-base);
  border-top: 3px solid var(--gold);
}

.awl-pa-card:hover {
  background: var(--parchment);
}

.awl-pa-card-icon {
  display: block;
  opacity: 0.8;
  margin-bottom: 14px;
  transition: opacity var(--transition-base);
  width: 36px;
  height: 36px;
}

.awl-pa-card:hover .awl-pa-card-icon {
  opacity: 1;
}

.awl-pa-card-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin: 0 0 8px;
  line-height: 1.2;
}

.awl-pa-card-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--charcoal);
  margin-bottom: 16px;
}

.awl-pa-card-link {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--navy-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 2px;
  display: inline-block;
}

.awl-approach-outer {
  background: var(--navy-mid);
}

.awl-approach {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding: 48px 80px;
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}

.awl-approach-text h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.22;
  color: var(--white);
  margin-bottom: 24px;
}

.awl-approach-text h2 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-approach-text p {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.6);
  margin-bottom: 20px;
}

.awl-approach-text p:last-of-type {
  margin-bottom: 0;
}

.awl-values {
  display: flex;
  flex-direction: column;
}

.awl-value {
  display: flex;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(206,181,148,0.15);
}

.awl-value:first-child {
  padding-top: 0;
}

.awl-value:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.awl-value-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  padding-top: 2px;
  flex-shrink: 0;
  width: 32px;
}

.awl-value-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--white);
  margin-bottom: 6px;
}

.awl-value-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.5);
}

.awl-approach-res {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 80px 24px;
  border-top: 1px solid rgba(206,181,148,0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.awl-approach-res-text p {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
  margin-bottom: 8px;
}

.awl-approach-res-text span {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(242,242,237,0.5);
}

.awl-approach-res-link {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(206,181,148,0.35);
  padding-bottom: 2px;
  transition: border-color var(--transition-base), color var(--transition-base);
  flex-shrink: 0;
}

.awl-approach-res-link:hover {
  color: var(--gold-light);
  border-color: var(--gold-light);
}

@media (max-width: 960px) {
  .awl-pa-wrap {
    padding: 32px 24px 40px;
  }

  .awl-pa-grid {
    grid-template-columns: 1fr;
  }

  .awl-approach {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 32px 24px;
  }

  .awl-approach-res {
    padding: 24px 24px 32px;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .awl-pa-card {
    padding: 24px 20px;
  }

  .awl-approach-text h2 {
    font-size: 1.75rem;
  }
}

/* ==========================================================================
   7k. Practice-area detail template
   ========================================================================== */

.awl-detail {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 72px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 56px 80px 64px;
  align-items: start;
}

.awl-dmain {
  min-width: 0;
}

.awl-dmain h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.awl-dmain h2 em {
  font-style: italic;
  color: var(--charcoal);
}

.awl-dmain > p {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
  margin-bottom: 16px;
}

.awl-divider {
  height: 1px;
  background: var(--divider);
  margin: 28px 0;
}

.awl-steps {
  display: flex;
  flex-direction: column;
}

.awl-step-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--divider);
  align-items: start;
}

.awl-step-row:first-child {
  padding-top: 0;
}

.awl-step-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.awl-step-no {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
}

/* Icon variant of the number slot (custody types / support factors) */
.awl-step-no--icon {
  display: block;
  padding-top: 2px;
  font-size: 0;
}

.awl-step-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.65rem;
  font-weight: 500;
  color: var(--gold);
  line-height: 1.25;
  margin-bottom: 10px;
}

.awl-step-text {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--warm-gray);
}

.awl-faq {
  display: flex;
  flex-direction: column;
}

.awl-faq-item {
  padding: 28px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-faq-item:first-child {
  padding-top: 0;
}

.awl-faq-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.awl-faq-q {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.3;
  margin-bottom: 16px;
  padding-left: 16px;
  border-left: 2px solid var(--gold);
}

.awl-faq-a {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--charcoal);
}

.awl-dside {
  position: sticky;
  top: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.awl-cta-card {
  background: var(--navy-deep);
  padding: 36px 32px;
}

.awl-cta-card-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
  margin-bottom: 16px;
}

.awl-cta-card h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--white);
  line-height: 1.3;
  margin-bottom: 16px;
}

.awl-key-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
}

.awl-key-item {
  font-family: 'Jost', sans-serif;
  font-size: 0.8125rem;
  font-weight: 300;
  color: rgba(242,242,237,0.55);
  line-height: 1.5;
  padding-left: 12px;
  border-left: 1px solid rgba(206,181,148,0.3);
  margin: 0;
}

.awl-cta-note {
  font-family: 'Jost', sans-serif;
  font-size: 0.8125rem;
  font-weight: 300;
  color: rgba(242,242,237,0.55);
  line-height: 1.75;
  margin-bottom: 20px;
}

.awl-cta-card .awl-btn {
  display: block;
  text-align: center;
}

.awl-cta-phone {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.7rem;
  font-weight: 300;
  color: rgba(206,181,148,0.45);
  text-align: center;
  margin-top: 12px;
  letter-spacing: 0.06em;
  text-decoration: none;
}

.awl-cta-divider {
  height: 1px;
  background: rgba(206,181,148,0.22);
  margin: 24px 0;
}

.awl-related {
  background: var(--white);
  border: 1px solid var(--divider);
  padding: 28px;
}

.awl-related-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 16px;
}

.awl-related-list {
  display: flex;
  flex-direction: column;
}

.awl-related-list a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(206,181,148,0.15);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--navy-deep);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-related-list a:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.awl-related-list a:hover {
  color: var(--charcoal);
}

.awl-related-list svg {
  flex-shrink: 0;
  opacity: 0.45;
}

.awl-ccard {
  background: var(--parchment);
  border: 1px solid var(--divider);
  padding: 24px 28px;
}

.awl-ccard-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 14px;
}

.awl-ccard-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--navy-deep);
  margin-bottom: 8px;
}

.awl-ccard-loc {
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  color: var(--charcoal);
  line-height: 1.8;
  margin-bottom: 4px;
}

.awl-ccard a {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  color: var(--charcoal);
  text-decoration: none;
  transition: color var(--transition-base);
  margin-bottom: 4px;
}

.awl-ccard a:last-child {
  margin-bottom: 0;
}

.awl-ccard a:hover {
  color: var(--gold);
}

.awl-area-nav {
  border-top: 1px solid var(--divider);
  background: var(--parchment);
}

.awl-area-nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.awl-area-nav a {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-area-nav a:hover {
  color: var(--gold);
}

.awl-area-nav-index {
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--warm-gray);
}

@media (max-width: 960px) {
  .awl-detail {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 24px 48px;
  }

  .awl-dside {
    position: static;
  }

  .awl-area-nav-inner {
    padding: 16px 24px;
  }
}

@media (max-width: 480px) {
  .awl-detail {
    padding: 32px 20px 40px;
  }

  .awl-area-nav-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .awl-step-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .awl-step-no {
    font-size: 1.1rem;
    width: auto;
    margin-bottom: 4px;
  }
}

/* ==========================================================================
   7l. Our Firm (page 26)
   ========================================================================== */

.awl-of-hero {
  background: var(--navy-deep);
  padding: 64px 80px 56px;
  position: relative;
  overflow: hidden;
}

.awl-of-hero::before {
  content: '';
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(206,181,148,0.08);
  border-radius: 50%;
  pointer-events: none;
}

.awl-of-hero::after {
  content: '';
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(206,181,148,0.05);
  border-radius: 50%;
  pointer-events: none;
}

.awl-of-hero-flex {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 72px;
  align-items: flex-start;
  justify-content: space-between;
}

.awl-of-hero-main {
  max-width: 620px;
  flex: 1 1 auto;
}

.awl-of-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 28px;
  max-width: 680px;
}

.awl-of-hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-of-hero .awl-hero-tagline {
  margin: 0 0 20px;
}

.awl-of-hero .gold-rule {
  margin: 0 0 24px;
}

.awl-of-lead {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.65);
  max-width: 580px;
}

/* Hero testimonial rotator card */
.awl-testi-frame {
  flex: 0 0 50%;
  min-width: 380px;
  border: 1px solid rgba(206,181,148,0.18);
  padding: 32px 34px 28px;
  background: var(--navy-mid);
}

.awl-testi-frame-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}

.awl-testi-frame [data-testimonial-rotator] {
  min-height: 200px;
}

.awl-testi-frame-note {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(242,242,237,0.45);
  margin-top: 20px;
  letter-spacing: 0.06em;
}

.awl-of-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 80px 0;
}

/* Approach: 2-col with I/II/III value rows */
.awl-of-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--divider);
  align-items: start;
}

.awl-of-2col h2,
.awl-of-bio h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.22;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.awl-of-2col h2 em,
.awl-of-bio h2 em {
  font-style: italic;
  color: var(--charcoal);
}

.awl-of-copy {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
  margin-bottom: 20px;
}

.awl-of-copy--gap {
  margin-bottom: 40px;
}

.awl-of-vals {
  padding-top: 8px;
}

.awl-of-val {
  display: flex;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-of-val:first-child {
  padding-top: 0;
}

.awl-of-val:last-child {
  border-bottom: none;
}

.awl-of-val-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  padding-top: 2px;
  flex-shrink: 0;
  width: 32px;
}

.awl-of-val-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 6px;
}

.awl-of-val-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.85rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--warm-gray);
  margin: 0;
}

/* Bio: sticky photo+credentials left, bio+tables right */
.awl-of-bio {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 72px;
  padding: 48px 0;
  border-bottom: 1px solid var(--divider);
  align-items: start;
}

.awl-of-photo-col {
  position: sticky;
  top: 32px;
}

.awl-of-portrait {
  width: 100%;
  height: 460px;
  object-fit: cover;
  object-position: 68% center;
  display: block;
}

.awl-of-creds {
  background: var(--navy-deep);
  padding: 32px 28px;
}

.awl-of-creds-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 400;
  color: var(--white);
  margin-bottom: 4px;
}

.awl-of-creds-role {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
}

.awl-of-creds-divider {
  height: 1px;
  background: var(--divider);
  margin-bottom: 24px;
}

.awl-of-cred-group {
  margin-bottom: 20px;
}

.awl-of-cred-group:last-child {
  margin-bottom: 0;
}

.awl-of-cred-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(206,181,148,0.75);
  margin-bottom: 5px;
}

.awl-of-cred-value {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--gold-light);
  line-height: 1.5;
  margin: 0;
}

.awl-badge {
  display: inline-block;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 5px 12px;
  margin-top: 6px;
}

.awl-of-rows {
  border-top: 1px solid var(--divider);
}

.awl-of-row {
  padding: 18px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-of-row-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
}

.awl-of-row-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.3;
  margin: 0;
}

.awl-of-row-tag {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  flex-shrink: 0;
  margin: 0;
}

.awl-of-row-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.85rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--warm-gray);
  margin: 6px 0 0;
}

.awl-of-rows-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 2px;
}

.awl-of-rows-label--spaced {
  margin-top: 40px;
}

/* Practice-areas chip stripe (full-bleed navy-mid) */
.awl-of-chips-stripe {
  background: var(--navy-mid);
  padding: 64px 80px;
}

.awl-of-chips-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.awl-of-chips-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.awl-of-chips-h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 400;
  color: var(--white);
  margin-bottom: 36px;
}

.awl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.awl-chips a {
  display: inline-block;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--gold-light);
  border: 1px solid rgba(206,181,148,0.28);
  padding: 8px 18px;
  transition: color var(--transition-base), border-color var(--transition-base);
}

.awl-chips a:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* Our Firm pull-quote (1.75rem — shipped value differs from Home's 1.85) */
.awl-of-quote {
  padding: 48px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-pullquote--of {
  max-width: 720px;
}

.awl-pullquote--of blockquote {
  font-size: 1.75rem;
  line-height: 1.45;
}

@media (max-width: 960px) {
  .awl-of-hero {
    padding: 48px 32px;
  }

  .awl-of-hero-flex {
    flex-direction: column;
    gap: 48px;
  }

  .awl-testi-frame {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
  }

  .awl-of-wrap {
    padding: 56px 32px 0;
  }

  .awl-of-2col {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .awl-of-bio {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .awl-of-chips-stripe {
    padding: 48px 32px;
  }
}

@media (max-width: 640px) {
  .awl-of-hero {
    padding: 40px 24px;
  }

  .awl-of-hero h1 {
    font-size: 2.4rem;
  }

  .awl-of-wrap {
    padding: 44px 24px 0;
  }

  .awl-of-chips-stripe {
    padding: 40px 24px;
  }
}

/* ==========================================================================
   7m. Contact (page 29)
   ========================================================================== */

.awl-c-hero {
  background: var(--navy-deep);
  padding: 80px 80px 72px;
  position: relative;
  overflow: hidden;
}

.awl-c-hero::before {
  content: '';
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(206,181,148,0.07);
  border-radius: 50%;
  pointer-events: none;
}

.awl-c-hero::after {
  content: '';
  position: absolute;
  right: 60px;
  bottom: 60px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(206,181,148,0.04);
  border-radius: 50%;
  pointer-events: none;
}

.awl-c-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
}

.awl-c-hero-left {
  flex: 1;
  min-width: 0;
  padding-right: 72px;
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.awl-c-hero .awl-eyebrow {
  letter-spacing: 0.24em;
  font-weight: 400;
}

.awl-c-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 28px;
}

.awl-c-hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-c-hero .awl-hero-tagline {
  margin: 20px 0 32px;
}

.awl-c-hero .gold-rule {
  margin: 0 0 32px;
}

.awl-c-lead {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.72);
}

.awl-c-loc {
  font-family: 'Jost', sans-serif;
  font-size: 0.7rem; /* approved exception (hero location tag) */
  font-weight: 300;
  letter-spacing: 0.12em;
  color: rgba(206,181,148,0.65);
  margin-top: 16px;
}

.awl-c-div {
  background: rgba(206,181,148,0.18);
  width: 1px;
  flex-shrink: 0;
}

.awl-testi-frame--contact {
  width: 400px;
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.awl-testi-frame--contact [data-testimonial-rotator] {
  min-height: 230px;
}

.awl-c-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 80px 0;
}

.awl-c-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 72px;
  padding-bottom: 80px;
  border-bottom: 1px solid var(--divider);
  align-items: start;
}

.awl-c-grid h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.15;
  color: var(--navy-deep);
  margin-bottom: 12px;
}

.awl-c-grid h2 em {
  font-style: italic;
  color: var(--charcoal);
}

.awl-c-form-intro {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--warm-gray);
  margin-bottom: 40px;
}

/* WPForms overrides (shipped form styling) */
.wpforms-container .wpforms-field {
  padding: 8px 0;
}

/* Label scale pinned at the site-wide 0.72rem — WPForms' modern stylesheet
   sets ~16px with a higher-specificity selector (July 10 oversized-label
   report), so this matches it and wins */
.wpforms-container .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--label-gray) !important;
  margin-bottom: 6px !important;
}

.wpforms-container .wpforms-required-label {
  color: var(--gold);
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container select,
.wpforms-container textarea {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--navy-deep);
  background: var(--white);
  border: 1px solid var(--divider);
  border-radius: 0;
  padding: 13px 16px;
  width: 100%;
  transition: border-color var(--transition-base);
}

.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--gold);
  outline: none;
}

.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
  color: rgba(111,108,106,0.45);
}

.wpforms-container textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.7;
}

/* Modern (Choices.js) dropdowns — fields 5/7/8/9 use Style: Modern so the
   open list is page-styleable (native option lists take the OS blue and
   ignore CSS). Closed control mirrors the input styling above.
   WPForms themes these via CSS custom properties (its highlight is
   --wpforms-button-background-color = the default blue), so the overrides
   are variables scoped to the modern-select fields — they beat the plugin's
   high-specificity/!important rules by definition and leave the submit
   button's variables untouched. */
.wpforms-container .wpforms-field-select-style-modern {
  --wpforms-button-background-color: rgba(206,181,148,0.28);
  --wpforms-button-text-color: #0B141B;
  --wpforms-button-text-color-alt: #0B141B;
  --wpforms-field-menu-color: #F2F2ED;
  --wpforms-field-text-color: #0B141B;
  --wpforms-field-background-color: #FFFFFF;
  --wpforms-field-border-color: var(--divider);
  --wpforms-field-border-radius: 0;
}

/* No type-to-filter box — WPForms auto-adds a Choices.js search input on
   modern dropdowns with 8+ options (field 5); the design has plain lists */
.wpforms-container .wpforms-form .choices input.choices__input {
  display: none !important;
}

.wpforms-container .wpforms-form .choices .choices__inner,
.wpforms-container .wpforms-form .choices.is-open .choices__inner,
.wpforms-container .wpforms-form .choices.is-open.is-flipped .choices__inner,
.wpforms-container .wpforms-form .choices.is-open .choices__list--dropdown,
.wpforms-container .wpforms-form .choices.is-open.is-flipped .choices__list--dropdown {
  border-radius: 0;
}

.wpforms-container .choices {
  margin-bottom: 0;
}

.wpforms-container .choices__inner {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--navy-deep);
  background: var(--white);
  border: 1px solid var(--divider);
  border-radius: 0;
  padding: 13px 16px;
  min-height: 0;
  transition: border-color var(--transition-base);
}

.wpforms-container .choices.is-focused .choices__inner,
.wpforms-container .choices.is-open .choices__inner {
  border-color: var(--gold);
}

.wpforms-container .choices__list--single {
  padding: 0;
}

.wpforms-container .choices__list--single .choices__item {
  color: var(--navy-deep);
}

.wpforms-container .choices__list--single .choices__placeholder,
.wpforms-container .choices__inner .choices__item--selectable.choices__placeholder {
  color: rgba(111,108,106,0.45);
  opacity: 1;
}

.wpforms-container .choices[data-type*="select-one"]::after {
  border-color: var(--warm-gray) transparent transparent;
  right: 16px;
}

.wpforms-container .choices[data-type*="select-one"].is-open::after {
  border-color: transparent transparent var(--warm-gray);
}

.wpforms-container .choices__list--dropdown,
.wpforms-container .choices[data-type*="select-one"] .choices__list--dropdown {
  background: var(--parchment);
  border: 1px solid var(--divider);
  border-radius: 0;
  margin-top: -1px;
  box-shadow: 0 14px 34px rgba(11,20,27,0.12);
  z-index: 100;
}

.wpforms-container .choices__list--dropdown .choices__item {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--navy-deep);
  padding: 12px 16px;
}

.wpforms-container .choices__list--dropdown .choices__item.is-highlighted {
  background: rgba(206,181,148,0.28);
  color: var(--navy-deep);
}

.wpforms-container .choices__list--dropdown .choices__item.is-selected {
  background: rgba(206,181,148,0.14);
}

.wpforms-container .wpforms-field-description {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  font-style: italic;
  color: rgba(90,87,86,0.65);
  margin-top: 4px;
}

/* Injected security note */
.awl-form-note {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(90,87,86,0.7);
  margin: 8px 0;
}

/* Consent panel (field 11) */
/* Full white panel (owner request July 8 — supersedes the gold-tinted spec);
   kills the two-tone effect from WPForms' own white label background */
.wpforms-container .wpforms-field-checkbox {
  background: var(--white);
  border: 1px solid rgba(206,181,148,0.2);
  padding: 18px 20px;
}

.wpforms-container .wpforms-field-checkbox ul,
.wpforms-container .wpforms-field-checkbox li,
.wpforms-container .wpforms-field-checkbox label {
  background: transparent;
}

.wpforms-container .wpforms-field-checkbox li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: var(--gold);
  cursor: pointer;
}

.wpforms-container .wpforms-field-checkbox label {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--charcoal);
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
}

/* One consistent text color regardless of injected inline spans (per-word
   orange/blue seen in preview July 8) */
.wpforms-container .wpforms-field-checkbox label,
.wpforms-container .wpforms-field-checkbox label * {
  color: var(--charcoal) !important;
}

/* No auto-hyphenation in the consent text (explicit hyphens are made
   non-breaking by contact.js — CSS cannot suppress breaks at real hyphens) */
.wpforms-container .wpforms-field-checkbox label {
  hyphens: none;
}

/* Submit + dim state — WPForms colors its submit via CSS variables with
   high-specificity rules (same mechanism as the dropdown highlight), so the
   global gold button[type=submit] rule loses; redefine the variables at
   container scope and pin the .awl-btn typography explicitly. The modern-
   select fields redefine these same variables closer in, so the dropdown
   gold-wash highlight is unaffected. */
.wpforms-container,
div.wpforms-container-full {
  --wpforms-button-background-color: #CEB594;
  --wpforms-button-background-color-alt: #DDD0B5;
  --wpforms-button-border-color: #CEB594;
  --wpforms-button-text-color: #0B141B;
  --wpforms-button-text-color-alt: #0B141B;
}

div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy-deep);
  background: var(--gold);
  border: none;
  border-radius: 0;
  padding: 16px 32px;
  height: auto;
}

div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit:hover,
div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit:focus {
  background: var(--gold-light);
  color: var(--navy-deep);
}

.wpforms-container .wpforms-submit {
  transition: background var(--transition-base), opacity var(--transition-base);
}

.wpforms-container .wpforms-submit.awl-submit-dim {
  opacity: 0.38;
}

/* Insurance: honeypots stay hidden even if the WPForms stylesheet is
   combined/optimized away (mirrors the plugin's own rule) */
.wpforms-form .wpforms-field-hp {
  display: none !important;
  position: absolute !important;
  left: -9000px !important;
}

/* Default confirmation hidden ONLY on the consultation form (96), where the
   branded JS overlay replaces it. The old global version of this rule also
   swallowed the newsletter form's confirmation — submitting made the whole
   strip vanish (July 9 report). */
.awl-js #wpforms-96 .wpforms-confirmation-container,
.awl-js #wpforms-96 .wpforms-confirmation-container-full,
.awl-js #wpforms-confirmation-96 {
  display: none;
}

/* What happens next */
.awl-steps-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 28px 0 20px;
}

.awl-steps-row {
  display: flex;
  align-items: flex-start;
  position: relative;
}

.awl-step-connector {
  position: absolute;
  top: 11px;
  left: 11px;
  right: 11px;
  height: 1px;
  background: rgba(206,181,148,0.3);
}

.awl-next-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
  padding: 0 8px;
}

.awl-next-step-dot {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--navy-deep);
  flex-shrink: 0;
}

.awl-next-step-dot--open {
  border: 1px solid var(--gold);
  background: var(--parchment);
  color: var(--gold);
  font-weight: 400;
}

.awl-next-step p:last-child {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: var(--warm-gray);
  line-height: 1.6;
  text-align: center;
  margin: 0;
}

/* Sticky sidebar */
.awl-c-sidebar {
  position: sticky;
  top: 32px;
}

.awl-c-card {
  background: var(--navy-deep);
  padding: 40px 36px;
}

.awl-c-card-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
  margin-bottom: 24px;
}

.awl-c-row {
  padding: 18px 0;
  border-bottom: 1px solid rgba(206,181,148,0.1);
}

.awl-c-row:last-child {
  border-bottom: none;
}

.awl-c-row-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.6;
  margin-bottom: 6px;
}

.awl-c-row-value {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--gold-light);
  line-height: 1.6;
  margin: 0;
}

.awl-c-row-value a {
  color: var(--gold-light);
  text-decoration: none;
}

/* Disclaimer panel */
.awl-c-disc-section {
  padding: 48px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-disclaimer {
  background: var(--navy-mid);
  padding: 32px 40px;
  max-width: 760px;
}

.awl-disclaimer p {
  font-family: 'Jost', sans-serif;
  font-size: 0.82rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.55);
  margin: 0;
}

.awl-disclaimer strong {
  font-weight: 400;
  color: var(--gold-light);
}

/* Contact pull-quote (1.65rem shipped value) */
.awl-pullquote--contact blockquote {
  font-size: 1.65rem;
  line-height: 1.45;
}

.awl-pullquote--contact {
  max-width: 720px;
}

/* Success overlay */
.awl-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(11,20,27,0.72);
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.awl-overlay--open {
  display: flex;
}

.awl-overlay-panel {
  background: var(--parchment);
  max-width: 640px;
  width: 100%;
  padding: 72px 56px 64px;
  text-align: center;
}

.awl-overlay-rule {
  width: 56px;
  height: 2px;
  background: var(--gold);
  margin: 0 auto 40px;
}

.awl-overlay-panel h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.2rem;
  font-weight: 400;
  color: var(--navy-deep);
  margin: 0 0 28px;
}

.awl-overlay-panel p {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.9;
  color: var(--charcoal);
  max-width: 480px;
  margin: 0 auto 40px;
}

.awl-overlay-close {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--navy-deep);
  background: var(--gold);
  border: none;
  padding: 16px 40px;
  cursor: pointer;
  transition: background var(--transition-base);
}

.awl-overlay-close:hover {
  background: var(--gold-light);
}

@media (max-width: 900px) {
  .awl-c-hero {
    padding: 56px 24px 48px;
  }

  .awl-c-hero-inner {
    flex-direction: column;
    gap: 40px;
  }

  .awl-c-hero-left {
    padding-right: 0;
  }

  .awl-c-hero h1 {
    font-size: 2.6rem;
  }

  .awl-c-div {
    display: none;
  }

  .awl-testi-frame--contact {
    width: 100%;
  }

  .awl-c-wrap {
    padding: 48px 24px 0;
  }

  .awl-c-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .awl-c-sidebar {
    position: static;
  }

  /* WPForms sets .wpforms-field.wpforms-one-half { float:left;
     margin-left:20px } at higher specificity — without matching it, the
     second field of each pair stays indented 20px and overflows on mobile
     (July 10 report) */
  .wpforms-container .wpforms-one-half,
  .wpforms-container .wpforms-field.wpforms-one-half,
  div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half {
    width: 100% !important;
    margin-left: 0 !important;
    float: none !important;
    clear: both !important;
  }

  .awl-disclaimer {
    padding: 24px;
  }
}

@media (max-width: 600px) {
  .awl-c-hero h1 {
    font-size: 2.2rem;
  }

  .awl-c-hero {
    padding: 40px 20px;
  }

  .awl-c-wrap {
    padding: 40px 20px 0;
  }

  .wpforms-container .wpforms-submit {
    width: 100%;
    text-align: center;
  }

  .awl-steps-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .awl-step-connector {
    display: none;
  }

  .awl-next-step {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 0;
  }

  .awl-next-step p:last-child {
    text-align: left;
  }
}

/* ==========================================================================
   7n. Resources & Education (page 27)
   ========================================================================== */

.awl-r-hero {
  background: var(--navy-deep);
  overflow: hidden;
}

.awl-r-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 540px;
}

.awl-r-hero-text {
  padding: 88px 72px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.awl-r-hero-text::before {
  content: '';
  position: absolute;
  left: -80px;
  bottom: -80px;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(206,181,148,0.06);
  border-radius: 50%;
  pointer-events: none;
}

.awl-r-hero-text::after {
  content: '';
  position: absolute;
  left: 60px;
  bottom: 60px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(206,181,148,0.04);
  border-radius: 50%;
  pointer-events: none;
}

.awl-r-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 32px;
  max-width: 540px;
}

.awl-r-hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-r-hero .gold-rule {
  margin: 0 0 32px;
}

.awl-r-hero .awl-hero-tagline {
  margin: 0 0 32px;
}

.awl-r-hero-p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.72);
}

.awl-r-hero-photo {
  position: relative;
  background: var(--navy-deep);
  display: flex;
  align-items: stretch;
}

.awl-r-hero-photo img {
  width: 80%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 12%;
  display: block;
  min-height: 540px;
}

/* Tab bar */
.awl-r-tabs {
  background: var(--navy-mid);
  padding: 0 80px;
  display: flex;
  border-bottom: 1px solid var(--divider);
}

.awl-r-tab {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  cursor: pointer;
  display: block;
  padding: 18px 32px 18px 0;
  color: rgba(221,208,181,0.6);
  transition: color var(--transition-base);
}

.awl-r-tab:hover {
  background: transparent;
  color: var(--gold-light);
}

.awl-r-tab.active {
  color: var(--gold-light);
  border-bottom-color: var(--gold);
}

/* Articles tab */
.awl-r-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 80px 0;
}

.awl-r-intro-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 72px;
  margin-bottom: 48px;
  align-items: end;
}

.awl-r-intro-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.22;
  color: var(--navy-deep);
}

.awl-r-intro-h2 em {
  font-style: italic;
  color: var(--charcoal);
}

.awl-r-intro-p {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--warm-gray);
  margin-top: 16px;
}

.awl-r-controls {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-self: end;
}

.awl-r-search {
  position: relative;
}

.awl-r-search input {
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: var(--navy-mid);
  background: var(--white);
  border: 1px solid rgba(206,181,148,0.35);
  padding: 10px 36px 10px 14px;
  width: 100%;
  transition: border-color var(--transition-base);
}

.awl-r-search input:focus {
  border-color: var(--gold);
  outline: none;
}

.awl-r-search svg {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.35;
  pointer-events: none;
}

.awl-r-filter-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.awl-r-chips {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.awl-r-chip {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(111,108,106,0.7);
  background: transparent;
  border: none;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  padding: 4px 0;
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--transition-base);
}

.awl-r-chip:hover {
  background: transparent;
  color: var(--gold);
}

.awl-r-chip.active {
  color: var(--gold);
  border-bottom-color: var(--gold);
  font-weight: 500;
}

/* Featured card */
.awl-r-featured {
  display: grid;
  grid-template-columns: 1fr 220px;
  background: var(--navy-deep);
  border: 1px solid rgba(206,181,148,0.15);
  margin-bottom: 1px;
  position: relative;
  overflow: hidden;
  transition: border-color var(--transition-base);
  color: inherit;
  text-decoration: none;
}

.awl-r-featured:hover {
  border-color: rgba(206,181,148,0.35);
}

.awl-r-featured-ghost {
  position: absolute;
  bottom: -24px;
  right: 24px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 10rem;
  font-weight: 300;
  line-height: 1;
  color: rgba(242,242,237,0.04);
  pointer-events: none;
  user-select: none;
}

.awl-r-featured-body {
  padding: 48px 52px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  position: relative;
  z-index: 1;
}

.awl-r-featured-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.awl-r-featured-h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--white);
  margin-bottom: 16px;
}

.awl-r-featured-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.6);
}

.awl-r-featured-cta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.awl-r-featured-cta span {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

.awl-r-featured-meta {
  padding: 48px 36px;
  border-left: 1px solid rgba(206,181,148,0.1);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 20px;
}

.awl-r-meta-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.awl-r-meta-val {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  color: rgba(242,242,237,0.65);
  margin: 0;
}

/* Article grid */
.awl-r-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(206,181,148,0.2);
  border: 1px solid rgba(206,181,148,0.2);
  border-top: none;
}

.awl-r-card {
  background: var(--parchment);
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: background var(--transition-base);
  color: inherit;
  text-decoration: none;
}

.awl-r-card:hover {
  background: var(--white);
}

.awl-r-card-ghost {
  position: absolute;
  bottom: -20px;
  right: 14px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 8rem;
  font-weight: 300;
  line-height: 1;
  color: rgba(11,20,27,0.04);
  pointer-events: none;
  user-select: none;
}

.awl-r-card-tag {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(206,181,148,0.3);
  padding: 3px 8px;
  display: inline-block;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
  align-self: flex-start;
}

.awl-r-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.08rem;
  font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.35;
  margin-bottom: 10px;
  flex-grow: 1;
  position: relative;
  z-index: 1;
}

.awl-r-card-desc {
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--warm-gray);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}

.awl-r-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.awl-r-card-date {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.08em;
  color: rgba(111,108,106,0.6);
  text-transform: uppercase;
}

/* Pagination */
.awl-r-pagination {
  border: 1px solid rgba(206,181,148,0.2);
  border-top: none;
  padding: 20px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--parchment);
}

.awl-r-page-btn {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy-mid);
  padding: 0;
}

.awl-r-page-btn:hover {
  background: transparent;
  color: var(--gold);
}

.awl-r-page-btn:disabled {
  color: rgba(111,108,106,0.3);
  cursor: default;
  pointer-events: none;
}

.awl-r-page-numbers {
  display: flex;
  gap: 6px;
  align-items: center;
}

.awl-r-page-num {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--warm-gray);
  background: transparent;
  border: 1px solid rgba(206,181,148,0.28);
  border-radius: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: all var(--transition-fast);
}

.awl-r-page-num:hover {
  background: transparent;
  color: var(--gold);
}

.awl-r-page-num.active {
  color: var(--navy-deep);
  background: var(--gold);
  border-color: var(--gold);
  font-weight: 500;
}

.awl-r-page-label {
  display: none;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: var(--warm-gray);
}

/* Empty state */
.awl-r-empty {
  border: 1px solid var(--divider);
  border-top: none;
  padding: 72px 48px;
  text-align: center;
  background: var(--parchment);
}

.awl-r-empty-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 300;
  color: var(--warm-gray);
  font-style: italic;
  margin-bottom: 10px;
}

.awl-r-empty-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  color: var(--warm-gray);
  letter-spacing: 0.05em;
}

.awl-r-empty-rule {
  width: 40px;
  height: 1px;
  background: rgba(206,181,148,0.4);
  margin: 0 auto 32px;
}

/* Subscribe strip (full-bleed) */
.awl-r-subscribe {
  background: var(--navy-mid);
  padding: 56px 80px;
  margin-top: 80px;
}

.awl-r-subscribe-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.awl-r-subscribe-h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--white);
  margin-bottom: 12px;
}

.awl-r-subscribe-h3 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-r-subscribe-p {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.6);
}

.awl-r-subscribe-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.awl-r-subscribe-form input {
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: var(--navy-mid);
  background: var(--parchment);
  border: none;
  padding: 14px 18px;
  width: 100%;
}

.awl-r-subscribe-form button {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--navy-deep);
  background: var(--gold);
  border: none;
  border-radius: 0;
  padding: 14px 24px;
  cursor: pointer;
  text-align: left;
  transition: background var(--transition-base);
}

.awl-r-subscribe-form button:hover {
  background: var(--gold-light);
  color: var(--navy-deep);
}

/* WPForms newsletter form inside the subscribe strip — collapse the plugin
   chrome so the generic input/button rules above style it (labels are hidden
   at the field level; entries-only, no notifications until SMTP lands) */
.awl-r-subscribe-form .wpforms-container {
  margin: 0;
}

.awl-r-subscribe-form .wpforms-form .wpforms-field {
  padding: 0;
  margin: 0 0 12px;
}

.awl-r-subscribe-form .wpforms-form .wpforms-field:last-of-type {
  margin-bottom: 0;
}

.awl-r-subscribe-form .wpforms-form .wpforms-submit-container {
  padding: 0;
  margin: 12px 0 0;
}

.awl-r-subscribe-form .wpforms-form button.wpforms-submit {
  width: 100%;
}

.awl-r-subscribe-form .wpforms-form input {
  height: auto;
}

.awl-r-subscribe-form .wpforms-form label.wpforms-error {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: var(--gold-light);
  margin-top: 6px;
  display: block;
}

/* Post-submit confirmation: fills the form's column with presence instead
   of a sparse box (July 10 spacing report) */
.awl-r-subscribe-form .wpforms-confirmation-container-full {
  background: rgba(206,181,148,0.08) !important;
  border: 1px solid rgba(206,181,148,0.35) !important;
  padding: 32px 36px !important;
  margin: 0 !important;
  text-align: left;
}

.awl-r-subscribe-form .wpforms-confirmation-container-full::before {
  content: '\2713';
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--gold);
  margin-bottom: 14px;
}

.awl-r-subscribe-form .wpforms-confirmation-container-full,
.awl-r-subscribe-form .wpforms-confirmation-container-full p {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--parchment) !important;
}

.awl-r-subscribe-form .wpforms-confirmation-container-full p {
  margin: 0 !important;
}

/* Resources pull-quote spacing */
.awl-r-quote {
  padding: 80px 0 64px;
}

/* Resources & Templates tab — editorial ledger (shipped tints kept) */
.awl-r-lib-wrap {
  max-width: 1560px;
  margin: 0 auto;
  padding: 40px 48px 0;
}

.awl-r-lib-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B99A6B;
  margin: 0 0 24px;
}

.awl-r-lib {
  margin-top: 16px;
  padding-bottom: 80px;
}

.awl-r-lib-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #E2DBCA;
  border: 1px solid #E2DBCA;
}

.awl-r-cell {
  background: var(--parchment);
  padding: 44px 44px 52px;
}

.awl-r-cell-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #C0A575;
  margin: 0 0 26px;
}

.awl-r-gi {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 9px 0;
  text-decoration: none;
}

.awl-r-gi-arrow {
  flex-shrink: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #C0A575;
  transition: transform var(--transition-base);
}

.awl-r-gi:hover .awl-r-gi-arrow {
  transform: translateX(3px);
}

.awl-r-gi-text {
  font-family: 'Jost', sans-serif;
  font-size: 1.05rem;
  font-weight: 300;
  line-height: 1.45;
  color: #2B333A;
  transition: color var(--transition-base);
}

.awl-r-gi:hover .awl-r-gi-text {
  color: #B99A6B;
}

/* Contact note (Resources tab) */
.awl-r-contact-note {
  border-top: 1px solid var(--divider);
  margin-top: 48px;
  padding: 40px 0 8px;
}

.awl-r-contact-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}

.awl-r-contact-q {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--navy-deep);
  line-height: 1.5;
  margin-bottom: 12px;
}

.awl-r-contact-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.85rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--warm-gray);
}

.awl-r-contact-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.awl-r-contact-links a {
  font-family: 'Jost', sans-serif;
  font-size: 0.82rem;
  font-weight: 300;
  color: var(--navy-mid);
  text-decoration: none;
}

.hidden {
  display: none !important;
}

@media (max-width: 768px) {
  .awl-r-hero-grid {
    display: block;
  }

  .awl-r-hero-text {
    padding: 56px 24px 48px;
  }

  .awl-r-hero h1 {
    font-size: 2.4rem;
  }

  .awl-r-hero-photo img {
    width: 100%;
    min-height: 200px;
    max-height: 260px;
    object-position: 50% 18%;
  }

  .awl-r-tabs {
    padding: 0 24px;
  }

  .awl-r-wrap {
    padding: 40px 24px 0;
  }

  .awl-r-intro-grid {
    display: block;
  }

  .awl-r-controls {
    margin-top: 32px;
  }

  .awl-r-featured {
    display: block;
  }

  .awl-r-featured-body {
    padding: 32px 28px;
  }

  .awl-r-featured-h3 {
    font-size: 1.6rem;
  }

  .awl-r-featured-meta {
    border-left: none;
    border-top: 1px solid rgba(206,181,148,0.15);
    padding: 24px 28px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
  }

  .awl-r-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .awl-r-subscribe {
    padding: 40px 24px;
    margin-top: 48px;
  }

  .awl-r-subscribe-inner {
    display: block;
  }

  .awl-r-subscribe-form {
    margin-top: 24px;
  }

  .awl-r-quote {
    padding: 56px 0 48px;
  }

  .awl-r-lib-wrap {
    padding: 24px 24px 0;
  }
}

@media (max-width: 900px) {
  .awl-r-lib {
    padding-bottom: 56px;
  }

  .awl-r-lib-grid {
    grid-template-columns: 1fr;
  }

  .awl-r-cell {
    padding: 36px 28px 40px;
  }
}

@media (max-width: 480px) {
  .awl-r-hero-photo img {
    min-height: 160px;
    max-height: 210px;
  }

  .awl-r-hero-text {
    padding: 44px 16px 40px;
  }

  .awl-r-hero h1 {
    font-size: 1.8rem;
  }

  .awl-r-tabs {
    padding: 0 16px;
  }

  .awl-r-wrap {
    padding: 28px 16px 0;
  }

  .awl-r-featured-body {
    padding: 24px 20px;
  }

  .awl-r-featured-h3 {
    font-size: 1.4rem;
  }

  .awl-r-featured-meta {
    padding: 20px;
    gap: 16px;
  }

  .awl-r-grid {
    grid-template-columns: 1fr;
  }

  .awl-r-subscribe {
    padding: 36px 16px;
    margin-top: 40px;
  }

  .awl-r-subscribe-h3 {
    font-size: 1.3rem;
  }

  .awl-r-quote {
    padding: 48px 0 40px;
  }

  .awl-r-page-numbers {
    display: none;
  }

  .awl-r-page-label {
    display: block;
  }

  .awl-r-lib-wrap {
    padding: 20px 16px 0;
  }
}

/* ==========================================================================
   7o. Article template (single posts)
   ========================================================================== */

/* GP's content-area gap removed on singles — the masthead sits flush under
   the nav (same treatment as .page) */
.single.separate-containers .site-main {
  margin: 0;
}

/* GP defaults replaced by the hooked masthead. !important: survives
   LiteSpeed CSS combine/minify reordering (July 9 duplicate-header report
   reproduced only through the optimizer's stale combined CSS) */
.single .entry-header,
.single .entry-meta,
.single footer.entry-meta {
  display: none !important;
}

.single .inside-article {
  padding: 0;
  background-color: transparent;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0 72px;
  max-width: 1100px;
  margin: 0 auto;
}

.single .site-content {
  display: block;
}

.single .content-area {
  width: 100%;
  float: none;
}

.single .widget-area {
  display: none;
}

.single .inside-article > .awl-a-hero,
.single .inside-article > .awl-a-strip,
.single .inside-article > .awl-a-subscribe {
  grid-column: 1 / -1;
}

.awl-a-hero {
  background: var(--navy-deep);
  padding: 48px 80px 60px;
  border-bottom: 1px solid rgba(206,181,148,0.1);
}

.awl-a-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
}

.awl-a-breadcrumb a,
.awl-a-breadcrumb span {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
}

.awl-a-breadcrumb a {
  color: rgba(221,208,181,0.4);
  transition: color var(--transition-base);
}

.awl-a-breadcrumb a:hover {
  color: var(--gold-light);
}

.awl-a-breadcrumb span {
  color: rgba(206,181,148,0.5);
}

.awl-a-hero-inner {
  max-width: 800px;
}

.awl-a-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.1;
  color: var(--white);
  margin-bottom: 24px;
}

.awl-a-hero .gold-rule {
  margin: 0 0 24px;
}

.awl-a-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.awl-a-meta-item {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(242,242,237,0.4);
}

.awl-a-meta-divider {
  width: 1px;
  height: 12px;
  background: rgba(206,181,148,0.2);
  margin: 0 20px;
  flex-shrink: 0;
}

/* Article body typography (entry-content) */
.single .entry-content {
  margin-top: 0;
  padding-top: 72px;
  grid-column: 1;
}

.single .entry-content > p:first-child {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--navy-mid);
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--divider);
}

.single .entry-content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 16px;
  line-height: 1.3;
}

.single .entry-content h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 12px;
  line-height: 1.3;
}

.single .entry-content p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.9;
  color: var(--charcoal);
  margin-bottom: 20px;
}

.single .entry-content ul {
  border: 1px solid var(--divider);
  background: var(--white);
  padding: 28px 32px 28px 52px;
  margin: 0 0 40px;
}

.single .entry-content li {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--charcoal);
  margin-bottom: 14px;
}

.single .entry-content li:last-child {
  margin-bottom: 0;
}

.single .entry-content li::marker {
  color: var(--gold);
}

.single .entry-content a {
  color: var(--charcoal);
  text-decoration: underline;
  text-decoration-color: rgba(206,181,148,0.6);
  text-underline-offset: 3px;
  transition: color var(--transition-base);
}

.single .entry-content a:hover {
  color: var(--gold);
}

.single .entry-content blockquote {
  border-left: 2px solid var(--gold);
  padding: 4px 0 4px 28px;
  margin: 0 0 40px;
  background: transparent;
}

.single .entry-content blockquote p {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.55;
  color: var(--navy-deep);
  margin: 0;
}

/* Disclaimer (approved wording; hooked after the content on every single) */
.awl-a-disclaimer {
  grid-column: 1;
  margin-top: 48px;
  padding: 24px 28px;
  border: 1px solid var(--divider);
  background: var(--white);
}

.awl-a-disclaimer p {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--warm-gray);
  margin: 0;
}

/* Hooked article footer */
.awl-a-footer {
  grid-column: 1;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--divider);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.awl-a-back {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--warm-gray);
  text-decoration: none;
  transition: color var(--transition-base);
}

.awl-a-back:hover {
  color: var(--navy-deep);
}

.awl-a-footer-meta {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(111,108,106,0.5);
}

/* Hooked sidebar — the aside is a full-height grid cell spanning the body
   column's rows; the inner wrapper does the sticking, so it releases at the
   end of the article column instead of sliding over the CTA strip */
.single .entry-content {
  grid-row: 2;
}

.awl-a-disclaimer {
  grid-row: 3;
}

.awl-a-footer {
  grid-row: 4;
}

.awl-a-sidebar {
  grid-column: 2;
  grid-row: 2 / 5;
  margin-top: 72px;
}

.awl-a-sidebar-inner {
  position: sticky;
  top: 112px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.awl-a-cta-card {
  background: var(--navy-deep);
  padding: 32px 28px;
  border: 1px solid rgba(206,181,148,0.12);
}

.awl-a-cta-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
}

.awl-a-cta-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--white);
  line-height: 1.4;
  margin-bottom: 14px;
}

.awl-a-cta-p {
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(242,242,237,0.55);
  margin-bottom: 24px;
}

.awl-a-cta-card .awl-btn {
  display: block;
  text-align: center;
}

.awl-a-cta-phone {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(242,242,237,0.3);
  text-align: center;
  margin: 12px 0 0;
}

.awl-a-cta-phone a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.awl-a-also {
  border: 1px solid var(--divider);
  background: var(--parchment);
  padding: 24px 24px 16px;
}

.awl-a-also-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.awl-a-also-item {
  display: block;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(206,181,148,0.18);
  text-decoration: none;
  transition: opacity var(--transition-base);
}

.awl-a-also-item:hover {
  opacity: 0.75;
}

.awl-a-also-meta {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.awl-a-also-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.35;
  margin: 0;
}

.awl-a-viewall {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--warm-gray);
  text-decoration: none;
  padding-bottom: 4px;
  transition: color var(--transition-base);
}

.awl-a-viewall:hover {
  color: var(--navy-deep);
}

/* CTA strip (navy-deep, 280/1fr — article variant) */
.awl-a-strip {
  background: var(--navy-deep);
  padding: 48px 80px;
  margin-top: 80px;
}

.awl-a-strip-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 72px;
  align-items: center;
}

.awl-a-strip-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--white);
}

.awl-a-strip-h em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-a-strip .awl-btn {
  display: inline-block;
  margin-top: 24px;
}

.awl-a-subscribe {
  margin-top: 0;
}

@media (max-width: 768px) {
  .awl-a-hero {
    padding: 36px 24px 48px;
  }

  .awl-a-h1 {
    font-size: 2.4rem;
  }

  .awl-a-breadcrumb {
    margin-bottom: 24px;
  }

  .single .inside-article {
    display: block;
    /* body column side padding on mobile — the desktop grid zeroes it and
       text ran full-bleed (July 10 report); awl-bleed sections self-correct */
    padding: 0 24px;
  }

  .single .entry-content {
    padding-top: 40px;
  }

  .awl-a-sidebar {
    margin-top: 48px;
  }

  .awl-a-sidebar-inner {
    position: static;
  }

  .awl-a-strip {
    padding: 48px 24px;
    margin-top: 48px;
  }

  .awl-a-strip-inner {
    display: block;
  }

  .awl-a-meta-divider {
    display: none;
  }

  .awl-a-meta-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

@media (max-width: 480px) {
  .awl-a-hero {
    padding: 28px 16px 36px;
  }

  .awl-a-h1 {
    font-size: 1.75rem;
  }

  .awl-a-hero .gold-rule {
    display: none;
  }

  .single .inside-article {
    padding: 0 16px;
  }

  .single .entry-content {
    padding-top: 28px;
  }

  .single .entry-content > p:first-child {
    font-size: 1.05rem;
  }

  .single .entry-content h2 {
    font-size: 1.2rem;
  }

  .awl-a-strip {
    padding: 36px 16px;
    margin-top: 36px;
  }

  .awl-a-strip-h {
    font-size: 1.6rem;
  }

  .awl-a-strip .awl-btn {
    width: 100%;
  }

  .single .entry-content ul {
    padding: 20px 20px 20px 40px;
  }
}

/* ==========================================================================
   7p. Payment (page 28)
   ========================================================================== */

.awl-pay-hero {
  background: var(--navy-deep);
  padding: 80px;
  position: relative;
  overflow: hidden;
}

.awl-pay-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.awl-pay-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 20px;
  max-width: 700px;
}

.awl-pay-hero .gold-rule {
  margin: 0 0 22px;
}

.awl-pay-hero-p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.68);
  max-width: 560px;
}

.awl-pay-hero .awl-hero-cta-wrap {
  margin-top: 20px;
}

/* CTA with trailing arrow (Payment variant of .awl-btn) */
.awl-btn-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.awl-pay-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 56px 80px 0;
}

.awl-pay-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 52px;
  padding-bottom: 56px;
  align-items: start;
}

.awl-pay-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.awl-pay-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--navy-deep);
  margin-bottom: 14px;
}

.awl-pay-p {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.88;
  color: var(--charcoal);
}

.awl-pay-p a {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(206,181,148,0.35);
}

.awl-pay-sidebar {
  position: sticky;
  top: 100px;
}

.awl-pay-card {
  background: var(--navy-deep);
  padding: 22px 24px;
}

.awl-pay-card-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(206,181,148,0.75);
  margin-bottom: 14px;
}

.awl-pay-card-security {
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1.72;
  color: rgba(221,208,181,0.6);
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(206,181,148,0.1);
}

.awl-pay-card-row {
  padding: 8px 0;
  border-bottom: 1px solid rgba(206,181,148,0.1);
}

.awl-pay-card-row-last {
  border-bottom: none;
}

.awl-pay-card-key {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(206,181,148,0.55);
  margin-bottom: 5px;
}

.awl-pay-card-val {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--gold-light);
  line-height: 1.65;
  margin: 0;
}

.awl-pay-card-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

.awl-pay-card-list p {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(221,208,181,0.55);
  letter-spacing: 0.06em;
  margin: 0;
}

.awl-pay-faq-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 80px 40px;
}

.awl-pay-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 72px;
}

.awl-pay-faq {
  padding-top: 8px;
  border-top: 1px solid rgba(206,181,148,0.12);
}

.awl-pay-faq-q {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 6px;
  line-height: 1.35;
}

.awl-pay-faq-a {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.82;
  color: var(--charcoal);
  margin: 0;
}

.awl-pay-faq-a a {
  color: var(--gold);
  text-decoration: none;
}

.awl-pay-bottom-cta {
  padding: 32px 0 0;
  text-align: center;
}

/* Mobile sticky pay bar (payment.js toggles display) */
#awl-pay-sticky {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--navy-deep);
  border-top: 1px solid rgba(206,181,148,0.25);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
}

#awl-pay-sticky a {
  display: block;
  text-align: center;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 14px 32px;
  text-decoration: none;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .awl-pay-hero {
    padding: 40px 24px 36px;
  }

  .awl-pay-hero h1 {
    font-size: 2.6rem;
    margin-bottom: 12px;
  }

  .awl-pay-hero-p {
    font-size: 0.9rem;
    margin-bottom: 18px;
  }

  .awl-pay-main {
    padding: 24px 24px 0;
  }

  .awl-pay-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .awl-pay-sidebar {
    position: static;
  }

  .awl-pay-faq-wrap {
    padding: 20px 24px 36px;
  }

  .awl-pay-faq-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ==========================================================================
   7q. Legal template (Disclaimer 30 · ToS 31 — awl-lg-* classes; Privacy
   Policy retrofit pending)
   ========================================================================== */

.awl-lg-hero {
  background: var(--parchment);
  border-bottom: 1px solid rgba(206,181,148,0.28);
  padding: 64px 80px 60px;
}

.awl-lg-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.awl-lg-rule-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 36px;
}

.awl-lg-rule-tick {
  height: 1px;
  width: 36px;
  background: var(--gold);
  flex-shrink: 0;
}

.awl-lg-rule-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
}

.awl-lg-rule-line {
  height: 1px;
  flex: 1;
  background: rgba(206,181,148,0.25);
}

.awl-lg-crumb {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(31,39,45,0.55);
  display: flex;
  gap: 8px;
  align-items: center;
}

.awl-lg-crumb a {
  color: rgba(31,39,45,0.38);
  text-decoration: none;
}

.awl-lg-crumb-sep {
  opacity: 0.5;
}

.awl-lg-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--navy-deep);
  margin-bottom: 24px;
  max-width: 680px;
}

.awl-lg-lead {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(31,39,45,0.6);
  max-width: 540px;
}

.awl-lg-updated {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(31,39,45,0.38);
  letter-spacing: 0.06em;
  margin-top: 20px;
}

.awl-lg-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 72px 80px 0;
}

.awl-lg-grid {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 64px;
  align-items: start;
}

.awl-lg-content {
  padding-bottom: 80px;
}

.awl-lg-section {
  padding: 36px 0;
  border-bottom: 1px solid rgba(206,181,148,0.22);
}

.awl-lg-section-last {
  border-bottom: none;
}

.awl-lg-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}

.awl-lg-section h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--navy-deep);
  margin-bottom: 16px;
  line-height: 1.3;
}

.awl-lg-section p {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
  margin-bottom: 14px;
}

.awl-lg-section p:last-child {
  margin-bottom: 0;
}

.awl-lg-section a {
  color: var(--navy-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.awl-lg-section ul {
  margin: 0 0 0 20px;
  list-style: disc;
}

.awl-lg-section li {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
  margin-bottom: 8px;
}

.awl-lg-section li:last-child {
  margin-bottom: 0;
}

.awl-lg-section li::marker {
  color: var(--gold);
}

/* Sidebar */
.awl-lg-sidebar {
  position: sticky;
  top: 112px;
}

.awl-lg-toc {
  margin-bottom: 28px;
}

.awl-lg-toc-label,
.awl-lg-cc-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}

.awl-lg-toc nav a {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  line-height: 1.45;
  text-decoration: none;
  padding: 7px 0 7px 12px;
  margin-bottom: 1px;
  color: rgba(111,108,106,0.65);
  font-weight: 300;
  border-left: 2px solid transparent;
  transition: color var(--transition-base);
}

.awl-lg-toc nav a:first-child {
  color: var(--gold);
  font-weight: 400;
  border-left-color: rgba(206,181,148,0.55);
}

.awl-lg-toc nav a:hover {
  color: var(--navy-deep);
}

.awl-lg-divider {
  height: 1px;
  background: rgba(206,181,148,0.22);
  margin-bottom: 28px;
}

.awl-lg-contact-card {
  background: var(--navy-deep);
  padding: 28px 24px;
  margin-bottom: 28px;
}

.awl-lg-cc-eyebrow {
  margin-bottom: 10px;
}

.awl-lg-cc-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--parchment);
  line-height: 1.35;
  margin-bottom: 16px;
}

.awl-lg-cc-p {
  font-family: 'Jost', sans-serif;
  font-size: 0.76rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(242,242,237,0.52);
  margin-bottom: 20px;
}

.awl-lg-cc-phone {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--parchment);
  text-decoration: none;
  border: 1px solid rgba(206,181,148,0.3);
  padding: 11px 16px;
  text-align: center;
  margin-bottom: 12px;
  transition: border-color var(--transition-base);
}

.awl-lg-cc-phone:hover {
  border-color: var(--gold);
  color: var(--parchment);
}

.awl-lg-cc-mail {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: rgba(242,242,237,0.45);
  text-decoration: none;
  text-align: center;
}

.awl-lg-seealso-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 12px;
}

.awl-lg-seealso a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  color: var(--navy-mid);
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid rgba(206,181,148,0.22);
}

.awl-lg-seealso a:last-child {
  border-bottom: none;
}

.awl-lg-seealso a span {
  color: var(--gold);
  opacity: 0.7;
  font-size: 0.9rem;
}

.awl-lg-seealso-mobile {
  display: none;
  padding-top: 32px;
  border-top: 1px solid rgba(206,181,148,0.22);
  margin-top: 8px;
}

@media (max-width: 860px) {
  .awl-lg-hero {
    padding: 40px 24px 36px;
  }

  .awl-lg-main {
    padding: 40px 24px 0;
  }

  .awl-lg-grid {
    grid-template-columns: 1fr;
  }

  .awl-lg-sidebar {
    display: none;
  }

  .awl-lg-seealso-mobile {
    display: block;
  }

  .awl-lg-content {
    padding-bottom: 48px;
  }
}

@media print {
  .awl-lg-sidebar {
    display: none;
  }
}

/* ==========================================================================
   7r. 404 template
   ========================================================================== */

/* GP's default 404 output ("Oops!" + search) replaced by the hooked
   template. The hooked .awl-404 renders INSIDE main.site-main (the
   before_main_content hook fires within it), and this GP version wraps its
   default 404 as a bare .inside-article — so: hide every site-main child
   except the custom template. */
.error404 .site-main > *:not(.awl-404) {
  display: none !important;
}

.error404 .site-content {
  display: block;
}

.error404 .content-area {
  width: 100%;
  float: none;
}

.error404 .widget-area {
  display: none;
}

.error404 .inside-article,
.error404 .site-main {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* Content-height panel with deliberate breathing room — the original
   100vh min-height centered the content and left a large navy void between
   the CTAs and the footer on tall viewports (July 10 report) */
.awl-404 {
  background: var(--navy-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 104px 80px 120px;
  position: relative;
  overflow: hidden;
}

/* No parchment between the panel and the footer: GP's sticky-footer flex
   stretches the content area on tall viewports — paint the whole 404
   content region navy so any stretch reads as the panel continuing */
.error404.separate-containers .site-main {
  margin: 0;
}

.error404 .site-content {
  display: block;
  background: var(--navy-deep);
}

.error404 .content-area,
.error404 .site-main,
.error404 .inside-article {
  background: var(--navy-deep);
  height: 100%;
}

/* Catch-all: any GP margin/padding sliver between panel and footer renders
   navy instead of letting the parchment body show through */
body.error404 {
  background-color: var(--navy-deep);
}

.error404 .site-content {
  padding-bottom: 0;
}

.awl-404::before {
  content: '';
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 500px;
  height: 500px;
  border: 1px solid rgba(206,181,148,0.07);
  border-radius: 50%;
  pointer-events: none;
}

.awl-404::after {
  content: '';
  position: absolute;
  right: 100px;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  height: 300px;
  border: 1px solid rgba(206,181,148,0.04);
  border-radius: 50%;
  pointer-events: none;
}

.awl-404-content {
  max-width: 660px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.awl-404-code {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 8rem;
  font-weight: 300;
  line-height: 1;
  color: rgba(206,181,148,0.18);
  letter-spacing: 4px;
  margin-bottom: 8px;
}

.awl-404 .gold-rule {
  margin-bottom: 28px;
}

.awl-404 h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.6rem;
  font-weight: 300;
  line-height: 1.2;
  color: var(--white);
  margin-bottom: 20px;
}

.awl-404 h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.awl-404-lead {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(242,242,237,0.6);
  margin-bottom: 48px;
  max-width: 500px;
}

.awl-404-links {
  border-top: 1px solid rgba(206,181,148,0.14);
  margin-bottom: 40px;
}

.awl-404-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid rgba(206,181,148,0.14);
  text-decoration: none;
  gap: 16px;
}

.awl-404-link-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.awl-404-link-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.awl-404-link-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--white);
  line-height: 1.3;
}

.awl-404-link-arrow {
  color: var(--gold);
  opacity: 0.5;
  font-size: 1.1rem;
  flex-shrink: 0;
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.awl-404-link:hover .awl-404-link-arrow {
  opacity: 1;
  transform: translateX(4px);
}

.awl-404-cta {
  display: flex;
  gap: 24px;
  align-items: center;
}

.awl-404-home {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-light);
  text-decoration: none;
  opacity: 0.65;
  transition: opacity var(--transition-base);
}

.awl-404-home:hover {
  opacity: 1;
  color: var(--gold-light);
}

@media (max-width: 900px) {
  .awl-404 {
    padding: 48px 32px;
    align-items: flex-start;
  }

  .awl-404-code {
    font-size: 5rem;
  }

  .awl-404 h1 {
    font-size: 2rem;
  }

  .awl-404-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

/* ==========================================================================
   7s. Complianz cookie bar (CLAUDE.md spec: slim bottom bar, navy-deep bg,
   gold buttons, parchment text, z-index 10001+)
   ========================================================================== */

/* Complianz themes via its own CSS variables with ID+multi-class selectors;
   overriding the variables + matching the .cmplz-show state outranks them
   (same mechanism as the WPForms dropdown fix) */
html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show {
  /* !important on the custom properties: Complianz defines these with a
     double-ID selector that outranks any generic rule */
  --cmplz_banner_background_color: #0B141B !important;
  --cmplz_banner_width: 100% !important;
  --cmplz_text_color: #F2F2ED !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background-color: var(--navy-deep) !important;
  border: none !important;
  border-top: 1px solid rgba(206,181,148,0.35) !important;
  box-shadow: 0 -8px 30px rgba(11,20,27,0.35) !important;
  padding: 16px 32px !important;
  z-index: 10001 !important;
  /* slim bar: header full-width, message left + buttons right on one row */
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 4px 32px !important;
}

html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-header {
  grid-column: 1 / -1;
}

html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-body {
  grid-column: 1;
}

html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-buttons {
  grid-column: 2;
  grid-row: 2;
}

html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-divider,
html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-documents {
  display: none !important;
}

/* Unresolved Complianz placeholder links ({title}, {vendor_count}): the tcf
   and cmplz-hidden entries are meant to be hidden by the plugin's own CSS/JS;
   pinned here so they can never leak (seen July 9 with the optimizer active) */
#cmplz-cookiebanner-container .cmplz-link.cmplz-hidden,
#cmplz-cookiebanner-container .cmplz-links a.tcf,
#cmplz-cookiebanner-container .cmplz-links .cmplz-manage-vendors,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-manage-options.tcf {
  display: none !important;
}

@media (max-width: 768px) {
  html body #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show {
    display: block !important;
  }
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--parchment) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a,
#cmplz-cookiebanner-container .cmplz-cookiebanner a.cmplz-link {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 300 !important;
  color: var(--gold-light) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 12px 24px !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--navy-deep) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
  background-color: var(--gold-light) !important;
  border-color: var(--gold-light) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
  background-color: transparent !important;
  border: 1px solid rgba(206,181,148,0.4) !important;
  color: var(--gold-light) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
  border-color: var(--gold) !important;
  color: var(--parchment) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
  color: var(--parchment) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background-color: var(--navy-mid) !important;
  border-radius: 0 !important;
}

/* Manage Consent reopen pill: branded, clear of footer text, never clipped.
   Complianz default pokes it -35px below the viewport edge (right 40px),
   which clipped/overlapped the footer on mobile. */
html body #cmplz-manage-consent .cmplz-manage-consent {
  --cmplz-manage-consent-offset: 0px !important;
  background-color: var(--navy-mid) !important;
  color: var(--gold-light) !important;
  border: 1px solid rgba(206,181,148,0.4) !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 8px 14px !important;
  right: 16px !important;
  bottom: 0 !important;
  z-index: 9998 !important;
}

@media (max-width: 600px) {
  html body #cmplz-manage-consent .cmplz-manage-consent {
    padding: 7px 10px !important;
    font-size: 0.62rem !important;
  }
}

/* Complianz logo/branding row stays hidden (visual noise on the slim bar) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo {
  display: none !important;
}

@media (max-width: 600px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    padding: 14px 16px !important;
  }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
    width: 100%;
  }
}

/* ==========================================================================
   8. Accessibility (WCAG AA pass, July 9 2026)
   ========================================================================== */

/* Focus indicator: two-ring (parchment inner, navy outer) — visible with
   >=3:1 non-text contrast on BOTH navy and parchment surfaces. Applied on
   :focus-visible only, so mouse clicks stay clean. The transparent outline
   keeps an indicator in Windows High Contrast / forced-colors mode. */
:is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: 0 0 0 2px var(--parchment), 0 0 0 4px var(--navy-deep) !important;
}

/* Contrast bumps (AA 4.5:1 for small text) — lowest offenders from the
   shipped palette, raised to the nearest compliant alpha:
   rgba(242,242,237,α) on navy-deep needs α ≥ 0.62 at these sizes */
.awl-a-meta-item {
  color: rgba(242,242,237,0.62);
}

.awl-a-cta-phone {
  color: rgba(242,242,237,0.62);
}

.awl-a-cta-p,
.awl-lg-cc-p {
  color: rgba(242,242,237,0.65);
}

.awl-lg-cc-mail {
  color: rgba(242,242,237,0.62);
}

.awl-pay-card-security,
.awl-pay-card-list p {
  color: rgba(221,208,181,0.72);
}

.awl-pay-card-key {
  color: rgba(206,181,148,0.85);
}

/* Breadcrumb links on navy heroes (0.4 alpha ≈ 3.2:1 → fail) */
.awl-a-breadcrumb a {
  color: rgba(221,208,181,0.62);
}

.awl-a-breadcrumb span {
  color: rgba(206,181,148,0.8);
}

/* ==========================================================================
   7. Legal pages (narrow template basics — awl-legal-* classes)
   ========================================================================== */

.awl-legal-lead {
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(31,39,45,0.6);
  max-width: 540px;
}

.awl-legal-updated {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(31,39,45,0.38);
  letter-spacing: 0.06em;
}

.awl-legal-section {
  padding: 36px 0;
  border-bottom: 1px solid var(--divider);
}

.awl-legal-section:last-child {
  border-bottom: 0;
}

.awl-legal-eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}

.awl-legal-section h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.3;
  margin-bottom: 16px;
}

.awl-legal-section p,
.awl-legal-section li {
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--charcoal);
}

.awl-legal-section ul {
  margin: 0 0 14px 20px;
  list-style: disc;
}

.awl-legal-section li {
  margin-bottom: 10px;
}

/* ============================================================
   8b. WCAG AA CONTRAST PASS (axe-core audit, July 12 2026)
   Alpha bumps on muted text so composited color clears 4.5:1.
   Gold-on-light brand elements intentionally untouched pending
   design decision (see session log).
   ============================================================ */

/* Dark backgrounds (navy deep / navy mid) */
.awl-footer-legal,
.awl-footer-legal a {
  color: rgba(242,242,237,0.58);
}
.awl-footer-copyright {
  color: rgba(242,242,237,0.55);
}
.awl-cta-sub {
  color: rgba(242,242,237,0.62);
}
.awl-stripe-sub {
  color: rgba(242,242,237,0.6);
}
.awl-cta-phone {
  color: rgba(206,181,148,0.72);
}
.awl-testi-frame-note {
  color: rgba(242,242,237,0.62);
}

/* Light backgrounds (parchment / white) */
.awl-r-chip {
  color: rgba(31,39,45,0.72);
}
.awl-r-card-date,
.awl-a-footer-meta {
  color: rgba(31,39,45,0.7);
}
.awl-form-note {
  color: rgba(31,39,45,0.72);
}
.awl-lg-crumb {
  color: rgba(31,39,45,0.75);
}
.awl-lg-crumb a {
  color: rgba(31,39,45,0.7);
}
.awl-lg-lead {
  color: rgba(31,39,45,0.72);
}
.awl-lg-updated {
  color: rgba(31,39,45,0.7);
}
.awl-lg-toc nav a {
  color: rgba(31,39,45,0.72);
}

/* WPForms Modern dropdown placeholder (Choices.js dims to ~3.5:1) */
.wpforms-form .choices__placeholder {
  color: #6b7076 !important;
  opacity: 1 !important;
}
