/* Draft additions only. Current brand, imagery and identity are preserved. */
:root { --intake-border:#d9d5cd; --intake-accent:#8b691a; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; transform:translateY(-160%); padding:12px 20px; background:#fff; color:#262525; border:2px solid #8b691a; border-radius:8px; }
.skip-link:focus { transform:translateY(0); }
.draft-banner { padding:8px 20px; background:#ece8de; color:#484038; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; font-size:.76rem; line-height:1.5; }
.draft-banner strong { letter-spacing:.04em; }
.btn-primary { background:#8b691a; color:#fff; box-shadow:0 10px 26px rgba(98,70,9,.18); }
.btn-primary:hover { background:#745513; box-shadow:0 13px 28px rgba(98,70,9,.22); }
.hero-grid { min-height:680px; }
.hero h1 { max-width:590px; font-size:clamp(3rem,4.75vw,4.45rem); line-height:1.03; }
.hero-copy { padding:60px 0; }
.hero .lead { line-height:1.65; margin-bottom:28px; }
.hero-actions { align-items:flex-start; flex-direction:column; gap:19px; }


.hero-doc-note { font-size:.85rem; color:#e1d5b8; margin:18px 0 0; }
.hero-note { margin-top:14px; font-size:.8rem; color:rgba(255,255,255,.77); }
.intake-process { padding:85px 0; }
.intake-process .section-head { max-width:780px; margin-bottom:35px; }
.intake-process .section-head h2 { font-size:clamp(2.5rem,3.6vw,3.65rem); }
.intake-process .steps { padding:0; list-style:none; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; gap:20px; }
.intake-process .step { padding:28px; border-radius:18px; background:#fcfbf8; }
.intake-process .step .dot { margin-bottom:22px; }
.intake-process .step::before { font-size:5rem; color:rgba(139,105,26,.11); }
.intake { background:#f5f3ee; padding:86px 0; border-block:1px solid #e9e5dc; }
.intake-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); align-items:start; gap:62px; }
.intake-intro { position:sticky; top:126px; }
.intake-intro .eyebrow { font-size:.67rem; letter-spacing:.12em; color:#8b691a; }
.intake-intro h2 { font-size:clamp(2.7rem,3.9vw,3.8rem); font-weight:400; line-height:1.06; letter-spacing:-.025em; color:#373435; margin:17px 0 23px; }
.intake-intro > p { color:#625e5e; font-size:1rem; }
.intake-reassurance { display:flex; align-items:flex-start; gap:12px; color:#4c4230; padding:23px 0; margin:24px 0; border-block:1px solid #d8cdb2; line-height:1.5; font-size:.98rem; }
.intake-reassurance svg { flex:none; color:#8b691a; }
.intake-intro .intake-boundary { font-size:.86rem; }




.intake-form-panel { background:#fff; border:1px solid #ddd8cc; border-radius:22px; padding:30px; box-shadow:0 15px 40px rgba(55,52,53,.055); }
.demo-notice { background:#f4f0e5; border-left:3px solid #8b691a; padding:16px 18px; border-radius:3px 10px 10px 3px; color:#484038; font-size:.83rem; }
.demo-notice p { margin:5px 0 0; line-height:1.6; }
.form-required { font-size:.74rem; color:#625e5e; margin:20px 0 23px; }
#intake-form fieldset { border:0; padding:0; margin:0 0 27px; min-width:0; }
#intake-form legend { color:#373435; font-weight:700; font-size:1.02rem; padding:0; margin-bottom:17px; width:100%; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
.field { min-width:0; }
.field-wide { grid-column:1/-1; }
.field label { display:block; font-size:.8rem; color:#484343; line-height:1.5; font-weight:600; margin-bottom:7px; }
.field input, .field select, .field textarea { display:block; width:100%; min-height:48px; border:1px solid #b7b1a6; border-radius:8px; padding:11px 12px; font:inherit; font-size:1rem; color:#373435; background:#fff; line-height:1.5; box-shadow:0 1px 2px rgba(0,0,0,.025); }
.field select { padding-right:26px; }
.field textarea { resize:vertical; }
.field :is(input,select,textarea):focus { border-color:#8b691a; outline:2px solid #8b691a; outline-offset:2px; }
.field [aria-invalid="true"] { border-color:#a62e20; outline-color:#a62e20; }
.field small { display:block; margin-top:6px; font-size:.72rem; line-height:1.5; color:#6a6560; }
.field-foot { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; }
#relato-count { white-space:nowrap; }
.optional-fields { border-block:1px solid #d9d5cd; margin:0 0 23px; }
.optional-fields summary { font-size:.85rem; padding:17px 0; gap:12px; }
.optional-fields summary span { margin-left:auto; font-weight:400; color:#6a6560; font-size:.76rem; }
.optional-fields summary::after { width:26px; height:26px; }
.optional-fields .form-grid { padding:2px 0 23px; }
.form-privacy { font-size:.76rem; color:#625e5e; line-height:1.65; margin-bottom:24px; }
.form-privacy strong { color:#484343; }
.form-privacy p { margin:5px 0 0; }
.form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.form-actions .btn { font-family:inherit; font-size:.91rem; }
.form-reset { border:0; background:none; font:inherit; font-size:.78rem; color:#625e5e; padding:12px 0; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.form-feedback { margin-top:22px; padding:17px 18px; border:1px solid #c6ba9a; border-radius:9px; font-size:.88rem; color:#373435; background:#f6f3eb; }
.form-feedback[hidden] { display:none; }
.form-feedback[data-state="error"] { background:#fff6f3; border-color:#d9a99a; color:#852c1e; }
.no-script { font-size:.8rem; background:#f4f0e5; padding:14px; }
.privacy-draft { border-top:1px solid #ddd8cc; padding-top:14px; margin-top:20px; }
.evidence .section-head p strong { color:#eee1c1; }
.floating-intake { font-size:.8rem; min-height:46px; padding:0 15px; bottom:max(16px,env(safe-area-inset-bottom)); }
.floating-intake.is-hidden { visibility:hidden; opacity:0; pointer-events:none; }
footer .fine { color:#666061; }
.credits { color:#746e6f; }
@media (max-width:1100px) { .intake-layout { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:32px; } .intake-form-panel { padding:25px; } .nav-links { gap:17px; } }
@media (max-width:980px) { .hero-grid { min-height:0; } .hero-copy { padding:44px 0 30px; } .hero h1 { font-size:clamp(3.25rem,7vw,4.4rem); } .hero-actions { flex-direction:row; align-items:center; gap:14px 24px; } .intake-layout { grid-template-columns:1fr; gap:30px; max-width:760px; } .intake-intro { position:static; } .intake-intro h2 br { display:none; } .intake-intro h2 { max-width:590px; } .intake-reassurance { max-width:560px; margin:20px 0; padding:17px 0; }   .intake-process .step { padding:22px; } .floating-intake { display:flex; } }
@media (max-width:640px) { html { scroll-padding-top:88px; } .draft-banner { display:block; padding:8px 14px; font-size:.68rem; text-align:center; } .draft-banner span { display:block; } .hero-copy { padding:34px 0 28px; } .hero h1 { font-size:clamp(2.65rem,11.2vw,3.7rem); margin:18px 0 21px; } .hero .lead { font-size:.98rem; margin-bottom:24px; } .hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:9px; } .hero-actions .btn { font-size:.9rem; padding:12px 17px; }  .hero-doc-note { margin-top:13px; font-size:.79rem; } .hero-note { font-size:.75rem; line-height:1.6; margin-top:14px; } .hero-portrait { height:400px; } .intake-process { padding:58px 0; } .intake-process .section-head { text-align:left; margin-bottom:25px; } .intake-process .section-head h2 { font-size:2.5rem; } .intake-process .section-head h2 br { display:none; } .intake-process .section-head p { font-size:.94rem; } .intake-process .steps { grid-template-columns:1fr; gap:13px; } .intake-process .step { padding:20px 21px 21px 77px; } .intake-process .step .dot { position:absolute; left:21px; top:22px; width:36px; height:36px; margin:0; } .intake-process .step::before { display:none; } .intake-process .step h3 { font-size:.98rem; } .intake-process .step p { font-size:.85rem; } .intake { padding:55px 0; } .intake-intro h2 { font-size:2.85rem; } .intake-layout { gap:27px; } .intake-form-panel { border-radius:17px; padding:21px 17px; } .demo-notice { padding:14px; font-size:.79rem; } .form-grid { grid-template-columns:1fr; gap:17px; } #intake-form legend { margin-bottom:16px; } .field label { font-size:.83rem; } .field small { font-size:.73rem; } .field-foot { gap:10px; } .form-actions { display:grid; grid-template-columns:1fr; gap:5px; } .form-actions .btn { width:100%; } .form-reset { justify-self:center; } .form-feedback { font-size:.82rem; }  footer { padding-bottom:45px; } .section-head h2 { overflow-wrap:break-word; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
.deadline-note { font-size:.8rem; color:#625e5e; line-height:1.6; }
.field label { font-size:.875rem; }
.field small, .form-required { font-size:.78rem; }
.form-privacy { font-size:.8rem; }

/* The shortcut gives way to all form and appointment controls, including the mobile keyboard. */
.floating-intake { max-width:calc(100vw - 28px); text-align:center; }
.floating-intake:focus-visible { outline:3px solid #8b691a; outline-offset:4px; }
.intake-form-panel { scroll-margin-top:calc(var(--intake-header-height, 96px) + 16px); }
@media (max-width:640px) { .nav-links .btn { font-size:.76rem; padding:10px 12px; } }
