/* Avisso — compiled site stylesheet. Design-system tokens + components, then the site's responsive layer. Source of truth: the Avisso design system. */

/* ===== tokens/fonts.css ===== */
/* Avisso webfonts — Google Fonts, self-hosted (latin subset). Serif: Old Standard TT. Sans: Source Sans 3 (variable). */
@font-face{font-family:'Old Standard TT';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/OldStandardTT-italic-400.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Old Standard TT';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/OldStandardTT-normal-400.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Old Standard TT';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/OldStandardTT-normal-700.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:300 800;font-display:swap;src:url("../fonts/SourceSans3-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:300 800;font-display:swap;src:url("../fonts/SourceSans3-italic.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== tokens/colors.css ===== */
/* ============================================================
   AVISSO — BASE COLOR SCALES
   Derived from the legacy sky-blue / teal-green identity, pulled
   toward deeper, calmer, less saturated values. Never reference
   these directly in components when a semantic alias exists
   (see semantic.css). Scales map 1:1 to Tailwind `colors`.
   ============================================================ */
:root{
  /* NAVY — midnight blue-teal. Primary. Nav, headlines, dark sections, high-trust moments. */
  --navy-950:#06161F; /* deepest ground: footer, overlays */
  --navy-900:#0B2533; /* PRIMARY. dark sections, headline ink on light */
  --navy-800:#12354A; /* raised surface on dark, hover on dark */
  --navy-700:#1B4861; /* borders on dark, secondary dark ink */
  --navy-600:#265C7A;
  --navy-500:#3A7496; /* chart series 2 */
  --navy-400:#5F92B0;
  --navy-300:#8DB2C9; /* muted text on navy-900 (7.0:1) */
  --navy-200:#B9D1DF; /* secondary text on navy-900 (10:1) */
  --navy-100:#DCE8EF; /* pale sky surface */
  --navy-50:#EEF4F7;  /* palest sky — alternating section bg */

  /* TEAL — refined legacy teal. Secondary. Primary buttons, selected states, brand rules. */
  --teal-900:#0A3B37; /* pressed primary */
  --teal-800:#0E4F49; /* hover primary */
  --teal-700:#12645C; /* PRIMARY BUTTON (white text 7.0:1) */
  --teal-600:#177A70; /* icons, small emphasis (white text 5.2:1) */
  --teal-500:#1F9184; /* chart series 1, decorative only on light */
  --teal-400:#45AB9E; /* teal on dark (5.7:1 on navy-900) */
  --teal-300:#7EC6BC;
  --teal-200:#B3DDD7; /* sea-glass border */
  --teal-100:#D9EEEB; /* sea-glass fill */
  --teal-50:#EEF7F5;  /* sea-glass section bg */

  /* AQUA — accent. Use sparingly: links, focus, active indicators, data highlight. */
  --aqua-800:#08576A;
  --aqua-700:#0B6F85; /* LINK on light (5.8:1 on white) */
  --aqua-600:#0F8AA3; /* focus ring on light, large text only */
  --aqua-500:#2BA9C2; /* chart highlight, horizon rule */
  --aqua-400:#5CC3D6; /* LINK / focus on dark (7.7:1 on navy-900) */
  --aqua-300:#93D8E4;
  --aqua-100:#DDF3F7;
  --aqua-50:#F0FAFC;

  /* NEUTRAL — cool charcoal → off-white. Text, borders, UI chrome. */
  --neutral-950:#111820;
  --neutral-900:#1C242C; /* BODY TEXT (15.7:1 on white) — never pure black */
  --neutral-800:#2B343D;
  --neutral-700:#414B55; /* strong secondary text */
  --neutral-600:#5A6570; /* SECONDARY TEXT min on white/paper (5.9:1) */
  --neutral-500:#76818B; /* icons, disabled, placeholder — NOT for body text (3.97:1) */
  --neutral-400:#9AA3AC; /* disabled borders */
  --neutral-300:#C2C9D0; /* input borders (3:1 non-text vs white w/ 1.5 weight) */
  --neutral-200:#DDE2E7; /* default hairline */
  --neutral-100:#ECEFF2; /* subtle fill, table stripe */
  --neutral-50:#F4F7F8;  /* PAPER — default alt background */
  --white:#FFFFFF;
  --offwhite:#FAFBFB;    /* page ground */

  /* SEMANTIC — each with ink (≥4.5:1 on its bg), bg, border */
  --success-700:#1E7A4C; --success-100:#E6F3EC; --success-300:#9FCFB4;
  --warning-700:#8A5A00; --warning-100:#FDF3DC; --warning-300:#E8B64A;
  --error-700:#B3261E;   --error-100:#FBEAE8;   --error-300:#E7A39D;
  --info-700:#1F5F8B;    --info-100:#E8F1F8;    --info-300:#A5C6DF;

  /* DATA VIZ — ordered categorical series (colorblind-considerate: vary lightness) */
  --viz-1:#12645C; --viz-2:#3A7496; --viz-3:#2BA9C2; --viz-4:#7EC6BC; --viz-5:#B9D1DF; --viz-muted:#C2C9D0;
}

/* ===== tokens/semantic.css ===== */
/* ============================================================
   AVISSO — SEMANTIC ALIASES (light = default, dark = [data-theme="dark"])
   Components use ONLY these. Swap theme by setting data-theme on any
   ancestor (e.g. a dark section) — everything inside re-maps.
   ============================================================ */
:root{
  /* surfaces */
  --surface-page:var(--offwhite);
  --surface-card:var(--white);
  --surface-alt:var(--neutral-50);     /* alternating section */
  --surface-sky:var(--navy-50);        /* calm informational band */
  --surface-seaglass:var(--teal-50);   /* quality / process band */
  --surface-inverse:var(--navy-900);   /* dark section */
  --surface-inverse-raised:var(--navy-800);
  --surface-overlay:rgba(6,22,31,.56);

  /* text */
  --text-heading:var(--navy-900);
  --text-body:var(--neutral-900);
  --text-secondary:var(--neutral-600);
  --text-muted:var(--neutral-500);     /* ≥18px or non-essential only */
  --text-inverse:var(--white);
  --text-inverse-secondary:var(--navy-200);
  --text-brand:var(--teal-700);
  --text-link:var(--aqua-700);
  --text-link-hover:var(--aqua-800);
  --text-disabled:var(--neutral-500);

  /* borders */
  --border-subtle:var(--neutral-200);
  --border-default:var(--neutral-300);
  --border-strong:var(--neutral-600);
  --border-brand:var(--teal-700);
  --border-inverse:var(--navy-700);

  /* actions */
  --action-primary-bg:var(--teal-700);
  --action-primary-bg-hover:var(--teal-800);
  --action-primary-bg-active:var(--teal-900);
  --action-primary-fg:var(--white);
  --action-secondary-fg:var(--navy-900);
  --action-secondary-border:var(--navy-900);
  --action-secondary-bg-hover:var(--navy-50);
  --action-disabled-bg:var(--neutral-100);
  --action-disabled-fg:var(--neutral-500);

  /* focus & accent */
  --focus-ring:var(--aqua-600);
  --focus-ring-offset:var(--white);
  --accent:var(--aqua-500);
  --accent-strong:var(--aqua-700);

  /* gradients — atmospheric only, never behind body copy */
  --gradient-horizon-dark:linear-gradient(180deg,#0B2533 0%,#12354A 58%,#12645C 100%);/* @kind other */
  --gradient-horizon-light:linear-gradient(180deg,#EEF4F7 0%,#F7FAFB 60%,#EEF7F5 100%);/* @kind other */
  --gradient-dusk:linear-gradient(100deg,#06161F 0%,#0B2533 45%,#12354A 100%);/* @kind other */
  --gradient-shore:linear-gradient(90deg,#0B2533 0%,#12645C 100%);/* @kind other */
  --gradient-mist:linear-gradient(180deg,rgba(221,243,247,.7) 0%,rgba(255,255,255,0) 100%);/* @kind other */
}

[data-theme="dark"]{
  --surface-page:var(--navy-900);
  --surface-card:var(--navy-800);
  --surface-alt:var(--navy-950);
  --surface-sky:var(--navy-800);
  --surface-seaglass:var(--navy-800);
  --surface-inverse:var(--offwhite);
  --surface-inverse-raised:var(--white);

  --text-heading:var(--white);
  --text-body:#E6EEF2;
  --text-secondary:var(--navy-200);
  --text-muted:var(--navy-300);
  --text-inverse:var(--navy-900);
  --text-inverse-secondary:var(--neutral-600);
  --text-brand:var(--teal-300);
  --text-link:var(--aqua-400);
  --text-link-hover:var(--aqua-300);
  --text-disabled:var(--navy-400);

  --border-subtle:rgba(185,209,223,.16);
  --border-default:var(--navy-700);
  --border-strong:var(--navy-300);
  --border-brand:var(--teal-400);
  --border-inverse:var(--neutral-200);

  --action-primary-bg:var(--aqua-400);
  --action-primary-bg-hover:var(--aqua-300);
  --action-primary-bg-active:#B8E6EE;
  --action-primary-fg:var(--navy-950);
  --action-secondary-fg:var(--white);
  --action-secondary-border:var(--navy-200);
  --action-secondary-bg-hover:rgba(185,209,223,.10);
  --action-disabled-bg:var(--navy-800);
  --action-disabled-fg:var(--navy-400);

  --focus-ring:var(--aqua-400);
  --focus-ring-offset:var(--navy-900);
  --accent:var(--aqua-400);
  --accent-strong:var(--aqua-300);
}

/* ===== tokens/typography.css ===== */
/* ============================================================
   AVISSO — TYPOGRAPHY
   Old Standard TT (serif, Regular 400 only) = authority, H1/H2/statements/quotes only.
   Source Sans 3 (sans) = everything functional.
   Sizes are desktop; the @media block steps them down ≤767px.
   ============================================================ */
:root{
  --font-serif:'Old Standard TT',Georgia,'Times New Roman',serif;
  --font-sans:'Source Sans 3','Source Sans Pro',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace; /* loan #s, order IDs only */

  --weight-light:300;/* @kind other */ --weight-regular:400;/* @kind other */ --weight-medium:500;/* @kind other */ --weight-semibold:600;/* @kind other */ --weight-bold:700;/* @kind other */

  /* scale: size / line-height / tracking */
  --text-display-size:4rem;   --text-display-lh:1.04;/* @kind other */ --text-display-track:-0.018em;/* @kind other */ /* 64 — homepage hero only */
  --text-h1-size:3.25rem;     --text-h1-lh:1.08;/* @kind other */      --text-h1-track:-0.014em;/* @kind other */      /* 52 — page H1 */
  --text-h2-size:2.5rem;      --text-h2-lh:1.14;/* @kind other */      --text-h2-track:-0.01em;/* @kind other */       /* 40 — section headline */
  --text-h3-size:1.5rem;      --text-h3-lh:1.3;/* @kind other */       --text-h3-track:-0.004em;/* @kind other */      /* 24 — sans semibold */
  --text-h4-size:1.25rem;     --text-h4-lh:1.35;/* @kind other */      --text-h4-track:0;/* @kind other */             /* 20 — sans semibold */
  --text-quote-size:2rem;     --text-quote-lh:1.3;/* @kind other */                                   /* 32 — serif pull quote */
  --text-body-lg-size:1.25rem;--text-body-lg-lh:1.6;/* @kind other */                                 /* 20 — lead paragraph */
  --text-body-size:1.0625rem; --text-body-lh:1.6;/* @kind other */                                    /* 17 — default body */
  --text-ui-size:1rem;        --text-ui-lh:1.4;/* @kind other */                                      /* 16 — buttons, nav, inputs */
  --text-small-size:0.9375rem;--text-small-lh:1.5;/* @kind other */                                   /* 15 — meta, helper text */
  --text-caption-size:0.875rem;--text-caption-lh:1.45;/* @kind other */                               /* 14 — captions, legal (min) */
  --text-eyebrow-size:0.875rem;--text-eyebrow-lh:1.3;/* @kind other */ --text-eyebrow-track:0.06em;/* @kind other */   /* 14 — sentence case, never all-caps */
  --text-metric-size:3rem;    --text-metric-lh:1;/* @kind other */     --text-metric-track:-0.02em;/* @kind other */   /* 48 — proof numbers */
  --text-metric-sm-size:2rem;                                                        /* 32 — inline metrics */

  --measure-body:68ch;/* @kind other */   /* max line length for reading */
  --measure-lead:56ch;/* @kind other */
  --measure-heading:20ch;/* @kind other */
}
@media (max-width:1023px){
  :root{--text-display-size:3.25rem;--text-h1-size:2.625rem;--text-h2-size:2.125rem}
}
@media (max-width:767px){
  :root{
    --text-display-size:2.5rem; --text-h1-size:2.25rem; --text-h2-size:1.75rem;
    --text-h3-size:1.375rem; --text-h4-size:1.125rem; --text-quote-size:1.375rem;
    --text-body-lg-size:1.125rem; --text-body-size:1rem; --text-metric-size:2.5rem;
  }
}

/* ===== tokens/spacing.css ===== */
/* ============================================================
   AVISSO — SPACE, LAYOUT, GRID, BREAKPOINTS
   8px base. Half-steps (4, 12) exist for tight UI only.
   ============================================================ */
:root{
  --space-0:0;
  --space-half:4px;   /* icon-to-label, tight chips */
  --space-1:8px;      /* inline gaps */
  --space-1-5:12px;   /* input inner padding, small stacks */
  --space-2:16px;     /* default component gap */
  --space-3:24px;     /* card padding (compact), grid gutter */
  --space-4:32px;     /* card padding (default) */
  --space-5:40px;
  --space-6:48px;     /* heading → content */
  --space-8:64px;     /* section padding (mobile) */
  --space-10:80px;
  --space-12:96px;    /* section padding (desktop default) */
  --space-16:128px;   /* hero / major section */
  --space-20:160px;

  /* section rhythm */
  --section-sm:var(--space-8);
  --section-md:var(--space-12);
  --section-lg:var(--space-16);

  /* containers */
  --container-max:1280px;    /* standard content */
  --container-wide:1440px;   /* full-bleed media, header */
  --container-narrow:960px;  /* forms, articles with sidebars */
  --container-text:720px;    /* long-form reading */
  --container-margin:48px;   /* outer page margin */

  /* 12-col grid */
  --grid-columns:12;/* @kind other */
  --grid-gutter:24px;

  /* breakpoints (reference — use in @media literals) */
  --bp-sm:480px; --bp-md:768px; --bp-lg:1024px; --bp-xl:1280px; --bp-2xl:1440px;

  /* icon sizes */
  --icon-xs:16px; --icon-sm:20px; --icon-md:24px; --icon-lg:32px; --icon-xl:48px;
  --icon-stroke:1.5;

  /* touch */
  --target-min:44px;  /* WCAG 2.2 — every interactive element */
  --control-h-sm:40px; --control-h-md:48px; --control-h-lg:56px;

  /* z */
  --z-header:100;/* @kind other */ --z-menu:200;/* @kind other */ --z-overlay:300;/* @kind other */
}
@media (max-width:1023px){:root{--container-margin:32px;--grid-gutter:20px;--section-md:var(--space-10);--section-lg:var(--space-12)}}
@media (max-width:767px){:root{--container-margin:20px;--grid-gutter:16px;--section-sm:var(--space-6);--section-md:var(--space-8);--section-lg:var(--space-10)}}

/* ===== tokens/borders.css ===== */
/* ============================================================
   AVISSO — RADIUS, BORDERS, SHADOWS
   Precision over softness: small radii, hairline borders,
   shadows only for things that genuinely float.
   ============================================================ */
:root{
  --radius-0:0;       /* full-bleed bands, tables, horizon rules */
  --radius-xs:2px;    /* tags, badges, checkbox */
  --radius-sm:4px;    /* buttons, inputs */
  --radius-md:6px;    /* cards, panels, alerts */
  --radius-lg:8px;    /* large media, menus */
  --radius-full:999px;/* status dots, avatars ONLY — never buttons */

  --border-hairline:1px;   /* default dividers, cards */
  --border-control:1.5px;  /* inputs, secondary buttons */
  --border-emphasis:2px;   /* active nav, selected, focus */
  --border-rule:3px;       /* brand rule above eyebrow / timeline */

  --shadow-none:none;
  --shadow-1:0 1px 2px rgba(11,37,51,.06);                              /* resting card (optional) */
  --shadow-2:0 1px 2px rgba(11,37,51,.05),0 8px 24px -8px rgba(11,37,51,.14); /* hover elevation */
  --shadow-3:0 2px 4px rgba(11,37,51,.06),0 20px 48px -16px rgba(11,37,51,.24); /* menus, popovers, modals */
  --shadow-focus:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring);
}

/* ===== tokens/motion.css ===== */
/* ============================================================
   AVISSO — MOTION
   Understated. State changes 150–250ms. Reveals ≤600ms, once.
   No bounce, no parallax, no looping motion.
   ============================================================ */
:root{
  --dur-instant:100ms;/* @kind other */  /* color on press */
  --dur-fast:150ms;/* @kind other */     /* hover color / underline */
  --dur-base:200ms;/* @kind other */     /* elevation, accordion chevron */
  --dur-slow:250ms;/* @kind other */     /* menu open, panel expand */
  --dur-reveal:600ms;/* @kind other */   /* line-draw, data reveal (once, on enter) */
  --ease-standard:cubic-bezier(.2,0,0,1);/* @kind other */
  --ease-out:cubic-bezier(0,0,.2,1);/* @kind other */
  --ease-in:cubic-bezier(.4,0,1,1);/* @kind other */
  --transition-color:color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);/* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms;/* @kind other */--dur-base:0ms;/* @kind other */--dur-slow:0ms;/* @kind other */--dur-reveal:0ms/* @kind other */}
}

/* ===== css/base.css ===== */
/* ============================================================
   AVISSO — BASE ELEMENTS, LAYOUT UTILITIES, GRAPHIC PATTERNS
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-lh);font-weight:var(--weight-regular)}
img,svg,video{display:block;max-width:100%}
p{margin:0 0 1em;text-wrap:pretty}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-heading);text-wrap:balance}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:var(--transition-color)}
a:hover{color:var(--text-link-hover);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}
::selection{background:var(--aqua-100);color:var(--navy-900)}
button,input,select,textarea{font:inherit;color:inherit}

/* type roles */
.av-display{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:var(--text-display-size);line-height:var(--text-display-lh);letter-spacing:var(--text-display-track);color:var(--text-heading)}
.av-h1{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:var(--text-h1-size);line-height:var(--text-h1-lh);letter-spacing:var(--text-h1-track)}
.av-h2{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-track)}
.av-h3{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-h3-size);line-height:var(--text-h3-lh);letter-spacing:var(--text-h3-track)}
.av-h4{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-h4-size);line-height:var(--text-h4-lh)}
.av-quote{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:var(--text-quote-size);line-height:var(--text-quote-lh);letter-spacing:0;color:var(--text-heading)}
.av-lead{font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-lh);color:var(--text-secondary);max-width:var(--measure-lead)}
.av-body{font-size:var(--text-body-size);line-height:var(--text-body-lh);max-width:var(--measure-body)}
.av-small{font-size:var(--text-small-size);line-height:var(--text-small-lh)}
.av-caption{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--text-secondary)}
.av-ui{font-size:var(--text-ui-size);line-height:var(--text-ui-lh);font-weight:var(--weight-medium)}
.av-eyebrow{display:inline-flex;align-items:center;gap:var(--space-1-5);font-family:var(--font-sans);font-size:var(--text-eyebrow-size);line-height:var(--text-eyebrow-lh);font-weight:var(--weight-semibold);letter-spacing:var(--text-eyebrow-track);color:var(--text-brand)}
.av-eyebrow::before{content:"";width:24px;height:var(--border-emphasis);background:currentColor;flex:none}
.av-eyebrow--plain::before{display:none}
.av-num{font-variant-numeric:tabular-nums lining-nums}
.av-serif-em{font-family:var(--font-serif);font-style:italic;font-weight:var(--weight-regular)}

