/* ============================================================
 KOALA FINANCIAL - Shared Base Stylesheet
 Light / Modern / Premium Wealth Advisory
 Used by: koala-financial, koala-law, koala-cpa
 ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── CSS Variables ─────────────────────────────────────────── */
:root {
 --dark-green:  #2d452d;
 --olive:   #667047;
 --sage:   #cdc890;
 --warm-tan:  #a19161;

 --bg-primary:  #f7f5ef;
 --bg-secondary: #efeadb;
 --bg-card:  #ffffff;
 --white: #ffffff;
 --cream: #f7f5ef;

 --text-primary: #1a2e1a;
 --text-secondary: #4a5e3a;
 --text-on-dark: #f7f5ef;
 --text-muted:  #7a8a6a;

 --border:   #d4ceb8;
 --shadow:   rgba(45, 69, 45, 0.08);
 --shadow-hover: rgba(45, 69, 45, 0.15);
 --shadow-soft: 0 2px 16px rgba(45, 69, 45, 0.06);

 --nav-height: 88px;
 --max-w:   1200px;
 --radius:   8px;
 --radius-lg:  14px;
 --transition:  0.3s ease;
}

/* ── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
 scroll-behavior: smooth;
 scroll-padding-top: var(--nav-height);
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}

body {
 font-family: 'DM Sans', system-ui, sans-serif;
 font-size: 1.0625rem;
 line-height: 1.7;
 color: var(--text-primary);
 background: var(--bg-primary);
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ── Typography ────────────────────────────────────────────── */
h1, h2, h3, h4 {
 font-family: 'Cormorant Garamond', Georgia, serif;
 color: var(--text-primary);
 line-height: 1.2;
}

h1 {
 font-size: clamp(2.25rem, 5vw, 3.5rem);
 font-weight: 600;
 letter-spacing: -0.02em;
 line-height: 1.1;
}

h2 {
 font-size: clamp(1.75rem, 3.5vw, 2.5rem);
 font-weight: 600;
 letter-spacing: -0.01em;
}

h3 {
 font-size: clamp(1.2rem, 2.2vw, 1.5rem);
 font-weight: 600;
}

h4 {
 font-size: 1.125rem;
 font-weight: 600;
}

.section-label {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.7rem;
 font-weight: 600;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--olive);
 display: block;
 margin-bottom: 0.75rem;
}

.section-subtitle {
 font-size: 1.0625rem;
 color: var(--text-secondary);
 max-width: 620px;
 line-height: 1.7;
 margin-top: 0.75rem;
}

/* ── Utilities ─────────────────────────────────────────────── */
.container {
 max-width: var(--max-w);
 margin: 0 auto;
 padding: 0 2rem;
}

.section {
 padding: 5rem 0;
}

.section--alt {
 background: var(--bg-secondary);
}

.section--dark {
 background: var(--dark-green);
}

.section--white {
 background: var(--bg-card);
}

.text-center { text-align: center; }
.text-center .section-subtitle { margin-left: auto; margin-right: auto; }

/* ── Fade-in Animations ────────────────────────────────────── */
.fade-in {
 opacity: 0;
 transform: translateY(24px);
 transition: opacity 0.65s ease, transform 0.65s ease;
}

.fade-in.visible {
 opacity: 1;
 transform: translateY(0);
}

.fade-in-delay-1 { transition-delay: 0.08s; }
.fade-in-delay-2 { transition-delay: 0.16s; }
.fade-in-delay-3 { transition-delay: 0.24s; }
.fade-in-delay-4 { transition-delay: 0.32s; }
.fade-in-delay-5 { transition-delay: 0.4s; }
.fade-in-delay-6 { transition-delay: 0.48s; }

/* ── Buttons ───────────────────────────────────────────────── */
.btn {
 display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 border-radius: var(--radius);
 padding: 0.8125rem 2rem;
 font-family: 'DM Sans', sans-serif;
 font-size: 0.8125rem;
 font-weight: 600;
 letter-spacing: 0.07em;
 text-transform: uppercase;
 transition: all var(--transition);
 cursor: pointer;
 border: 2px solid transparent;
 white-space: nowrap;
}

.btn-primary {
 background: var(--dark-green);
 color: var(--text-on-dark);
 border-color: var(--dark-green);
}

.btn-primary:hover {
 background: #3d5a3d;
 border-color: #3d5a3d;
 transform: translateY(-2px);
 box-shadow: 0 8px 24px var(--shadow-hover);
}

.btn-sage {
 background: var(--sage);
 color: var(--dark-green);
 border-color: var(--sage);
}

.btn-sage:hover {
 background: var(--warm-tan);
 border-color: var(--warm-tan);
 color: #fff;
 transform: translateY(-2px);
 box-shadow: 0 8px 24px rgba(161, 145, 97, 0.3);
}

.btn-outline {
 background: transparent;
 border-color: var(--sage);
 color: var(--sage);
}

.btn-outline:hover {
 background: rgba(205, 200, 144, 0.12);
 transform: translateY(-2px);
}

.btn-outline-dark {
 background: transparent;
 border-color: var(--dark-green);
 color: var(--dark-green);
}

.btn-outline-dark:hover {
 background: var(--dark-green);
 color: var(--text-on-dark);
 transform: translateY(-2px);
}

/* ── Navigation ────────────────────────────────────────────── */
.nav {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 z-index: 9999;
 background: var(--dark-green);
 height: var(--nav-height);
 display: flex;
 align-items: center;
 transition: box-shadow 0.3s ease;
}

.nav.scrolled {
 box-shadow: 0 2px 24px rgba(0, 0, 0, 0.28);
}

.nav__inner {
 max-width: 1360px;
 margin: 0 auto;
 padding: 0 1.25rem;
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 0.75rem;
}

