/* Layout concept: hill-and-coast field guide. Split hero with stacked photo plates,
   asymmetric bento of destinations, rail of trips, quiet icon grid, contact split.
   One accent (marigold, from the brand's sun), one green-grey neutral family. */
:root{
  --bg:#F1F4F0; --surface:#FAFBF9; --surface-2:#E5EBE4; --ink:#14211E; --muted:#50605A;
  --line:rgba(20,33,30,.11); --accent:#E8892F; --accent-ink:#1E1407; --accent-soft:rgba(232,137,47,.14);
  --shade:rgba(20,40,34,.08); --photo-ink:#F7F5EF; --ok:#2F7D5B;
  --f-display:"Bricolage Grotesque", "Figtree", ui-sans-serif, system-ui, sans-serif;
  --f-body:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --r-xl:28px; --r-lg:22px; --r-md:14px;
  --ease:cubic-bezier(.16,1,.3,1); --ease-2:cubic-bezier(.32,.72,0,1);
  --wrap:1240px; --gut:max(16px, env(safe-area-inset-left, 0px));
  --z-nav:40; --z-dock:30; --z-menu:50;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0D1513; --surface:#131D1A; --surface-2:#1B2825; --ink:#E7EEEA; --muted:#9EADA7;
  --line:rgba(231,238,234,.11); --accent:#F09A45; --accent-ink:#1E1407; --accent-soft:rgba(240,154,69,.16);
  --shade:rgba(0,0,0,.35); --ok:#5FC08F; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0D1513; --surface:#131D1A; --surface-2:#1B2825; --ink:#E7EEEA; --muted:#9EADA7;
  --line:rgba(231,238,234,.11); --accent:#F09A45; --accent-ink:#1E1407; --accent-soft:rgba(240,154,69,.16);
  --shade:rgba(0,0,0,.35); --ok:#5FC08F; color-scheme:dark }

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--ink); font:400 17px/1.6 var(--f-body); -webkit-font-smoothing:antialiased; overflow-x:hidden}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:10; background:var(--bg)}
img{max-width:100%; display:block; height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display); font-weight:600; line-height:1.05; letter-spacing:-.025em; margin:0; text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:6px}
[hidden]{display:none!important}
.sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:absolute; left:16px; top:-60px; background:var(--accent); color:var(--accent-ink); padding:10px 16px; border-radius:999px; z-index:60; font-weight:600}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap); margin:0 auto; padding-left:var(--gut); padding-right:max(16px, env(safe-area-inset-right,0px))}
.section{padding-block:clamp(72px, 10vw, 128px)}
.section-tight{padding-block:clamp(48px, 7vw, 88px)}
.h2{font-size:clamp(2rem, 4.4vw, 3.4rem)}
.h3{font-size:clamp(1.3rem, 2vw, 1.6rem); letter-spacing:-.015em}
.lede{color:var(--muted); font-size:clamp(1.02rem,1.3vw,1.15rem); max-width:60ch}
.head{display:grid; align-content:start; gap:16px; margin-bottom:clamp(36px,5vw,56px); max-width:760px}
.eyebrow{display:inline-flex; align-items:center; gap:8px; width:max-content; padding:6px 12px; border-radius:999px; background:var(--accent-soft); color:var(--ink); font:600 12px/1 var(--f-body); letter-spacing:.14em; text-transform:uppercase}
.ico{width:1.25em; height:1.25em; flex:none; display:inline-block; vertical-align:-.22em}
.num{font-variant-numeric:tabular-nums}

