/*
Theme Name: Aspen Analytics
Theme URI: https://example.com/
Author: Aspen Analytics LLC
Description: Custom theme for Aspen Analytics LLC. Data & research plus web & technology services, with a government-ready Capabilities page. Page content is built from editable blocks; business details (email, phone, UEI, CAGE, capability statement PDFs, booking link) live in Appearance > Customize > Aspen Analytics.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aspen-analytics
*/

:root{
  --aa-ev:#1F3D34; --aa-ev-deep:#142821; --aa-gold:#D9A441; --aa-gold-ink:#8A5A0B; --aa-brown:#4A3426;
  --aa-bone:#F4F1EA; --aa-paper:#FFFDF8; --aa-line:#D8D1C0; --aa-ink:#1E1E1B; --aa-muted:#5E625C; --aa-sage:#A8B5AE; --aa-sand:#C9C2B0; --aa-cream:#E8E3D6;
  --aa-serif:'Lora',Georgia,'Times New Roman',serif;
  --aa-sans:'Poppins','Helvetica Neue',Arial,sans-serif;
  --aa-shadow:6px 14px 36px rgba(31,61,52,0.12);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
html,body{overflow-x:hidden;}
@supports (overflow:clip){html,body{overflow-x:clip;}}
body{margin:0;background:var(--aa-bone);color:var(--aa-ink);font-family:var(--aa-sans);font-weight:300;font-size:17px;line-height:1.6;}
.aa-page{overflow-x:clip;}
/* Classic-theme safety: if WordPress adds an inner wrapper, let grids see the real children. */
.wp-block-group__inner-container{display:contents;}
img{max-width:100%;height:auto;}
a{color:var(--aa-gold-ink);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--aa-ev);}
::selection{background:var(--aa-gold);color:#141414;}
:focus-visible{outline:3px solid var(--aa-gold);outline-offset:3px;}
h1,h2,h3,h4{color:var(--aa-ev);margin:0 0 .5em;line-height:1.15;}
p{margin:0 0 1em;}
strong,b{font-weight:600;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;}
.aa-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--aa-ev);color:var(--aa-bone);padding:12px 18px;border-radius:8px;font-weight:700;text-decoration:none;}
.aa-skip:focus{left:12px;color:var(--aa-bone);}
.aa-wrap{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;}

/* ---------- Utility bar + header ---------- */
.aa-utility{background:var(--aa-ev);color:var(--aa-bone);font-size:13px;}
.aa-utility .aa-wrap{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap;min-height:40px;padding-top:6px;padding-bottom:6px;}
.aa-utility a{color:var(--aa-bone);text-decoration:none;}
.aa-utility a:hover{color:var(--aa-gold);}
.aa-utility__group{display:flex;gap:8px 22px;flex-wrap:wrap;align-items:center;}
.aa-utility__meta{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--aa-sand);}
.aa-utility__pdf{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--aa-gold)!important;}

.aa-header{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--aa-line);}
.admin-bar .aa-header{top:32px;}
@media (max-width:782px){.admin-bar .aa-header{top:0;position:relative;}}
.aa-header .aa-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;position:relative;}
.aa-brand{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;}
.aa-brand svg{flex:0 0 auto;}
.aa-brand .custom-logo{max-height:44px;width:auto;}
.aa-wordmark{font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:var(--aa-brown);}
.aa-wordmark span{color:var(--aa-ev);}
.aa-nav{display:flex;align-items:center;gap:8px 30px;flex-wrap:wrap;}
.aa-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 30px;flex-wrap:wrap;}
.aa-nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-ev);text-decoration:none;transition:color .16s;}
.aa-nav a:hover,.aa-nav .current-menu-item>a,.aa-nav .current_page_item>a{color:var(--aa-gold-ink);}

