/* Service funnels extend the homepage's shared components and theme system. */
.service-page{background:#fff}
.service-page .header-call{background:linear-gradient(120deg,#078c50,#006d3e);box-shadow:0 6px 18px #00744335}
.service-page .header-call:hover{background:linear-gradient(120deg,#007d47,#005d35)}
.service-page .hero-shell{min-height:0}
.service-page .hero-inner{padding-bottom:35px}
.service-page .hero-copy{margin-bottom:24px}
.service-page #serviceHeroTitle{font-size:38px;line-height:1.12;letter-spacing:-1.4px;margin:0 0 15px}
.service-page #serviceHeroTitle span{display:inline-block;font-size:54px;line-height:1.04;letter-spacing:-2px;margin-top:8px;color:var(--variant-primary)}
#serviceHeroSubtitle{font-size:16px;line-height:1.6;max-width:470px;color:#365471;margin:0 0 14px}
.service-flow{width:580px}
.service-progress{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:12px;font-weight:700;letter-spacing:1px}
.service-progress>span{color:var(--variant-primary);white-space:nowrap}
.service-progress>span span{color:#8c9aad}
.service-progress>b{font-size:11px;color:var(--muted);white-space:nowrap}
.service-progress>div{height:4px;flex:1;margin-left:20px;background:#eaf0f6;border-radius:9px;overflow:hidden}
.service-progress i{display:block;width:25%;height:100%;background:linear-gradient(90deg,var(--variant-primary),var(--variant-secondary));transition:width .2s}
.service-screen-heading>span{display:none}
.service-screen-heading h2{font-size:23px;letter-spacing:-.6px;line-height:1.2;margin:0 0 8px}
.service-screen-heading p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 19px}
.service-screen.is-active{animation:enter .22s ease-out}
.service-back{border:0;background:none;color:var(--variant-primary);min-height:40px;font-size:14px;padding:6px 0;margin:0 0 10px}
.intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-choice{position:relative;display:flex;align-items:center;gap:11px;min-width:0;min-height:98px;padding:14px 12px;border:1px solid #dce6f0;border-radius:11px;background:#f6f9fc;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:background .15s,border-color .15s}
.service-choice:hover{border-color:var(--variant-primary);background:var(--variant-wash)}
.service-choice[aria-pressed="true"]{border-color:var(--variant-primary);box-shadow:inset 0 0 0 1px var(--variant-primary);background:var(--variant-wash)}
.service-choice strong,.service-choice small{display:block}
.service-choice strong{font-size:14px;line-height:1.3}
.service-choice small{font-size:12px;line-height:1.4;color:#61778b;margin-top:5px}
.service-choice>b{display:none}
.intent-icon{display:grid;place-items:center;width:34px;height:38px;flex:0 0 34px;color:var(--variant-primary)}
.intent-icon .ui-icon{width:27px;height:27px}
.service-page .route-quick-call{margin-top:16px}
.service-page .route-quick-call strong{font-size:13px}
.service-page .route-quick-call small{font-size:12px}
.route-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.route-choice{min-height:145px;flex-direction:column;align-items:flex-start;padding:20px}
.route-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--variant-primary);background:var(--variant-wash)}
.route-choice strong{font-size:17px}
.popular-airlines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.airline-choice{min-height:60px;justify-content:center;text-align:center;font-size:13px;font-weight:700;padding:12px 7px}
.service-airline-disclosure{font-size:11px;line-height:1.5;color:#65798c;margin:0 0 14px}
.airline-select-label{display:block;margin-top:18px}
.airline-select-label>span{display:block;font-size:13px;font-weight:700;margin-bottom:9px}
.airline-select-label select{width:100%;min-height:55px;border:1px solid #b6cfe2;border-radius:10px;padding:12px;background:#f6faff;color:var(--ink);font:inherit;font-size:14px}
.service-page .hero-shell:not([data-step="1"]) .hero-copy,.service-page .hero-shell:not([data-step="1"]) .hero-benefits{display:none}
html[data-hero-layout] .service-page .hero-shell:not([data-step="1"]) .hero-inner{display:block;padding-top:32px}
html[data-hero-layout] .service-page .hero-shell:not([data-step="1"]) .workflow-card{margin:0 auto;width:min(580px,100%);transform:none}
.result-screen{text-align:center}
.result-check{display:grid;place-items:center;width:66px;height:66px;margin:5px auto 15px;background:#e6f7ee;color:#008b50;border:6px solid #f3fbf6;border-radius:50%;font-size:28px}
.result-kicker{font-size:11px;font-weight:700;color:#087847;letter-spacing:.7px;text-transform:uppercase}
.result-screen h2{font-size:28px;line-height:1.15;letter-spacing:-.7px;margin:9px 0 14px}
.result-screen>p{color:#587086;font-size:14px;line-height:1.6;margin:0 0 18px}
.service-result-call{text-align:left}
.result-phone-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#00894e;color:#fff}
.service-result-call>span:nth-child(2){display:flex;flex-direction:column;gap:8px;min-width:0}
.service-result-call small{font-size:17px;font-weight:700}
.service-result-call strong{font-size:32px;letter-spacing:-1px;white-space:nowrap}
.service-result-call em{font-size:13px;font-style:normal}
.service-result-call>b{margin-left:auto;font-size:26px}
.service-summary{margin-top:22px;padding:15px 18px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}
.service-summary>div{display:grid;grid-template-columns:65px 1fr 40px;align-items:center;gap:8px;padding:7px 0;font-size:13px}
.service-summary span{color:var(--muted)}
.service-summary strong{line-height:1.4;font-weight:600}
.service-summary button{border:0;background:none;color:var(--variant-primary);min-height:40px;cursor:pointer}
.result-disclosure{margin:15px 0 0!important;font-size:11px!important;line-height:1.5!important;color:#65798c!important}
.service-preparation{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-preparation article{padding:30px;border:1px solid #dce8f2;border-radius:16px;background:#fff;box-shadow:0 12px 30px #183e630c}
.service-preparation .ui-icon{width:34px;height:34px;color:var(--variant-primary);margin-bottom:15px}
.service-preparation h3{font-size:20px;margin:0 0 12px}
.service-preparation p{font-size:15px;color:#5a7186;line-height:1.65;margin:0}
html[data-site-variant] .service-page .light-heading>span{color:#83c7fc}
.service-page .light-heading h2{color:#fff}
.service-page .why-panel a{cursor:pointer}
.service-page .brand-wordmark{max-width:none}
@media(max-width:980px){.service-page #serviceHeroTitle{font-size:33px}.service-page #serviceHeroTitle span{font-size:46px}}
@media(max-width:800px){
html[data-site-variant] .service-page .hero-shell:after{background:linear-gradient(90deg,color-mix(in srgb,var(--variant-wash) 97%,transparent),color-mix(in srgb,var(--variant-wash) 82%,transparent) 60%,color-mix(in srgb,var(--variant-wash) 28%,transparent)),linear-gradient(0deg,var(--variant-wash),transparent 85%)}
.service-page .hero-inner{padding:24px 18px 26px;margin:0}
.service-page .hero-copy{width:100%;max-width:580px;margin:0 auto 19px}
.service-page #serviceHeroTitle{font-size:26px;letter-spacing:-.7px}
.service-page #serviceHeroTitle span{font-size:38px;letter-spacing:-1.3px;margin-top:5px}
#serviceHeroSubtitle{font-size:14px;margin-bottom:10px}
.service-page .rotating-benefit{margin-bottom:0;font-size:12px;white-space:normal}
.service-flow{width:100%;max-width:580px;margin:auto}
.service-page .hero-benefits{margin:18px auto 0;width:100%;max-width:580px}
.service-preparation{grid-template-columns:1fr}
}
@media(max-width:600px){
.service-page .hero-inner{padding:20px 14px 24px}
.service-page .hero-copy{margin-bottom:17px}
.service-page #serviceHeroTitle{font-size:24px}
.service-page #serviceHeroTitle span{font-size:34px}
.service-page #serviceHeroSubtitle{font-size:13px;line-height:1.5;margin-bottom:8px}
.service-page .workflow-card{padding:19px 16px}
.service-progress{gap:8px;margin-bottom:17px;font-size:11px}
.service-progress>div{margin-left:5px}
.service-progress>b{font-size:10px}
.service-screen-heading h2{font-size:21px}
.service-screen-heading p{font-size:12px;margin-bottom:15px}
.intent-grid{gap:8px}
.intent-choice{min-height:104px;padding:11px 9px;gap:8px;align-items:flex-start;flex-direction:column}
.intent-icon{width:24px;height:24px;flex:0 0 24px}
.intent-icon .ui-icon{width:22px;height:22px}
.service-choice strong{font-size:13px}
.service-choice small{font-size:11px;line-height:1.35;margin-top:4px}
.airline-choice{font-size:12px;min-height:56px}
.service-result-call{padding:20px 12px;gap:10px}
.service-result-call strong{font-size:26px}
.service-result-call small{font-size:15px}
.result-phone-icon{width:34px;height:34px;flex-basis:34px}
.service-preparation article{padding:24px}
.service-page .header-call-mobile{font-size:13px}
.service-page .brand-wordmark{font-size:clamp(15px,4.2vw,18px)}
}
@media(max-width:360px){.service-page #serviceHeroTitle span{font-size:31px}.service-result-call strong{font-size:23px}.service-progress>b{letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){.service-screen.is-active{animation:none}.service-choice,.service-progress i{transition:none}}