/* Buttons: pill with nested icon island */
.btn{--h:54px; display:inline-flex; align-items:center; gap:14px; min-height:var(--h); padding:6px 6px 6px 24px; border-radius:999px; border:0; font:600 16px/1 var(--f-body); text-decoration:none; cursor:pointer; white-space:nowrap; transition:transform .5s var(--ease), background-color .4s var(--ease), box-shadow .5s var(--ease)}
.btn:active{transform:scale(.97)}
.btn .island{width:42px; height:42px; border-radius:50%; display:grid; place-items:center; transition:transform .6s var(--ease)}
.btn:hover .island{transform:translate(3px,-1px) scale(1.05)}
.btn-primary{background:var(--accent); color:var(--accent-ink); box-shadow:0 10px 30px -12px rgba(232,137,47,.7)}
.btn-primary .island{background:rgba(30,20,7,.12)}
.btn-primary:hover{box-shadow:0 16px 40px -14px rgba(232,137,47,.85)}
.btn-ghost{background:var(--surface); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost .island{background:var(--surface-2)}
.btn-sm{--h:44px; font-size:15px; padding-left:18px}
.btn-sm .island{width:34px; height:34px}
.link{display:inline-flex; align-items:center; gap:8px; font-weight:600; text-decoration:none; color:var(--ink)}
.link .ico{transition:transform .5s var(--ease)}
.link:hover .ico{transform:translateX(4px)}
.link::after{content:none}

/* Double bezel */
.bezel{padding:6px; border-radius:var(--r-xl); background:color-mix(in srgb, var(--ink) 5%, transparent); box-shadow:inset 0 0 0 1px var(--line)}
.bezel>.core{border-radius:calc(var(--r-xl) - 6px); overflow:hidden; background:var(--surface); box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 30px 60px -40px var(--shade)}
.photo{position:relative; overflow:hidden; background:linear-gradient(160deg,#3D6B5E 0%,#1E3B35 60%,#16302B 100%)}
.photo img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease)}

/* Nav: floating island */
.nav{position:fixed; z-index:var(--z-nav); top:calc(env(safe-area-inset-top,0px) + 14px); left:0; right:0; padding-left:var(--gut); padding-right:max(16px, env(safe-area-inset-right,0px)); pointer-events:none}
.nav-in{pointer-events:auto; max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:8px 8px 8px 10px; border-radius:999px; background:color-mix(in srgb, var(--surface) 82%, transparent); backdrop-filter:blur(18px) saturate(1.4); -webkit-backdrop-filter:blur(18px) saturate(1.4); box-shadow:inset 0 0 0 1px var(--line), 0 18px 40px -28px var(--shade)}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; flex:none}
.brand img{height:44px; width:auto; border-radius:10px; background:#fff}
.brand b{font:700 17px/1.05 var(--f-display); letter-spacing:-.02em; display:block}
.brand small{display:block; font-size:12px; color:var(--muted); letter-spacing:.02em}
.menu{display:flex; align-items:center; gap:2px; margin:0 auto; list-style:none; padding:0}
.menu>li{position:relative}
.menu a,.menu button{display:flex; align-items:center; gap:6px; padding:10px 14px; border-radius:999px; font:500 15px/1 var(--f-body); color:var(--ink); text-decoration:none; background:none; border:0; cursor:pointer; transition:background-color .3s var(--ease)}
.menu a:hover,.menu button:hover,.menu a[aria-current="page"]{background:var(--surface-2)}
.drop{position:absolute; top:calc(100% + 10px); left:-8px; min-width:280px; padding:8px; border-radius:20px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line), 0 30px 60px -30px var(--shade); list-style:none; margin:0; opacity:0; transform:translateY(8px); visibility:hidden; transition:opacity .35s var(--ease), transform .45s var(--ease), visibility .35s}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1; transform:none; visibility:visible}
.drop a{padding:12px 14px; border-radius:14px; display:grid; gap:2px}
.drop a small{color:var(--muted); font-size:13px; font-weight:400}
.nav-cta{flex:none}
.burger{display:none; width:46px; height:46px; border-radius:50%; border:0; background:var(--surface-2); position:relative; cursor:pointer; color:var(--ink)}
.burger span{position:absolute; left:14px; right:14px; height:1.6px; background:currentColor; border-radius:2px; transition:transform .5s var(--ease-2), top .5s var(--ease-2)}
.burger span:nth-child(1){top:18px} .burger span:nth-child(2){top:26px}
.menu-open .burger span:nth-child(1){top:22px; transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:22px; transform:rotate(-45deg)}
.overlay{position:fixed; inset:0; z-index:var(--z-menu); background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px); padding:calc(env(safe-area-inset-top,0px) + 96px) max(24px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 32px) max(24px, env(safe-area-inset-left,0px)); display:flex; flex-direction:column; gap:28px; opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s; overflow-y:auto}
.menu-open .overlay{opacity:1; visibility:visible}
.menu-open .nav{z-index:calc(var(--z-menu) + 1)}
.overlay ul{list-style:none; margin:0; padding:0; display:grid; gap:4px}
.overlay li{transform:translateY(28px); opacity:0; transition:transform .7s var(--ease), opacity .7s var(--ease)}
.menu-open .overlay li{transform:none; opacity:1}
.overlay li:nth-child(2){transition-delay:.05s}.overlay li:nth-child(3){transition-delay:.1s}.overlay li:nth-child(4){transition-delay:.15s}.overlay li:nth-child(5){transition-delay:.2s}.overlay li:nth-child(6){transition-delay:.25s}.overlay li:nth-child(7){transition-delay:.3s}
.overlay a{display:flex; justify-content:space-between; align-items:center; padding:12px 0; font:600 clamp(1.6rem,7vw,2.2rem)/1.1 var(--f-display); letter-spacing:-.02em; text-decoration:none; border-bottom:1px solid var(--line)}
.overlay .sub a{font-size:1.15rem; font-family:var(--f-body); font-weight:500; padding:10px 0 10px 4px; color:var(--muted)}
.overlay-foot{display:grid; gap:10px; margin-top:auto}