/* ---------- Buttons ---------- */
.aa-btn,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:9999px;font-family:var(--aa-sans);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:2px solid var(--aa-ev);background:var(--aa-ev);color:var(--aa-bone);transition:background .18s,color .18s,border-color .18s;line-height:1.2;}
.aa-btn:hover,.wp-block-button .wp-block-button__link:hover{background:var(--aa-ev-deep);border-color:var(--aa-ev-deep);color:var(--aa-bone);}
.aa-btn--gold,.wp-block-button.aa-btn-gold .wp-block-button__link{background:var(--aa-gold);border-color:var(--aa-gold);color:#141414;}
.aa-btn--gold:hover,.wp-block-button.aa-btn-gold .wp-block-button__link:hover{background:#E6B95F;border-color:#E6B95F;color:#141414;}
.aa-btn--ghost,.wp-block-button.aa-btn-ghost .wp-block-button__link{background:transparent;color:var(--aa-ev);}
.aa-btn--ghost:hover,.wp-block-button.aa-btn-ghost .wp-block-button__link:hover{background:var(--aa-ev);color:var(--aa-bone);}
.aa-btn--light,.wp-block-button.aa-btn-light .wp-block-button__link{background:transparent;color:var(--aa-bone);border-color:var(--aa-bone);}
.aa-btn--light:hover,.wp-block-button.aa-btn-light .wp-block-button__link:hover{background:var(--aa-bone);color:var(--aa-ev);}
.aa-btn--sm{min-height:44px;padding:0 22px;font-size:13px;}
.wp-block-buttons,.aa-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.wp-block-buttons>.wp-block-button{margin:0;}

/* ---------- Sections and type ---------- */
.aa-page{display:block;}
.aa-section{padding:104px 0;margin:0!important;}
.aa-section.is-hero{padding:72px 0 96px;}
.aa-section.is-tight{padding:56px 0;}
.aa-section.is-flush-top{padding-top:0;}
.aa-section.is-dark{background:var(--aa-ev);color:var(--aa-bone);}
.aa-section.is-darker{background:var(--aa-ev-deep);color:var(--aa-bone);}
.aa-section.is-paper{background:var(--aa-paper);border-top:1px solid var(--aa-line);border-bottom:1px solid var(--aa-line);}
.aa-section .aa-wrap>*:first-child{margin-top:0;}
.aa-eyebrow{font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--aa-gold-ink);margin:0 0 12px;}
.is-dark .aa-eyebrow,.is-darker .aa-eyebrow{color:var(--aa-gold);}
.aa-h2{font-family:var(--aa-serif);font-weight:400;font-size:clamp(34px,4.4vw,60px);line-height:1.08;color:var(--aa-ev);max-width:820px;margin:0 0 48px;}
.is-dark .aa-h2,.is-darker .aa-h2{color:var(--aa-bone);}
.aa-h2.is-small{font-size:clamp(30px,3.4vw,46px);margin-bottom:12px;}
.aa-lead{font-weight:300;font-size:clamp(17px,1.5vw,21px);line-height:1.6;max-width:680px;margin:44px 0 0;}
.is-dark .aa-lead{color:var(--aa-cream);}
.aa-kicker{font-family:var(--aa-serif);font-size:clamp(24px,2.6vw,36px);line-height:1.3;color:var(--aa-ev);margin:44px 0 0;max-width:760px;}
.aa-pre{font-family:var(--aa-serif);font-size:clamp(26px,3vw,40px);line-height:1.2;color:var(--aa-ev);margin:0 0 6px;max-width:560px;}
.aa-signoff{font-family:var(--aa-serif);font-style:italic;font-size:22px;color:var(--aa-gold-ink);margin:24px 0 0;}
.is-dark .aa-signoff{color:var(--aa-gold);}
.aa-bar{width:120px;height:12px;background:var(--aa-gold);border-radius:4px;margin:0 0 18px;}

/* Hero word inside a brutalist frame */
.aa-hero-frame{position:relative;border:4px solid var(--aa-ev);padding:6px 120px 0 20px;margin:18px -60px 0 0;width:fit-content;max-width:calc(100% + 60px);}
/* Gold line: sits neatly under the frame, aligned to its left edge */
.aa-hero-frame::after{content:"";position:absolute;left:-4px;top:calc(100% + 14px);width:180px;height:12px;background:var(--aa-gold);border-radius:4px;}
.aa-heroword{font-family:var(--aa-serif)!important;font-weight:400;font-size:clamp(52px,15vw,230px)!important;line-height:.95;letter-spacing:-.03em;color:var(--aa-ev);white-space:nowrap;margin:0!important;padding-bottom:.12em;}
.aa-bigword{font-family:var(--aa-serif);font-size:clamp(100px,18vw,260px);line-height:.85;letter-spacing:-.03em;color:var(--aa-bone);margin:0 0 0 -8px;}
.aa-bigword::after{content:"";display:block;width:220px;height:14px;background:var(--aa-gold);border-radius:4px;margin:30px 0 0 8px;}
.aa-bigword+.aa-lead{margin-top:48px;}

/* ---------- Grids ---------- */
.aa-grid-2,.aa-grid-3,.aa-grid-4,.aa-grid-5,.aa-hero-grid{display:grid;gap:24px;}
.aa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.aa-grid-2.is-wide-gap{gap:56px;}
.aa-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.aa-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.aa-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.aa-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center;}
.aa-hero-grid.is-top{align-items:start;}
.aa-grid-2>*,.aa-grid-3>*,.aa-grid-4>*,.aa-grid-5>*,.aa-hero-grid>*{margin:0!important;min-width:0;}
@media (max-width:960px){
  .aa-grid-3,.aa-grid-4,.aa-grid-5{grid-template-columns:repeat(2,minmax(0,1fr));}
  .aa-hero-grid,.aa-grid-2{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:620px){
  .aa-wrap{padding-left:20px;padding-right:20px;}
  .aa-grid-3,.aa-grid-4{grid-template-columns:minmax(0,1fr);}
  .aa-hide-sm{display:none!important;}
}

/* ---------- Cards ---------- */
.aa-card{background:var(--aa-paper);border-radius:28px;padding:32px;box-shadow:var(--aa-shadow);position:relative;}
.aa-card.is-large{border-radius:40px;padding:40px;}
.aa-card>*:last-child{margin-bottom:0;}
.aa-frame{border:4px solid var(--aa-ev);background:var(--aa-paper);padding:32px;position:relative;}
.aa-frame.is-bone{background:var(--aa-bone);}
.aa-frame.is-tab::before{content:"";position:absolute;top:-9px;right:36px;width:120px;height:14px;background:var(--aa-gold);border-radius:4px;}
.aa-frame>*:last-child{margin-bottom:0;}
.aa-darkcard{background:var(--aa-ev);color:var(--aa-bone);padding:40px;position:relative;}
.aa-darkcard.is-round{border-radius:32px;padding:36px;}
.aa-darkcard h2,.aa-darkcard h3{color:var(--aa-bone);}
.aa-darkcard p{color:var(--aa-cream);}
.aa-darkcard a:not(.wp-block-button__link):not(.aa-btn){color:var(--aa-gold);}
.aa-darkcard>*:last-child{margin-bottom:0;}
.aa-card-title{font-family:var(--aa-serif);font-weight:400;font-size:40px;margin:10px 0 14px;}
.aa-card-label{font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--aa-muted);margin:0;}
.aa-darkcard .aa-card-label{color:var(--aa-sage);}
.aa-h3{font-size:19px;font-weight:700;color:var(--aa-ev);margin:0 0 12px;font-family:var(--aa-sans);}
.aa-darkcard .aa-h3,.is-dark .aa-h3{color:var(--aa-bone);}
.aa-small{font-size:15px;line-height:1.6;}
.is-dark .aa-small{color:var(--aa-sand);}
.aa-textlink{font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0;}
.aa-textlink a{color:var(--aa-gold-ink);text-decoration:none;}
.aa-textlink a:hover{color:var(--aa-ev);}
.aa-darkcard .aa-textlink a,.is-dark .aa-textlink a{color:var(--aa-gold);}

