/* Browser defaults used by the preserved original design. */
p { margin-block: 1em; }
h3 { font-size: 1.17em; font-weight: bold; margin-bottom: 1em; }
a { text-decoration: underline; }
progress { vertical-align: baseline; }
:root {
  --green: #173b32;
  --green-2: #244f43;
  --ink: #18241f;
  --cream: #f6f1e6;
  --paper: #fffcf6;
  --sand: #e9dfcb;
  --gold: #d2a94f;
  --gold-light: #edcf89;
  --white: #fff;
  --muted: #68746f;
  --line: rgba(23,59,50,.16);
  --shadow: 0 24px 80px rgba(24,36,31,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", system-ui, sans-serif; line-height: 1.55; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.skip-link { position: absolute; left: -9999px; top: 1rem; background: var(--gold); padding: .7rem 1rem; z-index: 999; }
.skip-link:focus { left: 1rem; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 88px; padding: 0 clamp(1.2rem, 5vw, 5rem); display: flex; align-items: center; justify-content: space-between; background: rgba(246,241,230,.88); border-bottom: 1px solid transparent; backdrop-filter: blur(16px); transition: .25s ease; }
.site-header.scrolled { height: 74px; border-color: var(--line); }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--green); color: var(--green); font-family: "Playfair Display", serif; font-size: 1.15rem; letter-spacing: -.06em; transform: rotate(45deg); }
.brand-mark > * { transform: rotate(-45deg); }
.brand-mark span { color: var(--gold); margin: 0 .04em; }
.brand-mark { line-height: 48px; text-align: center; }
.brand-copy { color: var(--green); font-size: .65rem; line-height: 1.15; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }
nav { display: flex; align-items: center; gap: 2rem; }
nav a { text-decoration: none; font-size: .82rem; font-weight: 600; letter-spacing: .04em; }
nav a:not(.nav-cta) { position: relative; }
nav a:not(.nav-cta)::after { content: ""; position: absolute; height: 1px; width: 0; left: 0; bottom: -6px; background: var(--gold); transition: width .2s; }
nav a:hover::after { width: 100%; }
.nav-cta { padding: .7rem 1.2rem; color: var(--cream); background: var(--green); }
.menu-toggle, .mobile-menu { display: none; }
.hero { min-height: 790px; padding: 150px clamp(1.2rem, 7vw, 8rem) 80px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(3rem, 7vw, 8rem); background: radial-gradient(circle at 86% 28%, rgba(210,169,79,.18), transparent 23%), linear-gradient(120deg, var(--cream), #f9f4e9 60%, #ede3cf); overflow: hidden; }
.eyebrow { margin: 0 0 1.2rem; color: var(--green-2); font-size: .73rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; }
h1, h2 { font-family: "Playfair Display", serif; font-weight: 600; line-height: .99; letter-spacing: -.045em; }
h1 { max-width: 760px; margin-bottom: 1.7rem; color: var(--green); font-size: clamp(3.45rem, 6.2vw, 7.2rem); }
h1 em, h2 em { color: var(--gold); font-weight: 500; }
.hero-lead { max-width: 660px; margin: 0 0 2.3rem; color: #495a53; font-size: clamp(1rem, 1.4vw, 1.22rem); }
.hero-actions { display: flex; align-items: center; gap: 1.8rem; flex-wrap: wrap; }
.button { display: inline-flex; justify-content: center; align-items: center; border: 0; min-height: 52px; padding: .85rem 1.5rem; font-weight: 600; font-size: .86rem; letter-spacing: .03em; text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: #1d2d27; background: var(--gold); box-shadow: 0 12px 30px rgba(173,126,37,.2); }
.button-gold:hover { background: var(--gold-light); }
.button-dark { color: var(--white); background: var(--green); }
.text-link { display: inline-flex; gap: .6rem; align-items: center; padding-block: .4rem; text-underline-offset: .35em; font-weight: 600; font-size: .9rem; }
.text-link span { color: var(--gold); font-size: 1.2rem; }
.proof-row { display: flex; gap: 0; margin-top: 4rem; border-top: 1px solid var(--line); }
.proof-row span { padding: 1rem 1.2rem 0; border-left: 1px solid var(--line); color: var(--muted); font-size: .76rem; white-space: nowrap; }
.proof-row span:first-child { padding-left: 0; border-left: 0; }
.hero-visual { position: relative; min-height: 530px; }
.portrait-card { position: absolute; inset: 5% 8% 5% 9%; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(145deg, rgba(23,59,50,.86), rgba(23,59,50,.96)), radial-gradient(circle at 50% 25%, #55766a, #173b32 55%); box-shadow: var(--shadow); overflow: hidden; }
.portrait-card::before { content: ""; position: absolute; width: 72%; aspect-ratio: 1; left: 14%; top: 6%; border: 1px solid rgba(237,207,137,.24); border-radius: 50%; }
.portrait-card::after { content: ""; position: absolute; width: 1px; height: 60%; background: rgba(237,207,137,.18); left: 50%; top: 0; }
.portrait-initials { position: absolute; inset: 18% 0 auto; color: rgba(237,207,137,.95); text-align: center; font-family: "Playfair Display", serif; font-size: clamp(5rem, 10vw, 9rem); letter-spacing: -.1em; }
.portrait-caption { position: relative; padding: 2rem; color: var(--cream); background: linear-gradient(transparent, rgba(8,24,19,.7)); }
.portrait-caption span { display: block; color: var(--gold-light); font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; }
.portrait-caption strong { display: block; margin-top: .4rem; font-family: "Playfair Display", serif; font-size: 1.25rem; }
.floating-note { position: absolute; display: flex; gap: .7rem; align-items: center; min-width: 145px; padding: .85rem 1rem; background: rgba(255,252,246,.94); box-shadow: 0 14px 40px rgba(24,36,31,.14); backdrop-filter: blur(8px); }
.floating-note small { color: var(--gold); }
.floating-note span { font-family: "Playfair Display", serif; font-weight: 600; }
.note-one { left: 0; top: 18%; }.note-two { right: 0; top: 46%; }.note-three { left: 4%; bottom: -1%; }
.services-section { padding: 110px clamp(1.2rem, 6vw, 7rem); background: var(--paper); }
.section-intro { display: grid; grid-template-columns: .55fr 1.1fr 1fr; gap: 3rem; align-items: end; margin-bottom: 4.5rem; }
.section-intro .eyebrow { align-self: start; }
.section-intro h2 { margin-bottom: 0; color: var(--green); font-size: clamp(2.7rem, 4.6vw, 5.2rem); }
.section-intro > p:last-child { max-width: 430px; margin: 0; color: var(--muted); }
.experience-shell { border: 1px solid var(--line); background: #fff; box-shadow: 0 35px 100px rgba(24,36,31,.07); }
.tab-list { display: grid; grid-template-columns: repeat(3, 1fr); background: #f0eadf; }
.tab { padding: 1.25rem; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: transparent; font-size: .85rem; font-weight: 600; cursor: pointer; }
.tab:last-child { border-right: 0; }
.tab.active { color: var(--cream); background: var(--green); }
.tab-panel { padding: clamp(1.2rem, 3vw, 3rem); }
.package-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.package-card { position: relative; min-height: 520px; padding: 2rem; border: 1px solid var(--line); border-right: 0; display: flex; flex-direction: column; background: var(--white); }
.package-card:last-child { border-right: 1px solid var(--line); }
.package-card.featured { border-top: 3px solid var(--gold); background: #fbf8f0; }
.featured-label { position: absolute; top: -30px; left: -1px; padding: .35rem .8rem; color: var(--green); background: var(--gold); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.package-number { color: var(--gold); font-family: "Playfair Display", serif; font-size: 1.6rem; }
.package-kicker { margin: 2.2rem 0 .55rem; color: var(--muted); font-size: .69rem; letter-spacing: .13em; text-transform: uppercase; }
.package-card h3 { min-height: 64px; margin-bottom: 1rem; color: var(--green); font-family: "Playfair Display", serif; font-size: 1.7rem; line-height: 1.1; }
.package-card > p:not(.package-kicker) { color: var(--muted); font-size: .88rem; }
.package-card ul { margin: 1.2rem 0 1.8rem; padding: 0; list-style: none; }
.package-card li { padding: .58rem 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.package-card li::before { content: "＋"; margin-right: .45rem; color: var(--gold); }
.card-link { margin-top: auto; padding: 0; border: 0; color: var(--green); background: none; text-align: left; font-weight: 600; cursor: pointer; }
.card-link span { float: right; color: var(--gold); font-size: 1.2rem; }
.dark-card { color: var(--cream); background: var(--green); }
.dark-card h3, .dark-card .card-link { color: var(--cream); }
.dark-card > p:not(.package-kicker), .dark-card .package-kicker { color: #bfcac5; }
.dark-card li { border-color: rgba(255,255,255,.14); }
.package-note { margin: 1.4rem 0 0; color: var(--muted); font-size: .75rem; text-align: center; }
.checker-layout, .process-layout { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 560px; }
.checker-copy { padding: clamp(2rem, 5vw, 5rem); color: var(--cream); background: var(--green); }
.mini-label { display: inline-block; margin: 0 0 1.2rem; color: var(--gold); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
.checker-copy h3, .application-form h3 { margin-bottom: 1.3rem; font-family: "Playfair Display", serif; font-size: clamp(2.2rem, 3.5vw, 3.8rem); line-height: 1.05; }
.checker-copy p { color: #c8d2ce; }
.privacy-line { margin-top: 3rem; color: var(--gold-light); font-size: .78rem; }
.privacy-line span { margin-right: .4rem; }
.fit-form { padding: clamp(2rem, 5vw, 5rem); background: #f9f6ef; }
.fit-step { margin: 0; padding: 0; border: 0; }
.fit-step legend { width: 100%; margin-bottom: 1.8rem; color: var(--green); font-family: "Playfair Display", serif; font-size: clamp(1.7rem, 2.5vw, 2.4rem); font-weight: 600; line-height: 1.2; }
.choice { display: block; position: relative; margin: .75rem 0; cursor: pointer; }
.choice input { position: absolute; opacity: 0; width: 1px; height: 1px; padding: 0; margin: 0; }
.choice span { display: flex; align-items: center; min-height: 58px; padding: .8rem 1rem; border: 1px solid var(--line); background: var(--white); transition: .2s; }
.choice span::before { content: ""; width: 15px; height: 15px; margin-right: .75rem; border: 1px solid #87938d; border-radius: 50%; box-shadow: inset 0 0 0 4px #fff; }
.choice input:checked + span { border-color: var(--gold); background: #fffbf0; box-shadow: 0 8px 20px rgba(24,36,31,.07); }
.choice input:checked + span::before { border-color: var(--gold); background: var(--gold); }
.fit-step .button { margin-top: 1.2rem; width: 100%; }
.fit-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin-top: 2rem; }
.fit-progress span { height: 3px; background: #ded8cc; }
.fit-progress span.done { background: var(--gold); }
.fit-result { padding: 1.7rem; border-left: 4px solid var(--gold); background: var(--white); }
.fit-result h4 { margin: .25rem 0 .7rem; color: var(--green); font-family: "Playfair Display", serif; font-size: 1.7rem; }
.fit-result p { color: var(--muted); }
.process-rail { padding: 2rem; background: #f0eadf; }
.process-step { width: 100%; display: flex; gap: 1rem; align-items: center; padding: 1.4rem 1rem; border: 0; border-bottom: 1px solid var(--line); color: var(--muted); background: transparent; text-align: left; cursor: pointer; }
.process-step > span { display: grid; place-items: center; min-width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; font-family: "Playfair Display", serif; }
.process-step div { display: grid; }
.process-step small { opacity: .75; }
.process-step.active { color: var(--cream); background: var(--green); }
.process-step.complete > span { color: var(--green); border-color: var(--gold); background: var(--gold); }
.application-form { padding: clamp(2rem, 5vw, 5rem); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.application-form label, .contact-form > label, .contact-form .field-grid label { display: grid; gap: .55rem; margin-bottom: 1rem; color: inherit; font-size: .78rem; font-weight: 600; }
input, select, textarea { width: 100%; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: var(--white); outline: 0; }
input:focus, select:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(210,169,79,.14); }
textarea { resize: vertical; }
.application-form .button { min-width: 180px; margin-top: .7rem; }
.application-summary { padding: 1.4rem; border: 1px solid var(--line); background: #f9f6ef; }
.application-summary dl { display: grid; grid-template-columns: 145px 1fr; gap: .7rem 1rem; margin: 0; }
.application-summary dt { color: var(--muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.application-summary dd { margin: 0; }
.summary-actions { display: flex; gap: 1.4rem; align-items: center; margin-top: 1.3rem; }
.preview-note { color: var(--muted); font-size: .72rem; }
.contact-section { padding: 100px clamp(1.2rem, 7vw, 8rem); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 9rem); color: var(--cream); background: var(--green); }
.eyebrow.light { color: var(--gold-light); }
.contact-copy h2 { font-size: clamp(3rem, 5vw, 5.5rem); }
.contact-copy > p:not(.eyebrow) { max-width: 550px; color: #c5d0cb; }
.contact-details { display: grid; gap: 1.2rem; margin-top: 3rem; }
.contact-details div { display: grid; gap: .2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.16); }
.contact-details span { color: var(--gold-light); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.contact-details strong { font-size: .88rem; font-weight: 500; }
.contact-form { padding: clamp(1.5rem, 4vw, 3rem); color: var(--ink); background: var(--cream); box-shadow: 0 28px 80px rgba(5,20,15,.28); }
.consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; font-weight: 400 !important; }
.consent input { width: 16px; margin-top: .25rem; accent-color: var(--green); }
.contact-success { margin-top: 1rem; padding: 1rem; border-left: 3px solid var(--gold); background: #fff; font-size: .83rem; }
footer { min-height: 120px; padding: 2rem clamp(1.2rem, 5vw, 5rem); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; color: var(--muted); background: #102b24; font-size: .72rem; }
.footer-brand .brand-mark { color: var(--cream); border-color: rgba(255,255,255,.55); }
.footer-brand .brand-copy { color: #b7c4bf; }
footer p:nth-child(2) { text-align: center; } footer p:last-child { text-align: right; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } }
@media (max-width: 1080px) {
  .hero { grid-template-columns: 1fr 1fr; padding-inline: 3rem; }
  .package-grid { grid-template-columns: 1fr 1fr; }
  .package-card { min-height: 470px; border-right: 1px solid var(--line); }
  .section-intro { grid-template-columns: 1fr 1fr; } .section-intro .eyebrow { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .site-header { height: 72px; padding-inline: 1.1rem; }
  nav { display: none; }.menu-toggle { display: block; padding: .55rem .75rem; border: 1px solid var(--green); color: var(--green); background: transparent; font-size: .75rem; font-weight: 600; }
  .mobile-menu { position: absolute; inset: 72px 0 auto; padding: 1rem 1.2rem 1.4rem; background: var(--cream); border-bottom: 1px solid var(--line); }
  .mobile-menu.open { display: grid; }
  .mobile-menu a { padding: .8rem; border-bottom: 1px solid var(--line); text-decoration: none; }
  .hero { min-height: auto; padding: 120px 1.2rem 70px; grid-template-columns: 1fr; gap: 2.5rem; }
  h1 { font-size: clamp(3.15rem, 15vw, 5rem); }
  .proof-row { overflow-x: auto; margin-top: 3rem; }.proof-row span { padding-right: 1.2rem; }
  .hero-visual { min-height: 430px; }.portrait-card { inset: 4% 9%; }
  .floating-note { min-width: 125px; padding: .7rem .8rem; font-size: .83rem; }
  .services-section { padding: 75px 1rem; }
  .section-intro { grid-template-columns: 1fr; gap: 1.4rem; margin-bottom: 2.5rem; }
  .section-intro .eyebrow { grid-column: auto; }
  .tab-list { overflow-x: auto; grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .tab-panel { padding: 1rem; }.package-grid { grid-template-columns: 1fr; gap: 1rem; }
  .package-card { min-height: auto; padding: 1.5rem; }.package-card h3 { min-height: 0; }
  .package-card.featured { margin-top: 1.7rem; }
  .checker-layout, .process-layout { grid-template-columns: 1fr; }
  .checker-copy, .fit-form, .application-form { padding: 2rem 1.3rem; }
  .process-rail { display: grid; grid-template-columns: repeat(3, 1fr); padding: .5rem; }
  .process-step { justify-content: center; padding: .8rem .2rem; border-bottom: 0; }.process-step div { display: none; }
  .field-grid { grid-template-columns: 1fr; gap: 0; }
  .application-summary dl { grid-template-columns: 1fr; gap: .25rem; }.application-summary dd { margin-bottom: .7rem; }
  .contact-section { padding: 75px 1.2rem; grid-template-columns: 1fr; gap: 2.5rem; }
  footer { grid-template-columns: 1fr; gap: 1rem; text-align: center; } footer p:nth-child(2), footer p:last-child { text-align: center; }
  .footer-brand { justify-content: center; }
}
/* Extension of the original E&B visual language across audience and service pages. */
[hidden]{display:none!important}
:root{--muted:#56655e}
html{scroll-padding-top:110px}
body{font-size:16px}
main:focus{outline:none}
:focus-visible{outline:3px solid #916811;outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #916811;outline-offset:2px}
.choice input:focus-visible+span{outline:3px solid #916811;outline-offset:3px}
.site-header{gap:2rem;padding-inline:clamp(1.2rem,3vw,4rem)}
.brand{flex-shrink:0;gap:1.1rem}
.brand-mark{display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
.brand-mark b{font-weight:500;transform:rotate(-45deg);white-space:nowrap;font-size:1rem}
.brand-mark b span{display:inline;transform:none}
.brand-copy{font-size:.75rem;letter-spacing:.1em}
nav{gap:clamp(.8rem,1.6vw,1.6rem)}
nav a,nav summary,.menu-toggle{font-size:.875rem;letter-spacing:0}
.nav-group{position:relative}
.nav-group summary{cursor:pointer;font-weight:600;list-style:none;padding:1rem 0}
.nav-group summary::after{content:'⌄';margin-left:.4rem}
.nav-group[open] summary::after{content:'⌃'}
.dropdown{position:absolute;top:100%;left:-1rem;width:330px;max-width:80vw;padding:1rem;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.dropdown a{display:block;padding:.8rem;line-height:1.4;border-bottom:1px solid var(--line)}
.dropdown a:hover{background:var(--sand)}
nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem}
h1,h2{line-height:1.09;letter-spacing:-.04em}
h1 em,h2 em{color:#916811}
.hero h1{font-size:clamp(3.4rem,5.7vw,6.8rem)}
.hero-lead{font-size:1.15rem}
.proof-row{flex-wrap:wrap;gap:.3rem 0}
.proof-row span{white-space:normal;font-size:.875rem;padding-inline:.7rem}
.portrait-caption span,.floating-note small{font-size:.875rem}
.portrait-caption strong{font-size:1.5rem;line-height:1.25}
.floating-note small{color:#7e5a0e}
.section{padding:100px clamp(1.2rem,6vw,7rem)}
.section.compact{padding-block:45px}
.section-intro{grid-template-columns:.55fr 1.2fr 1fr;gap:2.5rem}
h2{font-size:clamp(2.5rem,4.4vw,4.8rem);color:var(--green)}
h3{font-family:'Playfair Display',serif;font-weight:600;line-height:1.25;font-size:1.7rem}
.eyebrow,.mini-label{font-size:.875rem;letter-spacing:.14em}
.page-hero{padding:165px clamp(1.2rem,7vw,8rem) 75px;background:var(--cream);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:1120px;font-size:clamp(3rem,5.8vw,6.4rem)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin-top:2.5rem}
.hero-bottom .hero-lead{margin:0;max-width:750px}
.hero-bottom .button{flex-shrink:0}
.audience-grid{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line)}
.audience-card{padding:3rem;text-decoration:none;display:flex;flex-direction:column;min-height:340px;border:1px solid var(--line);transition:background .25s,box-shadow .25s}
.audience-card h3{font-size:clamp(2rem,3vw,3.1rem);max-width:520px}
.audience-card p{max-width:490px}
.audience-card .card-link{display:block;margin-top:auto;padding-top:2rem}
.audience-card:hover{box-shadow:inset 0 4px var(--gold)}
.audience-1{background:var(--green);color:var(--cream)}
.audience-1 .eyebrow,.audience-1 .card-link{color:var(--gold-light)}
.audience-2{background:var(--cream)}
.audience-3{background:var(--sand)}
.audience-4{background:var(--paper)}
.sand-section{background:var(--cream)}
.dark-section{background:var(--green);color:var(--cream)}
.dark-section h2,.dark-section h3,.dark-section .section-intro h2{color:var(--cream)}
.dark-section .eyebrow,.dark-section h2 em{color:var(--gold-light)}
.dark-section .section-intro>p:last-child{color:#d1dcd6}
.capability-list a{display:grid;grid-template-columns:45px 1fr 30px;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:1.4rem 0;text-decoration:none;transition:padding .2s}
.capability-list a:hover{padding-left:.8rem}
.capability-list h3{margin:0;font-size:clamp(1.4rem,2.5vw,2rem)}
.capability-list span{color:#7e5a0e}
.method-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #668176}
.method-list details{padding:2rem 1.5rem;border-right:1px solid #668176}
.method-list summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:1rem}
.method-list summary>span:first-child{width:100%;color:var(--gold-light)}
.method-list h3{margin:0;font-size:1.9rem}
.method-list .expand{margin-left:auto}
.method-list details[open] .expand{transform:rotate(45deg)}
.method-list p{color:#d1dcd6}
.founder-section{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,8rem)}
.lead{font-size:1.25rem;line-height:1.65}
.muted{color:var(--muted);font-size:1rem}
.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem}
.outcomes p{font-family:'Playfair Display',serif;font-size:1.6rem;border-top:1px solid var(--line);padding-top:1.5rem;display:flex;gap:1.5rem}
.outcomes span{font:normal .875rem 'DM Sans',sans-serif;color:#7e5a0e;padding-top:.4rem}
.closing{padding:85px clamp(1.2rem,7vw,8rem);background:var(--green);color:var(--cream)}
.closing h2{color:var(--cream);max-width:1000px}
.closing em{color:var(--gold-light)}
.editorial-row{display:grid;grid-template-columns:55px .9fr 1.1fr;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line)}
.editorial-row h3{font-size:clamp(1.7rem,3vw,2.7rem);max-width:420px}
.editorial-row p{margin-top:0}
.editorial-row ul{padding-left:1.2rem}
.editorial-row li{padding:.4rem 0}
.row-number{color:#7e5a0e}
.format-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}
.format-list>div{padding:1.7rem 0;border-top:1px solid var(--line)}
.dark-section .format-list>div{border-color:#668176}
.format-list h3{margin-bottom:.8rem}
.format-list p{margin:0;max-width:600px}
.package-card{min-width:0;padding:1.7rem}
.package-card h3{margin-top:1.4rem;min-height:0}
.package-card>p:not(.package-kicker),.package-card li{font-size:1rem}
.package-grid{gap:0}
.checker-layout,.process-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.checker-copy h2{color:var(--cream);font-size:clamp(2.5rem,3.8vw,4rem)}
.privacy-line{font-size:.875rem}
.fit-form{padding:clamp(1.4rem,4vw,4rem)}
.fit-form h3{font-size:2.3rem;color:var(--green)}
.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}
.text-button{background:transparent;border:0;color:var(--green);text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:.8rem .4rem;font-weight:600}
progress{width:100%;height:5px;border:0;accent-color:var(--green);margin-top:2rem}
progress::-webkit-progress-bar{background:var(--sand)}
progress::-webkit-progress-value{background:var(--green)}
.recommendation dt{font-size:.875rem;font-weight:600;margin-top:1rem;color:var(--muted)}
.recommendation dd{margin:.25rem 0 0}
.application-form label,.contact-form label{font-size:.875rem;font-weight:500}
.application-form h2{font-size:clamp(2rem,3vw,3rem)}
.application-form textarea[readonly]{font-size:1rem;white-space:pre-wrap;background:var(--cream);line-height:1.6}
.application-form{min-width:0}
.application-form select{max-width:100%}
#training-result{margin-top:2rem;border-top:1px solid var(--line);padding-top:2rem}
#training-result h3{font-size:2rem}
.notice{padding:1rem;border-left:3px solid #916811;background:var(--cream);font-size:.95rem}
.preview-notice{border-top:1px solid #668176;padding-top:1.5rem}
.enquiry-steps{padding-left:1.2rem;margin:2rem 0}
.enquiry-steps li{padding:.5rem 0;color:#d1dcd6}
.enquiry-steps li.current{color:var(--gold-light);font-weight:600}
#enquiry-status:empty{display:none}
#enquiry-status{padding:1rem;border-left:3px solid var(--gold);background:var(--cream)}
.insight-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:3rem}
.insight-topics>div{padding-top:2rem;border-top:1px solid var(--line)}
.insight-topics span{color:#7e5a0e}
.insight-topics h3{margin:1rem 0;font-size:1.6rem}
.insight-topics p{font-size:.875rem;color:var(--muted)}
footer{color:#c2cec8;font-size:.875rem}
footer .brand-mark{color:var(--cream);border-color:#c2cec8}
footer .brand-copy{color:#c2cec8}
.reveal{opacity:1;transform:none}
.reveal.animate-reveal{opacity:0;transform:translateY(22px)}
.reveal.animate-reveal.visible{opacity:1;transform:none}
@media(min-width:761px) and (max-width:1150px){.site-header>nav{display:none}.menu-toggle{display:block}.mobile-menu{position:absolute;inset:88px 0 auto;padding:1.2rem;background:var(--cream)}.mobile-menu.open{display:block}}
@media(max-width:1150px){.mobile-menu{max-height:calc(100dvh - 88px);overflow:auto}.mobile-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:.3rem}.mobile-menu nav>a{padding:.7rem}.mobile-menu .dropdown{position:static;max-width:none;width:auto;box-shadow:none;border:0;padding:0 .7rem}.mobile-menu summary{padding:.7rem}.mobile-menu .dropdown a{padding:.65rem}.method-list{grid-template-columns:1fr 1fr}.section-intro{grid-template-columns:1fr 1.3fr}.section-intro .eyebrow{grid-column:1/-1}.package-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1.1fr .9fr}.hero-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){
 .site-header,.site-header.scrolled{height:72px}.site-header>nav{display:none}.mobile-menu.open{display:block}.mobile-menu{inset:72px 0 auto;max-height:calc(100dvh - 72px)}
 .hero{grid-template-columns:1fr;padding-top:115px;gap:1.5rem}.hero h1{font-size:clamp(2.9rem,11vw,4.8rem)}.hero-visual{min-height:410px}.proof-row{overflow:visible;margin-top:2rem}.proof-row span{font-size:.875rem;padding:.5rem .7rem}.proof-row span:first-child{padding-left:.7rem}
 .section{padding:65px 1.2rem}.section-intro{display:block;margin-bottom:2.5rem}.section-intro h2{margin-bottom:1.5rem;font-size:clamp(2.5rem,9vw,4rem)}
 .page-hero{padding:125px 1.2rem 50px}.page-hero h1{font-size:clamp(2.8rem,10vw,4.8rem)}.hero-bottom{gap:1.4rem;margin-top:1.4rem}
 .audience-grid,.founder-section,.outcomes,.format-list,.package-grid,.checker-layout,.process-layout{grid-template-columns:1fr}.audience-card{padding:2rem;min-height:300px}
 .editorial-row{grid-template-columns:30px 1fr;gap:1rem}.editorial-row>div{grid-column:2}.editorial-row h3{margin-bottom:0}.method-list{grid-template-columns:1fr}.method-list summary>span:first-child{width:auto}.method-list details{border-right:0;border-bottom:1px solid #668176;padding:1.5rem .4rem}.method-list h3{font-size:1.7rem}
 .closing{padding:65px 1.2rem}.insight-topics{grid-template-columns:1fr 1fr;gap:1.5rem}.package-card{min-height:0}.package-card.featured{margin-top:0}.checker-copy,.application-form{padding:2rem 1.4rem}.field-grid{grid-template-columns:1fr}.brand-copy{font-size:.75rem}.button{font-size:.9rem}.capability-list a{grid-template-columns:25px 1fr 20px;gap:.7rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal.animate-reveal{opacity:1;transform:none}.button:hover{transform:none}}