/* Hero */
.hero{padding-top:calc(env(safe-area-inset-top,0px) + 128px); padding-bottom:clamp(48px,6vw,72px)}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:clamp(32px,5vw,72px); align-items:center}
.hero h1{font-size:clamp(2.5rem, 5vw, 4.4rem); line-height:.98; letter-spacing:-.035em}
.hero h1 em{font-style:normal; color:var(--accent)}
.hero .lede{margin-top:22px; font-size:clamp(1.05rem,1.4vw,1.22rem)}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px}
.plates{position:relative; aspect-ratio:5/5.4; max-width:100%}
.plate-a{position:absolute; inset:0 0 14% 12%}
.plate-b{position:absolute; left:0; bottom:0; width:48%; transform:rotate(-3deg)}
.plate-a .core,.plate-a .photo{height:100%}
.plate-b .photo{aspect-ratio:4/5}
.plate-tag{position:absolute; right:-6px; bottom:6%; background:var(--surface); border-radius:18px; padding:14px 18px; box-shadow:inset 0 0 0 1px var(--line), 0 24px 40px -24px var(--shade); display:flex; gap:12px; align-items:center; font-size:14px}
.plate-tag b{font:600 22px/1 var(--f-display); display:block}
.plate-tag .ico{width:30px; height:30px; color:var(--accent)}