/* Numbered pillars, process steps, stats */
.aa-pillar{border-top:4px solid var(--aa-ev);padding-top:22px;}
.aa-pillar.is-gold{border-top:2px solid var(--aa-gold);padding-top:18px;}
.aa-num{font-family:var(--aa-serif);font-size:64px;line-height:1;color:var(--aa-line);margin:0 0 14px;}
.aa-num.is-gold{color:var(--aa-gold);font-size:56px;}
.aa-stat-n{font-family:var(--aa-serif);font-size:clamp(40px,4vw,60px);line-height:1;color:var(--aa-gold);margin:0;}
.aa-stat-l{font-size:15px;line-height:1.5;color:var(--aa-sand);margin:10px 0 0;}
.aa-values .aa-h3{font-family:var(--aa-serif);font-weight:400;font-size:28px;}

/* Checklists */
ul.aa-check{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:12px;}
ul.aa-check li{position:relative;padding-left:38px;min-height:26px;font-weight:400;font-size:16px;line-height:1.5;}
ul.aa-check li::before{content:"✓";position:absolute;left:0;top:0;width:26px;height:26px;border:2px solid var(--aa-gold-ink);border-radius:9999px;color:var(--aa-gold-ink);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.aa-darkcard ul.aa-check li::before,.is-dark ul.aa-check li::before{border-color:var(--aa-gold);color:var(--aa-gold);}
ul.aa-check.is-compact li{font-weight:300;font-size:15px;}
ul.aa-check.is-rows{gap:0;}
ul.aa-check.is-rows li{padding:0 0 16px 42px;margin-bottom:16px;border-bottom:1px solid var(--aa-line);}

/* Line lists (work, competencies) */
.aa-rule-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:4px solid var(--aa-ev);padding-bottom:12px;margin:0 0 8px;}
.aa-rule-title h3{margin:0;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-ev);font-family:var(--aa-sans);}
.aa-rule-title p{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--aa-muted);}
.aa-item{padding:20px 0;border-bottom:1px solid var(--aa-line);}
.aa-item>*:last-child{margin-bottom:0;}
.aa-item h4{font-family:var(--aa-sans);font-weight:700;font-size:17px;color:var(--aa-ev);margin:0 0 6px;}
.aa-item p{font-size:15px;line-height:1.6;margin:0;}
.aa-item .aa-link{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;}