/* LEFT: Logo */
.nav__logo {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 width: 290px;
 height: 64px;
 text-decoration: none;
}

.nav__logo img {
 width: 100%;
 height: 100%;
 object-fit: contain;
 object-position: left center;
 display: block;
}

/* CENTER: Site links */
.nav__center {
 display: flex;
 align-items: center;
 gap: 0.1rem;
}

.nav__site-link {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.03em;
 text-transform: uppercase;
 color: rgba(247, 245, 239, 0.8);
 text-decoration: none;
 padding: 0.45rem 0.55rem;
 border-radius: 4px;
 transition: color 0.25s ease, background 0.25s ease;
 white-space: nowrap;
 display: inline-flex;
 align-items: center;
 gap: 0.375rem;
}

.nav__site-link:hover,
.nav__site-link:focus-visible {
 color: var(--sage);
 background: rgba(205, 200, 144, 0.1);
}

.nav__site-link.is-active {
 color: var(--dark-green);
 background: var(--sage);
 font-weight: 700;
}

/* RIGHT: Dropdown triggers */
.nav__right {
 display: flex;
 align-items: center;
 gap: 0.1rem;
 flex-shrink: 0;
}

.nav__dropdown {
 position: relative;
}

.nav__dropdown-trigger {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.03em;
 text-transform: uppercase;
 color: rgba(247, 245, 239, 0.8);
 background: none;
 border: none;
 cursor: pointer;
 padding: 0.45rem 0.55rem;
 border-radius: 4px;
 transition: color 0.25s ease, background 0.25s ease;
 white-space: nowrap;
 display: flex;
 align-items: center;
 gap: 0.375rem;
}

.nav__dropdown-trigger::after {
 content: '';
 display: inline-block;
 width: 0;
 height: 0;
 border-left: 4px solid transparent;
 border-right: 4px solid transparent;
 border-top: 4px solid currentColor;
 transition: transform 0.25s ease;
}

.nav__dropdown-trigger:hover {
 color: var(--sage);
 background: rgba(205, 200, 144, 0.1);
}

/* Dropdown menu - appears on hover */
.nav__dropdown-menu {
 position: absolute;
 top: 100%;
 right: 0;
 min-width: 200px;
 background: var(--dark-green);
 border: 1px solid rgba(205, 200, 144, 0.15);
 border-radius: 8px;
 padding: 0.5rem 0;
 box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
 opacity: 0;
 visibility: hidden;
 transform: translateY(8px);
 transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
 z-index: 10000;
}

.nav__dropdown:hover .nav__dropdown-menu,
.nav__dropdown:focus-within .nav__dropdown-menu {
 opacity: 1;
 visibility: visible;
 transform: translateY(0);
}

.nav__dropdown:hover .nav__dropdown-trigger::after,
.nav__dropdown:focus-within .nav__dropdown-trigger::after {
 transform: rotate(180deg);
}

.nav__dropdown:hover .nav__dropdown-trigger,
.nav__dropdown:focus-within .nav__dropdown-trigger {
 color: var(--sage);
 background: rgba(205, 200, 144, 0.1);
}

.nav__dropdown-link {
 display: block;
 padding: 0.625rem 1.25rem;
 font-family: 'DM Sans', sans-serif;
 font-size: 0.875rem;
 font-weight: 400;
 color: rgba(247, 245, 239, 0.8);
 text-decoration: none;
 transition: color 0.2s ease, background 0.2s ease;
 white-space: nowrap;
}

.nav__dropdown-link:hover {
 color: var(--sage);
 background: rgba(205, 200, 144, 0.08);
}

/* Hamburger */
.nav__hamburger {
 display: none;
 flex-direction: column;
 gap: 5px;
 padding: 0.5rem;
 cursor: pointer;
 background: none;
 border: none;
 outline: none;
}

.nav__cta {
 font-size: 0.72rem;
 letter-spacing: 0.05em;
 padding-left: 0.75rem;
 padding-right: 0.75rem;
}

.nav__hamburger span {
 display: block;
 width: 24px;
 height: 2px;
 background: var(--text-on-dark);
 border-radius: 2px;
 transition: all 0.3s ease;
 transform-origin: center;
}

.nav__hamburger.open span:nth-child(1) {
 transform: translateY(7px) rotate(45deg);
}

.nav__hamburger.open span:nth-child(2) {
 opacity: 0;
 transform: scaleX(0);
}

.nav__hamburger.open span:nth-child(3) {
 transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu */
.nav__mobile {
 display: none;
 position: fixed;
 top: var(--nav-height);
 left: 0;
 right: 0;
 z-index: 9998;
 background: var(--dark-green);
 padding: 1.5rem 2rem 2rem;
 flex-direction: column;
 gap: 0.35rem;
 border-top: 1px solid rgba(255,255,255,0.08);
 box-shadow: 0 8px 32px rgba(0,0,0,0.3);
 transform: translateY(-8px);
 opacity: 0;
 transition: transform 0.28s ease, opacity 0.28s ease;
 pointer-events: none;
 max-height: calc(100vh - var(--nav-height));
 overflow-y: auto;
}

.nav__mobile.open {
 display: flex;
 transform: translateY(0);
 opacity: 1;
 pointer-events: auto;
}

.nav__mobile-section {
 display: flex;
 flex-direction: column;
 border-bottom: 1px solid rgba(205, 200, 144, 0.14);
}

.nav__mobile-label {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.6875rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--sage);
 padding: 0.95rem 0.25rem;
}

.nav__mobile-toggle {
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
 font-family: 'DM Sans', sans-serif;
 font-size: 0.75rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--sage);
 background: transparent;
 border: 0;
 border-radius: 4px;
 padding: 1rem 0.25rem;
 cursor: pointer;
 text-align: left;
}