/* Trip planner bar */
.planner{margin-top:clamp(40px,5vw,64px)}
.planner form{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:6px; align-items:end; padding:8px}
.planner .core{padding:10px}
.pfield{display:grid; gap:4px; padding:10px 16px; border-radius:16px; background:var(--bg); min-width:0}
.pfield label{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.pfield select,.pfield input{border:0; background:transparent; font:500 16px/1.3 var(--f-body); color:var(--ink); padding:2px 0; width:100%; min-width:0; outline:none}
.planner .btn{height:100%; min-height:62px}

/* Bento destinations */
.bento{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:minmax(220px,auto); gap:14px}
.tile{position:relative; border-radius:var(--r-xl); overflow:hidden; text-decoration:none; color:var(--photo-ink); min-height:260px; display:flex; isolation:isolate; background:var(--surface-2)}
.tile .photo{position:absolute; inset:0; z-index:-2}
.tile::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(8,16,14,0) 35%, rgba(8,16,14,.78) 100%)}
.tile:hover .photo img{transform:scale(1.05)}
.tile-body{margin-top:auto; padding:clamp(20px,2.4vw,30px); display:grid; gap:8px; width:100%}
.tile h3{font-size:clamp(1.5rem,2.4vw,2.2rem); color:var(--photo-ink)}
.tile p{color:rgba(247,245,239,.86); max-width:44ch; font-size:15.5px}
.tile .meta{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(247,245,239,.9)}
.tile .go{position:absolute; top:18px; right:18px; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:rgba(250,251,249,.18); backdrop-filter:blur(6px); color:var(--photo-ink); transition:transform .6s var(--ease), background-color .4s}
.tile:hover .go{transform:rotate(45deg); background:var(--accent); color:var(--accent-ink)}
.t-araku{grid-column:span 7; grid-row:span 2}
.t-vizag{grid-column:span 5}
.t-lamba{grid-column:span 5}
.t-s{grid-column:span 4}

/* Trip rail */
.rail-head{display:flex; justify-content:space-between; align-items:end; gap:24px; flex-wrap:wrap; margin-bottom:clamp(32px,4vw,48px)}
.rail-ctrl{display:flex; gap:8px}
.rbtn{width:52px; height:52px; border-radius:50%; border:0; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); color:var(--ink); display:grid; place-items:center; cursor:pointer; transition:transform .4s var(--ease), background-color .3s}
.rbtn:hover{background:var(--surface-2)} .rbtn:active{transform:scale(.94)}
.rbtn.prev .ico{transform:rotate(180deg)}
.rail{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(300px, 380px); gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; scrollbar-width:thin; scroll-padding-left:var(--gut)}
.rail>*{scroll-snap-align:start}
.trip{display:flex; flex-direction:column; height:100%}
.trip .core{display:flex; flex-direction:column; height:100%}
.trip .photo{aspect-ratio:4/3}
.trip-body{padding:22px 22px 24px; display:flex; flex-direction:column; gap:12px; flex:1}
.dur{display:flex; gap:14px; font-size:14px; color:var(--muted); font-weight:500}
.dur span{display:inline-flex; align-items:center; gap:6px}
.dur .ico{color:var(--accent)}
.route{font-size:15px; color:var(--muted)}
.ticks{list-style:none; padding:0; margin:0; display:grid; gap:6px; font-size:15px}
.ticks li{display:flex; gap:10px; align-items:flex-start}
.ticks .ico{color:var(--ok); margin-top:3px}
.trip-foot{margin-top:auto; padding-top:16px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:12px}
.price{font-size:14px; color:var(--muted)} .price b{display:block; color:var(--ink); font-size:16px}

/* Fleet tabs */
.fleet{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,72px); align-items:start}
.fleet-photo .photo{aspect-ratio:4/4.6}
.tabs{display:inline-flex; gap:4px; padding:5px; border-radius:999px; background:var(--surface-2); margin:26px 0 22px}
.tabs button{border:0; background:none; padding:11px 20px; border-radius:999px; font:600 15px/1 var(--f-body); color:var(--muted); cursor:pointer; display:flex; gap:8px; align-items:center; transition:background-color .35s var(--ease), color .3s}
.tabs button[aria-selected="true"]{background:var(--surface); color:var(--ink); box-shadow:0 6px 16px -10px var(--shade)}
.vlist{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.vlist li{display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:18px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line)}
.vlist .seats{font:600 30px/1 var(--f-display); letter-spacing:-.03em; min-width:2.2ch; color:var(--accent)}
.vlist b{display:block; font-weight:600}
.vlist small{color:var(--muted); font-size:13.5px}