/* Badges */
.aa-badges{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:28px 0 0;}
.aa-badges li{display:inline-flex;align-items:center;min-height:36px;padding:6px 16px;border-radius:9999px;background:var(--aa-ev);color:var(--aa-bone);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.aa-badges.is-outline li{background:transparent;border:2px solid var(--aa-gold-ink);color:var(--aa-gold-ink);font-size:13px;letter-spacing:.06em;}
.aa-badges-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-muted);margin:22px 0 0;}
.aa-badges-label+.aa-badges{margin-top:10px;}

/* Experience cards */
.aa-exp-when{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-muted);margin:0 0 6px;}
.aa-exp-result{font-weight:600;color:var(--aa-ev);}
.aa-exp-result strong{color:var(--aa-gold-ink);}

/* Data table (company data, credentials) */
.aa-data{margin:0;}
.aa-data-row{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid rgba(244,241,234,.18);}
.aa-data dt{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-sage);}
.aa-data dd{margin:0;font-size:15px;line-height:1.55;color:var(--aa-bone);font-weight:400;}
.aa-data.is-light .aa-data-row{border-bottom:0;border-top:1px solid var(--aa-line);grid-template-columns:minmax(0,130px) minmax(0,1fr);}
.aa-data.is-light dt{color:var(--aa-gold-ink);}
.aa-data.is-light dd{color:var(--aa-ink);font-weight:300;}
@media (max-width:420px){.aa-data-row{grid-template-columns:minmax(0,1fr);gap:4px;}}
.aa-person{display:flex;gap:18px;align-items:center;margin:0 0 26px;}
.aa-avatar{flex:0 0 auto;width:76px;height:76px;border-radius:9999px;background:var(--aa-ev);color:var(--aa-gold);display:flex;align-items:center;justify-content:center;font-family:var(--aa-serif);font-size:36px;}
.aa-person-name{font-weight:700;font-size:19px;color:var(--aa-ev);margin:0;}
.aa-person-role{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-muted);margin:4px 0 0;}