/* layout */
.av-container{width:100%;max-width:calc(var(--container-max) + var(--container-margin)*2);margin-inline:auto;padding-inline:var(--container-margin)}
.av-container--wide{max-width:calc(var(--container-wide) + var(--container-margin)*2)}
.av-container--narrow{max-width:calc(var(--container-narrow) + var(--container-margin)*2)}
.av-container--text{max-width:calc(var(--container-text) + var(--container-margin)*2)}
.av-section{padding-block:var(--section-md)}
.av-section--sm{padding-block:var(--section-sm)}
.av-section--lg{padding-block:var(--section-lg)}
.av-section--alt{background:var(--surface-alt)}
.av-section--sky{background:var(--surface-sky)}
.av-section--seaglass{background:var(--surface-seaglass)}
.av-section--dark{background:var(--surface-page);color:var(--text-body)}
.av-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter)}
.av-stack{display:flex;flex-direction:column;gap:var(--space-2)}
.av-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.av-divider{border:0;border-top:var(--border-hairline) solid var(--border-subtle);margin:0}
.av-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1023px){.av-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media (max-width:767px){.av-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- graphic language ---------- */
/* ---- FUNCTIONAL / TECHNICAL graphics (process, data, measurement). Never combine with the brand Horizon. ---- */
.av-horizon-rule{height:1px;border:0;margin:0;background:var(--border-default)}
/* Parcel grid: survey-plat grid, low contrast, for process/data section grounds (not heroes) */
.av-pattern-parcel{background-image:linear-gradient(var(--pattern-line,rgba(185,209,223,.10)) 1px,transparent 1px),linear-gradient(90deg,var(--pattern-line,rgba(185,209,223,.10)) 1px,transparent 1px);background-size:64px 64px;background-position:-1px -1px}
/* Contour: topographic ellipses, for sections about coverage / geography */
.av-pattern-contour{background-image:repeating-radial-gradient(ellipse 120% 70% at 80% 110%,transparent 0 22px,var(--pattern-line,rgba(18,100,92,.10)) 22px 23px)}
/* Survey ticks: measurement marks along an edge */
.av-pattern-ticks{background-image:repeating-linear-gradient(90deg,var(--border-default) 0 1px,transparent 1px 16px);background-size:100% 8px;background-repeat:no-repeat;background-position:bottom}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}

/* ===== css/core.css ===== */
/* ============================================================
   AVISSO — ACTIONS, FORMS, FEEDBACK
   ============================================================ */
/* ---------- Button ---------- */
.av-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--control-h-md);padding:0 24px;border:var(--border-control) solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-ui-size);font-weight:var(--weight-semibold);line-height:1.2;letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:var(--transition-color),box-shadow var(--dur-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent}
.av-btn:hover{text-decoration:none}
.av-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.av-btn .av-btn__icon{flex:none;transition:transform var(--dur-base) var(--ease-standard)}
.av-btn__spin{animation:av-spin 900ms linear infinite}
@keyframes av-spin{to{transform:rotate(360deg)}}
.av-btn[aria-busy="true"]{opacity:.85;cursor:progress}
.av-btn:hover .av-btn__icon--trail{transform:translateX(3px)}
.av-btn--sm{min-height:var(--control-h-sm);padding:0 16px;font-size:var(--text-small-size)}
.av-btn--lg{min-height:var(--control-h-lg);padding:0 28px;font-size:1.0625rem}
.av-btn--block{display:flex;width:100%}
.av-btn--primary{background:var(--action-primary-bg);color:var(--action-primary-fg)}
.av-btn--primary:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-fg);box-shadow:inset 0 -2px 0 var(--accent)}
.av-btn--primary:active{background:var(--action-primary-bg-active);box-shadow:none}
.av-btn--secondary{background:transparent;color:var(--action-secondary-fg);border-color:var(--action-secondary-border)}
.av-btn--secondary:hover{background:var(--action-secondary-bg-hover);color:var(--action-secondary-fg)}
.av-btn--secondary:active{background:var(--navy-100)}
[data-theme="dark"] .av-btn--secondary:active{background:rgba(185,209,223,.18)}
.av-btn--tertiary{padding-inline:0;background:transparent;color:var(--text-brand);border-color:transparent;min-height:var(--target-min)}
.av-btn--tertiary:hover{color:var(--text-heading);text-decoration:underline;text-underline-offset:.25em}
.av-btn--quiet{background:transparent;color:var(--text-heading);border-color:var(--border-default)}
.av-btn--quiet:hover{border-color:var(--border-strong);color:var(--text-heading)}
.av-btn[disabled],.av-btn[aria-disabled="true"]{background:var(--action-disabled-bg);color:var(--action-disabled-fg);border-color:transparent;cursor:not-allowed;box-shadow:none}
.av-btn--tertiary[disabled]{background:transparent}

/* ---------- Text link ---------- */
.av-link{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;font-weight:inherit}
.av-link:hover{color:var(--text-link-hover);text-decoration-thickness:2px}
.av-link--standalone{display:inline-flex;align-items:center;gap:6px;font-weight:var(--weight-semibold);text-decoration:none;min-height:var(--target-min)}
.av-link--standalone:hover{text-decoration:underline;text-underline-offset:.25em}
.av-link--standalone .av-link__icon{transition:transform var(--dur-base) var(--ease-standard)}
.av-link--standalone:hover .av-link__icon{transform:translateX(3px)}
.av-link--quiet{color:inherit;text-decoration-color:var(--border-default)}
.av-link--quiet:hover{color:var(--text-heading);text-decoration-color:currentColor}

/* ---------- Form fields ---------- */
.av-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.av-label{font-size:var(--text-small-size);font-weight:var(--weight-semibold);color:var(--text-heading);line-height:1.35}
.av-label__opt{font-weight:var(--weight-regular);color:var(--text-secondary);margin-left:6px}
.av-help{font-size:var(--text-caption-size);color:var(--text-secondary);line-height:var(--text-caption-lh)}
.av-input,.av-select,.av-textarea{width:100%;min-height:var(--control-h-md);padding:0 14px;background:var(--surface-card);border:var(--border-control) solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-ui-size);color:var(--text-body);transition:var(--transition-color),box-shadow var(--dur-fast) var(--ease-standard);appearance:none}
.av-textarea{padding:12px 14px;min-height:128px;line-height:1.5;resize:vertical}
.av-input::placeholder,.av-textarea::placeholder{color:var(--text-muted)}
.av-input:hover,.av-select:hover,.av-textarea:hover{border-color:var(--neutral-500)}
.av-input:focus,.av-select:focus,.av-textarea:focus{outline:none;border-color:var(--aqua-700);box-shadow:0 0 0 3px rgba(15,138,163,.22)}
.av-input[aria-invalid="true"],.av-select[aria-invalid="true"],.av-textarea[aria-invalid="true"]{border-color:var(--error-700);background:#FFFCFB}
.av-input[aria-invalid="true"]:focus,.av-textarea[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(179,38,30,.18)}
.av-input:disabled,.av-select:disabled,.av-textarea:disabled{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--text-disabled);cursor:not-allowed}
.av-input--valid{border-color:var(--success-700)}
.av-select-wrap{position:relative}
.av-select{padding-right:44px;cursor:pointer}
.av-select-wrap::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.av-error-text{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--error-700);line-height:1.4}
.av-success-text{display:flex;align-items:center;gap:6px;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--success-700)}
/* check & radio */
.av-check{display:flex;align-items:flex-start;gap:12px;min-height:var(--target-min);padding-top:10px;cursor:pointer;font-size:var(--text-ui-size);line-height:1.4;color:var(--text-body)}
.av-check input{appearance:none;flex:none;width:20px;height:20px;margin:0;border:var(--border-control) solid var(--neutral-500);border-radius:var(--radius-xs);background:var(--surface-card);display:grid;place-content:center;cursor:pointer;transition:var(--transition-color)}
.av-check input[type="radio"]{border-radius:var(--radius-full)}
.av-check input::before{content:"";width:10px;height:6px;border-left:2px solid var(--white);border-bottom:2px solid var(--white);transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform var(--dur-fast) var(--ease-standard)}
.av-check input[type="radio"]::before{width:8px;height:8px;border:0;border-radius:50%;background:var(--white);transform:scale(0)}
.av-check input:checked{background:var(--teal-700);border-color:var(--teal-700)}
.av-check input:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
.av-check input[type="radio"]:checked::before{transform:scale(1)}
.av-check input:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.av-check input:hover:not(:checked){border-color:var(--navy-900)}
.av-check input:disabled{background:var(--neutral-100);border-color:var(--neutral-300)}
.av-check input[aria-invalid="true"]{border-color:var(--error-700)}
.av-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.av-fieldset legend{padding:0;margin-bottom:4px}
.av-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-3)}
.av-form__full{grid-column:1/-1}
@media (max-width:767px){.av-form{grid-template-columns:minmax(0,1fr)}}
.av-form-panel{background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5)}
@media (max-width:767px){.av-form-panel{padding:var(--space-3)}}
.av-form-success{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-md);background:var(--success-100);border:1px solid var(--success-300)}