/* Why grid */
.why{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,48px) clamp(24px,3vw,40px)}
.why>div{display:grid; gap:10px; padding-top:22px; border-top:1px solid var(--line)}
.why .ico{width:34px; height:34px; color:var(--accent)}
.why h3{font-size:1.22rem; letter-spacing:-.01em}
.why p{color:var(--muted); font-size:15.5px}

/* Steps */
.steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; counter-reset:s}
.step .core{padding:28px; display:grid; gap:12px; height:100%}
.step .n{font:600 15px/1 var(--f-display); width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--accent-soft); color:var(--ink)}
.step p{color:var(--muted); font-size:15.5px}

/* FAQ */
.faq-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,72px)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; padding:22px 0; display:flex; justify-content:space-between; gap:20px; font:600 1.12rem/1.35 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{transition:transform .5s var(--ease); color:var(--accent); margin-top:2px}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq details p{padding:0 0 22px; color:var(--muted); max-width:62ch}

/* Contact + forms */
.contact{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,4vw,56px); align-items:start}
.cinfo{display:grid; gap:12px}
.citem{display:flex; gap:16px; padding:18px 20px; border-radius:20px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); align-items:flex-start}
.citem .ico{width:26px; height:26px; color:var(--accent); margin-top:2px}
.citem small{display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:4px}
.citem a{text-decoration:none; font-weight:600}
.citem .row{display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center}
.copy{border:0; background:var(--surface-2); color:var(--muted); font:500 12px/1 var(--f-body); padding:6px 10px; border-radius:999px; cursor:pointer}
.form .core{padding:clamp(22px,3vw,36px)}
.form h3{margin-bottom:6px}
.form .lede{font-size:15.5px; margin-bottom:22px}
.fgrid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.fgrid .full{grid-column:1/-1}
.field{display:grid; gap:6px; min-width:0}
.field label{font-size:14px; font-weight:600}
.field label span{color:var(--muted); font-weight:400}
.field input,.field select,.field textarea{width:100%; min-width:0; font:400 16px/1.4 var(--f-body); color:var(--ink); background:var(--bg); border:0; box-shadow:inset 0 0 0 1px var(--line); border-radius:14px; padding:13px 15px; transition:box-shadow .3s var(--ease)}
.field textarea{min-height:110px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; box-shadow:inset 0 0 0 2px var(--accent)}
.field .err{font-size:13px; color:#B4471F; display:none}
.field.bad .err{display:block}
.field.bad input,.field.bad select{box-shadow:inset 0 0 0 2px #C9572B}
.form-foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:22px}
.form-foot small{color:var(--muted); font-size:13.5px; max-width:36ch}
.done{display:grid; gap:14px; padding:8px 0}
.done .ico{width:44px; height:44px; color:var(--ok)}
.done p{color:var(--muted)}

/* Page hero (inner pages) */
.phero{padding-top:calc(env(safe-area-inset-top,0px) + 108px)}
.phero-card{position:relative; border-radius:var(--r-xl); overflow:hidden; min-height:clamp(340px,44vw,500px); display:flex; isolation:isolate; color:var(--photo-ink)}
.phero-card .photo{position:absolute; inset:0; z-index:-2}
.phero-card::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(8,16,14,.82) 0%, rgba(8,16,14,.45) 55%, rgba(8,16,14,.1) 100%)}
.phero-body{margin-top:auto; padding:clamp(24px,4vw,56px); display:grid; gap:16px; max-width:760px}
.phero h1{font-size:clamp(2.3rem,5.4vw,4.4rem); color:var(--photo-ink)}
.phero p{color:rgba(247,245,239,.88); font-size:clamp(1rem,1.3vw,1.15rem); max-width:56ch}
.crumbs{display:flex; gap:8px; align-items:center; font-size:14px; list-style:none; padding:0; margin:0; color:rgba(247,245,239,.8)}
.crumbs a{text-decoration:none} .crumbs a:hover{text-decoration:underline}
.facts{display:flex; flex-wrap:wrap; gap:8px; margin-top:6px}
.facts span{display:inline-flex; gap:8px; align-items:center; padding:8px 14px; border-radius:999px; background:rgba(250,251,249,.14); font-size:14px; font-weight:500; backdrop-filter:blur(4px)}

