@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b37;--emerald:#007d65;--paper:#f5f7f4;--muted:#63736f;--line:#dce4df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5}button,select,input,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #19a984;outline-offset:4px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(32px,3.4vw,49px);line-height:1.16;letter-spacing:-2px;font-weight:800;margin:20px 0}h1 em{font-style:normal;color:var(--emerald);font-weight:500}h3{font-size:17px;line-height:1.4}button{color:inherit}.app-header{height:88px;background:#092b32;display:flex;align-items:center;justify-content:space-between;padding:0 4%;color:white}.app-header img{width:134px;filter:brightness(0) invert(1)}.header-label{font-size:10px;letter-spacing:2px;color:#c5d8d3}.chat-link{font-size:13px;text-decoration:none;border:1px solid #53716f;border-radius:30px;padding:10px 18px}.chat-link span{margin-left:18px}.app-layout{max-width:1540px;margin:auto;display:grid;grid-template-columns:230px minmax(0,1fr) 310px;gap:48px;padding:42px 4% 140px}.journey-nav{position:sticky;top:35px;align-self:start}.nav-intro{font-size:13px;line-height:1.8;margin:8px 0 38px;color:var(--muted)}.nav-intro strong{font-weight:600;color:var(--navy)}#progress{display:flex;flex-direction:column;gap:8px}#progress button{background:transparent;border:0;display:flex;align-items:center;gap:14px;text-align:left;padding:11px 8px;border-radius:8px;font-size:13px}#progress button span{border:1px solid #d4ded7;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;font-size:10px}#progress button:disabled{color:#86918d}#progress button.active{background:#e2eee6;color:#006b56;font-weight:700}#progress button.active span{background:#007d65;border-color:#007d65;color:white}#progress button.done span{background:#d9ebe2;border-color:#d9ebe2;color:#007d65}.nav-bottom{font-size:11px;color:var(--muted);margin-top:52px;line-height:1.7}.nav-bottom p{font-size:11px;max-width:190px;margin:12px 0 20px}.online-dot{width:6px;height:6px;border-radius:50%;background:#00876f;display:inline-block;margin-right:6px}#flow{max-width:650px;width:100%;outline:none}.step-caption{font-size:11px;color:#58776b;display:flex;gap:16px;align-items:center;letter-spacing:1px;margin-bottom:30px}.step-caption span{font-size:11px;color:#6d7c75;border-left:1px solid #cad8ce;padding-left:16px;letter-spacing:0}.welcome-tag,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#007d65}.intro{color:#596c65;font-size:15px;line-height:1.75;max-width:540px;margin:0 0 25px}.time-note{font-size:11px;color:#63766b;display:flex;gap:10px;margin:22px 0}.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.form-card label{display:block;font-size:12px;font-weight:700;margin:19px 0 8px}.form-card label:first-child{margin-top:0}select{width:100%;padding:13px 34px 13px 12px;color:var(--navy);background:#f8faf7;border:1px solid #d6e0d8;border-radius:7px;min-height:46px;font-size:13px}.error{color:#a22626;font-size:12px;margin-bottom:0}.companion{align-self:start;position:sticky;top:30px}.companion-photo{position:relative;border-radius:15px;overflow:hidden;height:245px;background:#17443c}.companion-photo>img{width:100%;height:100%;object-fit:cover}.companion-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#051e2be8)}.companion-photo>div{position:absolute;bottom:22px;left:24px;z-index:1;color:white}.companion-photo span{font-size:8px;letter-spacing:2px}.companion-photo h2{font-size:26px;line-height:1.2;font-weight:500;margin:8px 0 0}.companion-photo img.logo-photo{object-fit:contain;padding:50px}.companion-plan{border:1px solid var(--line);background:white;border-radius:12px;padding:22px;margin-top:18px}.companion-plan h3{font-size:14px;margin:13px 0 6px}.companion-plan p{font-size:12px;color:#687b71;margin:4px 0 15px}.mini-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e4eae5;padding-top:15px;font-size:12px}.mini-total strong{font-size:22px;color:#007d65}.companion-plan .separate{margin:12px 0 0;font-size:11px}.review-snippet{padding:22px 8px}.quote{font-family:Georgia;font-size:43px;line-height:.8;color:#007d65}.review-snippet p{font-size:12px;line-height:1.8;margin:7px 0 14px}.review-snippet small{display:block;color:#6f7e76;font-size:9px}.review-snippet a{font-size:10px;display:block;margin-top:13px;color:#007d65}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(10px);border-top:1px solid #dce4df;z-index:5;padding:16px 4%}.bar-inner{display:flex;gap:24px;align-items:center;max-width:1160px;margin:auto}.back{background:transparent;border:0;padding:12px 0;font-size:13px}.back:disabled{visibility:hidden}.bar-total{margin-left:auto;display:flex;flex-direction:column}.bar-total small{font-size:10px;color:#687970}.bar-total strong{font-size:20px;line-height:1.2}.primary{background:#007d65;color:white;border:0;border-radius:7px;font-size:13px;font-weight:700;min-height:50px;padding:15px 28px}.primary:hover{background:#00634f}.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:30px 0}.goal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 18px;border:1px solid #d5e1d8;border-radius:10px;background:white;text-align:left;font-size:13px;min-height:79px}.goal b{font-size:19px;color:#729183;font-weight:400}.goal.selected,.extra.selected,.future.selected{border-color:#00876f;background:#e9f4ed;box-shadow:inset 0 0 0 1px #00876f}.goal.selected b{color:#007d65}.quiet-note{font-size:12px;line-height:1.7;padding:17px 20px;border-left:3px solid #00876f;background:#e7efe7;border-radius:0 7px 7px 0;margin:20px 0}.placement{display:grid;grid-template-columns:110px 1fr;gap:20px;background:#e3eee7;padding:22px;border-radius:12px;margin-bottom:22px}.placement-visual{display:flex;gap:6px;align-items:center;justify-content:center}.placement-visual span{display:grid;place-items:center;width:42px;height:65px;background:#087a63;border-radius:22px;color:white;font-size:12px;box-shadow:0 0 0 4px #c4dfd0}.placement h3{margin:0 0 8px;font-size:15px}.placement p{font-size:12px;line-height:1.7;margin:0 0 7px}.placement small{font-size:9px;color:#627d6c}.learn-actions{display:grid;gap:10px;margin:20px 0}.learn-actions>button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:16px;background:white}.learn-actions strong,.learn-actions small{display:block}.learn-actions strong{font-size:13px}.learn-actions small{font-size:11px;color:var(--muted);margin-top:4px}.learn-actions b{margin-left:auto}.icon-tile{background:#e5f1e9;color:#007d65;display:grid;place-items:center;width:42px;height:42px;border-radius:8px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:13px;font-weight:600}details p{font-size:12px;line-height:1.8;color:#596d61}.extra-list{display:grid;gap:11px}.extra{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);padding:18px;border-radius:10px;background:white;width:100%}.extra-check{width:25px;height:25px;border:1px solid #b6c9bd;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#007d65}.extra.selected .extra-check{background:#007d65;color:white;border-color:#007d65}.extra-name{flex:1}.extra-name strong{display:block;font-size:13px;font-weight:600}.extra-name small{font-size:10px;display:block;color:#698071;margin-top:4px}.price{font-size:15px;color:#006a54;white-space:nowrap}.fine{font-size:11px;line-height:1.8;color:#6b7e71;margin-top:22px}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.future{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;text-align:left}.future>div{display:flex;justify-content:space-between;gap:6px}.tag{font-size:8px;letter-spacing:1px;color:#648270}.future h3{font-size:17px;margin:15px 0}.future p{font-size:11px;line-height:1.8;color:#64766b}.future>strong{font-size:24px}.future small{font-size:9px;font-weight:400}.future.skip{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.future.skip strong{font-size:13px}.future.skip span{font-size:10px;color:#657e6c}.summary-card{background:white;border:1px solid var(--line);border-radius:14px;padding:25px}.summary-title{font-size:10px;letter-spacing:1px;color:#65816f;display:flex;justify-content:space-between;align-items:center;margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.summary-title:first-child{border:0;margin:0;padding:0}.summary-title button{border:0;background:none;color:#007d65;font-size:11px;text-decoration:underline}.summary-card h3{font-size:17px;margin:15px 0 7px}.summary-card p{font-size:12px;color:#667b6d}.cost-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:17px}.cost-total{font-size:14px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.cost-total strong{font-size:23px;color:#007d65}.summary-card>small{font-size:10px;color:#6e8071}.handover-note{display:flex;align-items:center;gap:18px;margin-top:22px;padding:18px;border-radius:10px;background:#e5f0e8}.handover-note>span{font-size:25px;color:#00876f}.handover-note p{font-size:12px;line-height:1.7;margin:0}.text-button{border:0;background:transparent;padding:18px 0;font-size:12px;text-decoration:underline;color:#007d65}#copy-status{font-size:12px}textarea{width:100%;height:180px}dialog{border:0;border-radius:14px;width:min(900px,94vw);max-height:90vh;padding:24px;color:var(--navy);background:#f5f7f4}dialog::backdrop{background:#071d28de}#close-media{display:block;margin-left:auto;border:0;border-radius:7px;padding:10px 18px;background:#007d65;color:white}dialog h2{font-size:25px}dialog p{font-size:12px}.modal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-gallery img{width:100%;object-fit:contain;background:#252b39;border-radius:8px}dialog iframe{width:100%;aspect-ratio:16/9;border:0;margin-bottom:18px}dialog a{font-size:12px;color:#007d65}
@media(min-width:1500px){.app-layout{gap:65px;grid-template-columns:230px minmax(0,1fr) 330px}}
@media(max-width:1150px){.app-layout{grid-template-columns:170px minmax(0,1fr) 250px;gap:28px;padding:30px 3% 130px}.companion-photo{height:215px}#progress button{font-size:11px;gap:8px}.nav-intro{font-size:11px}.companion-plan{padding:17px}h1{font-size:39px}}
@media(max-width:900px){.app-layout{grid-template-columns:155px minmax(0,1fr);gap:30px;max-width:820px}.companion{display:none}#flow{max-width:none}.header-label{display:none}.app-header{height:76px}.app-header img{width:120px}.bar-inner{max-width:750px}}
@media(max-width:600px){.app-header{height:66px;padding:0 20px}.app-header img{width:105px}.chat-link{font-size:11px;padding:8px 12px}.chat-link span{margin-left:8px}.app-layout{display:block;padding:18px 22px 125px}.journey-nav{position:static}.nav-intro,.nav-bottom{display:none}#progress{flex-direction:row;gap:5px;margin:0 0 24px}#progress button{font-size:0;padding:0;height:4px;flex:1;border-radius:3px;background:#d7e3d8}#progress button span{display:none}#progress button.active,#progress button.done{background:#00876f}.step-caption{margin-bottom:22px;font-size:10px}.welcome-tag{font-size:9px}h1{font-size:35px;letter-spacing:-1.4px;margin:14px 0 18px}.intro{font-size:14px;line-height:1.7;margin-bottom:20px}.time-note{margin:17px 0}.form-card{padding:20px}.form-card label{font-size:12px}select{font-size:16px}.bottom-bar{padding:13px 18px calc(13px + env(safe-area-inset-bottom))}.bar-inner{gap:13px}.back{font-size:18px}.back span{display:none}.bar-total{margin-left:0;min-width:48px}.bar-total small{font-size:8px;white-space:nowrap}.bar-total strong{font-size:18px}.primary{flex:1;font-size:11px;padding:14px 13px;min-height:48px}.goal-grid{gap:10px;margin:23px 0}.goal{padding:18px 13px;min-height:74px;font-size:12px}.quiet-note{padding:15px;font-size:11px}.placement{grid-template-columns:72px 1fr;padding:18px;gap:16px}.placement-visual span{width:29px;height:50px}.placement h3{font-size:14px}.placement p{font-size:11px}.extra{padding:16px 13px;gap:10px}.extra-name strong{font-size:12px}.extra-name small{font-size:9px}.price{font-size:14px}.future-grid{grid-template-columns:1fr}.future.skip{display:block}.future.skip span{display:block;margin-top:6px}.future{padding:20px}.future h3{margin:10px 0}.future p{font-size:12px}.summary-card{padding:20px}.summary-card h3{font-size:15px}.cost-row{font-size:12px}.cost-total{font-size:13px}.cost-total strong{font-size:21px}.modal-gallery{grid-template-columns:1fr}dialog{padding:17px}dialog h2{font-size:22px}}
@media(prefers-reduced-motion:no-preference){#flow{animation:arrive .22s ease-out}@keyframes arrive{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}}