/* ---------- Alert ---------- */
.av-alert{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:16px 20px;border:1px solid var(--info-300);border-radius:var(--radius-md);background:var(--info-100);color:var(--neutral-900)}
.av-alert--success{background:var(--success-100);border-color:var(--success-300)}
.av-alert--warning{background:var(--warning-100);border-color:var(--warning-300)}
.av-alert--error{background:var(--error-100);border-color:var(--error-300)}
.av-alert__icon,.av-alert__title,.av-alert__body a{color:var(--info-700)}
.av-alert--success .av-alert__icon,.av-alert--success .av-alert__title,.av-alert--success .av-alert__body a{color:var(--success-700)}
.av-alert--warning .av-alert__icon,.av-alert--warning .av-alert__title,.av-alert--warning .av-alert__body a{color:var(--warning-700)}
.av-alert--error .av-alert__icon,.av-alert--error .av-alert__title,.av-alert--error .av-alert__body a{color:var(--error-700)}
.av-alert__icon{padding-top:1px}
.av-alert__title{font-weight:var(--weight-semibold);font-size:var(--text-ui-size);line-height:1.4;margin:0 0 2px}
.av-alert__body{font-size:var(--text-small-size);line-height:1.5;margin:0}
.av-alert__body a{font-weight:var(--weight-semibold)}
.av-alert__close{background:none;border:0;padding:0;width:32px;height:32px;margin:-6px -8px 0 0;display:grid;place-items:center;color:var(--neutral-600);cursor:pointer;border-radius:var(--radius-sm)}
.av-alert__close:hover{background:rgba(11,37,51,.06);color:var(--neutral-900)}

/* ---------- Badge / tag ---------- */
.av-tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:var(--radius-xs);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);line-height:1;background:var(--neutral-100);color:var(--neutral-700);white-space:nowrap}
.av-tag--teal{background:var(--teal-100);color:var(--teal-800)}
.av-tag--sky{background:var(--navy-100);color:var(--navy-800)}
.av-tag--outline{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}
.av-tag--success{background:var(--success-100);color:var(--success-700)}
.av-tag--warning{background:var(--warning-100);color:var(--warning-700)}
.av-dot{width:8px;height:8px;border-radius:var(--radius-full);background:currentColor;flex:none}

/* ---------- UAD 3.6 block ---------- */
.av-uad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-5);padding:var(--space-5);border:1px solid var(--info-300);border-radius:var(--radius-md);background:var(--surface-card);position:relative;overflow:hidden}
.av-uad::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--navy-900),var(--teal-700) 60%,var(--aqua-500))}
.av-uad__code{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-caption-size);letter-spacing:.04em;color:var(--info-700);display:flex;align-items:center;gap:8px}
.av-uad__dates{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--border-subtle)}
.av-uad__dates li{display:grid;grid-template-columns:140px 1fr auto;gap:var(--space-2);align-items:baseline;padding:12px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-small-size)}
.av-uad__date{font-weight:var(--weight-semibold);color:var(--text-heading);font-variant-numeric:tabular-nums}
@media (max-width:767px){.av-uad{grid-template-columns:1fr;padding:var(--space-3);gap:var(--space-3)}.av-uad__dates li{grid-template-columns:1fr;gap:2px}}

/* ===== css/navigation.css ===== */
/* ============================================================
   AVISSO — NAVIGATION: header, utility bar, mega menu, breadcrumbs,
   pagination, footer
   ============================================================ */
.av-utility{background:var(--navy-950);color:var(--navy-200);font-size:var(--text-caption-size)}
.av-utility__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px}
.av-utility__links{display:flex;align-items:center;gap:var(--space-3)}
.av-utility a{color:var(--navy-200);text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:32px}
.av-utility a:hover{color:var(--white);text-decoration:underline;text-underline-offset:.25em}
.av-utility__logins{display:flex;align-items:center;gap:var(--space-1)}
.av-login{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--navy-700);border-radius:var(--radius-sm);color:var(--white)!important;font-weight:var(--weight-semibold);font-size:var(--text-caption-size);text-decoration:none!important;transition:var(--transition-color)}
.av-login:hover{border-color:var(--aqua-400);background:rgba(92,195,214,.08)}
.av-login:focus-visible{outline:2px solid var(--aqua-400);outline-offset:2px}

.av-header{position:sticky;top:0;z-index:var(--z-header);background:var(--white);border-bottom:1px solid var(--border-subtle)}
.av-header__inner{display:flex;align-items:center;gap:var(--space-4);min-height:80px}
.av-header__brand{display:flex;align-items:center;flex:none;text-decoration:none}
.av-nav{display:flex;align-items:stretch;gap:var(--space-half);margin-left:auto;align-self:stretch}
.av-nav__item{position:relative;display:flex}
.av-nav__link{display:inline-flex;align-items:center;gap:6px;padding:0 14px;background:none;border:0;cursor:pointer;font-size:var(--text-ui-size);font-weight:var(--weight-medium);color:var(--neutral-800);text-decoration:none;position:relative;transition:color var(--dur-fast) var(--ease-standard)}
.av-nav__link::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--teal-700);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-standard)}
.av-nav__link:hover{color:var(--navy-900);text-decoration:none}
.av-nav__link:hover::after,.av-nav__link[aria-expanded="true"]::after{transform:scaleX(1);background:var(--neutral-300)}
.av-nav__link[aria-current="page"]{color:var(--navy-900);font-weight:var(--weight-semibold)}
.av-nav__link[aria-current="page"]::after{transform:scaleX(1);background:var(--teal-700)}
.av-nav__link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px}
.av-nav__chev{transition:transform var(--dur-base) var(--ease-standard)}
.av-nav__link[aria-expanded="true"] .av-nav__chev{transform:rotate(180deg)}
.av-header__cta{flex:none}
.av-header__toggle{display:none;margin-left:auto;width:var(--target-min);height:var(--target-min);align-items:center;justify-content:center;background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--navy-900);cursor:pointer}
@media (max-width:1023px){.av-nav,.av-header__cta{display:none}.av-header__toggle{display:inline-flex}.av-header__inner{min-height:68px}.av-utility__links{display:none}}

.av-mega{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-3);z-index:var(--z-menu);animation:av-fade var(--dur-slow) var(--ease-out)}
.av-mega__inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr);gap:var(--space-4);padding-block:var(--space-5)}
.av-mega__group h3{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--text-secondary);letter-spacing:.04em;margin:0 0 var(--space-1-5)}
.av-mega__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.av-mega__list a{display:block;padding:10px 12px;margin-inline:-12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--neutral-900)}
.av-mega__list a:hover{background:var(--neutral-50)}
.av-mega__list strong{display:block;font-weight:var(--weight-semibold);font-size:var(--text-ui-size);color:var(--navy-900)}
.av-mega__list span{display:block;font-size:var(--text-caption-size);color:var(--text-secondary);line-height:1.4;margin-top:2px}
.av-mega__feature{background:var(--surface-sky);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1-5)}
@keyframes av-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.av-drawer{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--white);display:flex;flex-direction:column;overflow:auto;animation:av-fade var(--dur-slow) var(--ease-out)}
.av-drawer__head{display:flex;align-items:center;justify-content:space-between;min-height:68px;border-bottom:1px solid var(--border-subtle)}
.av-drawer__nav{display:flex;flex-direction:column;padding-block:var(--space-2)}
.av-drawer__nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid var(--border-subtle);font-size:1.125rem;font-weight:var(--weight-medium);color:var(--navy-900);text-decoration:none}
.av-drawer__foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-1-5);padding-block:var(--space-3)}

.av-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--text-small-size)}
.av-breadcrumbs li{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}
.av-breadcrumbs li+li::before{content:"/";color:var(--neutral-400)}
.av-breadcrumbs a{color:var(--text-secondary);text-decoration:none;padding-block:10px}
.av-breadcrumbs a:hover{color:var(--text-heading);text-decoration:underline}
.av-breadcrumbs [aria-current="page"]{color:var(--text-heading);font-weight:var(--weight-semibold)}

.av-pagination{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}
.av-page{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--target-min);height:var(--target-min);padding:0 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--text-ui-size);font-weight:var(--weight-medium);color:var(--neutral-800);text-decoration:none;cursor:pointer;font-variant-numeric:tabular-nums;transition:var(--transition-color)}
.av-page:hover{border-color:var(--border-strong);color:var(--navy-900);text-decoration:none}
.av-page[aria-current="page"]{background:var(--navy-900);border-color:var(--navy-900);color:var(--white);font-weight:var(--weight-semibold)}
.av-page[disabled]{color:var(--text-disabled);background:var(--neutral-50);cursor:not-allowed;border-color:var(--border-subtle)}
.av-page--gap{border:0;background:none;min-width:24px;cursor:default;color:var(--text-secondary)}
.av-page:focus-visible{outline:none;box-shadow:var(--shadow-focus)}

.av-footer{background:var(--navy-950);color:var(--navy-200);font-size:var(--text-small-size)}
.av-footer__top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr)) minmax(0,3fr);gap:var(--space-4);padding-block:var(--space-10) var(--space-8)}
.av-footer h2{font-family:var(--font-sans);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--white);letter-spacing:.04em;margin:0 0 var(--space-2)}
.av-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.av-footer a{color:var(--navy-200);text-decoration:none;display:inline-block;padding-block:5px}
.av-footer a:hover{color:var(--white);text-decoration:underline;text-underline-offset:.25em}
.av-footer__compliance{border-top:1px solid rgba(185,209,223,.14);padding-block:var(--space-3);font-size:var(--text-caption-size);color:var(--navy-300);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}
@media (max-width:1023px){.av-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}.av-footer__brand{grid-column:1/-1}}
@media (max-width:767px){.av-footer__top{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:var(--space-8) var(--space-5)}.av-footer__compliance{grid-template-columns:1fr}}

/* ===== css/content.css ===== */
/* ============================================================
   AVISSO — HERO, CARDS, MODULES
   ============================================================ */
/* ---------- Section header ---------- */
.av-section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-3) var(--space-6);align-items:end;margin-bottom:var(--space-6)}
.av-section-head__title{display:flex;flex-direction:column;gap:var(--space-2)}
.av-section-head--center{grid-template-columns:1fr;text-align:center;justify-items:center}
.av-section-head--center .av-lead{margin-inline:auto}
.av-section-head--stack{grid-template-columns:1fr;max-width:760px}
@media (max-width:1023px){.av-section-head{grid-template-columns:1fr;margin-bottom:var(--space-5)}}

/* ---------- Hero ---------- */
.av-hero{position:relative;overflow:hidden;isolation:isolate}
.av-hero--horizon{background:var(--gradient-horizon-dark);color:var(--text-body)}
.av-hero--horizon{background:linear-gradient(180deg,#0B2533 0%,#12354A 100%)}
/* atmospheric horizon lives in the right column of the copy grid, never behind copy or data */
.av-hero__scene{position:relative;align-self:stretch;min-height:320px}
.av-hero__scene .av-horizon{position:absolute;inset:0;background:transparent}
.av-hero__band{position:relative;background:var(--navy-950);border-top:1px solid rgba(185,209,223,.12)}
.av-hero__band .av-metrics{border-top:0}
@media (max-width:1023px){.av-hero__scene{min-height:200px;order:-1}}
.av-hero__inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:end;padding-block:var(--space-16) var(--space-12)}
.av-hero__copy{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}
.av-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-1-5);margin-top:var(--space-1)}
.av-hero__aside{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-4);border-left:1px solid var(--border-subtle)}
.av-hero--split{background:var(--surface-page)}
.av-hero--split .av-hero__inner{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;padding-block:var(--space-12)}
.av-hero--page{background:var(--gradient-horizon-light);border-bottom:1px solid var(--border-subtle)}
.av-hero--page .av-hero__inner{grid-template-columns:minmax(0,8fr) minmax(0,4fr);padding-block:var(--space-6) var(--space-10)}
.av-hero__crumbs{padding-top:var(--space-3)}
@media (max-width:1023px){.av-hero__inner,.av-hero--split .av-hero__inner,.av-hero--page .av-hero__inner{grid-template-columns:1fr;padding-block:var(--space-10) var(--space-8)}.av-hero__aside{padding-left:0;border-left:0;border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}}

/* ---------- Horizon band — BRAND graphic: sky / ridge / teal plane. No grids, no glowing lines. ---------- */
.av-horizon{position:relative;overflow:hidden;background:linear-gradient(180deg,#0B2533 0%,#12354A 100%)}
.av-horizon__sky{position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 100%,rgba(38,92,122,.35) 0%,rgba(38,92,122,0) 70%)}
.av-horizon__ridge{position:absolute;left:-4%;right:-4%;bottom:38%;height:30%;background:#1B4861;clip-path:polygon(0 100%,0 66%,8% 56%,16% 62%,25% 44%,34% 52%,43% 34%,52% 46%,60% 28%,69% 40%,77% 26%,85% 38%,93% 30%,100% 36%,100% 100%)}
.av-horizon__ridge--far{bottom:40%;height:26%;background:#16405A;opacity:.7;clip-path:polygon(0 100%,0 80%,12% 70%,22% 76%,31% 58%,40% 66%,50% 50%,58% 60%,66% 44%,74% 56%,82% 42%,90% 54%,100% 46%,100% 100%)}
.av-horizon__plane{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,#0E4F49 0%,#12645C 100%)}
.av-horizon__plane::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(126,198,188,.35)}
.av-horizon__arch{position:absolute;left:8%;bottom:38%;height:9%;width:30%;background:#0B2533;clip-path:polygon(0 100%,0 45%,10% 45%,10% 20%,20% 20%,20% 45%,34% 45%,34% 0,44% 0,44% 45%,58% 45%,58% 30%,66% 30%,66% 45%,80% 45%,80% 12%,90% 12%,90% 45%,100% 45%,100% 100%)}
.av-horizon--light{background:linear-gradient(180deg,#EEF4F7 0%,#F7FAFB 100%)}
.av-horizon--light .av-horizon__sky{background:radial-gradient(120% 60% at 50% 100%,rgba(185,209,223,.5) 0%,rgba(185,209,223,0) 70%)}
.av-horizon--light .av-horizon__ridge{background:#B9D1DF}
.av-horizon--light .av-horizon__ridge--far{background:#DCE8EF;opacity:1}
.av-horizon--light .av-horizon__plane{background:linear-gradient(180deg,#D9EEEB 0%,#B3DDD7 100%)}
.av-horizon--light .av-horizon__plane::before{background:rgba(18,100,92,.25)}
.av-horizon--light .av-horizon__arch{background:#8DB2C9}

/* ---------- Photo frame ---------- */
.av-photo{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--neutral-100);aspect-ratio:var(--ratio,4/3)}
.av-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.02)}
.av-photo--graded::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,37,51,0) 50%,rgba(11,37,51,.35));pointer-events:none}
.av-photo--placeholder{background-color:var(--navy-50);background-image:repeating-linear-gradient(135deg,rgba(11,37,51,.05) 0 1px,transparent 1px 12px)}
.av-photo__note{position:absolute;left:12px;bottom:12px;right:12px;display:flex;gap:8px;align-items:flex-start;font-size:var(--text-caption-size);line-height:1.35;color:var(--navy-700);font-family:var(--font-mono);font-size:12px}
.av-photo--square{border-radius:0}
.av-figcaption{margin-top:var(--space-1);font-size:var(--text-caption-size);color:var(--text-secondary)}

/* ---------- Card base ---------- */
.av-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-body);transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.av-card--interactive:hover{border-color:var(--navy-200);box-shadow:var(--shadow-2);transform:translateY(-2px)}
.av-card--interactive:focus-within{box-shadow:var(--shadow-focus)}
.av-card--interactive .av-card__stretch{position:absolute;inset:0;z-index:1;border-radius:inherit}
.av-card--interactive .av-card__stretch:focus-visible{outline:none}
.av-card--flat{background:transparent;border-color:transparent;padding:0}
.av-card--tinted{background:var(--surface-sky);border-color:transparent}
.av-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}
[data-theme="dark"] .av-card__icon{background:rgba(126,198,188,.08);border-color:rgba(126,198,188,.2);color:var(--teal-300)}
.av-card__label{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--text-brand);letter-spacing:.03em}
.av-card__title{font-family:var(--font-sans);font-size:var(--text-h4-size);line-height:var(--text-h4-lh);font-weight:var(--weight-semibold);color:var(--text-heading);margin:0}
.av-card__title--serif{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:1.625rem;line-height:1.22;letter-spacing:0}
.av-card__text{font-size:var(--text-body-size);color:var(--text-secondary);margin:0}
.av-card__foot{margin-top:auto;padding-top:var(--space-1);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.av-card__meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:var(--text-caption-size);color:var(--text-secondary)}
.av-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--border-subtle)}
.av-card__list li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-small-size);color:var(--text-body)}
.av-card__list li svg{color:var(--teal-600);flex:none;margin-top:2px}
.av-card--article{padding:0;overflow:hidden;gap:0}
.av-card--article .av-photo{border-radius:0}
.av-card--article .av-card__body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1-5);flex:1}
.av-card-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:var(--grid-gutter)}
@media (max-width:1023px){.av-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.av-card-grid{grid-template-columns:minmax(0,1fr)}.av-card{padding:var(--space-3)}}