.nav__mobile-toggle:hover,
.nav__mobile-toggle:focus-visible {
 color: var(--cream);
 background: rgba(205, 200, 144, 0.08);
 outline: none;
}

.nav__mobile-chevron {
 position: relative;
 flex: 0 0 auto;
 width: 1rem;
 height: 1rem;
}

.nav__mobile-chevron::before {
 content: '';
 position: absolute;
 top: 0.25rem;
 left: 0.2rem;
 width: 0.45rem;
 height: 0.45rem;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 transform: rotate(45deg);
 transition: transform 0.2s ease, top 0.2s ease;
}

.nav__mobile-toggle[aria-expanded='true'] .nav__mobile-chevron::before {
 top: 0.38rem;
 transform: rotate(225deg);
}

.nav__mobile-panel {
 display: flex;
 flex-direction: column;
 gap: 0.1rem;
 padding: 0 0 0.9rem;
}

.nav__mobile-panel[hidden] {
 display: none;
}

.nav__mobile-link {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.9375rem;
 font-weight: 400;
 color: rgba(247, 245, 239, 0.85);
 text-decoration: none;
 padding: 0.65rem 0.75rem;
 border-radius: 4px;
 transition: color 0.2s ease, background 0.2s ease;
}

.nav__mobile-link:hover,
.nav__mobile-link:focus-visible {
 color: var(--sage);
 background: rgba(205, 200, 144, 0.08);
}

.nav__mobile-link.is-active {
 color: var(--sage);
 font-weight: 700;
}

.nav__mobile-flat {
 border-bottom: 1px solid rgba(205, 200, 144, 0.14);
 padding: 0.9rem 0.75rem;
}

.nav__mobile-cta {
 width: 100%;
 justify-content: center;
 margin-top: 0.75rem;
}

/* Responsive: hide center/right, show hamburger */
@media (max-width: 1180px) {
 .nav__center,
 .nav__right {
 display: none;
 }
 .nav__hamburger {
 display: flex;
 }
}

@media (max-width: 520px) {
 .nav__logo {
 width: min(78vw, 320px);
 height: 82px;
 }
}

/* ── Hero Sections ─────────────────────────────────────────── */
.hero {
 background: var(--dark-green);
 padding: calc(var(--nav-height) + 5rem) 0 5rem;
 position: relative;
 overflow: hidden;
}

.hero--compact {
 padding: calc(var(--nav-height) + 3.5rem) 0 3.5rem;
}

.hero::before {
 content: '';
 position: absolute;
 inset: 0;
 background:
 radial-gradient(ellipse 80% 60% at 70% 50%, rgba(102, 112, 71, 0.18) 0%, transparent 70%),
 radial-gradient(ellipse 50% 80% at 0% 100%, rgba(205, 200, 144, 0.06) 0%, transparent 60%);
 pointer-events: none;
}

.hero__inner {
 position: relative;
 z-index: 1;
}

.hero h1 {
 color: var(--text-on-dark);
 margin-bottom: 1.25rem;
}

.hero .section-label {
 color: var(--sage);
 opacity: 0.85;
}

.hero__sub {
 font-size: 1.125rem;
 color: rgba(205, 200, 144, 0.9);
 max-width: 640px;
 line-height: 1.75;
 margin-bottom: 2.5rem;
}

.hero__actions {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 1rem;
}

/* ── Cards ─────────────────────────────────────────────────── */
.card {
 background: var(--bg-card);
 border-radius: var(--radius-lg);
 box-shadow: 0 2px 16px var(--shadow);
 padding: 2rem;
 transition: transform var(--transition), box-shadow var(--transition);
 border: 1px solid var(--border);
}

.card:hover {
 transform: translateY(-4px);
 box-shadow: 0 8px 32px var(--shadow-hover);
}

.card--clickable {
 cursor: pointer;
}

.card > p {
 font-size: 0.9rem;
 color: var(--text-secondary);
 line-height: 1.7;
}

/* ── Icon Box ──────────────────────────────────────────────── */
.icon-box {
 width: 52px;
 height: 52px;
 border-radius: 12px;
 background: rgba(102, 112, 71, 0.1);
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 margin-bottom: 1.25rem;
}

.icon-box svg {
 color: var(--olive);
}

.icon-box--lg {
 width: 64px;
 height: 64px;
 border-radius: 14px;
}

/* ── Grid Layouts ──────────────────────────────────────────── */
.grid-2 {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 2rem;
}

.grid-3 {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 2rem;
}

.grid-4 {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 1.5rem;
}

.grid-auto {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
 gap: 1.5rem;
}

/* ── Section Header ────────────────────────────────────────── */
.section-header {
 margin-bottom: 3.5rem;
}

.section-header h2 {
 margin-bottom: 0.75rem;
}

/* ── CTA Banner ────────────────────────────────────────────── */
.cta-banner {
 background: var(--dark-green);
 padding: 4rem 0;
 text-align: center;
 position: relative;
 overflow: hidden;
}

.cta-banner::before {
 content: '';
 position: absolute;
 inset: 0;
 background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(205, 200, 144, 0.07) 0%, transparent 70%);
 pointer-events: none;
}

.cta-banner h2 {
 color: var(--text-on-dark);
 margin-bottom: 1rem;
}

.cta-banner p {
 color: rgba(247, 245, 239, 0.72);
 max-width: 520px;
 margin: 0 auto 2rem;
}

/* ── Footer ────────────────────────────────────────────────── */
.footer {
 background: var(--dark-green);
 color: var(--text-on-dark);
 padding: 4rem 0 2rem;
 border-top: 1px solid rgba(255,255,255,0.06);
}

