/* ATTUNEA · green/plum system, 5 November 2026. Original logos and media retained. */
:root {
  --at-green: #D0E3C4;
  --at-green-soft: #E7EFDF;
  --at-surface: #FAFBF8;
  --at-white: #FFFFFF;
  --at-ink: #503047;
  --at-muted: #695761;
  --at-border: #D6DED1;
  --at-paper: #EDF3E8;
  --at-card: #F0F4EC;
  --at-field: #FDFEFC;
  --at-radius: 18px;
  --at-gradient: linear-gradient(125deg, var(--at-green) 0%, var(--at-green-soft) 52%, var(--at-surface) 100%);
  --av-font: var(--wp--preset--font-family--dm-sans, 'DM Sans', Arial, sans-serif);
  --av-serif: var(--wp--preset--font-family--playfair, 'Playfair Display', Georgia, serif);
}

body { background: var(--at-surface); color: var(--at-ink); }
body .wp-site-blocks > header { background: var(--at-surface); }
body.home .wp-site-blocks > header { background: transparent; }
.av-home { font-family: var(--av-font); }
.av-width { width: calc(100% - 96px); max-width: 1200px; }
.av-panel { width: calc(100% - 96px); max-width: 1200px; border-radius: var(--at-radius); }
.av-home :is(h1,h2,h3), .av-document :is(h1,h2,h3), .wp-block-post-title {
  font-family: var(--av-font); font-weight: 500; letter-spacing: -.04em; line-height: 1.15;
}
.av-home h2 { font-size: clamp(32px, 3.6vw, 48px); }
.av-home h3 { font-size: clamp(25px, 2.8vw, 34px); }
.av-label { font-family: var(--av-font); font-size: 11px; font-weight: 600; letter-spacing: .09em; }
.av-home .av-label { font-size: 11px; }

