@font-face { font-family:Fraunces; font-style:normal; font-weight:300 700; font-display:swap; src:url('../assets/fonts/fraunces-latin.woff2') format('woff2'); }
@font-face { font-family:Fraunces; font-style:italic; font-weight:400; font-display:swap; src:url('../assets/fonts/fraunces-italic-latin.woff2') format('woff2'); }
@font-face { font-family:'Public Sans'; font-style:normal; font-weight:300 700; font-display:swap; src:url('../assets/fonts/public-sans-latin.woff2') format('woff2'); }
:root { --ink:#0d231f; --paper:#f6f0e6; --teal:#00665d; --rust:#9e4f39; --soft-rust:#d18768; --line:#c9c4b7; --display:Fraunces,Georgia,serif; --body:'Public Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 16px/1.6 var(--body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,p { margin:0; }
h1,h2,h3,legend { font-family:var(--display); font-weight:400; letter-spacing:-.05em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.talk-shell { width:min(100% - 112px,1376px); margin-inline:auto; }
.talk-skip { position:fixed; z-index:1100; top:10px; left:10px; padding:10px 15px; color:var(--paper); background:var(--rust); transform:translateY(-200%); }
.talk-skip:focus { transform:none; }

.talk-hero { position:relative; overflow:hidden; color:var(--paper); background:var(--ink); }
.talk-hero::before { position:absolute; right:-15vw; bottom:-38vw; width:min(74vw,930px); aspect-ratio:1; border:1px solid #d187684c; border-radius:50%; box-shadow:0 0 0 82px #d1876810,0 0 0 164px #d1876809; content:''; }
.talk-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr); gap:9%; align-items:end; padding-top:105px; padding-bottom:116px; }
.talk-hero h1 { font-size:clamp(58px,7.2vw,104px); line-height:1.01; }
.talk-hero h1 em { color:var(--soft-rust); font-style:italic; }
.talk-hero-copy { padding-bottom:10px; }
.talk-hero-copy p { max-width:500px; color:#d5ddd3; font:400 clamp(19px,1.7vw,25px)/1.42 var(--display); letter-spacing:-.025em; }
.talk-hero-copy span { display:block; margin-top:24px; color:#d2c0ae; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

.talk-intake { padding:102px 0 112px; }
.talk-intake-layout { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); gap:9%; align-items:start; }
.talk-context { position:sticky; top:28px; }
.talk-context h2 { font-size:clamp(40px,4.5vw,64px); line-height:1.07; }
.talk-context h2 em { color:var(--teal); font-style:italic; }
.talk-context p { max-width:470px; margin-top:23px; color:#465647; font-size:16px; line-height:1.72; }
.talk-detail { display:block; margin-top:29px; color:var(--rust); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.talk-email { display:inline-flex; margin-top:10px; padding-bottom:3px; color:#465647; border-bottom:1px solid currentColor; font-size:13px; }
.talk-email:hover { color:var(--rust); }

.guided-intake { min-height:590px; padding:clamp(30px,4.3vw,58px); background:#e7ddd0; border:1px solid #0d231f1b; }
.intake-progress-copy { display:flex; justify-content:space-between; gap:20px; margin-bottom:13px; }
.intake-progress-copy span { color:var(--rust); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.intake-progress-copy strong { color:#465647; font-size:12px; font-weight:600; }
.intake-progress-track { height:2px; background:#0d231f1c; }
.intake-progress-track span { display:block; width:20%; height:100%; background:var(--teal); transition:width .28s ease; }
.intake-step { margin:0; padding:48px 0 22px; border:0; animation:intake-in .3s ease both; }
.intake-step legend { width:100%; color:var(--ink); font-size:clamp(32px,2.8vw,40px); line-height:1.08; }
.intake-prompt { max-width:720px; margin:14px 0 31px; color:#536153; font-size:15px; line-height:1.65; }
.form-field { display:flex; flex-direction:column; gap:8px; }
.form-field + .form-field { margin-top:20px; }
.form-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:20px; }
.form-field-row .form-field + .form-field { margin-top:0; }
.form-field label { color:#465647; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.form-field label span { font-weight:400; }
.form-field input,.form-field textarea,.form-field select { width:100%; min-height:52px; padding:14px 15px; color:var(--ink); background:var(--paper); border:1px solid #0d231f31; border-radius:0; outline:0; transition:border-color .2s,box-shadow .2s; }
.form-field textarea { min-height:145px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:var(--teal); box-shadow:0 0 0 3px #00665d16; }
.intake-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.intake-choice { position:relative; }
.intake-choice input { position:absolute; opacity:0; }
.intake-choice span { display:flex; align-items:center; min-height:64px; height:100%; padding:14px 17px; color:#354638; background:var(--paper); border:1px solid #0d231f25; cursor:pointer; transition:color .2s,background .2s,border-color .2s; }
.intake-choice input:checked + span { color:var(--paper); background:var(--teal); border-color:var(--teal); box-shadow:inset 4px 0 var(--soft-rust); }
.intake-choice input:focus-visible + span { outline:2px solid var(--teal); outline-offset:3px; }
.form-privacy { margin-top:25px; color:#536153; font-size:12px; line-height:1.55; }
.form-privacy a,.form-note a { text-decoration:underline; text-underline-offset:3px; }
.intake-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin-top:auto; padding-top:10px; }
.intake-back { padding:12px 0; color:#465647; background:transparent; border:0; cursor:pointer; }
.intake-next,.intake-submit { min-height:48px; padding:13px 20px; color:var(--paper); background:var(--teal); border:0; cursor:pointer; }
.intake-next:hover,.intake-submit:hover { background:var(--ink); }
.form-note { margin-top:16px; color:#6b665e; font-size:12px; line-height:1.55; }

.talk-after { padding:94px 0 99px; color:var(--paper); background:#143a33; }
.talk-after-head { display:grid; grid-template-columns:1.1fr .9fr; gap:9%; align-items:end; }
.talk-after h2 { font-size:clamp(42px,5vw,72px); line-height:1.06; }
.talk-after-head > p { max-width:490px; color:#c6d0c2; font-size:16px; line-height:1.65; }
.talk-after ol { display:grid; grid-template-columns:repeat(3,1fr); margin:54px 0 0; padding:0; list-style:none; border-top:1px solid #ffffff2c; border-bottom:1px solid #ffffff2c; }
.talk-after li { min-height:188px; padding:25px 29px 28px 0; border-right:1px solid #ffffff2c; }
.talk-after li + li { padding-left:29px; }
.talk-after li:last-child { border-right:0; }
.talk-after li span { color:var(--soft-rust); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.talk-after li h3 { margin-top:45px; font-size:29px; line-height:1.08; }
.talk-after li p { margin-top:12px; color:#c6d0c2; font-size:13px; line-height:1.65; }

.talk-footer { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px; padding-block:38px 20px; }
.talk-footer-brand { display:flex; align-items:center; width:140px; height:76px; }
.talk-footer-brand img { width:100%; max-height:76px; object-fit:contain; }
.talk-footer > div:first-child > p { margin-top:14px; font:17px/1.25 var(--display); }
.talk-footer nav { display:flex; flex-wrap:wrap; align-content:start; gap:10px 25px; font-size:10px; }
.talk-footer nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.talk-footer-fine { display:flex; align-content:start; justify-content:flex-end; flex-wrap:wrap; gap:12px 20px; color:#536153; font-size:9px; }
.talk-footer-fine span { flex-basis:100%; text-align:right; }
@keyframes intake-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media (min-width:1300px) {
  .talk-hero h1,.talk-after h2 { white-space:nowrap; }
  .intake-step legend { font-size:32px; white-space:nowrap; }
}
@media (max-width:900px) {
  .talk-shell { width:calc(100% - 64px); }
  .talk-hero-grid,.talk-intake-layout,.talk-after-head { grid-template-columns:1fr; gap:38px; }
  .talk-hero-copy { padding:0; }
  .talk-context { position:static; }
  .talk-footer { grid-template-columns:1fr 1fr; }
  .talk-footer-fine { justify-content:start; }
  .talk-footer-fine span { text-align:left; }
}
@media (max-width:700px) {
  .talk-shell { width:calc(100% - 40px); }
  .talk-hero-grid { gap:31px; padding-top:65px; padding-bottom:78px; }
  .talk-hero h1 { font-size:clamp(52px,14vw,78px); }
  .talk-intake { padding-block:67px 72px; }
  .talk-context h2,.talk-after h2 { font-size:clamp(38px,10.5vw,55px); }
  .talk-context p,.talk-after-head > p { font-size:15px; }
  .guided-intake { min-height:0; padding:27px 20px; }
  .intake-progress-copy { display:block; }
  .intake-progress-copy strong { display:block; margin-top:8px; }
  .intake-step { padding-top:37px; }
  .intake-step legend { font-size:clamp(34px,9vw,47px); }
  .intake-choice-grid,.form-field-row { grid-template-columns:1fr; }
  .form-field-row .form-field + .form-field { margin-top:0; }
  .intake-actions { justify-content:space-between; }
  .talk-after { padding-block:67px; }
  .talk-after ol { grid-template-columns:1fr; margin-top:39px; }
  .talk-after li,.talk-after li + li { min-height:0; padding:23px 0; border-right:0; border-bottom:1px solid #ffffff2c; }
  .talk-after li:last-child { border-bottom:0; }
  .talk-after li h3 { margin-top:22px; }
  .talk-footer { grid-template-columns:1fr; gap:25px; padding-block:34px 18px; }
  .talk-footer-brand { width:120px; height:65px; }
  .talk-footer-brand img { max-height:65px; }
  .talk-footer nav { max-width:290px; }
  .talk-footer-fine { justify-content:start; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