.footer__grid {
 display: grid;
 grid-template-columns: minmax(250px, 1.7fr) repeat(4, minmax(120px, 1fr));
 gap: clamp(1.5rem, 2.5vw, 2.75rem);
 align-items: start;
 margin-bottom: 3rem;
}

.footer__brand img {
 width: 280px;
 height: 72px;
 object-fit: contain;
 object-position: left center;
 margin-bottom: 1.25rem;
 opacity: 0.9;
}

.footer__brand p {
 font-size: 0.875rem;
 color: rgba(247, 245, 239, 0.6);
 line-height: 1.65;
 margin-bottom: 0.5rem;
}

.footer__col,
.footer__links {
 display: flex;
 flex-direction: column;
 gap: 0.5rem;
}

.footer__col h4,
.footer__heading {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.7rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--sage);
 margin-bottom: 1rem;
}

.footer__col a,
.footer__links a {
 font-size: 0.875rem;
 color: rgba(247, 245, 239, 0.65);
 transition: color var(--transition);
}

.footer__col a:hover,
.footer__links a:hover {
 color: var(--text-on-dark);
}

.footer__legal,
.footer__bottom {
 border-top: 1px solid rgba(255,255,255,0.08);
 padding-top: 1.75rem;
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
}

.footer__legal p:first-child,
.footer__disclaimer {
 font-size: 0.78rem;
 color: rgba(247, 245, 239, 0.38);
 line-height: 1.65;
 max-width: 860px;
}

.footer__legal p:last-child,
.footer__copyright {
 font-size: 0.8rem;
 color: rgba(247, 245, 239, 0.4);
}

/* ── Pricing Table ─────────────────────────────────────────── */
.pricing-table {
 width: 100%;
 border-collapse: collapse;
 border-radius: var(--radius-lg);
 overflow: hidden;
 box-shadow: 0 2px 16px var(--shadow);
}

.pricing-table thead {
 background: var(--dark-green);
 color: var(--text-on-dark);
}

.pricing-table thead th {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.75rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 padding: 1rem 1.5rem;
 text-align: left;
}

.pricing-table tbody tr {
 border-bottom: 1px solid var(--border);
 background: var(--bg-card);
 transition: background var(--transition);
}

.pricing-table tbody tr:hover {
 background: var(--bg-secondary);
}

.pricing-table tbody tr:last-child {
 border-bottom: none;
}

.pricing-table td {
 padding: 1rem 1.5rem;
 font-size: 0.9375rem;
}

.pricing-table td:last-child {
 font-family: 'Cormorant Garamond', Georgia, serif;
 font-size: 1.25rem;
 font-weight: 600;
 color: var(--dark-green);
}

.pricing-note-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 1rem;
 margin-top: 2rem;
}

.pricing-note {
 border: 1px solid var(--border);
 border-radius: 8px;
 padding: 1.25rem;
 background: var(--bg-card);
}

.pricing-note strong {
 display: block;
 margin-bottom: 0.5rem;
 color: var(--dark-green);
}

.pricing-note p {
 color: var(--text-secondary);
 font-size: 0.9rem;
 line-height: 1.65;
 margin: 0;
}

.pricing-footnote {
 margin-top: 1rem;
 color: var(--text-muted);
 font-size: 0.875rem;
 line-height: 1.7;
}

.insights-toolbar {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 margin: 2rem 0 2.5rem;
}

.insights-filter {
 border: 1px solid var(--border);
 border-radius: 999px;
 background: var(--bg-card);
 color: var(--text-primary);
 cursor: pointer;
 font-family: 'DM Sans', sans-serif;
 font-size: 0.75rem;
 font-weight: 700;
 letter-spacing: 0.05em;
 padding: 0.625rem 1rem;
 text-transform: uppercase;
 transition: var(--transition);
}

.insights-filter:hover,
.insights-filter.active {
 background: var(--dark-green);
 border-color: var(--dark-green);
 color: #fff;
}

.insight-card {
 display: flex;
 flex-direction: column;
 min-height: 100%;
}

.insight-card__meta,
.article-meta {
 color: var(--text-muted);
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem 1rem;
 font-size: 0.8125rem;
 letter-spacing: 0.02em;
 margin-bottom: 0.85rem;
}

.insight-card h3 {
 font-size: 1.35rem;
 margin-bottom: 0.75rem;
}

.insight-card p {
 color: var(--text-secondary);
 font-size: 0.95rem;
 line-height: 1.7;
 margin-bottom: 1.25rem;
}

.insight-card__link {
 color: var(--dark-green);
 font-size: 0.8125rem;
 font-weight: 800;
 letter-spacing: 0.06em;
 margin-top: auto;
 text-transform: uppercase;
}

.resource-card {
 display: flex;
 flex-direction: column;
 min-height: 100%;
 gap: 0.9rem;
}

.resource-card__eyebrow {
 color: var(--olive);
 font-size: 0.7rem;
 font-weight: 800;
 letter-spacing: 0.1em;
 text-transform: uppercase;
}

.resource-card__body {
 color: var(--text-secondary);
 font-size: 0.95rem;
 line-height: 1.7;
 margin: 0;
}

.resource-card__actions {
 align-items: flex-start;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 margin-top: auto;
}

.resource-card__links {
 display: flex;
 flex-direction: column;
 gap: 0.55rem;
 margin-top: auto;
}

.resource-card__links a {
 color: var(--dark-green);
 font-size: 0.82rem;
 font-weight: 800;
 letter-spacing: 0.05em;
 text-transform: uppercase;
}

.resource-card__links a:hover {
 color: var(--warm-tan);
}

.pricing-directory .resource-card {
 background: linear-gradient(180deg, var(--white) 0%, rgba(247, 245, 239, 0.74) 100%);
 border-color: rgba(102, 112, 71, 0.28);
 min-height: 325px;
 overflow: hidden;
 position: relative;
}

