/* Shared identity and the patient form redesign, September 2026. */
.proposal-condition, .proposal-form { --teal:#426a63; --teal-dim:#284e48; --teal-soft:#eff6f4; --soft:#66757b; --border:#dce4e5; --paper:#fff; --white:#fff; --bg:#fff; --text:#172b30; --muted:#627076; --navy:#172b30; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav { padding-inline:max(24px,calc((100% - 1320px)/2)) !important; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo { align-items:flex-start; gap:0; padding:0; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo > span { font:400 24px/.95 var(--serif) !important; letter-spacing:-.035em; color:#171918 !important; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo small { margin-top:5px; font:700 8px/1.2 var(--sans); letter-spacing:.2em; color:#626865; }
.proposal-condition { font-weight:400; }
.proposal-condition h1,.proposal-condition h2,.proposal-condition h3 { font-family:var(--serif) !important; font-weight:500 !important; letter-spacing:-.035em; color:#171918; }
.proposal-condition :is(button,.btn-primary,.btn-secondary,.nav-cta,.foundation-links a,.related-links a,.faq-item summary) { font-family:var(--sans) !important; font-weight:600 !important; }
.proposal-condition .foundation-links a { font-size:14px; }
.proposal-condition .section-label { font-weight:700; color:#626e68; }
.proposal-condition :is(.info-card,.faq-item,.credential-card,.doctor-photo-wrap) { border-color:#dce3de !important; box-shadow:none !important; }
.proposal-condition .condition-hero { background:#fff; }
.proposal-condition .condition-hero .hero-grid { max-width:1320px; }
.proposal-condition .auto-hero { padding:20px; border-radius:28px; background:#dcece4; }
.proposal-condition .faq-section { background:#f1f4f2; padding-block:64px; }
.proposal-condition .faq-item { border-radius:16px; background:#fff; padding-inline:24px; }
.proposal-condition .faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; font-size:17px; line-height:1.5; }
.proposal-condition .faq-item summary::-webkit-details-marker { display:none; }
.proposal-condition .faq-item summary::after { content:'+'; font-size:25px; font-weight:400; }
.proposal-condition .faq-item[open] summary::after { content:'−'; }
.proposal-condition .related-links a { background:#f5f7f6; color:#344f47; border:1px solid #dbe5df; border-radius:12px; padding:14px 18px; font-size:15px; }
.proposal-condition .related-links a:hover { background:#e9f1ed; }
.proposal-condition .info-card h2 { margin-bottom:18px; }
.proposal-condition .shared-doctor { padding:80px 24px; background:#f7f5ef; }
.shared-doctor .section-inner { width:100%; max-width:1260px; }
.shared-doctor .section-title { font-size:clamp(36px,4.2vw,56px); max-width:820px; margin-bottom:42px; }
.shared-doctor .doctor-grid { grid-template-columns:minmax(260px,390px) minmax(0,1fr); gap:clamp(36px,6vw,82px); margin:0; }
.shared-doctor .doctor-grid > * { min-width:0; }
.shared-doctor .doctor-photo-wrap { aspect-ratio:4/5; width:100%; max-width:390px; margin:0; border:0 !important; border-radius:24px; }
.shared-doctor .doctor-photo-wrap img { object-position:center top; }
.shared-doctor .doctor-name { display:none; }
.shared-doctor .doctor-title { font:700 13px/1.6 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:#627268; margin:0 0 22px; }
.shared-doctor .doctor-bio { margin:0; font:400 17px/1.78 var(--sans); color:#505753; }
.shared-doctor .doctor-bio strong { font-weight:700; color:#282d2a; }
.shared-doctor .cred-carousel-wrap { margin-top:30px; padding-block:18px; overflow:hidden; border-block:1px solid #daddd7; position:relative; }
.shared-doctor .cred-carousel-track { display:flex; gap:14px; width:max-content; animation:credentials-drift 32s linear infinite; }
.shared-doctor .cred-item { width:280px; flex:0 0 280px; display:flex; gap:12px; padding:18px; border:1px solid #daddd7; border-radius:16px; }
.shared-doctor .cred-icon { width:32px; height:32px; flex-shrink:0; display:grid; place-items:center; border-radius:9px; background:#eaf0e8; }
.shared-doctor .cred-icon svg { width:18px; height:18px; stroke:#536858; }
.shared-doctor .cred-text { font:400 13px/1.55 var(--sans); color:#647169; }
.shared-doctor .cred-text strong { display:block; color:#24332b; font-weight:700; margin-bottom:7px; }
.shared-doctor .stats-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #daddd7; border-radius:16px; margin-top:24px; overflow:hidden; }
.shared-doctor .stat-pill { padding:16px 10px; text-align:center; border-right:1px solid #daddd7; }
.shared-doctor .stat-pill:last-child { border-right:0; }
.shared-doctor .stat-pill-num { font:500 27px/1.2 var(--serif); }
.shared-doctor .stat-pill-label { font:400 12px/1.5 var(--sans); color:#647169; }
.proposal-condition .shared-doctor :is(.cred-item,.stats-row,.stat-pill) { border-color:#daddd7 !important; }
@keyframes credentials-drift { to { transform:translateX(calc(-50% - 7px)); } }
.shared-doctor .cred-carousel-wrap:hover .cred-carousel-track,.shared-doctor .cred-carousel-wrap:focus-within .cred-carousel-track { animation-play-state:paused; }
.credential-pause { display:block; margin:10px 0 0 auto; min-height:44px; padding:8px 12px; border:1px solid #daddd7; background:transparent; color:#536858; border-radius:9px; cursor:pointer; }

/* White canvas, cool neutral answers and restrained green selections. */
.proposal-form { background:#fff !important; --cream:#fff; --coffee:#426a63; --coffee-dark:#284e48; --proposal-copper:#426a63; }
.proposal-form :is(main,.form-container,.card,.proposal-form-rail) { background:#fff !important; }
.proposal-form .proposal-form-rail { color:#172b30; border-right:1px solid #e2e8e7; }
.proposal-form .proposal-rail-intro h2 { color:#172b30; }
.proposal-form :is(.proposal-rail-intro > p,.proposal-rail-intro > span,.proposal-rail-steps small,.proposal-rail-doctor span) { color:#65736f !important; }
.proposal-form .proposal-rail-steps strong,.proposal-form .proposal-rail-doctor strong { color:#253b35 !important; }
.proposal-form .proposal-rail-steps li { opacity:1; }
.proposal-form .proposal-rail-steps i { color:#63736a; border-color:#cbd8d1; background:#fff; }
.proposal-form .proposal-rail-steps .active i,.proposal-form .proposal-rail-steps .complete i { background:#dceee5; color:#244d3d; border-color:#dceee5; }
.proposal-form .proposal-rail-steps li::after { background:#e0e8e4; }
.proposal-form .proposal-rail-doctor { border-color:#e0e8e4; }
.proposal-form .card-title { color:#172b30 !important; font-weight:500 !important; }
.proposal-form :is(.card-sub,.field-hint,.upload-hints,.checkout-note) { color:#64737a !important; }
.proposal-form :is(.field > label,.card-step,.review-intro h3) { color:#445e59 !important; }
.proposal-form :is(input:not([type=checkbox]):not([type=file]),select,textarea) { background:#f9fbfb !important; color:#1e3439 !important; border:1px solid #d8e2e4 !important; border-radius:12px !important; box-shadow:0 1px 2px #172b3004; font-size:16px !important; }
.proposal-form :is(input,select,textarea):focus { border-color:#6b9d96 !important; box-shadow:0 0 0 3px #dff0eb !important; }
.proposal-form :is(.opt,.consult-choice,.patient-owner-option,.access-method-btn) { background:#fff !important; border:1px solid #d8e2e4 !important; border-radius:14px !important; color:#243c40 !important; box-shadow:0 2px 6px #1b393405; transition:background .18s,border-color .18s,box-shadow .18s; }
.proposal-form :is(.opt,.consult-choice):hover { background:#f4f9f7 !important; border-color:#9cbeb4 !important; }
.proposal-form :is(.opt.selected,.consult-choice.selected) { background:#edf7f2 !important; border-color:#528575 !important; box-shadow:0 0 0 1px #528575 !important; }
.proposal-form .opt-key { background:#edf2f3 !important; color:#516c70 !important; border-color:transparent !important; border-radius:8px; }
.proposal-form .opt.selected .opt-key { color:#fff !important; background:#426f60 !important; }
.proposal-form .opt.selected span:not(.opt-key) { color:#24483f !important; }
.proposal-form :is(.btn-next,.btn-checkout,.lang-btn.active) { background:#172c2c !important; color:#fff !important; border-radius:12px !important; box-shadow:none !important; }
.proposal-form .btn-back { border:1px solid #d5dfe0 !important; border-radius:12px !important; color:#3c585a !important; background:#fff !important; }
.proposal-form .btn-checkout { font-size:16px; min-height:56px; }
.proposal-form .review-return { margin:0 0 18px; min-height:44px; padding:12px 18px; }
.proposal-form .lang-btn:not(.active) { color:#526965 !important; }
.proposal-form .welcome-badge { color:#476b61 !important; background:#f1f7f4 !important; border-color:#d7e5dd !important; }
.proposal-form .quick-answer { background:#eef6f3 !important; border:1px solid #cddfd6 !important; color:#3e6658 !important; border-radius:12px !important; }
.proposal-form :is(.opt,.quick-answer,.btn-next,.btn-back,.btn-checkout,.consult-choice strong) { font-weight:600 !important; }
.proposal-form :is(.summary-box,.review-section,.consent-box,.review-intro,.return-notice) { background:#f7faf9 !important; border:1px solid #dce6e2 !important; border-radius:18px !important; }
.proposal-form .summary-box { padding:26px !important; }
.proposal-form .summary-box h3 { color:#2c4840 !important; }
.proposal-form .summary-chk { background:#dfeee6; color:#416d57; }
.proposal-form .summary-list li { color:#4c6260; line-height:1.65; }
.proposal-form .price-row { border-color:#dce6e2; }
.proposal-form .emergency-box { background:#fff8f2 !important; border:1px solid #ecdacc !important; border-radius:18px !important; padding:24px !important; }
.proposal-form .consent-box { padding:24px !important; }
.proposal-form .consent-row { color:#435f61; font-size:14px; line-height:1.7; }
.proposal-form input[type=checkbox] { accent-color:#426f60; width:22px; height:22px; flex-shrink:0; }
.proposal-form .consent-link { color:#315d58; text-decoration:underline; text-underline-offset:3px; }
.proposal-form .file-item { background:#f0f5f5 !important; color:#3f5b61 !important; border:1px solid #dbe5e5; border-radius:12px; }
.proposal-form .file-item { border-color:#dbe5e5 !important; }
.proposal-form .upload-zone strong { color:#24464d !important; }
.proposal-form .upload-icon { background:#eff5f6 !important; color:#345d66 !important; }
.proposal-form .upload-icon svg { stroke:#345d66 !important; }
@property --upload-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.proposal-form .upload-zone { --upload-angle:0deg; position:relative; isolation:isolate; border:2px solid transparent !important; border-radius:20px !important; background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--upload-angle),#75c9ec,#a2a5f4,#ed9fc8,#e9b48d,#93d6c8,#75c9ec) border-box !important; box-shadow:0 0 16px #a2a5f418; animation:upload-aura 6s linear infinite; }
.proposal-form .upload-zone:focus-within,.proposal-form .upload-zone:hover { box-shadow:0 0 0 4px #aed8e51c,0 0 22px #b2a4ed33; }
.proposal-form .upload-zone input[type=file] { z-index:2; cursor:pointer; }
@keyframes upload-aura { to { --upload-angle:360deg; } }
/* White review cards with the upload treatment, moving at a calmer pace. */
.proposal-form #card-10 .review-intro { padding:18px 20px; }
.proposal-form :is(#card-10,#card-11) :is(.review-intro,.review-section,.summary-box,.emergency-box,.consent-box) {
 --upload-angle:0deg;
 border:2px solid transparent !important;
 background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--upload-angle),#75c9ec,#a2a5f4,#ed9fc8,#e9b48d,#93d6c8,#75c9ec) border-box !important;
 box-shadow:0 3px 16px #729aaf0c;
 animation:upload-aura 8s linear infinite;
}
@media(max-width:900px) {
 .shared-doctor .doctor-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .shared-doctor .doctor-photo-wrap { max-width:390px; }
}
@media(max-width:768px) {
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav { padding-inline:17px !important; height:62px !important; min-height:62px !important; }
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo > span { font-size:20px !important; }
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo small { font-size:7px; }
 .proposal-condition .auto-hero { padding:12px; border-radius:22px; }
 .proposal-condition .shared-doctor { padding:48px 17px; }
 .shared-doctor .section-title { margin-bottom:26px; font-size:36px; }
 .shared-doctor .doctor-bio { font-size:15px; }
 .shared-doctor .doctor-photo-wrap { max-width:100%; max-height:440px; }
 .proposal-condition .faq-item { padding-inline:18px; }
 .proposal-condition .faq-item summary { font-size:16px; }
 .proposal-form :is(.summary-box,.emergency-box,.consent-box) { padding:20px !important; }
 .proposal-form #card-9 > .upload-zone { display:flex; flex-direction:column; align-items:center; gap:12px; padding:24px 18px !important; text-align:center; }
 .proposal-form #card-9 > .upload-zone > p { margin:0; width:100%; }
 .proposal-form #card-9 > .upload-zone .upload-hints { margin:0; flex-direction:column; align-items:center; text-align:center; }
 .proposal-form #card-9 > .upload-zone .upload-icon { order:1; width:44px; height:44px; margin:2px auto 0; flex-shrink:0; }
 /* Keep navigation in the card flow: fixed descendants can be trapped by
    card transitions on mobile, covering answers and reserving empty space. */
 .proposal-form { min-height:100dvh; }
 .proposal-form > main { padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important; }
 .proposal-form .form-container { padding-bottom:0 !important; }
 .proposal-form .card { padding-bottom:0 !important; }
 .proposal-form .card-nav {
   position:static; inset:auto; margin:24px 0 0; padding:0;
   background:#fff !important; border:0 !important;
   box-shadow:none; backdrop-filter:none;
 }
}
@media(prefers-reduced-motion:reduce) {
 .proposal-form .upload-zone,.shared-doctor .cred-carousel-track { animation:none !important; }
 .proposal-form :is(#card-10,#card-11) :is(.review-intro,.review-section,.summary-box,.emergency-box,.consent-box) { animation:none !important; }
 .shared-doctor .cred-carousel-wrap { overflow-x:auto; }
 .credential-pause { display:none; }
}