/* ---------- Testimonial ---------- */
.av-testimonial{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:start;margin:0}
.av-testimonial__mark{font-family:var(--font-serif);font-size:88px;line-height:.7;color:var(--teal-500);font-weight:var(--weight-regular)}
.av-testimonial blockquote{margin:0}
.av-testimonial__who{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}
.av-testimonial__name{font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-testimonial__role{font-size:var(--text-small-size);color:var(--text-secondary)}
.av-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--navy-100);color:var(--navy-800);display:grid;place-items:center;font-weight:var(--weight-semibold);font-size:15px;flex:none;overflow:hidden}
@media (max-width:767px){.av-testimonial{grid-template-columns:1fr;gap:var(--space-1)}.av-testimonial__mark{font-size:64px}}

/* ---------- Case study ---------- */
.av-case{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-card)}
.av-case__side{background:var(--navy-900);color:#E6EEF2;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.av-case__main{padding:var(--space-5);display:grid;gap:var(--space-3)}
.av-case__step{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}
.av-case__step:last-of-type{border-bottom:0;padding-bottom:0}
.av-case__step h4{font-size:var(--text-small-size);font-weight:var(--weight-semibold);color:var(--text-brand);margin:0;padding-top:2px}
.av-case__step p{margin:0}
@media (max-width:1023px){.av-case{grid-template-columns:1fr}.av-case__step{grid-template-columns:1fr;gap:4px}}
@media (max-width:767px){.av-case__side,.av-case__main{padding:var(--space-3)}}

/* ---------- Process timeline ---------- */
.av-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--steps,6),minmax(0,1fr));gap:var(--space-3);position:relative;counter-reset:step}
.av-timeline::before{content:"";position:absolute;left:0;right:0;top:20px;height:1px;background:var(--border-default)}
.av-timeline__step{position:relative;display:flex;flex-direction:column;gap:var(--space-1)}
.av-timeline__node{width:40px;height:40px;border-radius:var(--radius-full);background:var(--surface-card);border:1.5px solid var(--navy-900);display:grid;place-items:center;font-size:var(--text-small-size);font-weight:var(--weight-semibold);color:var(--navy-900);position:relative;font-variant-numeric:tabular-nums;margin-bottom:var(--space-1)}
.av-timeline__step--done .av-timeline__node{background:var(--teal-700);border-color:var(--teal-700);color:var(--white)}
.av-timeline__step--current .av-timeline__node{border-color:var(--aqua-600);box-shadow:0 0 0 4px var(--aqua-100)}
.av-timeline__title{font-size:var(--text-ui-size);font-weight:var(--weight-semibold);color:var(--text-heading);margin:0;line-height:1.35}
.av-timeline__text{font-size:var(--text-small-size);color:var(--text-secondary);margin:0}
.av-timeline__owner{font-size:var(--text-caption-size);color:var(--text-brand);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:6px;margin-top:2px}
.av-timeline--draw::before{transform-origin:left;animation:av-draw var(--dur-reveal) var(--ease-out) both}
@keyframes av-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:1023px){.av-timeline{grid-template-columns:1fr;gap:0}.av-timeline::before{left:20px;right:auto;top:20px;bottom:20px;width:1px;height:auto}.av-timeline--draw::before{transform-origin:top;animation-name:av-draw-y}.av-timeline__step{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--space-2);padding-bottom:var(--space-3)}.av-timeline__node{grid-row:span 4;margin:0}}
@keyframes av-draw-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- Quality control ---------- */
.av-qc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-6);align-items:start}
.av-qc__checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-default)}
.av-qc__check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}
.av-qc__check:nth-child(odd){border-right:1px solid var(--border-subtle)}
.av-qc__check:nth-child(even){padding-left:var(--space-2)}
.av-qc__check svg{color:var(--teal-600);margin-top:2px}
.av-qc__check strong{display:block;font-weight:var(--weight-semibold);color:var(--text-heading);font-size:var(--text-ui-size);line-height:1.35}
.av-qc__check span{display:block;font-size:var(--text-small-size);color:var(--text-secondary);margin-top:2px}
.av-qc__sig{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card)}
@media (max-width:1023px){.av-qc{grid-template-columns:1fr;gap:var(--space-4)}}
@media (max-width:767px){.av-qc__checks{grid-template-columns:1fr}.av-qc__check:nth-child(odd){border-right:0}.av-qc__check:nth-child(even){padding-left:0}}

/* ---------- Compliance ---------- */
.av-compliance{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);overflow:hidden}
.av-compliance__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-sky);border-bottom:1px solid var(--border-subtle)}
.av-compliance__rows{list-style:none;margin:0;padding:0}
.av-compliance__row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1.3fr) auto;gap:var(--space-2);align-items:start;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle)}
.av-compliance__row:last-child{border-bottom:0}
.av-compliance__row svg{color:var(--navy-700);margin-top:2px}
.av-compliance__name{font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-compliance__desc{font-size:var(--text-small-size);color:var(--text-secondary)}
@media (max-width:767px){.av-compliance__row{grid-template-columns:28px minmax(0,1fr);padding:var(--space-2)}.av-compliance__row>:nth-child(n+3){grid-column:2}.av-compliance__head{padding:var(--space-2)}}

/* ---------- Recruitment ---------- */
.av-recruit{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-8);align-items:center}
.av-recruit__benefits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.av-recruit__benefits li{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-2);border-top:1px solid var(--border-default)}
.av-recruit__benefits strong{color:var(--text-heading);font-weight:var(--weight-semibold)}
.av-recruit__benefits span{font-size:var(--text-small-size);color:var(--text-secondary)}
@media (max-width:1023px){.av-recruit{grid-template-columns:1fr;gap:var(--space-5)}}
@media (max-width:767px){.av-recruit__benefits{grid-template-columns:1fr}}

/* ---------- FAQ accordion ---------- */
.av-accordion{border-top:1px solid var(--border-default)}
.av-accordion__item{border-bottom:1px solid var(--border-default)}
.av-accordion__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;min-height:var(--target-min);background:none;border:0;cursor:pointer;text-align:left;font-size:var(--text-h4-size);line-height:1.4;font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-accordion__trigger:hover{color:var(--text-brand)}
.av-accordion__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.av-accordion__sign{flex:none;width:32px;height:32px;border:1px solid var(--border-default);border-radius:var(--radius-sm);display:grid;place-items:center;position:relative;color:var(--navy-900);transition:var(--transition-color)}
.av-accordion__sign::before,.av-accordion__sign::after{content:"";position:absolute;width:12px;height:1.5px;background:currentColor;transition:transform var(--dur-base) var(--ease-standard)}
.av-accordion__sign::after{transform:rotate(90deg)}
.av-accordion__trigger[aria-expanded="true"] .av-accordion__sign{background:var(--navy-900);color:var(--white);border-color:var(--navy-900)}
.av-accordion__trigger[aria-expanded="true"] .av-accordion__sign::after{transform:rotate(0)}
.av-accordion__panel{padding:0 var(--space-8) var(--space-3) 0;color:var(--text-secondary);max-width:var(--measure-body)}
.av-accordion__panel p:last-child{margin-bottom:0}
@media (max-width:767px){.av-accordion__trigger{font-size:1.0625rem}.av-accordion__panel{padding-right:0}}

/* ===== css/data.css ===== */
/* ============================================================
   AVISSO — DATA: metrics, tables, coverage, charts
   Credible, restrained: every number carries a period + source.
   ============================================================ */
.av-metrics{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-subtle)}
.av-metric{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-3) 0}
.av-metric+.av-metric{padding-left:var(--space-3);border-left:1px solid var(--border-subtle)}
.av-metric__value{font-family:var(--font-sans);font-weight:var(--weight-light);font-size:var(--text-metric-size);line-height:var(--text-metric-lh);letter-spacing:var(--text-metric-track);color:var(--text-heading);font-variant-numeric:tabular-nums lining-nums;display:flex;align-items:baseline;gap:4px}
.av-metric__unit{font-size:.45em;font-weight:var(--weight-regular);letter-spacing:0;color:var(--text-secondary)}
.av-metric__label{font-size:var(--text-ui-size);font-weight:var(--weight-semibold);color:var(--text-heading);line-height:1.35}
.av-metric__note{font-size:var(--text-caption-size);color:var(--text-secondary);line-height:1.4}
.av-metric__trend{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--success-700)}
[data-theme="dark"] .av-metric__trend{color:var(--teal-300)}
.av-metrics__source{grid-column:1/-1;padding:var(--space-1-5) 0;font-size:var(--text-caption-size);color:var(--text-secondary);border-top:1px solid var(--border-subtle)}
@media (max-width:1023px){.av-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.av-metric:nth-child(odd){padding-left:0;border-left:0}.av-metric:nth-child(n+3){border-top:1px solid var(--border-subtle)}}
@media (max-width:480px){.av-metrics{grid-template-columns:1fr}.av-metric{padding-left:0!important;border-left:0!important;border-top:1px solid var(--border-subtle)}.av-metric:first-child{border-top:0}}

.av-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card)}
.av-table-wrap:focus-visible{box-shadow:var(--shadow-focus);outline:none}
.av-table{width:100%;border-collapse:collapse;font-size:var(--text-small-size);line-height:1.45;min-width:560px}
.av-table caption{text-align:left;padding:var(--space-2) var(--space-3);font-weight:var(--weight-semibold);color:var(--text-heading);font-size:var(--text-ui-size);border-bottom:1px solid var(--border-subtle)}
.av-table caption small{display:block;font-weight:var(--weight-regular);color:var(--text-secondary);font-size:var(--text-caption-size);margin-top:2px}
.av-table th,.av-table td{padding:14px var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}
.av-table thead th{background:var(--neutral-50);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--neutral-700);letter-spacing:.02em;white-space:nowrap}
.av-table tbody th{font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-table tbody tr:last-child>*{border-bottom:0}
.av-table tbody tr:hover>*{background:var(--neutral-50)}
.av-table .av-num,.av-table td[data-num]{text-align:right;font-variant-numeric:tabular-nums}
.av-table thead th[data-num]{text-align:right}
.av-table .av-col-hl{background:var(--teal-50)}
.av-table thead .av-col-hl{background:var(--teal-700);color:var(--white)}
.av-table--striped tbody tr:nth-child(even)>*{background:var(--neutral-50)}
.av-yes{color:var(--teal-700);display:inline-flex;align-items:center;gap:6px;font-weight:var(--weight-semibold)}
.av-no{color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px}

/* Coverage tile grid — each state a square, positioned in an 11×8 cartogram */
.av-coverage{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:start}
.av-tiles{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(8,auto);gap:4px}
.av-tile{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-xs);font-size:clamp(9px,1.1vw,13px);font-weight:var(--weight-semibold);background:var(--neutral-100);color:var(--neutral-600);border:1px solid transparent;cursor:default;transition:var(--transition-color)}
.av-tile--active{background:var(--teal-700);color:var(--white)}
.av-tile--partial{background:var(--teal-100);color:var(--teal-900);border-color:var(--teal-200)}
.av-tile--planned{background:var(--surface-card);color:var(--navy-700);border:1px dashed var(--navy-300)}
.av-tile[data-sel="true"]{box-shadow:0 0 0 2px var(--surface-page),0 0 0 4px var(--aqua-600)}
button.av-tile{cursor:pointer;font-family:inherit;padding:0}
.av-legend{display:flex;flex-wrap:wrap;gap:var(--space-1-5) var(--space-3);font-size:var(--text-caption-size);color:var(--text-secondary)}
.av-legend__sw{width:14px;height:14px;border-radius:2px;display:inline-block;vertical-align:-2px;margin-right:6px}
@media (max-width:1023px){.av-coverage{grid-template-columns:1fr}}

/* Bar chart (horizontal) — turn times, volumes */
.av-bars{display:flex;flex-direction:column;gap:var(--space-1-5);margin:0;padding:0;list-style:none}
.av-bar{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) 64px;gap:var(--space-2);align-items:center;font-size:var(--text-small-size)}
.av-bar__label{color:var(--text-body)}
.av-bar__track{height:12px;background:var(--neutral-100);border-radius:1px;position:relative;overflow:hidden}
.av-bar__fill{position:absolute;inset:0 auto 0 0;background:var(--viz-2);transform-origin:left;animation:av-draw var(--dur-reveal) var(--ease-out) both}
.av-bar--hl .av-bar__fill{background:var(--viz-1)}
.av-bar--hl .av-bar__label{font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-bar__value{text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--text-heading)}
.av-bar__target{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy-900)}
@media (max-width:480px){.av-bar{grid-template-columns:1fr 56px}.av-bar__track{grid-column:1/-1;grid-row:2}}

/* Score / quality indicator */
.av-score{display:flex;flex-direction:column;gap:6px}
.av-score__row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-small-size)}
.av-score__meter{display:grid;grid-template-columns:repeat(20,1fr);gap:2px}
.av-score__meter i{height:8px;background:var(--neutral-200)}
.av-score__meter i.on{background:var(--teal-600)}

/* ===== css/editorial.css ===== */
/* ============================================================
   AVISSO — EDITORIAL LAYOUT (homepage & brand storytelling)
   Composition, scale and pacing; typography as a compositional element.
   ============================================================ */