/* Package list (inner) */
.pkgs{display:grid; gap:18px}
.pkg .core{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.pkg .photo{min-height:100%; aspect-ratio:auto}
.pkg-body{padding:clamp(22px,3vw,36px); display:grid; gap:14px; align-content:start}
.pkg h3{font-size:clamp(1.45rem,2.4vw,1.9rem)}
.days{border-radius:18px; background:var(--bg); padding:4px 18px}
.days summary{cursor:pointer; list-style:none; padding:14px 0; font-weight:600; display:flex; justify-content:space-between; align-items:center}
.days summary::-webkit-details-marker{display:none}
.days summary .ico{transition:transform .5s var(--ease); color:var(--accent)}
.days[open] summary .ico{transform:rotate(45deg)}
.days ol{list-style:none; margin:0; padding:0 0 16px; display:grid; gap:14px}
.days li{display:grid; grid-template-columns:auto 1fr; gap:14px}
.days li b{font:600 13px/1 var(--f-body); letter-spacing:.06em; text-transform:uppercase; background:var(--accent-soft); padding:7px 10px; border-radius:999px; height:max-content; white-space:nowrap}
.days li p{font-size:15.5px; color:var(--muted)}
.days li strong{color:var(--ink); display:block; font-weight:600}
.incl{display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0}
.incl li{font-size:13.5px; padding:7px 12px; border-radius:999px; background:var(--surface-2); color:var(--ink)}
.pkg-foot{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding-top:6px}

/* Good to know */
.know{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.know .core{padding:26px; display:grid; gap:10px; height:100%}
.know .ico{width:30px; height:30px; color:var(--accent)}
.know p{color:var(--muted); font-size:15.5px}
.know .big{font:600 2.2rem/1 var(--f-display); letter-spacing:-.03em}

/* Vehicles (cab / bus pages) */
.vgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.veh .core{padding:26px; display:grid; gap:14px; height:100%; align-content:start}
.veh-top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px}
.veh-ico{width:58px; height:58px; border-radius:18px; display:grid; place-items:center; background:var(--accent-soft)}
.veh-ico .ico{width:30px; height:30px}
.veh .seat{text-align:right} .veh .seat b{font:600 2.4rem/1 var(--f-display); letter-spacing:-.04em; display:block}
.veh .seat small{color:var(--muted); font-size:13px}
.veh p{color:var(--muted); font-size:15.5px}
.uses{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.use{padding:24px; border-radius:var(--r-lg); background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); display:grid; gap:8px; align-content:start}
.use .ico{width:30px; height:30px; color:var(--accent)}
.use p{color:var(--muted); font-size:15px}

/* Contact page */
.cards4{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.ccard .core{padding:26px; display:grid; gap:10px; height:100%; align-content:start}
.ccard .ico{width:30px; height:30px; color:var(--accent)}
.ccard p,.ccard a{color:var(--muted); text-decoration:none; overflow-wrap:anywhere}
.ccard a:hover{color:var(--ink)}
.mapcard{position:relative; display:flex; min-height:260px; border-radius:var(--r-xl); overflow:hidden; isolation:isolate; color:var(--photo-ink); text-decoration:none}
.mapcard .photo{position:absolute; inset:0; z-index:-2}
.mapcard::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(8,16,14,.1), rgba(8,16,14,.8))}
.mapcard div.mbody{margin-top:auto; padding:26px; display:grid; gap:6px}
.mapcard b{font:600 1.5rem/1.1 var(--f-display)}