.pricing-directory .resource-card::before {
 background: linear-gradient(90deg, var(--sage), rgba(102, 112, 71, 0.45));
 content: '';
 height: 4px;
 left: 0;
 position: absolute;
 right: 0;
 top: 0;
}

.pricing-directory .resource-card h3 {
 font-size: 1.27rem;
 line-height: 1.25;
 margin: 0;
 min-height: 3.2rem;
}

.pricing-directory .resource-card__actions {
 width: 100%;
}

.pricing-directory .resource-card__actions .btn {
 background: rgba(247, 245, 239, 0.78);
 box-shadow: inset 0 0 0 1px rgba(102, 112, 71, 0.12);
 justify-content: center;
 min-height: 48px;
 padding-left: 1rem;
 padding-right: 1rem;
 width: 100%;
}

.pricing-directory .resource-card__actions .btn::after {
 content: '>';
 display: inline-block;
 margin-left: 0.1rem;
 transition: transform var(--transition);
}

.pricing-directory .resource-card__actions .btn:hover::after {
 transform: translateX(3px);
}

.carrier-grid {
 display: grid;
 gap: 1rem;
 grid-template-columns: repeat(5, minmax(0, 1fr));
 margin-top: 2rem;
}

.carrier-logo-card {
 align-items: center;
 background: var(--white);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 box-shadow: var(--shadow-soft);
 display: flex;
 justify-content: center;
 min-height: 112px;
 padding: 1.25rem;
}

.carrier-logo-card img {
 display: block;
 filter: none;
 max-height: 54px;
 max-width: 160px;
 object-fit: contain;
 width: 100%;
}

.carrier-logo-card--wide img {
 max-width: 190px;
}

.directory-strip {
 background: rgba(255, 255, 255, 0.54);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 display: grid;
 gap: 1.25rem;
 grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
 margin-top: 2rem;
 padding: 1.5rem;
}

.directory-strip h3 {
 margin-bottom: 0.35rem;
}

.directory-strip p {
 color: var(--text-secondary);
 font-size: 0.95rem;
 line-height: 1.65;
 margin: 0;
}

.directory-strip__links {
 align-items: center;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
}

.directory-strip--contact {
 align-items: center;
 background: linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(247, 245, 239, 0.92));
 border-color: rgba(102, 112, 71, 0.25);
 box-shadow: 0 12px 32px rgba(32, 63, 37, 0.08);
 gap: 2rem;
 grid-template-columns: minmax(0, 1fr) auto;
 overflow: hidden;
 padding: 2rem 2.25rem;
 position: relative;
}

.directory-strip--contact::before {
 background: var(--sage);
 bottom: 0;
 content: '';
 left: 0;
 position: absolute;
 top: 0;
 width: 6px;
}

.directory-strip--contact h3 {
 font-size: clamp(1.5rem, 2.2vw, 2rem);
 margin-bottom: 0.45rem;
}

.directory-strip--contact p {
 font-size: 1rem;
 max-width: 560px;
}

.directory-strip--contact .directory-strip__links {
 justify-content: flex-end;
}

.directory-strip--contact .btn {
 justify-content: center;
 min-width: 210px;
 padding: 1rem 1.4rem;
}

.article-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 280px;
 gap: 3rem;
 align-items: start;
}

.article-body {
 max-width: 760px;
}

.article-body h2 {
 font-size: clamp(1.75rem, 3vw, 2.4rem);
 margin-top: 2.75rem;
}

.article-body h3 {
 color: var(--dark-green);
 font-size: 1.2rem;
 margin-top: 2rem;
}

.article-body p,
.article-body li {
 color: var(--text-secondary);
 font-size: 1rem;
 line-height: 1.8;
}

.article-body ul {
 margin: 1rem 0 1.5rem;
 padding-left: 1.25rem;
}

.article-short-answer {
 border-left: 3px solid var(--sage);
 margin: 2rem 0;
 padding: 1.25rem 1.5rem;
 background: var(--bg-secondary);
}

.article-short-answer p {
 margin: 0;
}

.article-sidebar {
 position: sticky;
 top: calc(var(--nav-height) + 1.5rem);
}

.article-sidebar .card {
 margin-bottom: 1rem;
}

.article-disclaimer {
 border-top: 1px solid var(--border);
 color: var(--text-muted);
 font-size: 0.875rem;
 line-height: 1.7;
 margin-top: 3rem;
 padding-top: 1.25rem;
}

.video-embed {
 aspect-ratio: 16 / 9;
 background: var(--dark-green);
 border-radius: 8px;
 margin: 2rem 0;
 overflow: hidden;
}

.video-embed iframe {
 border: 0;
 display: block;
 height: 100%;
 width: 100%;
}

/* ── Step Card (Process) ───────────────────────────────────── */
.step-card {
 display: flex;
 gap: 1.5rem;
 align-items: flex-start;
 padding: 2rem;
 background: var(--bg-card);
 border-radius: var(--radius-lg);
 border: 1px solid var(--border);
 box-shadow: 0 2px 12px var(--shadow);
 transition: transform var(--transition), box-shadow var(--transition);
}

.step-card:hover {
 transform: translateY(-3px);
 box-shadow: 0 8px 28px var(--shadow-hover);
}

.step-number {
 font-family: 'Cormorant Garamond', Georgia, serif;
 font-size: 3.5rem;
 font-weight: 700;
 line-height: 1;
 color: var(--sage);
 flex-shrink: 0;
 width: 56px;
 text-align: center;
}

.step-content h3 {
 margin-bottom: 0.5rem;
}

.step-content p {
 font-size: 0.9375rem;
 color: var(--text-secondary);
 line-height: 1.7;
}

