:root{--color-bg:#F8F5F0;--color-bg-soft:#EFE7DC;--color-text:#1F1B18;--color-muted:#6F6259;--color-accent:#B99A7A;--color-accent-dark:#8F735B;--color-border:#E4D8CB;--color-white:#FFFFFF;--color-black:#151515;--shadow-soft:0 24px 80px rgba(31,27,24,.09)}*{box-sizing:border-box}body{margin:0;color:var(--color-text);background:var(--color-bg);font-family:"Inter",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button,input{font:inherit}.journey-page{width:100vw;height:100dvh;overflow:hidden;background:linear-gradient(135deg,rgba(248,245,240,.96),rgba(239,231,220,.78)),var(--color-bg)}.journey-page.contact-step{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}.topbar{position:fixed;inset:0 0 auto;z-index:30;height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(24px,4vw,48px);background:rgba(248,245,240,.86);border-bottom:1px solid rgba(228,216,203,.64);backdrop-filter:blur(18px)}.brand{display:inline-flex;flex-direction:column;gap:1px;width:fit-content;color:var(--color-text);letter-spacing:.08em;text-transform:uppercase}.brand strong{font-size:.92rem;font-weight:700}.brand span{color:var(--color-muted);font-size:.68rem;font-weight:600}.topbar p{margin:0;color:var(--color-muted);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.screen{position:relative;height:100dvh;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(420px,.86fr);align-items:center;gap:clamp(42px,6vw,92px);padding:112px clamp(24px,5vw,70px) 28px;overflow:hidden}.screen:before{content:"";position:absolute;inset:88px clamp(18px,4vw,48px) 24px;z-index:-1;border:1px solid rgba(228,216,203,.72);border-radius:32px;background:radial-gradient(circle at 16% 18%,rgba(185,154,122,.14),transparent 28%),radial-gradient(circle at 78% 74%,rgba(255,255,255,.52),transparent 30%)}.contact-step .screen{height:auto;min-height:100dvh;align-items:start;overflow:visible;padding-bottom:70px}.copy{max-width:780px}.eyebrow,.step>p{margin:0 0 18px;color:var(--color-accent-dark);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.copy h1{margin:0 0 24px;color:var(--color-text);font-family:"Playfair Display","Cormorant Garamond",Georgia,serif;font-size:clamp(3rem,6.2vw,6.15rem);line-height:.96;letter-spacing:-.04em}.copy>p:not(.eyebrow){max-width:610px;margin-bottom:0;color:var(--color-muted);font-size:1rem}.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(640px,100%);margin-top:34px}.proof span{display:grid;place-items:center;min-height:46px;padding:9px 10px;color:var(--color-text);background:rgba(255,255,255,.48);border:1px solid var(--color-border);border-radius:999px;font-size:.84rem;font-weight:700}.progress{width:min(640px,100%);margin-top:34px;color:var(--color-muted);font-size:.86rem;font-weight:700}.progress i{display:block;height:8px;margin-top:10px;overflow:hidden;background:rgba(31,27,24,.08);border-radius:999px}.progress b{display:block;width:14.28%;height:100%;background:linear-gradient(90deg,var(--color-black),var(--color-accent));border-radius:inherit;transition:width .28s ease}.card{height:min(680px,calc(100dvh - 136px));display:grid;grid-template-rows:1fr auto auto;padding:clamp(22px,3vw,38px);overflow:hidden;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.76);border-radius:32px;box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}.card.is-contact-step{height:auto;max-height:none;overflow:visible}.step{display:none;min-height:0}.step.active{display:flex;flex-direction:column}.step h2{max-width:680px;margin:0 0 22px;color:var(--color-text);font-family:"Playfair Display","Cormorant Garamond",Georgia,serif;font-size:clamp(1.65rem,3vw,2.6rem);font-weight:500;line-height:1.05;letter-spacing:-.03em}.choices{display:grid;gap:12px;min-height:0}.choices button{position:relative;min-height:0;padding:16px 52px 16px 18px;color:var(--color-text);background:rgba(255,255,255,.54);border:1px solid var(--color-border);border-radius:22px;font-weight:600;line-height:1.32;text-align:left;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease}.choices button:after{content:"";position:absolute;top:50%;right:17px;width:22px;height:22px;border:1px solid rgba(111,98,89,.34);border-radius:50%;transform:translateY(-50%);background:rgba(255,255,255,.78)}.choices button:hover{transform:translateY(-2px);background:rgba(255,255,255,.82);border-color:rgba(185,154,122,.62)}.choices button.selected{color:var(--color-white);background:var(--color-black);border-color:var(--color-black)}.choices button.selected:after{content:"✓";display:grid;place-items:center;color:var(--color-black);background:var(--color-bg-soft);border-color:var(--color-bg-soft);font-size:.82rem;font-weight:700}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.actions button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease}.actions button:hover,.button:hover{transform:translateY(-2px)}.primary{color:var(--color-white);background:var(--color-black)}.ghost{color:var(--color-text);background:transparent;border-color:var(--color-border)!important}.submit{width:100%}.hint{min-height:24px;margin:12px 0 0;color:var(--color-accent-dark);font-size:.9rem;font-weight:700}.result{padding:22px;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:26px}.result strong{display:block;margin-bottom:10px;color:var(--color-text);font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.45rem,2.4vw,2.2rem);font-weight:500;line-height:1.08;letter-spacing:-.03em}.result p{margin-bottom:8px;color:var(--color-muted);font-size:.95rem}.contact{display:grid;gap:13px;margin-top:16px}.contact h2{margin-bottom:0;font-size:clamp(1.35rem,2vw,1.8rem)}.contact p{margin-bottom:0;color:var(--color-muted);font-size:.94rem}.contact label{display:grid;gap:5px;color:var(--color-text);font-size:.86rem;font-weight:700}input{width:100%;padding:12px 14px;color:var(--color-text);background:rgba(255,255,255,.72);border:1px solid var(--color-border);border-radius:18px;outline:0}input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px rgba(185,154,122,.14)}.consent{display:flex!important;align-items:flex-start;gap:10px;color:var(--color-muted)!important;font-size:.8rem!important;font-weight:500!important;line-height:1.45}.consent input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--color-black)}[hidden]{display:none!important}.thanks-page{min-height:100dvh;background:linear-gradient(135deg,rgba(248,245,240,.98),rgba(239,231,220,.82)),var(--color-bg)}.thanks-hero{min-height:100dvh;display:grid;place-items:center;padding:28px}.thanks-panel{width:min(780px,100%);padding:clamp(34px,6vw,72px);background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.76);border-radius:32px;box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}.thanks-panel h1{margin-bottom:22px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:.98;letter-spacing:-.04em}.thanks-panel p{color:var(--color-muted);font-size:1rem}.thanks-panel .button{margin-top:14px}@media(max-width:980px){.journey-page{height:auto;min-height:100dvh;overflow-y:auto}.topbar{height:78px;padding:12px 24px}.topbar p{display:none}.screen{height:auto;min-height:100dvh;grid-template-columns:1fr;gap:26px;padding:104px 24px 32px;overflow:visible}.screen:before{inset:84px 12px 14px;border-radius:28px}.copy h1{font-size:clamp(2.65rem,10vw,4.2rem)}.proof{display:none}.progress{margin-top:20px}.card{height:auto;min-height:0;max-height:none;overflow:visible}}@media(max-width:640px){.topbar{padding-inline:20px}.brand strong{font-size:.86rem}.brand span{font-size:.62rem}.screen{padding:96px 16px 24px}.copy h1{font-size:clamp(2.55rem,14vw,3.2rem)}.copy>p:not(.eyebrow){font-size:.94rem}.card{padding:18px;border-radius:26px}.step h2{font-size:1.55rem}.choices{gap:9px}.choices button{padding:12px 44px 12px 14px;border-radius:18px;font-size:.9rem}.actions{gap:8px}.actions button,.button{min-height:46px;padding:11px 14px;font-size:.72rem}.thanks-hero{padding:16px}.thanks-panel{border-radius:26px;padding:28px}}
