@font-face{font-family:'Roboto';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/pattayaexpress/roboto-latin-400-normal.woff2) format('woff2')}@font-face{font-family:'Roboto';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/pattayaexpress/roboto-latin-500-normal.woff2) format('woff2')}@font-face{font-family:'Roboto';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/pattayaexpress/roboto-latin-700-normal.woff2) format('woff2')}@font-face{font-family:'Roboto Condensed';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/pattayaexpress/roboto-condensed-latin-400-normal.woff2) format('woff2')}@font-face{font-family:'Roboto Condensed';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/pattayaexpress/roboto-condensed-latin-700-normal.woff2) format('woff2')}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif}
body{margin:0;line-height:inherit}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
ol,ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
small{font-size:80%}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;color:inherit}
button,select{text-transform:none}
button,[type=button],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#9ca3af}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
summary{display:list-item}
[hidden]{display:none}

/* utilities */
.absolute{position:absolute}
.block{display:block}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-t{border-top-width:1px}
.bottom-0{bottom:0}
.fixed{position:fixed}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-none{flex:none}
.flex-wrap{flex-wrap:wrap}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.gap-1{gap:.25rem}
.gap-10{gap:2.5rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.grid{display:grid}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-16{height:4rem}
.h-3{height:.75rem}
.h-3\.5{height:.875rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-9{height:2.25rem}
.hidden{display:none}
.hover\:border-cta:hover{border-color:var(--cta)}
.hover\:text-cta:hover{color:#A25A05}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-x-0{left:0;right:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.leading-relaxed{line-height:1.625}
.leading-tight{line-height:1.25}
.list-none{list-style:none}
.m-0{margin:0}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-6xl{max-width:72rem}
.mb-1{margin-bottom:.25rem}
.mb-12{margin-bottom:3rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mt-0\.5{margin-top:.125rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mx-2{margin-left:.5rem;margin-right:.5rem}
.mx-auto{margin-left:auto;margin-right:auto}
.no-underline{text-decoration:none}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.p-0{padding:0}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.pb-10{padding-bottom:2.5rem}
.pb-14{padding-bottom:3.5rem}
.pb-5{padding-bottom:1.25rem}
.pr-3{padding-right:.75rem}
.pt-10{padding-top:2.5rem}
.pt-6{padding-top:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.relative{position:relative}
.right-0{right:0}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-xl{border-radius:.75rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-3>*+*{margin-top:.75rem}
.sticky{position:sticky}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-center{text-align:center}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-right{text-align:right}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-white{color:#fff}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:.75rem;line-height:1rem}
.top-0{top:0}
.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.underline{text-decoration:underline}
.uppercase{text-transform:uppercase}
.w-3{width:.75rem}
.w-3\.5{width:.875rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-64{width:16rem}
.w-7{width:1.75rem}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-50{z-index:50}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.md\:block{display:block}.md\:flex-row{flex-direction:row}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:hidden{display:none}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:text-5xl{font-size:3rem;line-height:1}}
@media(min-width:1024px){.lg\:block{display:block}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:hidden{display:none}.lg\:pt-6{padding-top:1.5rem}.lg\:sticky{position:sticky}}

/* shared booking-wizard components, coloured only through the theme variables */
.hide{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.text-muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;padding:.9rem 1.4rem;cursor:pointer;border:0;text-decoration:none;white-space:nowrap;transition:transform .15s,background-color .15s,box-shadow .15s;border-radius:var(--rb)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.btn-cta{background:var(--accent);color:var(--accent-ink)}
.btn-cta:hover{background:var(--accent2)}
.btn-cta:disabled{opacity:.45;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.wizard{background:var(--wiz);border:1px solid var(--wiz-line);border-radius:var(--rw);box-shadow:var(--wiz-shadow);color:var(--fg)}
.wlabel{display:block;font-size:.78rem;font-weight:700;color:var(--label);margin:0 0 .3rem}
.wlabel i{color:var(--accent-text);font-style:normal}
.field{width:100%;background-color:var(--field);color:var(--fg);border:1px solid var(--line2);border-radius:var(--r);padding:.8rem .9rem;font-size:1rem;appearance:none;-webkit-appearance:none}
select.field{background-image:var(--chev);background-repeat:no-repeat;background-position:right .8rem center;background-size:14px;padding-right:2.2rem}
.field:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--ring)}
.field.err{border-color:var(--danger)}
.field option,.field optgroup{background:var(--field);color:var(--fg)}
.cc-sel{max-width:12rem}
.errmsg{color:var(--danger-text);font-size:.8rem;margin-top:.25rem;display:none}
.err+.errmsg,.field.err~.errmsg{display:block}
.stepdot{flex:1;height:6px;border-radius:99px;background:var(--dot)}
.stepdot.on{background:var(--accent)}
.cartile{position:relative}
.cartile input{position:absolute;opacity:0;pointer-events:none}
.cartile label{display:flex;gap:.7rem;align-items:center;border:1.5px solid var(--line2);border-radius:var(--r);padding:.55rem .7rem;cursor:pointer;background:var(--field)}
.cartile label img{width:72px;height:54px;object-fit:cover;border-radius:calc(var(--r) - 3px);background:#fff;flex:none}
.cartile label:hover{border-color:var(--accent)}
.cartile input:checked+label{border-color:var(--accent);background:var(--sel);box-shadow:0 0 0 3px var(--ring)}
.cartile input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}
.text-cta{color:var(--accent-text)}
.note{border-left:3px solid var(--accent);background:var(--note-bg);border-radius:.4rem;padding:.6rem .8rem;font-size:.85rem;color:var(--note-fg)}
.note-b{border-left-color:var(--danger);background:var(--danger-bg);color:var(--danger-text)}
.toggle-row{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:700}
.toggle-row input{width:1.2rem;height:1.2rem;accent-color:var(--accent)}
.hpot{position:absolute;left:-9999px;height:0;overflow:hidden}
.meter{background:var(--meter-bg);border:1px solid var(--meter-line);border-radius:var(--r);padding:.55rem .9rem}
.meter .text-muted{color:var(--meter-muted)}
.meter-n{font-variant-numeric:tabular-nums;font-weight:900;color:var(--meter-fg);font-size:1.9rem;line-height:1.1;letter-spacing:.01em}
.roof{display:inline-flex;align-items:center;background:var(--accent);color:var(--accent-ink);font-weight:900;letter-spacing:.14em;font-size:.8rem;padding:.35rem .9rem;border-radius:.4rem}
.underline{text-decoration:underline}
.grid>*,.flex>*{min-width:0}

:root{--bg:#EAF6FD;--surface:#fff;--fg:#22303A;--muted:#566774;--label:#2B3D49;--line:#CFE3F1;--line2:#B8D3E6;
--accent:#F6B418;--accent2:#FFC63A;--accent-ink:#2A1F00;--accent-text:#9A6200;--focus:#1E88D6;--ring:rgba(30,136,214,.25);
--blue:#1F8FCB;--blue-d:#0F4C75;--field:#fff;--wiz:#fff;--wiz-line:#F6B418;--wiz-shadow:0 34px 70px -30px rgba(15,76,117,.55);--box:#FFF6DC;--box-line:#F4D77C;--sel:#FFF3D0;
--note-bg:#FFF3D3;--note-fg:#5A4100;--danger:#D9453B;--danger-text:#B3261E;--danger-bg:#FDE9E7;--dot:#D8E9F5;
--meter-bg:#0F4C75;--meter-line:#0F4C75;--meter-fg:#FFD45A;--meter-muted:#BFE0F5;--r:12px;--rb:999px;--rw:22px;--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23566774' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:4.6rem}
@media(min-width:900px){body{padding-bottom:0}}
select.field{font-size:.95rem}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3,.cd{font-family:'Roboto Condensed','Roboto',Arial,sans-serif;font-weight:700;letter-spacing:0;color:var(--blue-d)}
a{color:inherit}
.strip{background:var(--blue-d);color:#D8EEFB;font-size:.82rem}
.strip .wrap{display:flex;gap:1.3rem;align-items:center;min-height:36px;justify-content:flex-end;flex-wrap:wrap}
.strip a{text-decoration:none;font-weight:500}.strip a:hover{color:#FFD45A}
.strip .sha{margin-right:auto;font-family:'Roboto Condensed';font-weight:700;letter-spacing:.06em;color:#FFD45A}
.site-top{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 14px rgba(15,76,117,.14)}
.nav{display:flex;align-items:center;gap:1.2rem;min-height:70px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}
.brand img.van{width:68px;height:50px;object-fit:cover;border-radius:10px;border:2px solid var(--accent)}
.brand b{font-family:'Roboto Condensed';font-size:1.55rem;font-weight:700;color:var(--blue-d);line-height:1;letter-spacing:.01em}
.brand b em{font-style:normal;color:#D98F00}
.brand img.sha{height:30px;width:auto}
.menu{display:none;margin-left:auto;gap:.2rem;align-items:center;font-family:'Roboto Condensed';font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.menu a{text-decoration:none;padding:.5rem .75rem;border-radius:999px;color:#2B3D49}
.menu a:hover{background:#E6F3FC;color:var(--blue-d)}
.menu a.bk{background:var(--accent);color:var(--accent-ink);padding:.55rem 1.25rem;margin-right:.3rem;box-shadow:0 3px 0 #C98F00}
.menu a.bk:hover{background:var(--accent2)}
@media(min-width:1040px){.menu{display:flex}.burger{display:none}}@media(max-width:560px){.brand img.sha{display:none}.brand b{font-size:1.3rem}.brand img.van{width:56px;height:42px}.strip .sha,.strip a[href^=mailto]{display:none}.strip .wrap{justify-content:space-between}}
.burger{margin-left:auto;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:.55rem 1.1rem;font-weight:900;font-family:'Roboto Condensed';letter-spacing:.05em;text-transform:uppercase}
.mnav{position:fixed;inset:0 0 0 auto;width:min(86vw,340px);background:#fff;z-index:80;transform:translateX(100%);transition:transform .22s;padding:1.2rem;overflow:auto;visibility:hidden}
.mnav-open .mnav{transform:none;visibility:visible;box-shadow:-20px 0 50px rgba(15,76,117,.35)}
.mnav a{display:block;padding:.8rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;font-family:'Roboto Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.mnav a.bk{background:var(--accent);color:var(--accent-ink);text-align:center;border-radius:999px;border:0;margin-bottom:.8rem}
.mnav-ov{position:fixed;inset:0;background:rgba(15,76,117,.45);z-index:70}.mnav-ov[hidden]{display:none}
/* hero */
.hero{position:relative;overflow:hidden;padding-bottom:140px}
.hero .ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}.hero .sun{display:none}.hero .wrap>div:first-child{background:rgba(2,98,152,.74);padding:1.5rem 1.7rem 1.6rem;border-radius:6px;backdrop-filter:blur(2px)}.vanbox{display:none}@media(min-width:960px){.vanbox{display:block}}
.hero .wrap{position:relative;display:grid;gap:26px;padding-top:44px}
@media(min-width:960px){.hero .wrap{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:40px;padding-top:56px}}
.tag{display:inline-block;background:#fff;color:var(--blue-d);font-family:'Roboto Condensed';font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;padding:.3rem .9rem;border-radius:999px;box-shadow:0 3px 0 rgba(15,76,117,.18)}
.hero h1{font-size:clamp(1.8rem,3.3vw,2.7rem);line-height:1.1;margin-top:.9rem;color:#fff;max-width:24ch;text-shadow:0 2px 6px rgba(0,40,70,.45)}
.hero .lead{font-size:1.1rem;color:#fff;margin-top:.9rem;max-width:50ch}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.chip{display:inline-flex;align-items:baseline;gap:.55rem;text-decoration:none;background:#fff;border-radius:999px;padding:.55rem 1.05rem;box-shadow:0 4px 0 rgba(15,76,117,.18);font-weight:500;color:#173B57;transition:transform .15s}
.chip:hover{transform:translateY(-2px)}
.chip b{font-family:'Roboto Condensed';font-size:1.25rem;color:#C27F00;font-weight:700}
.chipnote{display:inline-block;font-size:.82rem;color:#1d4560;background:rgba(255,255,255,.88);padding:.35rem .8rem;border-radius:999px;margin-top:.8rem}
.vanbox{position:relative;max-width:400px;justify-self:end;align-self:start;width:100%}
.vanbox img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:6px solid #fff;box-shadow:0 26px 50px -22px rgba(15,76,117,.6);transform:rotate(1.6deg)}
.sticker{position:absolute;left:-18px;bottom:-22px;background:var(--accent);color:var(--accent-ink);border-radius:20px;padding:.7rem 1rem;box-shadow:0 5px 0 #C98F00;transform:rotate(-3deg);line-height:1.15}
.sticker small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sticker b{font-family:'Roboto Condensed';font-size:1.8rem}
.book-sec{position:relative;margin-top:-104px;z-index:2}
.pe-wiz{max-width:1020px;margin:0 auto}
.pe-wiz .wizard{padding:1.4rem 1.2rem;border-width:3px}
@media(min-width:760px){.pe-wiz .wizard{padding:1.8rem 2rem}}
@media(min-width:1000px){.pe-wiz #carTiles{grid-template-columns:repeat(4,minmax(0,1fr))}.pe-wiz .cartile label{flex-direction:column;align-items:stretch;gap:.4rem;padding:.5rem .5rem .6rem;text-align:left;height:100%}.pe-wiz .cartile label img{width:100%;height:92px;border-radius:8px}}
/* sections */
.sec{padding:76px 0}
.sec.white{background:#fff}
.sec h2{font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.1}
.sec .intro{color:var(--muted);max-width:60ch;margin-top:.6rem}
.rides{display:grid;gap:14px;margin-top:2rem}
@media(min-width:640px){.rides{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.rides{grid-template-columns:repeat(3,1fr)}}
.ride{display:block;text-decoration:none;background:#fff;border-radius:20px;padding:1.2rem 1.3rem;border:2px solid var(--line);position:relative;transition:transform .15s,border-color .15s}
.ride:hover{transform:translateY(-3px);border-color:var(--accent)}
.ride{padding:0 0 1.2rem;overflow:hidden}.ride .rimg{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.ride .rn,.ride .rp,.ride .rm,.ride .rx{margin-left:1.3rem;margin-right:1.3rem}.ride .rn{margin-top:1rem}.ride .rn{font-family:'Roboto Condensed';font-weight:700;font-size:1.2rem;color:var(--blue-d)}
.ride .rp{font-family:'Roboto Condensed';font-weight:700;font-size:2.4rem;color:#C27F00;line-height:1.1;margin-top:.3rem}
.ride .rp small{font-size:1rem;color:var(--muted);font-family:'Roboto';font-weight:500}
.ride .rm{font-size:.88rem;color:var(--muted);margin-top:.2rem}
.ride .rx{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line2);font-size:.88rem;color:#2B3D49}
.ride.hot{background:#FFF6DC;border-color:var(--accent)}
.fleet{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 18px;margin:1.6rem -20px 0}
.fcard{flex:0 0 min(78vw,270px);scroll-snap-align:start;background:#fff;border-radius:22px;overflow:hidden;border:2px solid var(--line);display:flex;flex-direction:column}
.fcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fcard .fb{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.15rem;flex:1}
.fcard h3{font-size:1.25rem}
.fcard .fm{color:var(--muted);font-size:.88rem}
.fcard .fp{font-family:'Roboto Condensed';font-weight:700;font-size:1.7rem;color:#C27F00;margin-top:.5rem}
.fcard .fp small{display:block;font-family:'Roboto';font-size:.72rem;color:var(--muted);font-weight:500;letter-spacing:.02em}
.fcard .btn{margin-top:auto}
.btn-ghost{box-shadow:inset 0 0 0 2px var(--line2);color:var(--blue-d)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--blue)}
.btn-cta{box-shadow:0 4px 0 #C98F00}
.btn-cta:active{box-shadow:0 1px 0 #C98F00;transform:translateY(3px)}
.bento{display:grid;gap:14px;margin-top:2rem}
@media(min-width:900px){.bento{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto}.bento .big{grid-row:span 2}}
.air{border-radius:24px;overflow:hidden;background:#fff;border:2px solid var(--line);display:flex;flex-direction:column}
.air img{width:100%;object-fit:cover;aspect-ratio:16/10}
.big img{aspect-ratio:auto;flex:1;min-height:260px}
.air .ab{padding:1.2rem 1.4rem 1.4rem}
.air h3{font-size:1.45rem}
.air p{color:#33434F;margin-top:.4rem}
.air .am{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.pill{background:#E6F3FC;color:var(--blue-d);border-radius:999px;padding:.2rem .8rem;font-size:.84rem;font-weight:700}
.pill.y{background:#FFF0C4;color:#6A4500}
.air .links{margin-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap}
.steps{display:grid;gap:1.6rem;margin-top:2.2rem;counter-reset:s;position:relative}
@media(min-width:860px){.steps{grid-template-columns:repeat(3,1fr);gap:2.4rem}.steps:before{content:"";position:absolute;left:3rem;right:3rem;top:2.1rem;border-top:3px dotted var(--accent)}}
.step{position:relative}
.step .n{width:4.2rem;height:4.2rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:'Roboto Condensed';font-weight:700;font-size:2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 0 #C98F00;position:relative;z-index:1}
.step h3{font-size:1.3rem;margin-top:1rem}.step p{color:var(--muted);margin-top:.3rem;max-width:34ch}
.trips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.trips a{background:#fff;border:2px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;text-decoration:none;font-weight:500}
.trips a:hover{border-color:var(--accent);background:#FFF6DC}
.paystrip{background:var(--blue-d);color:#fff}
.paystrip .wrap{display:grid;gap:1.2rem;padding-top:44px;padding-bottom:44px;align-items:center}
@media(min-width:900px){.paystrip .wrap{grid-template-columns:1fr auto;gap:3rem}}
.paystrip h2{color:#fff;font-size:1.9rem}.paystrip p{color:#CDE7F8;margin-top:.4rem;max-width:62ch}
.fq{max-width:860px;margin-top:1.8rem}
details.q{background:#fff;border:2px solid var(--line);border-radius:18px;margin-bottom:10px}
details.q summary{list-style:none;cursor:pointer;padding:1rem 1.3rem;font-family:'Roboto Condensed';font-weight:700;font-size:1.15rem;color:var(--blue-d);display:flex;justify-content:space-between;gap:1rem;align-items:center}
details.q summary::-webkit-details-marker{display:none}
details.q summary:after{content:"+";font-size:1.6rem;color:#C27F00;line-height:1}
details.q[open]{border-color:var(--accent)}details.q[open] summary:after{content:"\2212"}
details.q p{padding:0 1.3rem 1.2rem;color:#33434F}
footer{background:#0A3453;color:#B5D6EC;padding:52px 0 28px;font-size:.93rem}
.fgrid{display:grid;gap:2rem}
@media(min-width:800px){.fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
footer h4{font-family:'Roboto Condensed';color:#FFD45A;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem;font-size:1rem}
footer a{display:block;text-decoration:none;padding:.18rem 0}footer a:hover{color:#fff}
footer .brand b{color:#fff}
.copy{margin-top:2rem;padding-top:1.1rem;border-top:1px solid #1D5278;font-size:.8rem}
.mobbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:.55rem;padding:.65rem .75rem;background:#fff;box-shadow:0 -6px 20px rgba(15,76,117,.2)}
.mobbar a{flex:1;text-align:center;text-decoration:none;font-family:'Roboto Condensed';font-weight:700;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;padding:.75rem .4rem;border-radius:999px}
.mobbar .m-bk{background:var(--accent);color:var(--accent-ink);flex:1.5;box-shadow:0 3px 0 #C98F00}
.mobbar .m-wa{background:#25A95A;color:#fff}
.mobbar .m-vb{background:#6F5BD5;color:#fff}
.mobbar .m-tel{background:var(--blue-d);color:#fff}
@media(min-width:900px){.mobbar{display:none}}
.wa-float{display:none}
@media(min-width:900px){.wa-float{display:flex;position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;border-radius:50%;background:#25A95A;color:#fff;text-decoration:none;align-items:center;justify-content:center;font-family:'Roboto Condensed';font-weight:700;font-size:.82rem;line-height:1.05;text-align:center;box-shadow:0 5px 0 #187A40,0 14px 28px -10px rgba(0,0,0,.5)}.wa-float:hover{background:#2EBD67}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mnav,.btn,.chip,.ride{transition:none}}

/* ---- inner pages (written for the package; colours come from the variables of each site) ---- */
.pagehead{padding:1.7rem 0 1.5rem;border-bottom:1px solid var(--line);background:var(--surface)}
.pagehead .crumbs{font-size:.84rem;color:var(--muted);margin:0 0 .7rem}
.pagehead .crumbs a{color:var(--accent-text);text-decoration:none}
.pagehead .crumbs a:hover{text-decoration:underline}
.pagehead .crumbs i{font-style:normal;margin:0 .35rem;opacity:.6}
.pagehead h1{font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.18;margin:0;max-width:62rem}
.pagehead .sub{margin:.7rem 0 0;color:var(--muted);max-width:56rem}
.pg{padding:2rem 0 3rem}
.pagegrid{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:1040px){.pagegrid{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:2.6rem}}
.pageform{min-width:0}
.pagewide{max-width:46rem;margin:0 auto}
.prose{min-width:0;font-size:1.02rem;line-height:1.7;overflow-wrap:anywhere}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:1.45rem;line-height:1.25;margin:2.1rem 0 .7rem}
.prose h3{font-size:1.15rem;line-height:1.3;margin:1.6rem 0 .5rem}
.prose h4{font-size:1rem;margin:1.2rem 0 .4rem}
.prose p{margin:.85rem 0}
.prose ul,.prose ol{margin:.85rem 0;padding-left:1.35rem}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:.3rem 0}
.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}
.prose img{max-width:100%;height:auto;border-radius:var(--r);margin:1rem 0}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.1rem 0;font-size:.93rem}
.prose th,.prose td{padding:.5rem .65rem;border:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{background:var(--surface);font-weight:800}
.prose th,.prose td{overflow-wrap:normal;word-break:normal}
.prose th{white-space:nowrap}
.prose td.pr,.prose td.num{white-space:nowrap;text-align:right}
.prose blockquote{margin:1.2rem 0;padding:.2rem 1rem;border-left:3px solid var(--accent)}
.prose .facts-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.7rem;margin:1.2rem 0}
.prose .facts-box div{padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.prose .facts-box dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.prose .facts-box dd{margin:.2rem 0 0;font-weight:900;font-size:1.15rem}
.prose .cta{display:inline-block;margin:.6rem .5rem .2rem 0}
.prose .note{padding:.8rem 1rem;border-radius:var(--r);background:var(--note-bg);color:var(--note-fg);margin:1rem 0}
.prose .rel{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0;padding:0;list-style:none}
.prose .rel li{margin:0}
.prose .rel a{display:inline-block;padding:.4rem .8rem;border:1px solid var(--line2);border-radius:var(--r);text-decoration:none}
.pcalc{max-width:46rem;margin:0 auto;padding:1.4rem;border:1px solid var(--line2);border-radius:var(--rw);background:var(--surface)}
.pcalc h2{margin:0 0 .4rem;font-size:1.4rem}
.pcalc .row{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1rem}
@media(min-width:640px){.pcalc .row{grid-template-columns:1fr 1fr}}
.pcalc label{display:block;font-weight:800;margin-bottom:.3rem}
.pcalc select{width:100%;padding:.7rem .8rem;border:1px solid var(--line2);border-radius:var(--r);background:var(--field);color:var(--fg)}
.pcalc .info{margin:1rem 0 .4rem;font-weight:800}
.pcalc .car{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--r);margin-top:.55rem}
.pcalc .car b{display:block}.pcalc .car small{color:var(--muted)}
.pcalc .car .pp{display:flex;align-items:center;gap:.8rem;font-weight:900;white-space:nowrap}

/* hub cards and route guides */
.prose .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:1.3rem 0}
.prose a.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg)}
.prose a.card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:0}
.prose a.card span{display:block;padding:.65rem .8rem;font-weight:600;line-height:1.3}
.prose a.card:hover span{color:var(--accent-text)}
.prose a.hc-img{display:block;margin:1.6rem 0 .3rem;text-decoration:none}
.prose a.hc-img img{width:100%;max-width:440px;aspect-ratio:3/2;object-fit:cover;margin:0}
.prose ul.guides{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .6rem;margin:.9rem 0}
.prose ul.guides li{margin:0}
.prose ul.guides a{display:inline-block;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;font-size:.93rem}
.prose ul.guides a:hover{color:var(--accent-text)}
.prose .gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:1.2rem 0}.prose .gal img{width:100%;aspect-ratio:3/2;object-fit:cover;margin:0}
.in-book .mobbar .m-bk{display:none}

/* menu: dropdowns on desktop, groups in the drawer */
.menu{gap:.1rem}
.menu a{padding:.5rem .6rem}
.menu .dd{position:relative;display:flex;align-items:center}
.menu .dd-a{padding-right:.1rem}
.menu .dd-t{width:1.1rem;height:1.6rem;padding:0;border:0;background:transparent;color:#2B3D49;cursor:pointer;position:relative;margin-right:.2rem}
.menu .dd-t::before{content:"";position:absolute;left:50%;top:50%;width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-70%) rotate(45deg)}
.menu .sub{display:none;position:absolute;top:100%;left:0;min-width:250px;max-height:78vh;overflow:auto;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:.4rem;box-shadow:0 24px 50px -20px rgba(15,76,117,.45);z-index:60}
.menu .sub.cols{min-width:540px;columns:2;column-gap:.3rem;left:auto;right:0}
.menu .sub.cols3{min-width:800px;columns:3;column-gap:.3rem;left:auto;right:0}
.menu .sub a{display:block;padding:.5rem .8rem;border-radius:8px;text-transform:none;letter-spacing:0;font-family:Roboto,system-ui,sans-serif;font-weight:500;white-space:nowrap;break-inside:avoid}
.menu .dd:hover>.sub,.menu .dd:focus-within>.sub,.menu .dd.open>.sub{display:block}
.mnav .mg{display:grid;grid-template-columns:1fr 3rem;align-items:stretch;border-bottom:1px solid var(--line)}
.mnav .mg>a{border:0}
.mnav .mg-t{position:relative;border:0;border-left:1px solid var(--line);background:transparent;color:var(--blue-d);cursor:pointer}
.mnav .mg-t::before{content:"";position:absolute;left:50%;top:50%;width:.55rem;height:.55rem;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translate(-50%,-70%) rotate(45deg);transition:transform .15s}
.mnav .mg-t[aria-expanded=true]::before{transform:translate(-50%,-30%) rotate(-135deg)}
.mnav .mg-sub{display:none;grid-column:1/-1;padding:0 0 .5rem .8rem;border-left:3px solid var(--accent);margin-left:.2rem}
.mnav .mg.open .mg-sub{display:block}
.mnav .mg-sub a{font-weight:500;text-transform:none;letter-spacing:0;font-family:Roboto,system-ui,sans-serif;padding:.6rem 0;font-size:.95rem}
@media(min-width:1040px) and (max-width:1279px){.menu{display:none}.burger{display:inline-block}}
@media(min-width:1280px){.menu{font-size:.92rem}}

/* footer as on the live site */
@media(min-width:800px){.fgrid.fg3{grid-template-columns:1.5fr 1.1fr .8fr}.fgrid.fg4{grid-template-columns:1.3fr 1.1fr .9fr .9fr}}
footer p{margin:0 0 .7rem;line-height:1.55}
footer .fbadge{display:block;margin-top:.9rem;height:auto;max-width:230px}
footer .fpay img{display:block;max-width:100%;height:auto;background:#fff;border-radius:8px;padding:6px}
footer .fsoc{display:flex;gap:.6rem;margin-top:.8rem}footer .fsoc a{padding:0}footer .fsoc img{width:40px;height:40px;border-radius:8px;background:none;padding:0}
footer .copy a.pol{display:inline;padding:0;text-decoration:underline}

/* Pattaya Express: one picture style for all inner pages */
.prose .pimg{margin:1.3rem 0}
.prose .pimg img{display:block;width:100%;max-width:520px;aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:14px}
.prose .pimg.car img{aspect-ratio:4/3;max-width:420px}
.prose .gal{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:1.3rem 0}
.prose .gal img{flex:0 0 calc((100% - 24px)/3);width:calc((100% - 24px)/3);aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:12px}
.prose .gal.c2 img{flex-basis:calc((100% - 12px)/2);width:calc((100% - 12px)/2)}
.prose .dest{display:grid;grid-template-columns:240px 1fr;gap:1.3rem;align-items:start;margin:1.4rem 0;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.prose .dest.nopic{grid-template-columns:1fr}
.prose .dest .di img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:14px}
.prose .dest h2{margin:0 0 .4rem;font-size:1.35rem}
.prose .dest p{margin:.35rem 0}
.prose .acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:1.3rem 0}
.prose .ac{display:flex;flex-direction:column;gap:.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0 0 .9rem}
.prose .ac img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:0}
.prose .ac b,.prose .ac span,.prose .ac a.ask{padding:0 .9rem}
.prose .ac b{margin-top:.6rem;font-size:1.05rem}
.prose .ac span{color:var(--muted);font-size:.93rem}
.prose .carrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:1.2rem 0 1.6rem}
.prose .carrow a.cr{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg)}
.prose .carrow img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;border-radius:0}
.prose .carrow b{padding:.65rem .85rem 0}
.prose .carrow span{padding:.1rem .85rem .8rem;color:var(--muted);font-size:.9rem}
.prose .carrow a.cr:hover b{color:var(--accent-text)}
@media(max-width:900px){.prose .carrow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
 .prose .gal img{flex-basis:calc((100% - 12px)/2);width:calc((100% - 12px)/2)}
 .prose .dest{grid-template-columns:1fr}
}

.mobbar{gap:.35rem;padding:.55rem .5rem}
.mobbar a{font-size:.78rem;padding:.7rem .15rem;letter-spacing:.02em}
.mobbar .m-bk{flex:1.3}
.mobbar .m-ml{background:#fff;color:#17264A;box-shadow:inset 0 0 0 2px #17264A}
.mobbar.off{display:none}
@media(min-width:900px){
.strip,.topline{position:sticky;top:0;z-index:51;height:36px;box-sizing:border-box}
.strip .wrap,.topline .wrap{height:100%;min-height:0;flex-wrap:nowrap}
.site-top{top:36px}
.wa-float{display:none!important}
}
.lang{display:flex;gap:.45rem;align-items:center;margin-left:.2rem;flex:none}
.lang a.fl{display:block;width:24px;height:17px;border-radius:2px;background-size:cover;background-position:center;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.lang a.fl:hover{box-shadow:0 0 0 2px #FFD45A}
.fl-gb{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'><clipPath id='s'><path d='M0 0v30h60V0z'/></clipPath><clipPath id='t'><path d='M30 15h30v15zv15H0zH0V0zV0h30z'/></clipPath><g clip-path='url(%23s)'><path d='M0 0v30h60V0z' fill='%23012169'/><path d='M0 0l60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/><path d='M0 0l60 30M60 0L0 30' clip-path='url(%23t)' stroke='%23C8102E' stroke-width='4'/><path d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/><path d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/></g></svg>")}
.fl-cn{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'><rect width='30' height='20' fill='%23DE2910'/><polygon fill='%23FFDE00' points='5.00,2.00 5.67,4.07 7.85,4.07 6.09,5.35 6.76,7.43 5.00,6.15 3.24,7.43 3.91,5.35 2.15,4.07 4.33,4.07'/><polygon fill='%23FFDE00' points='10.86,1.49 10.38,2.03 10.75,2.66 10.09,2.37 9.61,2.92 9.67,2.20 9.00,1.91 9.71,1.75 9.78,1.03 10.15,1.65'/><polygon fill='%23FFDE00' points='12.99,3.86 12.34,4.18 12.44,4.90 11.93,4.38 11.28,4.70 11.62,4.05 11.12,3.53 11.83,3.66 12.17,3.01 12.27,3.73'/><polygon fill='%23FFDE00' points='12.96,7.27 12.24,7.30 12.04,8.00 11.79,7.32 11.06,7.34 11.63,6.90 11.38,6.21 11.99,6.62 12.56,6.17 12.36,6.87'/><polygon fill='%23FFDE00' points='10.78,9.62 10.10,9.37 9.65,9.94 9.68,9.21 9.00,8.95 9.70,8.76 9.74,8.04 10.13,8.64 10.84,8.45 10.38,9.02'/></svg>")}
.fl-th{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'><rect width='9' height='6' fill='%23A51931'/><rect y='1' width='9' height='4' fill='%23F4F5F8'/><rect y='2' width='9' height='2' fill='%232D2A4A'/></svg>")}
@media(max-width:480px){.strip .wrap,.topline .wrap{gap:.7rem}.strip a,.topline a{white-space:nowrap}.lang{gap:.35rem}.lang a.fl{width:20px;height:14px}}