.av-ed-mark{display:inline-flex;align-items:baseline;gap:10px;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--text-secondary)}
.av-ed-mark b{font-weight:var(--weight-semibold);color:var(--text-brand);font-variant-numeric:tabular-nums}
.av-ed-mark::after{content:"";width:40px;height:1px;background:var(--border-default);align-self:center}
.av-ed-statement{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:clamp(2.125rem,4.4vw,4.25rem);line-height:1.06;letter-spacing:-.004em;color:var(--text-heading);margin:0;text-wrap:balance}
.av-ed-statement em{font-style:italic;font-weight:var(--weight-regular)}
.av-ed-statement--sm{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.14}
.av-ed-num{font-family:var(--font-sans);font-weight:var(--weight-light);font-size:clamp(4rem,9vw,8.5rem);line-height:.9;letter-spacing:-.03em;color:var(--text-heading);font-variant-numeric:tabular-nums lining-nums}
.av-ed-num small{font-size:.28em;font-weight:var(--weight-regular);letter-spacing:0;color:var(--text-secondary);margin-left:.15em}
.av-ed-note{font-size:var(--text-small-size);line-height:1.5;color:var(--text-secondary);max-width:32ch}
.av-ed-note strong{color:var(--text-heading);font-weight:var(--weight-semibold)}
.av-ed-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 32px;font-size:var(--text-small-size);color:var(--text-secondary)}
.av-ed-facts li{display:flex;gap:10px;align-items:baseline}
.av-ed-facts li::before{content:"";width:6px;height:6px;background:var(--teal-600);align-self:center;flex:none}
.av-ed-facts--dark{color:var(--navy-200)}
.av-ed-facts--dark li::before{background:var(--teal-400)}

/* hero */
.av-ed-hero{position:relative;overflow:hidden;background:var(--surface-page)}
.av-ed-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter);align-items:end;padding-top:var(--space-10);min-height:calc(100vh - 124px);min-height:calc(100svh - 124px)}
.av-ed-hero__copy{grid-column:1/span 8;display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-12);position:relative;z-index:1}
.av-ed-hero__title{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:clamp(3.25rem,8.6vw,8.25rem);line-height:.96;letter-spacing:-.012em;color:var(--text-heading);margin:0}
.av-ed-hero__sub{font-family:var(--font-serif);font-style:italic;font-weight:var(--weight-regular);font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.2;color:var(--teal-700);margin:0;padding-left:.08em}
.av-ed-hero__lead{font-size:var(--text-body-lg-size);line-height:1.55;color:var(--text-secondary);max-width:46ch;margin:0}
.av-ed-hero__rule{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-default)}
.av-ed-hero__media{grid-column:9/span 4;position:relative;align-self:stretch;margin-right:calc(-1*var(--container-margin));min-height:520px}
.av-ed-hero__media .av-photo{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;height:100%}
.av-ed-hero__caption{position:absolute;left:0;bottom:0;z-index:1;background:var(--surface-page);padding:12px 16px 0 0;font-size:var(--text-caption-size);color:var(--text-secondary);max-width:26ch;line-height:1.4}
.av-ed-hero__horizon{height:96px}
@media (max-width:1023px){.av-ed-hero__grid{min-height:0;padding-top:var(--space-6);align-items:start}.av-ed-hero__copy{grid-column:1/-1;padding-bottom:var(--space-6)}.av-ed-hero__media{grid-column:1/-1;margin-inline:calc(-1*var(--container-margin));min-height:0;aspect-ratio:16/10}.av-ed-hero__media .av-photo{position:static;height:auto;aspect-ratio:16/10}.av-ed-hero__horizon{height:56px}}
@media (max-width:767px){.av-ed-hero__title{font-size:clamp(2.75rem,14vw,3.75rem)}.av-ed-hero__sub{font-size:1.375rem}.av-ed-hero__media{aspect-ratio:4/5}.av-ed-hero__media .av-photo{aspect-ratio:4/5}.av-ed-hero__caption{display:none}}

/* generic asymmetrical grids */
.av-ed-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter);align-items:start}
.av-ed-col-label{grid-column:1/span 3}
.av-ed-col-main{grid-column:5/span 8}
.av-ed-col-7{grid-column:1/span 7}
.av-ed-col-4r{grid-column:9/span 4}
.av-ed-col-5{grid-column:1/span 5}
.av-ed-col-6r{grid-column:7/span 6}
.av-ed-sticky{position:sticky;top:132px}
@media (max-width:1023px){.av-ed-col-label,.av-ed-col-main,.av-ed-col-7,.av-ed-col-4r,.av-ed-col-5,.av-ed-col-6r{grid-column:1/-1}.av-ed-sticky{position:static}}

/* full-bleed property moment */
.av-ed-bleed{position:relative;min-height:78vh;min-height:78svh;max-height:920px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;background:var(--navy-900);color:var(--text-body);overflow:hidden;isolation:isolate}
.av-ed-bleed .av-photo{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;height:100%;z-index:-1}
.av-ed-bleed .av-photo--placeholder{background-color:var(--navy-800);background-image:repeating-linear-gradient(135deg,rgba(185,209,223,.09) 0 1px,transparent 1px 14px)}
.av-ed-bleed .av-photo__note{color:var(--navy-200);left:auto;right:var(--container-margin);bottom:auto;top:24px;max-width:32ch;text-align:right}
.av-ed-bleed::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,22,31,.86) 0%,rgba(6,22,31,.55) 45%,rgba(6,22,31,.1) 100%)}
.av-ed-bleed__copy{grid-column:1/span 7;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) 0 var(--space-10) var(--container-margin)}
.av-ed-bleed__aside{grid-column:9/span 4;padding:var(--space-10) var(--container-margin) var(--space-10) 0}
.av-ed-bleed__aside .av-ed-signal{border-top:1px solid rgba(185,209,223,.25)}
@media (max-width:1023px){.av-ed-bleed{min-height:0;grid-template-rows:56vw auto}.av-ed-bleed::before{background:linear-gradient(180deg,rgba(6,22,31,.05) 0%,rgba(6,22,31,.9) 55%)}.av-ed-bleed__copy{grid-column:1/-1;grid-row:2;padding:var(--space-6) var(--container-margin) var(--space-3)}.av-ed-bleed__aside{grid-column:1/-1;grid-row:3;padding:0 var(--container-margin) var(--space-8)}}
.av-ed-signal{list-style:none;margin:0;padding:0}
.av-ed-signal li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(185,209,223,.25);font-size:var(--text-small-size);line-height:1.4}
.av-ed-signal li span:first-child{font-variant-numeric:tabular-nums;color:var(--teal-300);font-weight:var(--weight-semibold)}
.av-ed-signal strong{display:block;font-weight:var(--weight-semibold);color:var(--white)}
.av-ed-signal em{font-style:normal;color:var(--navy-200)}

/* vertical process story */
.av-ed-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-default)}
.av-ed-step{border-bottom:1px solid var(--border-default)}
.av-ed-step__head{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;width:100%;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--text-heading);font:inherit}
.av-ed-step__num{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--text-brand);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.av-ed-step__title{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:clamp(1.625rem,2.6vw,2.375rem);line-height:1.1;letter-spacing:.01em;margin:0}
.av-ed-step__owner{font-size:var(--text-caption-size);color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.av-ed-step__owner i{width:8px;height:8px;background:var(--neutral-300);flex:none;transition:background var(--dur-fast) var(--ease-standard)}
.av-ed-step[data-open="true"] .av-ed-step__owner i{background:var(--teal-600)}
.av-ed-step__head:hover .av-ed-step__title{color:var(--text-brand)}
.av-ed-step__head:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
.av-ed-step__body{display:grid;grid-template-columns:56px minmax(0,7fr) minmax(0,4fr);gap:var(--space-3);padding:0 0 28px}
.av-ed-step__body>:first-child{grid-column:2}
.av-ed-step__text{margin:0;color:var(--text-body);font-size:var(--text-body-size);max-width:52ch}
.av-ed-step__who{font-size:var(--text-small-size);color:var(--text-secondary);border-left:1px solid var(--border-default);padding-left:var(--space-2)}
.av-ed-step__who strong{display:block;color:var(--text-heading);font-weight:var(--weight-semibold)}
.av-ed-step__arrow{display:flex;justify-content:center;color:var(--neutral-400);padding:2px 0 6px;width:56px}
@media (max-width:767px){.av-ed-step__head{grid-template-columns:40px 1fr;padding:18px 0}.av-ed-step__owner{grid-column:2;justify-self:start}.av-ed-step__body{grid-template-columns:1fr;padding-left:40px}.av-ed-step__body>:first-child{grid-column:1}.av-ed-step__who{border-left:0;padding-left:0}}

/* quality layers */
.av-ed-layers{border-top:1px solid var(--navy-900)}
.av-ed-layer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter);padding:var(--space-4) 0;border-bottom:1px solid var(--border-default)}
.av-ed-layer__when{grid-column:1/span 3;display:flex;flex-direction:column;gap:6px}
.av-ed-layer__when b{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--text-brand)}
.av-ed-layer__when span{font-family:var(--font-serif);font-size:1.5rem;line-height:1.15;color:var(--text-heading)}
.av-ed-layer__items{grid-column:4/span 6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.av-ed-layer__items div{display:flex;flex-direction:column;gap:4px;font-size:var(--text-small-size);color:var(--text-secondary);line-height:1.45}
.av-ed-layer__items strong{color:var(--text-heading);font-weight:var(--weight-semibold);font-size:var(--text-ui-size)}
.av-ed-layer__who{grid-column:11/span 2;font-size:var(--text-caption-size);color:var(--text-secondary);text-align:right}
.av-ed-layer__who strong{display:block;color:var(--text-heading);font-weight:var(--weight-semibold)}
@media (max-width:1023px){.av-ed-layer__when,.av-ed-layer__items,.av-ed-layer__who{grid-column:1/-1;text-align:left}.av-ed-layer__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.av-ed-layer__items{grid-template-columns:1fr}}

/* accountability commitments (dark) */
.av-ed-commit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-5)}
.av-ed-commit li{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-2);border-top:1px solid rgba(185,209,223,.25);font-size:var(--text-small-size);color:var(--navy-200);line-height:1.5}
.av-ed-commit strong{font-size:var(--text-h4-size);font-weight:var(--weight-semibold);color:var(--white);line-height:1.3}
@media (max-width:480px){.av-ed-commit{grid-template-columns:1fr}}

/* portrait image offset */
.av-ed-portrait{margin-right:calc(-1*var(--container-margin))}
.av-ed-portrait .av-photo{border-radius:0}
.av-ed-portrait--left{margin-right:0;margin-left:calc(-1*var(--container-margin))}
@media (max-width:1023px){.av-ed-portrait,.av-ed-portrait--left{margin-inline:calc(-1*var(--container-margin))}.av-ed-portrait .av-photo{aspect-ratio:16/10}}

/* reveal — opt-in, once, reduced-motion safe */
.av-reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}
.av-reveal.is-in{opacity:1;transform:none}
.av-reveal--rule{transform:scaleX(0);transform-origin:left}
.av-reveal--rule.is-in{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.av-reveal{opacity:1;transform:none;transition:none}}

