﻿/* Shared customer palette. System preference is resolved before first paint. */
:root {
 --theme-canvas: #f4f6f1; --theme-surface: #fff; --theme-soft: #edf3f5;
 --theme-text: #203b45; --theme-muted: #4c626b; --theme-secondary: #37565f;
 --theme-border: #c5d2d0; --theme-input-border: #9aafb7; --theme-hover: #eaf1f4;
 --theme-selected: #dcebcf; --theme-green: #376622; --theme-green-border: #527c39;
 --theme-glass: rgba(244,246,241,.52); --theme-art: #375b4b;
}
html[data-dok-theme="dark"] {
 --theme-canvas: #37565f; --theme-surface: #243e43; --theme-soft: #2c484e;
 --theme-text: #f3f7f3; --theme-muted: #c9d8d3; --theme-secondary: #d5e3de;
 --theme-border: #587575; --theme-input-border: #809b96; --theme-hover: #34534f;
 --theme-selected: #34543c; --theme-green: #bfe39e; --theme-green-border: #9fca7a;
 --theme-glass: rgba(55,86,95,.52); --theme-art: #b6d0ba;
}
.dok-flow-c-page { --dok-canvas: var(--theme-canvas); }
.dok-c-header .dok-c-nav { margin-left: auto; }
.dok-c-header .dok-theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; margin-left: 16px; border: 1px solid var(--theme-border); border-radius: 50%; color: var(--theme-secondary); background: transparent; cursor: pointer; }
.dok-c-header .dok-theme-toggle:hover { background: var(--theme-hover); }
.dok-c-header .dok-theme-toggle:focus-visible { outline: 2px solid var(--theme-green); outline-offset: 3px; }
.dok-theme-toggle .dok-theme-sun { display: none; }
html[data-dok-theme="dark"] .dok-theme-toggle .dok-theme-sun { display: block; }
html[data-dok-theme="dark"] .dok-theme-toggle .dok-theme-moon { display: none; }
@media(max-width:1280px) {
 .dok-c-header .dok-c-nav { display: none; }
 .dok-c-header .dok-c-mobile-nav { display: block; margin-left: auto; }
}
@media(max-width:640px) { .dok-c-header .dok-theme-toggle { margin-left: 12px; } }
#flowC .dok-activation { background: var(--theme-canvas); }
#flowC .dok-activation::before { background-color: var(--theme-art); }
#flowC .dok-activation-cover { background: var(--theme-glass); border: 1px solid var(--theme-border); border-top: 3px solid var(--theme-green-border); color: var(--theme-text); backdrop-filter: blur(.5px); -webkit-backdrop-filter: blur(.5px); }
#flowC .dok-activation-cover :is(h2,p) { color: var(--theme-text); }
#flowC .dok-activation-benefit { color: var(--theme-green); }
#flowC .dok-activation-allowance { border-color: var(--theme-border); }
.dok-flow-c-page :is(.dok-calendar-popup,.dok-airport-listbox) { background: var(--theme-surface); color: var(--theme-text); }
.dok-flow-c-page :is(.dok-calendar-month-button,.dok-calendar-day,.dok-airport-option) { color: var(--theme-text); }
.dok-flow-c-page :is(.dok-calendar-weekdays span,.dok-airport-name,.dok-airport-city) { color: var(--theme-muted); }
.dok-flow-c-page :is(.dok-calendar-day:hover:not(:disabled),.dok-airport-option:hover,.dok-airport-option[aria-selected="true"]) { background: var(--theme-hover); }
.dok-flow-c-page .dok-calendar-day[aria-pressed="true"] { background: #9fca7a; color: #1c3020; }
html[data-dok-theme="dark"] .dok-c-brand img { filter: none; }
html[data-dok-theme="dark"] :is(#welcomeC .w-hero,#welcomeC .w-features,#welcomeC .w-how,#welcomeC .w-footer,.c-help-how) { background-color: var(--theme-canvas); }
html[data-dok-theme="dark"] :is(#flowC,#welcomeC,#myPolicyC) :is(input[type="date"],select) { color-scheme: dark; }
html[data-dok-theme="dark"] .dok-date-trigger svg :is(path,rect) { stroke: var(--theme-text); }
html[data-dok-theme="dark"] .dok-my-policy-c .dok-cart-chevron path { stroke: var(--theme-text); }
html[data-dok-theme="dark"] .dok-my-policy-c :is(.p-delay-badge.is-minor,.p-delay-badge.is-delayed) { color: #ffd093; }
html[data-dok-theme="dark"] .dok-my-policy-c :is(.p-delay-badge.is-major,.p-button-danger) { color: #ffb4ab; }
/* Status colours retain their own contrasting foreground/background pair. */
html[data-dok-theme="dark"] :is(#flowC,#welcomeC,#myPolicyC) .dok-message { color: #713f12; }

/* One unmistakable, centred next action. */
#flowC .dok-activation .dok-step-actions { position: relative; background: #fff; }
#flowC .dok-activation .dok-button-row { justify-content: center; }
#flowC .dok-activation .dok-button-row > .c-button-primary { width: min(100%,560px); max-width: 560px; margin: 0 auto; min-height: 58px; font-size: 1.1rem; }
html[data-dok-theme="dark"] .dok-my-policy-c .p-delay-badge { color: var(--theme-green); }

/* The navigation and action rails stay light in both appearances. */
.dok-c-header, .dok-step-actions, .p-cover-actions {
 --theme-surface:#fff; --theme-text:#203b45; --theme-muted:#4c626b; --theme-secondary:#37565f;
 --theme-border:#c5d2d0; --theme-input-border:#9aafb7; --theme-hover:#eaf1f4;
 --theme-soft:#edf3f5; --theme-green:#376622; --theme-green-border:#527c39;
 color-scheme:light;
}
.dok-flow-c-page .dok-c-header,
:is(#flowC,#welcomeC,#myPolicyC) .dok-step-actions,
#flowC .dok-activation .dok-step-actions,
.dok-my-policy-c .p-native-flights .dok-step-actions,
.dok-my-policy-c .p-cover-actions { background:#fff; color:#203b45; }
.dok-my-policy-c .p-cover-actions { padding:16px; border-radius:10px; flex-wrap:wrap; }
/* Place artwork inside the scrolling content, above the solid action rail. */
#flowC .dok-activation::before { content:none; }
#flowC .dok-activation > .dok-step-scroll { position:relative; isolation:isolate; }
#flowC .dok-activation > .dok-step-scroll::before {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:var(--theme-art); opacity:.18;
 -webkit-mask:url('/Styles/BackgroundImages/Background_for_landing.svg') right bottom / auto 90% no-repeat;
 mask:url('/Styles/BackgroundImages/Background_for_landing.svg') right bottom / auto 90% no-repeat;
}
:is(#flowC,#welcomeC,#myPolicyC) .dok-summary-layout { align-items:stretch; }
:is(#flowC,#welcomeC,#myPolicyC) .dok-summary-layout > .dok-summary-panel { box-sizing:border-box; margin-bottom:0; }
:is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms) {
 box-sizing:border-box; display:flex; align-items:flex-start; gap:16px; width:100%; max-width:1100px;
 margin:24px auto 0; padding:20px; border:2px solid var(--theme-input-border); border-radius:12px;
 background:var(--theme-surface); color:var(--theme-text); font-size:1rem; line-height:1.6; cursor:pointer;
}
:is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms) input[type="checkbox"] {
 flex:0 0 26px; width:26px; height:26px; margin:2px 0 0; accent-color:#527c39; cursor:pointer;
}
:is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms):focus-within { outline:3px solid var(--theme-green-border); outline-offset:3px; }
:is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms) strong { display:block; color:var(--theme-text); margin-bottom:4px; }
:is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms) a { color:inherit; text-decoration:underline; }
@media(max-width:640px) {
 #flowC .dok-activation > .dok-step-scroll::before { -webkit-mask-size:auto 75%; mask-size:auto 75%; opacity:.12; }
 :is(#flowC,#welcomeC,#myPolicyC) :is(.dok-terms,.p-terms) { padding:16px; }
}

/* Homepage shares the activation welcome's palette, artwork and action rail. */
#welcomeC .w-hero { display:flex; flex-direction:column; height:auto; min-height:calc(100vh - var(--dok-header-height)); min-height:calc(100dvh - var(--dok-header-height)); background:var(--theme-canvas); color:var(--theme-text); }
#welcomeC .w-hero-inner { flex:1 0 auto; isolation:isolate; min-height:0; overflow:visible; justify-content:flex-start; padding:48px max(24px,calc((100% - 1300px)/2)); }
#welcomeC .w-hero-inner::before {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:var(--theme-art); opacity:.18;
 -webkit-mask:url('/Styles/BackgroundImages/Background_for_landing.svg') right bottom / auto 90% no-repeat;
 mask:url('/Styles/BackgroundImages/Background_for_landing.svg') right bottom / auto 90% no-repeat;
}
#welcomeC .w-hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); width:100%; max-width:1300px; margin:0 auto; }
#welcomeC .w-hero-primary { gap:24px; }
#welcomeC .w-hero h1 { font-family:var(--dok-display-font); font-size:clamp(2.4rem,4.5vw,4.5rem); font-weight:400; line-height:1.2; letter-spacing:-.025em; color:var(--theme-text); }
#welcomeC .w-hero :is(.w-hero-subtitle,.w-hero-next,.w-hero-benefit p) { color:var(--theme-text); font:400 1.05rem/1.65 'Segoe UI',system-ui,sans-serif; margin:0; }
#welcomeC .w-hero .w-hero-subtitle { font-size:1.2rem; }
#welcomeC .w-hero .w-hero-next { color:var(--theme-muted); }
#welcomeC .w-hero-benefit { background:var(--theme-glass); border:1px solid var(--theme-border); border-top:3px solid var(--theme-green-border); border-radius:16px; padding:clamp(24px,3vw,40px); gap:18px; backdrop-filter:blur(.5px); }
#welcomeC .w-hero-benefit h2 { font:600 1.3rem/1.4 'Segoe UI',system-ui,sans-serif; color:var(--theme-text); }
#welcomeC .w-hero-price { font:700 clamp(2rem,3.3vw,3.5rem)/1.2 'Segoe UI',system-ui,sans-serif; color:var(--theme-green); }
#welcomeC .w-hero .w-hero-tax { margin-top:-12px; font-size:.95rem; color:var(--theme-muted); }
#welcomeC .w-hero-documents { grid-template-columns:1fr; gap:10px; padding-top:18px; border-top:1px solid var(--theme-border); }
#welcomeC .w-hero-documents h3 { margin:0 0 4px; color:var(--theme-text); font:600 1rem/1.4 'Segoe UI',system-ui,sans-serif; }
#welcomeC .w-hero-documents .c-button { display:flex; justify-content:space-between; text-align:left; font:500 1rem/1.4 'Segoe UI',system-ui,sans-serif; text-transform:none; letter-spacing:0; border-radius:8px; border:1px solid var(--theme-input-border); color:var(--theme-text); background:var(--theme-glass); padding:14px 16px; }
#welcomeC .w-hero-documents .c-button:hover { background:var(--theme-hover); }
#welcomeC .w-hero .w-hero-note { font-size:.9rem; color:var(--theme-muted); }
#welcomeC .w-scroll-cue { position:static; flex-direction:row; margin:0; color:var(--theme-secondary); font:500 1rem/1.5 'Segoe UI',system-ui,sans-serif; letter-spacing:0; text-transform:none; text-decoration:underline; }
#welcomeC .w-hero-actions .dok-button-row { justify-content:center; }
#welcomeC .w-hero-actions .w-buy-button { display:flex; flex-direction:row; gap:16px; justify-content:center; width:min(100%,560px); max-width:560px; margin:0 auto; min-height:58px; padding:16px 24px; border-radius:8px; color:#203b24; background:#9fca7a; font:700 1.1rem/1.4 'Segoe UI',system-ui,sans-serif; text-transform:none; letter-spacing:0; }
#welcomeC .w-hero-actions .w-button-price { font-size:.95rem; font-weight:500; }
#welcomeC .w-landing :is(.w-features,.w-how,.w-cta,.w-footer) { background:var(--theme-canvas); color:var(--theme-text); }
#welcomeC .w-landing .w-features { background:var(--theme-soft); }
#welcomeC .w-landing :is(.w-section-heading p,.w-feature-card p,.w-how-copy p,.w-footer-grid a,.w-footer-grid button,.w-footer-brand p,.w-footer-bottom) { color:var(--theme-muted); }
#welcomeC .w-landing :is(.w-section-heading h2,.w-feature-card h3,.w-how-container h2,.w-how-pill span,.w-footer-grid h2) { color:var(--theme-text); }
#welcomeC .w-landing :is(.w-feature-card,.w-how-pill) { background:var(--theme-surface); border-color:var(--theme-border); }
#welcomeC .w-landing :is(.w-how-copy h3,.w-how-pill i,.w-feature-icon) { color:var(--theme-green); }
#welcomeC .w-landing .w-feature-icon { background:var(--theme-selected); }
#welcomeC .w-how-connector path { stroke:var(--theme-border); }
#welcomeC .w-terminal-dot::before, #welcomeC :is(.w-footer,.w-footer-bottom) { border-color:var(--theme-border); }
html[data-dok-theme="light"] #welcomeC .w-footer-brand img { content:url('/Styles/BackgroundImages/Delay2025-Small-Colour.png'); }
@media(max-width:800px) {
 #welcomeC .w-hero-grid { grid-template-columns:1fr; max-width:640px; }
 #welcomeC .w-hero-inner { min-height:0; padding:36px 24px; }
 #welcomeC .w-hero-inner::before { -webkit-mask-size:auto 70%; mask-size:auto 70%; opacity:.12; }
}
@media(max-width:420px) { #welcomeC .w-hero-actions .w-buy-button { flex-direction:column; gap:2px; } }
/* Non-modal guidance: the spotlight is transparent and never captures the form. */
.dok-spotlight { position:fixed; inset:0; z-index:100000; pointer-events:none; }
.dok-spotlight-ring { position:fixed; box-sizing:border-box; border:2px solid #bfe39e; border-radius:12px; background:transparent; box-shadow:0 0 0 100vmax rgba(0,0,0,.58); }
.dok-spotlight-ring::after { content:""; position:absolute; inset:-2px; border-radius:inherit; box-shadow:0 0 18px 5px rgba(191,227,158,.7); animation:dok-guide-glow 2.8s ease-in-out infinite; }
@keyframes dok-guide-glow { 0%,100% { opacity:.35; } 50% { opacity:1; } }
.dok-spotlight-guide { position:fixed; box-sizing:border-box; width:min(360px,calc(100vw - 24px)); padding:20px; border:1px solid #c5d2d0; border-radius:14px; background:#fff; color:#203b45; box-shadow:0 8px 32px rgba(0,0,0,.25); font:400 16px/1.5 'Segoe UI',sans-serif; pointer-events:auto; }
.dok-spotlight-guide strong { display:block; color:#203b45; font-size:18px; }
.dok-spotlight-guide p { margin:8px 0 14px; color:#37565f; }
.dok-spotlight-guide button { min-height:44px; padding:8px 20px; border:1px solid #527c39; border-radius:8px; background:#9fca7a; color:#203b45; font:600 16px/1.4 'Segoe UI',sans-serif; cursor:pointer; }
.dok-guidance-host { position:relative; }
.dok-step:has(> .dok-guidance-host) > .dok-step-scroll { padding-bottom:64px; box-sizing:border-box; }
.dok-next-help { position:absolute; right:16px; bottom:calc(100% + 10px); z-index:8; min-height:44px; padding:8px 14px; border:1px solid #9aafb7; border-radius:24px; background:#fff; color:#203b45; box-shadow:0 2px 10px rgba(0,0,0,.12); font:600 14px/1.4 'Segoe UI',sans-serif; cursor:pointer; }
[data-p-cover-step].dok-guidance-host > .dok-next-help { position:static; display:block; margin:16px 0 0 auto; }
.dok-next-help:focus-visible,.dok-spotlight-guide button:focus-visible { outline:3px solid #527c39; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .dok-spotlight-ring::after { animation:none; opacity:.6; } }
#welcomeC .w-landing .w-cta-panel { color:var(--theme-text); background:var(--theme-soft); border:1px solid var(--theme-border); }
#welcomeC .w-landing .w-cta-panel h2 { color:var(--theme-text); }
#welcomeC .w-landing .w-cta-panel p { color:var(--theme-secondary); }
#welcomeC .w-landing .w-cta-primary { background:var(--dok-accent); color:var(--dok-accent-ink); border-color:var(--dok-accent); }
#welcomeC .w-landing .w-cta-primary:hover { filter:brightness(.95); }
#welcomeC .w-landing .w-cta-secondary { background:var(--theme-surface); color:var(--theme-text); border-color:var(--theme-input-border); }
#welcomeC .w-landing .w-cta-secondary:hover { background:var(--theme-hover); }
#welcomeC .w-landing .w-cta-buttons .c-button:focus-visible { outline:3px solid var(--theme-green); outline-offset:3px; }

/* Shared journey feedback sits beside the actions, without moving the cart or page content. */
html body.dok-flow-c-page :is(#flowC,#welcomeC,#myPolicyC,#flowCHelpPage) .dok-bottom-message:not([hidden]):not(:empty) {
 position:fixed; inset:auto 16px var(--message-bottom, 96px); z-index:80;
 width:calc(100% - 32px); max-width:960px; margin:0 auto; box-sizing:border-box;
 padding:16px 20px; border:1px solid #d8aa53; border-left:5px solid #ad6b10; border-radius:12px;
 background:#fff8e9; color:#653d0d; box-shadow:0 8px 30px rgba(20,40,45,.22);
 font:600 16px/1.5 'Segoe UI',sans-serif; text-align:left; overflow-wrap:anywhere;
 max-height:25dvh; overflow-y:auto; animation:dok-message-rise .24s ease-out;
}
@keyframes dok-message-rise { from { opacity:0; translate:0 16px; } to { opacity:1; translate:0 0; } }
@media (max-width:600px) {
 html body.dok-flow-c-page :is(#flowC,#welcomeC,#myPolicyC,#flowCHelpPage) .dok-bottom-message:not([hidden]):not(:empty) { inset-inline:12px; width:calc(100% - 24px); padding:12px 14px; font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
 html body.dok-flow-c-page :is(#flowC,#welcomeC,#myPolicyC,#flowCHelpPage) .dok-bottom-message:not([hidden]):not(:empty) { animation:none; }
}

.dok-step-actions > .dok-next-help { bottom:calc(100% + 10px + var(--dok-message-stack, 0px)); }

/* Keep filled dates and result cards on the same palette as their text. */
:is(#flowC,#welcomeC,#myPolicyFlights) .dok-date-trigger.has-value { color:var(--theme-text); }
:is(#flowC,#welcomeC,#myPolicyFlights) .dok-results-list .c-flight-card { background:var(--theme-surface); color:var(--theme-text); }
:is(#flowC,#welcomeC,#myPolicyFlights) .dok-results-list .c-flight-card.is-selected { background:var(--theme-selected); }
:is(#flowC,#welcomeC,#myPolicyFlights) .dok-results-list .c-flight-card.is-unavailable {
    --theme-text:#203b45; --theme-secondary:#37565f; --theme-muted:#4c626b; --theme-soft:#f7ddc7;
    background:#fff3e8; color:var(--theme-text);
}

/* Open welcome columns follow the original landing composition. */
:is(#welcomeC .w-hero-primary, #flowC .dok-activation-copy) .dok-welcome-logo {
 display:block; width:clamp(260px,30vw,540px); max-width:100%; height:auto; flex:none;
}
html[data-dok-theme="dark"] .dok-welcome-logo { content:url('/Styles/BackgroundImages/Delay2025-Medium-White.png'); }
#welcomeC .w-hero-benefit, #flowC .dok-activation-cover {
 background:transparent; border:0; border-radius:0; padding:0; box-shadow:none;
 backdrop-filter:none; -webkit-backdrop-filter:none; width:100%; max-width:none; box-sizing:border-box;
}
#welcomeC .w-hero-benefit h2 {
 font-family:var(--dok-display-font); font-size:clamp(2rem,3.2vw,4.2rem); font-weight:400; line-height:1.25;
}
#flowC .dok-activation-cover h2 { font-family:var(--dok-display-font); font-size:clamp(1.8rem,2.8vw,3rem); font-weight:400; line-height:1.25; }
#flowC .dok-activation-benefit { font-size:clamp(3rem,4vw,5rem); }
#flowC .dok-activation-allowance { border:0; padding-top:0; }
:is(#welcomeC .w-hero-primary, #flowC .dok-activation-copy) > p { max-width:66ch; }
#welcomeC .w-hero-documents { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; border:0; }
#welcomeC .w-hero-documents h3 { grid-column:1 / -1; }
#welcomeC .w-hero-documents .c-button { background:transparent; }
#welcomeC .w-hero-grid, #flowC .dok-activation-layout { align-items:center; }
@media(min-width:801px) {
 #welcomeC .w-hero-inner { padding:48px 32px; }
 #welcomeC .w-hero-grid, #flowC .dok-activation-layout {
  box-sizing:border-box; width:100%; max-width:1600px; margin:auto;
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,4vw,96px);
 }
 #flowC .dok-activation-layout { width:calc(100% - 64px); padding:48px 0; }
 #welcomeC .w-hero-primary, #flowC .dok-activation-copy { min-width:0; gap:28px; }
 #welcomeC .w-hero h1, #flowC .dok-activation h1 { font-size:clamp(2.6rem,3.2vw,3.5rem); line-height:1.2; }
}
@media(max-width:800px) {
 #welcomeC .w-hero-grid, #flowC .dok-activation-layout { gap:40px; }
 #welcomeC .w-hero-benefit, #flowC .dok-activation-cover { padding-top:28px; border-top:1px solid var(--theme-border); }
}
@media(max-width:480px) { #welcomeC .w-hero-documents { grid-template-columns:1fr; } }

/* Keep the cover summary in a compact cloud and the explanation in its own panel. */
:is(#welcomeC,#flowC) .dok-welcome-stack {
 display:flex; flex-direction:column; gap:24px; width:100%; max-width:740px;
 justify-self:center; padding:0; margin:0; border:0; background:transparent;
}
:is(#welcomeC,#flowC) .dok-welcome-cloud {
 position:relative; isolation:isolate; display:flex; flex-direction:column; gap:16px;
 box-sizing:border-box; width:100%; padding:100px 64px 36px; text-align:center;
}
:is(#welcomeC,#flowC) .dok-welcome-cloud::before {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:rgba(255,255,255,.32);
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 1006 606' preserveAspectRatio='none'%3E%3Cpath d='M150 600C65 600 0 535 0 450C0 355 65 285 155 275C140 145 240 75 350 115C400 -30 650 -30 715 160C850 90 980 200 950 340C1050 450 990 600 875 600Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 1006 606' preserveAspectRatio='none'%3E%3Cpath d='M150 600C65 600 0 535 0 450C0 355 65 285 155 275C140 145 240 75 350 115C400 -30 650 -30 715 160C850 90 980 200 950 340C1050 450 990 600 875 600Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
:is(#welcomeC,#flowC) .dok-welcome-cloud::after {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:var(--theme-input-border); opacity:.95;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 1006 606' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' vector-effect='non-scaling-stroke' d='M150 600C65 600 0 535 0 450C0 355 65 285 155 275C140 145 240 75 350 115C400 -30 650 -30 715 160C850 90 980 200 950 340C1050 450 990 600 875 600Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 1006 606' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' vector-effect='non-scaling-stroke' d='M150 600C65 600 0 535 0 450C0 355 65 285 155 275C140 145 240 75 350 115C400 -30 650 -30 715 160C850 90 980 200 950 340C1050 450 990 600 875 600Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
:is(#welcomeC,#flowC) .dok-welcome-explanation {
 display:flex; flex-direction:column; gap:14px; padding:26px 30px;
 border:2px solid var(--theme-input-border); border-radius:16px; background:rgba(255,255,255,.32);
}
html[data-dok-theme="dark"] :is(#welcomeC,#flowC) .dok-welcome-cloud::before,
html[data-dok-theme="dark"] :is(#welcomeC,#flowC) .dok-welcome-explanation { background:rgba(36,62,67,.32); }
:is(#welcomeC,#flowC) .dok-welcome-cloud h2 { margin:0; font-size:clamp(1.65rem,2vw,2.25rem); line-height:1.25; }
:is(#welcomeC,#flowC) .dok-welcome-section { display:flex; flex-direction:column; gap:8px; }
:is(#welcomeC,#flowC) .dok-welcome-stack h3 { margin:0; padding:0; border:0; color:var(--theme-text); font:600 clamp(1.125rem,1.3vw,1.375rem)/1.4 'Segoe UI',system-ui,sans-serif; }
:is(#welcomeC .w-hero,#flowC .dok-activation) .dok-welcome-stack p { margin:0; color:var(--theme-text); font:400 clamp(1.125rem,1.15vw,1.25rem)/1.55 'Segoe UI',system-ui,sans-serif; }
:is(#welcomeC .w-hero,#flowC .dok-activation) .dok-welcome-stack .dok-welcome-footnote { padding-top:14px; border-top:1px solid var(--theme-border); color:var(--theme-secondary); font-size:1rem; }
#welcomeC .dok-welcome-cloud .w-hero-tax { margin:0; font-size:1rem; }
#welcomeC .dok-welcome-cloud .w-hero-price, #flowC .dok-welcome-cloud .dok-activation-benefit { font-size:clamp(2.5rem,3.3vw,3.75rem); line-height:1.15; }
@media(max-width:1100px) {
 :is(#welcomeC,#flowC) .dok-welcome-cloud { padding:90px 30px 32px; gap:14px; }
 :is(#welcomeC,#flowC) .dok-welcome-explanation { padding:22px; }
}
@media(max-width:480px) {
 :is(#welcomeC,#flowC) .dok-welcome-cloud { padding:80px 24px 30px; }
 :is(#welcomeC,#flowC) .dok-welcome-cloud h2 { font-size:1.5rem; }
}

/* Cloud trails echo the airport line art; the short introduction explains the next action. */
:is(#welcomeC,#flowC) .dok-welcome-stack { gap:16px; }
:is(#welcomeC,#flowC) .dok-cloud-trails { display:block; flex:none; width:clamp(150px,22vw,240px); height:44px; margin:-6px 0 -4px 12%; color:var(--theme-input-border); pointer-events:none; }
#welcomeC .w-hero p.w-hero-subtitle, #flowC .dok-activation p.dok-welcome-lead {
 max-width:42ch; margin:0; color:var(--theme-text); font:500 clamp(1.25rem,1.5vw,1.5rem)/1.55 'Segoe UI',system-ui,sans-serif;
}
:is(#welcomeC,#flowC) .dok-welcome-next { max-width:56ch; padding-left:22px; border-left:3px solid var(--theme-green-border); }
#welcomeC .w-hero .dok-welcome-next h2, #flowC .dok-activation .dok-welcome-next h2 { margin:0 0 14px; color:var(--theme-text); font:600 1.125rem/1.4 'Segoe UI',system-ui,sans-serif; }
:is(#welcomeC,#flowC) .dok-welcome-next ol { margin:0; padding:0; list-style:none; counter-reset:welcome-step; display:grid; gap:12px; }
:is(#welcomeC,#flowC) .dok-welcome-next li { counter-increment:welcome-step; display:flex; gap:12px; align-items:baseline; color:var(--theme-secondary); font:400 1.125rem/1.5 'Segoe UI',system-ui,sans-serif; }
:is(#welcomeC,#flowC) .dok-welcome-next li::before { content:counter(welcome-step) "."; flex:0 0 18px; color:var(--theme-green); font-weight:700; }
@media(max-width:480px) { :is(#welcomeC,#flowC) .dok-welcome-next { padding-left:16px; } }

/* Shared airline identity and selection status, including embedded journeys. */
.c-airline-logo { width:90px; height:38px; object-fit:contain; background:#fff; border-radius:6px; padding:5px; box-sizing:border-box; }
.c-flight-meta { min-width:140px; }
.c-flight-identity { overflow-wrap:anywhere; }
.c-airline-name { font-size:.85rem; color:inherit; }
.dok-flow-c .c-flight-actions { flex-direction:column; align-items:flex-end; max-width:240px; gap:.5rem; }
.dok-flow-c .c-flight-actions .c-status-badge { align-self:flex-end; font-weight:600; }
.dok-flow-c .c-flight-unavailable-reason { text-align:right; line-height:1.4; }
@media(max-width:680px) { .dok-flow-c .c-flight-actions { max-width:none; align-items:stretch; } .dok-flow-c .c-flight-actions .c-status-badge { align-self:center; } .dok-flow-c .c-flight-unavailable-reason { text-align:center; } }

/* Landing content grows naturally; the document owns scrolling, including on mobile. */
#welcomeC .w-hero-grid { flex:0 0 auto; margin-block:auto; }
#welcomeC .w-hero-actions { flex:0 0 auto; }
