:root{--ink:#17342e;--muted:#53665f;--green:#145b47;--green-dark:#0c4033;--mint:#eaf3ec;--cream:#f8f7f0;--line:#dbe2d9;--yellow:#f4d26d;--radius:18px;--shadow:0 14px 40px #17342e0b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(2.35rem,4.5vw,4.6rem);font-weight:750}h2{font-size:clamp(1.6rem,2.7vw,2.4rem)}h3{font-size:1.3rem}p{color:var(--muted)}:focus-visible{outline:3px solid #a45c00;outline-offset:4px}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding-top:72px;padding-bottom:72px}.eyebrow{display:block;color:var(--green);font-size:.75rem;letter-spacing:.16em;font-weight:750;text-transform:uppercase;margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:9px;font-weight:650;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark);color:#fff}.secondary{border-color:var(--green);background:transparent;color:var(--green)}.secondary:hover{background:var(--mint)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;font-weight:650;color:var(--green)}.text-link:hover{text-decoration:underline}.fine{font-size:.82rem;line-height:1.6}.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}.skip-link{position:absolute;left:16px;top:-100px;z-index:50;padding:12px 20px;background:var(--ink);color:white}.skip-link:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:1.45rem;line-height:1.2;font-weight:800;letter-spacing:-.055em}.brand-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--green);color:#fff}.brand-icon svg{width:25px;height:25px}.brand-domain{font-weight:450;color:var(--green)}.brand small{display:block;font-size:.55rem;letter-spacing:.2em;font-weight:650;color:var(--muted);margin-top:5px}#primary-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:550}#primary-nav>a{padding-block:12px}.header-call{display:flex;align-items:center;gap:8px;background:var(--mint);padding:10px 14px!important;border-radius:8px;color:var(--green)}.menu-toggle{display:none}.hero{background:var(--cream);padding-top:66px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.hero-copy h1{margin-bottom:24px}.hero-copy h1>span{color:var(--green)}.hero-copy p{font-size:1.08rem;max-width:480px;margin-bottom:24px}.hero-copy .eyebrow{display:flex;gap:9px;align-items:center}.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.hero-map{height:330px;position:relative;overflow:hidden;border-radius:36px;background:#e7efe4;border:1px solid #d5e0cf;transform:rotate(-2deg)}.map-grid{position:absolute;inset:-100px;background:repeating-linear-gradient(0deg,transparent 0 60px,#f8fbf2 61px 74px,transparent 75px 100px),repeating-linear-gradient(90deg,transparent 0 100px,#f8fbf2 101px 115px,transparent 116px 145px);transform:rotate(-25deg)}.map-route{position:absolute;border:6px solid var(--green);width:180px;height:180px;left:24%;top:18%;border-radius:60px 5px 80px 5px;border-top-color:transparent;border-right-color:transparent;transform:rotate(-20deg)}.map-pin{position:absolute;top:53px;right:102px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);color:#fff;width:70px;height:70px;display:grid;place-items:center;box-shadow:0 8px 20px #145b4733}.map-pin svg{transform:rotate(45deg);width:36px;height:36px}.map-card{position:absolute;left:26px;bottom:58px;background:#fff;border-radius:14px;padding:16px 24px 16px 16px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 24px #17342e15;transform:rotate(2deg)}.map-car{background:var(--yellow);border-radius:12px;padding:12px;display:flex}.map-car svg{width:28px;height:28px}.map-card strong{display:block;font-size:1.08rem}.map-card span:not(.map-car){display:block;font-size:.8rem;color:var(--muted)}.map-label{position:absolute;right:26px;bottom:105px;font-size:.64rem;letter-spacing:.16em;color:var(--green);font-weight:750;transform:rotate(2deg)}.map-caption{position:absolute;bottom:20px;left:26px;font-size:.6rem;letter-spacing:.14em;font-weight:650;color:var(--muted);transform:rotate(2deg)}.search-wrap{position:relative;margin-top:54px;margin-bottom:-30px}.search-form{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:22px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:20px;align-items:end}.search-field label{display:block;font-size:.75rem;font-weight:700;margin-bottom:6px}.search-field input,.search-field select{width:100%;height:44px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:5px 0;font-size:.92rem}.search-form.compact{background:var(--cream);box-shadow:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:10px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card,.provider-card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:white;min-width:0}.service-card:hover{border-color:var(--green);box-shadow:var(--shadow)}.service-card h2,.service-card h3,.provider-card h3{margin-top:24px;margin-bottom:12px}.service-card h2{font-size:1.45rem}.service-card p,.provider-card p{font-size:.92rem;margin-bottom:24px}.card-icon{display:inline-flex;padding:12px;border-radius:12px;background:var(--mint);color:var(--green)}.card-icon svg{width:28px;height:28px}.taxi-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:68px;align-items:center;background:var(--green-dark);border-radius:24px;padding:48px;color:#fff}.taxi-feature h2{font-size:clamp(1.85rem,3vw,2.8rem)}.taxi-feature p{color:#dce6dc}.taxi-feature .eyebrow{color:var(--yellow)}.taxi-feature .primary{background:var(--yellow);color:var(--ink)}.taxi-feature .primary:hover{background:#ffe398}.taxi-feature .secondary{border-color:#b5d0bf;color:white}.taxi-feature .secondary:hover{background:#ffffff15}.cta-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.trip-note{background:#f7f5e9;border-radius:16px;padding:30px;color:var(--ink);transform:rotate(1deg)}.note-number{display:block;font-size:.65rem;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-bottom:22px}.trip-note h3{font-size:1.6rem}.trip-note ul{list-style:none;padding:0;margin:22px 0 28px}.trip-note li{padding:13px 0;border-bottom:1px solid #dfe1d6;font-size:.85rem;display:flex;align-items:center;gap:12px}.trip-note li>span{font-size:.7rem;background:var(--yellow);padding:4px 7px;border-radius:5px}.locality-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--cream)}.locality-card>svg{margin-left:auto}.locality-card h3{margin-bottom:6px;font-size:1.2rem}.locality-card p{margin:0;font-size:.8rem}.locality-card:hover{border-color:var(--green)}.how-section{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding-block:48px}.how-section ol{list-style:none;margin:0;padding:0;display:grid;gap:24px}.how-section li{display:flex;gap:20px}.how-section li>span{background:var(--mint);color:var(--green);width:38px;height:38px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font-weight:700}.how-section h3{font-size:1.05rem;margin:4px 0 8px}.how-section p{font-size:.92rem;margin:0}.request-section{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:40px;display:grid;grid-template-columns:.9fr 1.25fr;gap:48px;scroll-margin-top:30px}.request-section p{max-width:360px}.request-form label{display:block;font-size:.82rem;font-weight:650;margin-bottom:6px}.request-form label span:not(.consent span){font-weight:400;color:var(--muted);font-size:.7rem}.request-form input:not([type=checkbox]),.request-form textarea{display:block;width:100%;padding:11px 12px;background:#fff;color:var(--ink);border:1px solid #9faa9c;border-radius:7px;margin-bottom:16px}.request-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.request-form label.consent{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;font-weight:400;line-height:1.5;margin-bottom:20px}.consent input{margin-top:4px;width:18px;height:18px;flex-shrink:0}.consent a{text-decoration:underline}.honeypot{display:none}.notice{padding:16px;border:1px solid #9ab6a0;background:#eaf3ec;border-radius:8px;color:var(--ink);max-width:none!important}.site-footer{margin-top:40px;padding-top:50px;background:#f1f4ee;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}.footer-brand{font-size:1.5rem;font-weight:750;letter-spacing:-.05em}.footer-grid h2{font-size:.86rem;letter-spacing:0;margin-bottom:18px}.footer-grid a:not(.footer-brand){display:block;font-size:.86rem;margin-bottom:10px}.footer-grid p{font-size:.88rem;margin-top:18px}.footer-grid .fine{font-size:.76rem}.footer-bottom{display:flex;justify-content:space-between;padding-block:24px;border-top:1px solid var(--line);margin-top:30px;color:var(--muted);font-size:.72rem}.mobile-contact{display:none}.directory-page{padding-block:26px 60px;min-height:50vh}.breadcrumbs{margin-bottom:32px;color:var(--muted);font-size:.78rem}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.breadcrumbs li+li::before{content:"/";margin-right:10px;color:#8a968c}.page-heading{margin:28px 0 36px}.page-heading h1{font-size:clamp(2rem,3.8vw,3.5rem);margin-bottom:18px}.page-heading p{max-width:600px}.results-heading{margin-top:40px}.results-heading h2{font-size:1.3rem}.results-heading>a{text-decoration:underline;font-size:.85rem}.empty-state{border:1px dashed #abb9a9;border-radius:var(--radius);padding:50px;text-align:center;background:var(--cream)}.empty-state .card-icon{margin-bottom:20px}.empty-state p{max-width:560px;margin-inline:auto}.empty-state h2{font-size:1.6rem}.compact-empty{padding:28px}.compact-empty p{margin-bottom:0}.landing-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center;margin-bottom:36px}.info-panel{border-radius:var(--radius);background:var(--mint);padding:30px}.info-panel h2{font-size:1.45rem}.info-panel ul{padding-left:20px;font-size:.92rem}.info-panel p{font-size:.84rem;margin:0}.prose{max-width:880px}.prose h1{font-size:clamp(2rem,3.8vw,3.5rem);margin-bottom:30px}.prose h2{font-size:1.7rem;margin-top:32px}.prose h3{margin-top:24px}.prose p{line-height:1.8}.prose ul{padding-left:22px;color:var(--muted)}.prose a:not(.button):not(.locality-card){text-decoration:underline}.prose .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content img{max-width:100%;height:auto}.content iframe{max-width:100%}.content table{display:block;max-width:100%;overflow:auto}.prose details{border-bottom:1px solid var(--line);padding:18px 0}.prose summary{cursor:pointer;font-weight:650;padding:5px 0}.prose details p{padding-top:14px;font-size:.93rem}.pagination{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap}.pagination .page-numbers{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px}.pagination .current{background:var(--green);color:#fff}.error-page{margin-top:56px;margin-bottom:56px}.error-page h1{font-size:clamp(2rem,4vw,3.2rem)}.page-article{margin-bottom:36px}
@media(min-width:900px){.hero+.section{padding-top:104px}}
@media(max-width:1000px){#primary-nav{gap:16px}.hero-grid{gap:30px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.taxi-feature{gap:32px;padding:36px}.request-section{padding:30px;gap:30px}.search-form{gap:14px}.footer-grid{gap:24px}.header-call{font-size:.8rem}.hero-map{height:310px}.map-label{right:16px;bottom:35px}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.header-inner{min-height:78px}.brand{font-size:1.3rem}.brand-icon{width:38px;height:38px}.menu-toggle{display:flex;gap:10px;align-items:center;background:transparent;border:1px solid var(--line);border-radius:7px;min-height:44px;padding:10px;font-size:.8rem;color:var(--ink)}#primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}#primary-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:4px}.hero{padding-top:40px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy h1{font-size:clamp(2.4rem,9vw,3.7rem)}.hero-copy p{font-size:1rem}.hero-map{height:235px;width:min(460px,100%);margin-inline:auto;transform:rotate(-1deg)}.map-route{height:145px;width:180px;top:10%;left:22%}.map-pin{width:55px;height:55px;top:28px;right:70px}.map-pin svg{width:28px;height:28px}.map-card{bottom:46px;left:20px;padding:12px 18px 12px 12px}.map-car{padding:8px}.map-card strong{font-size:.95rem}.map-card span:not(.map-car){font-size:.73rem}.map-label{bottom:70px;right:20px}.map-caption{bottom:15px;left:20px}.search-wrap{margin-top:30px;margin-bottom:0;padding-bottom:30px}.search-form{grid-template-columns:1fr 1fr;padding:18px;gap:16px;box-shadow:none}.search-field:first-child{grid-column:1/-1}.search-form>.button{grid-column:1/-1}.section{padding-block:40px}.section-heading{align-items:start;gap:20px}.section-heading>.text-link{font-size:.8rem}.section-heading h2{font-size:1.6rem}.section-heading .eyebrow{font-size:.65rem}.card-grid{grid-template-columns:1fr}.service-card,.provider-card{padding:26px}.taxi-feature{grid-template-columns:1fr;padding:28px 22px;border-radius:18px;gap:24px}.taxi-feature h2{font-size:2rem}.trip-note{padding:24px;transform:none}.cta-buttons{gap:10px}.cta-buttons .button{padding-inline:16px;font-size:.86rem}.how-section{grid-template-columns:1fr;gap:24px;padding-block:32px}.how-section h2{margin-bottom:0}.request-section{grid-template-columns:1fr;padding:24px;gap:18px}.form-two{grid-template-columns:1fr;gap:0}.request-section p{max-width:none}.request-form label span:not(.consent span){font-size:.75rem}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding-bottom:70px;margin-top:20px}.mobile-contact{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--green);color:#fff;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 16px #17342e22}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;font-size:.9rem;font-weight:650;color:#fff}.mobile-contact a+a{border-left:1px solid #ffffff33}.directory-page{padding-top:20px;padding-bottom:40px}.breadcrumbs{font-size:.72rem;margin-bottom:24px}.page-heading{margin-top:20px}.landing-grid{grid-template-columns:1fr;gap:0}.info-panel{padding:24px}.empty-state{padding:30px 20px}.prose .card-grid{grid-template-columns:1fr}.eyebrow{font-size:.68rem}.results-heading h2{font-size:1.15rem}}
@media(max-width:380px){.footer-grid{grid-template-columns:1fr}.brand{font-size:1.15rem}.map-label{display:none}.search-form{grid-template-columns:1fr}.search-field:first-child,.search-form>.button{grid-column:auto}.cta-buttons{flex-direction:column}.taxi-feature h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.request-example{padding:1rem;border:1px solid var(--line,#d9e2e8);border-radius:12px;overflow-wrap:anywhere;background:#f6f8fa}

.brand-logo{display:block;width:270px;height:auto}.footer-logo{display:block;width:235px;max-width:100%;height:auto}@media(max-width:600px){.brand-logo{width:190px}}

/* Bright, search-focused interface with Vietnamese-first typography. */
:root{--ink:#202124;--muted:#5f6368;--green:#1967d2;--green-dark:#174ea6;--mint:#e8f0fe;--cream:#f8fafd;--line:#dadce0;--yellow:#fbbc04;--radius:16px;--shadow:0 2px 8px #20212412}
h1,h2,h3{letter-spacing:-.02em;line-height:1.3;font-weight:600}.eyebrow{letter-spacing:.07em;font-weight:600}.hero{background:#fff}.hero-map{background:#f1f6fd;border-color:#dce7f8;transform:none}.map-grid{opacity:.65}.map-card,.trip-note{transform:none}.map-pin{box-shadow:0 4px 12px #1967d222}.button{border-radius:24px;font-weight:600}.secondary{border-color:#dadce0;background:#fff;color:#1967d2}.secondary:hover{background:#f1f6ff;border-color:#1967d2}.header-call{border-radius:24px}.search-form{border-radius:24px;box-shadow:0 2px 10px #20212410}.service-card,.provider-card,.locality-card{background:#fff}.service-card:hover,.locality-card:hover{background:#f8fafd;border-color:#aecbfa;box-shadow:0 2px 8px #20212410}.taxi-feature{background:#f1f6fd;color:var(--ink);border:1px solid #dce7f8}.taxi-feature p{color:var(--muted)}.taxi-feature .eyebrow{color:#1967d2}.taxi-feature .primary{background:#1967d2;color:#fff}.taxi-feature .primary:hover{background:#174ea6}.taxi-feature .secondary{background:#fff;border-color:#dadce0;color:#1967d2}.taxi-feature .secondary:hover{background:#e8f0fe}.trip-note{background:#fff;border:1px solid #e3e8ef}.info-panel{background:#f8fafd;border:1px solid #e3e8ef}.site-footer{background:#f8fafd}.request-example{background:#f8fafd}.prose p{line-height:1.85}.mobile-contact{background:#fff;color:#1967d2;box-shadow:0 -2px 12px #20212412;border-top:1px solid #dadce0}.mobile-contact a{color:#1967d2}.mobile-contact a+a{border-left:1px solid #e8eaed}:focus-visible{outline-color:#1967d2}

/* Detail pages: readable sections and compact mobile navigation. */
.detail-navigation{margin:0 0 28px;padding:16px 0;border-block:1px solid var(--line)}.detail-navigation>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:10px}.detail-navigation>div{display:flex;flex-wrap:wrap;gap:8px}.detail-navigation a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #dadce0;border-radius:24px;padding:8px 16px;color:#1967d2;background:#fff;font-size:.85rem;text-decoration:none!important}.detail-navigation a:hover{background:#e8f0fe}.detail-section{margin-block:28px}.guide-contact{padding:18px 0}.guide-contact p{margin-bottom:8px}.related-areas .service-card{padding:20px}.related-areas .service-card h3{margin:12px 0}.related-areas .card-icon{padding:8px}.detail-hero .page-heading{margin-top:12px}main [id]{scroll-margin-top:24px}
@media(max-width:760px){.detail-hero{margin-bottom:24px}.detail-hero .page-heading{margin:12px 0 20px}.detail-hero h1,.page-article>h1{font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.35;margin-bottom:14px}.detail-hero .eyebrow{margin-bottom:10px}.detail-hero .page-heading>p:not(.fine){font-size:1rem;line-height:1.7}.detail-hero .cta-buttons,.guide-contact .cta-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.detail-hero .cta-buttons .primary,.guide-contact .cta-buttons .primary{grid-column:1/-1}.detail-hero .cta-buttons .button,.guide-contact .cta-buttons .button{min-height:48px;font-size:.9rem;padding:12px}.detail-hero .info-panel{padding:18px}.detail-hero .info-panel .eyebrow{display:none}.detail-hero .info-panel h2{font-size:1.1rem;margin-bottom:10px}.detail-hero .info-panel ul{margin-block:10px}.detail-navigation{padding-block:14px;margin-bottom:24px}.detail-navigation a{padding:8px 12px}.prose{font-size:1rem}.prose h2{font-size:1.35rem;line-height:1.45}.prose h3{font-size:1.1rem;line-height:1.5}.prose p{line-height:1.85}.related-areas .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-areas .service-card{padding:14px;border-radius:12px}.related-areas .service-card h3{font-size:.95rem;line-height:1.45}.related-areas .service-card>.card-icon{display:none}.related-areas .text-link{font-size:.75rem;gap:4px}.related-areas .text-link svg{width:16px;height:16px}.prose summary{min-height:48px;line-height:1.6}.directory-page{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.page-article .fine{line-height:1.7}.guide-contact{padding-top:0}}