/* Marquee */
.aa-marquee{overflow:hidden;border-bottom:1px solid var(--aa-line);padding:22px 0;background:var(--aa-bone);}
.aa-marquee__track{display:flex;gap:44px;width:max-content;animation:aa-marq 38s linear infinite;}
.aa-marquee__track span{font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--aa-ev);white-space:nowrap;}
.aa-marquee__track span::after{content:"●";color:var(--aa-gold);margin-left:44px;}
@keyframes aa-marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.aa-marquee__track{animation:none;}}

/* Insights */
.aa-insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:40px;}
.aa-insights-head .aa-h2{margin:0;}
.aa-post-card{display:block;background:var(--aa-paper);border-radius:28px;padding:32px;box-shadow:var(--aa-shadow);color:var(--aa-ink);text-decoration:none;transition:transform .2s,box-shadow .2s;}
.aa-post-card:hover{transform:translateY(-3px);box-shadow:10px 20px 48px rgba(31,61,52,.18);color:var(--aa-ink);}
.aa-post-card__tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-gold-ink);}
.aa-post-card__title{font-family:var(--aa-serif);font-weight:400;font-size:24px;line-height:1.25;color:var(--aa-ev);margin:12px 0 10px;}
.aa-post-card__more{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--aa-ev);}
.aa-post-card__date{font-size:13px;color:var(--aa-muted);}

/* Single post / generic page */
.aa-article{max-width:800px;margin:0 auto;}
.aa-article .aa-entry>*{margin-bottom:1.1em;}
.aa-article .aa-entry h2{font-family:var(--aa-serif);font-weight:400;font-size:36px;margin-top:1.4em;}
.aa-article .aa-entry h3{font-size:22px;margin-top:1.3em;}
.aa-article .aa-entry ul,.aa-article .aa-entry ol{padding-left:1.3em;}
.aa-article-title{font-family:var(--aa-serif);font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1.08;color:var(--aa-ev);margin:12px 0 18px;}
.aa-meta{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--aa-muted);}
.aa-pagination{display:flex;gap:12px;justify-content:center;margin-top:48px;flex-wrap:wrap;}
.aa-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:2px solid var(--aa-line);border-radius:9999px;text-decoration:none;color:var(--aa-ev);font-weight:600;}
.aa-pagination .current{background:var(--aa-ev);border-color:var(--aa-ev);color:var(--aa-bone);}

/* ---------- Forms ---------- */
.aa-form{display:flex;flex-direction:column;gap:20px;}
.aa-form .aa-grid-2{gap:16px;}
.aa-label,.aa-form legend{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-ev);margin:0 0 8px;padding:0;}
.aa-field{width:100%;min-height:52px;padding:14px 16px;border:2px solid var(--aa-line);border-radius:14px;background:var(--aa-paper);font-family:var(--aa-sans);font-size:16px;color:var(--aa-ink);outline:none;}
.aa-field:focus{border-color:var(--aa-ev);box-shadow:0 0 0 3px rgba(31,61,52,.12);}
textarea.aa-field{resize:vertical;min-height:140px;}
.aa-form fieldset{border:0;padding:0;margin:0;}
.aa-chips{display:flex;flex-wrap:wrap;gap:10px;}
.aa-chip{position:relative;}
.aa-chip input{position:absolute;opacity:0;width:1px;height:1px;}
.aa-chip span{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:9999px;border:2px solid var(--aa-line);background:var(--aa-paper);color:var(--aa-ev);font-weight:600;font-size:14px;cursor:pointer;transition:all .16s;}
.aa-chip input:checked+span{background:var(--aa-ev);border-color:var(--aa-ev);color:var(--aa-bone);}
.aa-chip input:focus-visible+span{outline:3px solid var(--aa-gold);outline-offset:3px;}
.aa-hp{position:absolute!important;left:-9999px!important;}
.aa-notice{border-radius:16px;padding:18px 20px;margin:0 0 20px;font-weight:400;}
.aa-notice.is-ok{background:#E5EEE9;color:var(--aa-ev);border:2px solid var(--aa-ev);}
.aa-notice.is-err{background:#F6E7E2;color:#7A2A12;border:2px solid #7A2A12;}
.aa-contact-list{display:flex;flex-direction:column;gap:14px;font-size:16px;margin:0 0 26px;}
.aa-contact-list dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-sage);}
.aa-contact-list dd{margin:0;color:var(--aa-bone);font-weight:400;}
.aa-contact-list a{color:var(--aa-bone)!important;}