/* content placeholders — visible until verified; never ship */
.av-todo{display:inline-block;font-family:var(--font-mono);font-size:.72em;font-weight:600;letter-spacing:.02em;line-height:1.3;padding:2px 6px;border-radius:2px;background:var(--warning-100);color:var(--warning-700);border:1px dashed var(--warning-300);vertical-align:middle;white-space:nowrap}
[data-theme="dark"] .av-todo{background:rgba(232,182,74,.14);color:#F1CB77;border-color:rgba(232,182,74,.5)}
.av-todo-block{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px dashed var(--warning-300);background:var(--warning-100);border-radius:var(--radius-md);color:var(--warning-700);font-size:var(--text-small-size)}
.av-todo-block b{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;color:var(--text-heading)}
.k-copyopt{position:fixed;left:16px;bottom:16px;z-index:400;display:flex;gap:8px;align-items:center;background:var(--navy-950);color:#fff;border:1px solid var(--navy-700);border-radius:4px;padding:8px 10px;font-size:13px;box-shadow:var(--shadow-3)}
.k-copyopt select{background:var(--navy-800);color:#fff;border:1px solid var(--navy-700);border-radius:3px;padding:4px 6px;font-size:13px}

/* ===== styles.css ===== */
/* Avisso design system — global entry.

/* ===== site-responsive.css ===== */
/* Avisso site — mobile art-direction layer. Loaded after the design-system bundle on every page.
   Design-system tokens already step spacing/type down at 1023 / 767; this file re-composes page-level
   patterns (hero asides, split ledgers, bleed heroes, signal lists, utility bar) rather than just stacking. */

/* ---- Navigation: the badge hangs from the top edge of the page, across the utility bar and main bar, overhanging the main bar by 27px. In-flow flex item; negative margins keep both rows at their own height. ---- */
.av-utility__inner{min-height:40px;height:40px;padding-left:calc(var(--container-margin) + 143px + var(--space-4))}
.av-header__inner{min-height:76px}
.av-header__brand{align-self:flex-start;margin:-40px var(--space-2) -27px 0;padding:0;height:auto;position:relative;z-index:1}
.av-header__brand .av-logo-badge{height:143px!important;width:143px!important;box-shadow:none}
.av-footer__brand .av-logo-badge{height:88px!important;width:88px!important}
.av-drawer__head .av-logo-badge{height:48px!important;width:48px!important}
@media (max-width:1023px){
  .av-utility__inner{min-height:44px;height:44px;padding-left:calc(var(--container-margin) + 96px + var(--space-2))}
  .av-header__inner{min-height:68px}
  .av-header__brand{margin:-44px var(--space-2) 0 0}
  .av-header__brand .av-logo-badge{height:96px!important;width:96px!important}
}
@media (max-width:767px){
  .av-utility__inner{padding-left:calc(var(--container-margin) + 80px + var(--space-2))}
  .av-header__brand .av-logo-badge{height:80px!important;width:80px!important}
}

/* ---- Navigation refinement: logo above mega menu, compact mega, legible utility bar, drawer groups ---- */
.av-header{z-index:calc(var(--z-menu) + 1)}
.av-header__brand{z-index:calc(var(--z-menu) + 1)}
.av-utility{font-size:14px}
.av-utility__links{gap:var(--space-2)}
.av-utility a{min-height:40px;padding-inline:6px;white-space:nowrap}
.av-login{height:32px;padding:0 14px;font-size:14px}
.av-utility__logins{gap:10px;align-items:center;align-self:center}
.av-utility .av-login{min-height:0;height:30px;box-sizing:border-box}
.av-mega__inner{padding-block:44px var(--space-3);align-items:start;row-gap:var(--space-2)}
.av-mega__group h3{margin-bottom:var(--space-1)}
.av-mega__list a{padding:7px 12px}
.av-mega__list span{margin-top:1px}
.av-nav__link{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){.av-header__inner{gap:var(--space-2)}.av-nav{gap:0}.av-nav__link{padding:0 8px;font-size:15px}.av-nav__link::after{left:8px;right:8px}}
.av-mega__feature{align-self:start;padding:var(--space-3);gap:var(--space-1)}
.av-drawer__toggle,.av-drawer__subtoggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;background:none;border:0;font:inherit;color:var(--navy-900);text-align:left;cursor:pointer}
.av-drawer__toggle{min-height:56px;border-bottom:1px solid var(--border-subtle);font-size:1.125rem;font-weight:var(--weight-medium)}
.av-drawer__subtoggle{min-height:48px;font-size:1rem;font-weight:var(--weight-semibold)}
.av-drawer__toggle .av-icon,.av-drawer__subtoggle .av-icon{flex:none;transition:transform var(--dur-base) var(--ease-standard)}
.av-drawer__toggle[aria-expanded="true"] .av-icon,.av-drawer__subtoggle[aria-expanded="true"] .av-icon{transform:rotate(180deg)}
.av-drawer__toggle:focus-visible,.av-drawer__subtoggle:focus-visible{outline:2px solid var(--aqua-500);outline-offset:2px}
.av-drawer__panel{display:flex;flex-direction:column;padding:4px 0 16px var(--space-2);border-bottom:1px solid var(--border-subtle);min-width:0}
.av-drawer__panel[hidden],.av-drawer__sublist[hidden]{display:none}
.av-drawer__nav .av-drawer__panel a{min-height:44px;border-bottom:0;font-size:1rem}
.av-drawer__nav a.av-drawer__overview{font-weight:var(--weight-semibold)}
.av-drawer__sublist{list-style:none;margin:0 0 8px;padding:0 0 0 12px;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column}
.av-drawer__nav .av-drawer__sublist a{display:block;padding:8px 0;min-width:0}
.av-drawer__sublist strong{display:block;font-weight:var(--weight-semibold);color:var(--navy-900)}
.av-drawer__sublist span{display:block;font-size:14px;line-height:1.4;font-weight:400;color:var(--text-secondary);overflow-wrap:anywhere;margin-top:2px}
.av-drawer__feature{margin-top:var(--space-1);padding:var(--space-2);background:var(--surface-sky);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px}
.av-drawer__feature-title{margin:0;font-family:var(--font-serif);font-size:20px;line-height:1.25;color:var(--navy-900)}
.av-drawer__nav .av-drawer__feature a{min-height:44px;border-bottom:0;justify-content:flex-start;gap:6px;font-size:1rem;font-weight:var(--weight-semibold);color:var(--aqua-700)}
@media (max-width:1023px){.av-utility a{min-height:44px}}
@media (max-width:479px){.av-utility__links a[href$="appraisers/"],.av-utility__links a[href="#appraisers"]{display:none}.av-utility__links{gap:var(--space-1)}}

/* ---- Navigation: keep Contact + phone reachable without opening the drawer; logins live in the drawer ---- */
@media (max-width:1023px){
  .av-utility__links{display:flex!important;gap:var(--space-2)}
  .av-utility__logins{display:none!important}
  .av-utility a{min-height:44px}
}
@media (max-width:479px){
  .av-utility__links a[href="#appraisers"]{display:none}
}

/* ---- Interior hero aside ("On this page" / contact facts) → horizontal index strip under the H1 ---- */
@media (max-width:1023px){
  .rs-toc{border-left:0!important;padding-left:0!important;border-top:1px solid var(--border-subtle);padding-top:16px;
    flex-direction:row!important;flex-wrap:nowrap;align-items:center;gap:8px 20px!important;overflow-x:auto;scrollbar-width:none;
    margin-inline:calc(-1*var(--container-margin));padding-inline:var(--container-margin);white-space:nowrap}
  .rs-toc::-webkit-scrollbar{display:none}
  .rs-toc>p{flex:none;padding-right:8px}
  .rs-toc>a{flex:none;min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-small-size)}
  .rs-toc>a>span:first-child{display:none}
  .rs-facts{border-left:0!important;padding-left:0!important;border-top:1px solid var(--border-subtle);padding-top:16px}
}

/* ---- Split ledgers (label / body / action) collapse to one column; children lose desktop spans ---- */
@media (max-width:767px){
  .rs-split{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .rs-split>*{grid-column:auto!important}
}

/* ---- Full-bleed property hero: image on top as a real crop, copy below; category list becomes a swipe rail ---- */
@media (max-width:1023px){
  .av-ed-bleed{min-height:0!important;max-height:none;grid-template-rows:64vw auto}
}
@media (max-width:767px){
  .av-ed-bleed{grid-template-rows:72vw auto}
  .av-ed-bleed__aside{padding-top:0}
  .av-ed-bleed__aside .av-ed-signal{display:flex;gap:0 20px;overflow-x:auto;scrollbar-width:none;border-top:1px solid rgba(185,209,223,.25);
    margin-inline:calc(-1*var(--container-margin));padding-inline:var(--container-margin)}
  .av-ed-bleed__aside .av-ed-signal::-webkit-scrollbar{display:none}
  .av-ed-bleed__aside .av-ed-signal li{flex:0 0 200px;grid-template-columns:1fr;gap:6px;border-bottom:0;padding:16px 0 20px}
}

/* ---- Typography: expressive serif, but never a viewport-eating wall ---- */
@media (max-width:767px){
  .av-ed-statement{font-size:clamp(1.875rem,7.6vw,2.5rem);line-height:1.12;max-width:16ch}
  .av-ed-statement--sm{font-size:clamp(1.5rem,6vw,1.875rem);line-height:1.18}
  .av-ed-num{font-size:clamp(3rem,16vw,4.5rem)}
  .av-h1{max-width:14ch!important}
  .av-h2{max-width:18ch!important}
  .av-ed-hero__rule .av-ed-facts{justify-content:flex-start!important}
  .av-ed-hero__caption{position:static;padding:8px 0 0;max-width:none}
}

/* ---- Imagery: intentional recrops ---- */
@media (max-width:1023px){
  .av-hero--page .av-ed-portrait .av-photo{aspect-ratio:3/2!important}
  .av-ed-portrait--left .av-photo{aspect-ratio:3/2!important}
}
@media (max-width:767px){
  .av-ed-portrait .av-photo{aspect-ratio:4/5!important}            /* people / detail crops stay tall */
  .av-ed-portrait--left .av-photo,.av-hero--page .av-ed-portrait .av-photo{aspect-ratio:1/1!important} /* architectural details square */
}

/* ---- CTAs and forms ---- */
@media (max-width:479px){
  .av-btn{width:100%}
  [data-theme="dark"] .av-ed-col-4r{align-items:stretch!important}
}

/* ---- Footer: single column on small phones ---- */
@media (max-width:479px){
  .av-footer__top{grid-template-columns:1fr!important}
}

/* ---- Reduced motion: reveals render immediately ---- */
@media (prefers-reduced-motion:reduce){
  .av-reveal{opacity:1!important;transform:none!important}
}

/* ===== page shell ===== */
body{margin:0;background:var(--surface-page);color:var(--text-body)}
a{color:var(--aqua-700)} a:hover{color:var(--navy-900)}
[data-placeholders="hidden"] .av-todo,[data-placeholders="hidden"] .av-todo-block{display:none}
.av-reveal{opacity:1;transform:none}
html.js .av-reveal:not(.is-in){opacity:0;transform:translateY(14px)}
html.js .av-reveal--rule:not(.is-in){transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){html.js .av-reveal:not(.is-in){opacity:1;transform:none}}
[hidden]{display:none!important}
.av-form-errors,.av-form-unavailable{margin-bottom:8px}

/* ===== page helmet styles (from authoring files) ===== */
/* -- Home.dc.html -- */
body{margin:0;background:var(--surface-page);color:var(--text-body)}
    a{color:var(--aqua-700)} a:hover{color:var(--navy-900)}
    [data-placeholders="hidden"] .av-todo,[data-placeholders="hidden"] .av-todo-block{display:none}
    .hm-hero-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(3rem,6.6vw,6.5rem);line-height:.98;letter-spacing:-.01em;color:var(--text-heading);margin:0}
    .hm-hero-sub{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.375rem,2.2vw,2.125rem);line-height:1.2;color:var(--teal-700);margin:0}
    .hm-lead{font-size:var(--text-body-lg-size);line-height:1.55;color:var(--text-secondary);max-width:46ch;margin:0}
    .hm-transition{font-family:var(--font-serif);font-size:clamp(1.375rem,1.9vw,1.75rem);line-height:1.3;color:var(--text-heading);margin:0;max-width:30ch}
    .hm-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter)}
    .hm-c7{grid-column:1/span 7}.hm-c5r{grid-column:8/span 5}.hm-c8{grid-column:1/span 8}.hm-c4r{grid-column:9/span 4}.hm-c6{grid-column:1/span 6}.hm-c6r{grid-column:7/span 6}
    @media (max-width:1023px){.hm-c7,.hm-c5r,.hm-c8,.hm-c4r,.hm-c6,.hm-c6r{grid-column:1/-1}.hm-horizon-photo{margin-bottom:0 !important}}
/* -- Solutions.dc.html -- */
body{margin:0;background:var(--surface-page);color:var(--text-body)} a{color:var(--aqua-700)} a:hover{color:var(--navy-900)}
/* ---- Home hero: feature photograph (from Home.dc.html helmet) ---- */

.hm-hero .hm-hero-title{font-size:clamp(3rem,5.4vw,5.25rem);line-height:1}
    .hm-hero .hm-hero-sub{font-size:clamp(1.375rem,1.9vw,1.875rem);max-width:none}
.hm-hero__origin{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--border-default);align-self:stretch;max-width:none;font-size:var(--text-caption-size);line-height:1.45;color:var(--text-secondary)}

.hm-hero__media .av-photo img{object-position:20% 50%}
@media (min-width:1024px){.hm-hero__origin{white-space:nowrap}}
    @media (max-width:1279px){.hm-hero__media .av-photo img{object-position:42% 50%}}
