:root{color-scheme:light dark;--canvas:#fff;--ink:#191520;--muted:#64606d;--line:#dedbe5;--wash:#f4f1fb;--accent:#5124b4;--on:#fff;--panel:#211332;--panel-text:#f9f6ff;--focus:#9059ef;--r:8px;--space:24px;--journey-surface:#faf8fe;--footer-bg:#211332;--footer-ink:#f9f6ff;--footer-muted:#c9bdd6;--footer-line:#594666;--footer-accent:#e5bb62}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 'Segoe UI',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button{transition:background .18s,color .18s,transform .18s}header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font:29px Georgia,serif;border:0;background:none;color:var(--ink);padding:0;text-align:left}.brand span{color:var(--accent);font-weight:bold;font-size:40px}.header-right{display:flex;align-items:center;gap:28px}.demo,.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:650;color:var(--muted)}.quiet,.back,.text-button{background:none;border:0;color:var(--ink);min-height:44px;padding:8px 0}.quiet{border-bottom:1px solid var(--ink)}main{max-width:1320px;margin:auto;padding:64px 5% 70px;min-height:76vh}h1,h2,p{margin-top:0}h1{font:clamp(40px,5.1vw,70px)/1.07 Georgia,serif;letter-spacing:-.04em;max-width:780px;margin-bottom:24px}h2{font:clamp(31px,3.3vw,44px)/1.15 Georgia,serif;letter-spacing:-.025em;margin-bottom:22px}h3{font-size:19px;line-height:1.3}.lead{font-size:19px;color:var(--muted);max-width:590px;line-height:1.6}.eyebrow{color:var(--accent);margin-bottom:20px}.intro{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end;margin-bottom:46px}.aside-intro{border-left:1px solid var(--line);padding-left:28px;margin-bottom:18px;color:var(--muted)}.aside-intro strong{display:block;color:var(--ink);font-size:24px;margin-bottom:8px}/* Five equal editorial rows keep every journey in the same reading path. */
.journey-heading{display:flex;align-items:end;justify-content:space-between;gap:24px 48px;margin:0 0 28px}
.journey-heading h2{font:clamp(30px,3vw,40px)/1.15 Georgia,serif;letter-spacing:-.025em;margin:0}
.journey-heading p{font-size:14px;line-height:1.6;color:var(--muted);max-width:340px;margin:0}
.journeys{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line)}
.journey{position:relative;display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,2.2fr) auto;align-items:center;gap:32px;width:100%;min-height:128px;padding:24px;border:0;border-bottom:1px solid var(--line);background:var(--journey-surface);color:var(--ink);text-align:left;transition:background .18s}
.journey::before{content:"";position:absolute;inset:20px auto 20px 0;width:3px;background:var(--accent);opacity:0;transition:opacity .18s}
.journey:hover,.journey:focus-visible{background:var(--wash)}
.journey:hover::before,.journey:focus-visible::before{opacity:1}
.journey:focus-visible{outline-offset:3px;z-index:1}
.journey-index{display:flex;flex-direction:column;gap:10px;align-self:center}
.journey .num{font:14px/1 'Segoe UI',Arial,sans-serif;color:var(--accent);font-variant-numeric:tabular-nums}
.journey-category{font-size:12px;line-height:1.4;font-weight:600;color:var(--muted)}
.journey-copy{display:flex;flex-direction:column;gap:10px;min-width:0}
.journey strong{font:clamp(23px,2.2vw,30px)/1.2 Georgia,serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.journey small{font-size:14px;line-height:1.6;color:var(--muted)}
.journey-start{display:flex;align-items:center;justify-content:flex-end;gap:16px;color:var(--accent);font-size:13px;font-weight:600;line-height:1.4}
.journey-direction{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:21px;font-weight:400;transition:background .18s,color .18s,border-color .18s}
.journey:hover .journey-direction,.journey:focus-visible .journey-direction{background:var(--accent);color:var(--on);border-color:var(--accent)}
.journey:active .journey-direction{transform:scale(.96)}
.under{display:flex;justify-content:space-between;gap:25px;color:var(--muted);margin-top:26px;font-size:14px}.question-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:70px}.progress-line{display:flex;gap:8px;margin:12px 0 30px}.progress-line i{height:4px;flex:1;background:var(--line)}.progress-line i.done{background:var(--accent)}.question-title{max-width:720px}.options{display:grid;gap:10px;margin:25px 0}.option{display:flex;text-align:left;align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--canvas);color:var(--ink);min-height:60px}.option:hover{border-color:var(--accent);background:var(--wash)}.option[aria-pressed=true]{border-color:var(--accent);background:var(--wash)}.radio{border:1px solid var(--muted);height:19px;width:19px;flex:0 0 19px;border-radius:50%;display:grid;place-items:center;font-size:12px}.option[aria-pressed=true] .radio{background:var(--accent);border-color:var(--accent);color:var(--on)}.controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}.primary{background:var(--accent);color:var(--on);border:1px solid var(--accent);border-radius:5px;padding:14px 23px;min-height:50px;font-weight:600}.primary:hover{filter:brightness(1.1)}.primary:disabled{opacity:.4;cursor:not-allowed}.context{background:var(--panel);color:var(--panel-text);padding:36px;border-radius:var(--r);align-self:start;margin-top:14px}.context .eyebrow{color:#cbb4ff}.context h3{font:30px/1.2 Georgia,serif;margin-top:26px}.context p{color:#d7cde2}.context .rule{border-top:1px solid #594666;padding-top:24px;margin-top:32px}.context ul{padding-left:18px;color:#d7cde2}.context li{padding-bottom:12px}.note{font-size:13px;color:var(--muted)}.result-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;margin-top:36px}.finding{border-left:3px solid var(--accent);padding:0 0 0 24px;margin:30px 0}.finding p{font-size:18px}.summary{border-top:1px solid var(--line);margin-top:40px}.summary-row{padding:19px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px}.summary-row small{display:block;color:var(--muted);margin-bottom:4px}.summary-row button{color:var(--accent)}.result-step{margin-bottom:24px}.result-step small{color:var(--accent);font-weight:bold}.result-step p{margin:5px 0}.appointment{max-width:760px}.slots{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.slots .option{min-width:130px}.booking-notice{background:var(--wash);border-left:3px solid var(--accent);padding:20px;margin:25px 0}.success{border:1px solid var(--line);padding:30px;border-radius:var(--r)}.skip{position:absolute;top:-100px}.skip:focus{top:8px;background:var(--canvas);padding:10px;z-index:10}.appear{animation:enter .24s ease-out}@keyframes enter{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){:root{--canvas:#17131d;--journey-surface:#1d1727;--ink:#f4eefb;--muted:#bdb3c7;--line:#473d50;--wash:#2c203d;--accent:#bd9aff;--on:#211332;--panel:#251635;--focus:#d2b7ff}}@media(max-width:950px){.question-layout{gap:30px}.journey{grid-template-columns:minmax(110px,.6fr) minmax(0,2fr) auto;gap:24px;padding:26px 20px}.journey-start>span:first-child{max-width:65px}.intro{grid-template-columns:1fr}.aside-intro{display:none}.result-grid{gap:30px}}@media(max-width:680px){main{padding:38px 6%}.brand{font-size:21px}.header-right{gap:12px}.demo{display:none}header{padding:16px 6%}.quiet{font-size:13px}.question-layout,.result-grid{grid-template-columns:1fr;gap:30px}.context{padding:26px}.question-layout .context{margin-top:6px}.journey-heading{align-items:flex-start;flex-direction:column;gap:12px}.journey-heading h2{font-size:32px}.journey-heading p{font-size:14px}.journey{grid-template-columns:minmax(0,1fr) auto;gap:18px 16px;padding:24px 18px;min-height:0}.journey-index{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px}.journey-category{font-size:12px}.journey-copy{grid-column:1/-1}.journey strong{font-size:27px}.journey-start{grid-column:1/-1;justify-content:space-between}.journey-start>span:first-child{max-width:none}.journey-direction{width:40px;height:40px;flex-basis:40px}.journey::before{inset:20px auto 20px 0}.under{flex-direction:column;gap:8px}.lead{font-size:17px}.intro{margin-bottom:25px}.option{padding:15px}.controls .primary{padding:14px 18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}} 

.booking-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:13px 22px;border:1px solid #a37a29;border-radius:6px;background:#e5bb62;color:#241a09;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 3px 0 #8f691e;transition:background .18s,transform .18s}.booking-cta:hover{background:#f0cd83;transform:translateY(-1px)}.booking-cta:active{transform:translateY(1px);box-shadow:0 1px 0 #8f691e}.hero-booking{display:flex;align-items:center;gap:20px;margin:26px 0 8px}.hero-booking>span{font-size:13px;color:var(--muted);line-height:1.5}@media(max-width:680px){.header-right .booking-cta{font-size:13px;min-height:44px;padding:10px 13px;gap:8px}.hero-booking{align-items:flex-start;flex-direction:column;gap:14px}.brand{max-width:135px;line-height:1.15}}

.contact-section{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.contact-section h2{font-size:34px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.contact-grid label{font-size:14px;font-weight:600}.contact-grid input,.contact-grid select{display:block;width:100%;margin-top:7px;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--canvas);color:var(--ink);font:inherit}.contact-grid select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--muted);margin:24px 0}.consent input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}.consent a{color:var(--accent)}.honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#contact-status{font-size:14px;margin-top:16px}@media(max-width:680px){.contact-grid{grid-template-columns:1fr}}