/* Footer */
.footer{padding-block:clamp(56px,7vw,88px) calc(env(safe-area-inset-bottom,0px) + 40px); background:var(--surface-2)}
.fgrid4{display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,56px)}
.footer .fh{font:600 13px/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:16px}
.footer ul{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.footer a{text-decoration:none} .footer a:hover{color:var(--accent)}
.footer p{color:var(--muted); font-size:15.5px; max-width:40ch}
.fbottom{margin-top:clamp(40px,5vw,64px); padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:14px; color:var(--muted)}

/* Floating WhatsApp + mobile dock */
.wa-float{position:fixed; z-index:var(--z-dock); right:calc(env(safe-area-inset-right,0px) + 22px); bottom:calc(env(safe-area-inset-bottom,0px) + 22px); width:60px; height:60px; border-radius:50%; background:#12844A; color:#fff; display:grid; place-items:center; box-shadow:0 18px 36px -14px rgba(18,132,74,.6); transition:transform .5s var(--ease)}
.wa-float:hover{transform:scale(1.06)}
.wa-float .ico{width:30px; height:30px}
.dock{display:none}

/* Credits page */
.credits{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
.credits li{display:flex; gap:14px; align-items:center; padding:10px; border-radius:18px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); font-size:15px}
.credits img{width:84px; height:64px; object-fit:cover; border-radius:12px}
.credits small{display:block; color:var(--muted)}

/* Reveal: content is visible at rest; only below-fold items get pre-hidden by JS */
.rv-wait{opacity:0; transform:translateY(28px); filter:blur(6px)}
.rv-in{opacity:1; transform:none; filter:none; transition:opacity .9s var(--ease), transform 1s var(--ease), filter .9s var(--ease)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important}
  .rv-wait{opacity:1; transform:none; filter:none}
}

/* Responsive */
@media (max-width:1060px){
  .menu,.nav-cta{display:none}
  .burger{display:block; margin-left:auto}
  .planner form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner .btn{grid-column:1/-1; justify-content:space-between}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards4,.uses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .hero-grid,.fleet,.faq-grid,.contact{grid-template-columns:minmax(0,1fr)}
  .hero{padding-top:calc(env(safe-area-inset-top,0px) + 104px)}
  .plates{aspect-ratio:auto; display:grid; gap:12px}
  .plate-a,.plate-b,.plate-tag{position:relative; inset:auto; transform:none; width:auto; right:auto; bottom:auto}
  .plate-a .photo{aspect-ratio:4/3}
  .plate-b,.plate-tag{display:none}
  .bento{grid-template-columns:minmax(0,1fr)}
  .t-araku,.t-vizag,.t-lamba,.t-s{grid-column:auto; grid-row:auto}
  .t-araku{min-height:380px}
  .steps,.know{grid-template-columns:minmax(0,1fr)}
  .pkg .core{grid-template-columns:minmax(0,1fr)}
  .pkg .photo{aspect-ratio:16/10}
  .fleet-photo{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .brand small{display:none}
  .brand img{height:38px}
  .why,.vgrid,.cards4,.uses,.vlist,.fgrid,.credits{grid-template-columns:minmax(0,1fr)}
  .planner form{grid-template-columns:minmax(0,1fr)}
  .fgrid4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fgrid4>:first-child{grid-column:1/-1}
  .rail{grid-auto-columns:84%}
  .hero-ctas .btn{width:100%; justify-content:space-between}
  .wa-float{display:none}
  .dock{display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; z-index:var(--z-dock); left:0; right:0; bottom:0; padding:10px max(12px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 10px) max(12px, env(safe-area-inset-left,0px)); background:color-mix(in srgb, var(--surface) 90%, transparent); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 var(--line)}
  .dock a{display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; border-radius:999px; font-weight:600; text-decoration:none}
  .dock .call{background:var(--surface-2); color:var(--ink)}
  .dock .wa{background:#12844A; color:#fff}
  .footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 100px)}
  .days li{grid-template-columns:minmax(0,1fr); gap:6px}
}