@media (max-width:1023px){.hm-hero__media .av-photo img{object-position:30% 50%}}
/* ---- Decorative landscape bands/silhouettes retired site-wide (logo artwork and gradient grounds unaffected) ---- */
.av-horizon{display:none!important}
/* ---- Home 02 / The problem ---- */
.hm-problem{padding-block:72px}
.hm-problem__grid{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);column-gap:clamp(40px,6vw,96px);align-items:start}
.hm-problem__head{display:flex;flex-direction:column;gap:24px;min-width:0}
.hm-problem__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.1;letter-spacing:-.004em;color:var(--text-heading);margin:0;max-width:17ch;text-wrap:balance}
.hm-problem__body{display:flex;flex-direction:column;gap:20px;min-width:0}
.hm-problem__lead{margin:0;font-size:var(--text-body-lg-size);line-height:1.55;color:var(--text-body)}
.hm-problem__callout{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:12px;padding-top:28px;border-top:1px solid var(--border-default)}
.hm-problem__callout p{margin:0}
@media (max-width:1023px){.hm-problem__grid{grid-template-columns:minmax(0,1fr);row-gap:28px}.hm-problem__title{max-width:20ch}}
@media (max-width:767px){.hm-problem{padding-block:44px}}
/* ---- Home 03 / The work ---- */
.hm-work__wrap{display:flex;flex-direction:column;gap:56px}
.hm-work__head{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);column-gap:clamp(40px,6vw,96px);row-gap:24px;align-items:start}
.hm-work__headl{display:flex;flex-direction:column;gap:24px;min-width:0}
.hm-work__intro{display:flex;flex-direction:column;gap:16px;min-width:0;padding-top:44px}
.hm-work__intro p{margin:0}
.hm-work__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px clamp(32px,3.5vw,56px);align-items:start}
.hm-work__stage{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border-default);min-width:0}
.hm-work__num{font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--teal-700);font-variant-numeric:tabular-nums}
.hm-work__name{font-family:var(--font-serif);font-weight:400;font-size:1.625rem;line-height:1.2;color:var(--text-heading);margin:0}
.hm-work__title{max-width:none;font-size:clamp(2rem,3vw,2.875rem)}
.hm-work__close{margin:0;font-family:var(--font-serif);font-size:clamp(1.25rem,1.5vw,1.375rem);line-height:1.4;color:var(--text-body);max-width:52ch}
.hm-work__desc{margin:0;font-size:var(--text-body-size);line-height:1.6;max-width:46ch}
@media (max-width:1279px){.hm-work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.hm-work__head{grid-template-columns:minmax(0,1fr)}.hm-work__intro{padding-top:0}.hm-work__br{display:none}.hm-work__title{max-width:20ch}}
@media (max-width:767px){.hm-work__wrap{gap:40px}.hm-work__grid{grid-template-columns:minmax(0,1fr);gap:36px}.hm-work__name{font-size:1.375rem}}
/* ---- Home 04 / The test ---- */
.hm-test{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:600px;background:var(--teal-900)}
.hm-test__media{position:absolute;inset:0;z-index:-1}
.hm-test__media .av-photo{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;height:100%}
.hm-test__media .av-photo img{object-position:80% center}
.hm-test__panel{grid-column:1;display:flex;align-items:center;background:rgba(10,59,55,.93);padding:88px clamp(40px,5vw,80px) 88px max(var(--container-margin),calc(100% - var(--container-max) / 2))}
.hm-test__inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:540px;min-width:0}
.hm-test__inner p{margin:0}
.hm-test__title{color:var(--white);max-width:none;text-wrap:wrap}
@media (max-width:1199px){.hm-test__br{display:none}.hm-test__title{text-wrap:pretty}}
.hm-test__body{font-size:var(--text-body-lg-size);line-height:1.55;color:var(--navy-100)}
.hm-test__types{font-size:15px;line-height:1.6;color:var(--white);padding-top:16px;border-top:1px solid rgba(255,255,255,.28);align-self:stretch}
.hm-test .av-btn--secondary{border:1.5px solid var(--white);color:var(--white);background:transparent}
.hm-test .av-btn--secondary:hover{background:rgba(255,255,255,.12);color:var(--white)}
@media (max-width:1023px){.hm-test{display:flex;flex-direction:column;min-height:0}.hm-test__media{position:relative;inset:auto;z-index:auto;order:2;aspect-ratio:16/10}.hm-test__panel{background:var(--teal-900);padding:56px var(--container-margin)}.hm-test__media .av-photo img{object-position:78% center}}
@media (max-width:767px){.hm-test__panel{padding-block:44px}.hm-test__media{aspect-ratio:4/3}}
/* ---- Home 05 / Quality ---- */
.hm-quality{padding-block:80px}
.hm-quality__lead{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.hm-quality__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;min-width:0}
.hm-quality__item{display:flex;flex-direction:column;gap:8px;padding-block:28px;border-top:1px solid var(--border-default)}
.hm-quality__item:last-child{border-bottom:1px solid var(--border-default)}
.hm-quality__item h3{margin:0;font-family:var(--font-serif);font-weight:400;font-size:1.625rem;line-height:1.2;color:var(--text-heading)}
.hm-quality__item p{margin:0;font-size:var(--text-body-size);line-height:1.6;max-width:52ch}
@media (max-width:767px){.hm-quality{padding-block:48px}.hm-quality__item{padding-block:22px}.hm-quality__item h3{font-size:1.375rem}}
.av-todo:empty{display:none}
/* ---- Home 06 / Accountability ---- */
.hm-acc .av-ed-statement{max-width:none;font-size:clamp(1.875rem,4vw,3.75rem)}
.hm-acc__keep{white-space:nowrap}
.hm-acc .av-ed-col-6r>p{color:var(--navy-100)!important;font-size:var(--text-body-lg-size);line-height:1.55;max-width:46ch}
.hm-acc .av-ed-commit li{color:var(--navy-100);font-size:var(--text-body-size);line-height:1.55}
@media (max-width:1023px){.hm-acc__br{display:none}}
@media (max-width:479px){.hm-acc__keep{white-space:normal}}
/* ---- Home 07 / Why we work this way ---- */
.hm-exp{padding-block:88px}
.hm-exp__wrap{display:flex;flex-direction:column;gap:40px}
.hm-exp__head{display:flex;flex-direction:column;gap:24px}
.hm-exp__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(40px,6vw,96px);row-gap:40px;align-items:start}
.hm-exp__text{display:flex;flex-direction:column;gap:20px;min-width:0}
.hm-exp__media{display:flex;flex-direction:column;gap:28px;min-width:0}
.hm-exp__media .av-photo{border-radius:0}
.hm-exp__call{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--border-default)}
.hm-exp__call p{margin:0}
.hm-exp__label{font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--teal-700)}
.hm-exp__call h3{margin:0;font-family:var(--font-serif);font-weight:400;font-size:1.625rem;line-height:1.25;color:var(--text-heading)}
.hm-exp__call p:last-child{font-size:var(--text-body-size);line-height:1.6;max-width:56ch}
@media (max-width:1023px){.hm-exp__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.hm-exp{padding-block:48px}.hm-exp__call h3{font-size:1.375rem}}
/* ---- Home 08 / Reporting changes ---- */
.hm-uad{padding-block:72px}
.hm-uad__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(40px,6vw,96px);row-gap:32px;align-items:center}
.hm-uad__head{display:flex;flex-direction:column;gap:20px;min-width:0}
.hm-uad__card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 32px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:0}
.hm-uad__card h3{margin:0;font-size:var(--text-h3-size);line-height:1.3;font-weight:600;color:var(--text-heading)}
.hm-uad__card p{margin:0;font-size:var(--text-body-size);line-height:1.6;color:var(--text-body)}
.hm-uad__card .av-link{margin-top:4px}
.hm-uad__card .av-uad__code{text-transform:uppercase;letter-spacing:.08em}
@media (max-width:1023px){.hm-uad__grid{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (max-width:767px){.hm-uad{padding-block:48px}.hm-uad__card{padding:24px}}
/* ---- Homepage consistency pass ---- */
.hm-problem__title,.hm-work__title,.hm-acc .av-ed-statement{font-size:clamp(2rem,3vw,2.875rem);line-height:1.12}
.hm-problem__lead{font-size:1.125rem;line-height:1.6}
.hm-problem__body,.hm-work__intro{max-width:62ch}
.hm-exp{padding-block:80px}
.hm-close{padding-block:88px}
.hm-close .av-ed-col-5>p{color:var(--navy-100)!important;font-size:1.125rem;line-height:1.6}
@media (max-width:767px){.hm-problem__lead{font-size:1rem}.hm-exp,.hm-close{padding-block:52px}}
/* ---- Site-wide: in-page targets clear the sticky header + hanging logo; visible focus ---- */
[id]{scroll-margin-top:152px}
@media (max-width:1023px){[id]{scroll-margin-top:124px}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--aqua-500);outline-offset:2px}
/* ==== Site-wide type + rhythm system (matches homepage) ==== */
:root{--section-sm:56px;--section-md:80px;--section-lg:96px}
@media (max-width:1023px){:root{--section-sm:48px;--section-md:72px;--section-lg:80px}}
@media (max-width:767px){:root{--section-sm:40px;--section-md:48px;--section-lg:56px}}
main .av-h2,main .av-ed-statement,main .av-ed-statement--sm{font-size:clamp(2rem,3vw,2.875rem);line-height:1.12;text-wrap:balance}
main .av-h3{text-wrap:balance}
main .av-ed-note{font-size:1.0625rem;line-height:1.6;color:var(--text-body)}
main .av-small{font-size:1rem;line-height:1.55}
main p{text-wrap:pretty}
@media (max-width:767px){main .av-ed-note{font-size:1rem}}
/* ==== Interior pages: a lone section label sits above its content instead of reserving an empty left column (homepage pattern) ==== */
@media (min-width:1024px){
main .av-ed-grid:has(> .av-ed-col-label > .av-ed-mark:only-child) > .av-ed-col-label,
main .av-ed-grid:has(> .av-ed-col-label > .av-eyebrow:only-child) > .av-ed-col-label{grid-column:1/-1;position:static}
main .av-ed-grid:has(> .av-ed-col-label > .av-ed-mark:only-child) > .av-ed-col-main,
main .av-ed-grid:has(> .av-ed-col-label > .av-eyebrow:only-child) > .av-ed-col-main{grid-column:1/span 10}
}
/* ==== Interior recompositions (homepage patterns, page-scoped so both versions share them) ==== */
main sc-for{display:contents}
/* Why Avisso — seven beliefs: table rows → open 3-column grid */
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(32px,3.5vw,56px);border-top:0!important}
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > li,main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > sc-for > li{display:flex!important;flex-direction:column;gap:14px;padding:20px 0 0!important;border-bottom:0!important;border-top:1px solid var(--border-default)}
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol li.av-ed-grid>.av-ed-col-main{display:flex!important;flex-direction:column;gap:16px}
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol li.av-ed-grid>.av-ed-col-main>div{border-left:0!important;padding-left:0!important;padding-top:12px;border-top:1px solid var(--border-subtle)}
/* For Lenders — needs/answers: rows → open 2-column grid */
main[data-screen-label="For Lenders"] section[aria-labelledby="s1"] .av-container>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px clamp(40px,5vw,72px);border-top:0!important}
main[data-screen-label="For Lenders"] section[aria-labelledby="s1"] .av-container>div:last-child .av-ed-grid{display:flex!important;flex-direction:column;gap:12px;padding:20px 0 0!important;border-bottom:0!important;border-top:1px solid var(--border-default)}
main[data-screen-label="For Lenders"] section[aria-labelledby="s1"] .av-container>div:last-child .av-ed-col-main{display:flex!important;flex-direction:column;gap:8px}
/* Solutions — four situations: rows → 2×2 open grid; quality links → compact resource cards */
main[data-screen-label="Solutions"] #core ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(40px,5vw,72px);border-top:0!important}
main[data-screen-label="Solutions"] #core ol > li,main[data-screen-label="Solutions"] #core ol > sc-for > li{display:flex!important;flex-direction:column;gap:20px;padding:24px 0 0!important;border-bottom:0!important;border-top:1px solid var(--border-default)}
main[data-screen-label="Solutions"] #core ol li.av-ed-grid>.av-ed-col-main{display:flex!important;flex-direction:column;gap:20px}
main[data-screen-label="Solutions"] #quality ul li{background:var(--surface-card);border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md);padding:24px!important}
/* Quality & Compliance — four-stage framework: stacked rows → 4-column open grid; escalation → focused dark section */
main[data-screen-label="Quality and Compliance"] .av-ed-layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px;border:0}
main[data-screen-label="Quality and Compliance"] .av-ed-layer{display:flex!important;flex-direction:column;gap:16px;padding:20px 0 0!important;border:0!important;border-top:1px solid var(--border-default)!important}
main[data-screen-label="Quality and Compliance"] .av-ed-layer__items{display:flex!important;flex-direction:column;gap:14px}
.qc-esc .av-eyebrow{color:var(--teal-300)!important}
.qc-esc .av-ed-col-main>p{color:var(--navy-100)!important;font-size:1.125rem;line-height:1.6}
/* Complex Property — hero: photo with a readable left panel (homepage §04 pattern); categories move to a strip below */
main[data-screen-label="Complex Property"] .av-ed-bleed{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0!important;max-height:none!important;align-items:stretch}
main[data-screen-label="Complex Property"] .av-ed-bleed::before{display:none!important}
main[data-screen-label="Complex Property"] .av-ed-bleed__copy{grid-column:1!important;grid-row:1;background:rgba(10,59,55,.93);padding:80px clamp(40px,5vw,80px) 80px max(var(--container-margin),calc(100% - var(--container-max) / 2))!important;margin:0!important;max-width:none!important;display:flex;flex-direction:column;justify-content:center;gap:24px}
main[data-screen-label="Complex Property"] .av-ed-bleed__aside{grid-column:1/-1!important;grid-row:2;position:static!important;margin:0!important;max-width:none!important;width:auto!important;background:var(--teal-900);padding:40px max(var(--container-margin),calc(50% - var(--container-max) / 2))!important;align-self:auto!important}
main[data-screen-label="Complex Property"] .av-ed-signal{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 40px}
main[data-screen-label="Complex Property"] .av-ed-signal li{border-bottom:0!important;border-top:1px solid rgba(185,209,223,.25);padding-top:12px!important}
@media (max-width:1279px){
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol{grid-template-columns:repeat(2,minmax(0,1fr))}
main[data-screen-label="Quality and Compliance"] .av-ed-layers{grid-template-columns:repeat(2,minmax(0,1fr))}
main[data-screen-label="Complex Property"] .av-ed-signal{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
main[data-screen-label="For Lenders"] section[aria-labelledby="s1"] .av-container>div:last-child,main[data-screen-label="Solutions"] #core ol{grid-template-columns:minmax(0,1fr)}
main[data-screen-label="Complex Property"] .av-ed-bleed{grid-template-columns:minmax(0,1fr);grid-template-rows:none!important}
main[data-screen-label="Complex Property"] .av-ed-bleed__copy{background:var(--teal-900);padding:56px var(--container-margin)!important;justify-content:flex-start!important;min-height:0!important;height:auto!important}
main[data-screen-label="Complex Property"] .av-ed-bleed .av-photo{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:16/10!important;z-index:0!important;grid-row:2}
main[data-screen-label="Complex Property"] .av-ed-bleed__aside{grid-row:3}
}
@media (max-width:767px){
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol,main[data-screen-label="Quality and Compliance"] .av-ed-layers,main[data-screen-label="Complex Property"] .av-ed-signal{grid-template-columns:minmax(0,1fr)}
main[data-screen-label="Complex Property"] .av-ed-bleed__copy{padding-block:44px!important}
main[data-screen-label="Complex Property"] .av-ed-bleed .av-photo{aspect-ratio:4/3!important}
}
/* Avisso Standard — six principle sections: tighter rhythm */
main[data-screen-label="The Avisso Standard"] .av-section--lg{padding-block:72px}
@media (max-width:767px){main[data-screen-label="The Avisso Standard"] .av-section--lg{padding-block:48px}}
.qc-esc .av-timeline__node{background:var(--teal-700)!important;color:var(--white)!important;border-color:var(--teal-300)!important}
/* ==== Correction pass (Oct 7) ==== */
main[data-screen-label="Appraisers"] section[aria-labelledby="s1"] .av-container>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1023px){main[data-screen-label="Appraisers"] section[aria-labelledby="s1"] .av-container>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:767px){main[data-screen-label="Appraisers"] section[aria-labelledby="s1"] .av-container>div:last-child{grid-template-columns:minmax(0,1fr)!important}}
.rov-roles{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1023px){.rov-roles{grid-template-columns:minmax(0,1fr)!important}}
main[data-screen-label="Reconsideration of Value"] #process .av-timeline{grid-template-columns:minmax(0,1fr)!important;display:grid;gap:0}
main[data-screen-label="Reconsideration of Value"] #process .av-timeline__step{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;padding:14px 0;border-top:1px solid var(--border-default)}
main[data-screen-label="Reconsideration of Value"] #process .av-timeline__step>*:not(.av-timeline__node){grid-column:2}
main[data-screen-label="Reconsideration of Value"] #process .av-timeline__step::before,main[data-screen-label="Reconsideration of Value"] #process .av-timeline::before{display:none}
main[data-screen-label="The Avisso Standard"] .av-ed-col-label .av-ed-num{font-size:clamp(2.5rem,4vw,3.5rem)}
main[data-screen-label="The Avisso Standard"] .av-section--lg{padding-block:56px}
main[data-screen-label="Complex Property"] .av-ed-portrait .av-photo{max-height:620px}
main[data-screen-label="Appraiser Application"] .av-form,main[data-screen-label="Appraiser Application"] [style*="grid-template-columns"]{align-items:end}
main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > li:last-child,main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > sc-for > li:last-child{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(32px,4vw,64px);background:var(--surface-sky);border-top:0;padding:28px!important;border-radius:var(--radius-md)}
@media (max-width:767px){main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > li:last-child,main[data-screen-label="Why Avisso"] section[aria-labelledby="s1"] ol > sc-for > li:last-child{grid-template-columns:minmax(0,1fr)}}
.av-mega__overview{margin-bottom:var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle);align-self:stretch}
/* ==== Shared split image hero: homepage (.hm-hero) and interior pages (.pg-hero) use one layout ==== */
.hm-hero,.pg-hero{display:grid;grid-template-columns:minmax(0,1fr) 56%;column-gap:clamp(40px,4.5vw,72px);padding-left:max(var(--container-margin),calc((100% - var(--container-max)) / 2));border-bottom:1px solid var(--border-default);background:var(--surface-page)}
.hm-hero__copy,.pg-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-block:64px 48px;min-width:0}
.hm-hero__ctas,.pg-hero__ctas{display:flex;gap:12px 20px;flex-wrap:wrap;padding-top:8px}
.hm-hero__media,.pg-hero__media{position:relative;min-height:600px;min-width:0}
.hm-hero__media .av-photo,.pg-hero__media .av-photo{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;height:100%}
.pg-hero__copy .av-h1{font-size:clamp(2.25rem,3.9vw,3.625rem);line-height:1.06;letter-spacing:-.005em;max-width:18ch;text-wrap:balance}
.pg-hero__copy .av-lead{max-width:52ch}
.pg-hero__copy .av-ed-facts{margin-top:4px}
.pg-hero__toc{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:16px;margin-top:4px;border-top:1px solid var(--border-default);align-self:stretch;font-size:var(--text-small-size)}
.pg-hero__toc .av-eyebrow{flex-basis:100%}
.pg-hero__toc a{display:inline-flex!important;min-height:36px;align-items:center}
.pg-hero__copy .av-todo-block{align-self:stretch}
.pg-topics{padding-block:24px 8px}
@media (max-width:1279px){.hm-hero,.pg-hero{grid-template-columns:minmax(0,1fr) 50%}}
@media (max-width:1023px){.hm-hero,.pg-hero{grid-template-columns:minmax(0,1fr);padding-inline:var(--container-margin);padding-bottom:var(--space-6)}.hm-hero__copy,.pg-hero__copy{padding-block:48px 32px}.hm-hero__media,.pg-hero__media{min-height:0;aspect-ratio:16/10}}
@media (max-width:767px){.hm-hero__media,.pg-hero__media{aspect-ratio:3/2}}
/* About: pull quote from existing copy */
.pg-pull{margin:8px 0;padding:4px 0 4px 24px;border-left:3px solid var(--teal-700);font-family:var(--font-serif);font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.35;color:var(--text-heading);max-width:30ch}