/* ── Team Cards ────────────────────────────────────────────── */
.team-card {
 background: var(--bg-card);
 border-radius: var(--radius-lg);
 border: 1px solid var(--border);
 overflow: hidden;
 box-shadow: 0 2px 12px var(--shadow);
 transition: transform var(--transition), box-shadow var(--transition);
}

.team-card:hover {
 transform: translateY(-4px);
 box-shadow: 0 10px 32px var(--shadow-hover);
}

.team-avatar {
 aspect-ratio: 4 / 5;
 background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--border) 100%);
 display: flex;
 align-items: center;
 justify-content: center;
 overflow: hidden;
}

.team-avatar svg {
 color: var(--border);
 opacity: 0.6;
}

.team-avatar img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center top;
 display: block;
}

.team-avatar--placeholder {
 background: linear-gradient(135deg, #f1efe5 0%, #d8d2ae 100%);
 color: var(--dark-green);
}

.team-initials {
 width: 88px;
 height: 88px;
 border-radius: 50%;
 border: 1px solid rgba(47, 77, 47, 0.22);
 background: rgba(255, 255, 255, 0.42);
 display: flex;
 align-items: center;
 justify-content: center;
 font-family: 'Cormorant Garamond', Georgia, serif;
 font-size: 2.25rem;
 font-weight: 700;
 letter-spacing: 0;
}

.team-info {
 padding: 1.5rem;
}

.team-info h3 {
 margin-bottom: 0.25rem;
 font-size: 1.25rem;
}

.team-title {
 font-size: 0.8rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--olive);
 margin-bottom: 0.75rem;
}

.team-role {
 font-size: 0.9rem;
 color: var(--text-secondary);
 line-height: 1.65;
}

.team-tags {
 display: flex;
 flex-wrap: wrap;
 gap: 0.375rem;
 margin-bottom: 0.75rem;
}

.team-tag {
 font-size: 0.7rem;
 font-weight: 600;
 letter-spacing: 0.05em;
 background: rgba(102, 112, 71, 0.1);
 color: var(--olive);
 border-radius: 100px;
 padding: 0.2rem 0.625rem;
}

/* Filter Tabs */
.filter-tabs {
 display: flex;
 gap: 0.5rem;
 flex-wrap: wrap;
 margin-bottom: 2.5rem;
}

.filter-tab {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.8125rem;
 font-weight: 500;
 letter-spacing: 0.05em;
 padding: 0.5rem 1.25rem;
 border-radius: 100px;
 border: 1.5px solid var(--border);
 color: var(--text-secondary);
 background: transparent;
 cursor: pointer;
 transition: all var(--transition);
}

.filter-tab:hover {
 border-color: var(--olive);
 color: var(--olive);
}

.filter-tab.active {
 background: var(--dark-green);
 border-color: var(--dark-green);
 color: var(--text-on-dark);
}

/* ── Contact Form ──────────────────────────────────────────── */
.form-group {
 display: flex;
 flex-direction: column;
 gap: 0.375rem;
 margin-bottom: 1.25rem;
}

.form-label {
 font-size: 0.8125rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 color: var(--text-primary);
 text-transform: uppercase;
}

.form-input,
.form-textarea,
.form-select {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.9375rem;
 padding: 0.75rem 1rem;
 border: 1.5px solid var(--border);
 border-radius: var(--radius);
 background: var(--bg-card);
 color: var(--text-primary);
 transition: border-color var(--transition), box-shadow var(--transition);
 width: 100%;
 outline: none;
 appearance: none;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
 border-color: var(--olive);
 box-shadow: 0 0 0 3px rgba(102, 112, 71, 0.1);
}

.form-textarea {
 resize: vertical;
 min-height: 140px;
}

.form-checkbox-group {
 display: flex;
 flex-direction: column;
 gap: 0.625rem;
 margin-bottom: 1.5rem;
}

.form-checkbox-label {
 display: flex;
 align-items: center;
 gap: 0.625rem;
 font-size: 0.9375rem;
 cursor: pointer;
 color: var(--text-secondary);
}

.form-checkbox-label input[type="checkbox"] {
 width: 18px;
 height: 18px;
 border: 1.5px solid var(--border);
 border-radius: 4px;
 accent-color: var(--dark-green);
 flex-shrink: 0;
}

/* Success message */
.form-success {
 display: none;
 text-align: center;
 padding: 3rem 2rem;
}

.form-success.show {
 display: block;
}

.form-success__icon {
 width: 64px;
 height: 64px;
 border-radius: 50%;
 background: rgba(102, 112, 71, 0.1);
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto 1.25rem;
}

.form-success__icon svg {
 color: var(--olive);
}

/* ── Service List ──────────────────────────────────────────── */
.service-list {
 display: flex;
 flex-direction: column;
 gap: 0;
}

.service-item {
 display: flex;
 align-items: flex-start;
 gap: 1rem;
 padding: 1.25rem 0;
 border-bottom: 1px solid var(--border);
}

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

.service-item:last-child {
 border-bottom: none;
}

.service-icon {
 width: 40px;
 height: 40px;
 border-radius: 10px;
 background: rgba(102, 112, 71, 0.08);
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 margin-top: 2px;
}

.service-icon svg {
 color: var(--olive);
}

.service-text h4 {
 font-size: 0.9375rem;
 margin-bottom: 0.25rem;
 color: var(--text-primary);
}

.service-text p {
 font-size: 0.875rem;
 color: var(--text-muted);
 line-height: 1.6;
}

/* ── Ecosystem Cards ───────────────────────────────────────── */
.eco-card {
 background: var(--bg-card);
 border-radius: var(--radius-lg);
 border: 1px solid var(--border);
 padding: 2rem;
 box-shadow: 0 2px 12px var(--shadow);
 transition: transform var(--transition), box-shadow var(--transition);
 display: flex;
 flex-direction: column;
}

