@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap');
:root{--navy:#0e3144;--teal:#0b8da8;--teal2:#12b5be;--gold:#d8a33b;--gold2:#f0c866;--ink:#163241;--muted:#6d7f89;--line:#dcecef;--shadow:0 20px 55px rgba(16,70,90,.13);--shadow-sm:0 10px 30px rgba(16,70,90,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Kanit',system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 8%,rgba(15,179,190,.12),transparent 28%),radial-gradient(circle at 90% 16%,rgba(240,200,102,.17),transparent 25%),#f8fcfd}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(255,255,255,.86);border-bottom:1px solid rgba(215,234,239,.8)}.navbar{height:84px;display:flex;align-items:center;gap:28px}.logo img{width:172px}.nav{display:flex;gap:26px;margin-left:auto}.nav a{font-size:15px;font-weight:500;color:#32505f;position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--teal),var(--gold));transform:scaleX(0);transition:.25s}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 18px;font-family:inherit;font-weight:600;cursor:pointer;transition:.2s;background:#fff}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal2));box-shadow:0 10px 24px rgba(10,145,168,.22)}.btn-gold{color:#fff;background:linear-gradient(135deg,#b9851b,var(--gold2));box-shadow:0 10px 24px rgba(201,147,35,.22)}.btn-outline{border:1px solid #bcdce4;color:#16546a}.menu-toggle{display:none;margin-left:auto;background:none;border:0;font-size:28px}.hero{position:relative;overflow:hidden;padding:76px 0 68px;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(115deg,rgba(255,255,255,.98) 8%,rgba(241,253,255,.84) 52%,rgba(224,248,251,.72) 100%)}.hero:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-140px;top:-170px;z-index:-2;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.9),rgba(41,178,196,.18) 45%,rgba(16,126,158,.09) 68%,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:38px}.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:13px;color:var(--teal);font-weight:600}.hero h1{font-size:clamp(42px,5vw,68px);line-height:1.08;margin:20px 0 15px;letter-spacing:-1.5px}.gradient-text{background:linear-gradient(90deg,var(--teal),#1bb8c3);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:19px;line-height:1.8;color:#57717d;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-visual{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center}.hero-visual:before{content:"";position:absolute;inset:30px 0 0 40px;border-radius:46% 54% 36% 64% / 55% 42% 58% 45%;background:linear-gradient(145deg,#e9fbff,#fff5df);box-shadow:inset -30px -30px 70px rgba(10,141,168,.08),var(--shadow)}.hero-visual .van{position:relative;width:110%;max-width:700px;transform:translateX(-20px);filter:drop-shadow(0 22px 20px rgba(21,74,90,.16))}.float-card{position:absolute;background:rgba(255,255,255,.91);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);border-radius:18px;padding:14px 16px;font-size:13px}.float-card strong{display:block;font-size:16px;color:var(--teal)}.fc-1{left:0;bottom:38px}.fc-2{right:10px;top:35px}.route-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.route-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;text-align:center;box-shadow:0 8px 24px rgba(27,77,92,.07)}.route-item b{display:block;margin-top:4px}.price-panel{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#0a819c,#0f9fb2);color:#fff;border-radius:22px;padding:16px 20px;max-width:620px;box-shadow:var(--shadow-sm)}.price-panel .price{font-size:27px;font-weight:700;color:#ffe6a1}.price-panel small{display:block;opacity:.88}.section{padding:76px 0}.section.soft{background:linear-gradient(180deg,rgba(235,250,252,.78),rgba(255,255,255,.65))}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.kicker{color:var(--teal);font-weight:600;letter-spacing:.5px}.section h2{font-size:clamp(30px,4vw,46px);margin:6px 0 0;line-height:1.2}.section-desc{color:var(--muted);max-width:650px;line-height:1.8}.features{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.feature-card,.card{background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm)}.feature-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e6fbfe,#fff1d5);font-size:24px}.feature-card h3{font-size:17px;margin:13px 0 5px}.feature-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.van-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.van-card{overflow:hidden;padding:0}.van-card .image-wrap{height:210px;padding:25px;background:linear-gradient(145deg,#ecfbff,#fff7e8)}.van-card .image-wrap img{width:100%;height:100%;object-fit:contain}.van-card .body{padding:22px}.van-card h3{font-size:23px;margin:0 0 8px}.van-card .tag{color:var(--gold);font-weight:600}.van-card ul{padding-left:0;list-style:none;color:var(--muted);line-height:1.9}.van-card ul li:before{content:"✓";color:#12a779;font-weight:700;margin-right:8px}.page-hero{padding:62px 0 48px;background:linear-gradient(120deg,#fff,#ecfbff 58%,#fff8e8);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:8%;top:-120px;background:rgba(24,181,190,.1)}.page-hero h1{font-size:48px;margin:0 0 10px}.breadcrumbs{color:var(--muted);font-size:14px}.service-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;align-items:start}.checklist{display:grid;gap:10px}.checklist.cols-2{grid-template-columns:repeat(2,1fr)}.check{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-radius:15px;background:#f7fcfd;border:1px solid #e3f0f2}.check i{width:22px;height:22px;border-radius:50%;background:#15aa7a;color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px;flex:0 0 auto}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery-item{min-height:220px;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(145deg,#dff7fb,#fff1d7);box-shadow:var(--shadow-sm)}.gallery-item:nth-child(1){grid-column:span 5}.gallery-item:nth-child(2){grid-column:span 4}.gallery-item:nth-child(3){grid-column:span 3}.gallery-item:nth-child(4){grid-column:span 7}.gallery-item:nth-child(5){grid-column:span 5}.gallery-bg{position:absolute;inset:0;background-image:url('../images/scenery.svg');background-size:cover;background-position:center}.gallery-item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,45,59,.86))}.gallery-item .label{position:absolute;z-index:2;left:20px;bottom:18px;color:#fff;font-size:19px;font-weight:600}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{font-size:45px;color:#c8a04e;line-height:1}.stars{color:#e6a926;letter-spacing:2px}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-img{height:180px;border-radius:18px;background:url('../images/scenery.svg') center/cover no-repeat;margin-bottom:18px}.article h3{font-size:20px;margin:0 0 7px}.article p{color:var(--muted);font-size:14px;line-height:1.7}.contact-grid{display:grid;grid-template-columns:.75fr 1.1fr 1fr;gap:20px}.contact-card{display:flex;gap:14px;align-items:center;margin-bottom:12px}.contact-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0d8da8,#15b7bd);color:#fff;display:grid;place-items:center;font-size:20px}.contact-card strong{display:block}.form-card input,.form-card textarea,.form-card select{width:100%;padding:14px 15px;border:1px solid #d6e8ec;border-radius:13px;margin-bottom:11px;font-family:inherit;outline:none;background:#fbfeff}.form-card textarea{min-height:115px;resize:vertical}.map-placeholder{height:260px;border-radius:18px;background:linear-gradient(145deg,#e7f7f9,#fff4d9);display:grid;place-items:center;text-align:center;padding:30px}.map-dot{width:64px;height:64px;border-radius:50%;background:#0d8da8;color:white;display:grid;place-items:center;margin:auto auto 13px;font-size:28px;box-shadow:0 12px 25px rgba(13,141,168,.25)}.cta-band{padding:40px;border-radius:30px;color:#fff;background:linear-gradient(100deg,rgba(9,102,123,.93),rgba(9,139,157,.78)),url('../images/scenery.svg') center/cover;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow)}.cta-band h2{margin:0;font-size:34px}.cta-band p{margin:6px 0 0;opacity:.9}.footer{padding:34px 0 26px;background:#0b2e3d;color:#d9e9ee;margin-top:68px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer small{color:#9fb6bf}.footer h4{color:#fff;margin:0 0 12px}.footer-links{display:grid;gap:8px}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:18px;font-size:13px;color:#98aeb7}@media(max-width:980px){.nav,.nav-actions{display:none}.menu-toggle{display:block}.navbar.open{height:auto;flex-wrap:wrap;padding:14px 0 18px}.navbar.open .nav{display:flex;order:3;width:100%;flex-direction:column;gap:12px}.navbar.open .nav-actions{display:flex;order:4;width:100%;flex-wrap:wrap}.hero-grid,.service-layout,.contact-grid,.checklist.cols-2{grid-template-columns:1fr}.features{grid-template-columns:repeat(2,1fr)}.van-grid,.articles,.testimonials{grid-template-columns:1fr}.hero-visual{min-height:360px}.gallery-item:nth-child(n){grid-column:span 6}}@media(max-width:640px){.container{width:min(100% - 26px,1180px)}.hero{padding-top:44px}.hero h1{font-size:42px}.hero p{font-size:17px}.hero-grid{gap:16px}.hero-visual{min-height:280px}.hero-visual .van{width:120%}.route-strip{grid-template-columns:repeat(2,1fr)}.price-panel{grid-template-columns:1fr}.features{grid-template-columns:1fr}.page-hero h1{font-size:38px}.gallery-item:nth-child(n){grid-column:span 12}.section{padding:56px 0}.section-head{align-items:start;flex-direction:column}.cta-band{padding:28px;align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}}
/* ==================== HOME v2 : หัวข้อใหม่ + ฟังก์ชันโต้ตอบ ==================== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99;background:linear-gradient(90deg,var(--teal),var(--gold2));border-radius:0 3px 3px 0}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* --- แถบตัวเลข --- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:22px;padding:24px 18px;text-align:center;box-shadow:var(--shadow-sm)}
.stat b{display:block;font-size:42px;font-weight:700;line-height:1;background:linear-gradient(90deg,var(--teal),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}

/* --- เครื่องคำนวณราคา --- */
.estimator{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}
.est-form{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow-sm)}
.field{margin-bottom:18px}
.field:last-child{margin-bottom:0}
.field>label{display:block;font-weight:600;margin-bottom:10px;font-size:15px}
.field .hint{font-weight:400;color:var(--muted);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{border:1px solid #d6e8ec;background:#fbfeff;border-radius:13px;padding:11px 15px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:.18s;color:#2c4c5a}
.chip:hover{border-color:var(--teal);transform:translateY(-1px)}
.chip[aria-pressed="true"],.chip.is-on{background:linear-gradient(135deg,var(--teal),var(--teal2));border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(10,145,168,.22)}
.chip .rec{font-size:11px;background:var(--gold);color:#fff;border-radius:999px;padding:2px 7px;margin-left:6px}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:44px;height:44px;border-radius:14px;border:1px solid #d6e8ec;background:#fbfeff;font-size:20px;line-height:1;cursor:pointer;font-family:inherit;color:#16546a;transition:.18s}
.stepper button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}
.stepper button:disabled{opacity:.4;cursor:not-allowed}
.stepper output{font-size:19px;font-weight:600;min-width:96px;text-align:center}

.est-result{border-radius:26px;padding:26px;color:#fff;background:linear-gradient(150deg,#0a7e9a,#0f9fb2 55%,#12b5be);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.est-result .kicker{color:#ffe6a1}
.est-price{font-size:clamp(27px,3.2vw,38px);font-weight:700;color:#ffe6a1;line-height:1.2}
.est-breakdown{display:grid;gap:8px;font-size:14px;opacity:.95;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);padding:14px 0}
.est-breakdown div{display:flex;justify-content:space-between;gap:12px}
.est-breakdown span:last-child{font-weight:600;text-align:right}
.est-note{font-size:12.5px;opacity:.85;line-height:1.7;margin:0}
.est-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.est-result .btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.est-result .btn-outline:hover{background:rgba(255,255,255,.12)}

/* --- เส้นทางยอดนิยม --- */
.tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.route-card{display:flex;flex-direction:column;gap:10px;transition:.22s}
.route-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.route-card[hidden]{display:none}
.rt-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.route-card h3{margin:0;font-size:20px}
.pill{font-size:12px;font-weight:600;color:var(--teal);background:#e9f8fb;border-radius:999px;padding:5px 11px;white-space:nowrap}
.route-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.route-card .go{margin-top:auto;color:var(--teal);font-weight:600;font-size:14px}
.route-empty{color:var(--muted);text-align:center;padding:26px}

/* --- ขั้นตอนการจอง --- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:52px;margin-top:34px}
.step{position:relative;text-align:center;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:26px;padding:46px 20px 28px;box-shadow:var(--shadow-sm);transition:.25s}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.step-num{position:absolute;top:-25px;left:50%;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;color:#fff;background:linear-gradient(150deg,#22c3cb,#0a7e9a);border:4px solid #fff;box-shadow:0 10px 22px rgba(10,145,168,.3)}
.step-ico{width:88px;height:88px;border-radius:50%;margin:2px auto 18px;display:grid;place-items:center;color:var(--teal);background:radial-gradient(circle at 34% 28%,#f2fbff,#e2f3fa)}
.step-ico .icon{width:38px;height:38px;stroke-width:1.5}
.step h3{font-size:19px;margin:0 0 8px}
.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.78}
.step:not(:last-child):after{content:"";position:absolute;top:50%;left:100%;width:52px;height:12px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='10' viewBox='0 0 44 10'%3E%3Cg fill='%23a4cee3'%3E%3Ccircle cx='3' cy='5' r='2.1'/%3E%3Ccircle cx='11.6' cy='5' r='2.1'/%3E%3Ccircle cx='20.2' cy='5' r='2.1'/%3E%3Cpath d='M28.6 1 37.4 5l-8.8 4z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center}
.section-desc.bar{position:relative;padding-left:19px}
.section-desc.bar:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--teal2),var(--teal))}

/* --- รีวิวจากลูกค้า (สไลด์) --- */
.reviews{position:relative}
.reviews-track{display:flex;gap:18px;overflow-x:auto;margin-inline:-18px;padding:10px 18px 22px;scrollbar-width:none;-ms-overflow-style:none}
.reviews-track::-webkit-scrollbar{display:none}
.review{flex:0 0 calc((100% - 36px)/3);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.review:before{content:"";position:absolute;right:-18px;top:-22px;width:92px;height:92px;border-radius:50%;background:linear-gradient(140deg,rgba(18,181,190,.11),rgba(240,200,102,.15))}
.review-stars{display:flex;gap:3px;color:#e8a92a;position:relative}
.review-stars .icon{width:18px;height:18px}
.review-text{margin:0;line-height:1.85;color:#3f5c69;font-size:15px;position:relative}
.review-by{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:18px;background:linear-gradient(150deg,#22c3cb,#0a7e9a);flex:0 0 auto}
.review-by strong{display:block;font-size:15px}
.review-by small{color:var(--muted);font-size:13px}
.reviews-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}
.reviews-nav>button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--teal);display:grid;place-items:center;cursor:pointer;transition:.2s;box-shadow:var(--shadow-sm)}
.reviews-nav>button:hover{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;border-color:transparent;transform:translateY(-2px)}
.reviews-nav>button .icon{width:20px;height:20px;stroke-width:2}
.dots{display:flex;gap:8px}
.dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:#c6dee6;cursor:pointer;transition:.25s}
.dots button[aria-current="true"]{width:28px;background:linear-gradient(90deg,var(--teal),var(--teal2))}

/* --- คำถามที่พบบ่อย --- */
.faq{display:grid;gap:12px;max-width:880px;margin-inline:auto}
.faq details{background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:600;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:25px;color:var(--teal);line-height:1;transition:.22s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 20px 20px;color:var(--muted);line-height:1.85}

/* --- ปุ่มลอยติดต่อด่วน --- */
.dock{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;gap:10px;justify-items:end}
.dock a,.dock button{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#fff;border:0;cursor:pointer;box-shadow:0 12px 26px rgba(10,60,78,.3);transition:.2s;font-family:inherit}
.dock a:hover,.dock button:hover{transform:translateY(-3px) scale(1.05)}
.d-call{background:linear-gradient(135deg,#0d8da8,#15b7bd)}
.d-fb{background:linear-gradient(135deg,#1877f2,#4a9bff);font-weight:700}
.d-top{background:#0b2e3d;opacity:0;pointer-events:none;transform:translateY(8px)}
.d-top.show{opacity:1;pointer-events:auto;transform:none}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#0b2e3d;color:#fff;padding:13px 20px;border-radius:14px;font-size:14px;z-index:120;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1080px){.steps{gap:44px 30px}.step:not(:last-child):after{width:30px;background-size:26px 10px}}
@media(max-width:980px){.stats{grid-template-columns:repeat(2,1fr)}.estimator{grid-template-columns:1fr}.route-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);gap:52px 24px}.step:not(:last-child):after{display:none}.review{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:640px){.route-grid,.steps{grid-template-columns:1fr}.steps{gap:50px}.stat b{font-size:34px}.est-form,.est-result{padding:20px}.dock{right:12px;bottom:12px}.dock a,.dock button{width:48px;height:48px;font-size:20px}.review{flex-basis:100%}}

/* --- ปุ่มจองรถตู้บน header --- */
.btn-book{position:relative;isolation:isolate;overflow:hidden;border-radius:999px;padding:13px 26px;color:#fff;font-weight:600;letter-spacing:.2px;background:linear-gradient(120deg,#a9760f,#d8a33b 38%,#f7dc95 52%,#d8a33b 66%,#b9851b);background-size:220% 100%;background-position:0 0;box-shadow:0 10px 24px rgba(201,147,35,.3),inset 0 1px 0 rgba(255,255,255,.45);animation:book-glow 3s ease-in-out infinite;transition:transform .28s cubic-bezier(.2,.7,.3,1),background-position .5s ease}
.btn-book:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%);transform:translateX(-130%);animation:book-sheen 3.6s ease-in-out infinite}
.btn-book .ico{display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.btn-book:hover{transform:translateY(-3px) scale(1.04);background-position:100% 0;animation:none;box-shadow:0 16px 34px rgba(201,147,35,.45),0 0 0 4px rgba(240,200,102,.22),inset 0 1px 0 rgba(255,255,255,.6)}
.btn-book:hover .ico{transform:translateX(4px)}
.btn-book:active{transform:translateY(-1px) scale(1)}
.btn-book:focus-visible{outline:3px solid rgba(13,141,168,.55);outline-offset:3px}
@keyframes book-sheen{0%,58%{transform:translateX(-130%)}88%,100%{transform:translateX(130%)}}
@keyframes book-glow{0%,100%{box-shadow:0 10px 24px rgba(201,147,35,.28),inset 0 1px 0 rgba(255,255,255,.45)}50%{box-shadow:0 12px 30px rgba(216,163,59,.52),0 0 0 4px rgba(240,200,102,.16),inset 0 1px 0 rgba(255,255,255,.55)}}
@media(prefers-reduced-motion:reduce){.btn-book,.btn-book:before{animation:none}.btn-book:hover{transform:none}}

/* --- ไอคอนเส้น (SF Symbols style) --- */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:22px;height:22px;flex:0 0 auto;display:inline-block;vertical-align:-.28em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.eyebrow .icon{width:19px;height:19px;stroke-width:1.6}
.btn .icon{width:20px;height:20px;vertical-align:-.27em;stroke-width:1.6}
.btn-book .ico{display:inline-flex;align-items:center}
.menu-toggle{line-height:0;color:#32505f}
.menu-toggle .icon{width:27px;height:27px}
.route-item .icon{width:29px;height:29px;display:block;margin:0 auto;color:var(--teal);stroke-width:1.6}
.price-panel strong{display:flex;align-items:center;gap:8px}
.price-panel .icon{width:20px;height:20px;vertical-align:0}
.feature-icon .icon{width:26px;height:26px;color:var(--teal);stroke-width:1.6}
.chip .icon{width:17px;height:17px;margin-right:7px;vertical-align:-.26em}
.dock .icon{width:23px;height:23px;stroke-width:1.9;vertical-align:0}
.contact-icon .icon{width:23px;height:23px;stroke-width:1.75;vertical-align:0}
.map-dot .icon{width:30px;height:30px;stroke-width:1.6;vertical-align:0}
.gallery-item .label .icon{width:23px;height:23px;margin-right:9px;stroke-width:1.75}

/* ==================== FOOTER v2 : ดีไซน์ใหม่ทันสมัย ==================== */
.footer{position:relative;isolation:isolate;overflow:hidden;margin-top:92px;padding:0 0 24px;color:#b6d0d9;background:linear-gradient(168deg,#0a2c3c 0%,#082330 48%,#061c27 100%)}
.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(18,181,190,.85) 24%,rgba(240,200,102,.8) 58%,transparent)}
.footer:after{content:"";position:absolute;z-index:-1;width:640px;height:640px;border-radius:50%;left:-210px;bottom:-330px;background:radial-gradient(circle,rgba(18,181,190,.22),transparent 62%);pointer-events:none}
.footer-aura{position:absolute;z-index:-1;width:540px;height:540px;right:-170px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(240,200,102,.16),transparent 63%);pointer-events:none}

.footer-main{display:grid;grid-template-columns:1.6fr .85fr 1fr 1.25fr;gap:36px 30px;padding:62px 0 44px}
.footer-logo{display:inline-flex;align-items:center;gap:13px}
.footer-tagline{margin:20px 0 0;max-width:370px;font-size:15px;line-height:1.85;color:#9fbcc7}
.footer-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.footer-pills span{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;font-size:12.5px;color:#cde4ea;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.footer-pills .icon{width:16px;height:16px;color:var(--teal2);stroke-width:1.8;vertical-align:0}
.footer-social{display:flex;gap:10px;margin-top:22px}
.footer-social a{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#dff1f5;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:.24s cubic-bezier(.2,.7,.3,1)}
.footer-social a:hover{transform:translateY(-3px);color:#fff;border-color:transparent}
.footer-social .s-fb:hover{background:linear-gradient(135deg,#1877f2,#4a9bff);box-shadow:0 10px 22px rgba(24,119,242,.38)}
.footer-social .s-call:hover{background:linear-gradient(135deg,var(--teal),var(--teal2));box-shadow:0 10px 22px rgba(13,141,168,.38)}
.footer-social .s-map:hover{background:linear-gradient(135deg,#b9851b,var(--gold2));box-shadow:0 10px 22px rgba(216,163,59,.38)}
.footer-social .icon{width:21px;height:21px;vertical-align:0}

.footer-col h4{position:relative;margin:0 0 20px;padding-bottom:12px;font-size:15px;font-weight:600;letter-spacing:.3px;color:#fff}
.footer-col h4:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--teal2),var(--gold))}
.footer-links{display:grid;gap:12px}
.footer-links a{display:inline-flex;align-items:center;width:fit-content;font-size:14.5px;color:#9fbcc7;transition:color .22s,transform .22s}
.footer-links a:before{content:"";width:0;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--teal2),var(--gold2));transition:width .25s cubic-bezier(.2,.7,.3,1),margin-right .25s}
.footer-links a:hover{color:#fff}
.footer-links a:hover:before{width:14px;margin-right:9px}

.footer-contact{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:#c6dde5;transition:transform .24s cubic-bezier(.2,.7,.3,1)}
.footer-contact .fc-ico{flex:0 0 auto;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--teal2);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:.24s}
.footer-contact .fc-ico .icon{width:20px;height:20px;vertical-align:0}
.footer-contact b{display:block;font-size:15px;font-weight:600;color:#fff;letter-spacing:.2px}
.footer-contact small{font-size:12.5px;color:#8dabb7}
.footer-contact:hover{transform:translateX(3px)}
.footer-contact:hover .fc-ico{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--teal),var(--teal2));box-shadow:0 10px 20px rgba(13,141,168,.32)}
.footer-book{width:100%;margin-top:18px;border-radius:999px}

.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:13px;color:#87a4b0}
.footer-bottom a{color:#b6d3db}
.footer-bottom a:hover{color:#fff}
.foot-top{display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#dff1f5;font-family:inherit;font-size:13px;cursor:pointer;transition:.22s}
.foot-top:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.foot-top .icon{width:17px;height:17px;stroke-width:1.9;vertical-align:0}

@media(max-width:980px){.footer-main{grid-template-columns:1fr 1fr;gap:34px 26px;padding:48px 0 34px}.footer-brand{grid-column:1/-1}.footer-tagline{max-width:none}}
@media(max-width:640px){.footer{margin-top:64px}.footer-main{grid-template-columns:1fr;gap:30px;padding:42px 0 30px}.footer-bottom{justify-content:center;text-align:center}.foot-top{display:none}}
@media(prefers-reduced-motion:reduce){.footer-social a:hover,.footer-contact:hover,.foot-top:hover{transform:none}}

/* ==================== แบรนด์: โลโก้วงกลม + แบนเนอร์ ====================
   - โลโก้วงกลมมาจาก images/LOGO.png (ครอปเฉพาะตราสัญลักษณ์ไว้ที่ assets/images/logo-circle.png)
   - ถ้าเปลี่ยนไฟล์ LOGO.png ใหม่ ให้สร้าง logo-circle.png / favicon-*.png / apple-touch-icon.png ใหม่ด้วย
   ==================================================================== */

/* --- โลโก้ (หัวเว็บ + ท้ายเว็บ) --- */
.logo,.footer-logo{display:inline-flex;align-items:center;gap:12px;line-height:1}
.logo-mark{position:relative;flex:0 0 auto;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid rgba(197,228,236,.9);box-shadow:0 6px 18px rgba(11,120,150,.16);transition:transform .25s,box-shadow .25s}
.logo-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.logo:hover .logo-mark,.footer-logo:hover .logo-mark{transform:translateY(-2px);box-shadow:0 11px 26px rgba(11,120,150,.26)}
.logo-text{display:block}
.logo-text b{display:block;font-size:20px;font-weight:700;letter-spacing:-.4px;color:#134a86;line-height:1.15}
.logo-text b i{font-style:normal;color:#e0a017}
.logo-text small{display:block;margin-top:3px;font-size:11.5px;font-weight:500;letter-spacing:.3px;color:var(--muted);line-height:1.2}

.footer-logo .logo-mark{width:60px;height:60px;border-color:rgba(255,255,255,.24);box-shadow:0 10px 26px rgba(0,0,0,.3)}
.footer-logo .logo-text b{font-size:22px;color:#fff}
.footer-logo .logo-text b i{color:var(--gold2)}
.footer-logo .logo-text small{color:#9fbcc7}

/* --- HERO : ข้อความวางทับบนแบนเนอร์ (เห็นภาพเต็ม ไม่ถูกครอป) --- */
.hero-banner{position:relative;isolation:isolate;background:#eef7fb}
.hero-bg{position:relative;z-index:0;width:100%;height:auto}
/* ไล่สีขาวจาง ๆ ฝั่งซ้าย ให้ตัวหนังสืออ่านง่ายทุกภาพ */
.hero-banner:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(95deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.82) 26%,rgba(255,255,255,.45) 42%,rgba(255,255,255,0) 56%)}
/* วางข้อความแบบอิงสัดส่วนจอ ไม่ใช่กรอบ 1180px กลางจอ
   ไม่งั้นพอจอกว้างขึ้น ภาพจะยืดแต่ข้อความอยู่ที่เดิม เลยไหลไปทับตัวรถ */
.hero-inner{position:absolute;z-index:2;inset:0;display:flex;align-items:center;padding-inline:clamp(18px,5vw,120px)}
/* กว้างไม่เกินพื้นที่ว่างฝั่งซ้ายของภาพ (ตัวรถเริ่มราว 47% ของภาพ) */
.hero-copy{width:min(40%,720px)}
.hero-copy .eyebrow{background:rgba(255,255,255,.9);backdrop-filter:blur(6px)}
.hero-copy h1{font-size:clamp(26px,3.2vw,56px);line-height:1.15;margin:16px 0 12px;letter-spacing:-1.2px}
.hero-copy p{font-size:clamp(14px,1.1vw,17px);line-height:1.8;color:#42606d;margin:0}
.hero-copy .hero-actions{margin-top:clamp(14px,1.8vw,24px)}
.hero-copy .trust-row{max-width:none;gap:10px;margin-top:clamp(16px,1.8vw,24px)}
.hero-copy .trust b{font-size:13.5px}
.hero-copy .trust small{font-size:11.5px}
.hero-badge{position:absolute;z-index:2;right:max(20px,6vw);bottom:16%;line-height:1.55}

@media(max-width:1180px){
  .hero-copy h1{font-size:clamp(24px,3.3vw,40px)}
  .hero-copy .trust-row{gap:9px;margin-top:18px}
  .hero-banner .hero-badge{display:none}
}
/* จอแคบ: วางภาพเต็มความกว้างก่อน แล้วค่อยแสดงข้อความใต้ภาพ */
@media(max-width:980px){
  .hero-banner:before{display:none}
  .hero-inner{position:static;display:block;width:min(100% - 26px,1180px);margin-inline:auto;padding:30px 0 6px}
  .hero-copy{width:auto}
  .hero-copy h1{font-size:clamp(32px,7vw,44px);margin-top:18px}
  .hero-copy p{font-size:17px}
}

@media(max-width:980px){
  .logo-mark{width:48px;height:48px}
  .logo-text b{font-size:18px}
  .site-banner+.hero{padding-top:44px}
}
@media(max-width:640px){
  .logo,.footer-logo{gap:10px}
  .logo-mark{width:44px;height:44px}
  .logo-text b{font-size:16.5px}
  .logo-text small{font-size:10.5px}
  .footer-logo .logo-mark{width:52px;height:52px}
  .footer-logo .logo-text b{font-size:19px}
  .site-banner+.hero{padding-top:34px}
}
@media(prefers-reduced-motion:reduce){.logo:hover .logo-mark,.footer-logo:hover .logo-mark{transform:none}}

/* ==================== หน้าแรก: แถบจุดเด่น + เช็กราคา + มาตรฐานบริการ ==================== */

/* --- แถบจุดเด่น 4 ข้อ ใต้ปุ่มใน hero --- */
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;max-width:640px}
.trust{text-align:center}
.trust .t-ico{width:46px;height:46px;margin:0 auto 9px;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(16,70,90,.09)}
.trust .t-ico .icon{width:22px;height:22px;stroke-width:1.8;vertical-align:0}
.trust b{display:block;font-size:14.5px;color:var(--ink);line-height:1.35}
.trust small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}

/* --- การ์ดลอย "เดินทางอุ่นใจ" (พื้นเข้ม) --- */
.fc-dark{display:flex;align-items:flex-start;gap:11px;max-width:270px;color:#e8f4f8;background:linear-gradient(140deg,#0d3550,#12496b);border:1px solid rgba(255,255,255,.14);backdrop-filter:none;box-shadow:0 16px 36px rgba(9,45,64,.32)}
.fc-dark strong{color:#fff;font-size:15px;margin-bottom:2px}
.fc-dark .fc-i{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--gold2);background:rgba(255,255,255,.1)}
.fc-dark .fc-i .icon{width:19px;height:19px;vertical-align:0}

/* --- ปุ่มขาวขอบบาง (ใช้คู่กับปุ่มฟ้าใน hero) --- */
.btn-ghost{background:#fff;color:#15556b;border:1px solid #d5e8ee;box-shadow:0 8px 22px rgba(16,70,90,.10)}
.btn-ghost:hover{border-color:var(--teal2);color:var(--teal)}

/* --- แถบเช็กราคา / จองรถตู้ (อยู่ใต้รูปแบนเนอร์ ไม่ทับรูป) --- */
.quickbar{padding:26px 28px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.qb-head{position:relative;margin-bottom:22px;padding-left:17px}
.qb-head:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:5px;border-radius:99px;background:linear-gradient(180deg,var(--teal2),var(--gold2))}
.qb-head h2{margin:0;font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1.22;letter-spacing:-.5px;color:var(--navy)}
.qb-head p{margin:7px 0 0;font-size:15px;color:var(--muted);line-height:1.6}
.qb-note{margin:16px 0 0;font-size:13px;color:var(--muted);line-height:1.6}
/* min-width:0 จำเป็น ไม่งั้น <select> ที่ตัวเลือกยาวจะดันแถบให้ล้นจอ */
/* 5 ช่อง + ปุ่ม = ตาราง 3x2 ช่องจะกว้าง ~355px กรอกสบายกว่าอัดแถวเดียว */
.qb-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-width:0}
.qb-field{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:78px;padding:13px 15px;border-radius:16px;background:#f8fcfd;border:1px solid #e1eff2;cursor:pointer;transition:.2s}
.qb-field:hover{border-color:#bde0e8;background:#f3fbfd}
.qb-field:focus-within{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(18,181,190,.15)}
.qb-ico{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--teal);background:#e7f7fa}
.qb-ico .icon{width:20px;height:20px;vertical-align:0}
.qb-body{flex:1 1 auto;min-width:0}
.qb-body small{display:block;margin-bottom:2px;font-size:12px;color:var(--muted);letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qb-body select,.qb-body input{width:100%;min-width:0;padding:0;border:0;background:none;outline:none;font-family:inherit;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qb-body select:invalid,.qb-body option[value=""]{color:#93a8b1}
/* ช่องพิมพ์ธรรมดา (จุดรับ / จุดส่ง) */
.qb-body input[type="text"]{cursor:text;text-overflow:clip}
.qb-body input::placeholder{color:#9db2bb;font-weight:400}
.qb-body input[type="date"]::-webkit-calendar-picker-indicator,
.qb-body input[type="time"]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer;transition:opacity .2s}
.qb-field:hover input::-webkit-calendar-picker-indicator,
.qb-field:focus-within input::-webkit-calendar-picker-indicator{opacity:.8}

/* --- ช่องจำนวนผู้โดยสาร แบบปุ่ม − / + --- */
.qb-paxfield{cursor:default}
.qb-num{display:flex;align-items:center;gap:8px;margin-top:1px}
.qb-num button{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid #cfe4ea;background:#fff;color:var(--teal);font-family:inherit;font-size:17px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.18s}
.qb-num button:hover:not(:disabled){background:var(--teal);border-color:var(--teal);color:#fff;transform:translateY(-1px)}
.qb-num button:disabled{opacity:.38;cursor:not-allowed}
.qb-num output{flex:1 1 auto;text-align:center;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}

.qb-caret{flex:0 0 auto;width:16px;height:16px;stroke-width:2.1;color:#9ab6c0;vertical-align:0;pointer-events:none}
/* 6 ช่องลงตัวพอดี 2 แถว ปุ่มเลยได้เต็มความกว้างเป็นแถวที่ 3 */
.qb-go{grid-column:1/-1;padding:0 24px;min-height:58px;border-radius:16px;font-size:15.5px;white-space:nowrap}

/* --- มาตรฐานการบริการ (พื้นเข้ม) --- */
/* display:flow-root กัน margin ติดลบของแถบเช็กราคาไปดันขอบบนของ section ทั้งก้อน */
.standards{position:relative;display:flow-root;padding:54px 0 66px;color:#e6f2f6;background:linear-gradient(150deg,#0b2e3d,#0f4460 55%,#0c3346)}
.std-body{margin-top:0}
.std-head{margin-bottom:22px}
.std-head h2{margin:0;font-size:clamp(26px,3vw,36px);color:#fff;line-height:1.25}
.std-head p{margin:7px 0 0;font-size:15px;color:#a8c6d1}
.std-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.std{display:flex;align-items:center;gap:11px;padding:15px 14px;border-radius:18px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.6);box-shadow:0 14px 32px rgba(4,32,45,.24);transition:.24s}
.std:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(4,32,45,.34)}
.std-ico{flex:0 0 auto;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:var(--teal);background:linear-gradient(135deg,#e6fbfe,#fff1d5)}
.std-ico .icon{width:21px;height:21px;stroke-width:1.7;vertical-align:0}
.std>div{min-width:0}
.std b{display:block;font-size:14px;color:var(--ink);line-height:1.35}
.std small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted);line-height:1.5}

@media(max-width:1280px){
  .std-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1080px){
  /* 2 ช่องต่อแถว แล้วปุ่มเต็มความกว้าง — กดง่ายกว่าบีบให้อยู่แถวเดียว */
  .qb-fields{grid-template-columns:repeat(2,1fr)}
  .qb-go{grid-column:1/-1;min-height:56px}
}
@media(max-width:980px){
  .std-grid{grid-template-columns:repeat(2,1fr)}
  .trust-row{max-width:none}
}
@media(max-width:640px){
  .trust-row{grid-template-columns:repeat(2,1fr);gap:16px 12px;margin-top:24px}
  .trust .t-ico{width:42px;height:42px}
  .standards{padding:40px 0 52px}
  .quickbar{padding:20px 18px;border-radius:20px}
  .qb-head{margin-bottom:16px;padding-left:14px}
  .qb-head h2{font-size:23px}
  .qb-head p{font-size:13.5px}
  .qb-fields{grid-template-columns:1fr;gap:10px}
  .std-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.std:hover{transform:none}}

/* --- การ์ดรถตู้: รูปถ่ายจริงให้เต็มกรอบ (ไม่เว้นขอบแบบภาพเวกเตอร์) --- */
.image-wrap.is-photo{padding:0;overflow:hidden}
.image-wrap.is-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.van-card:hover .image-wrap.is-photo img{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.van-card:hover .image-wrap.is-photo img{transform:none}}

/* --- ภาพขบวนรถหน้าแรก: รูปเต็มความกว้าง พร้อมข้อความทับด้านล่าง --- */
.showcase{position:relative;margin:0;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#0b2e3d}
.showcase img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.showcase:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,38,50,.9));pointer-events:none}
.showcase figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:30px 34px;color:#fff}
.showcase figcaption .kicker{color:var(--gold2);font-size:12.5px;letter-spacing:.6px}
.showcase figcaption h3{margin:6px 0 8px;font-size:clamp(21px,2.4vw,31px);line-height:1.25;letter-spacing:-.4px}
.showcase figcaption p{margin:0;max-width:640px;font-size:14.5px;line-height:1.7;color:#d3e6ec}
@media(max-width:640px){
  .showcase{border-radius:20px}
  .showcase img{aspect-ratio:4/3}
  .showcase:after{inset:30% 0 0}
  .showcase figcaption{padding:20px 18px}
  .showcase figcaption p{font-size:13px;line-height:1.6}
}

/* --- จุดเด่นของบริการ: การ์ดแนวนอน 2 คอลัมน์ ไอคอนในกรอบมน + ขีดสีใต้ข้อความ --- */
.hl-head h2:after{
  content:"";display:block;height:4px;width:86px;margin-top:14px;border-radius:4px;
  background:linear-gradient(90deg,var(--teal2),var(--teal2)) 0 0/62px 4px no-repeat,
             linear-gradient(90deg,var(--teal2),var(--teal2)) 74px 0/12px 4px no-repeat;
}
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.hl{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:18px;
  min-height:96px;padding:17px 24px;
  border-radius:20px;background:#fff;
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(16,70,90,.06);
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s;
}
/* พื้นสีจาง ๆ ไล่จากขวาเข้ามา */
.hl:before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:54%;pointer-events:none;
  background:radial-gradient(circle at 72% 58%,var(--a-w),transparent 70%);
}
/* ลายจุดจาง ๆ มุมขวา */
.hl:after{
  content:"";position:absolute;right:12px;top:0;bottom:0;width:132px;pointer-events:none;
  color:var(--a);opacity:.14;
  background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);
  background-size:13px 13px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 62%);
  mask-image:linear-gradient(90deg,transparent,#000 62%);
}
.hl:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,70,90,.13);border-color:var(--a)}
.hl-ico{
  position:relative;z-index:1;flex:0 0 auto;
  width:62px;height:62px;border-radius:19px;
  display:grid;place-items:center;color:var(--a);background:#fff;
  box-shadow:0 6px 16px rgba(16,70,90,.10);
}
.hl-ico:before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--a-w)}
.hl-ico .icon{position:relative;width:28px;height:28px;stroke-width:1.7;vertical-align:0}
.hl-txt{position:relative;z-index:1;min-width:0}
.hl-txt b{display:block;font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.45}
.hl-txt:after{content:"";display:block;width:34px;height:3px;border-radius:3px;margin-top:10px;background:var(--a)}
@media(prefers-reduced-motion:reduce){.hl:hover{transform:none}}
@media(max-width:980px){
  .hl-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hl{gap:14px;padding:14px 16px;min-height:82px;border-radius:17px}
  .hl-ico{width:52px;height:52px;border-radius:16px}
  .hl-ico .icon{width:24px;height:24px}
  .hl-txt b{font-size:15px}
  .hl:after{width:96px}
}

/* --- แกลเลอรี "บริการในทุกโอกาส": ใช้ภาพถ่ายจริง 8 ช่อง จัดเป็นโมเสก --- */
.gallery-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.gallery-item:hover .gallery-img{transform:scale(1.06)}
.gallery-item .label{z-index:2}
/* แถวละ 12 คอลัมน์: 5+4+3 / 3+5+4 / 7+5 */
.gallery-item:nth-child(1){grid-column:span 5}
.gallery-item:nth-child(2){grid-column:span 4}
.gallery-item:nth-child(3){grid-column:span 3}
.gallery-item:nth-child(4){grid-column:span 3}
.gallery-item:nth-child(5){grid-column:span 5}
.gallery-item:nth-child(6){grid-column:span 4}
.gallery-item:nth-child(7){grid-column:span 7}
.gallery-item:nth-child(8){grid-column:span 5}
.gallery-item{min-height:250px}
@media(prefers-reduced-motion:reduce){.gallery-item:hover .gallery-img{transform:none}}
@media(max-width:980px){
  .gallery-item:nth-child(n){grid-column:span 6}
  .gallery-item{min-height:210px}
}
@media(max-width:640px){
  .gallery-item:nth-child(n){grid-column:span 12}
  .gallery-item{min-height:230px}
}

/* --- ปุ่มลอย LINE (สีเขียวแบรนด์ LINE) --- */
.d-line{background:linear-gradient(135deg,#06c755,#3ddb84)}
.d-line .icon{width:27px;height:27px}

/* --- LINE ใน footer --- */
.footer-social .s-line:hover{background:linear-gradient(135deg,#06c755,#3ddb84);box-shadow:0 10px 22px rgba(6,199,85,.38)}
.footer-contact[data-line]:hover .fc-ico{background:linear-gradient(135deg,#06c755,#3ddb84);box-shadow:0 10px 20px rgba(6,199,85,.32)}

/* ===== ปุ่มลอยติดต่อด่วน: รองรับทุกอุปกรณ์ ===== */
.dock{
  right:max(14px,env(safe-area-inset-right));
  bottom:max(14px,env(safe-area-inset-bottom));
  gap:clamp(8px,1.6vw,12px);
  z-index:90;
}
/* พื้นที่กดขั้นต่ำ 44px ตามมาตรฐาน touch + ตัดไฮไลต์สีฟ้าบนมือถือ */
.dock a,.dock button{
  width:clamp(46px,12vw,56px);height:clamp(46px,12vw,56px);
  min-width:44px;min-height:44px;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  text-decoration:none;
}
.dock .icon{width:clamp(20px,5.4vw,24px);height:clamp(20px,5.4vw,24px)}
.dock .d-line .icon{width:clamp(23px,6.2vw,27px);height:clamp(23px,6.2vw,27px)}
.dock a:focus-visible,.dock button:focus-visible{outline:3px solid #ffd76a;outline-offset:3px}
/* บนอุปกรณ์สัมผัส hover ไม่ทำงาน — ใช้ฟีดแบ็กตอนกดแทน */
.dock a:active,.dock button:active{transform:scale(.94)}
@media(hover:none){.dock a:hover,.dock button:hover{transform:none}}
/* toast ต้องไม่ทับปุ่มลอยบนจอแคบ */
@media(max-width:640px){
  .dock{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
  .dock a,.dock button{box-shadow:0 8px 20px rgba(10,60,78,.28)}
  .toast{left:12px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom));width:auto;max-width:none;transform:translateY(20px);text-align:center}
  .toast.show{transform:translateY(0)}
}
/* จอเตี้ย/แนวนอน: เรียงปุ่มเป็นแถวเพื่อไม่บังเนื้อหา */
@media(max-height:520px) and (orientation:landscape){
  .dock{grid-auto-flow:column;align-items:center;justify-items:center;bottom:max(8px,env(safe-area-inset-bottom))}
  .dock a,.dock button{width:44px;height:44px}
}
@media print{.dock{display:none}}