/* ---------- Footer ---------- */
.aa-footer{background:var(--aa-ev-deep);color:var(--aa-bone);padding:72px 0 40px;}
.aa-footer a{color:var(--aa-bone);text-decoration:none;}
.aa-footer a:hover{color:var(--aa-gold);}
.aa-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;align-items:start;}
@media (max-width:800px){.aa-footer__grid{grid-template-columns:minmax(0,1fr);}}
.aa-footer__mark{display:inline-flex;padding:6px 6px 4px;background:var(--aa-bone);border-radius:10px;}
.aa-footer__brand{display:flex;align-items:center;gap:12px;}
.aa-footer__brand .aa-wordmark{color:var(--aa-bone);}
.aa-footer__brand .aa-wordmark span{color:var(--aa-gold);}
.aa-footer__tag{font-family:var(--aa-serif);font-style:italic;font-size:24px;color:var(--aa-gold);margin:14px 0 0;}
.aa-footer__about{font-size:14px;line-height:1.7;color:var(--aa-sand);max-width:420px;margin:16px 0 0;}
.aa-footer__head{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-sage);margin:0 0 12px;}
.aa-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.aa-footer ul a{display:inline-flex;align-items:center;min-height:40px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;}
.aa-footer__company{font-size:14px;line-height:1.9;color:var(--aa-cream);}
.aa-footer__bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(244,241,234,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-sage);}

/* Large rule titles (Services) */
.aa-rule-title.is-large{margin-bottom:32px;padding-bottom:14px;}
.aa-rule-title.is-large h2{font-family:var(--aa-serif);font-weight:400;font-size:clamp(32px,3.6vw,48px);letter-spacing:0;text-transform:none;margin:0;}
.aa-rule-title.is-large p{font-size:13px;letter-spacing:.12em;}
.aa-rule-title.is-large p a{color:var(--aa-gold-ink);font-weight:700;text-decoration:none;}
.aa-rule-title.is-large p a:hover{color:var(--aa-ev);}

/* Stacks and prose */
.aa-stack{display:flex;flex-direction:column;gap:24px;}
.aa-stack>*{margin:0!important;}
.aa-prose p{font-size:18px;line-height:1.7;}
.aa-prose .aa-signoff{font-size:26px;margin-top:30px;padding-top:22px;border-top:1px solid var(--aa-line);}
.aa-darkcard .aa-eyebrow{color:var(--aa-gold);font-size:14px;margin-bottom:18px;}
.is-dark .wp-block-buttons,.is-dark .aa-buttons{margin-top:32px;}
.aa-card .aa-form .aa-grid-2{gap:16px;}

/* Header CTA keeps button colors inside the nav */
.aa-nav a.aa-btn{color:var(--aa-bone);min-height:44px;}
.aa-nav a.aa-btn:hover{color:var(--aa-bone);}
.aa-hero-frame+.aa-lead,.aa-hero-frame+.aa-kicker{margin-top:68px;}
.aa-hero-grid .aa-hero-frame{margin-right:0;padding-right:48px;max-width:100%;}
.aa-hero-grid .aa-heroword{font-size:clamp(52px,12vw,190px)!important;}