.eco-card:hover {
 transform: translateY(-4px);
 box-shadow: 0 10px 32px var(--shadow-hover);
}

.eco-card a {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 font-size: 0.8125rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--olive);
 margin-top: auto;
 padding-top: 1.5rem;
 transition: gap var(--transition), color var(--transition);
}

.eco-card a:hover {
 color: var(--dark-green);
 gap: 0.6rem;
}

/* ── Info Box ──────────────────────────────────────────────── */
.info-box {
 background: var(--bg-secondary);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 padding: 1.25rem 1.5rem;
 font-size: 0.875rem;
 color: var(--text-secondary);
 line-height: 1.65;
}

.info-box strong {
 color: var(--text-primary);
}

.info-box a {
 color: var(--dark-green);
 font-weight: 700;
 text-decoration: underline;
 text-underline-offset: 0.16em;
}

.info-box__links {
 margin-top: 0.75rem;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem 1rem;
}

.info-box__links a {
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
}

/* Pricing Accordion */
.accordion-container {
 max-width: 800px;
}

.accordion-item {
 background: var(--white);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 0.75rem;
 overflow: hidden;
 transition: box-shadow var(--transition);
}

.accordion-item:hover {
 box-shadow: 0 2px 12px rgba(45, 69, 45, 0.06);
}

.accordion-trigger {
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 1.25rem 1.5rem;
 background: none;
 border: none;
 cursor: pointer;
 font-family: inherit;
 text-align: left;
 gap: 1rem;
}

.accordion-header {
 display: flex;
 align-items: baseline;
 gap: 1rem;
 flex: 1;
 min-width: 0;
}

.accordion-title {
 font-family: 'DM Sans', sans-serif;
 font-size: 1rem;
 font-weight: 600;
 color: var(--text-primary);
}

.accordion-price {
 font-family: 'Cormorant Garamond', serif;
 font-size: 1.125rem;
 font-weight: 700;
 color: var(--dark-green);
 white-space: nowrap;
 margin-left: auto;
}

.accordion-chevron {
 flex-shrink: 0;
 color: var(--olive);
 transition: transform 0.3s ease;
}

.accordion-trigger[aria-expanded="true"] .accordion-chevron {
 transform: rotate(180deg);
}

.accordion-content {
 max-height: 0;
 overflow: hidden;
 transition: max-height 0.35s ease;
}

.accordion-content-inner {
 padding: 0 1.5rem 1.5rem;
 border-top: 1px solid var(--border);
}

.accordion-content-inner p {
 font-size: 0.9375rem;
 color: var(--text-secondary);
 line-height: 1.7;
 margin-bottom: 0.75rem;
}

.accordion-content-inner ul {
 list-style: none;
 padding: 0;
 margin: 0.75rem 0;
}

.accordion-content-inner ul li {
 position: relative;
 padding-left: 1.25rem;
 font-size: 0.9375rem;
 color: var(--text-secondary);
 line-height: 1.7;
 margin-bottom: 0.25rem;
}

.accordion-content-inner ul li::before {
 content: '';
 position: absolute;
 left: 0;
 top: 0.65em;
 width: 6px;
 height: 6px;
 border-radius: 50%;
 background: var(--sage);
}

.accordion-content-inner .info-box {
 margin-top: 1rem;
}

.accordion-content-inner strong {
 color: var(--text-primary);
}

.accordion-sub {
 background: var(--bg-primary);
 border-radius: calc(var(--radius-lg) / 2);
 padding: 1rem 1.25rem;
 margin: 0.75rem 0;
}

.accordion-sub-title {
 font-family: 'DM Sans', sans-serif;
 font-weight: 600;
 font-size: 0.9375rem;
 color: var(--dark-green);
 margin-bottom: 0.25rem;
}

.accordion-sub-price {
 font-family: 'Cormorant Garamond', serif;
 font-weight: 700;
 font-size: 1rem;
 color: var(--olive);
 margin-bottom: 0.5rem;
}

/* ── Office Info ───────────────────────────────────────────── */
.office-box {
 background: var(--bg-secondary);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 padding: 2rem;
}

.office-item {
 display: flex;
 align-items: flex-start;
 gap: 0.875rem;
 padding: 0.875rem 0;
 border-bottom: 1px solid var(--border);
}

.office-item:last-child {
 border-bottom: none;
}

.office-item svg {
 color: var(--olive);
 flex-shrink: 0;
 margin-top: 2px;
}

.office-item span {
 font-size: 0.9375rem;
 color: var(--text-secondary);
}

/* ── Map placeholder ───────────────────────────────────────── */
.map-placeholder {
 border-radius: var(--radius-lg);
 overflow: hidden;
 border: 1px solid var(--border);
 background: var(--bg-secondary);
 height: 260px;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-direction: column;
 gap: 0.75rem;
 color: var(--text-muted);
}

.map-placeholder svg {
 color: var(--border);
}

.map-embed {
 border-radius: var(--radius-lg);
 overflow: hidden;
 border: 1px solid var(--border);
 background: var(--bg-secondary);
}

.map-embed iframe {
 width: 100%;
 height: 260px;
 border: 0;
 display: block;
}

.map-embed__footer {
 padding: 0.85rem 1rem;
 border-top: 1px solid var(--border);
 display: flex;
 justify-content: space-between;
 gap: 1rem;
 align-items: center;
 color: var(--text-secondary);
 font-size: 0.8125rem;
}

.map-embed__footer a {
 color: var(--olive);
 font-weight: 700;
 white-space: nowrap;
}

/* ── Two-col layout ────────────────────────────────────────── */
.two-col {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 4rem;
 align-items: start;
}

