:root{--ink:#1d2a2a;--muted:#667472;--cream:#f7f3eb;--paper:#fffdfa;--line:#e7ded0;--terracotta:#b55539;--wine:#813c31;--sage:#789184;--gold:#b58b43;--shadow:0 18px 60px rgba(54,42,27,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}.page-glow{position:fixed;border-radius:50%;filter:blur(4px);pointer-events:none;z-index:-1}.glow-one{width:500px;height:500px;top:-270px;right:-160px;background:#e7c9a9;opacity:.36}.glow-two{width:420px;height:420px;bottom:-250px;left:-160px;background:#bad0bb;opacity:.35}.shell{width:min(100% - 40px,840px);margin:auto;padding:28px 0 60px}.site-header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.site-header p{margin:0}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;letter-spacing:.1em;text-decoration:none}.brand em{font-family:"Playfair Display",serif;font-weight:600}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--terracotta);border-radius:50%;color:var(--terracotta);font-family:"Playfair Display",serif;font-size:.73rem;letter-spacing:0}.intro{text-align:center;padding:82px 10px 46px}.eyebrow{margin:0 0 8px;color:var(--terracotta);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.intro h1,.result h1,.loading-card h2{font-family:"Playfair Display",serif;line-height:1.06;letter-spacing:-.035em}.intro h1{margin:0;font-size:clamp(2.6rem,7vw,4.5rem);font-weight:600}.intro h1 i{color:var(--terracotta);font-style:italic}.intro>p:last-child{max-width:510px;margin:20px auto 0;color:var(--muted);font-size:1.1rem}.form-card{padding:clamp(25px,5vw,48px);background:rgba(255,253,250,.83);border:1px solid rgba(231,222,208,.9);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.progress-area{display:grid;gap:17px;margin-bottom:38px}.step-label{margin:0;color:var(--terracotta);font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.progress-area h2{margin:3px 0 0;font-family:"Playfair Display",serif;font-size:1.75rem;font-weight:600}.progress-track{height:4px;background:#ebe4d8;border-radius:99px;overflow:hidden}.progress-track span{display:block;width:14.28%;height:100%;background:var(--terracotta);border-radius:inherit;transition:width .3s}.question{border:0;margin:0 0 32px;padding:0}.question:last-child{margin-bottom:0}.question legend{margin-bottom:14px;font-size:1.08rem;font-weight:600;line-height:1.35}.question small{display:block;margin:-6px 0 14px;color:var(--muted)}.options{display:grid;gap:10px}.option{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:.18s}.option:hover{border-color:#c5a18e}.option input{position:absolute;opacity:0}.radio-mark{display:grid;flex:0 0 18px;place-items:center;width:18px;height:18px;border:1.5px solid #b8aea1;border-radius:50%}.option input:checked+.radio-mark{border-color:var(--terracotta)}.option input:checked+.radio-mark:after{width:9px;height:9px;border-radius:50%;background:var(--terracotta);content:""}.option:has(input:checked){border-color:var(--terracotta);background:#fff9f6}.choices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choices-grid .option{font-size:.92rem}.checkbox-mark{border-radius:4px}.option input:checked+.checkbox-mark:after{width:8px;height:5px;margin-top:-2px;border-bottom:2px solid var(--terracotta);border-left:2px solid var(--terracotta);transform:rotate(-45deg);background:none;border-radius:0}.text-input,.textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit;outline:none}.textarea{min-height:112px;resize:vertical}.text-input:focus,.textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(181,85,57,.11)}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:40px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--terracotta);border-radius:8px;padding:13px 20px;background:var(--terracotta);color:#fff;font:600 .94rem "DM Sans",sans-serif;cursor:pointer;transition:.2s}.button:hover{background:var(--wine);border-color:var(--wine);transform:translateY(-1px)}.button-ghost{background:transparent;color:var(--terracotta)}.button-ghost:hover{background:#fff5ef;color:var(--wine)}.is-hidden{display:none!important}.disclaimer{max-width:670px;margin:24px auto 0;color:#78817e;text-align:center;font-size:.78rem}.modal{position:fixed;z-index:3;inset:0;display:grid;place-items:center;padding:24px;background:rgba(26,35,33,.5);overflow:auto}.modal-card,.loading-card{position:relative;width:min(100%,700px);max-height:calc(100vh - 48px);overflow:auto;border-radius:18px;background:var(--paper);padding:clamp(27px,5vw,48px);box-shadow:0 20px 80px rgba(0,0,0,.25)}.close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:var(--muted);font-size:2rem;cursor:pointer}.modal-card h2{margin:0;font-family:"Playfair Display",serif;font-size:2rem}.modal-lead{margin:8px 0 24px;color:var(--muted)}.review-content{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.review-item{padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.review-item small{display:block;color:var(--terracotta);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.review-item span{display:block;margin-top:3px;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.loading-card{text-align:center;max-width:430px}.loading-card h2{margin:0;font-size:1.9rem}.loading-card p:last-child{color:var(--muted)}.loader{width:45px;height:45px;margin:0 auto 22px;border:3px solid #e9ddd1;border-top-color:var(--terracotta);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result{width:min(100% - 40px,960px);margin:0 auto;padding:54px 0 80px}.result-header{padding:20px 0 42px;text-align:center}.result h1{margin:0;font-size:clamp(2.5rem,6vw,4.1rem);font-weight:600}.result h1 i{color:var(--terracotta)}.result-subtitle{max-width:630px;margin:17px auto 0;color:var(--muted)}.diagnosis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.diagnosis-section{padding:29px;background:rgba(255,253,250,.9);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(63,48,29,.06)}.diagnosis-section.wide{grid-column:1/-1}.diagnosis-section h2{margin:0 0 12px;color:var(--wine);font-family:"Playfair Display",serif;font-size:1.42rem;line-height:1.2}.diagnosis-section p{margin:0;color:#42504d}.phase{display:inline-block;margin-bottom:12px;border-radius:99px;padding:5px 11px;background:#f5e5dc;color:var(--wine);font-size:.79rem;font-weight:700}.priority-list,.steps-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.priority-list li,.steps-list li{padding-left:35px;position:relative}.priority-list strong,.steps-list strong{display:block;color:var(--ink)}.priority-list li:before,.steps-list li:before{position:absolute;left:0;top:2px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--terracotta);color:#fff;font-size:.75rem;font-weight:700;content:counter(item)}.priority-list,.steps-list{counter-reset:item}.priority-list li,.steps-list li{counter-increment:item}.place-list{display:grid;gap:12px}.place-list div{padding:13px;border-left:3px solid var(--gold);background:#fffaf3}.place-list strong{display:block;color:var(--ink)}.plan-box{border-color:#c9b9a0;background:#f5eee3}.plan-box dl{display:grid;grid-template-columns:180px 1fr;gap:9px 20px;margin:0}.plan-box dt{font-size:.82rem;font-weight:700;color:var(--wine)}.plan-box dd{margin:0}.attention-list{margin:0;padding-left:20px}.attention-list li+li{margin-top:8px}.final-note{margin:30px auto 0;max-width:780px;color:var(--muted);font-size:.83rem;text-align:center}.restart{margin:36px auto 0;display:flex}@media(max-width:620px){.shell,.result{width:min(100% - 28px,960px)}.site-header p{display:none}.intro{padding:57px 4px 34px}.form-card{padding:24px 20px}.choices-grid,.review-content,.diagnosis-grid{grid-template-columns:1fr}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions .button{width:100%}.plan-box dl{grid-template-columns:1fr;gap:3px}.plan-box dd{margin-bottom:8px}.result{padding-top:30px}.diagnosis-section.wide{grid-column:auto}}

/* V2 */
.before-start{max-width:720px;margin:0 auto;padding:clamp(28px,5vw,52px);background:rgba(255,253,250,.9);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.before-start h2{margin:0 0 18px;font:600 clamp(1.85rem,4vw,2.6rem)/1.15 "Playfair Display",serif}.before-start p{margin:0 0 14px;color:#42504d}.before-start .time-estimate{margin:25px 0;font-weight:700;color:var(--wine)}.intro>p:last-child{max-width:510px;margin:20px auto 0;color:var(--muted);font-size:1.1rem}.optional-label{display:inline!important;margin:0 0 0 8px!important;color:var(--muted)!important;font-size:.72rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}.help-toggle{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:8px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--terracotta);font:600 1rem/1 sans-serif;vertical-align:middle;cursor:pointer}.help-toggle:hover,.help-toggle[aria-expanded=true]{background:#f5e5dc}.help-text{margin:2px 0 13px!important;padding:10px 12px;border-left:3px solid var(--gold);background:#fffaf3;color:#52605d!important;font-size:.86rem!important;font-weight:400!important;line-height:1.5!important}.confirmation{display:flex;gap:11px;align-items:flex-start;margin-top:25px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fffaf3;color:#42504d;font-size:.86rem;line-height:1.45}.confirmation input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--terracotta);flex:0 0 auto}.button:disabled{cursor:not-allowed;opacity:.48;transform:none}.processing-track{height:8px;margin-top:24px;overflow:hidden;border-radius:99px;background:#e9ddd1}.processing-track span{display:block;width:0;height:100%;border-radius:inherit;background:#b55539;transition:width .35s ease}.processing-percent{margin:8px 0 0!important;color:var(--terracotta)!important;font-size:.78rem!important;font-weight:700}.moment-card{border-color:#d8c3b4;background:#fff8f3}.documentation-section{background:#fffdfa}.document-block{padding:16px 0;border-top:1px solid var(--line)}.document-block:first-child{padding-top:0;border-top:0}.document-block h3,.benefit-box h3,.source-group h3,.city-card h3,.next-card h3{margin:0 0 6px;color:var(--ink);font-size:1rem}.current-source-note{margin:18px 0 0!important;padding:10px 12px;border-radius:8px;background:#eef5ef;color:#426250!important;font-size:.84rem}.benefit-box{margin-top:18px;padding:16px;border-radius:10px;background:#f3f7f2;border:1px solid #dbe7dc}.benefit-box p{margin:0 0 12px}.benefit-box small{color:var(--muted)}.places-section{background:#fbf6ef}.city-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.city-card{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.city-card h3{font-family:"Playfair Display",serif;color:var(--wine);font-size:1.25rem}.city-card p{margin:0 0 14px}.city-card div+div{margin-top:12px}.city-card ul{margin:5px 0 0;padding-left:18px;font-size:.9rem}.section-intro{margin-bottom:18px!important}.next-cards{display:grid;gap:12px}.next-card{position:relative;padding:18px 18px 18px 22px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;background:#fff}.next-card.urgent{border-left-color:var(--terracotta);background:#fff8f3}.next-card>span{display:block;margin-bottom:7px;color:var(--terracotta);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.next-card p{margin:11px 0 0}.source-group{margin-top:17px}.source-group h3{color:var(--wine);font-family:"Playfair Display",serif}.source-group a{display:block;margin:7px 0;color:var(--terracotta);font-size:.91rem;text-decoration:none}.source-group a:hover{text-decoration:underline}.consultation{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);gap:0;overflow:hidden;margin-top:28px;border:1px solid #d7c5ad;border-radius:16px;background:#263531;color:#f8f5ee;box-shadow:var(--shadow)}.consultation-image{min-height:370px;background:#d9cfbf}.consultation-image img{display:block;width:100%;height:100%;object-fit:cover}.consultation-image.image-unavailable{display:none}.consultation-copy{padding:clamp(27px,5vw,52px)}.consultation .eyebrow{color:#e8b492}.consultation h2{margin:0;color:#fff;font:600 clamp(1.7rem,3vw,2.35rem)/1.12 "Playfair Display",serif}.consultation h3{margin:20px 0 10px;color:#fff;font-size:1.1rem}.consultation p{margin:0 0 13px;color:#dce5de}.consultation .button{margin-top:10px;border-color:#e2a27d;background:#d37b57;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em}.consultation .button:hover{background:#e2936d}.consultation .button-disabled{pointer-events:none;opacity:.7}.final-note{padding-bottom:20px}.result a{overflow-wrap:anywhere}@media(max-width:620px){.before-start{padding:25px 20px}.consultation{grid-template-columns:1fr}.consultation-image{min-height:310px}.consultation-copy{padding:29px 23px}.city-cards{grid-template-columns:1fr}.next-card{padding:17px}.help-toggle{width:22px;height:22px}.confirmation{font-size:.82rem}}