.aa-pay-note{margin:40px 0 0;color:var(--aa-sand);max-width:680px;}
.aa-stat-n:not(.is-text){white-space:nowrap;}
@media (max-width:1200px) and (min-width:961px){.aa-stat-n:not(.is-text){font-size:clamp(34px,3.4vw,48px);}}
@media (max-width:620px){.aa-stat-n:not(.is-text){font-size:clamp(28px,8vw,36px);}.aa-stat-n.is-text{font-size:26px;}}

/* Stat that is a name rather than a number */
.aa-stat-n.is-text{font-style:italic;font-size:clamp(26px,2.4vw,34px);line-height:1.15;padding-top:6px;}

/* ---------- Mobile menu ---------- */
.aa-menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:2px solid var(--aa-ev);border-radius:9999px;background:transparent;color:var(--aa-ev);font-family:var(--aa-sans);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
.aa-menu-toggle svg{display:block;}
.aa-menu-toggle[aria-expanded="true"]{background:var(--aa-ev);color:var(--aa-bone);}
.aa-u-short{display:none;}
@media (max-width:860px){
  .aa-menu-toggle{display:inline-flex;}
  .aa-header .aa-wrap{flex-wrap:nowrap;}
  .aa-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--aa-bone);border-bottom:1px solid var(--aa-line);box-shadow:0 18px 30px rgba(31,61,52,.10);padding:8px 20px 24px;flex-direction:column;align-items:stretch;gap:8px;}
  .aa-nav.is-open{display:flex;}
  .aa-nav ul{flex-direction:column;gap:0;}
  .aa-nav ul a{width:100%;min-height:52px;font-size:15px;border-bottom:1px solid var(--aa-line);}
  .aa-nav .aa-btn{display:inline-flex!important;width:100%;margin-top:12px;min-height:52px;}
  .aa-header{position:sticky;}
}

/* ---------- Phones ---------- */
@media (max-width:620px){
  body{font-size:16px;}
  .aa-u-full{display:none;}
  .aa-u-short{display:inline;}
  .aa-utility__group{gap:6px 18px;}
  .aa-utility a{display:inline-flex;align-items:center;min-height:32px;font-weight:600;}
  .aa-section{padding:64px 0;}
  .aa-section.is-hero{padding:36px 0 64px;}
  .aa-section.is-tight{padding:44px 0;}
  .aa-hero-frame{margin:14px 0 0;padding:4px 14px 0 12px;max-width:100%;}
  .aa-hero-frame::after{width:120px;height:10px;top:calc(100% + 12px);}
  .aa-hero-frame+.aa-lead,.aa-hero-frame+.aa-kicker{margin-top:52px;}
  .aa-pre{font-size:24px;}
  .aa-h2{margin-bottom:32px;}
  .aa-bigword{font-size:clamp(80px,26vw,140px);}
  .aa-bigword::after{width:140px;height:10px;margin-top:22px;}
  .wp-block-buttons,.aa-buttons{flex-direction:column;align-items:stretch;}
  .wp-block-buttons>.wp-block-button,.wp-block-buttons .wp-block-button__link,.aa-buttons>.aa-btn{width:100%;}
  .aa-card,.aa-card.is-large{padding:26px 22px;border-radius:24px;}
  .aa-frame,.aa-darkcard,.aa-darkcard.is-round{padding:26px 22px;}
  .aa-card-title{font-size:32px;}
  .aa-num{font-size:48px;}
  .aa-grid-2,.aa-grid-2.is-wide-gap{gap:24px;}
  .aa-hero-grid{gap:36px;}
  .aa-insights-head{margin-bottom:28px;}
  .aa-badges li{font-size:11px;padding:6px 12px;}
  .aa-footer{padding:56px 0 32px;}
}
@media (max-width:960px){
  .aa-grid-5>*:last-child:nth-child(odd){grid-column:1/-1;}
}
.aa-badges+.wp-block-buttons,.aa-badges+.aa-buttons,.aa-badges+p+.aa-badges{margin-top:10px;}
.aa-section .aa-buttons:first-child{margin-top:0;}

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper{background:var(--aa-bone);}
.editor-styles-wrapper .is-root-container>.wp-block{max-width:none;}
.editor-styles-wrapper .aa-wrap{max-width:1200px;}
