/*
Theme Name: World Driver
Author: 비랜딩 (blanding.kr)
Version: 1.4.0
Text Domain: world-driver
*/
@font-face{font-family:'Public Sans';src:url(assets/PublicSans.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#18232d;--muted:#62707b;--blue:#00a4e0;--deep:#007daf;--pale:#edf7fc;--line:#dce3e8;--wash:#f4f7f9;--white:#fff;--font:'Public Sans',Arial,sans-serif;--display:600 clamp(44px,5.15vw,72px)/1.08 var(--font);--page:600 clamp(36px,3.45vw,48px)/1.15 var(--font);--section:600 clamp(28px,2.6vw,36px)/1.2 var(--font);--sub:600 clamp(20px,1.6vw,22px)/1.3 var(--font);--body:400 17px/1.65 var(--font);--small:400 14px/1.65 var(--font);--label:600 14px/1.45 var(--font);--caption:500 11px/1.5 var(--font);--section-space:clamp(64px,7vw,96px)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:var(--body)}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{background:none;border:0}h1,h2,h3,p{margin:0}img{max-width:100%}a:hover{color:var(--deep)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--deep);outline-offset:4px}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.display{font:var(--display);letter-spacing:-.045em}.page-title{font:var(--page);letter-spacing:-.035em}.section-title{font:var(--section);letter-spacing:-.03em}.subheading{font:var(--sub);letter-spacing:-.02em}.body{font:var(--body);letter-spacing:-.01em}.small{font:var(--small);letter-spacing:0}.label{font:var(--label);letter-spacing:0}.caption{font:var(--caption);letter-spacing:.08em}.muted{color:var(--muted)}.narrow{max-width:40ch}.eyebrow{color:var(--deep);margin-bottom:18px}.section{padding-block:var(--section-space)}.skip{position:absolute;top:-80px;left:20px;z-index:30;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.utility{background:var(--wash);border-bottom:1px solid var(--line)}.utility>.shell{height:38px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.utility-divider{margin-inline:12px;color:#aebac3}.header{background:white;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{height:100px;display:flex;align-items:center;gap:32px}.brand{display:block;width:168px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;gap:30px;margin-left:auto;align-items:center}.desktop-nav a,.nav-dropdown>button{white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:6px}.desktop-nav a[aria-current]{color:var(--deep)}.nav-dropdown{position:relative}.guide-menu{position:absolute;left:-20px;top:50px;width:225px;padding:10px;border:1px solid var(--line);background:white;box-shadow:0 12px 32px #15283615}.guide-menu a{padding:12px}.guide-menu a:hover{background:var(--pale)}.header-book{margin-left:15px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 22px;border-radius:5px;font:var(--label);letter-spacing:0;min-height:50px;transition:background .2s,transform .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.primary{background:var(--deep);color:white;border:1px solid var(--deep)}.primary:hover{background:#006f9b;color:white}.secondary{background:white;border:1px solid var(--line)}.light{background:white;color:var(--ink);border:1px solid white}.menu-button{display:none;width:44px;height:44px;padding:10px}.menu-button span{display:block;height:2px;background:var(--ink);margin:6px 0}.hero{position:relative;height:610px;background:#243644;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b2037b8 0%,#12263358 47%,#12263308 80%)}.hero-inner{position:relative;display:flex;align-items:center;height:100%;color:white}.hero-copy{padding-bottom:54px;animation:hero-entry .8s ease both}.hero .eyebrow{color:#a9e5fc;margin-bottom:24px}.hero .body{margin-top:24px;color:#e1eaf0}.hero-link{display:flex;justify-content:space-between;align-items:center;width:180px;margin-top:30px;padding-bottom:12px;border-bottom:1px solid #ffffff8a;min-height:40px}.hero-link:hover{color:white}.hero-side{margin-left:auto;align-self:flex-end;padding-bottom:90px;display:flex;gap:18px;color:#eef5f7}.hero-credit{position:absolute;bottom:20px;left:0;color:#d0dce4}.quick-book-wrap{position:relative;margin-top:-57px;z-index:2}.quick-book{background:white;border:1px solid var(--line);border-radius:8px;padding:26px 30px 30px;box-shadow:0 10px 40px #18334310}.quick-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.quick-top .caption{color:var(--muted)}.quick-fields{display:grid;grid-template-columns:1.25fr 1.25fr 1fr .85fr 1.1fr;align-items:end;gap:22px}.quick-fields label{display:flex;flex-direction:column;gap:10px}.quick-fields input,.quick-fields select{min-width:0;width:100%}.quick-fields .btn{min-height:52px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:10px;border-bottom:1px solid var(--deep);min-height:38px}.text-link span{color:var(--deep)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;border-top:1px solid var(--line);padding-top:35px}.service-grid>a{display:block}.service-grid h3{margin-top:18px;margin-bottom:14px}.service-icon{width:40px;height:40px;display:block;color:var(--deep);fill:none;stroke:currentColor;stroke-width:1.7}.service-icon:not(svg){font:var(--section)}.service-link{display:flex;justify-content:space-between;align-items:center;padding-block:17px;border-bottom:1px solid var(--line);margin-top:18px;color:var(--deep)}.routes-section{background:var(--wash)}.route-list{border-top:1px solid var(--line)}.route-list>a{display:grid;grid-template-columns:40px 1fr 180px 22px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:30px 0}.route-number{color:var(--muted)}.route-name{display:grid;grid-template-columns:1.2fr 32px .8fr;gap:20px;align-items:center}.route-arrow{color:var(--deep)}.route-go{color:var(--deep)}.route-list strong{display:block;color:var(--ink)}.route-note{margin-top:20px;color:var(--muted)}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.vehicle-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.vehicle-image{background:var(--wash);padding:12px 8px}.car-art{display:block;width:100%;height:auto}.vehicle-body{padding:25px}.vehicle-body h3{margin-top:9px}.vehicle-spec{display:flex;gap:22px;margin-top:16px;color:var(--muted)}.vehicle-spec span+span{border-left:1px solid var(--line);padding-left:22px}.how-section{background:var(--pale)}.how-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:start}.how-layout .btn{margin-top:28px}.how-steps{list-style:none;padding:0;margin:0}.how-steps li{display:flex;gap:28px;padding:26px 0;border-bottom:1px solid #ccdee8}.how-steps li:first-child{padding-top:0}.how-steps li>.caption{padding-top:5px;color:var(--deep)}.how-steps p{margin-top:10px}.cta{background:var(--ink);color:white;padding-block:55px}.cta>.shell{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta .caption{color:#a9e5fc;margin-bottom:15px}.page-intro{background:var(--wash);padding-block:26px 52px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:14px;color:var(--muted);margin-bottom:36px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.page-heading .eyebrow{margin-bottom:12px}.page-heading>div{flex:1}.page-heading>p{flex:0 1 360px}.page-heading{animation:hero-entry .65s ease both}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:56px;align-items:start;padding-top:50px}.booking-form{min-width:0}.form-notice{display:flex;align-items:center;gap:10px;background:var(--pale);padding:15px 18px;margin-bottom:32px;border-radius:5px;color:#27627c}.notice-dot{background:var(--deep);height:7px;width:7px;border-radius:50%;flex-shrink:0}fieldset{border:0;padding:0;margin:0 0 38px;min-width:0}legend{display:flex;gap:20px;align-items:center;padding:0 0 24px;width:100%;border-bottom:1px solid var(--line);margin-bottom:24px}legend .caption{color:var(--deep)}.trip-options{display:flex;gap:12px;margin-bottom:26px}.trip-options label{display:flex;align-items:center;gap:8px;padding:13px 20px;border:1px solid var(--line);border-radius:5px;cursor:pointer}.trip-options label:has(input:checked){border-color:var(--deep);background:var(--pale)}input[type=radio]{accent-color:var(--deep);width:16px;height:16px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid>label{display:flex;flex-direction:column;gap:10px;min-width:0}.full{grid-column:1/-1}.form-grid .form-grid{gap:24px}input:not([type=radio]),select,textarea{font:var(--small);letter-spacing:0;width:100%;padding:13px 14px;border:1px solid #cdd7df;border-radius:4px;background:white;min-height:50px;min-width:0}input::placeholder,textarea::placeholder{color:#788791}textarea{resize:vertical}select{padding-right:32px}.form-error{color:#ad3030;background:#fff4f3;padding:12px 16px;border-left:3px solid #ad3030}.form-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:25px}#form-error{margin-top:20px}.booking-aside{position:sticky;top:30px}.journey-summary{background:var(--wash);padding:30px;border:1px solid var(--line);border-radius:7px}.summary-route{position:relative;padding-left:20px}.summary-route>.caption{display:block;margin-bottom:7px}.summary-route>.caption:before{content:'';position:absolute;left:0;margin-top:5px;width:6px;height:6px;border:2px solid var(--deep);border-radius:50%}.summary-line{display:block;height:28px;margin:5px 0}.summary-line:before{content:'';position:absolute;left:4px;margin-top:-10px;height:39px;border-left:1px solid #a6c1d1}.journey-summary dl{margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line)}dl div{display:flex;justify-content:space-between;gap:16px;padding-block:7px}dt{color:var(--muted)}dd{margin:0;text-align:right;overflow-wrap:anywhere}.summary-fare{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:22px;margin-top:14px}.journey-summary>.caption:last-child{margin-top:18px}.booking-help{padding:28px 12px}.booking-help p{margin-top:13px}.booking-help .text-link{margin-top:18px}.rates-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.rates-table{border-collapse:collapse;width:100%;text-align:left}.rates-table thead{background:var(--wash)}.rates-table th,.rates-table td{padding:22px 26px;border-bottom:1px solid var(--line)}.rates-table thead th{font:var(--label);letter-spacing:0}.rates-table tbody tr:last-child>*{border-bottom:0}.rates-table tbody th span{display:block}.rates-table tbody th .caption{margin-bottom:8px}.rates-table tbody th{min-width:340px}.rates-table td{white-space:nowrap}.table-book{display:flex;align-items:center;gap:18px;color:var(--deep);min-height:44px}.rates-note{display:grid;grid-template-columns:200px 1fr;gap:35px;padding-top:30px;color:var(--muted)}.rates-note p{max-width:85ch}.rates-note h3{color:var(--ink)}.fleet-list{display:grid;gap:65px}.fleet-row{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-bottom:65px;border-bottom:1px solid var(--line)}.fleet-row:last-child{padding-bottom:0;border:0}.fleet-photo{background:var(--wash);padding:30px;position:relative}.fleet-photo>.caption{display:block;text-align:center;margin-top:15px}.fleet-copy>.body{margin-top:20px}.fleet-copy dl{max-width:380px;margin:24px 0}.fleet-copy dl div{border-bottom:1px solid var(--line);padding-block:10px}.fleet-note{margin-top:50px}.guide-layout{display:grid;grid-template-columns:280px 1fr;gap:80px}.guide-tabs{display:flex;flex-direction:column;align-items:stretch}.guide-tabs button{text-align:left;padding:20px;border-bottom:1px solid var(--line);min-height:56px}.guide-tabs .active{background:var(--pale);color:var(--deep);border-left:3px solid var(--deep)}.guide-panel{max-width:65ch}.guide-panel>.body{margin-top:24px}.guide-panel h3{margin-top:34px}.guide-panel ul{padding-left:23px;margin-top:16px}.guide-panel li{padding-block:6px}.guide-panel .btn{margin-top:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-layout>.section-title{max-width:16ch}.contact-layout .body{margin-top:22px;max-width:45ch}.contact-layout .btn{margin-top:28px}.contact-note{border-top:1px solid var(--line);padding-top:24px;margin-top:38px;max-width:48ch}.contact-note p{margin-top:12px;color:var(--muted)}.faq-list>h2{margin-bottom:20px}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{color:var(--deep)}details[open] summary span{transform:rotate(45deg)}details p{padding-bottom:22px;padding-right:24px}footer{background:white}.footer-main{padding-block:60px;display:grid;grid-template-columns:1.1fr .6fr 1fr;gap:70px}.footer-brand{width:145px;margin-bottom:22px}.footer-main nav{display:flex;flex-direction:column;gap:10px;margin-top:19px}.footer-note p{margin-top:19px;max-width:38ch}.footer-note .text-link{margin-top:20px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-block:22px;border-top:1px solid var(--line);color:var(--muted)}dialog{padding:0;border:0;color:var(--ink);background:white}dialog::backdrop{background:#18232d99}
/* Shared off-canvas navigation: typography uses the existing site roles. */
.drawer{margin:0 0 0 auto;width:min(420px,100%);height:100vh;height:100dvh;max-width:none;max-height:none;padding:28px;overflow:hidden;border-left:1px solid var(--line)}
.drawer[open]{display:flex;flex-direction:column;gap:22px;animation:drawer-entry .24s cubic-bezier(.2,.7,.2,1) both}
.drawer[open]::backdrop{animation:drawer-backdrop .2s ease both}
.drawer-heading{flex:0 0 auto;border-bottom:1px solid var(--line);padding-bottom:20px}
.drawer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.drawer-brand{display:block;width:156px;flex-shrink:0}
.drawer-brand img{display:block;width:100%;height:auto}
.drawer-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--wash);color:var(--ink);transition:background .2s,color .2s}
.drawer-close svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.drawer-close:hover{background:var(--pale);color:var(--deep)}
.drawer-caption{color:var(--deep);margin-top:20px}
.drawer .drawer-nav{display:flex;flex-direction:column;align-items:stretch;flex:1 1 auto;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b7d5e4 transparent;padding-right:6px}
.drawer .drawer-nav a{display:block;flex-shrink:0;padding:14px 16px;min-height:52px;border-left:3px solid transparent;border-bottom:1px solid var(--line);transition:background .2s,color .2s}
.drawer .drawer-nav a:hover{background:var(--wash)}
.drawer .drawer-nav a[aria-current]{border-left-color:var(--deep);background:var(--pale);color:var(--deep)}
.drawer a:focus-visible,.drawer button:focus-visible{outline-offset:-3px}
.drawer-booking{flex:0 0 auto;background:var(--pale);padding:20px;border-radius:6px;border-top:2px solid #bfdfef}
.drawer-booking>.small{margin-top:9px}
.drawer-booking-link{display:flex;justify-content:center;width:100%;margin-top:16px;min-height:46px}
@keyframes drawer-entry{from{opacity:.6;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes drawer-backdrop{from{opacity:0}to{opacity:1}}
.booking-preview{width:min(760px,calc(100% - 30px));max-height:90dvh;border-radius:8px;overflow:auto}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;top:0;background:white;padding:20px 30px;border-bottom:1px solid var(--line)}.dialog-top>.caption{color:var(--muted)}.dialog-body{padding:36px 40px 40px}.dialog-body>.small{margin-top:17px}.preview-details{margin-block:30px}.preview-details div{border-bottom:1px solid var(--line);padding:13px 0}.preview-details dt{min-width:110px}.preview-details dd{max-width:65%}.preview-actions{display:flex;gap:16px;flex-wrap:wrap}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@keyframes hero-entry{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.header-inner{gap:22px}.desktop-nav{gap:20px}.brand{width:148px}.header-book{margin-left:0}.quick-fields{gap:16px;grid-template-columns:1.2fr 1.2fr 1fr .8fr 1.1fr}.quick-book{padding-inline:24px}.booking-layout{grid-template-columns:minmax(0,1fr) 300px;gap:35px}.journey-summary{padding:25px}.hero-side{display:none}.service-grid{gap:30px}.route-name{gap:12px}.route-list>a{grid-template-columns:28px 1fr 140px 20px;gap:15px}.vehicle-spec{gap:14px}.vehicle-spec span+span{padding-left:14px}.fleet-row{gap:45px}.how-layout{gap:70px}.contact-layout{gap:65px}.footer-main{gap:45px}}
@media(max-width:920px){.desktop-nav{display:none}.header-inner{height:90px}.header-book{margin-left:auto}.menu-button{display:block}.hero{height:590px}.hero-image{object-position:65% center}.quick-fields{grid-template-columns:1fr 1fr}.quick-fields .btn{grid-column:1/-1;justify-content:center;gap:40px}.section-heading{gap:30px}.section-heading>.body{max-width:31ch}.service-grid{gap:25px}.route-name{grid-template-columns:1fr;gap:6px}.route-arrow{display:none}.vehicle-grid{gap:18px}.vehicle-body{padding:20px}.vehicle-spec{flex-wrap:wrap;gap:4px}.vehicle-spec span+span{border:0;padding-left:0}.how-layout{gap:45px}.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.journey-summary{padding:22px}.form-grid{gap:20px}.form-bottom{align-items:flex-start;flex-direction:column}.form-bottom .btn{width:100%}.page-heading{gap:35px}.page-heading>p{flex-basis:270px}.rates-table th,.rates-table td{padding:20px}.rates-note{grid-template-columns:1fr;gap:15px}.guide-layout{grid-template-columns:220px 1fr;gap:45px}.contact-layout{gap:40px}.fleet-row{gap:30px}.footer-main{gap:35px;grid-template-columns:1fr .6fr 1fr}}
@media(max-width:720px){.booking-layout{grid-template-columns:1fr}.booking-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:25px}.booking-help{padding-top:15px}.page-heading{flex-direction:column;align-items:flex-start;gap:24px}.page-heading>p{flex-basis:auto}.guide-layout{grid-template-columns:1fr;gap:35px}.guide-tabs{flex-direction:row;overflow-x:auto}.guide-tabs button{white-space:nowrap;padding:15px 18px}.guide-tabs .active{border-left:0;border-bottom:2px solid var(--deep)}.fleet-row{grid-template-columns:1fr;gap:28px}.fleet-photo{max-width:none}.contact-layout{grid-template-columns:1fr;gap:45px}.how-layout{grid-template-columns:1fr;gap:40px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px}.route-list>a{grid-template-columns:24px 1fr 130px 20px}.service-grid{grid-template-columns:1fr;gap:25px;padding-top:25px}.service-grid>a{display:grid;grid-template-columns:50px 1fr;column-gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px}.service-grid .service-icon{grid-row:1/4;margin-top:6px}.service-grid h3{margin-top:0}.service-grid .service-link{border-bottom:0;margin-top:5px;grid-column:2;padding-bottom:0}.vehicle-grid{grid-template-columns:1fr;gap:25px}.vehicle-card{display:grid;grid-template-columns:1fr 1.2fr}.vehicle-image{display:flex;align-items:center}.vehicle-spec{gap:12px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>.footer-note{grid-column:1/-1}.footer-note p{max-width:60ch}}
@media(max-width:540px){.shell{width:calc(100% - 40px)}.utility>.shell{height:34px}.utility>.shell>span:first-child{display:none}.utility>.shell{justify-content:flex-end}.utility-divider{margin-inline:7px}.header-inner{height:83px;gap:16px}.brand{width:125px}.header-book{padding:10px 13px;min-height:43px;gap:12px}.header-book>span{display:none}.menu-button{padding:9px;flex-shrink:0}.hero{height:490px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#102336bf,#152c355b)}.hero-copy{padding-bottom:36px}.hero .body{max-width:28ch}.hero .body br{display:none}.hero .eyebrow{max-width:26ch;margin-bottom:19px}.hero-credit{bottom:46px;max-width:28ch}.quick-book-wrap{margin-top:-30px}.quick-book{padding:24px 20px}.quick-top{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:24px}.quick-fields{grid-template-columns:1fr 1fr;gap:19px}.quick-fields>label:first-child{grid-column:auto}.quick-fields .btn{justify-content:space-between}.quick-fields input,.quick-fields select{padding-inline:10px}.section-heading{margin-bottom:30px}.route-list>a{grid-template-columns:18px 1fr 20px;gap:12px;padding:23px 0}.route-list>a>.small{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:10px}.route-list>a>.small strong{display:inline}.route-go{grid-column:3;grid-row:1/3}.route-name{gap:7px}.vehicle-card{grid-template-columns:1fr}.vehicle-image{padding-inline:22px}.vehicle-image .car-art{max-height:190px}.vehicle-body{padding:24px}.vehicle-spec{gap:20px}.vehicle-spec span+span{border-left:1px solid var(--line);padding-left:20px}.cta>.shell{align-items:flex-start;flex-direction:column;gap:28px}.cta{padding-block:44px}.page-intro{padding-bottom:36px}.breadcrumb{margin-bottom:28px}.page-heading{gap:18px}.booking-layout{padding-top:30px}.form-grid{grid-template-columns:1fr;gap:20px}.form-grid .form-grid{grid-template-columns:1fr}.trip-options label{padding:12px 16px}.booking-aside{grid-template-columns:1fr;gap:0}.booking-help{padding:28px 0 0}.quick-fields select{font:var(--small)}.table-wrap{margin-right:-20px;border-right:0;border-radius:6px 0 0 6px}.rates-top{flex-direction:column;gap:12px}.rates-table tbody th{min-width:230px}.rates-table th,.rates-table td{padding:18px}.guide-tabs{margin-right:-20px}.guide-tabs button{padding-inline:15px}.guide-panel .btn{white-space:normal}.fleet-photo{padding:18px}.fleet-list{gap:44px}.fleet-row{padding-bottom:44px}.footer-main{gap:36px;padding-block:42px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>.footer-note{grid-column:auto}.footer-brand{width:140px}.footer-note .text-link{gap:10px}.footer-bottom{flex-direction:column;gap:12px}.dialog-top{padding:17px 20px;gap:15px}.dialog-top>.caption{max-width:23ch}.dialog-body{padding:28px 23px}.preview-details div{flex-direction:column;gap:6px}.preview-details dd{text-align:left;max-width:none}.preview-actions .btn{width:100%}.form-notice{padding-inline:14px;align-items:flex-start}}
@media(max-width:360px){.header-inner{gap:10px}.brand{width:112px}.header-book{padding-inline:10px}.quick-fields{grid-template-columns:1fr}.quick-fields>label:first-child{grid-column:auto}.quick-fields .btn{grid-column:auto}.footer-main{grid-template-columns:1fr}.footer-main>.footer-note{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-delay:0s!important}}

@media(min-width:541px){.hero-credit{bottom:80px}}
@media(max-width:360px){.header-inner{gap:8px}.brand{width:106px}}

.table-wrap{position:relative}.table-wrap:focus-visible{outline:2px solid var(--deep);outline-offset:4px}.table-scroll-hint{display:none}@media(max-width:540px){.table-scroll-hint{display:block;margin-bottom:18px}}

/* Production request, consent and privacy views. Existing typography roles are retained. */
input[type=checkbox]{accent-color:var(--deep);width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0;margin:3px 0 0}.consent-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;color:var(--muted)}.consent-row a{color:var(--deep);text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn:disabled{cursor:wait;opacity:.7;transform:none}.request-result{padding:22px;background:var(--pale);border:1px solid #c5dfea;border-radius:5px;margin-top:25px}.request-result h3{font:var(--sub);letter-spacing:-.02em;margin-bottom:12px}.request-result p{font:var(--small);letter-spacing:0;margin-top:10px}.request-result strong{font:var(--label);letter-spacing:0;color:var(--deep)}#send-error{margin-top:24px}.privacy-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:90px;align-items:start}.privacy-copy{max-width:75ch}.privacy-copy>.body{margin-top:20px}.privacy-copy h3{margin-top:36px}.privacy-copy .text-link{margin-top:30px}.privacy-updated{margin-top:30px}.privacy-aside{padding:28px;background:var(--wash);border:1px solid var(--line);border-radius:7px}.privacy-aside p{margin-top:18px}.privacy-aside .text-link{margin-top:20px;gap:15px}@media(max-width:920px){.privacy-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}}@media(max-width:720px){.privacy-layout{grid-template-columns:1fr}.privacy-aside{max-width:75ch}}@media(max-width:540px){.request-result{padding:18px}}

.nav-dropdown>button[aria-current]{color:var(--deep)}

@media(max-width:540px){.drawer{padding:24px 22px}.drawer[open]{gap:18px}.drawer-brand{width:144px}.drawer-heading{padding-bottom:18px}.drawer-caption{margin-top:18px}.drawer .drawer-nav a{padding:13px 14px}.drawer-booking{padding:18px}}
@media(max-height:650px){.drawer{padding:16px 20px}.drawer[open]{gap:14px}.drawer-brand{width:124px}.drawer-heading{padding-bottom:12px}.drawer-caption{margin-top:10px}.drawer .drawer-nav a{padding-block:11px}.drawer-booking{padding:14px 16px}.drawer-booking>.small{margin-top:6px}.drawer-booking-link{margin-top:10px;min-height:44px;padding-block:11px}}
@media(prefers-reduced-motion:reduce){.drawer[open],.drawer[open]::backdrop{animation:none}}

.summary-return-route{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}

/* Separate region controls retain readable airport names on smaller screens. */
@media(max-width:1100px){.quick-fields{grid-template-columns:1fr 1fr}.quick-fields .btn{grid-column:1/-1}}
@media(max-width:720px){.quick-fields>label:nth-child(-n+2){grid-column:1/-1}}
