/* White surfaces, black typography, and the original emerald brand accent. */
:root{--green:#009d6a;--ink:#17231d;--muted:#53665d;--paper:#fff;--line:#d7e5de;color-scheme:light}
body{background:#fff;color:#17231d}header{background:#fffffff7;border-color:var(--line)}
header #nav{background:#fff;color:#17231d}header #nav a{border-color:var(--line)}header #nav a[aria-current=page]{background:#e8f6ef;color:#006a46}nav a:hover,.text-link:hover{color:#007950}
.brand,footer .brand{background:#17352b}.language-wrap select{background:#eff8f3;color:#17231d;border-color:#bfd8ca}.menu{color:#17231d;font-size:25px;line-height:1;padding:10px;border-color:#bfd8ca;min-width:44px;min-height:44px}
main:before{background-image:linear-gradient(#ffffffed,#fffffff2),var(--page-background)}
.section{background:transparent}.hero-copy,.home-intro{background:#fffffff2}.page-heading,.page-masthead .page-heading{background:#f0f8f3ed}.intro,.hero-note small,.section-heading>p,.muted,.destinations p,.page-heading>p:last-child,.contact-card p,.about-layout p,.pending-note p{color:var(--muted)}
h1 em,.home-intro h1 em{color:#007b52}.button,.button.small,.departure .button{background:#00875c;color:#fff}.button:hover{background:#006e49}.route-strip{background:#e4f5ec;color:#17352b}.strip-line{background:#8dbda5}
.route-card,.route-tile,.contact-card,.booking-card,.timetable-card,.schedule-panel{background:#fff;border-color:var(--line);color:#17231d}.route-facts strong,.route-tile h3,.card-top,.contact-card .big-contact{color:#17231d}.pill{background:#e1f3e8;color:#17613e}.route-price,.service-fare{color:#00724c}
.schedule,.journey-pickers{background:#eef8f2;border-color:var(--line)}.schedule-controls{border-color:var(--line)}.schedule-controls select,select,.field input,.field select,.field textarea{background:#fff;color:#17231d;border-color:#abcbb9}.arrivals,.table-wrap{background:#fff;color:#17231d}.departure,.timetable-title{background:#e5f4eb;color:#17231d}.departure .eyebrow,.departure-highlight strong{color:#00764e}.timetable-title small,.departure>small{color:#405b4c}.departure-highlight{border-color:#b7d6c5}td,th{border-color:var(--line)}th,.schedule-note,.source-note,.field-help{color:#53665d}.table-wrap tbody th{color:#17231d}.day-label{color:#397953}
.service-choice{background:#fff;border-color:#bfd8ca;color:#17231d}.service-choice.selected{background:#e2f5e9;border-color:#00875c}.payment-field,.payment-summary,.fare-summary,.card-payment{background:#f3faf6;border-color:#c7dfd0}.edit-button{color:#17231d}
.contact{background:#e3f4e9;color:#17231d}.contact-side>a,.contact .phone{border-color:#a5ccb7}.sinhala{color:#315c44}footer{background:#f0f7f3;color:#30473a;border-top:1px solid var(--line)}
.journey-video{padding:48px 5% 0}.journey-video video{display:block;width:100%;max-width:1280px;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:10px;margin:auto;box-shadow:0 16px 45px #1d54351a}
.bus-photos{display:flex;gap:12px;padding:16px;background:#f1f8f4}.bus-photos figure{flex:1;min-width:0;margin:0}.bus-photos img{width:100%;height:320px;object-fit:contain;background:#e5f0e9;border-radius:5px;display:block}.bus-photos figcaption{font-size:14px;font-weight:700;padding-top:7px;color:#244a34}
.route-path{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.route-path summary{cursor:pointer;font-weight:700;color:#006b45;font-size:16px}.route-path p{line-height:2;overflow-wrap:anywhere}.schedule-conflict{border-left:3px solid #b87900;padding:12px;background:#fff7de;color:#694b10;font-size:14px}.route-meta{font-size:14px;color:#315c44}.table-wrap td small{display:block}
@media(max-width:700px){.journey-video{padding:28px 5% 0}.bus-photos img{height:220px}.table-wrap{overflow-x:auto}header #nav{background:#fff}.home-intro .eyebrow{line-height:1.6}}
/* Reference green, sampled after conversion of the supplied image to sRGB. */
.page-masthead .page-heading,.route-strip,.contact,footer{background:#009d6a;color:#fff}
.page-masthead .page-heading>p:last-child,.contact p,.contact .sinhala,footer p{color:#fff}
.route-strip .strip-line{background:#ffffff80}.contact .phone,.contact-side>a{border-color:#ffffff80}
.contact .button{background:#fff;color:#006a48}.contact .button:hover{background:#e9faf2}
footer{border-top:0}footer .brand,.brand{background:#009d6a}
.page-heading .eyebrow,.contact .eyebrow{color:#fff}.home-intro{background:#fff}
.gallery{gap:20px}.gallery button{background:#edf8f2;aspect-ratio:4/3}.gallery img{object-fit:cover}.gallery button:focus-visible{outline:3px solid #006a48;outline-offset:4px}
.journey-pickers,.bus-photos,.timetable-title{background:#e8f7ef}
@media(max-width:700px){.gallery{gap:12px}}
@media(max-width:480px){.route-strip{gap:8px;padding:18px 4%;font-size:10px;letter-spacing:0}.route-strip .strip-line{min-width:8px}html[lang=ta] .route-strip{flex-wrap:wrap;justify-content:center}}
.photo-intro{position:relative;isolation:isolate;overflow:hidden;animation:none;background:#12352b}
.photo-intro .wide-header{width:100%;height:auto;min-height:520px;object-fit:cover}
.photo-intro:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,20,12,.6),transparent 65%),linear-gradient(0deg,rgba(0,15,10,.4),transparent 65%)}
.photo-intro-copy{position:absolute;z-index:1;left:6%;bottom:7%;width:46%;max-width:670px;color:#fff;text-shadow:0 2px 14px #0006}
.photo-intro-copy .eyebrow{color:#fff;font-size:14px;margin:0 0 15px;letter-spacing:1.5px}
.photo-intro-copy h1{color:#fff;font-size:clamp(32px,3.5vw,56px);letter-spacing:-1px;line-height:1.16;margin:0 0 18px;font-weight:600}
.photo-intro-description{color:#fff;font-size:clamp(16px,1.3vw,20px);line-height:1.6;margin:0;max-width:560px}
.intro-word{display:inline-block}.intro-first-load .intro-word{animation:word-reveal .5s ease both;animation-delay:var(--word-delay)}
@keyframes word-reveal{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
html[lang=si] .photo-intro-copy h1,html[lang=ta] .photo-intro-copy h1{font-size:clamp(27px,2.7vw,44px);line-height:1.45;letter-spacing:0}
@media(max-width:700px){.photo-intro .wide-header{height:560px;min-height:0;object-fit:cover;object-position:65% center}.photo-intro:after{background:linear-gradient(0deg,rgba(0,20,12,.85),rgba(0,20,12,.08) 85%)}.photo-intro-copy{left:6%;bottom:30px;width:88%;max-width:none}.photo-intro-copy h1{font-size:34px;line-height:1.2}.photo-intro-description{font-size:16px}.photo-intro-copy .eyebrow{font-size:13px}html[lang=si] .photo-intro-copy h1,html[lang=ta] .photo-intro-copy h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.intro-first-load .intro-word{animation:none;opacity:1;transform:none;filter:none}}
.footer-credit{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.footer-credit a{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:underline;text-decoration-color:#74b69a;text-underline-offset:3px}.creator-logo{width:22px;height:22px;object-fit:cover;border-radius:50%;border:1px solid #fff8;vertical-align:middle;box-shadow:0 2px 8px #004d3633;transition:transform .25s ease,box-shadow .25s ease}.footer-credit a:hover .creator-logo{transform:rotate(-8deg) scale(1.12);box-shadow:0 4px 12px #004d3655}.scroll-word{display:inline-block;opacity:0;transform:translateY(12px);filter:blur(2px);transition:opacity .45s ease,transform .45s ease,filter .45s ease;transition-delay:var(--word-delay)}.scroll-visible .scroll-word{opacity:1;transform:translateY(0);filter:blur(0)}.route-tile,.contact-card,.booking-card,.timetable-card,.service-choice,.gallery-photo{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.route-tile:hover,.contact-card:hover,.booking-card:hover,.timetable-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px #006b4518;border-color:#8bc6aa}.service-choice:hover{transform:translateY(-3px);box-shadow:0 10px 24px #006b4518}.gallery-photo:hover{transform:translateY(-4px);box-shadow:0 14px 28px #006b4522}.button,.text-link,nav a{transition:transform .25s ease,background .25s ease,color .25s ease}.button:hover,.text-link:hover{transform:translateY(-2px)}
@media(max-width:700px){.footer-credit{white-space:normal}.creator-logo{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.scroll-word{opacity:1;transform:none;filter:none;transition:none}.route-tile,.contact-card,.booking-card,.timetable-card,.service-choice,.gallery-photo{transition:none}}