/* Company footer: identity, journey navigation, contact, then utility links. */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);border-top:1px solid var(--footer-line)}
.footer-inner{max-width:1320px;margin:auto;padding:64px 5% 20px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-bottom:48px}
.footer-brand{display:inline-block;font:clamp(26px,2.3vw,32px)/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--footer-ink);text-decoration:none;margin-bottom:24px}
.footer-brand span{color:var(--footer-accent)}
.footer-position{overflow-wrap:anywhere;font:clamp(24px,2.2vw,30px)/1.25 Georgia,serif;letter-spacing:-.015em;margin-bottom:16px}
.footer-description{max-width:350px;color:var(--footer-muted);font-size:15px;line-height:1.7;margin-bottom:20px}
.footer-experience{font-size:13px;color:var(--footer-muted);margin:0}
.footer-label{font:650 12px/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--footer-muted);margin:4px 0 20px}
.footer-journeys ul{list-style:none;margin:0;padding:0}
.footer-journeys button,.footer-utility button{display:inline-flex;align-items:center;text-align:left;border:0;background:none;color:var(--footer-ink);font:inherit;min-height:44px;padding:8px 0}
.footer-journeys button{font-size:15px}
.footer-contact>p:not(.footer-booking-note){font-size:17px;line-height:1.6;margin-bottom:24px}
.footer-contact .booking-cta{box-shadow:none;max-width:100%;white-space:normal}
.footer-booking-note{font-size:13px;color:var(--footer-muted);margin:12px 0 20px}
.footer-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;font-size:15px;color:var(--footer-ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--footer-line)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:20px;border-top:1px solid var(--footer-line);font-size:12px;color:var(--footer-muted)}
.footer-bottom p{margin:0}
.footer-utility{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.footer-utility a{display:inline-flex;align-items:center;min-height:44px;color:var(--footer-muted);text-decoration:none}
.footer-utility button{font-size:12px;color:var(--footer-muted);gap:10px}
.site-footer a:hover:not(.booking-cta),.footer-journeys button:hover,.footer-utility button:hover{color:var(--footer-accent);text-decoration:underline;text-underline-offset:5px}
.site-footer :is(a,button):focus-visible{outline-color:var(--footer-accent)}
@media(max-width:950px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.footer-brand,.footer-position{grid-column:1}.footer-description{grid-column:2;grid-row:1/3;align-self:center;margin:0}.footer-experience{grid-column:1/-1}.footer-bottom{align-items:flex-start}}
@media(max-width:680px){.footer-inner{padding:44px 6% 20px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:32px}.footer-about{display:block}.footer-brand{margin-bottom:20px}.footer-description{margin-bottom:16px}.footer-label{margin-bottom:12px}.footer-bottom{flex-direction:column;gap:8px}.footer-utility{width:100%;justify-content:space-between;gap:12px}.footer-contact>p:not(.footer-booking-note){margin-bottom:20px}}