/* Navigation stays white; the same two colours carry the controls. */
.av-nav-pill.wp-block-group { border-color: var(--at-border); box-shadow: 0 6px 24px #50304708; }
.av-nav-pill .wp-block-navigation { font: 600 13px/1.5 var(--av-font); }
.av-nav-pill .wp-block-navigation__container { gap: 18px !important; }
.av-nav-pill .wp-block-navigation__submenu-container { border: 1px solid var(--at-border); border-radius: 12px; box-shadow: 0 8px 24px #5030470d; }
.av-nav-pill .wp-block-navigation__submenu-container a { font: 500 14px/1.5 var(--av-font); }
.av-header .wp-block-navigation-item a:hover { text-decoration-color: var(--at-ink); }
.av-nav-book { border-radius: 12px; font: 600 13px/1.5 var(--av-font); gap: 14px; padding-left: 18px; }
.av-nav-book span, .av-arrow { background: var(--at-green); color: var(--at-ink); border-radius: 8px; }
.av-nav-book:hover { background: #64435A; }

/* A flat photographic composition and a quieter type scale. */
.av-hero { background: var(--at-gradient); min-height: 0; padding: 176px 0 52px; }
.av-hero-grid { grid-template-columns: 1.1fr 1fr; gap: 64px; }
.av-home .av-hero h1 { font-size: clamp(42px, 4.8vw, 66px); font-weight: 500; line-height: 1.09; letter-spacing: -.045em; }
.av-home .av-hero h1 em { font: inherit; letter-spacing: inherit; }
.av-home .av-hero-tagline { font: 400 clamp(22px, 2.1vw, 27px)/1.45 var(--av-font); margin-top: 28px; max-width: 470px; }
.av-home .av-hero-lead { font: 400 17px/1.75 var(--av-font); max-width: 490px; }
.av-hero .av-label { font-size: 11px; margin-bottom: 26px; }
.av-hero .av-label > span { background: var(--at-ink); }
.av-hero-visual { min-height: 480px; margin: 0; }
.av-photo-main { left: 13%; right: 0; top: 0; height: 410px; padding: 0; border-radius: var(--at-radius); transform: none; box-shadow: none; background: var(--at-green); }
.av-photo-main > img { border-radius: 0; }
.av-photo-small { left: 0; bottom: 0; width: 47%; height: 176px; border-width: 6px; border-radius: 16px; transform: none; box-shadow: 0 8px 24px #50304710; }
.av-photo-note { bottom: 0; right: 0; padding: 13px 16px; border: 1px solid var(--at-border); border-radius: 12px; box-shadow: none; }
.av-photo-note > span { display: none; }
.av-photo-note p { font: 400 12px/1.5 var(--av-font); }
.av-hero-base { border-color: #50304726; margin-top: 48px !important; padding-top: 20px; }
.av-hero-base p { font: 400 12px/1.6 var(--av-font); }
.av-hero-base b { border-color: #50304755; border-radius: 10px; }
.av-index { margin-top: 0 !important; border: 0; border-bottom: 1px solid var(--at-border); border-radius: 0; box-shadow: none; background: transparent; }
.av-index a { padding: 24px 16px; border-right: 0; font: 500 13px/1.5 var(--av-font); }
.av-index span { text-decoration: none; font-weight: 600; }
.av-index a:hover { background: var(--at-green-soft); border-radius: 8px; }

/* Buttons share shape, spacing and states across the site. */
.av-button { gap: 18px; padding: 10px 12px 10px 20px; min-height: 50px; border-radius: 12px; font: 600 14px/1.45 var(--av-font); white-space: normal; text-align: left; transition: background .15s; }
.av-button:hover { transform: none; background: #64435A; }
.av-arrow { width: 28px; height: 28px; font-size: 18px; }
.av-text-link { font: 600 13px/1.5 var(--av-font); border-bottom-color: #50304766; }
.av-card-link { font: 600 14px/1.5 var(--av-font); gap: 14px; }
.wp-block-button__link { border-radius: 12px !important; font: 600 14px/1.5 var(--av-font); }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color: var(--at-ink); }
.av-hero :focus-visible, .av-manifesto :focus-visible { outline-color: var(--at-ink); }
.entry-content a:not(.wp-element-button):not(.wp-block-button__link) { text-decoration-color: #50304780; }

/* Three comparable services, one compact row on desktop. */
.av-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding-top: 80px; padding-bottom: 80px; }
.av-services > .av-section-heading { grid-column: 1/-1; margin-bottom: 8px; }
.av-services > .av-section-heading, .av-services > .av-section-heading > div { min-width: 0; }
.av-home .av-services h1 { font-size: clamp(30px,4vw,52px); line-height: 1.14; overflow-wrap: anywhere; }
.av-section-heading { gap: 32px; margin-bottom: 32px; }
.av-section-heading .av-label { margin-bottom: 16px; }
.av-service { display: flex; flex-direction: column; position: relative; min-height: 0; margin: 0; border: 1px solid var(--at-border); border-radius: var(--at-radius); background: var(--at-white); transition: border-color .15s; }
.av-service:hover, .av-team-card:hover, .av-blog-card:hover { transform: none; box-shadow: none; border-color: #94808C; }
.av-service > .av-number { position: absolute; left: 16px; top: 16px; padding: 7px 8px; min-width: 34px; border-radius: 8px; font: 600 13px/1.3 var(--av-font); text-decoration: none; }
.av-service > figure { width: 100%; height: 244px; min-height: 0; padding: 0; }
.av-service img { border-radius: 0; }
.av-service-copy { display: flex; flex: 1; flex-direction: column; align-self: stretch; padding: 28px; }
.av-service-copy .av-label { font-size: 11px; margin-bottom: 16px; }
.av-home .av-service :is(h2,h3) { font-size: clamp(25px,2.3vw,32px); font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.av-service-copy > p:not(.av-label) { font: 400 16px/1.7 var(--av-font); margin-top: 18px; }
.av-service-copy .av-card-link { margin-top: auto; padding-top: 24px; }

/* Editorial sections use pale surfaces rather than large dark panels. */
.av-manifesto { display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px 64px; padding: 56px; background: var(--at-green-soft); color: var(--at-ink); border: 1px solid var(--at-border); }
.av-manifesto-heading { grid-column: 1/-1; margin: 0; }
.av-manifesto-heading > span { display: none; }
.av-home .av-manifesto h2 { font-size: clamp(34px,3.6vw,48px); line-height: 1.15; }
.av-manifesto .av-source-copy { margin: 0; max-width: none; font: 400 17px/1.8 var(--av-font); }
.av-source-copy, .av-team-intro, .av-network { font-family: var(--av-font); }
.av-team { padding-block: 80px; }
.av-team .av-section-heading h2 { font-size: clamp(32px,3.6vw,48px); }
.av-team-grid { gap: 24px; margin-top: 32px; }
.av-team-card { border-color: var(--at-border); border-radius: var(--at-radius); font: 400 16px/1.75 var(--av-font); }
.av-team-card > figure { margin: 0; border-radius: 0; }
.av-team-card > div { padding: 28px; }
.av-team-card :is(h2,h3) { font: 600 clamp(27px,3vw,36px)/1.2 var(--av-font); letter-spacing: -.04em; }
.av-team-card .av-team-role { font-family: var(--av-font); font-weight: 600; }
.av-network { background: var(--at-gradient); border: 1px solid var(--at-border); border-radius: var(--at-radius); padding: 40px; gap: 40px; }
.av-network h2 { font-weight: 600 !important; }
.av-patterns { padding-block: 64px 80px; }
.av-pattern-grid { gap: 24px; border-top: 0; padding-top: 0; }
.av-pattern-grid article { padding: 28px; background: var(--at-white); border: 1px solid var(--at-border); border-radius: 16px; }
.av-pattern-grid .av-number { display: inline-block; text-decoration: none; font: 600 14px/1.5 var(--av-font); background: var(--at-green-soft); padding: 6px 10px; border-radius: 8px; }
.av-pattern-grid h3 { font-weight: 600; font-size: 23px; margin-block: 20px 14px; }
.av-pattern-grid p { font: 400 16px/1.75 var(--av-font); }
.av-contact { background: var(--at-green-soft); border: 1px solid var(--at-border); padding: 56px; text-align: left; }
.av-home .av-contact h2 { font-size: clamp(34px,3.6vw,48px); line-height: 1.15; letter-spacing: -.04em; }
.av-contact .av-source-copy { font: 400 17px/1.8 var(--av-font); margin: 24px 0 0; max-width: 760px; }
.av-contact .av-inline-actions { justify-content: flex-start; }
.av-quotes { padding-bottom: 64px; }
.av-newsletter { background: var(--at-gradient); border: 1px solid var(--at-border); padding: 48px; gap: 48px; margin-top: 0; }
.av-newsletter h2 { font-size: clamp(36px,4vw,52px); font-weight: 600; }
.av-newsletter-copy > p { font-size: 17px; }

/* All interior pages follow the same typography and surfaces. */
.av-document { font: 400 17px/1.85 var(--av-font); }
.av-document h1 { font-family: var(--av-font); font-weight: 600; font-size: clamp(34px,4.3vw,56px); }
.av-document h2 { font-family: var(--av-font); font-weight: 500; }
.av-document h3 { font-family: var(--av-font); font-weight: 500; }
.av-document .av-label { font-family: var(--av-font); }
.av-bio-hero { background: var(--at-gradient); border: 1px solid var(--at-border); border-radius: var(--at-radius); padding: 32px; gap: 48px; }
.av-bio-hero figure img { border: 0; border-radius: 14px; }
.av-bio-hero h1 { font-size: clamp(34px,4vw,54px) !important; font-weight: 600; }
.av-bio-subtitle { font: 400 20px/1.55 var(--av-font); }
.av-service-banner, .av-document img, .wp-block-post-featured-image img { border-radius: 16px; }
.av-clinical-note { border: 1px solid var(--at-border); border-left: 3px solid var(--at-ink); border-radius: 12px; background: var(--at-green-soft); }
.av-breadcrumb { font-size: 13px; }
.av-article-toc { background: var(--at-green-soft); border-color: var(--at-border); border-radius: 12px; }
body.single .wp-block-post-content { font: 400 17px/1.85 var(--av-font); }
.wp-block-heading, .wp-block-post-title { font-weight: 600; line-height: 1.18; }
.wp-block-query .wp-block-post, .av-blog-card { border-color: var(--at-border); border-radius: 16px; }
.wp-block-query .wp-block-post { box-shadow: none; }
.wp-block-post-excerpt { color: var(--at-muted); }
.wp-block-categories-list { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; }
.wp-block-categories-list li { margin: 0; }
.wp-block-categories-list a { display: block; padding: 10px 14px; border: 1px solid var(--at-border); border-radius: 8px; background: var(--at-white); font: 500 13px/1.5 var(--av-font); text-decoration: none; }
.wp-block-categories-list a:hover { background: var(--at-green-soft); }

/* Existing resources grouped into cards, with their full contents intact. */
.av-resource-app { background: var(--at-gradient); border: 1px solid var(--at-border); border-radius: var(--at-radius); }
.av-resource-app-mark { border-radius: 16px; }
.av-resource-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.av-resource-item { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid var(--at-border); border-radius: var(--at-radius); background: var(--at-white); }
.av-resource-item > img, .av-resource-item > a:first-child img { display: block; width: 100%; height: 220px; object-fit: contain; box-sizing: border-box; padding: 16px; background: var(--at-surface); border-radius: 12px; margin: 0 0 28px; }
.av-resource-item h2 { font-size: 27px; margin: 0 0 20px; }
.av-resource-item .av-button { align-self: flex-start; margin-top: auto; }
.av-resource-item p { font-size: 16px; }

/* Contact and portal feedback retain their existing behaviour. */
.av-contact-form { padding: 28px; border: 1px solid var(--at-border); border-radius: 16px; background: var(--at-white); }
.av-contact-form label { font: 600 14px/1.6 var(--av-font); }
.av-contact-form input:not([type=checkbox]), .av-contact-form select, .av-contact-form textarea, .av-newsletter-fields input { border: 1px solid #8B7683; border-radius: 8px; background: var(--at-white); font-family: var(--av-font); }
.av-contact-form label:first-of-type { margin-top: 0; }
.at-state { border: 1px solid #A8B99D; background: var(--at-green-soft); border-radius: 6px; font-family: var(--av-font); }
.at-notice { border-color: var(--at-ink); border-radius: 12px; background: var(--at-green-soft); }

/* Footer remains light green, with larger, calmer navigation. */
.wp-site-blocks > footer > .av-footer { background: var(--at-gradient) !important; border-radius: 20px 20px 0 0; margin-top: 48px !important; }
.wp-site-blocks > footer > .av-footer :is(p,nav) { font-size: 14px; line-height: 1.75; }
.wp-site-blocks > footer > .av-footer h3 { font: 600 13px/1.5 var(--av-font); letter-spacing: .06em; }
.wp-site-blocks > footer .wp-block-site-title { font-size: 32px; font-weight: 600; letter-spacing: .05em; }
.wp-site-blocks > footer .wp-block-group.has-branco-background-color { border: 1px solid var(--at-border); border-radius: 12px !important; }

@media (max-width:1120px) {
  .av-nav-pill .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .av-nav-pill .wp-block-navigation__responsive-container-open { display: flex !important; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; }
  .av-nav-pill .wp-block-navigation { justify-content: flex-end; }
  .av-nav-pill .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 18px; min-height: 44px; }
  .av-hero-grid { gap: 32px; }
  .av-hero-visual { min-height: 430px; }
  .av-photo-main { height: 370px; }
  .av-photo-small { height: 150px; }
  .av-service-copy { padding: 24px; }
  .av-services { gap: 18px; }
}

@media (max-width:900px) {
  .av-width, .av-panel { width: calc(100% - 48px); }
  .av-hero { padding: 132px 0 40px; }
  .av-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .av-home .av-hero h1 { font-size: clamp(42px,7.5vw,64px); }
  .av-hero-visual { max-width: 560px; width: 100%; margin: 0 auto; min-height: 450px; }
  .av-photo-main { height: 390px; }
  .av-photo-small { height: 165px; }
  .av-home .av-hero h1 em { font-size: 1em; }
  .av-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .av-index a { padding: 18px 12px; font-size: 12px; }
  .av-services { grid-template-columns: 1fr; padding-block: 56px; gap: 20px; }
  .av-service { display: grid; grid-template-columns: .8fr 1fr; }
  .av-service > figure { grid-column: 1; height: 100%; min-height: 290px; }
  .av-service-copy { grid-column: 2; padding: 28px; }
  .av-home .av-service :is(h2,h3) { font-size: 30px; }
  .av-manifesto { grid-template-columns: 1fr; padding: 36px; gap: 24px; }
  .av-team { padding-block: 56px; }
  .av-team-grid { grid-template-columns: 1fr; }
  .av-patterns { padding-block: 48px 56px; }
  .av-pattern-grid article { display: block; padding: 24px; }
  .av-pattern-grid h3 { margin-top: 18px; }
  .av-contact { padding: 36px; }
  .av-newsletter { padding: 36px; gap: 32px; }
  .av-bio-hero { grid-template-columns: 1fr; gap: 28px; }
  .av-network { padding: 32px; }
}

@media (max-width:600px) {
  .av-width, .av-panel { width: calc(100% - 32px); }
  .av-nav-book { font-size: 12px; gap: 8px; padding-left: 12px; }
  .av-nav-pill.wp-block-group { gap: 8px; }
  .av-hero { padding: 120px 0 32px; }
  .av-home .av-hero h1 { font-size: clamp(37px,9.8vw,54px); line-height: 1.08; }
  .av-home .av-hero-tagline { font-size: 22px; }
  .av-home .av-hero-lead { font-size: 16px; }
  .av-hero .av-label { font-size: 10px; }
  .av-hero-actions { gap: 20px; }
  .av-hero-visual { min-height: 350px; width: 100%; }
  .av-photo-main { left: 14%; right: 0; height: 295px; border-radius: 16px; }
  .av-photo-small { width: 46%; height: 128px; left: 0; bottom: 0; border-width: 5px; border-radius: 12px; }
  .av-photo-note { right: 0; bottom: 0; padding: 10px 12px; }
  .av-photo-note p { font-size: 10px; }
  .av-index a { gap: 8px; font-size: 11px; padding-inline: 8px; }
  .av-index span { font-size: 10px; }
  .av-service { display: flex; }
  .av-service > figure { height: 240px; min-height: 0; }
  .av-service-copy { padding: 24px; }
  .av-home .av-service :is(h2,h3) { font-size: 29px; }
  .av-home h2, .av-home .av-manifesto h2, .av-home .av-contact h2, .av-team .av-section-heading h2 { font-size: 34px; }
  .av-manifesto, .av-contact, .av-newsletter { padding: 28px 24px; }
  .av-team-card > div { padding: 24px; }
  .av-network { padding: 26px; gap: 24px; }
  .av-network h2 { font-size: 32px !important; }
  .av-document { font-size: 16px; }
  .av-bio-hero { padding: 20px; }
  .av-document h1, .av-bio-hero h1 { font-size: 36px !important; }
  .av-resource-grid { grid-template-columns: 1fr; }
  .av-resource-item { padding: 24px; }
  .av-resource-item h2 { font-size: 26px; }
  .av-contact-form { padding: 24px 20px; }
}

@media (max-width:359px) {
  .av-nav-book > span { display: none; }
  .attunea-brand { width: 100px; }
  .av-hero-visual { min-height: 310px; }
  .av-photo-main { height: 260px; }
  .av-photo-note p { font-size: 9px; }
  .av-photo-small { height: 115px; }
}

/* 6 November · editorial refinement. Shared geometry, quieter surfaces. */
.av-header.wp-block-group { padding: 24px 32px !important; }
.av-nav-pill.wp-block-group { max-width: 1200px !important; min-height: 72px; padding: 10px 16px 10px 24px !important; border-radius: 18px; box-shadow: none; }
.av-nav-pill .wp-block-navigation { font-weight: 500; }
.av-nav-book { min-height: 46px; border-radius: 10px; }
.attunea-brand { min-height: 44px; }
.av-nav-book span, .av-arrow { border-radius: 50%; }
.av-button { min-height: 50px; border-radius: 10px; font-weight: 500; }
.av-text-link, .av-card-link { font-weight: 500; }
.av-home .av-hero { padding-top: 170px; }
.av-hero::before { display: none; }
.av-hero-visual { min-height: 500px; }
.av-photo-main { left: 8%; height: 430px; border-radius: 18px; }
.av-photo-small { width: 42%; height: 154px; border-width: 5px; box-shadow: none; }
.av-photo-note { border: 0; padding: 10px 0; background: transparent; }
.av-photo-note p { font-size: 12px; }
.av-home .av-hero-lead { color: var(--at-muted); }
.av-home .av-hero-credentials { max-width: 490px; margin-top: 14px; font: 400 14px/1.75 var(--av-font); color: var(--at-muted); }
.av-index { max-width: 1200px; }
.av-index a { padding-block: 22px; }
.av-services { padding-block: 88px; gap: 28px; }
.av-service { border: 0; background: transparent; overflow: visible; }
.av-service > figure { height: 280px; border-radius: 16px; overflow: hidden; }
.av-service > .av-number { z-index: 1; font-size: 11px; background: var(--at-white); color: var(--at-ink); }
.av-service img { filter: none; }
.av-service-copy { padding: 24px 0 0; }
.av-home .av-service :is(h2,h3) { font-size: clamp(26px,2.3vw,32px); font-weight: 500; }
.av-service-copy .av-label { margin-bottom: 12px; }
.av-service-copy > p:not(.av-label) { color: var(--at-muted); margin-top: 12px; }
.av-service-copy .av-card-link { padding-top: 16px; }
.av-manifesto, .av-contact { border: 0; background: var(--at-paper); padding: 64px; }
.av-home .av-manifesto h2, .av-home .av-contact h2 { font-weight: 500; }
.av-source-copy p:last-child { margin-bottom: 0; }
.av-team { padding-block: 88px; }
.av-team-grid { gap: 32px; }
.av-team-card { border: 0; border-radius: 0; background: transparent; }
.av-team-card > figure { border-radius: 16px; height: 440px; }
.av-team-card > div { padding: 28px 0 0; }
.av-team-card :is(h2,h3) { font-weight: 500; }
.av-team-card .av-team-role { font-weight: 500; }
.av-network { border: 0; background: var(--at-paper); padding: 48px; }
.av-network h2 { font-weight: 500 !important; }
.av-pattern-grid { gap: 32px; }
.av-pattern-grid article { padding: 28px 0; border: 0; border-top: 1px solid var(--at-border); border-radius: 0; background: transparent; }
.av-pattern-grid .av-number { padding: 0; background: transparent; font-size: 13px; }
.av-pattern-grid h3 { font-size: 25px; font-weight: 500; }
.av-pattern-grid p { color: var(--at-muted); }
.av-newsletter { border: 0; border-radius: 18px; padding: 56px; }
.av-newsletter h2 { font-weight: 500; }
.av-document h1, .av-bio-hero h1 { font-weight: 500; }
.av-document > header { margin-bottom: 40px; }
.av-bio-hero { border: 0; padding: 40px; gap: 56px; }
.av-clinical-note { border: 0; border-left: 2px solid #A8B99D; border-radius: 0; background: transparent; padding: 8px 0 8px 24px; }
.av-service-detail > :is(h2,h3,p,ul,ol,aside) { max-width: 760px; margin-inline: auto; box-sizing: border-box; }
.av-service-detail > header { max-width: 760px; margin-inline: auto; }
.av-service-detail > a { display: inline-flex; align-items: center; min-height: 44px; margin-inline-start: max(0px,calc((100% - 760px)/2)); font: 500 16px/1.5 var(--av-font); }
.av-service-detail > .av-service-banner { margin-block: 40px 56px; }
.av-document .av-resource-app { border: 0; }
.av-resource-item { border: 0; background: var(--at-card); padding: 32px; }
.av-resource-item h2 { font-weight: 500; }
.av-resource-item > img, .av-resource-item > a:first-child img { background: var(--at-white); }
.av-contact-form { padding: 36px; border-color: var(--at-border); border-radius: 16px; }
.av-contact-form input:not([type=checkbox]), .av-contact-form select, .av-contact-form textarea { border-color: #8B7683; background: var(--at-field); }
.av-contact-form label { font-weight: 500; }
.at-demo-note { max-width: 720px; }

/* Native disclosures keep the FAQ usable without scripts. */
.av-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 64px; padding-bottom: 32px; }
.av-faq .av-section-heading { align-items: flex-start; margin: 0; }
.av-faq-list { min-width: 0; }
.av-faq-item { border-top: 1px solid var(--at-border); }
.av-faq-item:last-child { border-bottom: 1px solid var(--at-border); }
.av-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 22px 0; box-sizing: border-box; list-style: none; cursor: pointer; font: 500 19px/1.45 var(--av-font); letter-spacing: -.02em; }
.av-faq-item summary::-webkit-details-marker { display: none; }
.av-faq-item summary::marker { content: ''; }
.av-faq-item summary:hover { color: #64435A; }
.av-faq-icon { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; background: var(--at-green-soft); font: 400 22px/1 var(--av-font); }
.av-faq-item[open] .av-faq-icon { transform: rotate(45deg); }
.av-faq-answer { padding: 0 48px 26px 0; color: var(--at-muted); font: 400 16px/1.8 var(--av-font); }
.av-faq-answer a { overflow-wrap: anywhere; }
.av-faq + .av-patterns { padding-top: 48px; }

/* Blog: one featured story, then a consistent, readable article grid. */
.av-journal { width: calc(100% - 96px); max-width: 1200px; margin-inline: auto !important; padding: 48px 0 72px; }
.av-journal > .av-journal-header { max-width: none !important; padding: 0; margin: 0 0 32px !important; }
.av-journal-header > * { margin-inline: 0 !important; }
.av-journal-header .av-label { margin: 0 0 20px; }
.av-journal-header :is(h1,.wp-block-query-title) { max-width: 900px !important; margin-block: 0 24px; font: 500 clamp(38px,5.2vw,66px)/1.1 var(--av-font); letter-spacing: -.045em; text-wrap: balance; }
.av-journal-header > p:not(.av-label) { max-width: 720px !important; font: 400 18px/1.75 var(--av-font); color: var(--at-muted); }
.av-journal > .av-journal-filters { max-width: none !important; margin: 0 0 40px !important; }
.av-journal-filters .wp-block-categories-list { gap: 8px; margin: 0; }
.av-journal-filters .wp-block-categories-list a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 10px 16px; border-radius: 999px; font-weight: 400; background: transparent; }
.av-journal-filters .wp-block-categories-list a:hover { border-color: #8B7683; background: var(--at-green-soft); }
.av-journal > .av-journal-query { max-width: none !important; margin: 0; }
.av-journal-query > .wp-block-post-template { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 28px; margin: 0; padding: 0; }
.av-journal-query .wp-block-post { min-width: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.av-journal-query .av-journal-card { height: 100%; margin: 0; padding: 0; }
.av-journal-query .wp-block-post-featured-image { margin: 0; overflow: hidden; border-radius: 14px; }
.av-journal-query .wp-block-post-featured-image a { display: block; }
.av-journal-query .wp-block-post-featured-image img { display: block; width: 100%; height: 232px; object-fit: cover; border-radius: 0; }
.av-journal-query .av-journal-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 22px 0 0; }
.av-journal-query .wp-block-post-terms { margin: 0 0 14px; font: 500 11px/1.65 var(--av-font); text-transform: none !important; letter-spacing: 0 !important; color: var(--at-muted); }
.av-journal-query .wp-block-post-terms a { text-decoration: none; }
.av-journal-query .wp-block-post-terms a:hover { text-decoration: underline; }
.av-journal-query .wp-block-post-title { margin: 0 0 14px; font: 500 26px/1.22 var(--av-font); letter-spacing: -.035em; overflow-wrap: anywhere; }
.av-journal-query .wp-block-post-title a { text-decoration: none; }
.av-journal-query .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.av-journal-query .wp-block-post-excerpt { margin: 0 0 20px; font: 400 15px/1.75 var(--av-font); color: var(--at-muted); }
.av-journal-query .wp-block-post-excerpt p { margin: 0; }
.av-journal-query .wp-block-post-date { margin: auto 0 0; font: 400 12px/1.6 var(--av-font); color: var(--at-muted); }
.av-journal-query .wp-block-post-template > .wp-block-post:first-child { grid-column: 1/-1; }
.av-journal-query .wp-block-post:first-child .av-journal-card { display: grid; grid-template-columns: 1.2fr 1fr; border-radius: 18px; overflow: hidden; background: var(--at-green-soft); }
.av-journal-query .wp-block-post:first-child .wp-block-post-featured-image { height: 100%; border-radius: 0; }
.av-journal-query .wp-block-post:first-child .wp-block-post-featured-image a { height: 100%; }
.av-journal-query .wp-block-post:first-child .wp-block-post-featured-image img { height: 100%; min-height: 400px; }
.av-journal-query .wp-block-post:first-child .av-journal-copy { align-self: center; padding: 40px; margin: 0; }
.av-journal-query .wp-block-post:first-child .wp-block-post-title { font-size: clamp(30px,3vw,40px); line-height: 1.14; margin-bottom: 20px; }
.av-journal-query .wp-block-post:first-child .wp-block-post-date { margin-top: 8px; }
.av-journal-query .wp-block-query-pagination { border-top: 1px solid var(--at-border); padding-top: 24px; margin-top: 56px !important; gap: 12px; font: 500 14px/1.5 var(--av-font); }
.av-journal-query .wp-block-query-pagination a { min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 5px; }
.av-journal-query .wp-block-query-pagination-numbers { display: flex; gap: 8px; align-items: center; }
.av-journal-query .wp-block-query-pagination-numbers > * { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 50%; }
.av-journal-query .wp-block-query-pagination-numbers .current { background: var(--at-green-soft); }
/* Related stories: give each title room inside its card, including when an image is absent. */
.av-related-posts > .wp-block-heading { margin: 0 0 24px; }
.av-related-query > .wp-block-post-template { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
.av-related-query .wp-block-post { min-width: 0; margin: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--at-border); border-radius: 16px; background: var(--at-white); }
.av-related-query .wp-block-post::marker { content: ''; }
.av-related-query .wp-block-post-featured-image { margin: 0; }
.av-related-query .wp-block-post-featured-image a { display: block; }
.av-related-query .wp-block-post-featured-image img { display: block; width: 100%; border-radius: 0; }
.av-related-query .av-related-copy { flex: 1; margin: 0; }
.av-related-query .wp-block-post-title { margin: 0; font: 500 20px/1.4 var(--av-font); letter-spacing: -.025em; overflow-wrap: anywhere; }
.av-related-query .wp-block-post-title a { display: inline-block; text-decoration: none; text-underline-offset: 4px; }
.av-related-query .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.av-related-query a:focus-visible { outline: 2px solid var(--at-ink); outline-offset: 4px; }
.av-related-query .wp-block-post-featured-image a:focus-visible { outline-offset: -4px; }
body.single main > .wp-block-group:first-child .wp-block-post-title { font-size: clamp(36px,4.5vw,58px); font-weight: 500; letter-spacing: -.04em; }
body.single main > .wp-block-group:first-child { margin-block: 32px 40px !important; }
body.single .wp-block-post-content { font-size: 18px; line-height: 1.85; }
body.single .wp-block-post-content :is(h2,h3) { font-weight: 500; }
.av-article-toc { border: 0; border-radius: 14px; background: var(--at-paper); padding: 28px; }
.av-article-toc a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.wp-site-blocks > footer > .av-footer { border-top: 1px solid var(--at-border); border-radius: 0; padding-top: 64px !important; }

@media (max-width:1120px) {
  .av-journal-query > .wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .av-journal-query .wp-block-post:first-child .av-journal-copy { padding: 32px; }
  .av-journal-query .wp-block-post:first-child .wp-block-post-featured-image img { min-height: 380px; }
}
@media (max-width:900px) {
  .av-header.wp-block-group { padding: 20px 24px !important; }
  .av-nav-pill.wp-block-group { padding-inline: 20px 12px !important; }
  .av-home .av-hero { padding-top: 140px; }
  .av-hero-visual { min-height: 480px; }
  .av-photo-main { height: 400px; }
  .av-service { grid-template-columns: .9fr 1fr; gap: 28px; }
  .av-service > figure { height: 100%; min-height: 280px; }
  .av-service-copy { padding-block: 16px; }
  .av-team-card > figure { height: 430px; }
  .av-manifesto, .av-contact, .av-network, .av-newsletter { padding: 40px; }
  .av-journal { width: calc(100% - 48px); padding-top: 32px; }
  .av-journal-query .wp-block-post:first-child .av-journal-card { grid-template-columns: 1fr 1fr; }
  .av-journal-query .wp-block-post:first-child .wp-block-post-title { font-size: 30px; }
  .av-journal-query .wp-block-post:first-child .av-journal-copy { padding: 28px; }
  .av-journal-query .wp-block-post-featured-image img { height: 240px; }
  .av-faq { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width:700px) {
  .av-related-query > .wp-block-post-template { grid-template-columns: 1fr; }
  .av-journal-query .wp-block-post:first-child .av-journal-card { display: block; }
  .av-journal-query .wp-block-post:first-child .wp-block-post-featured-image img { height: 320px; min-height: 0; }
  .av-journal-query .wp-block-post:first-child .av-journal-copy { padding: 28px; }
  .av-journal-query .wp-block-post-title { font-size: 25px; }
}
@media (max-width:600px) {
  .av-header.wp-block-group { padding: 16px !important; }
  .av-nav-pill.wp-block-group { min-height: 64px; padding: 8px 10px 8px 16px !important; border-radius: 14px; }
  .av-nav-book { min-height: 44px; padding-inline: 12px; }
  .av-nav-book > span { display: none; }
  .av-home .av-hero { padding-top: 112px; }
  .av-home .av-hero h1 { font-size: clamp(36px,9.5vw,54px); font-weight: 500; }
  .av-home .av-hero-tagline { font-size: 22px; }
  .av-hero-grid { gap: 36px; }
  .av-hero-visual { min-height: 370px; }
  .av-photo-main { left: 8%; height: 295px; }
  .av-photo-small { width: 43%; height: 122px; }
  .av-photo-note p { font-size: 11px; }
  .av-index a { font-size: 12px; padding-block: 18px; }
  .av-services { padding-block: 56px; gap: 36px; }
  .av-service { display: flex; gap: 0; }
  .av-service > figure { height: 260px; min-height: 0; }
  .av-service-copy { padding: 22px 0 0; }
  .av-home .av-service :is(h2,h3) { font-size: 30px; }
  .av-manifesto, .av-contact, .av-network, .av-newsletter { padding: 30px 24px; }
  .av-team { padding-block: 56px; }
  .av-team-card > figure { height: 370px; }
  .av-team-card > div { padding-top: 24px; }
  .av-pattern-grid article { padding-block: 24px; }
  .av-contact-form { padding: 24px 20px; }
  .av-bio-hero { padding: 24px; gap: 28px; }
  .av-resource-item { padding: 26px; }
  .av-journal { width: calc(100% - 32px); padding: 28px 0 48px; }
  .av-journal-header :is(h1,.wp-block-query-title) { font-size: clamp(36px,9vw,48px); }
  .av-journal-header > p:not(.av-label) { font-size: 16px; }
  .av-journal > .av-journal-header { margin-bottom: 28px !important; }
  .av-journal > .av-journal-filters { margin-bottom: 32px !important; }
  .av-journal-filters .wp-block-categories-list a { padding: 10px 12px; font-size: 12px; }
  .av-journal-query > .wp-block-post-template { grid-template-columns: 1fr; gap: 36px; }
  .av-journal-query .wp-block-post:first-child .wp-block-post-featured-image img { height: 260px; }
  .av-journal-query .wp-block-post:first-child .av-journal-copy { padding: 26px; }
  .av-journal-query .wp-block-post:first-child .wp-block-post-title { font-size: 30px; }
  .av-journal-query .wp-block-post-featured-image img { height: 240px; }
  .av-journal-query .wp-block-post-excerpt { font-size: 16px; }
  .av-journal-query .wp-block-query-pagination { flex-wrap: wrap; }
  .av-service-detail > .av-service-banner { margin-block: 32px 40px; }
  .av-faq { padding-bottom: 24px; }
  .av-faq-item summary { gap: 16px; font-size: 18px; }
  .av-faq-answer { padding-right: 0; }
  body.single main > .wp-block-group:first-child .wp-block-post-title { font-size: 36px; }
  body.single .wp-block-post-content { font-size: 17px; }
}

/* Mobile overlay: one alignment and full-width submenus. */
@media (max-width:1120px) {
 .av-nav-pill .wp-block-navigation__responsive-container.is-menu-open { padding:72px 24px 32px!important; overflow-y:auto; max-height:100dvh; }
 .av-nav-pill .is-menu-open .wp-block-navigation__responsive-container-content { align-items:stretch!important; padding-top:0!important; }
 .av-nav-pill .is-menu-open .wp-block-navigation__container { width:100%!important; align-items:stretch!important; gap:12px!important; }
 .av-nav-pill .is-menu-open .wp-block-navigation-item { width:100%!important; align-items:stretch!important; text-align:left!important; min-height:0; }
 .av-nav-pill .is-menu-open .wp-block-navigation-item__content { display:flex; align-items:center; width:100%; box-sizing:border-box; min-height:44px; padding:8px 0; text-align:left; font-weight:600; line-height:1.5; }
 .av-nav-pill .is-menu-open .wp-block-navigation__submenu-container { width:100%!important; min-width:0!important; box-sizing:border-box; padding:0 0 0 16px!important; margin:0!important; gap:0!important; border:0!important; border-left:1px solid var(--at-border)!important; border-radius:0; box-shadow:none; align-items:stretch!important; }
 .av-nav-pill .is-menu-open .wp-block-navigation__submenu-container a { font-size:16px; font-weight:400; white-space:normal; overflow-wrap:break-word; }
 .av-nav-pill .is-menu-open .wp-block-navigation__responsive-container-close { position:fixed; top:16px; right:16px; z-index:3; display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--at-paper,#fff); border-radius:50%; }
}
.av-social-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:20px; }
.av-social-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-underline-offset:4px; }
.av-social-links a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
