@font-face{font-family:Caslon;src:url('assets/libre-caslon-display.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Oswald;src:url('assets/oswald.ttf') format('truetype');font-display:swap;font-weight:200 700}
@font-face{font-family:'Open Sans';src:url('assets/open-sans.ttf') format('truetype');font-display:swap;font-weight:300 800}
:root{--paper:#fffefa;--ink:#103e49;--navy:#102b45;--muted:#4a6268;--copper:#a63e0a;--wash:#f4f0e9;--line:#c4cdca;--focus:#a63e0a;--serif:Caslon,Georgia,serif;--body:'Open Sans',sans-serif;--condensed:Oswald,sans-serif;scroll-behavior:smooth;scrollbar-color:var(--muted) var(--wash)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:1.125rem;line-height:1.7}::selection{background:#eac7ae;color:var(--navy)}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}input,textarea{caret-color:var(--copper)}button,a,input,textarea,summary{touch-action:manipulation}a,button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}a:hover{text-decoration-thickness:2px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.06;text-wrap:balance}h2{font-size:clamp(2.25rem,4vw,3.4375rem)}h3{font-family:var(--condensed);font-size:1.75rem;line-height:1.25;font-weight:450}p+p{margin-top:20px}p{max-width:68ch}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:94px}section[id],aside[id]{scroll-margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;left:16px;top:12px;padding:12px 20px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{min-height:124px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{width:232px;flex-shrink:0;text-decoration:none;position:relative;padding-bottom:6px}.brand img{width:232px;height:auto}.brand span{display:block;margin:-15px 0 0 61px;color:var(--copper);font-size:1rem;font-weight:700;letter-spacing:1.4px;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{font-family:var(--condensed);text-transform:uppercase;letter-spacing:.055em;font-size:1.0625rem;line-height:1.4;text-decoration:none;padding:14px 0;color:var(--navy)}.site-header nav a:hover{color:var(--copper)}.site-header nav .nav-invitation{color:var(--copper);border-bottom:2px solid var(--copper);padding-bottom:8px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;gap:38px;padding-block:26px 48px}.hero-copy{padding-top:18px;padding-bottom:16px;align-self:center}.hero h1{font-size:clamp(3.625rem,6.3vw,5.5rem);line-height:1.02;letter-spacing:-.03em}.hero h1 em{font-style:normal;color:var(--ink)}.hero-lead{font-size:1.1875rem;line-height:1.65;max-width:39ch;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--paper);padding:16px 23px;min-height:56px;font-weight:600;font-size:1rem;line-height:1.45;text-decoration:none}.button:hover{background:var(--navy);border-color:var(--navy)}.button:disabled{background:#6b7d80;cursor:not-allowed}.hero .button{margin-top:30px}.hero-locations{font-size:1rem;color:var(--muted);margin-top:14px}.hero-locations span{margin-inline:8px;color:var(--copper)}.byline{font-size:1rem;margin-top:34px}.byline span{display:block;color:var(--muted);font-size:1rem;margin-top:2px}.hero-image{display:flex;flex-direction:column;min-width:0}.hero-image img{width:100%;height:100%;min-height:515px;object-fit:cover;object-position:54% center}.conversation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;border-top:1px solid var(--line);padding-top:76px}.section-note{color:var(--muted);margin-top:28px;font-size:1rem;line-height:1.8}.prose p{line-height:1.85}.meeting-section{background:var(--wash)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:80px}.section-heading>p{max-width:32ch;color:var(--muted);margin-bottom:4px}.meeting-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:52px}.meeting-options article{padding-right:60px}.meeting-options article+article{padding:0 0 0 60px;border-left:1px solid var(--line)}.meeting-options h3{font-size:2rem}.meeting-options article>p{max-width:43ch;margin-top:17px}.detail-note{font-size:1rem;color:var(--muted);line-height:1.65}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-family:var(--condensed);font-size:1.125rem;letter-spacing:.025em;color:var(--copper);text-decoration:none;line-height:1.5;padding-block:12px;min-height:48px;border:0;background:transparent}.text-link:hover{text-decoration:underline}.meeting-options .text-link{margin-top:16px}.practical{border-top:1px solid var(--line);margin-top:48px;padding-top:30px;display:grid;grid-template-columns:.8fr 1.4fr;gap:72px}.practical h3{font-size:1.5rem}.practical dl{margin:0;font-size:1rem}.practical dl>div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding-block:12px;border-bottom:1px solid var(--line)}.practical dl>div:first-child{padding-top:0}.practical dl>div:last-child{border:0;padding-bottom:0}dt{font-weight:600}dd{margin:0}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}.about-name>p{font-family:var(--condensed);font-size:1.375rem;color:var(--copper);margin-top:20px}.short-rule{display:block;width:54px;height:2px;background:var(--copper);margin-top:30px}.about .text-link{margin-top:20px}.questions{border-top:1px solid var(--line);padding-top:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding-block:18px;font-weight:600;line-height:1.5}summary::-webkit-details-marker{display:none}summary svg{width:20px;height:20px}details[open]>summary svg{transform:rotate(45deg)}details>p{font-size:1rem;padding-bottom:24px;line-height:1.85;color:var(--muted)}
.begin-section{background:var(--ink);color:var(--paper)}.begin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.begin-grid h2{font-size:clamp(2.625rem,4.5vw,4rem)}.begin-grid h2+p{margin-top:26px;line-height:1.8;color:#e0e8e5}.form-help{font-size:1rem;color:#d2e0dd;margin-bottom:20px}.inquiry-panel{min-width:0}fieldset{margin:0;padding:0;border:0;min-width:0}.meeting-choice{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:26px}.meeting-choice legend{margin-bottom:12px;font-weight:600;font-size:1rem}.meeting-choice label{display:flex;gap:8px;align-items:center;min-height:44px;font-weight:400;cursor:pointer}.meeting-choice input{width:18px;height:18px;accent-color:var(--copper);margin:0}.field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}form label{display:block;font-size:1rem;font-weight:600;line-height:1.6}form label>span{font-weight:400;color:#d2e0dd}input[type=text],input[type=email],textarea{display:block;width:100%;border:1px solid #a6bcb9;background:var(--paper);color:var(--ink);border-radius:2px;padding:12px;margin-top:8px;margin-bottom:24px;min-height:48px;font-size:1rem;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#526569;font-size:1rem}input:focus-visible,textarea:focus-visible{outline-color:#efb992}.begin-section .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.begin-section .button:hover{background:#e6ded1}.begin-section .text-link{color:#efb992}.begin-section :focus-visible{outline-color:#efb992}.form-footnote{font-size:1rem;color:#d2e0dd;margin-top:14px;line-height:1.7}#inquiry-review h3{font-size:1.875rem}#inquiry-review p{font-size:1rem;color:#d2e0dd}.review-status{margin-top:16px}#inquiry-summary{margin-block:24px;font-size:1rem}#inquiry-summary>div{border-top:1px solid #688b8f;padding-block:12px}#inquiry-summary dd{overflow-wrap:anywhere;white-space:pre-wrap;margin-top:4px;color:#e0e8e5}#begin.path-chosen .inquiry-panel{animation:chosen 650ms cubic-bezier(.16,1,.3,1)}@keyframes chosen{from{background-color:#245661}to{background-color:transparent}}.site-footer{padding:24px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:1rem;color:var(--muted)}.site-footer>div>a{font-family:var(--serif);font-size:1.75rem;color:var(--navy);text-decoration:none}.site-footer>div>p{color:var(--copper);font-size:1rem;letter-spacing:.08em}.site-footer>p{line-height:1.9}.footer-top{display:flex;align-items:center;gap:10px;min-height:44px}.footer-top svg{width:17px;height:17px}
@media(min-width:1500px){.hero{gap:64px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:20px}.site-header nav a{font-size:1rem}.brand,.brand img{width:210px}.brand span{font-size:1rem;margin-left:55px;margin-top:-14px}.hero{gap:28px}.hero h1{font-size:4.125rem}.hero-image img{min-height:500px}.conversation,.about,.questions{gap:48px}.begin-grid{gap:56px}.meeting-options article{padding-right:36px}.meeting-options article+article{padding-left:36px}.practical{gap:40px;grid-template-columns:.8fr 1.5fr}.practical dl>div{grid-template-columns:130px 1fr}}
@media(max-width:760px){body{font-size:1rem}.wrap{width:calc(100% - 40px)}.site-header{min-height:0;flex-direction:column;align-items:flex-start;gap:10px;padding-top:14px;padding-bottom:14px}.brand,.brand img{width:200px}.brand span{margin-left:53px;margin-top:-13px;font-size:1rem}.site-header nav{width:100%;justify-content:space-between;gap:9px;flex-wrap:wrap}.site-header nav a{font-size:1rem;letter-spacing:.025em;padding:10px 0;min-height:40px}.site-header nav .nav-invitation{padding-bottom:6px}.hero{grid-template-columns:1fr;gap:26px;padding-top:20px;padding-bottom:36px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.75rem,11vw,4.125rem);max-width:13ch;line-height:1.04}.hero-lead{font-size:1.0625rem;margin-top:22px;max-width:36ch}.hero .button{margin-top:24px}.hero-locations{font-size:1rem;margin-top:12px}.hero-locations span{margin-inline:4px}.byline{margin-top:24px;font-size:1rem}.byline span{font-size:1rem}.hero-image img{height:260px;min-height:0;object-position:50% 72%}.section-space{padding-block:56px}.conversation,.about,.questions,.begin-grid{grid-template-columns:1fr;gap:28px}.section-note{margin-top:20px;font-size:1rem}.prose p{line-height:1.8}h2{font-size:2.4375rem}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:36ch}.meeting-options{grid-template-columns:1fr;margin-top:34px}.meeting-options article{padding:0 0 30px}.meeting-options article+article{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.meeting-options h3{font-size:1.8125rem}.meeting-options article>p{margin-top:14px}.meeting-options .text-link{margin-top:14px}.practical{grid-template-columns:1fr;gap:24px;margin-top:34px;padding-top:28px}.practical dl>div{grid-template-columns:1fr;gap:5px;padding-block:16px}.about-name>p{font-size:1.25rem;margin-top:16px}.short-rule{margin-top:22px}.about .text-link{margin-top:12px}.questions h2 br{display:none}.questions{padding-top:48px}.faq-list summary{font-size:1rem;min-height:70px}.begin-grid{gap:34px}.begin-grid h2{font-size:3rem}.begin-grid h2+p{margin-top:22px;font-size:1rem}.field-pair{grid-template-columns:1fr;gap:0}.meeting-choice{gap:8px 18px;margin-bottom:20px}.meeting-choice label{font-size:1rem}.site-footer{flex-wrap:wrap;gap:22px;padding-top:16px}.site-footer>p{font-size:1rem}.site-footer .footer-top{width:100%}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}#begin.path-chosen .inquiry-panel{animation:none}}

/* Review annotations remain readable and use the hue of their surface. */
.meeting-section .detail-note,.meeting-section .section-heading>p{color:#685340}
.begin-section .form-help,.begin-section .form-footnote,.preview-explanation p,.begin-section form label>span,#inquiry-review p{color:#e0efeb}

/* Plain-language entry points follow the existing brand and button system. */
.hero-welcome{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:16px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-actions .button{margin-top:0;gap:16px}
.button-outline{color:var(--ink);background:transparent}
.button-outline:hover{color:var(--ink);background:var(--wash);border-color:var(--ink)}
.hero-locations a{display:inline-block;padding-block:8px;text-decoration-thickness:1px}
.hero .byline{margin-top:22px}
#what-is,#is-it-for-me{scroll-margin-top:32px}
.fit-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;border-top:1px solid var(--line);padding-top:64px}
.fit-section .text-link{margin-top:20px}
.fit-list{list-style:none;margin:0;padding:0}
.fit-list li+li{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.fit-list h3{font-size:1.5rem;line-height:1.35}
.fit-list p{margin-top:12px;line-height:1.8}
@media(max-width:1050px){.fit-section{gap:48px}}
@media(max-width:760px){.hero-actions{flex-direction:column;align-items:stretch;margin-top:24px}.hero-actions .button{justify-content:space-between}.hero-welcome{font-size:1rem}.hero-locations{margin-top:8px}.hero-locations a{min-height:44px}.hero .byline{margin-top:14px}.fit-section{grid-template-columns:1fr;gap:28px;padding-top:48px}.fit-list h3{font-size:1.375rem}}

/* Low-vision readability: relative type, flexible tracks, and visible controls. */
html { font-size: 100%; }
body { font-size: 1.125rem; }
.site-header { flex-wrap: wrap; }
.site-header nav { flex-wrap: wrap; }
.brand { max-width: 100%; }
.brand img { max-width: 100%; }
.brand span { margin: .35rem 0 0; font-size: .875rem; white-space: normal; letter-spacing: .06em; }
.hero { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
.hero h1 { font-size: clamp(2.75rem, calc(1.8rem + 3vw), 5.5rem); }
h2 { font-size: clamp(2.25rem, calc(1.6rem + 1.8vw), 3.4375rem); }
.section-note, .practical dl, details > p { font-size: 1.125rem; }
.hero-image { align-self: stretch; }
.hero-image img { max-height: 780px; }
.section-heading { align-items: flex-start; flex-wrap: wrap; gap: 2rem 4rem; }
.section-heading > p { flex: 1 1 18rem; }
.practical { grid-template-columns: minmax(0,.65fr) minmax(0,1.6fr); gap: 3rem; }
.practical dl > div { grid-template-columns: minmax(0,.7fr) minmax(0,1.6fr); }
.begin-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.hero-copy, .prose, .fit-section > div, .faq-list, .begin-grid > div { min-width: 0; }
h1,h2,h3,p,dt,dd,a,label,legend,summary { overflow-wrap: anywhere; }
.button { white-space: normal; }
.contact-email { margin-top: 2rem; }
.begin-section a { color: inherit; }
.inquiry-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-block: 1.5rem; }
#delivery-note { margin-top: 1rem; }
#send-status:empty { display: none; }
.begin-section .button:disabled { background: #d2e0dd; color: #103e49; cursor: not-allowed; }
#message-help { margin-top: -.75rem; }
.meeting-choice input { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; }
.meeting-choice input:focus-visible { outline-offset: 4px; }
@media(max-width: 760px) {
  .hero,.begin-grid,.practical { grid-template-columns: minmax(0,1fr); }
  .practical dl > div { grid-template-columns: minmax(0,1fr); }
  .hero h1 { max-width: 100%; }
  .hero-lead { font-size: 1.125rem; }
  .section-note { font-size: 1.125rem; }
  .brand span { margin: .35rem 0 0; }
}
@media (forced-colors: active) {
  .button, input, textarea { border: 1px solid ButtonText; }
  :focus-visible { outline: 3px solid Highlight; }
}

.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

/* Option 1: preserve the prose, separate reflection questions for scanning. */
.conversation .prose strong { font-weight: 700; }
.reflection-questions { margin-block: 1.5rem 2.5rem; padding-inline-start: 1.25rem; border-inline-start: 1px solid var(--muted); }
.reflection-questions p { margin: 0; }
.reflection-questions p + p { margin-top: 1.25rem; }
.conversation .reflection-takeaway { margin-top: 2.5rem; }

/* Approved portrait and invitation after the explanation, October 22. */
.hero-portrait { align-self: center; }
.hero-portrait img { width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 50%; }
.conversation-invitation { margin-top: 2.5rem; }
.conversation-invitation .button { text-align: left; }
.conversation-invitation .button svg { flex-shrink: 0; }
.conversation-invitation p { font-size: 1.125rem; color: var(--muted); margin-top: .75rem; }

@media(max-width:760px) { .hero-portrait img { aspect-ratio: 1; } }

/* Reflection questions: semantic bullets in the main draft. */
ul.reflection-questions { border-inline-start: 0; padding-inline-start: 1.5rem; line-height: 1.85; }
ul.reflection-questions li { padding-inline-start: .25rem; overflow-wrap: anywhere; }
ul.reflection-questions li + li { margin-top: 1.25rem; }

/* Keep each emphasized opening visually separate from its explanation. */
#conversation:not(.merged-explainer) .prose > p > strong { display: block; margin-block-end: .4em; }