.two-col--wide-left {
 grid-template-columns: 3fr 2fr;
}

/* ── Value prop bullet ─────────────────────────────────────── */
.value-list {
 display: flex;
 flex-direction: column;
 gap: 1.25rem;
 margin-top: 1.5rem;
}

.value-item {
 display: flex;
 align-items: flex-start;
 gap: 0.875rem;
}

.value-dot {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: var(--sage);
 flex-shrink: 0;
 margin-top: 0.55rem;
}

.value-item p {
 font-size: 0.9375rem;
 color: var(--text-secondary);
 line-height: 1.65;
}

/* ── Stat blocks ───────────────────────────────────────────── */
.stat-block {
 text-align: center;
}

.stat-block .num {
 font-family: 'Cormorant Garamond', Georgia, serif;
 font-size: clamp(2.25rem, 5vw, 3.5rem);
 font-weight: 700;
 color: var(--dark-green);
 display: block;
 line-height: 1;
 margin-bottom: 0.5rem;
}

.stat-block .label {
 font-size: 0.8125rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--text-muted);
}

/* ── Highlight quote ───────────────────────────────────────── */
.pullquote {
 border-left: 3px solid var(--sage);
 padding: 0.75rem 1.5rem;
 font-family: 'Cormorant Garamond', Georgia, serif;
 font-size: 1.5rem;
 font-style: italic;
 color: var(--text-primary);
 line-height: 1.4;
 margin: 2rem 0;
}

/* ── FAQ Accordion (Law & CPA) ─────────────────────────────── */
.faq-item {
 border-bottom: 1px solid var(--border);
}

.faq-question {
 width: 100%;
 text-align: left;
 padding: 1.25rem 0;
 background: none;
 border: none;
 font-family: 'DM Sans', sans-serif;
 font-size: 1rem;
 font-weight: 500;
 color: var(--text-primary);
 cursor: pointer;
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 1rem;
}

.faq-question::after {
 content: '+';
 font-size: 1.5rem;
 color: var(--olive);
 transition: transform 0.3s ease;
 flex-shrink: 0;
}

.faq-item.open .faq-question::after {
 content: '−';
}

.faq-answer {
 max-height: 0;
 overflow: hidden;
 transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq-item.open .faq-answer {
 padding-bottom: 1.25rem;
}

.faq-answer p {
 font-size: 0.9375rem;
 color: var(--text-secondary);
 line-height: 1.7;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 1024px) {
 .footer__grid {
 grid-template-columns: 1fr 1fr;
 gap: 2rem;
 }

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

 .carrier-grid {
 grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .directory-strip {
 grid-template-columns: 1fr;
 }

 .directory-strip--contact .directory-strip__links {
 justify-content: flex-start;
 }
}

@media (max-width: 768px) {
 .nav__links { display: none; }
 .nav__hamburger { display: flex; }

 h1 { font-size: clamp(1.875rem, 6vw, 2.5rem); }
 h2 { font-size: clamp(1.5rem, 5vw, 2rem); }

 .section { padding: 3.5rem 0; }

 .hero {
 padding: calc(var(--nav-height) + 3rem) 0 3rem;
 }

 .hero--compact {
 padding: calc(var(--nav-height) + 2.5rem) 0 2.5rem;
 }

 .two-col,
 .two-col--wide-left {
 grid-template-columns: 1fr;
 gap: 2.5rem;
 }

 .grid-2,
 .grid-3,
 .grid-4,
 .carrier-grid,
 .pricing-note-grid,
 .article-layout {
 grid-template-columns: 1fr;
 }

 .directory-strip--contact {
 gap: 1.25rem;
 padding: 1.5rem;
 }

 .directory-strip--contact .btn {
 width: 100%;
 }

 .accordion-trigger {
 padding: 1rem 1.25rem;
 }

 .accordion-content-inner {
 padding: 0 1.25rem 1.25rem;
 }

 .accordion-header {
 flex-direction: column;
 gap: 0.25rem;
 }

 .accordion-price {
 margin-left: 0;
 }

 .article-sidebar {
 position: static;
 }

 .footer__grid {
 grid-template-columns: 1fr;
 gap: 2rem;
 }

 .hero__actions {
 flex-direction: column;
 align-items: flex-start;
 }

 .step-card {
 flex-direction: column;
 gap: 1rem;
 }

 .step-number {
 width: auto;
 font-size: 2.5rem;
 }
}

@media (max-width: 480px) {
 .container { padding: 0 1.25rem; }
 .btn { font-size: 0.75rem; padding: 0.75rem 1.5rem; }
}

/* Launch brief additions */
.nav__cta {
 margin-left: 0.35rem;
 padding: 0.62rem 1rem;
 font-size: 0.72rem;
}

.hero__entity {
 color: rgba(247, 245, 239, 0.72);
 font-family: 'DM Sans', sans-serif;
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 line-height: 1.5;
 margin: -0.55rem 0 1.25rem;
 text-transform: uppercase;
}

.fact-row {
 color: var(--olive);
 font-size: 0.88rem;
 font-weight: 700;
 margin: 1.25rem 0 1.5rem;
}

.who-portrait-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0.75rem;
}

.who-portrait-grid img {
 aspect-ratio: 4 / 5;
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 box-shadow: 0 2px 16px var(--shadow);
 object-fit: cover;
 object-position: center top;
 width: 100%;
}

.team-muted {
 color: var(--text-muted);
 display: inline-block;
 font-size: 0.78rem;
 margin-top: 0.5rem;
}

.form-honeypot {
 display: none !important;
}

@media (max-width: 1180px) {
 .nav__cta { display: none; }
}

@media (max-width: 768px) {
 .who-portrait-grid { grid-template-columns: repeat(3, 1fr); }
}