/* ==== Hanging-logo clearance: first hero content sits ~40px below the badge's 27px overhang (desktop only; the badge does not overhang below 1024px) ==== */
@media (min-width:1024px){
main>.av-hero:first-child>.av-container{padding-top:72px!important}
main>section.av-section:first-child{padding-top:76px!important}
main>article:first-child>header:first-child{padding-top:76px!important}
}
@media (max-width:1023px){
main>.av-hero:first-child>.av-container,main>section.av-section:first-child{padding-top:max(32px,var(--hero-pt,0px))!important}
}

/* ==== Resources article library ==== */
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);row-gap:16px}
.res-grid>li[hidden],.res-grid>sc-for>li[hidden]{display:none!important}
.res-grid h3 a::after{content:"";position:absolute;inset:0}
.res-grid h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.res-grid li:focus-within{outline:2px solid var(--aqua-500);outline-offset:4px}
.res-grid h3 a:focus-visible{outline:none}
.res-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:1023px){.res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.res-secondary{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.res-grid{grid-template-columns:minmax(0,1fr)}}

/* ==== Article reading width ==== */
.av-article-body>*{max-width:33em}

/* ==== FHA page: homepage section rhythm (80/56px), heading + intro stacked, open blocks, inset ==== */
.fha-sec{padding-block:80px}
.fha-head{display:flex;flex-direction:column;gap:16px;max-width:62ch;margin-bottom:48px;min-width:0}
.fha-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.1;letter-spacing:-.004em;color:var(--text-heading);margin:0;max-width:24ch;text-wrap:balance}
.fha-lead{margin:0;font-size:var(--text-body-lg-size);line-height:1.55;color:var(--text-secondary);max-width:56ch}
.fha-body{margin:0;font-size:var(--text-body-size);line-height:1.6;color:var(--text-body);max-width:48ch}
.fha-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(32px,4vw,64px);list-style:none;margin:0;padding:0}
.fha-block{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border-default);position:relative;min-width:0}
.fha-block--accent::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:2px;background:var(--teal-700)}
.fha-split{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);column-gap:clamp(40px,6vw,96px);align-items:start}
.fha-split .fha-head{margin-bottom:0}
.fha-stack{display:flex;flex-direction:column;gap:32px}
.fha-inset{margin-top:56px;background:var(--teal-50);border-radius:var(--radius-md);padding:32px clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:20px}
.fha-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(32px,5vw,80px)}
.fha-inset__col{display:flex;flex-direction:column;gap:8px;min-width:0}
.fha-link{font-size:var(--text-h4-size);font-weight:600;line-height:1.35;color:var(--text-heading);text-decoration:none;display:inline-block;padding-block:8px}
.fha-link::after{content:"\00a0→"}
.fha-link:hover{color:var(--aqua-700);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1023px){.fha-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.fha-blocks>:nth-child(3){grid-column:1/-1}.fha-split{grid-template-columns:minmax(0,1fr);row-gap:40px}.fha-head{margin-bottom:40px}}
@media (max-width:767px){.fha-sec{padding-block:56px}.fha-blocks,.fha-band{grid-template-columns:minmax(0,1fr);gap:32px}.fha-head{margin-bottom:32px}.fha-inset{margin-top:40px}}

/* ==== Complex Property: category grid (3 → 2 → 1), image column, related row ==== */
.cp-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px clamp(32px,4vw,64px);list-style:none;margin:0;padding:0}
.cp-media{min-width:0}
.cp-media .av-photo{border-radius:var(--radius-md)}
.cp-related{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin-top:40px;padding-top:16px;border-top:1px solid var(--border-default)}
.cp-related a{font-weight:600;text-decoration:none;color:var(--aqua-700);min-height:44px;display:inline-flex;align-items:center}
@media (max-width:1023px){.cp-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.cp-cats{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (min-width:1024px){.cp-media{position:sticky;top:140px}}

.cm-note{margin:40px 0 0;padding-top:16px;border-top:1px solid var(--border-default);font-size:var(--text-small-size);line-height:1.55;color:var(--text-secondary);max-width:72ch}

.fha-sec--compact{padding-block:56px}
.fha-sec--compact .fha-head{margin-bottom:24px}
@media (max-width:767px){.fha-sec--compact{padding-block:44px}}

.wa-link{font-weight:600;text-decoration:none;color:var(--aqua-700);display:inline-block;padding-block:10px;align-self:flex-start}
.wa-link::after{content:"\00a0→"}
.wa-link:hover{text-decoration:underline;text-underline-offset:3px}

/* ==== Quality & Compliance: page nav strip, readable lists, responsive table, 2×2 stages, callout, register ==== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.qc-toc{border-bottom:1px solid var(--border-default);background:var(--surface-page)}
.qc-toc__inner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;padding-block:12px}
.qc-toc__label{font-size:var(--text-caption-size);font-weight:600;letter-spacing:.06em;color:var(--text-secondary);margin-right:8px}
.qc-toc a{font-size:var(--text-small-size);font-weight:600;color:var(--text-heading);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.qc-toc a:hover{color:var(--aqua-700);text-decoration:underline;text-underline-offset:3px}
.qc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.qc-list li{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-top:1px solid var(--border-default)}
.qc-list li:first-child{padding-top:0;border-top:0}
.qc-list strong{font-size:var(--text-h4-size);color:var(--text-heading)}
.qc-list span{font-size:var(--text-body-size);line-height:1.6;color:var(--text-body);max-width:52ch}
.qc-table{width:100%;border-collapse:collapse;font-size:var(--text-body-size);line-height:1.5;background:var(--surface-card);border-radius:var(--radius-md);overflow:hidden}
.qc-table th,.qc-table td{text-align:left;vertical-align:top;padding:18px 24px;border-bottom:1px solid var(--border-default)}
.qc-table thead th{font-size:var(--text-small-size);font-weight:600;letter-spacing:.02em;color:var(--text-secondary);background:var(--neutral-50);border-bottom:1px solid var(--navy-900)}
.qc-table tbody th{font-weight:600;color:var(--text-heading);width:24%}
.qc-table tbody tr:last-child>*{border-bottom:0}
.qc-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.qc-stage{background:var(--teal-50);border-radius:var(--radius-md);padding:32px clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px}
.qc-stage__head{display:flex;align-items:baseline;gap:14px}
.qc-stage__n{font-size:var(--text-small-size);font-weight:600;letter-spacing:.06em;color:var(--teal-700);font-variant-numeric:tabular-nums}
.qc-stage__items{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}
.qc-stage__items li{padding:12px 0;border-top:1px solid var(--teal-100);font-size:var(--text-body-size);line-height:1.55;color:var(--text-body)}
.qc-stage__items strong{color:var(--text-heading)}
.qc-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,96px);row-gap:48px;align-items:start}
.qc-callout{display:flex;align-items:center;justify-content:space-between;gap:16px 48px;padding:28px clamp(24px,3vw,40px);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card)}
.qc-register{list-style:none;margin:0;padding:0;background:var(--surface-card);border-radius:var(--radius-md)}
.qc-register li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px 32px;padding:20px 24px;border-bottom:1px solid var(--border-default)}
.qc-register li:last-child{border-bottom:0}
.qc-register strong{color:var(--text-heading);font-size:var(--text-body-size)}
.qc-register span{color:var(--text-body);font-size:var(--text-body-size);line-height:1.55}
.qc-register__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}
@media (max-width:1023px){.qc-stages{grid-template-columns:minmax(0,1fr)}.qc-pair{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){
.qc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.qc-table,.qc-table tbody,.qc-table tr,.qc-table th,.qc-table td{display:block;width:auto}
.qc-table tr{padding:16px 20px;border-bottom:1px solid var(--border-default)}
.qc-table tbody tr:last-child{border-bottom:0}
.qc-table th,.qc-table td{padding:4px 0;border:0!important}
.qc-table tbody th{width:auto;font-size:var(--text-h4-size);padding-bottom:8px}
.qc-table td::before{content:attr(data-label);display:block;font-size:var(--text-caption-size);font-weight:600;color:var(--text-secondary);margin-top:6px}
.qc-callout{flex-direction:column;align-items:flex-start}
.qc-register li{grid-template-columns:minmax(0,1fr);padding:16px 20px}
}

.ab-stat{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--border-default);font-size:var(--text-body-size);color:var(--text-secondary)}
.ab-stat strong{font-family:var(--font-serif);font-weight:400;font-size:var(--text-h3-size);color:var(--teal-700);margin-right:6px}
#leadership{position:absolute;top:0}
#origins{position:relative}

/* ==== Contact: selector (left) + active form (right) ==== */
.ct-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:clamp(40px,6vw,96px);row-gap:32px;align-items:start}
.ct-pick{display:flex;flex-direction:column;gap:20px;min-width:0}
.ct-options{display:flex;flex-direction:column;gap:12px}
.ct-option{font:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;padding:16px 20px;min-height:56px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-heading);cursor:pointer;transition:border-color .15s,background .15s}
.ct-option span{font-size:var(--text-small-size);line-height:1.45;color:var(--text-secondary)}
.ct-option:hover{border-color:var(--navy-200)}
.ct-option[aria-selected="true"]{border-color:var(--teal-700);background:var(--teal-50);box-shadow:inset 3px 0 0 var(--teal-700)}
.ct-option:focus-visible{outline:2px solid var(--aqua-500);outline-offset:2px}
.ct-forms{min-width:0}
.ct-head{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
@media (max-width:1023px){.ct-grid{grid-template-columns:minmax(0,1fr)}}

.av-label__req{color:var(--error-700);font-weight:600;margin-left:4px}

/* ==== Motion system v2 (more pronounced; one easing; transform/opacity only; content stays visible without JS) ==== */
:root{--mo-ease:cubic-bezier(.22,1,.36,1);--mo-y:28px;--mo-dur:.72s}
html.mo-ready [data-mo]:not([data-mo-in]){opacity:0;transform:translate3d(var(--mo-x,0px),var(--mo-y),0)}
html.mo-ready [data-mo]{transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);transition-delay:var(--mo-d,0ms)}
html.mo-ready [data-mo="hero"]{--mo-y:36px;--mo-dur:.82s}
html.mo-ready [data-mo="left"]{--mo-x:-28px;--mo-y:0px}
html.mo-ready [data-mo="right"]{--mo-x:28px;--mo-y:0px}
html.mo-ready [data-mo="img"]:not([data-mo-in]){transform:none}
html.mo-ready [data-mo="img"] img{transition:transform 1.2s var(--mo-ease),opacity 1.2s var(--mo-ease);transition-delay:var(--mo-d,0ms)}
html.mo-ready [data-mo="img"]:not([data-mo-in]) img{transform:scale(1.06)}
.mo-px{overflow:hidden}
.mo-px img{transform:translate3d(0,var(--px,0px),0) scale(1.07);will-change:transform}
html.mo-ready .mo-px[data-mo="img"]:not([data-mo-in]) img{transform:translate3d(0,var(--px,0px),0) scale(1.13)}
.av-mega:not([hidden]){animation:mo-drop .26s var(--mo-ease)}
@keyframes mo-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.av-accordion__panel:not([hidden]),.av-ed-step__body:not([hidden]){animation:mo-open .34s var(--mo-ease)}
@keyframes mo-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.av-accordion__trigger svg,.av-drawer__toggle svg,.av-drawer__subtoggle svg{transition:transform .25s var(--mo-ease)}
.av-accordion__trigger[aria-expanded="true"] svg,.av-drawer__toggle[aria-expanded="true"] svg,.av-drawer__subtoggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.av-btn{transition:background-color .2s var(--mo-ease),color .2s var(--mo-ease),border-color .2s var(--mo-ease),box-shadow .2s var(--mo-ease)}
.av-btn svg{transition:transform .25s var(--mo-ease)}
.av-btn:focus-visible svg{transform:translateX(5px)}
.ct-option{transition:border-color .25s var(--mo-ease),background-color .25s var(--mo-ease),box-shadow .25s var(--mo-ease),transform .25s var(--mo-ease)}
.wa-link,.fha-link,.cp-related a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 calc(100% - 8px);transition:background-size .3s var(--mo-ease),color .2s var(--mo-ease)}
.wa-link:hover,.fha-link:hover,.cp-related a:hover,.wa-link:focus-visible,.fha-link:focus-visible{background-size:100% 1px;text-decoration:none!important}
@media (hover:hover) and (pointer:fine){
.av-btn:hover svg{transform:translateX(5px)}
.fha-links>li,.res-grid>li,.res-grid>sc-for>li{transition:transform .32s var(--mo-ease),box-shadow .32s var(--mo-ease),border-color .32s var(--mo-ease)}
.fha-links>li:hover,.res-grid>li:hover,.res-grid>sc-for>li:hover{transform:translateY(-4px);box-shadow:0 10px 24px -14px rgba(11,37,51,.28)}
.ct-option:hover{transform:translateY(-2px)}
}
@media (max-width:767px){:root{--mo-y:20px}html.mo-ready [data-mo="hero"]{--mo-y:24px}html.mo-ready [data-mo="left"],html.mo-ready [data-mo="right"]{--mo-x:0px;--mo-y:20px}}
@media (prefers-reduced-motion:reduce){
html.mo-ready [data-mo],html.mo-ready [data-mo] img,.mo-px img{opacity:1!important;transform:none!important;transition:none!important}
.av-mega:not([hidden]),.av-accordion__panel:not([hidden]),.av-ed-step__body:not([hidden]){animation:none}
.fha-links>li:hover,.res-grid>li:hover,.ct-option:hover,.av-btn:hover svg,.av-btn:focus-visible svg{transform:none}
}

/* ==== Coverage: intro + state list beside map; registrations table reuses .qc-table ==== */
.cv-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:clamp(40px,6vw,96px);row-gap:32px;align-items:start}
.cv-states{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.cv-states li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-heading);font-size:var(--text-body-size)}
.cv-dot{width:10px;height:10px;border-radius:2px;background:var(--teal-700);flex:none}
.cv-table tbody th{width:28%}
@media (max-width:1023px){.cv-grid{grid-template-columns:minmax(0,1fr)}}

/* Resources featured article: keep the landscape article image at every width (2026-10-10) */
.res-feature .av-photo{aspect-ratio:16/9!important}
