/* Photographic depth, warm light surfaces, and the original 5 Cs typography. */
:root { --paper:#faf8f4; --sage:#edf3f3; --ink:#143e45; --muted:#526970; --display:'Agu Display',Georgia,serif; --accent-font:'PT Serif',Georgia,serif; }
h1,h2,h3,h4 { letter-spacing:0; line-height:1.3; }
h2 { font-size:clamp(34px,3.6vw,52px); }
.feature h3,.steps h3,.trip-type h3 { font-size:25px; }
.feature-wide h3 { font-size:32px; }
.faq h2 { font-size:38px; }
.closing h2 { font-size:clamp(44px,5.5vw,74px); }
.nav { top:24px; left:4%; right:4%; }
.nav nav a { background:#ffffffa6; backdrop-filter:blur(12px); }
.nav nav a:hover { background:#e1f1f3; }
.login-link { background:#ffffffa6; }
.nav-cta { background:#143e45; box-shadow:0 8px 25px #163e4526; }
.hero-scroll { position:relative; height:165svh; min-height:1390px; }
.hero { position:sticky; top:0; height:100svh; min-height:850px; max-height:none; isolation:isolate; overflow:hidden; background:#faf8f4; }
.scene-stage { --journey:0; position:absolute; inset:0; pointer-events:none; perspective:1200px; }
.scene-landscape { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:60% 100%; transform:translate3d(calc(var(--journey) * -18px),calc(var(--journey) * -8px),0) scale(calc(1.025 + var(--journey) * .045)); transform-origin:75% 65%; }
.scene-atmosphere { position:absolute; inset:0; background:linear-gradient(90deg,#faf8f4f7 0%,#faf8f4e8 22%,#faf8f4ca 38%,#faf8f438 58%,#faf8f400 76%),linear-gradient(180deg,#faf8f4df 0%,#faf8f45c 15%,transparent 45%,transparent 88%,#faf8f4 100%); }
.journey-route { position:absolute; inset:0 0 0 auto; width:75%; height:100%; opacity:.75; transform:translateY(calc(var(--journey) * -16px)); }
.scene-aircraft { position:absolute; top:12%; right:1%; width:46%; height:auto; transform-origin:55% 60%; transform:translate3d(calc(var(--journey) * -62px),calc(var(--journey) * -28px),calc(var(--journey) * 70px)) rotateZ(calc(-5deg + var(--journey) * 9deg)) rotateY(calc(-7deg + var(--journey) * 15deg)); }
.scene-car { position:absolute; right:13%; bottom:-38px; width:28%; height:auto; transform-origin:50% 77%; transform:translate3d(calc(var(--journey) * -24px),calc(var(--journey) * -4px),calc(var(--journey) * 20px)) rotateY(calc(var(--journey) * -5deg)); }
.scene-motorcycle { position:absolute; right:2%; bottom:6px; width:15%; height:auto; transform-origin:50% 88%; transform:translate3d(calc(var(--journey) * -10px),calc(var(--journey) * -2px),calc(var(--journey) * 12px)) rotateY(calc(var(--journey) * 4deg)); }
.hero-content { position:relative; z-index:2; margin:0 0 0 6%; width:43%; max-width:610px; padding:clamp(132px,15svh,175px) 0 100px; text-align:left; }
.hero .eyebrow { justify-content:flex-start; color:#426a72; font-size:11px; letter-spacing:.16em; }
.live-dot { background:#318c99; }
.hero h1 { font-size:clamp(39px,3.85vw,59px); line-height:1.24; margin:23px 0 19px; }
.hero h1 .serif { color:#2b6a8c; }
.hero-sub { font-size:14px; line-height:1.85; color:#415f66; }
.hero-chat { width:100%; max-width:520px; margin:29px 0 0; padding:22px; border-radius:16px; background:#ffffffed; backdrop-filter:blur(18px); box-shadow:0 20px 60px -20px #214e6340; text-align:left; position:relative; }
.hero-chat:before { content:''; position:absolute; top:0; left:24px; right:24px; height:1px; background:linear-gradient(90deg,transparent,#79c8d4,transparent); }
.chat-heading { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.assistant-mark { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:12px; color:#28667c; background:#e7f5f8; font-size:24px; }
.chat-heading>div { display:flex; flex-direction:column; gap:5px; }
.chat-heading strong { font-size:13px; font-weight:600; }
.chat-heading>div>span { font-size:10px; color:#526970; }
.chat-status { display:flex; align-items:center; gap:5px; margin-left:auto; font-size:10px; color:#387269; }
.chat-status:before { content:''; width:4px; height:4px; border-radius:50%; background:#4d9481; }
.hero-chat .prompt { padding:16px; border:1px solid #d9e5e9; border-radius:12px; background:#f7fafb; }
.hero-chat .prompt:focus-within { border-color:#77b7c7; outline:2px solid #77b7c7; }
.hero-chat .prompt label { font-size:13px; }
.hero-chat .spark { color:#508b9b; }
.hero-chat .prompt textarea { font-size:15px; min-height:68px; margin-top:13px; color:#143e45; }
.hero-chat .prompt textarea::placeholder { color:#637d86; }
.hero-chat .prompt-bottom { padding-top:12px; border-color:#e0e9ed; }
.hero-chat .prompt-bottom>span { font-size:10px; }
.hero-chat .prompt button { background:#143e45; padding:12px 15px; }
.hero-chat .prompt button:hover { background:#2b6a8c; }
.hero-chat .suggestions { margin-top:14px; gap:6px; }
.hero-chat .suggestions>span { font-size:10px; margin-bottom:2px; }
.hero-chat .suggestions button { font-size:10px; min-height:31px; padding:8px 9px; border-color:#d9e5e9; color:#42636c; }
.hero-chat .suggestions button:hover { background:#e6f4f8; }
.scene-note { position:absolute; right:8%; top:61%; z-index:1; display:flex; gap:15px; align-items:center; padding:17px 21px; border-radius:12px; background:#f8fcf3c9; backdrop-filter:blur(14px); box-shadow:0 12px 35px #1d53691a; }
.scene-note>div>span { display:block; font-size:10px; font-weight:600; color:#376a75; letter-spacing:.13em; }
.scene-note p { font:italic 20px var(--accent-font); margin:7px 0; }
.scene-note small { display:block; font-size:10px; color:#567579; }
.scene-note-orbit { display:block; width:31px; height:31px; border:1px solid #7ca5ac; border-radius:50%; position:relative; transform:rotate(-30deg); }
.scene-note-orbit:before { content:''; position:absolute; inset:5px -5px; border:1px solid #7ca5ac; border-radius:50%; }
.scene-note-orbit:after { content:''; position:absolute; top:2px; left:5px; width:5px; height:5px; background:#37788a; border-radius:50%; }
.scroll-note { left:6%; bottom:28px; transform:none; color:#365f6a; font-size:10px; letter-spacing:.12em; }
.scroll-note span { border-color:#8cacb4; }
.scene-scroll-hint { position:absolute; left:50%; bottom:40px; transform:translateX(-50%); color:#365f6a; font-size:11px; }
.motion-toggle { z-index:3; right:4%; bottom:26px; background:#fffefae6; border:1px solid #d4e1e6; color:#143e45; }
.benefit-strip { border-top:0; padding-block:32px; }
.feature-wide,.how-section,.closing { background:#edf4f4; }
.pricing-offer { background:#e7f2f5; }
.feature-icon,.chat-demo span { background:#e3f0f3; }
.button-dark,.button-light { background:#143e45; }
.trip-type-photo { filter:saturate(.84); }
.trip-type:hover .trip-type-photo { filter:saturate(1); }
.pricing-price strong { font:500 70px var(--font); }
.destination-caption { display:flex; align-items:center; justify-content:center; gap:30px; padding:24px; background:#eef5f6; }
.destination-caption span { font-size:11px; color:#526970; letter-spacing:.08em; }
.destination-caption b { font:italic 23px var(--accent-font); }
@media(min-width:1700px) { .hero-content { margin-left:9%; } .scene-aircraft { right:6%; width:41%; } }
@media(max-width:1180px) {
  .hero-content { width:48%; margin-left:5%; }
  .hero h1 { font-size:45px; }
  .hero-chat { padding:19px; }
  .scene-aircraft { top:18%; width:45%; right:-2%; }
  .scene-note { right:5%; padding:16px; }
  .scene-note p { font-size:18px; }
  .scene-note-orbit { display:none; }
  .scene-car { width:32%; right:12%; bottom:-25px; }
}
@media(max-width:960px) {
  .hero-content { padding-top:165px; width:54%; }
  .hero h1 { font-size:39px; }
  .hero-sub { font-size:13px; }
  .hero-chat { padding:17px; }
  .chat-status { display:none; }
  .scene-note { right:3%; max-width:220px; }
  .scene-scroll-hint { display:none; }
  .scene-aircraft { top:22%; right:-6%; width:48%; }
}
@media(max-width:700px) {
  .nav { top:16px; left:5%; right:5%; }
  .nav nav { background:#fffefaef; }
  .hero-scroll { height:1550px; min-height:0; }
  .hero { height:100svh; min-height:960px; }
  .scene-landscape { object-position:66% bottom; opacity:1; }
  .scene-atmosphere { background:linear-gradient(180deg,#faf8f4f5 0%,#faf8f4f5 15%,#faf8f4e6 30%,#faf8f4c9 48%,#faf8f454 68%,transparent 82%,#faf8f480 100%); }
  .scene-aircraft { top:66px; right:-10px; width:208px; transform:translate3d(calc(var(--journey) * -20px),calc(var(--journey) * -15px),0) rotateZ(calc(-5deg + var(--journey) * 7deg)); }
  .hero-content,.menu-ready + main .hero-content { width:calc(100% - 40px); max-width:none; margin:0 20px; padding:186px 0 0; }
  .hero .eyebrow { font-size:9px; letter-spacing:.08em; }
  .hero h1 { font-size:clamp(30px,8vw,43px); margin:18px 0 16px; }
  .hero-sub { font-size:12px; line-height:1.85; }
  .hero-chat { padding:17px; margin-top:25px; background:#fffffff0; }
  .chat-heading { gap:9px; margin-bottom:14px; }
  .chat-heading strong { font-size:12px; }
  .chat-heading>div>span { font-size:9px; }
  .assistant-mark { width:32px; height:32px; font-size:21px; }
  .hero-chat .prompt { padding:14px; }
  .hero-chat .prompt label { font-size:11px; gap:5px; }
  .hero-chat .prompt textarea { font-size:18px; min-height:85px; }
  .hero-chat .prompt-bottom>span { font-size:9px; max-width:105px; }
  .hero-chat .prompt button { font-size:11px; padding:12px; }
  .hero-chat .suggestions button { min-height:35px; font-size:9px; }
  .hero-chat .suggestions>span { font-size:9px; }
  .scene-note { display:none; }
  .journey-route { width:100%; opacity:.5; }
  .scene-car { width:62%; right:20%; bottom:36px; }
  .scene-motorcycle { width:34%; right:-1%; bottom:58px; }
  .scroll-note { left:5%; bottom:20px; font-size:9px; }
  .motion-toggle { right:5%; bottom:17px; }
  .destination-caption { flex-direction:column; gap:12px; }
  h2 { font-size:36px; }
  .faq h2 { font-size:34px; }
  .closing h2 { font-size:47px; }
}
@media(max-width:380px) {
  .hero-content,.menu-ready + main .hero-content { width:calc(100% - 32px); margin:0 16px; }
  .hero-chat { padding:14px; }
  .hero-chat .prompt { padding:12px; }
  .hero-chat .prompt label { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-scroll { height:auto; min-height:0; }
  .hero { position:relative; }
  .scene-scroll-hint { display:none; }
  .scene-stage { --journey:0!important; }
}

/* Light-metal destination gallery */
:root {
  --ink: #0d222b;
  --muted: #344850;
  --paper: #f2f6f7;
  --sage: #e4ecef;
  --line: #cbd8de;
  --green: #d9eef0;
  --brand-teal: #173d49;
  --brand-blue: #116477;
  --brand-cyan: #e2f5f7;
  --brand-yellow: #bcebf0;
  --font: 'Montserrat', Arial, sans-serif;
  --display: 'Agu Display', Georgia, serif;
  --accent-font: 'PT Serif', Georgia, serif;
}
body {
  color: var(--ink);
  background-color: var(--paper);
  background-image: linear-gradient(#dce6e91a 1px, transparent 1px), linear-gradient(90deg, #dce6e91a 1px, transparent 1px);
  background-size: 48px 48px;
}
h1, h2, h3, h4 { letter-spacing: 0; }
.serif { color: #0e5968; font-family: var(--accent-font); font-style: italic; font-size: 1em; font-weight: 400; text-transform: none; }
.muted { color: #344850; }
.nav { top: 18px; }
.brand { letter-spacing: 0; }
.brand-dot { color: #0e5968; }
.nav nav a, .login-link { border: 1px solid #cfdbdf; border-radius: 7px; background: #ffffffc9; backdrop-filter: blur(14px); }
.nav nav a:hover, .nav nav a[aria-current], .login-link:hover { background: #e1f1f3; color: #143e45; }
.nav-cta { border-radius: 7px; background: #173d49; box-shadow: 0 8px 24px #25465324; }
.nav-cta:hover, .prompt button:hover, .button-dark:hover, .button-light:hover { background: #167f91; }
.hero { background: #eff5f6; }
.scene-stage { overflow: hidden; background: radial-gradient(ellipse at 76% 45%, #ffffff 0%, #eaf2f4 62%, #e8eff1 100%); }
.destination-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.scene-stage:after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #f2f6f7 0%, #f2f6f7f7 25%, #f2f6f7c9 42%, #f2f6f72b 63%, transparent 78%), linear-gradient(180deg, #f2f6f7e8 0%, transparent 19%, transparent 82%, #f2f6f7c9 100%); }
.hero[data-scene="fallback"] .scene-stage { background-image: linear-gradient(90deg, #f2f6f7 0%, #f2f6f7e8 34%, #f2f6f734 72%), url('/static/assets/marketing-dolomites.jpg'); background-position: center, 68% center; background-size: cover; }
.hero-content { width: 44%; max-width: 650px; margin-left: 6%; }
.hero h1 { max-width: none; font: 400 clamp(48px, 5.3vw, 76px)/1.24 var(--display); }
.hero h1 .serif { white-space: nowrap; }
.hero .eyebrow, .section-heading .eyebrow, .faq .eyebrow { color: #104958; }
.hero-sub { color: #263e47; }
.live-dot { background: #28a4b2; box-shadow: 0 0 0 4px #28a4b21b; }
.hero-chat { padding: 19px 22px 16px; border: 1px solid #d3dfe3; border-radius: 8px; background: #ffffffd9; box-shadow: 0 20px 60px -22px #355c6c38; }
.hero-chat:before { left: 0; right: 0; background: linear-gradient(90deg, transparent, #75cbd5, transparent); }
.assistant-mark { border-radius: 7px; background: #e3f3f5; color: #116477; }
.chat-status:before { background: #35a898; }
.hero-chat .prompt { padding: 13px 0 0; border: 0; border-top: 1px solid #dce6e9; border-radius: 0; background: transparent; }
.hero-chat .prompt:focus-within { outline: 0; }
.hero-chat .prompt textarea { caret-color: #116477; }
.hero-chat .prompt textarea::placeholder { color: #536971; }
.hero-chat .chat-heading>div>span, .hero-chat .chat-status,
.hero-chat .prompt-bottom>span, .hero-chat .suggestions>span,
.hero-chat .suggestions button { color: #344850; }
.hero-chat .prompt button { border-radius: 6px; background: #173d49; }
.hero-chat .suggestions button { border-radius: 5px; background: #f7fafb; }
.hero-chat .suggestions button:hover { background: #e3f3f5; }
.scene-note { top: 69%; right: 6%; padding: 15px 18px; border: 1px solid #ffffffc7; border-radius: 7px; background: #f7fbf9d9; box-shadow: 0 12px 34px #294a541d; }
.scene-note>div>span { color: #104958; }
.scene-note p { font: 500 18px/1.4 var(--font); }
.scene-note small { color: #344850; }
.scene-note-orbit { border-color: #79aeb7; }
.scene-note-orbit:before { border-color: #79aeb7; }
.scene-note-orbit:after { background: #168195; }
.scroll-note, .scene-scroll-hint { color: #263e47; }
.scroll-note span { border-radius: 6px; border-color: #8daab2; }
.motion-toggle { border: 1px solid #c9d8dd; border-radius: 6px; background: #ffffffdf; }
.benefit-strip { border-color: var(--line); }
.trip-type-photo { border-radius: 7px; filter: saturate(.9); }
.trip-type:hover .trip-type-photo { filter: saturate(1.04); }
.feature-wide, .how-section, .closing { background: #e7eef0; }
.feature-wide { border-radius: 8px; }
.feature-icon { border-radius: 7px; background: #deeff1; color: #116477; }
.demo-plan { border: 1px solid #d7e2e5; border-radius: 8px 8px 0 0; }
.how-section { border-block: 1px solid #d4e0e3; }
.steps article { border-color: #b5c9cf; }
.steps article>span { color: #104958; }
.button-dark, .button-light { border-radius: 6px; background: #173d49; }
.destination { border-radius: 7px; }
.destination-tag { border-radius: 4px; }
.destination-caption { background: #e7eef0; }
.destination-caption span { color: #344850; }
.pricing-offer { border: 1px solid #d2dfe2; border-radius: 8px; background: #e7f0f2; }
.pricing-offer input { border-radius: 5px; border-color: #a8c0c7; }
.faq details { border-color: var(--line); }
.faq details:first-child { border-color: var(--line); }
.faq summary span { border-radius: 5px; background: #e4eff1; }
.closing { border-top: 1px solid #d4e0e3; }
.closing .eyebrow { color: #104958; }
.closing .serif { color: #315a49; }
footer { border-top: 1px solid var(--line); }
.pricing-offer .pricing-help, .pricing-offer small, footer>span, footer small { color: #344850; }
.motion-ready .reveal:not(.visible) { transform: translateY(14px); }

@media(max-width:960px) {
  .hero-content { width: 51%; margin-left: 5%; }
  .hero h1 { font-size: 52px; }
  .scene-note { right: 4%; }
}
@media(max-width:700px) {
  .scene-stage:after { background: linear-gradient(180deg, #f2f6f7f5 0%, #f2f6f7ec 23%, #f2f6f7bb 51%, #f2f6f74d 74%, #f2f6f7d9 100%); }
  .hero-content, .menu-ready + main .hero-content { width: calc(100% - 40px); margin: 0 20px; }
  .hero h1 { max-width: none; font-size: clamp(38px, 10vw, 52px); }
  .hero .eyebrow { font-size: 10px; }
  .hero-chat { border-radius: 7px; }
  .scene-note { display: none; }
  .scroll-note { color: #263e47; }
  .motion-toggle { border-radius: 5px; }
}
@media(max-width:380px) {
  .hero h1 { font-size: 37px; }
}

/* Brand-color hero and alternating full-width section bands */
:root {
  --brand-deep: #143e45;
  --surface-light: #f2f6f7;
  --surface-medium: #dfe8ea;
  --surface-medium-deep: #d6e1e3;
}
.hero { background: var(--brand-deep); }
.scene-stage { background: linear-gradient(180deg, #071f27 0%, #1b474d 48%, #28565a 100%); }
.scene-stage:after {
  background: linear-gradient(90deg, #143e45 0%, #143e45f5 25%, #143e45d9 43%, #143e4570 62%, #143e4500 82%), linear-gradient(180deg, #143e45b8 0%, transparent 24%, transparent 80%, #143e45d9 100%);
}
.hero[data-scene="fallback"] .scene-stage {
  background-image: linear-gradient(90deg, #143e45 0%, #143e45e8 34%, #143e4540 72%), url('/static/assets/marketing-dolomites.jpg');
  background-position: center, 68% center;
  background-size: cover;
}
.nav { color: #f2f7f7; }
.brand-dot { color: #e8e99c; }
.nav nav a, .login-link {
  border-color: #ffffff40;
  background: #ffffff14;
  color: #f2f7f7;
}
.nav nav a:hover, .nav nav a[aria-current], .login-link:hover {
  background: #ffffff2b;
  color: #fff;
}
.nav-cta { background: #e8e99c; color: #143e45; }
.nav-cta:hover { background: #f3f2bc; color: #143e45; }
.hero .eyebrow { color: #b6dadd; }
.hero h1 { color: #f6f8f7; }
.hero h1 .serif { color: #e8e99c; }
.hero-sub { color: #d3e1e2; }
.live-dot { background: #a6d8d4; box-shadow: 0 0 0 4px #a6d8d426; }
.scroll-note, .scene-scroll-hint { color: #e4eeee; }
.scroll-note span { border-color: #ffffff80; }
.benefit-strip {
  width: 100%;
  margin: 0;
  padding-inline: max(7%, calc((100% - 1376px) / 2));
  background: var(--surface-medium);
  border-color: #c4d2d6;
  color: #0d222b;
}
.section {
  max-width: none;
  margin-inline: 0;
  padding-inline: max(7%, calc((100% - 1376px) / 2));
}
.trip-types, .inspiration, .pricing { background: var(--surface-light); }
.possibilities { background: var(--brand-deep); color: #f2f7f7; }
.possibilities .section-heading .eyebrow { color: #b6dadd; }
.possibilities .section-heading h2 { color: #f2f7f7; }
.possibilities .section-heading h2 .muted { color: #d3e1e2; }
.possibilities .section-heading>p:last-child { color: #d3e1e2; }
.possibilities .feature:not(.feature-wide) { border-color: #52777d; color: #f2f7f7; }
.possibilities .feature:not(.feature-wide) p { color: #d3e1e2; }
.possibilities .feature:not(.feature-wide) a { color: #b6dadd; border-color: #79aeb7; }
.possibilities .route-demo { color: #b6dadd; }
.possibilities .route-demo i { border-color: #79aeb7; }
.possibilities .budget-demo small { color: #b6dadd; }
.faq { background: var(--surface-medium); }
.feature-wide { background: #b8c9ca; color: #143e45; }
.how-section {
  background: #e4edef;
  color: #143e45;
}
.how-section .section-heading .eyebrow,
.how-section .steps article>span { color: #426a72; }
.how-section h2, .how-section h3 { color: #143e45; }
.how-section .steps article { border-color: #c4d2d6; }
.how-section .steps p { color: #344850; }
.how-section .button-dark { background: #e8e99c; color: #143e45; }
.how-section .button-dark:hover { background: #f3f2bc; }
.faq details, .faq details:first-child { border-color: #bacbd0; }
.pricing-offer {
  background: var(--brand-deep);
  color: #f2f7f7;
  border-color: #52777d;
  box-shadow: 0 18px 50px #143e4526;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.pricing-offer:hover { transform: translateY(-4px); box-shadow: 0 24px 56px #143e4533; }
.pricing-offer .pricing-help, .pricing-offer small { color: #c1d3d5; }
.pricing-offer .button-light { background: #e8e99c; color: #143e45; }
.pricing-offer .button-light:hover { background: #f3f2bc; }
.pricing-offer input { border-color: #8aaab0; }
.destination-caption { background: var(--surface-medium-deep); }
.closing {
  background: var(--brand-deep);
  color: #f2f7f7;
}
.closing .eyebrow { color: #b6dadd; }
.closing h2 { color: #f2f7f7; }
.closing .serif { color: #e8e99c; }
.closing .button-light { background: #e8e99c; color: #143e45; }
.closing .button-light:hover { background: #f3f2bc; }
footer {
  background: var(--brand-deep);
  color: #f2f7f7;
  border-color: #52777d;
}
footer>span, footer small { color: #c1d3d5; }
footer .brand-dot { color: #e8e99c; }
.footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.footer-links a, .footer-credit, .footer-planner { color: #e2ebec; transition: color .2s; }
.footer-links a:hover, .footer-credit:hover, .footer-planner:hover { color: #e8e99c; }
.footer-credit { font-size: 11px; }

.trip-type-art {
  position: absolute;
  z-index: 1;
  top: 15px;
  right: 1%;
  width: 76%;
  height: 230px;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 12px 20px #0e242a42);
  animation: marketing-art-float 7s ease-in-out infinite;
}
.trip-type svg { z-index: 2; }
.motion-ready .trip-type-options > :nth-child(2),
.motion-ready .feature-grid > :nth-child(2),
.motion-ready .steps > :nth-child(2) { transition-delay: .08s; }
.motion-ready .trip-type-options > :nth-child(3),
.motion-ready .feature-grid > :nth-child(3),
.motion-ready .steps > :nth-child(3) { transition-delay: .16s; }
.motion-ready .trip-type-options > :nth-child(4) { transition-delay: .24s; }
.motion-ready .trip-type-options > :nth-child(5) { transition-delay: .32s; }
.motion-ready .pricing-offer { transition-delay: .1s; }
@keyframes marketing-art-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@media(max-width:700px) {
  .nav nav {
    border: 1px solid #ffffff38;
    background: #143e45f5;
    backdrop-filter: blur(16px);
  }
  .benefit-strip { padding-inline: 5%; }
  .trip-type-art { top: 8px; height: 174px; width: 84%; }
  footer { align-items: flex-start; }
  footer .footer-links { order: 3; width: 100%; gap: 14px; }
  footer .footer-credit, footer .footer-planner { order: 4; }
  footer small { order: 5; }
}
@media(max-width:380px) {
  .trip-type-art { top: 12px; height: 210px; }
}
@media(prefers-reduced-motion:reduce) {
  .trip-type-art { animation: none; }
  .pricing-offer { transition: none; }
  .pricing-offer:hover { transform: none; box-shadow: 0 18px 50px #143e4526; }
}

.hero h1 { margin-top: 0; }
.hero .hero-sub { max-width: 650px; margin: 20px 0 0; color: #d3e1e2; font-size: 20px; line-height: 1.6; }
.hero-chat { width: 120%; max-width: 624px; padding: 26px; }
.hero-chat .chat-heading strong { font-size: 15px; }
.hero-chat .chat-heading>div>span { font-size: 12px; }
.hero-chat .prompt {
  padding: 18px;
  border: 1px solid #b8d1d6;
  border-radius: 8px;
  background: #e2f1f3;
}
.hero-chat .prompt:focus-within { border-color: #528d99; outline: 2px solid #528d99; }
.hero-chat .prompt label { font-size: 15px; }
.hero-chat .prompt textarea { min-height: 82px; font-size: 19px; }
.hero-chat .prompt-bottom>span { font-size: 12px; }
.hero-chat .prompt-bottom { justify-content: flex-end; }
.hero-chat .suggestions>span { font-size: 12px; }
.hero-chat .suggestions button { min-height: 36px; padding: 9px 11px; font-size: 12px; }
.hero-chat .chat-status { font-size: 12px; }

.section-heading>p:last-child:not(.eyebrow), .pricing-intro>p { font-size: 18px; }
.trip-type p, .feature p, .steps p, .faq details p { font-size: 17px; }
.demo-plan>p { font-size: 16px; }
.chat-demo { font-size: 15px; }
.pricing-offer>p:not(.pricing-price) { font-size: 17px; }
.pricing-offer .pricing-help { font-size: 16px !important; }

@media(max-width:1180px) {
  .hero-chat { padding: 24px; }
}
@media(max-width:960px) {
  .hero-chat { padding: 22px; }
  .hero .hero-sub { font-size: 19px; }
}
@media(max-width:700px) {
  .hero-chat { width: 100%; max-width: none; padding: 20px; }
  .hero .hero-sub { margin-top: 14px; font-size: 18px; line-height: 1.55; }
  .hero-chat .prompt { padding: 16px; }
  .hero-chat .prompt textarea { min-height: 90px; font-size: 19px; }
  .hero-chat .prompt-bottom>span { font-size: 11px; }
  .hero-chat .suggestions button { font-size: 11px; }
}
@media(max-width:380px) {
  .hero { min-height: 1020px; }
  .hero-chat { padding: 16px; }
  .hero-chat .prompt { padding: 14px; }
}

/* Stronger reading contrast across light and dark sections. */
:root { --ink: #0c2d34; --muted: #263b43; }
.muted, .hero-chat .suggestions button, .scene-note small,
.destination-caption span, .how-section .steps p { color: #263b43; }
.hero-chat .prompt textarea::placeholder { color: #3d535c; }
.pricing-offer .pricing-help, .pricing-offer small,
footer>span, footer small { color: #e2ebec; }
footer { line-height: 1.7; }

/* One continuous photograph behind both sections. */
.chocolate-story { position: relative; isolation: isolate; overflow: hidden; background: #e5edef; }
.chocolate-backdrop {
  position: absolute; inset: 0 -2% 0 auto; width: 46%; z-index: -1;
  pointer-events: none;
  transform: translate3d(var(--chocolate-x, 0px), var(--chocolate-y, 0px), 0);
  transition: transform 350ms cubic-bezier(.16, 1, .3, 1);
}
.chocolate-backdrop::before {
  content: ''; position: absolute; inset: -3%;
  background: url('/static/assets/chocolate-fountain.jpg') center / cover no-repeat;
  opacity: .18;
  mask-image: linear-gradient(90deg, transparent, #000 45%), linear-gradient(0deg, transparent, #000 8%, #000 92%, transparent);
  mask-composite: intersect;
  animation: chocolate-drift 18s ease-in-out infinite alternate;
  transition: opacity 700ms ease, filter 700ms ease;
}
.how-section, .inspiration { position: relative; padding-left: 5%; padding-right: 17%; background: transparent; }
@media (hover: hover) and (pointer: fine) {
  .chocolate-story:hover .chocolate-backdrop::before { opacity: .25; filter: saturate(1.12); }
}
.how-section > .section-heading, .how-section .steps { margin-left: 0; }
.closing-form { width: min(100%, 720px); margin: 0 auto; padding: 26px; border-radius: 12px; background: #e2f1f3; color: #0c2d34; text-align: left; }
.closing-form label { display: block; margin-bottom: 12px; font-size: 16px; font-weight: 600; line-height: 1.5; }
.closing-form textarea { display: block; width: 100%; min-height: 130px; padding: 16px; border: 1px solid #8aaab0; border-radius: 8px; background: #fff; color: #0c2d34; font: inherit; font-size: 17px; line-height: 1.7; resize: vertical; }
.closing-form textarea::placeholder { color: #405860; opacity: 1; }
.closing-form-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; }
.closing-form-bottom p { max-width: 32ch; font-size: 14px; line-height: 1.7; color: #263b43; }
.closing-form .button-light { border: 0; flex-shrink: 0; gap: 18px; font-family: inherit; font-size: 15px; font-weight: 600; }
@keyframes chocolate-drift { from { transform: translate3d(0, -8px, 0) scale(1.02); } to { transform: translate3d(-10px, 8px, 0) scale(1.06); } }
@media (max-width: 960px) {
  .how-section, .inspiration { padding-right: 10%; }
  .how-section .steps { gap: 24px; }
}
@media (max-width: 700px) {
  .how-section, .inspiration { padding-left: 5%; padding-right: 5%; }
  .chocolate-backdrop { width: 70%; }
  .chocolate-backdrop::before { opacity: .10; }
  .closing-form { padding: 20px; }
  .closing-form-bottom { align-items: stretch; flex-direction: column; gap: 14px; }
  .closing-form-bottom p { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .chocolate-backdrop { transform: none; transition: none; }
  .chocolate-backdrop::before { animation: none; transition: none; }
}

/* Inline account signup. */
.closing-form .signup-intro { margin-bottom: 24px; font-size: 17px; line-height: 1.7; }
.closing-form input { display: block; width: 100%; min-height: 50px; padding: 12px 16px; margin-bottom: 20px; border: 1px solid #8aaab0; border-radius: 8px; background: #fff; color: #0c2d34; font: inherit; font-size: 17px; }
.closing-form input::placeholder { color: #405860; opacity: 1; }
.closing-form #signup-password { margin-bottom: 6px; }
.closing-form .signup-help, .closing-form #signup-message { font-size: 14px; line-height: 1.7; color: #263b43; }
.closing-form #signup-message:not(:empty) { margin-top: 18px; }
.closing-form-bottom a { text-decoration: underline; font-weight: 600; }
