/* HBV / Editorial refinement v2 — independent alpine agency, not a marketplace.
   Montserrat is the exclusive type family. Purposeful, restrained interactions. */
:root {
  --ink: #142326;
  --ink2: #19343b;
  --cream: #f3f1ec;
  --paper: #f9f8f4;
  --warm: #e5e2da;
  --sub: #657070;
  --line: #d5d7d1;
  --accent: #b99d78;
  --sans: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --serif: var(--sans);
}
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background:var(--paper); font-size:14px; font-weight:400; }
button, input, textarea, select { font-family:var(--sans); }
:is(h1,h2,h3,h4,.journey-info>span:first-child,.brand-type,.horizon-card strong,.choice-tile strong,.rec-card h3,.review-box h3,.detail-price) { font-family:var(--sans)!important; }
:is(.intro h2 em,.section-heading h2 em,.people-copy h2 em,.choice h2 em,.last-image h2 em,.world-hero h1 em,.page-top h1 em,.text-page h2 em,.mid-cta h2 em,.hero h1 em,.detail-hero h1 em) { font-family:var(--sans)!important; font-style:normal!important; font-weight:300!important; letter-spacing:-.064em!important; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:.19em; color:#788080; }
.site-header {height:92px; padding-inline:clamp(22px,5.5vw,100px);}
.site-header .brand { gap:12px; }
.site-header .brand svg { width:34px; }
.brand-type { font-size:18px; font-weight:500; letter-spacing:.19em; }
.brand-type>span { font-size:7px; letter-spacing:.29em; font-weight:500; padding-top:5px; }
.site-header nav {gap:clamp(15px,1.7vw,29px);padding-left:0;}
.site-header nav button { font-size:10px; font-weight:500; letter-spacing:.055em; }
.site-header nav button:hover {opacity:.74; text-decoration:underline; text-underline-offset:8px;}
.header-contact { font-size:10px; font-weight:600; letter-spacing:.07em; min-width:138px; padding:13px 17px; }
.hero { min-height:680px; height:min(860px,100svh); }
.hero-video { opacity:.88; }
.hero-image { background-position:center 54%; }
.hero-gradient { background:linear-gradient(90deg,rgba(6,18,25,.79) 0%,rgba(6,18,25,.45) 37%,rgba(6,18,25,.04) 78%),linear-gradient(0deg,rgba(6,18,25,.55),transparent 26%); }
.hero-content {padding:clamp(188px,23vh,255px) clamp(24px,7.2vw,125px) 0;}
.hero-content .eyebrow { color:#e8e7e1; letter-spacing:.20em; }
.hero h1 { font-size:clamp(59px,7.6vw,119px);font-weight:600;letter-spacing:-.07em;line-height:.95;margin:28px 0 29px; }
.hero h1 em {margin-top:10px;font-size:clamp(38px,5.5vw,80px);text-transform:none;display:block;line-height:1.12;font-weight:300!important;letter-spacing:-.06em!important;}
.hero-content p { font-size:15px;line-height:1.85;color:#eef0ed;font-weight:400; }
.hero-actions {margin-top:36px;gap:9px;}
.btn {font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.075em;min-height:56px;padding:18px 22px;min-width:216px;}
.hero-foot { font-size:9px;letter-spacing:.14em;bottom:32px; }
.hero-foot button {font-size:9px;letter-spacing:.15em;}
.intro {background:var(--paper);grid-template-columns:.7fr 1.6fr;gap:clamp(30px,7vw,140px);padding:145px clamp(24px,8vw,135px) 165px;}
.intro-label p {font-family:var(--sans);font-style:normal;font-size:13px;line-height:1.7;max-width:180px;}
.intro h2,.people-copy h2,.section-heading h2,.choice h2,.text-page h2,.mid-cta h2 {font-size:clamp(43px,5.2vw,78px);font-weight:500;line-height:1.1;letter-spacing:-.065em;}
.intro>div:nth-child(2)>p {font-size:15px;color:#586264;line-height:1.85;max-width:570px;}
.link-action {font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.horizons {background:#e9e9e4;padding:120px clamp(20px,5.5vw,95px) 135px;}
.section-heading {align-items:end;max-width:1500px;}
.section-heading p {font-size:14px;line-height:1.8;max-width:275px;}
.horizon-cards {gap:12px;}
.horizon-card {height:clamp(390px,39vw,590px);padding:clamp(23px,3vw,48px);}
.horizon-card:before {background-image:linear-gradient(0deg,rgba(6,21,27,.9) 0%,transparent 65%),var(--card);}
.horizon-card>span {font-size:10px;font-weight:600;letter-spacing:.13em;}
.horizon-card strong {font:500 clamp(34px,3.35vw,53px)/1.06 var(--sans);margin:15px 0 42px;letter-spacing:-.053em;}
.horizon-card small {font-size:10px;font-weight:600;}
.people-story {background:#162a30;}
.people-copy h2 {font-weight:500;margin-top:25px;}
.people-copy>p {font-size:14px;line-height:1.95;}
.names {gap:16px;margin:38px 0 34px;}
.names strong {font-size:10px;}
.names span {font-size:12px;}
.stories {padding:125px clamp(24px,5.5vw,95px) 130px;background:var(--paper);}
.journey-row {gap:20px;}
.journey-card .journey-cover {height:clamp(230px,22vw,355px);}
.journey-info>span:first-child {font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.03em;}
.journey-info small {font-size:9px;letter-spacing:.14em;}
.choice {background:#e7e6df;padding:135px clamp(24px,7vw,120px) 85px;}
.choice-head h2 {font-size:clamp(48px,6vw,90px);}
.choice-head>p {font-size:14px;line-height:1.9;}
.choice-options {max-width:1000px;gap:14px;}
.choice-tile {padding:42px;min-height:330px;}
.choice-tile strong {font:500 clamp(35px,3vw,49px)/1.08 var(--sans);letter-spacing:-.06em;}
.choice-tile small {font-size:13px;line-height:1.85;}
.choice-number,.choice-bottom {font-size:9px;letter-spacing:.11em;}
.last-image h2 {font-weight:500;}
.page-top h1,.world-hero h1,.detail-hero h1 {font-family:var(--sans);font-weight:500;letter-spacing:-.068em;}
.catalog-card h3 {font-family:var(--sans);font-weight:500;letter-spacing:-.035em;}
.detail-main h2,.text-page h2,.person-list h2,.journal-preview h2 {font-family:var(--sans);font-weight:500;letter-spacing:-.045em;}
.detail-bullets div {font-family:var(--sans);font-size:15px;font-style:normal;}
.detail-main aside .detail-price {font-family:var(--sans);font-weight:500;font-style:normal;}
.wizard-cover {padding:clamp(12px,2.2vh,25px);overscroll-behavior:contain;}
.wizard-shell {width:min(1150px,100%);height:min(840px,calc(100dvh - 32px));min-height:0;max-height:calc(100dvh - 24px);grid-template-columns:37% 63%;border-radius:2px;}
.wizard-visual {padding:37px;background-image:url('assets/ridge.jpg');}
.wizard-v-logo {font-family:var(--sans);font-size:16px;font-weight:500;}
.wizard-visual-copy h2 {font-family:var(--sans);font-size:clamp(38px,4.2vw,65px);font-weight:500;letter-spacing:-.06em;}
.wizard-visual-copy h2 em {font-weight:300;font-style:normal;}
.wizard-visual-copy p {font-size:12px;line-height:1.85;}
.wizard-body { min-height:0; height:100%; display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden; }
.wizard-top {padding:24px 32px 18px;}
.wizard-top #wizard-label {font-size:10px;}
.wizard-progress {margin:0 32px;}
.wizard-content {min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:32px 32px 28px;scrollbar-width:thin;scrollbar-color:#b5bfbd transparent;}
.wizard-content h2 {font-family:var(--sans);font-size:clamp(29px,3.1vw,45px);font-weight:500;line-height:1.17;letter-spacing:-.055em;}
.wizard-content .step-desc {font-size:12px;line-height:1.85;max-width:570px;}
.step-eyebrow {font-size:9px;letter-spacing:.16em;}
.option {min-height:61px;border-radius:2px;font-size:12px;font-weight:500;padding:13px 15px;line-height:1.5;}
.option.selected {background:#e6ece8;border-color:#2c4b4c;}
.option-grid {gap:9px;}
.field-label {font-size:10px;letter-spacing:.04em;}
.field-input,.field-select,.field-textarea {font-size:14px;border-radius:2px;}
.mini-callout {font-size:11px;line-height:1.75;}
.wizard-actions {background:#fbfaf7;box-shadow:0 -6px 28px rgba(17,37,40,.045);border-top:1px solid #e2e3dd;padding:16px 32px 12px;min-height:78px;align-items:center;}
.wizard-actions button {min-height:48px;}
.wizard-actions .btn {min-width:145px;max-width:260px;}
.wizard-disclaimer {padding:0 32px 15px;font-size:9px;line-height:1.45;background:#fbfaf7;}
.review-box h3,.rec-card h3 {font-family:var(--sans);font-weight:500;}
.rec-card h3 {font-size:17px;}
.error.visible {font-size:12px;background:#fcf1ef;border-left:3px solid #aa5946;padding:12px 14px;margin-top:16px;}
@media (max-width:850px) {
 .site-header {height:74px;padding-inline:23px;}
 .site-header nav {top:74px;}
 .hero {height:min(790px,95svh);min-height:630px;}
 .hero-content {padding:clamp(185px,24vh,230px) 28px 0;}
 .hero h1 {font-size:clamp(55px,9.2vw,82px);}
 .hero h1 em {font-size:clamp(37px,6.3vw,58px);}
 .intro {grid-template-columns:1fr;padding:90px 28px 110px;}
 .horizons {padding:85px 26px 100px;}
 .horizon-card strong {font-size:clamp(32px,5vw,46px);}
 .wizard-shell {width:min(690px,100%);grid-template-columns:1fr;}
 .wizard-visual {display:none;}
 .wizard-content {padding:25px 25px 29px;}
 .wizard-top {padding:19px 25px 15px;}
 .wizard-progress {margin-inline:25px;}
 .wizard-actions {padding:12px 25px;min-height:71px;}
 .wizard-disclaimer {padding:0 25px 11px;}
}
@media(max-width:600px) {
 .brand-type {font-size:16px;}
 .hero {height:100svh;min-height:615px;}
 .hero-content {padding:25vh 24px 0;}
 .hero h1 {font-size:clamp(49px,11.7vw,68px);margin:19px 0 22px;}
 .hero h1 em {font-size:clamp(35px,8vw,47px);}
 .hero-content p {font-size:13px;line-height:1.75;}
 .hero-actions {max-width:330px;gap:9px;}
 .hero-actions .btn {min-height:52px;}
 .intro h2,.section-heading h2 {font-size:clamp(40px,9vw,56px);}
 .horizon-card,.horizon-card:last-child {height:385px;}
 .horizon-card strong {font-size:42px;}
 .people-copy {padding:75px 29px;}
 .people-copy h2 {font-size:clamp(44px,11vw,57px);}
 .journey-card .journey-cover {height:280px;}
 .choice-head h2 {font-size:clamp(43px,10.5vw,60px);}
 .choice-tile {padding:29px;min-height:300px;}
 .choice-tile strong {font-size:39px;}
 /* The overlay itself scrolls on narrow phones: iOS Safari safe fallback. */
 .wizard-cover {display:none;align-items:stretch;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;padding:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
 .wizard-cover.open {display:block;}
 .wizard-shell {display:block;height:auto;min-height:100%;max-height:none;overflow:visible;width:100%;box-shadow:none;border-radius:0;}
 .wizard-body {display:flex;flex-direction:column;height:auto;min-height:100dvh;overflow:visible;}
 .wizard-top {position:sticky;top:0;background:#fbfaf7;z-index:8;padding:calc(12px + env(safe-area-inset-top,0px)) 20px 14px;min-height:62px;}
 .wizard-progress {margin:0 20px; flex:0 0 auto;}
 .wizard-content {padding:28px 20px 50px;flex:1 0 auto;overflow:visible;touch-action:pan-y;min-height:0;}
 .wizard-content h2 {font-size:clamp(31px,7.7vw,40px);}
 .wizard-content .step-desc {font-size:12px;}
 .option-grid,.option-grid.three {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .option {min-height:67px;font-size:11px;padding:13px 11px;overflow-wrap:anywhere;}
 .field-pair {grid-template-columns:1fr;}
 .wizard-actions {position:sticky;bottom:0;z-index:9;flex:0 0 auto;padding:11px 20px calc(11px + env(safe-area-inset-bottom,0px));min-height:69px;box-shadow:0 -8px 26px #112c3115;}
 .wizard-actions .btn {min-width:0;flex:1;max-width:260px;padding-inline:12px;font-size:10px;}
 .wizard-actions .btn-back {min-width:78px;font-size:11px;padding:12px 9px;}
 .wizard-disclaimer {padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));font-size:9px;}
 .rec-card {grid-template-columns:72px 1fr;gap:10px;}
 .rec-card img {width:72px;height:94px;}
 .rec-card h3 {font-size:15px;}
 .rec-card p {line-height:1.5;}
 .review-line {gap:12px;}
}
@media(max-width:365px){.option-grid,.option-grid.three {grid-template-columns:1fr;}.option{min-height:54px;}.wizard-actions .btn{font-size:9px;}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none;}}
/* A single cinematic choice at the start of each MAOS journey, not a shopping-form UI */
.option-grid.image-options {gap:10px;}
.image-option.option {position:relative;isolation:isolate;min-height:125px;align-items:flex-end;color:#fff;font-size:13px;font-weight:600;letter-spacing:-.02em;border:2px solid transparent;box-shadow:none;overflow:hidden;padding:17px 18px;background:#223b41;text-shadow:0 1px 8px #0008;}
.image-option.option::before {content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(0deg,rgba(3,17,22,.82),rgba(3,17,22,.05)),var(--choice-img);background-size:cover;background-position:center;transition:transform .35s;}
.image-option.option:hover::before {transform:scale(1.06);}
.image-option.option:hover,.image-option.option.selected {border-color:#ae9773;background:#1a333c;color:#fff;}
.image-option.option.selected .tick {color:#fff;background:#b59e7b;border-radius:50%;display:inline-grid;place-items:center;width:23px;height:23px;min-width:23px;}
@media(max-width:600px){.image-option.option {min-height:120px;padding:14px;font-size:12px;}}
@media(max-width:365px){.option-grid.image-options{grid-template-columns:repeat(2,minmax(0,1fr));}.image-option.option{min-height:128px;}}

.footer-email {background:none;border:0;color:inherit;cursor:pointer;font-size:inherit;text-decoration:underline;text-underline-offset:5px;padding:0;}
.footer-email:hover {opacity:.7;}
