/* ==========================================================================
   Nandi Go — site styles (home + partner pages)
   ========================================================================== */
:root{
  --forest:#1A3D2E;--forest-2:#1F4433;--deep:#0F1C18;--moss:#2F5F46;
  --gold:#D4AF37;--gold2:#E6C766;--gold-ink:#8C6D1F;
  --cream:#F5F1E8;--paper:#EDE6D6;--white:#fff;
  --ink:#0F1C18;--muted:#5E6B63;--line:#E2DACA;
  --serif:'Playfair Display',Georgia,serif;--sans:'Poppins',system-ui,sans-serif;
  --success:#2D7F5F;--warning:#D49A3D;--error:#B84A4A;--info:#3F6B8A;--sand:#CFBF9F;--charcoal:#0F1C18;
  --btn-r:12px;--ease:200ms ease;
  --r:18px;--shadow:0 18px 44px -18px rgba(26,61,46,.28);
  /* legacy names used by the partner page */
  --green:#1A3D2E;--green2:#2F5F46;--mist:#EDE6D6;--granite:#0F1C18;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.bk-lock{overflow:hidden}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.container{width:min(1200px,calc(100% - 40px));margin:0 auto;position:relative}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kicker{display:inline-flex;align-items:center;gap:8px;font:italic 400 17px/1.3 var(--serif);color:#9C7A22}
.kicker.light{color:var(--gold2)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;margin:0}
.section{padding:96px 0}
.section-head{max-width:680px;margin:0 0 42px}
.section-head.center{text-align:center;margin-inline:auto}
.section-head h2{font-size:clamp(32px,4vw,50px);line-height:1.08;margin:10px 0 14px}
.section-head h2 em{font-style:italic;color:#9C7A22;font-weight:400}
.section-head p{color:var(--muted);font-size:16px;line-height:1.7;margin:0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;border:1px solid transparent;
  padding:13px 22px;font-weight:600;font-size:14.5px;line-height:1;white-space:nowrap;transition:transform .15s,background .2s,box-shadow .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}
.btn-gold,.gold-btn{background:linear-gradient(180deg,#E6C766,#C9A22F);color:#1A3D2E;box-shadow:inset 0 1px 0 #fff6,0 10px 24px -14px #B8952Ccc}
.btn-forest,.green-btn{background:linear-gradient(180deg,#2F5F46,#1A3D2E);color:#fff;box-shadow:0 12px 26px -16px #1A3D2E}
.btn-ghost{background:transparent;border-color:#D3C9B2;color:var(--ink)}
.btn-ghost:hover{border-color:var(--forest)}
.btn-ghost.light{border-color:#ffffff4d;color:#fff}
.btn-ghost.light:hover{border-color:var(--gold2);color:var(--gold2)}
.btn-sm{padding:10px 15px;font-size:13.5px}
.gold-btn,.green-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:13px 22px;font-weight:600;font-size:14px;border:0}
.outline-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 20px;border:1px solid #ffffff4d;color:#fff;font-weight:600;font-size:13px}

/* ---------- Header ---------- */
.site-header{position:absolute;inset:0 0 auto;z-index:40;color:#fff;padding-top:14px}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:22px;height:72px}
.site-header.scrolled{position:fixed;top:10px;left:50%;right:auto;width:min(1240px,calc(100% - 24px));transform:translateX(-50%);
  padding:0;border-radius:18px;background:rgba(20,46,35,.9);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);
  border:1px solid #ffffff1a;box-shadow:0 18px 40px -20px #08120Fb0;animation:pillIn .45s cubic-bezier(.2,.8,.2,1)}
.site-header.scrolled .nav{height:62px;width:calc(100% - 32px)}
@keyframes pillIn{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
.brand-logo{height:48px;width:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.site-header.scrolled .brand-logo{height:40px}
.navlinks{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}
.navlinks>a,.nav-drop>a{position:relative;opacity:.9;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.navlinks>a:hover,.nav-drop>a:hover,.navlinks a.current{opacity:1;color:var(--gold2)}
.nav-new .dot{width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 0 #E6C76688;animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 #E6C76688}70%{box-shadow:0 0 0 8px #E6C76600}100%{box-shadow:0 0 0 0 #E6C76600}}
.navright{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;background:none;border:0;color:#fff;padding:8px}
.menu-btn .ic{width:26px;height:26px}
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop .ic{width:.9em;height:.9em;opacity:.7}
.nav-drop-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);min-width:200px;background:#1F4433;
  border:1px solid #ffffff1f;border-radius:12px;padding:8px;box-shadow:0 18px 40px -12px #08120Fb3;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:.2s;z-index:30}
.nav-drop-menu:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-drop-menu a{padding:10px 12px;border-radius:8px;white-space:nowrap}
.nav-drop-menu a:hover{background:#ffffff14;color:var(--gold2)}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:1080px){.navlinks{gap:18px;font-size:13.5px}}
@media(max-width:960px){
  .menu-btn{display:block}
  .navlinks{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1F4433;padding:20px;border-radius:14px;flex-direction:column;align-items:flex-start;gap:16px;border:1px solid #ffffff1a}
  .navlinks.open{display:flex}
  .nav-drop{flex-direction:column;align-items:flex-start}
  .nav-drop-menu{position:static;transform:none;opacity:1;visibility:visible;background:none;border:0;box-shadow:none;padding:6px 0 0 12px;min-width:0}
  .nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{transform:none}
  .nav-drop-menu a{padding:7px 0;font-size:13.5px;opacity:.85}
  .navright .btn span{display:none}
  .navright .btn{padding:11px}
}

/* ---------- Hero: journey map ---------- */
.hero-map{position:relative;background:radial-gradient(900px 520px at 78% 30%,#2F5F46 0%,transparent 62%),radial-gradient(700px 500px at 10% 100%,#1F4433 0%,transparent 60%),linear-gradient(170deg,#1A3D2E,#0C1714 80%);
  color:#fff;padding:120px 0 34px;overflow:hidden;border-radius:0 0 34px 34px}
.hero-map:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff12 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);pointer-events:none}
.hm-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:center}
.hm-copy h1{font-size:clamp(40px,5.2vw,70px);line-height:1.02;margin:16px 0 20px;font-weight:600}
.hm-copy h1 em{color:var(--gold2);font-style:italic;font-weight:400}
.hm-copy p{color:#E4E9E4;font-size:17px;line-height:1.7;max-width:46ch;margin:0 0 28px}
.hm-actions{display:flex;gap:12px;flex-wrap:wrap}
.hm-stats{display:flex;gap:28px;margin-top:38px;padding-top:24px;border-top:1px solid #ffffff1c;flex-wrap:wrap}
.hm-stats div{display:flex;flex-direction:column;gap:4px}
.hm-stats b{font:500 26px/1 var(--serif);color:var(--gold2)}
.hm-stats span{font-size:12.5px;color:#AEBAB2}
.hm-stage{position:relative;height:min(660px,72vh);min-height:480px}
.hm-stage:after{content:"";position:absolute;left:12%;right:12%;bottom:2%;height:12%;border-radius:50%;background:radial-gradient(ellipse at center,#00000066,transparent 70%);filter:blur(8px);z-index:0}
.hm-tilt{position:absolute;inset:0;z-index:1;transform:perspective(1600px) rotateX(var(--rx,16deg)) rotateY(var(--ry,0deg));transform-origin:50% 62%;transition:transform .25s ease-out}
#ngMap{width:100%;height:100%;overflow:hidden}
.hm-tilt{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 90%,transparent);mask-composite:intersect}
.hm-controls{position:absolute;z-index:3;left:50%;bottom:6px;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:999px;background:#1F4433d9;border:1px solid #ffffff21;backdrop-filter:blur(8px)}
.hm-controls button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:#E4E9E4;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600}
.hm-controls button[aria-pressed="true"]{background:var(--gold2);color:#1A3D2E}
.hm-hint{position:absolute;z-index:3;top:4px;right:4px;font-size:12px;color:#AEBAB2;display:flex;align-items:center;gap:6px}
.hm-tip{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 14px));background:#fff;color:var(--ink);border-radius:12px;padding:10px 13px;min-width:170px;
  box-shadow:0 14px 34px -12px #000a;pointer-events:none;display:flex;flex-direction:column;gap:2px;font-size:12.5px}
.hm-tip[hidden]{display:none}
.hm-tip b{font:500 16px var(--serif)}.hm-tip span{color:var(--muted)}.hm-tip em{font-style:normal;color:#2F5F46;font-weight:600;margin-top:3px}
.hm-tip:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.hm-dests{display:flex;gap:10px;overflow-x:auto;padding:22px 0 6px;scrollbar-width:thin;scroll-snap-type:x proximity}
.md-chip{scroll-snap-align:start;display:flex;align-items:center;gap:10px;flex:0 0 auto;background:#ffffff0d;border:1px solid #ffffff1f;color:#fff;border-radius:14px;padding:10px 14px;text-align:left;transition:.2s}
.md-chip .ic{color:var(--gold2)}
.md-chip b{display:block;font-size:13.5px;font-weight:600}.md-chip small{color:#AEBAB2;font-size:12px}
.md-chip:hover,.md-chip.is-active{background:#ffffff1a;border-color:var(--gold2)}

/* SVG map parts */
#ngMap *{vector-effect:non-scaling-stroke}
.m-edge{fill:#08120F}
.m-india{stroke:#E6C766;stroke-opacity:.55;stroke-width:1}
.m-states{stroke:#ffffff;stroke-opacity:.13;stroke-width:.7}
.m-ka{stroke:#FFF3C8;stroke-width:1.1}
.m-ka-edge{fill:#6E5818}
.m-district{fill:transparent;stroke:#1A3D2E;stroke-opacity:0;stroke-width:.8;transition:stroke-opacity .5s,fill .2s}
[data-view="ka"] .m-district{stroke-opacity:.45}
[data-view="ka"] .m-district.is-hover{fill:#ffffff40}
.m-dist-label{fill:#1A3D2E;font-family:var(--sans);font-weight:600;text-anchor:middle;opacity:0;transition:opacity .5s;pointer-events:none}
[data-view="ka"] .m-dist-label{opacity:.5}
.m-route{fill:none;stroke:#E6C766;stroke-width:1.5;stroke-opacity:.85;stroke-linecap:round;transition:opacity .4s}
.m-route.is-air{stroke-opacity:.55}
.m-traveller{fill:#fff;transition:opacity .4s}
.is-hidden{opacity:0;pointer-events:none}
.m-pin{cursor:pointer;transition:opacity .4s;outline:none}
.m-pin-glow{fill:url(#gGlow);opacity:0;transition:opacity .2s}
.m-pin:hover .m-pin-glow,.m-pin:focus .m-pin-glow,.m-pin.is-active .m-pin-glow{opacity:1}
.m-pin-pulse{fill:none;stroke:#E6C766;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:pinPulse 2.6s ease-out infinite}
@keyframes pinPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.m-pin-dot{fill:#E6C766;stroke:#1A3D2E;stroke-width:2}
.m-pin-core{fill:#1A3D2E}
.m-pin.is-active .m-pin-dot,.m-pin:hover .m-pin-dot{fill:#fff}
.m-pin.is-cluster .m-pin-dot{fill:#fff;stroke:#B8952C}
.m-pin-label{fill:#fff;font:600 12.5px var(--sans);paint-order:stroke;stroke:#132A21;stroke-width:3.5px;stroke-linejoin:round}
.m-pin-sub{fill:#E6C766;font:600 10.5px var(--sans);paint-order:stroke;stroke:#132A21;stroke-width:3px;stroke-linejoin:round}
.m-origin-dot{fill:#fff;stroke:#B8952C;stroke-width:2}
.m-origin-label{fill:#fff;font:700 12px var(--sans);letter-spacing:.04em;paint-order:stroke;stroke:#132A21;stroke-width:3.5px}
@media(prefers-reduced-motion:reduce){.m-pin-pulse,.nav-new .dot{animation:none}}

/* Destination panel */
.dp{position:fixed;inset:0;z-index:70;background:rgba(8,18,15,.38);opacity:0;transition:opacity .25s}
.dp.open{opacity:1}
.dp-sheet{position:absolute;top:12px;right:12px;bottom:12px;width:min(440px,calc(100% - 24px));background:var(--cream);border-radius:22px;overflow:auto;
  transform:translateX(30px);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 60px -20px #000a}
.dp.open .dp-sheet{transform:none}
.dp-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:#ffffffe6;display:grid;place-items:center;box-shadow:0 4px 14px #0002}
.dp-photo{height:210px;background:#123 center/cover;position:relative}
.dp-mode{position:absolute;left:16px;bottom:14px;display:inline-flex;gap:7px;align-items:center;background:#1A3D2Ed9;color:#fff;font-size:12px;font-weight:600;padding:7px 11px;border-radius:999px}
.dp-mode .ic{color:var(--gold2)}
.dp-content{padding:22px 24px 28px}
.dp-kicker{display:inline-flex;gap:6px;align-items:center;color:var(--gold-ink);font-size:13px;font-weight:600}
.dp-content h3{font-size:32px;margin:6px 0 14px;color:var(--forest)}
.dp-stops{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:7px}
.dp-stops li{display:flex;gap:8px;font-size:14px;color:#3E5247;line-height:1.45}
.dp-stops .ic{color:#2D7F5F;margin-top:2px}
.dp-sub{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 10px}
.dp-trip{display:grid;grid-template-columns:96px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;margin-bottom:10px}
.dp-trip-img{border-radius:11px;background:#ccc center/cover;min-height:96px}
.dp-trip-body h4{font-size:17px;line-height:1.25;margin:2px 0 6px;color:var(--forest)}
.dp-trip-meta{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12.5px;margin:0 0 4px}
.dp-trip-price{margin:0 0 10px;font-size:13px;color:var(--muted)}.dp-trip-price b{font:500 18px var(--serif);color:var(--ink)}
.dp-trip-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- Boarding pass (Coffee retreat) ---------- */
.retreat{background:var(--paper)}
.ticket{display:grid;grid-template-columns:minmax(0,1fr) 320px;background:#fff;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}
.tk-main{padding:34px 38px 32px}
.tk-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.tk-new{display:inline-flex;gap:7px;align-items:center;background:#fff6e3;color:var(--gold-ink);border:1px solid #efd9ab;padding:6px 11px;border-radius:999px;letter-spacing:.04em;text-transform:none;font-size:12.5px}
.tk-route{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin:26px 0 8px}
.tk-city b{display:block;font:600 54px/1 var(--serif);color:var(--forest);letter-spacing:-.02em}
.tk-city span{font-size:13px;color:var(--muted)}
.tk-city.to{text-align:right}
.tk-line{position:relative;height:2px;background:repeating-linear-gradient(90deg,#CFBF9F 0 6px,transparent 6px 12px)}
.tk-line .ic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;padding:5px;border-radius:50%;background:#fff;color:var(--gold-ink);border:1px solid #e7dcc2}
.tk-title{font-size:clamp(26px,3vw,34px);color:var(--forest);margin:18px 0 4px}
.tk-title em{font-style:italic;color:#9C7A22}
.tk-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 24px;padding:16px 0;border-block:1px dashed #e3dccb}
.tk-meta div{display:flex;flex-direction:column;gap:4px}
.tk-meta span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tk-meta b{font-size:14.5px;font-weight:600;color:var(--ink)}
.tk-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--paper);border:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.tk-tabs button{border:0;background:none;padding:9px 16px;border-radius:999px;font-weight:600;font-size:13.5px;color:#3E5247}
.tk-tabs button[aria-selected="true"]{background:var(--forest);color:#fff}
.tk-pkg{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px}
.tk-price b{display:block;font:600 44px/1 var(--serif);color:var(--forest)}
.tk-price del{color:#8C978F;font-size:15px;margin-left:4px}
.tk-price small{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.tk-price .tk-note{display:inline-flex;gap:6px;align-items:center;margin-top:12px;font-size:12.5px;color:#2F5F46;background:#E6F1EC;padding:6px 10px;border-radius:999px}
.tk-audience{font-size:13.5px;color:var(--muted);margin:12px 0 0;line-height:1.5}
.tk-perks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}
.tk-perks li{display:flex;gap:9px;font-size:14px;line-height:1.45;color:#3E5247}
.tk-perks .ic{color:var(--gold-ink);margin-top:1px}
.tk-stub{position:relative;background:linear-gradient(170deg,#1C3F30,#132A21);color:#fff;padding:30px 26px;display:flex;flex-direction:column;gap:14px;border-left:2px dashed #ffffff33}
.tk-stub:before,.tk-stub:after{content:"";position:absolute;left:-15px;width:28px;height:28px;border-radius:50%;background:var(--paper)}
.tk-stub:before{top:-14px}.tk-stub:after{bottom:-14px}
.tk-stub h4{font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
.tk-batch{border:1px solid #ffffff26;border-radius:16px;padding:16px;background:#ffffff08}
.tk-batch b{display:block;font:600 22px var(--serif)}
.tk-batch span{display:flex;gap:7px;align-items:center;color:#E4E9E4;font-size:13px;margin:6px 0 12px}
.tk-batch .btn{width:100%}
.tk-batch.is-past{opacity:.45}
.tk-batch.is-past .btn{pointer-events:none}
.tk-stub-foot{margin-top:auto;font-size:12px;color:#AEBAB2;line-height:1.55}
.tk-barcode{height:34px;border-radius:4px;background:repeating-linear-gradient(90deg,#ffffffb3 0 2px,transparent 2px 5px,#ffffffb3 5px 6px,transparent 6px 9px,#ffffffb3 9px 12px,transparent 12px 14px);opacity:.35}
.trail{margin-top:34px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.trail:before{content:"";position:absolute;left:4%;right:4%;top:22px;height:2px;background:repeating-linear-gradient(90deg,#CFBF9F 0 6px,transparent 6px 12px)}
.trail li{list-style:none;position:relative;text-align:center;padding:0 4px}
.trail .tr-ic{width:46px;height:46px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#fff;border:1px solid #e7dcc2;color:var(--gold-ink);position:relative;z-index:1}
.trail b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:4px}
.trail span{font-size:13.5px;color:#3E5247;line-height:1.5}
.retreat-links{display:flex;gap:18px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.retreat-links a{display:inline-flex;gap:8px;align-items:center;color:#2F5F46;font-weight:600;font-size:14px;border-bottom:1px solid #2F5F4655;padding-bottom:2px}

/* ---------- Trips (explore) ---------- */
.trip-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-size:13.5px;font-weight:600;color:#3E5247;transition:.2s}
.chip:hover{border-color:#A3ADA6}
.chip.active{background:var(--forest);border-color:var(--forest);color:#fff}
.trip-count{color:var(--muted);font-size:14px}
.trips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.trip{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.trip:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.trip-img{height:210px;background:#ccd center/cover;position:relative}
.trip-tag{position:absolute;left:14px;top:14px;background:#fffffff0;color:var(--forest);font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;display:inline-flex;gap:6px;align-items:center}
.trip-tag .ic{color:var(--gold-ink)}
.trip-body{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}
.trip-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;margin-bottom:8px}
.trip-meta span{display:inline-flex;gap:5px;align-items:center}
.trip h3{font-size:22px;line-height:1.2;color:var(--forest);margin:0 0 8px}
.trip p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 14px}
.trip-perks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.trip-perks span{font-size:12px;background:var(--paper);color:#3E5247;padding:5px 9px;border-radius:999px}
.trip-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-top:14px;border-top:1px solid #EDE6D6}
.trip-price small{display:block;color:var(--muted);font-size:11.5px}
.trip-price b{font:500 24px var(--serif);color:var(--ink)}
.trip-price em{font-style:normal;color:var(--muted);font-size:12.5px}
.trip-actions{display:flex;gap:8px}

/* ---------- How it works ---------- */
.how{background:var(--white)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s}
.step{border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;background:var(--cream);counter-increment:s;position:relative}
.step:before{content:"0" counter(s);position:absolute;top:22px;right:22px;font:500 15px var(--serif);color:#C8B27A}
.step-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--forest);color:var(--gold2);margin-bottom:18px}
.step-ic .ic{width:22px;height:22px}
.step h3{font-size:21px;color:var(--forest);margin-bottom:8px}
.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.pay-note{display:flex;gap:10px;align-items:center;justify-content:center;margin:28px auto 0;max-width:760px;text-align:center;background:#E6F1EC;color:#2F5F46;padding:14px 18px;border-radius:14px;font-size:14px}

/* ---------- About / why ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.about-photo{border-radius:26px;min-height:440px;background:#cbd center/cover;position:relative;overflow:hidden}
.about-photo:after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#1A3D2Ecc)}
.about-photo figcaption{position:absolute;left:22px;bottom:20px;z-index:1;color:#fff;font:italic 400 19px var(--serif)}
.proof{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.proof div{display:flex;gap:12px;align-items:flex-start}
.proof .ic{width:38px;height:38px;padding:9px;border-radius:12px;background:#f3ead6;color:var(--gold-ink)}
.proof b{display:block;font-size:15px;margin-bottom:3px}
.proof span{font-size:13.5px;color:var(--muted);line-height:1.5}

/* ---------- Moments ---------- */
.moments{background:var(--paper)}
.social-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.social-card{display:flex;flex-direction:column;gap:14px;border-radius:var(--r);padding:26px;background:#fff;border:1px solid var(--line);transition:.2s}
.social-card:hover{border-color:var(--forest);transform:translateY(-2px)}
.social-card svg.brand{width:34px;height:34px;color:var(--forest)}
.social-card b{font:500 22px var(--serif);color:var(--forest)}
.social-card span{color:var(--muted);font-size:14px}
.social-card em{font-style:normal;display:inline-flex;gap:6px;align-items:center;color:#2F5F46;font-weight:600;font-size:14px;margin-top:auto}

/* ---------- CTA ---------- */
.cta-band{margin:0 20px;border-radius:30px;background:radial-gradient(600px 300px at 85% 0,#2F5F46,transparent 70%),linear-gradient(160deg,#1A3D2E,#0C1714);color:#fff;padding:70px 0;text-align:center}
.cta-band h2{font-size:clamp(32px,4vw,52px);margin:10px 0 14px}
.cta-band p{color:#E4E9E4;margin:0 auto 26px;max-width:52ch;line-height:1.7}
.cta-band .hm-actions{justify-content:center}

/* ---------- Footer ---------- */
footer{background:#12261E;color:#E8ECE7;padding:70px 0 26px;margin-top:80px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
.foot-grid h4{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);margin:6px 0 16px}
.foot-grid a,.foot-grid p{display:flex;gap:8px;align-items:center;font-size:14px;color:#C9D3CC;margin:0 0 11px;line-height:1.5}
.foot-grid a:hover{color:var(--gold2)}
.foot-grid .ic{color:var(--gold2)}
.footer-logo{height:62px;width:auto;margin-bottom:16px}
.foot-social{display:flex;gap:10px;margin-top:16px}
.foot-social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff26;margin:0}
.foot-social svg{width:17px;height:17px}
.foot-end{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #ffffff17;margin-top:40px;padding-top:22px;font-size:12.5px;color:#8C978F}
.foot-end a{color:#AEBAB2;text-decoration:underline}

/* ---------- Floating book button ---------- */
.book-fab{position:fixed;right:22px;bottom:22px;z-index:45;display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff2b;border-radius:999px;padding:14px 20px;
  background:linear-gradient(180deg,#2F5F46,#1A3D2E);color:#fff;font-weight:600;font-size:14.5px;box-shadow:0 16px 34px -14px #08120Fcc;transition:transform .3s,opacity .3s}
.book-fab .ic{color:var(--gold2);width:20px;height:20px}
.book-fab:hover{transform:translateY(-2px)}
.book-fab.away{transform:translateY(140%);opacity:0;pointer-events:none}

/* ---------- Booking card ---------- */
.bk{position:fixed;inset:0;z-index:90;background:rgba(8,18,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .22s}
.bk.open{opacity:1}
.bk[hidden]{display:none}
.bk-card{position:relative;width:min(960px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;display:grid;grid-template-columns:340px minmax(0,1fr);
  box-shadow:0 40px 80px -30px #000c;transform:translateY(14px);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.bk.open .bk-card{transform:none}
.bk-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.bk-summary{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column}
.bk-photo{height:190px;background:#bcc center/cover}
.bk-sum-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.bk-sum-kicker{font-size:12.5px;color:var(--gold-ink);font-weight:600}
.bk-sum-body h3{font-size:24px;color:var(--forest);line-height:1.15}
.bk-sum-meta{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:#3E5247}
.bk-sum-meta span{display:flex;gap:8px;align-items:center}.bk-sum-meta em{font-style:normal}
.bk-sum-meta .ic{color:var(--gold-ink)}
.bk-sum-perks{list-style:none;padding:12px 0 0;margin:0;border-top:1px dashed #D6CDB8;display:grid;gap:7px}
.bk-sum-perks li{display:flex;gap:8px;font-size:13px;color:#3E5247;line-height:1.4}
.bk-sum-perks .ic{color:#2D7F5F}
.bk-sum-pay{margin:auto 0 0;display:flex;gap:9px;font-size:12.5px;line-height:1.5;color:#2F5F46;background:#E6F1EC;border-radius:12px;padding:11px 12px}
.bk-sum-pay .ic{margin-top:1px}
.bk-main{padding:30px 32px 26px}
.bk-kicker{display:inline-flex;gap:7px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.bk-main h2{font-size:30px;color:var(--forest);margin:6px 0 20px}
#bkForm{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.bk-wide{grid-column:1/-1}
.bk-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#3E5247}
.bk-field small{font-weight:400;color:var(--muted)}
.bk-field[hidden]{display:none}
.bk-field input,.bk-field select{height:48px;border:1px solid #D8CFBA;border-radius:12px;background:#FBF9F3;padding:0 14px;font:500 15px var(--sans);color:var(--ink);width:100%}
.bk-field input:focus,.bk-field select:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2F5F4626;background:#fff}
.bk-seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.bk-seg button{text-align:left;border:1px solid #D8CFBA;background:#FBF9F3;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:2px;transition:.15s}
.bk-seg button b{font-size:14.5px;color:var(--ink)}
.bk-seg button span{font-size:13px;color:#3E5247;font-weight:500}
.bk-seg button small{font-size:11.5px;color:var(--muted);font-weight:500}
.bk-seg button[aria-checked="true"]{border-color:var(--forest);background:#E6F1EC;box-shadow:inset 0 0 0 1px var(--forest)}
.bk-muted{margin:0;font-weight:400;color:var(--muted)}
.bk-stepper{display:flex;align-items:center;height:48px;border:1px solid #D8CFBA;border-radius:12px;background:#FBF9F3;overflow:hidden}
.bk-stepper button{width:48px;height:100%;border:0;background:none;display:grid;place-items:center;color:var(--forest)}
.bk-stepper button:hover{background:#EEF2EE}
.bk-stepper output{flex:1;text-align:center;font:600 16px var(--sans);color:var(--ink)}
.bk-total{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--paper);border-radius:14px;padding:14px 16px;flex-wrap:wrap}
.bk-total span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.bk-total strong{font:500 26px var(--serif);color:var(--forest)}
.bk-total small{display:block;font-size:12px;color:var(--muted)}
.bk-adv{text-align:right;font-size:12.5px;color:#3E5247}
.bk-adv b{display:block;font-size:14px;color:var(--ink)}
.bk-error{margin:0;color:#B84A4A;background:#fdeeee;border-radius:10px;padding:10px 12px;font-size:13.5px}
.bk-submit{height:54px;font-size:15px;margin-top:4px}
.bk-submit .ic{color:var(--gold2)}
.bk-fine{margin:0;font-size:12.5px;color:var(--muted);text-align:center}
.bk-done{text-align:center;padding:16px 0}
.bk-done-mark{width:62px;height:62px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:#E6F1EC;color:#256B50}
.bk-done-mark .ic{width:30px;height:30px}
.bk-done h2{margin-bottom:8px}
.bk-done>p{color:var(--muted);max-width:42ch;margin:0 auto 20px;line-height:1.6}
.bk-receipt{margin:0 auto 22px;max-width:440px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:6px 16px}
.bk-receipt div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed #e6e0cf;font-size:13.5px}
.bk-receipt div:last-child{border-bottom:0}
.bk-receipt dt{color:var(--muted)}.bk-receipt dd{margin:0;font-weight:600;text-align:right}
.bk-done-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bk-link{margin-top:16px;border:0;background:none;color:var(--muted);text-decoration:underline}

/* ---------- Trip details modal ---------- */
.dm{position:fixed;inset:0;z-index:85;background:rgba(8,18,15,.5);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .2s}
.dm.open{opacity:1}.dm[hidden]{display:none}
.dm-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 40px 80px -30px #000c}
.dm-photo{height:260px;background:#bcc center/cover}
.dm-body{padding:28px 32px 30px}
.dm-body h3{font-size:32px;color:var(--forest);margin:6px 0 10px}
.dm-body p{color:var(--muted);line-height:1.7;margin:0 0 18px}
.dm-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.dm-cols h4{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:10px}
.dm-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dm-cols li{display:flex;gap:8px;font-size:14px;color:#3E5247;line-height:1.45}
.dm-cols .ic{color:#2D7F5F;margin-top:2px}
.dm-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}
.dm-foot b{font:500 28px var(--serif)}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Responsive ---------- */
@media(max-width:1100px){.trips{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.ticket{grid-template-columns:1fr}.tk-stub{border-left:0;border-top:2px dashed #ffffff33;display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .tk-stub h4,.tk-stub-foot,.tk-barcode{grid-column:1/-1}.tk-stub:before,.tk-stub:after{display:none}}
@media(max-width:900px){
  .hm-grid{grid-template-columns:1fr}
  .hero-map{padding-top:104px}
  .hm-stage{height:440px;min-height:0;margin-top:6px}
  .hm-tilt{transform:none}
  .hm-hint{display:none}
  .about-grid{grid-template-columns:1fr;gap:30px}
  .about-photo{min-height:300px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .tk-pkg{grid-template-columns:1fr;gap:18px}
  .tk-meta{grid-template-columns:1fr 1fr}
  .trail{grid-template-columns:1fr;gap:12px}
  .trail:before{left:22px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:repeating-linear-gradient(180deg,#CFBF9F 0 6px,transparent 6px 12px)}
  .trail li{display:grid;grid-template-columns:46px 1fr;gap:14px;text-align:left;align-items:center}
  .trail .tr-ic{margin:0}
  .social-cards{grid-template-columns:1fr}
  .bk-card{grid-template-columns:1fr}
  .bk-summary{border-right:0;border-bottom:1px solid var(--line)}
  .bk-photo{height:130px}
  .bk-sum-perks,.bk-sum-pay{display:none}
  .bk-sum-body{padding:16px 20px}
  .dp-sheet{top:auto;left:0;right:0;bottom:0;width:100%;max-height:86vh;border-radius:22px 22px 0 0;transform:translateY(30px)}
}
@media(max-width:620px){
  .container{width:calc(100% - 32px)}
  .section{padding:64px 0}
  .hero-map{border-radius:0 0 24px 24px}
  .hm-stage{height:380px}
  .hm-stats{gap:18px}
  .trips,.steps,.proof{grid-template-columns:1fr}
  .tk-main{padding:24px 20px}
  .tk-city b{font-size:38px}
  .tk-route{gap:12px}
  .tk-perks{grid-template-columns:1fr}
  .tk-stub{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .cta-band{margin:0 10px;padding:54px 0}
  .bk{padding:0;place-items:end center}
  .bk-card{border-radius:22px 22px 0 0;max-height:94vh}
  .bk-main{padding:22px 18px 20px}
  #bkForm{grid-template-columns:1fr}
  .bk-main h2{font-size:26px;margin-bottom:14px}
  .book-fab{right:14px;bottom:14px;padding:13px 16px}
  .dm-cols{grid-template-columns:1fr}
  .dm-body{padding:22px 20px}
  .dm{padding:0;place-items:end center}
  .dm-card{border-radius:22px 22px 0 0}
}

/* ==========================================================================
   Partner page (moved from styles.css)
   ========================================================================== */
.ng-partners{background:linear-gradient(180deg,#F1ECE1,#F8F5EE);padding:90px 0;scroll-margin-top:90px}
.ng-partner-head{text-align:center;max-width:720px;margin:0 auto 34px}.ng-partner-head h2{font:600 clamp(34px,4vw,51px)/1.15 'Fraunces',serif;color:#173829;margin:12px 0}.ng-partner-head p{color:#5E6B63;line-height:1.75}
.ng-partner-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:28px}
.ng-partner-card{border:1px solid #E0D8C6;border-radius:18px;padding:30px;background:white;box-shadow:0 12px 35px #1A3D2E12;position:relative;overflow:hidden}
.ng-partner-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#A38425,#E3C35A)}
.ng-partner-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#f7edda;color:#2F5F46;font-size:23px;margin-bottom:12px}.ng-partner-card h3{font:500 28px 'Fraunces',serif;color:#173829;margin:10px 0}.ng-partner-card p{line-height:1.75;color:#5E6B63;font-size:14px}.ng-partner-card ul{padding-left:20px;color:#3E5247;font-size:13px;line-height:2}
.ng-partner-card .gold-btn{margin-top:15px}.ng-partner-tag{display:inline-block;border:1px solid #e3d0a5;color:#8C6D1F;border-radius:99px;padding:5px 11px;font-size:11px;font-weight:700}
.ng-partner-form-panel{border-radius:22px;background:#fff;border:1px solid #E3DDCC;box-shadow:0 18px 45px #1A3D2E12;padding:clamp(20px,4vw,38px);max-width:950px;margin:auto;scroll-margin-top:110px}
.ng-partner-form-panel h3{font:500 30px 'Fraunces',serif;color:#173829;margin:0 0 9px}.ng-muted{color:#5E6B63;font-size:13px;line-height:1.7}.ng-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.ng-form-grid label{display:block;font-size:12px;font-weight:700;color:#3E5247}.ng-form-grid input,.ng-form-grid select,.ng-form-grid textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #DAD2BD;background:#FBF9F3;border-radius:9px;color:#0F1C18;min-height:46px;font:inherit}.ng-form-grid textarea{min-height:95px;resize:vertical}.ng-full{grid-column:1/-1}.ng-check{display:flex!important;gap:10px;align-items:flex-start;font-size:12px!important;line-height:1.55}.ng-check input{min-height:0!important;width:auto!important;margin:3px 0 0!important;flex:0 0 auto}.ng-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:22px}.ng-actions .green-btn{border:0}.ng-inline-link{color:#2D7F5F;text-decoration:underline;font-weight:700}.ng-note{border:1px solid #e7d7b6;background:#fff9eb;border-radius:10px;padding:13px 15px;color:#5E5427;font-size:12px;line-height:1.65;margin:18px 0}
@media(max-width:700px){.ng-partners{padding:64px 0}.ng-partner-cards,.ng-form-grid{grid-template-columns:1fr}.ng-full{grid-column:auto}.ng-partner-card{padding:24px}.ng-actions .green-btn{width:100%}}
/* ===== Business Partners page ===== */
.pp-page .navright .gold-btn{display:inline-flex;align-items:center;padding:12px 20px;font-size:13px;font-weight:700;text-decoration:none}
.pp-hero{position:relative;background:radial-gradient(1200px 500px at 80% -10%,#2F5F46 0%,transparent 60%),linear-gradient(160deg,#1A3D2E 0%,#0F1C18 70%);color:#fff;border-radius:28px;padding:170px 0 80px;overflow:hidden}
.pp-hero:after{content:"";position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#C9A22F33,transparent 65%);pointer-events:none}
.pp-hero-inner{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:end}
.pp-kicker{color:var(--gold2)!important}
.pp-hero h1{font:600 clamp(40px,5.6vw,72px)/1.05 var(--serif);letter-spacing:-.03em;margin:14px 0 18px}
.pp-hero h1 em{color:var(--gold2);font-weight:400}
.pp-lead{font-size:17px;line-height:1.75;color:#E4E9E4;max-width:56ch;margin:0 0 30px}
.pp-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.pp-hero-actions .gold-btn{display:inline-flex;padding:15px 24px;font-weight:700;font-size:14px;text-decoration:none}
.pp-ghost{color:#fff;border-bottom:1px solid #ffffff66;padding-bottom:2px;font-weight:600;font-size:14px}
.pp-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pp-stats div{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:16px;padding:18px}
.pp-stats b{display:block;font:500 26px/1.1 var(--serif);color:var(--gold2)}
.pp-stats span{display:block;margin-top:6px;font-size:12.5px;color:#C9D3CC;line-height:1.45}
.pp-section{padding:86px 0;scroll-margin-top:80px}
.pp-alt{background:linear-gradient(180deg,#F1ECE1,#F8F5EE);border-radius:28px}
.pp-dark{background:linear-gradient(160deg,#1A3D2E,#0F1C18);color:#fff;border-radius:28px}
.pp-head{text-align:center;max-width:720px;margin:0 auto 40px}
.pp-head h2{font:600 clamp(30px,3.8vw,48px)/1.15 var(--serif);letter-spacing:-.025em;color:#173829;margin:10px 0}
.pp-dark .pp-head h2{color:#fff}
.pp-head p{color:#5E6B63;line-height:1.75;margin:0}
.pp-dark .pp-head p{color:#C9D3CC}
.pp-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pp-benefits article{background:#fff;border:1px solid #E0D8C6;border-radius:18px;padding:26px;box-shadow:0 12px 35px #1A3D2E10;position:relative;overflow:hidden}
.pp-benefits article:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#A38425,#E3C35A)}
.pp-ic{width:48px;height:48px;border-radius:50%;background:#f7edda;display:grid;place-items:center;font-size:22px;margin-bottom:14px}
.pp-benefits h3{font:500 21px/1.25 var(--serif);color:#173829;margin:0 0 8px}
.pp-benefits p{font-size:14px;line-height:1.7;color:#5E6B63;margin:0}
#roles{position:relative}
.pp-anchor{position:absolute;top:0}
.pp-tabs{display:flex;justify-content:center;gap:8px;margin:0 auto 26px;background:#fff;border:1px solid #E0D8C6;border-radius:999px;padding:6px;width:max-content;max-width:100%}
.pp-tab{border:0;background:none;padding:12px 22px;border-radius:999px;font:600 14px var(--sans);color:#3E5247;cursor:pointer}
.pp-tab.active{background:linear-gradient(180deg,#2F5F46,#1A3D2E);color:#fff}
.pp-role{display:grid;grid-template-columns:1.6fr .8fr;gap:22px}
.pp-role[hidden]{display:none}
.pp-role-main{background:#fff;border:1px solid #E0D8C6;border-radius:20px;padding:34px;box-shadow:0 12px 35px #1A3D2E12}
.pp-role-main h3{font:500 32px var(--serif);color:#173829;margin:12px 0 8px}
.pp-role-main>p{color:#5E6B63;line-height:1.75;font-size:14.5px}
.pp-role-main h4{font:600 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#8C6D1F;margin:24px 0 8px}
.pp-list{margin:0;padding-left:20px;color:#3E5247;font-size:14px;line-height:1.9}
.pp-role-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:26px}
.pp-role-actions .gold-btn{padding:14px 22px;font-weight:700;border:0;cursor:pointer}
.pp-role-side{background:#1A3D2E;color:#E4E9E4;border-radius:20px;padding:28px;font-size:14px;line-height:1.7}
.pp-role-side b{display:block;color:var(--gold2);font:500 19px var(--serif);margin-bottom:4px}
.pp-role-side p{margin:0 0 20px}
.pp-kit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pp-kit div{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:16px;padding:20px;font-weight:600;font-size:15px;line-height:1.4}
.pp-kit span{display:block;font:500 22px var(--serif);color:var(--gold2);margin-bottom:10px}
.pp-kit small{display:block;font-weight:400;font-size:12.5px;color:#B6C1B9;margin-top:4px}
.pp-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pp-steps li{counter-increment:s;background:#fff;border:1px solid #E0D8C6;border-radius:18px;padding:26px 24px 24px;position:relative}
.pp-steps li:before{content:"0" counter(s);font:500 15px var(--serif);color:#8C6D1F;display:block;margin-bottom:10px}
.pp-steps b{display:block;font:500 20px var(--serif);color:#173829;margin-bottom:6px}
.pp-steps span{font-size:14px;line-height:1.7;color:#5E6B63}
.pp-privacy{text-align:center;color:#5E6B63;font-size:13px;margin:26px auto 0;max-width:70ch}
.pp-districts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:auto}
.pp-district{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;font-size:13.5px;font-weight:600;background:#fff;border:1px solid #DED5C0;color:#2F5F46}
.pp-district:before{content:"";width:8px;height:8px;border-radius:50%;background:#2D7F5F}
.pp-district.taken{background:#f4f1ea;border-color:#e2dccd;color:#8A8F88;text-decoration:line-through}
.pp-district.taken:before{background:#B8952C}
.pp-legend{text-align:center;font-size:12.5px;color:#5E6B63;margin-top:20px;display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:wrap}
.pp-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:10px}.pp-dot.open{background:#2D7F5F}.pp-dot.taken{background:#B8952C}
.pp-contact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.pp-contact h4{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8C6D1F;margin:0 0 8px}
.pp-contact p{margin:0;color:#3E5247;line-height:1.7;font-size:15px}
.pp-contact a{color:#2F5F46;font-weight:600}
#googleFormBox .green-btn{text-decoration:none}
@media(max-width:1000px){.pp-hero-inner{grid-template-columns:1fr}.pp-benefits,.pp-kit{grid-template-columns:1fr 1fr}.pp-steps{grid-template-columns:1fr 1fr}.pp-contact{grid-template-columns:1fr 1fr}.pp-role{grid-template-columns:1fr}}
@media(max-width:620px){.pp-hero{padding:130px 0 56px;border-radius:20px}.pp-section{padding:60px 0}.pp-alt,.pp-dark{border-radius:20px}.pp-benefits,.pp-kit,.pp-steps,.pp-contact{grid-template-columns:1fr}.pp-stats{grid-template-columns:1fr 1fr}.pp-role-main{padding:24px}.pp-tab{padding:10px 16px}.pp-page .navright .gold-btn{display:none}}


/* Partner page — refresh on the new design */
.pp-hero{border-radius:0 0 34px 34px}
.pp-alt{border-radius:0}
.pp-dark{border-radius:30px;margin:0 20px}
.pp-ic{color:var(--gold-ink)}
.pp-ic .ic{width:23px;height:23px}
.pp-kit .ic{width:24px;height:24px;color:var(--gold2);display:block;margin-bottom:12px}
.pp-head .kicker{justify-content:center}
.kd-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.kd-map-box{position:relative;height:min(620px,78vh)}
#kaMap{width:100%;height:100%;overflow:visible}
#kaMap *{vector-effect:non-scaling-stroke}
.kd-shadow{fill:#1A3D2E22;transform:translate(0,4px)}
.kd{stroke:#fff;stroke-width:1.1;cursor:pointer;transition:fill .2s}
.kd.open{fill:#2D7F5F}
.kd.open:hover,.kd.open.is-hover,.kd.open:focus{fill:#B8952C;outline:none}
.kd.taken{fill:#CFC9B9;cursor:not-allowed}
.kd-label{fill:#fff;font-family:var(--sans);font-weight:600;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#1A3D2E66;stroke-width:2px}
.kd-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 14px));background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;pointer-events:none;box-shadow:0 12px 28px -12px #0005;display:flex;flex-direction:column;font-size:12.5px;white-space:nowrap}
.kd-tip[hidden]{display:none}
.kd-tip b{font:500 15px var(--serif);color:var(--forest)}.kd-tip span{color:var(--muted)}
.kd-side .pp-legend{justify-content:flex-start;margin:0 0 16px}
.kd-side .pp-districts{justify-content:flex-start}
button.pp-district{cursor:pointer;font:inherit;font-size:13.5px;font-weight:600}
button.pp-district.open:hover,button.pp-district.is-hover{border-color:#B8952C;background:#fff6e3}
button.pp-district[disabled]{cursor:not-allowed}
@media(max-width:900px){.kd-wrap{grid-template-columns:1fr;gap:24px}.kd-map-box{height:460px}.pp-dark{margin:0 10px}}

/* ==========================================================================
   Scroll journey hero (earth palette)
   ========================================================================== */
.hero-map{--chapters:9;height:calc(100vh + var(--chapters) * 68vh);padding:0;overflow:clip;border-radius:0 0 34px 34px;
  background:radial-gradient(900px 600px at 78% 35%,#2F5F46 0%,transparent 62%),radial-gradient(700px 500px at 8% 100%,#1F4433 0%,transparent 60%),linear-gradient(170deg,#1A3D2E,#0C1714 85%)}
.hero-map:before{background-image:radial-gradient(#ffffff10 1px,transparent 1px)}
.hm-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;padding:96px 0 18px;box-sizing:border-box}
.hm-sticky>.hm-grid{flex:1;min-height:0;align-items:stretch}
.hm-left{position:relative;min-height:0}
.hm-chapter{position:absolute;inset:0;margin:auto 0;height:max-content;max-height:100%;opacity:0;transform:translateY(26px);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.hm-chapter.is-active{opacity:1;transform:none;pointer-events:auto}
.hm-intro h1{font-size:clamp(40px,5vw,68px)}
.hm-chapter:not(.hm-intro){background:rgba(245,241,232,.06);border:1px solid #ffffff1c;border-radius:24px;overflow:hidden;max-width:500px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ch-photo{height:clamp(120px,22vh,200px);background:#2F5F46 center/cover;position:relative}
.ch-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#0F1C18cc)}
.ch-mode{position:absolute;z-index:1;left:16px;bottom:12px;display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:600;color:#fff}
.ch-mode .ic{color:var(--gold2)}
.ch-body{padding:18px 22px 20px;color:#fff}
.ch-step{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}
.ch-body h2{font-size:clamp(30px,3.4vw,44px);line-height:1.05;margin:6px 0 8px;color:#F5F1E8}
.ch-stops{margin:0 0 14px;color:#C9D3CC;font-size:14px;line-height:1.6}
.ch-trips{display:grid;gap:8px}
.ch-trip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:#ffffff0b;border:1px solid #ffffff14}
.ch-trip b{display:block;font-size:14.5px;font-weight:600;color:#fff}
.ch-trip span{font-size:12.5px;color:#AEBAB2}
.ch-trip-act{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.ch-link{border:0;background:none;color:#E4E9E4;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:6px}
.ch-more{display:inline-flex;gap:6px;align-items:center;margin-top:12px;color:var(--gold2);font-size:13.5px;font-weight:600}
.hm-sticky .hm-stage{height:auto;min-height:0}
.hm-float{position:absolute;inset:0;animation:hmFloat 9s ease-in-out infinite}
@keyframes hmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hm-rail{position:absolute;z-index:4;right:-6px;top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.hm-rail:before{content:"";position:absolute;right:13px;top:10px;bottom:10px;width:1px;background:#ffffff24}
.hm-rail button{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;border:0;background:none;padding:5px 6px;color:#AEBAB2;font-size:12px;font-weight:600}
.hm-rail em{font-style:normal;opacity:0;transform:translateX(6px);transition:.25s;white-space:nowrap;background:#0F1C18cc;padding:3px 8px;border-radius:999px}
.hm-rail .rd{width:9px;height:9px;border-radius:50%;background:#3E5247;border:1px solid #ffffff40;transition:.25s;margin-right:3px}
.hm-rail button:hover em,.hm-rail button.is-active em{opacity:1;transform:none}
.hm-rail button.is-active{color:#fff}
.hm-rail button.is-active .rd{background:var(--gold2);border-color:var(--gold2);box-shadow:0 0 0 4px #E6C76633;transform:scale(1.25)}
.hm-foot{display:flex;align-items:center;gap:18px;padding-top:10px;font-size:12.5px;color:#AEBAB2}
.hm-cue{display:inline-flex;gap:6px;align-items:center;transition:opacity .3s}
.hm-cue .ic{animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
.is-started .hm-cue{opacity:.35}
.hm-progress{flex:1;height:2px;background:#ffffff1f;border-radius:2px;overflow:hidden}
.hm-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transform-origin:left;transform:scaleX(0)}
.hm-skip{color:#E4E9E4;text-decoration:underline;text-underline-offset:3px}
/* map states while travelling */
.m-pin.is-dim{opacity:.45}
.m-pin.is-dim .m-pin-label,.m-pin.is-dim .m-pin-sub,.m-pin.is-dim .m-pin-pulse{opacity:0}
.m-route.is-dim{opacity:.14}
.m-pin.is-active .m-pin-dot{fill:#fff;stroke:#B8932A}
.m-pin.is-active .m-pin-glow{opacity:1}
.m-india{stroke:#E6C766;stroke-opacity:.45}
.m-ka{stroke:#FFF3C8}
.m-district{stroke:#1A3D2E}
[data-view="ka"] .m-district{stroke-opacity:.35}
.m-dist-label{fill:#0F1C18}
[data-view="ka"] .m-dist-label{opacity:.55}
.m-route{stroke:#F1DE9C}
@media(prefers-reduced-motion:reduce){.hm-float,.hm-cue .ic{animation:none}.hm-chapter{transition:opacity .2s}}
@media(max-width:900px){
  .hero-map{height:calc(100svh + var(--chapters) * 60svh)}
  .hm-sticky{padding:78px 0 12px}
  .hm-sticky>.hm-grid{display:flex;flex-direction:column-reverse;gap:12px}
  .hm-sticky .hm-stage{flex:0 0 40%;margin:0}
  .hm-left{flex:1}
  .hm-chapter{margin:0;top:0;bottom:auto}
  .hm-intro h1{font-size:34px;margin:8px 0 10px}
  .hm-intro p{font-size:14.5px;margin-bottom:14px}
  .hm-intro .hm-stats{display:none}
  .hm-chapter:not(.hm-intro){max-width:none}
  .ch-photo{height:78px}
  .ch-body{padding:12px 16px 14px}
  .ch-body h2{font-size:28px;margin:4px 0 6px}
  .ch-stops{font-size:13px;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ch-trip{padding:9px 10px}
  .ch-trips .ch-trip:nth-child(n+3){display:none}
  .hm-rail{right:auto;left:50%;top:auto;bottom:-4px;transform:translateX(-50%);flex-direction:row}
  .hm-rail:before{display:none}
  .hm-rail em{display:none}
  .hm-rail button{padding:4px}
  .hm-cue{display:none}
}

@media(min-width:901px) and (max-height:860px){.ch-photo{height:clamp(96px,17vh,150px)}.ch-body{padding:14px 20px 16px}.ch-body h2{font-size:34px}.ch-trips .ch-trip:nth-child(n+3){display:none}.hm-intro h1{font-size:clamp(38px,4.4vw,58px)}}

/* Floating book button — bottom-centre pill */
.book-fab{left:50%;right:auto;bottom:20px;transform:translateX(-50%);padding:13px 24px}
.book-fab:hover{transform:translate(-50%,-2px)}
.book-fab.away{transform:translate(-50%,140%)}
@media(max-width:620px){.book-fab{left:50%;right:auto;bottom:14px;padding:13px 22px}}

/* Auto-playing tour (replaces the scroll journey) */
.hero-map{height:auto}
.hm-sticky{position:relative;height:100vh;height:100svh;min-height:640px;max-height:980px}
.hm-foot{gap:14px}
.hm-ctrl{display:flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1c}
.hm-ctrl button{width:36px;height:36px;border:0;border-radius:50%;background:none;color:#E4E9E4;display:grid;place-items:center;transition:.2s}
.hm-ctrl button:hover{background:#ffffff14;color:#fff}
.hm-ctrl #hmPlay{background:var(--gold2);color:#1A3D2E}
.hm-now{min-width:170px;font-size:13px;font-weight:600;color:#E4E9E4}
.hm-progress span{transform:scaleX(0)}
.hero-map:not(.is-playing) .hm-progress span{opacity:.35}
@media(max-width:900px){.hm-sticky{height:100svh;min-height:600px;max-height:none}.hero-map{height:auto}.hm-now{min-width:0;flex:1;font-size:12.5px}.hm-progress{display:none}}

/* ==========================================================================
   Nandi Go Design System v1.0 — type, labels, buttons
   ========================================================================== */
body{font-size:16px;line-height:1.5}
h1,.hm-intro h1,.pp-hero h1{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.005em}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500}
.section-head h2,.pp-head h2,.cta-band h2{font-size:clamp(30px,3.4vw,40px);line-height:1.19}
.trip h3,.step h3,.dp-trip-body h4{font-family:var(--serif);font-weight:600}
/* Label / caption: 12/16, medium, uppercase, 1.2px tracking */
.kicker{font:500 12px/16px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-ink)}
.kicker.light,.pp-kicker{color:var(--gold)!important}
.kicker .ic{width:15px;height:15px}
.ch-step,.bk-kicker,.tk-top,.tk-meta span,.foot-grid h4,.dp-sub,.dm-cols h4,.pp-role-main h4,.pp-contact h4,.trail b,.tk-stub h4{font-weight:500;letter-spacing:1.2px}
/* Buttons: radius 12px, 12-16px padding, 200ms ease */
.btn,.gold-btn,.green-btn,.outline-btn,.book-fab{border-radius:var(--btn-r);transition:transform var(--ease),filter var(--ease),box-shadow var(--ease),background var(--ease),border-color var(--ease),color var(--ease)}
.btn{padding:13px 20px;font-weight:600;letter-spacing:.01em}
.btn-sm{padding:10px 14px}
.btn-gold,.gold-btn{background:linear-gradient(180deg,#E6C766,#D4AF37);color:#0F1C18;border:1px solid #D4AF37;box-shadow:none}
.btn-forest,.green-btn{background:#1A3D2E;color:#F5F1E8;border:1px solid #D4AF37;box-shadow:none}
.btn-forest .ic,.green-btn .ic{color:#E6C766}
.btn-ghost{border-color:#CFBF9F;color:var(--ink);background:transparent}
.btn-ghost.light{border-color:#F5F1E84d;color:#F5F1E8;background:#ffffff08}
.btn:hover,.gold-btn:hover,.green-btn:hover{filter:brightness(1.1);transform:none;box-shadow:0 0 0 1px #D4AF3755,0 8px 22px -8px #D4AF3799}
.btn:active,.gold-btn:active,.green-btn:active{filter:brightness(.92);transform:scale(.98);box-shadow:none}
.btn:disabled,.btn[disabled]{opacity:.4;pointer-events:none;filter:none}
.btn:focus-visible{outline:2px solid #D4AF37;outline-offset:2px}
.book-fab{background:#1A3D2E;border:1px solid #D4AF37;color:#F5F1E8}
.book-fab:hover{filter:brightness(1.1);box-shadow:0 0 0 1px #D4AF3755,0 14px 30px -10px #D4AF3799}
.hm-ctrl button,.bk-stepper button{transition:background var(--ease),color var(--ease)}
/* Chips and tabs follow the gold accent */
.chip.active,.tk-tabs button[aria-selected="true"],.pp-tab.active{background:#1A3D2E;border-color:#1A3D2E;color:#F5F1E8;box-shadow:inset 0 -2px 0 #D4AF37}
.bk-seg button[aria-checked="true"]{border-color:#1A3D2E;background:#E6F1EC;box-shadow:inset 0 0 0 1px #1A3D2E}
/* Semantic colours */
.bk-error{color:var(--error);background:#F8EAEA}
.tk-price .tk-note,.bk-sum-pay,.pay-note{color:var(--success);background:#E6F1EC}
.dp-stops .ic,.bk-sum-perks .ic,.dm-cols .ic{color:var(--success)}
.bk-done-mark{background:#E6F1EC;color:var(--success)}
/* Hero: design-system primary gradient (dark green -> gold glow) */
.hero-map{background:radial-gradient(900px 600px at 78% 35%,#2F5F46 0%,transparent 62%),radial-gradient(700px 420px at 10% 105%,#D4AF3722 0%,transparent 60%),linear-gradient(170deg,#1A3D2E,#0F1C18 88%)}
.pp-hero{background:radial-gradient(1100px 500px at 80% -10%,#2F5F46 0%,transparent 60%),linear-gradient(160deg,#1A3D2E 0%,#0F1C18 75%)}
.cta-band,.pp-dark{background:radial-gradient(600px 300px at 85% 0,#2F5F46,transparent 70%),linear-gradient(160deg,#1A3D2E,#0F1C18)}
footer{background:#0F1C18}

/* ==========================================================================
   Hero — hanging postcards
   ========================================================================== */
.pc-hero{position:relative;min-height:100vh;min-height:100svh;color:#F5F1E8;overflow:hidden;display:flex;align-items:center;padding:110px 0 60px;border-radius:0 0 34px 34px;background:#0F1C18}
.pc-bg{position:absolute;inset:0}
.pc-bg-img{position:absolute;inset:-4%;background:#0F1C18 center/cover;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 7s ease-out}
.pc-bg-img.on{opacity:1;transform:scale(1)}
.pc-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0F1C18f2 0%,#1A3D2Ed9 38%,#1A3D2E73 70%,#0F1C1866 100%),linear-gradient(0deg,#0F1C18cc,transparent 45%)}
.pc-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:40px;align-items:center;width:min(1200px,calc(100% - 40px))}
.pc-copy h1{font-size:clamp(40px,5vw,64px);line-height:1.06;margin:14px 0 16px;max-width:14ch;color:#F5F1E8}
.pc-copy p{color:#E4E9E4;font-size:17px;line-height:1.7;max-width:46ch;margin:0 0 26px}
.pc-copy.in .kicker,.pc-copy.in h1,.pc-copy.in p{animation:pcIn .7s cubic-bezier(.2,.8,.2,1) both}
.pc-copy.in h1{animation-delay:.06s}
.pc-copy.in p{animation-delay:.12s}
@keyframes pcIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pc-maplink{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:#E6C766;font-weight:600;font-size:14.5px;padding:12px 4px;text-decoration:underline;text-underline-offset:4px}
.pc-ctrl{display:flex;align-items:center;gap:16px;margin-top:34px;flex-wrap:wrap}
.pc-dots{display:flex;gap:7px}
.pc-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#F5F1E84d;transition:width .3s,background .3s}
.pc-dots button.on{width:26px;border-radius:6px;background:#D4AF37}
.pc-prog{height:2px;max-width:300px;margin-top:16px;background:#F5F1E81f;border-radius:2px;overflow:hidden}
.pc-prog span{display:block;height:100%;background:#D4AF37;transform-origin:left;transform:scaleX(0)}
.pc-hero:not(.is-playing) .pc-prog span{opacity:.3}
/* the stack */
.pc-stage{position:relative;height:min(560px,66vh);perspective:1400px}
.pc-string{position:absolute;left:50%;top:-140px;width:1px;height:150px;background:linear-gradient(#D4AF3700,#D4AF37);transform:translateX(-50%);z-index:5}
.pc-card{position:absolute;left:50%;top:10px;width:min(400px,80%);margin:0 0 0 calc(min(400px,80%) / -2);background:#FBF9F3;padding:14px 14px 64px;border-radius:6px;box-shadow:0 30px 60px -24px #000c;transform-origin:50% -10px;cursor:pointer;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s ease,filter .6s ease}
.pc-photo{aspect-ratio:4/3.3;background:#2F5F46 center/cover;border-radius:3px}
.pc-card figcaption{position:absolute;left:18px;right:84px;bottom:14px;color:#0F1C18}
.pc-card figcaption b{display:block;font:600 22px/1.15 var(--serif)}
.pc-card figcaption span{font-size:12.5px;color:#5E6B63}
.pc-clip{position:absolute;left:50%;top:-14px;width:46px;height:24px;margin-left:-23px;border-radius:5px;background:linear-gradient(180deg,#E6C766,#B8952C);box-shadow:0 4px 10px -4px #0008;z-index:2}
.pc-clip:after{content:"";position:absolute;left:50%;top:-8px;width:10px;height:10px;margin-left:-5px;border-radius:50%;border:2px solid #D4AF37;background:#0F1C18}
.pc-stamp{position:absolute;right:14px;bottom:12px;width:58px;height:58px;border-radius:50%;border:1.5px dashed #B8952C;display:grid;place-items:center;transform:rotate(-12deg);background:#FFF3C8}
.pc-stamp svg{width:30px;height:34px;fill:#2F5F46}
.pc-stamp circle{fill:#B84A4A;stroke:#FBF9F3;stroke-width:14}
.pc-stamp em{position:absolute;bottom:5px;font:600 6.5px var(--sans);letter-spacing:1px;text-transform:uppercase;color:#8C6D1F;font-style:normal}
.pc-card.pos-0{z-index:4;transform:rotateX(var(--ly,0deg)) rotateY(var(--lx,0deg)) rotate(-3deg);animation:pcSway 6s ease-in-out infinite}
.pc-card.pos-1{z-index:3;transform:translate(52px,24px) rotate(7deg) scale(.94);filter:brightness(.85)}
.pc-card.pos-2{z-index:2;transform:translate(96px,46px) rotate(14deg) scale(.88);filter:brightness(.68)}
.pc-card.pos-out{z-index:5;transform:translate(-130%,60px) rotate(-22deg);opacity:0;pointer-events:none}
.pc-card.pos-hide{z-index:1;transform:translate(96px,46px) rotate(14deg) scale(.86);opacity:0;pointer-events:none}
@keyframes pcSway{0%,100%{rotate:0deg}50%{rotate:1.6deg}}
.pc-card.pos-0:focus-visible{outline:3px solid #D4AF37;outline-offset:6px}
/* step inside */
.pc-inside{position:absolute;inset:0;z-index:20;clip-path:inset(var(--t) var(--r) var(--b) var(--l) round 6px);transition:clip-path .75s cubic-bezier(.7,0,.2,1)}
.pc-inside.open{clip-path:inset(0 0 0 0 round 0)}
.pc-inside[hidden]{display:none}
.pin-photo{position:absolute;inset:0;background:#0F1C18 center/cover;transform:scale(1.08);transition:transform 6s ease-out}
.pc-inside.open .pin-photo{transform:scale(1)}
.pin-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0F1C18cc,#0F1C1833 55%,transparent),linear-gradient(0deg,#0F1C18b3,transparent 40%)}
.pin-head{position:absolute;left:0;right:0;top:120px;z-index:2}
.pin-head h2{font-size:clamp(34px,4.4vw,58px);line-height:1.08;max-width:13ch;margin-top:12px;color:#F5F1E8}
.pin-hot{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(10px);transition:opacity .6s .55s,transform .6s .55s}
.pin-hot:nth-child(2){transition-delay:.7s}
.pin-hot:nth-child(3){transition-delay:.85s}
.pc-inside.open .pin-hot{opacity:1;transform:none}
.pin-hot b{width:14px;height:14px;border-radius:50%;background:#F5F1E8;box-shadow:0 0 0 6px #F5F1E844;animation:hotPulse 2.4s ease-in-out infinite}
@keyframes hotPulse{0%,100%{box-shadow:0 0 0 5px #F5F1E844}50%{box-shadow:0 0 0 10px #F5F1E81a}}
.pin-hot em{font:italic 500 15px var(--serif);background:#FBF9F3;color:#0F1C18;padding:6px 11px;border-radius:6px;box-shadow:0 8px 20px -10px #000a}
.pin-card{position:absolute;z-index:3;right:max(20px,calc((100% - 1200px) / 2));bottom:40px;display:flex;gap:14px;align-items:center;background:#FBF9F3;color:#0F1C18;border-radius:16px;padding:12px;box-shadow:0 24px 50px -20px #000c;max-width:440px;opacity:0;transform:translateY(14px);transition:opacity .5s .7s,transform .5s .7s}
.pc-inside.open .pin-card{opacity:1;transform:none}
.pin-thumb{width:88px;height:88px;border-radius:12px;background:#ccc center/cover;flex:0 0 auto}
.pin-info span{font:500 11px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:#8C6D1F}
.pin-info b{display:block;font:600 22px var(--serif);margin:2px 0}
.pin-info em{display:block;font-style:normal;font-size:13px;color:#5E6B63;margin-bottom:10px}
.pin-act{display:flex;gap:8px;flex-wrap:wrap}
.pin-card .btn-ghost.light{border-color:#CFBF9F;color:#0F1C18;background:transparent}
.pin-close{position:absolute;z-index:4;top:96px;right:max(20px,calc((100% - 1200px) / 2));width:44px;height:44px;border-radius:12px;border:1px solid #F5F1E866;background:#0F1C1880;color:#F5F1E8;display:grid;place-items:center}
.is-inside .pc-grid{opacity:0;transition:opacity .3s}
@media(prefers-reduced-motion:reduce){.pc-card.pos-0{animation:none}.pc-inside{transition:none}.pc-bg-img{transition:opacity .3s}}
/* the map is now the second section */
.hero-map{border-radius:34px;margin:24px 12px 0}
.hm-sticky{padding-top:64px}
.hm-title{font-size:clamp(36px,4.4vw,58px);line-height:1.06;margin:16px 0 18px;font-weight:700;color:#F5F1E8}
.hm-title em{color:var(--gold2);font-style:italic;font-weight:500}
@media(max-width:900px){
  .pc-card.pos-1{transform:translate(30px,16px) rotate(7deg) scale(.94)}
  .pc-card.pos-2{transform:translate(56px,30px) rotate(13deg) scale(.88)}
  .pc-hero{padding:96px 0 40px;align-items:flex-start}
  .pc-grid{grid-template-columns:1fr;gap:26px}
  .pc-stage{order:-1;height:340px;margin-top:20px}
  .pc-card{width:min(280px,76%);margin-left:calc(min(280px,76%) / -2);padding:10px 10px 62px}
  .pc-card figcaption{bottom:10px;left:14px}
  .pin-hot{margin-left:-20%}
  .pin-hot em{white-space:nowrap}
  .pc-card figcaption b{font-size:18px}
  .pc-stamp{width:46px;height:46px}
  .pc-stamp svg{width:24px;height:27px}
  .pc-copy h1{font-size:34px;max-width:none}
  .pc-copy p{font-size:15px;margin-bottom:18px}
  .pc-ctrl{margin-top:20px}
  .pin-head{top:96px}
  .pin-head h2{font-size:32px}
  .pin-hot em{font-size:13px}
  .pin-card{left:16px;right:16px;bottom:20px;max-width:none}
  .pin-close{top:84px;right:16px}
  .hero-map{margin:16px 8px 0;border-radius:24px}
  .hm-sticky{padding-top:40px}
  .hm-title{font-size:30px;margin:8px 0 10px}
}

/* ==========================================================================
   Hero — scroll zoom into the polaroid + route map inside
   ========================================================================== */
.pc-hero{display:block;min-height:0;height:240vh;padding:0;overflow:clip;background:#0F1C18;border-radius:0 0 34px 34px}
.pc-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;padding:96px 0 50px;box-sizing:border-box;border-radius:0 0 34px 34px}
.pc-grid{transition:opacity .15s linear}
.pc-cue{position:absolute;z-index:3;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:#E4E9E4}
.pc-cue .ic{animation:cue 1.6s ease-in-out infinite}
.pc-inside{position:absolute;inset:0;z-index:20;visibility:hidden;clip-path:inset(50% 50% 50% 50%);transition:none}
.pc-inside[hidden]{display:block}
.pin-photo{position:absolute;inset:0;background:#0F1C18 center/cover;transform-origin:50% 50%;transition:none;will-change:transform}
.pin-shade{opacity:var(--inner,0)}
.pin-head,.pin-hots,.pin-dock{opacity:var(--inner,0);transform:translateY(calc((1 - var(--inner,0)) * 18px))}
.pin-hot{opacity:1;transform:none;transition:none}
.pc-inside:not(.is-open) .pin-head,.pc-inside:not(.is-open) .pin-hots,.pc-inside:not(.is-open) .pin-dock,.pc-inside:not(.is-open) .pin-close{pointer-events:none}
.pin-close{opacity:var(--inner,0)}
.pin-dock{position:absolute;z-index:3;left:0;right:0;bottom:36px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.pin-card{position:static;opacity:1;transform:none;transition:none}
.pin-map{width:min(380px,44%);background:#0F1C18b8;border:1px solid #D4AF3755;border-radius:16px;padding:12px 14px 12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 24px 50px -24px #000c}
.pin-map-k{display:flex;gap:7px;align-items:center;font:500 11px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:#E6C766}
#pinMap{display:block;width:100%;height:200px;margin:6px 0 8px;overflow:hidden}
#pinMap *{vector-effect:non-scaling-stroke}
.pm-edge{fill:#08120F}
.pm-india{fill:#2F5F46;stroke:#E6C766;stroke-opacity:.45;stroke-width:.8}
.pm-states{fill:none;stroke:#fff;stroke-opacity:.12;stroke-width:.6}
.pm-ka{stroke:#FFF3C8;stroke-width:.8}
.pm-route{fill:none;stroke:#E6C766;stroke-width:2.2;stroke-linecap:round}
.pm-origin rect{fill:#fff;stroke:#B8952C;stroke-width:1.5}
.pm-origin text,.pm-dest text{fill:#fff;font:600 11px var(--sans);paint-order:stroke;stroke:#0F1C18;stroke-width:3px}
.pm-dest circle{fill:#E6C766;stroke:#0F1C18;stroke-width:2}
.pm-dest .pm-glow{fill:#E6C76633;stroke:none}
.pin-map-info{display:flex;flex-wrap:wrap;gap:6px}
.pin-map-info span{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:#E4E9E4;background:#ffffff10;border:1px solid #ffffff1f;border-radius:999px;padding:5px 10px}
.pin-map-info .ic{color:#E6C766}
@media(prefers-reduced-motion:reduce){.pc-cue .ic{animation:none}}
@media(max-width:900px){
  .pc-hero{height:220vh;height:220svh}
  .pc-pin{padding:92px 0 40px;align-items:flex-start}
  .pin-dock{flex-direction:column;align-items:stretch;gap:10px;bottom:16px}
  .pin-map{width:auto;padding:10px 12px}
  #pinMap{height:120px;margin:4px 0 6px}
  .pin-card{max-width:none}
  .pin-hots{display:none}
  .pin-head{top:92px}
  .pc-cue{bottom:12px}
}
.pin-hots{position:absolute;inset:0;z-index:2;pointer-events:none}

/* ==========================================================================
   Hero — the travel board (map + pinned polaroids)
   ========================================================================== */
.tb-hero{position:relative;min-height:100vh;min-height:100svh;padding:104px 0 48px;color:#F5F1E8;overflow:hidden;border-radius:0 0 34px 34px;
  background:radial-gradient(900px 600px at 70% 45%,#2F5F46 0%,transparent 62%),radial-gradient(600px 400px at 0% 100%,#D4AF371f 0%,transparent 60%),linear-gradient(165deg,#1A3D2E,#0F1C18 85%)}
.tb-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff0f 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.tb-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);grid-template-areas:"copy board";gap:24px;align-items:center;width:min(1280px,calc(100% - 40px))}
.tb-copy,.tb-detail{grid-area:copy;align-self:center;transition:opacity .35s ease,transform .35s ease}
.tb-copy.is-away{opacity:0;transform:translateX(-16px);pointer-events:none}
.tb-copy h1{font-size:clamp(38px,4.4vw,60px);line-height:1.06;margin:14px 0 16px;color:#F5F1E8}
.tb-copy h1 em{color:#E6C766}
.tb-copy p{color:#E4E9E4;font-size:16.5px;line-height:1.7;max-width:40ch;margin:0 0 20px}
.tb-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.tb-chip{border:1px solid #F5F1E840;background:#ffffff08;color:#E4E9E4;border-radius:999px;padding:8px 14px;font:500 13px var(--sans);transition:background var(--ease),border-color var(--ease),color var(--ease)}
.tb-chip:hover{border-color:#D4AF37}
.tb-chip.on{background:#D4AF37;border-color:#D4AF37;color:#0F1C18}
/* Board */
.tb-board{grid-area:board;position:relative;height:min(660px,calc(100svh - 160px));min-height:520px}
#tbMap{position:absolute;left:19%;width:62%;top:0;height:100%;overflow:visible}
#tbMap *{vector-effect:non-scaling-stroke}
.tm-edge{fill:#08120F}
.tm-india{stroke:#E6C766;stroke-opacity:.4;stroke-width:1}
.tm-states{fill:none;stroke:#fff;stroke-opacity:.1;stroke-width:.6}
.tm-ka-edge{fill:#6E5818}
.tm-ka{stroke:#FFF3C8;stroke-width:1}
.tm-route{fill:none;stroke:#E6C766;stroke-width:1.2;stroke-opacity:.28;stroke-linecap:round;transition:stroke-opacity .3s,stroke-width .3s}
.tm-route.is-air{stroke-dasharray:4 5}
.tm-route.is-hot{stroke-opacity:1;stroke-width:2.4}
.tm-pin{cursor:pointer}
.tm-pin-glow{fill:#E6C766;opacity:0;transition:opacity .3s}
.tm-pin-dot{fill:#E6C766;stroke:#0F1C18;stroke-width:2;transition:fill .3s}
.tm-pin.is-hot .tm-pin-glow{opacity:.3}
.tm-pin.is-hot .tm-pin-dot{fill:#fff}
.tm-origin rect{fill:#fff;stroke:#B8952C;stroke-width:2}
.tm-origin text{fill:#fff;font:600 13px var(--sans);paint-order:stroke;stroke:#0F1C18;stroke-width:4px}
.has-hot .tm-route:not(.is-hot){stroke-opacity:.12}
.is-dim{opacity:.28!important}
.tm-route.is-dim,.tm-pin.is-dim{opacity:.15!important}
/* Strings from each polaroid to its pin */
.tb-strings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tb-string{fill:none;stroke:#D4AF37;stroke-width:1;stroke-opacity:.45;transition:stroke-opacity .3s,stroke-width .3s}
.tb-string.is-hot{stroke-opacity:1;stroke-width:1.8}
.has-hot .tb-string:not(.is-hot){stroke-opacity:.18}
/* Polaroids */
.tb-cards{position:absolute;inset:0;pointer-events:none}
.tb-card{position:absolute;left:var(--x);top:var(--y);width:clamp(104px,8.8vw,132px);transform:translate(-50%,-50%) rotate(var(--r));pointer-events:auto;
  background:#FBF9F3;border:0;border-radius:4px;padding:7px 7px 0;box-shadow:0 18px 30px -14px #000d;cursor:pointer;text-align:left;color:#0F1C18;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,opacity .3s}
.tb-card:hover,.tb-card:focus-visible,.tb-card.is-hot{transform:translate(-50%,-54%) rotate(0deg) scale(1.08);box-shadow:0 26px 40px -16px #000e;z-index:3}
.tb-card:focus-visible{outline:2px solid #D4AF37;outline-offset:4px}
.tb-card.is-open{box-shadow:0 0 0 2px #D4AF37,0 26px 40px -16px #000e;z-index:4}
.tb-tack{position:absolute;left:50%;top:-7px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#F1DE9C,#B8952C 70%);box-shadow:0 2px 4px #0008;z-index:2}
.tb-photo{display:block;aspect-ratio:1/1;background:#2F5F46 center/cover;border-radius:2px}
.tb-cap{display:block;padding:7px 2px 9px}
.tb-cap b{display:block;font:600 14px/1.15 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-cap em{display:block;font-style:normal;font-size:11px;color:#5E6B63;margin-top:2px}
/* The back of a postcard */
.tb-detail{perspective:1400px;z-index:5}
.tb-detail[hidden]{display:none}
.tb-back{position:relative;background:#FBF9F3 repeating-linear-gradient(0deg,transparent 0 27px,#E2DACA66 27px 28px);color:#0F1C18;border-radius:10px;padding:20px 22px 20px;box-shadow:0 34px 60px -26px #000e;max-width:470px;transform-origin:50% 50%}
.flip-in .tb-back{animation:tbFlip .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes tbFlip{from{transform:rotateY(-80deg) translateX(-20px);opacity:0}to{transform:none;opacity:1}}
.tb-back:before{content:"";position:absolute;top:18px;bottom:18px;right:38%;border-left:1px dashed #CFBF9F;display:none}
.tb-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:10px;border:1px solid #CFBF9F;background:#fff;display:grid;place-items:center;color:#0F1C18;z-index:2}
.tb-stamp{position:absolute;top:14px;right:58px;width:54px;height:54px;border-radius:50%;border:1.5px dashed #B8952C;background:#FFF3C8;display:grid;place-items:center;transform:rotate(-10deg)}
.tb-stamp svg{width:28px;height:31px;fill:#2F5F46}
.tb-stamp circle{fill:#B84A4A;stroke:#FBF9F3;stroke-width:14}
.tb-stamp em{position:absolute;bottom:4px;font:600 6px var(--sans);letter-spacing:1px;text-transform:uppercase;color:#8C6D1F;font-style:normal}
.tb-back-photo{height:clamp(110px,18vh,170px);border-radius:6px;background:#2F5F46 center/cover;margin:44px 0 16px}
.tb-back .kicker{color:#8C6D1F}
.tb-back h2{font-size:clamp(30px,3vw,40px);margin:6px 0 8px;color:#1A3D2E}
.tb-note{font:italic 500 17px/1.5 var(--serif);color:#1A3D2E;margin:0 0 14px}
.tb-note span{display:block;font:400 14px/1.6 var(--sans);font-style:normal;color:#5E6B63;margin-top:4px}
.tb-trips{display:grid;gap:8px}
.tb-trip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #E2DACA}
.tb-trip b{display:block;font-size:14px;font-weight:600}
.tb-trip span{font-size:12.5px;color:#5E6B63}
.tb-trip-act{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.tb-link{border:0;background:none;font-size:13px;color:#2F5F46;text-decoration:underline;text-underline-offset:3px;padding:6px}
.tb-more{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-size:13.5px;font-weight:600;color:#2F5F46}
@media(max-width:1100px) and (min-width:901px){.tb-card{width:96px}.tb-cap b{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.flip-in .tb-back{animation:none}.tb-card{transition:none}}
/* Phones and tablets: map on top, polaroids in a swipeable row, back of the card below */
@media(max-width:900px){
  .tb-hero{padding:92px 0 30px}
  .tb-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "board" "detail";gap:14px}
  .tb-copy,.tb-board,.tb-detail{min-width:0}
  .tb-detail{grid-area:detail}
  .tb-copy.is-away{opacity:1;transform:none;pointer-events:auto}
  .tb-copy h1{font-size:34px}
  .tb-copy p{font-size:15px;margin-bottom:14px}
  .tb-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 16px;padding:0 16px 4px;scrollbar-width:none}
  .tb-chip{flex:0 0 auto}
  .tb-board{height:auto;min-height:0}
  #tbMap{position:relative;left:auto;width:100%;height:300px;display:block}
  .tb-strings{display:none}
  .tb-cards{position:relative;inset:auto;display:flex;gap:14px;overflow-x:auto;padding:16px 4px 14px;margin:0 -16px;padding-left:20px;scroll-snap-type:x mandatory;pointer-events:auto;scrollbar-width:none}
  .tb-card{position:relative;left:auto;top:auto;flex:0 0 120px;transform:rotate(var(--r));scroll-snap-align:start}
  .tb-card:hover,.tb-card.is-hot{transform:rotate(0) translateY(-3px)}
  .tb-back{max-width:none}
}

/* ==========================================================================
   Hero — full-screen photo, small map card, thumbnail rail
   ========================================================================== */
.hx{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#F5F1E8;overflow:hidden;border-radius:0 0 34px 34px;background:#0F1C18;padding:120px 0 34px}
.hx-bg{position:absolute;inset:0}
.hx-img{position:absolute;inset:0;background:#0F1C18 center/cover no-repeat;opacity:0;transform:scale(1.04);transition:opacity 1.1s cubic-bezier(.4,0,.2,1)}
.hx-img.on{opacity:1;animation:hxDrift 16s ease-out both}
@keyframes hxDrift{from{transform:scale(1.04)}to{transform:scale(1.12)}}
.hx-shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#0F1C18e6 0%,#0F1C18b3 30%,#1A3D2E40 62%,#0F1C1826 100%),linear-gradient(0deg,#0F1C18f2 0%,#0F1C1899 26%,transparent 52%),linear-gradient(180deg,#0F1C1899 0%,transparent 22%)}
.hx-main{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex:1;padding-bottom:34px}
.hx-text{max-width:600px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end}
.hx-text>*{transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.hx-text:not(.in)>*{opacity:0;transform:translateY(12px)}
.hx-text.in>*:nth-child(2){transition-delay:.05s}
.hx-text.in>*:nth-child(3){transition-delay:.1s}
.hx-text.in>*:nth-child(4){transition-delay:.14s}
.hx-text.in>*:nth-child(5){transition-delay:.18s}
.hx-title{font-size:clamp(42px,5.4vw,76px);line-height:1.04;margin:14px 0 16px;color:#F5F1E8;text-wrap:balance}
.hx-sub{font-size:17px;line-height:1.7;color:#E4E9E4;margin:0 0 18px;max-width:46ch}
.hx-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 26px;font-size:14px;color:#E4E9E4}
.hx-meta span{display:inline-flex;align-items:center;gap:7px}
.hx-meta .ic{color:#E6C766}
.hx-price b{font:600 22px var(--serif);color:#F5F1E8;margin:0 2px}
.hx-actions{display:flex;gap:12px;flex-wrap:wrap}
/* map card */
.hx-map{position:relative;z-index:2;width:250px;flex:0 0 auto;background:#0F1C18a6;border:1px solid #F5F1E826;border-radius:18px;padding:14px 14px 12px;backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);box-shadow:0 24px 50px -24px #000c}
.hx-map-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:#E6C766}
.hx-map-head span{display:inline-flex;align-items:center;gap:6px}
.hx-map-head b{font:600 15px var(--serif);letter-spacing:0;text-transform:none;color:#F5F1E8;text-align:right}
#hxMap{display:block;width:100%;height:230px;margin:6px 0 8px;overflow:visible}
#hxMap *{vector-effect:non-scaling-stroke}
.hm-edge2{fill:#08120F}
.hm-in{fill:#2F5F46;stroke:#E6C766;stroke-opacity:.35;stroke-width:.8}
.hm-st{fill:none;stroke:#fff;stroke-opacity:.08;stroke-width:.5}
.hm-ka2{stroke:#FFF3C8;stroke-width:.6}
.hm-rt{fill:none;stroke:#E6C766;stroke-width:1;stroke-opacity:0;stroke-linecap:round;transition:stroke-opacity .4s}
.hm-rt.on{stroke-opacity:1;stroke-width:2.2}
.hm-pn{cursor:pointer}
.hm-pn circle:last-child{fill:#E6C766;stroke:#0F1C18;stroke-width:1.5;opacity:.55;transition:opacity .3s,fill .3s}
.hm-pn-halo{fill:#E6C766;opacity:0;transition:opacity .3s}
.hm-pn:hover circle:last-child{opacity:1}
.hm-pn.on circle:last-child{opacity:1;fill:#fff}
.hm-pn.on .hm-pn-halo{opacity:.3}
.hm-og rect{fill:#fff;stroke:#B8952C;stroke-width:1.5}
.hx-map-foot{display:flex;gap:6px;flex-wrap:wrap}
.hx-map-foot span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#E4E9E4;background:#ffffff10;border:1px solid #ffffff1c;border-radius:999px;padding:4px 10px}
.hx-map-foot .ic{color:#E6C766}
/* rail */
.hx-railwrap{position:relative;z-index:2}
.hx-railhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.hx-count{font-size:13px;color:#AEBAB2;letter-spacing:1.2px}
.hx-count b{font:600 18px var(--serif);color:#F5F1E8;letter-spacing:0}
.hx-arrows{display:flex;gap:8px}
.hx-arrows button{width:40px;height:40px;border-radius:12px;border:1px solid #F5F1E840;background:#0F1C1866;color:#F5F1E8;display:grid;place-items:center;transition:background var(--ease),border-color var(--ease)}
.hx-arrows button:hover{border-color:#D4AF37;background:#0F1C18aa}
.hx-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 6px;scrollbar-width:none}
.hx-rail::-webkit-scrollbar{display:none}
.hx-thumb{flex:0 0 auto;width:156px;border:0;padding:0;background:none;text-align:left;color:#F5F1E8;scroll-snap-align:start;cursor:pointer;opacity:.62;transition:opacity .35s ease}
.hx-thumb:hover,.hx-thumb.on{opacity:1}
.hx-thumb-img{display:block;height:92px;border-radius:12px;overflow:hidden;position:relative;box-shadow:inset 0 0 0 1px #F5F1E81f}
.hx-thumb-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hx-thumb:hover img{transform:scale(1.06)}
.hx-thumb-img:after{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .35s}
.hx-thumb.on .hx-thumb-img:after{box-shadow:inset 0 0 0 2px #D4AF37}
.hx-thumb-txt{display:block;padding:8px 2px 0}
.hx-thumb-txt b{display:block;font:600 14.5px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-thumb-txt em{font-style:normal;font-size:12px;color:#AEBAB2}
.hx-thumb.on .hx-thumb-txt em{color:#E6C766}
.hx-thumb:focus-visible{outline:2px solid #D4AF37;outline-offset:4px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.hx-img.on{animation:none}.hx-img{transition:opacity .3s}.hx-text>*{transition:none}}
@media(max-width:1100px){.hx-thumb{width:136px}.hx-thumb-img{height:80px}}
@media(max-width:900px){
  .hx{padding:96px 0 22px;justify-content:flex-end}
  .hx-shade{background:linear-gradient(0deg,#0F1C18f7 0%,#0F1C18cc 40%,#0F1C1833 75%,#0F1C1880 100%)}
  .hx-main{flex-direction:column;align-items:stretch;gap:14px;padding-bottom:18px}
  .hx-text{min-height:0;max-width:none}
  .hx-title{font-size:36px;margin:10px 0 10px}
  .hx-sub{font-size:15px;margin-bottom:12px}
  .hx-meta{font-size:13px;margin-bottom:16px}
  .hx-price b{font-size:19px}
  .hx-map{display:none}
  .hx-arrows{display:none}
  .hx-thumb{width:116px}
  .hx-thumb-img{height:72px}
  .hx-rail{margin:0 -16px;padding-left:16px;padding-right:16px}
}
.hx-map-head{flex-direction:column;align-items:flex-start;gap:4px}
.hx-map-head b{text-align:left;font-size:18px}
@media(max-width:900px){.hx-main{justify-content:flex-end}.hx-rail{scroll-padding-left:16px}}

/* 9 cards across the full width */
@media(min-width:901px){
  .hx-railwrap{width:min(1440px,calc(100% - 40px))}
  .hx-rail{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;overflow:visible;padding:4px 0 2px}
  .hx-thumb{width:auto;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
  .hx-thumb:hover{transform:translateY(-4px)}
  .hx-thumb-img{height:auto;aspect-ratio:16/10}
}
/* Map card: live mini-journey */
.hx-map{transform-style:preserve-3d;will-change:transform}
.hx-map-head{position:relative}
.hx-replay{position:absolute;top:-2px;right:-2px;width:32px;height:32px;border-radius:10px;border:1px solid #F5F1E833;background:#ffffff0d;color:#E6C766;display:grid;place-items:center;transition:background var(--ease),transform .4s}
.hx-replay:hover{background:#ffffff1f}
.hx-replay:active{transform:rotate(-200deg)}
.hx-map-stage{position:relative}
.hm-land,.hm-top{transition:transform .1s linear}
.hm-ghost{fill:none;stroke:#F5F1E8;stroke-width:1.2;stroke-dasharray:3 4;stroke-opacity:0;transition:stroke-opacity .25s}
.hm-ghost.on{stroke-opacity:.7}
.hm-rt.on{stroke:#E6C766;stroke-width:2.2;stroke-opacity:1}
.hm-pn.peek circle.hm-pn-dot{opacity:1;fill:#F5F1E8}
.hm-pn.peek .hm-pn-halo{opacity:.25}
.hm-lbl{fill:#fff;font:600 10.5px var(--sans);paint-order:stroke;stroke:#0F1C18;stroke-width:3px}
.hm-veh .vb{fill:#E6C766;stroke:#0F1C18;stroke-width:1.2}
.hm-veh .vw{fill:#0F1C18;opacity:.75}
.hm-veh .vt{fill:#0F1C18}
.hm-veh{transition:opacity .4s}
.hm-shadow{fill:#000;opacity:0}
.hm-ripple{fill:none;stroke:#E6C766;stroke-width:2;opacity:0}
.hm-ripple.go{animation:hmRipple 1s ease-out 1}
@keyframes hmRipple{0%{opacity:.9;r:calc(4px * var(--k,1))}100%{opacity:0;r:calc(26px * var(--k,1))}}
.hm-stamp{opacity:0}
.hm-stamp.pop{animation:hmPop .55s cubic-bezier(.2,1.4,.4,1) both}
@keyframes hmPop{0%{opacity:0}100%{opacity:1}}
.hm-stamp-ring{fill:#FBF9F3;stroke:#D4AF37;stroke-width:1.5}
.hx-pin-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 10px));background:#FBF9F3;color:#0F1C18;border-radius:8px;padding:6px 9px;font-size:11.5px;white-space:nowrap;pointer-events:none;box-shadow:0 10px 24px -10px #000a;display:flex;flex-direction:column;line-height:1.3}
.hx-pin-tip[hidden]{display:none}
.hx-pin-tip b{font:600 13px var(--serif)}
.hx-pin-tip span{color:#5E6B63}
.hx-odo b{font-weight:600;font-variant-numeric:tabular-nums;color:#F5F1E8;min-width:52px;display:inline-block}
@media(prefers-reduced-motion:reduce){.hm-stamp.pop,.hm-ripple.go{animation:none}.hm-stamp.pop{opacity:1}}
#hxMap{overflow:hidden;border-radius:12px;background:#0F1C1859}
.hx-map-stage{border-radius:12px;overflow:hidden}
.hx-pin-tip{position:absolute}
/* slightly larger map card */
.hx-map{width:310px}
#hxMap{height:290px}
@media(max-width:1100px){.hx-map{width:270px}#hxMap{height:250px}}

/* ==========================================================================
   About — field notes from the road
   ========================================================================== */
.ab{position:relative;overflow:hidden}
.ab:before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 85% 20%,#E6C76618,transparent 70%);pointer-events:none}
.ab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
/* collage */
.ab-collage{position:relative;height:560px}
.ab-main{position:absolute;left:0;top:30px;width:78%;height:470px;border-radius:24px;background:#2F5F46 center/cover;box-shadow:0 30px 60px -30px #0F1C1880;will-change:transform}
.ab-pol{position:absolute;margin:0;background:#FBF9F3;padding:10px 10px 0;border-radius:4px;box-shadow:0 22px 40px -18px #0F1C1899;will-change:transform}
.ab-pol img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}
.ab-pol figcaption{font:italic 500 14px/1.3 var(--serif);color:#1A3D2E;padding:9px 2px 11px}
.ab-pol1{width:210px;right:0;top:0;--r:5deg;transform:rotate(var(--r))}
.ab-pol2{width:190px;right:44px;bottom:0;--r:-6deg;transform:rotate(var(--r))}
.ab-tape{position:absolute;left:50%;top:-12px;width:86px;height:24px;margin-left:-43px;background:repeating-linear-gradient(45deg,#E6C766cc 0 6px,#EBCB6Bb3 6px 12px);opacity:.85;transform:rotate(-4deg);box-shadow:0 2px 4px #0002}
.ab-pol2 .ab-tape{transform:rotate(6deg)}
.ab-stamp{position:absolute;left:58%;top:330px;width:118px;height:118px;z-index:3;filter:drop-shadow(0 10px 18px #0F1C1855)}
.ab-stamp svg{width:100%;height:100%;animation:abSpin 26s linear infinite}
@keyframes abSpin{to{transform:rotate(360deg)}}
.ab-st-o{fill:#1A3D2E;stroke:#D4AF37;stroke-width:1.5;stroke-dasharray:2 3}
.ab-st-i{fill:none;stroke:#D4AF37;stroke-width:1}
.ab-st-t{fill:#E6C766;font:600 9.6px var(--sans);letter-spacing:2.2px}
.ab-st-n{fill:#E6C766;font:700 30px var(--serif)}
.ab-note{position:absolute;left:22px;bottom:96px;z-index:2;background:#FBF9F3;color:#1A3D2E;font:italic 500 16px var(--serif);padding:8px 14px;border-radius:6px;transform:rotate(-3deg);box-shadow:0 12px 24px -12px #0F1C1880}
/* copy */
.ab-copy h2{font-size:clamp(32px,3.6vw,46px);line-height:1.12;margin:12px 0 16px;color:#1A3D2E}
.ab-copy h2 em{color:#A38425}
.ab-lead{color:var(--muted);font-size:16px;line-height:1.75;margin:0 0 30px;max-width:52ch}
/* route of four stops */
.ab-route{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:22px}
.ab-route:before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:repeating-linear-gradient(180deg,#D4AF37 0 6px,transparent 6px 12px);transform-origin:top;transform:scaleY(0);transition:transform 1.4s cubic-bezier(.4,0,.2,1)}
.ab-route.on:before{transform:scaleY(1)}
.ab-route li{display:flex;gap:18px;align-items:center;opacity:0;transform:translateX(-10px);transition:opacity .5s ease,transform .5s ease}
.ab-route.on li{opacity:1;transform:none}
.ab-route.on li:nth-child(2){transition-delay:.3s}
.ab-route.on li:nth-child(3){transition-delay:.6s}
.ab-route.on li:nth-child(4){transition-delay:.9s}
.ab-stop{position:relative;z-index:1;flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#1A3D2E;color:#E6C766;box-shadow:0 0 0 5px var(--cream),0 0 0 6px #D4AF3755}
.ab-stop .ic{width:21px;height:21px}
.ab-route b{display:block;font:600 17px var(--sans);color:#0F1C18;margin-bottom:2px}
.ab-route span{font-size:14px;color:var(--muted)}
/* numbers */
.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:64px;padding-top:30px;border-top:1px solid var(--line)}
.ab-stats div{display:flex;flex-direction:column;gap:4px}
.ab-stats b{font:700 clamp(34px,3.6vw,48px)/1 var(--serif);color:#1A3D2E;font-variant-numeric:tabular-nums}
.ab-stats span{font:500 12px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:#8C6D1F}
@media(prefers-reduced-motion:reduce){.ab-stamp svg{animation:none}.ab-route:before{transition:none;transform:none}.ab-route li{opacity:1;transform:none;transition:none}}
@media(max-width:900px){
  .ab-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .ab-collage{height:420px}
  .ab-main{width:82%;height:340px;top:24px}
  .ab-pol1{width:150px}
  .ab-pol2{width:136px;right:16px}
  .ab-stamp{width:92px;height:92px;left:54%;top:250px}
  .ab-note{bottom:60px;left:12px;font-size:14px}
  .ab-stats{grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:44px}
}
.ab-stamp{left:-30px;top:0}
@media(max-width:900px){.ab-stamp{left:-8px;top:0}}
/* compact live map on phones */
@media(max-width:900px){
  .hx-map{display:block;order:-1;align-self:flex-end;width:148px;padding:9px 10px 9px;border-radius:14px;margin-bottom:-4px}
  .hx-map-head{gap:2px;padding-right:28px}
  .hx-map-head span{font-size:9.5px;letter-spacing:1px}
  .hx-map-head b{font-size:14px}
  .hx-replay{width:26px;height:26px;border-radius:8px;top:0;right:0}
  .hx-replay .ic{width:14px;height:14px}
  #hxMap{height:128px;margin:4px 0 6px}
  .hx-map-foot{gap:4px}
  .hx-map-foot span{font-size:10.5px;padding:3px 7px}
  .hx-map-foot span:first-child{display:none}
}
@media(max-width:900px){.hm-lbl{display:none}}
/* phones: the map card text sits on the map itself */
@media(max-width:900px){
  .hx-map{position:relative;width:168px;padding:0;overflow:hidden}
  .hx-map-stage,#hxMap{border-radius:14px}
  #hxMap{height:176px;margin:0}
  .hx-map-head{position:absolute;z-index:2;left:0;right:0;top:0;padding:9px 38px 18px 10px;background:linear-gradient(180deg,#0F1C18e6,#0F1C1800);border-radius:14px 14px 0 0;pointer-events:none}
  .hx-map-head span{font-size:9px}
  .hx-map-head b{font-size:14px;text-shadow:0 1px 6px #0F1C18}
  .hx-replay{pointer-events:auto;top:8px;right:8px}
  .hx-map-foot{position:absolute;z-index:2;left:8px;bottom:8px}
  .hx-map-foot span{background:#0F1C18cc;border-color:#F5F1E833}
}
/* phones: the map is blended behind the headline and prices */
@media(max-width:900px){
  .hx-main{position:relative}
  .hx-text{position:relative;z-index:2}
  .hx-text .hx-title,.hx-text .hx-sub,.hx-text .hx-meta{text-shadow:0 2px 14px #0F1C18}
  .hx-map{position:absolute;z-index:1;order:0;left:-16px;right:-16px;top:-10px;bottom:0;width:auto;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;opacity:.5;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 70%,transparent 100%)}
  .hx-map-head,.hx-map-foot,.hx-pin-tip{display:none!important}
  .hx-map-stage{height:100%;border-radius:0;overflow:hidden}
  #hxMap{height:100%;border-radius:0;background:none;margin:0}
}
@media(max-width:900px){.hx-map{opacity:.42}}

/* ==========================================================================
   Hero — one wide frame, lighter photo, landscape scenes behind the cards
   ========================================================================== */
@media(min-width:901px){
  .site-header:not(.scrolled) .nav,.hx-main,.hx-railwrap{width:calc(100% - 2 * max(24px,5vw));max-width:none}
  .hx-main{align-items:center;gap:5vw}
  .hx-text{max-width:min(820px,56vw);min-height:0}
  .hx-title{font-size:clamp(44px,4.7vw,90px)}
  .hx-sub{font-size:clamp(16px,1.05vw,19px);max-width:58ch}
  .hx-meta{flex-wrap:nowrap;white-space:nowrap;font-size:clamp(13.5px,.9vw,15.5px)}
  .hx-map{width:clamp(310px,22vw,430px)}
  #hxMap{height:auto;aspect-ratio:1/.92}
  .hx-rail{gap:clamp(10px,.9vw,16px)}
}
/* Let the destination photo show: darken only behind the text and at the very bottom */
.hx-shade{background:
  linear-gradient(90deg,#0F1C18b3 0%,#0F1C1866 32%,#0F1C1814 58%,transparent 75%),
  linear-gradient(180deg,#0F1C1873 0%,transparent 18%)}
.hx-text .hx-title,.hx-text .hx-sub,.hx-text .hx-meta{text-shadow:0 2px 18px #0F1C18b3}
/* Landscape behind the cards */
.hx-scape{position:absolute;left:0;right:0;bottom:0;height:clamp(260px,34vh,380px);z-index:1;pointer-events:none;overflow:hidden}
.hx-scape .sc{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.1s ease}
.hx-scape .sc.on{opacity:1}
.hx-scape .sl{transform:translateY(26px);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hx-scape .sc.on .sl{transform:none}
.hx-scape .sc.on .l1{transition-delay:.05s}
.hx-scape .sc.on .l2{transition-delay:.15s}
.hx-scape .sc.on .l3{transition-delay:.25s}
.hx-scape .sc.on .l4{transition-delay:0s}
.hx-scape .fog{position:absolute;left:-30%;width:160%;height:120px;pointer-events:none;
  background:radial-gradient(ellipse 18% 55% at 12% 60%,#F5F1E833,transparent 70%),radial-gradient(ellipse 22% 50% at 42% 50%,#F5F1E826,transparent 70%),radial-gradient(ellipse 16% 60% at 70% 60%,#F5F1E82e,transparent 70%),radial-gradient(ellipse 20% 50% at 92% 55%,#F5F1E826,transparent 70%);
  filter:blur(6px)}
.hx-scape .f1{bottom:120px;animation:fogA 48s linear infinite}
.hx-scape .f2{bottom:70px;opacity:.75;animation:fogB 64s linear infinite}
@keyframes fogA{from{transform:translateX(0)}to{transform:translateX(18%)}}
@keyframes fogB{from{transform:translateX(12%)}to{transform:translateX(-10%)}}
.hx-railwrap{z-index:3}
.hx-main{z-index:2}
.hx-thumb-txt b,.hx-thumb-txt em{text-shadow:0 1px 8px #0F1C18}
@media(prefers-reduced-motion:reduce){.hx-scape .fog{animation:none}.hx-scape .sl{transition:none;transform:none}.hx-scape .sc{transition:opacity .3s}}
@media(max-width:900px){
  .hx-scape{height:240px}
  .hx-scape .f1{bottom:90px}.hx-scape .f2{bottom:50px}
  .hx-shade{background:linear-gradient(0deg,#0F1C18cc 0%,#0F1C1899 38%,#0F1C1826 70%,#0F1C1866 100%)}
}
/* District | Taluk switch on the application form */
.ng-role-switch{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#EDE6D6;border:1px solid var(--line);margin-bottom:14px}
.ng-role-switch button{border:0;background:none;border-radius:9px;padding:9px 16px;font:600 13.5px var(--sans);color:#3E5247;transition:background var(--ease),color var(--ease)}
.ng-role-switch button.on{background:#1A3D2E;color:#F5F1E8;box-shadow:inset 0 -2px 0 #D4AF37}

/* ==========================================================================
   Partners — Premium Business Kit (light section, illustrated kit items)
   ========================================================================== */
.kit-sec{position:relative;margin:0 20px;border-radius:28px;color:var(--ink);
  background:linear-gradient(180deg,#FFFFFF 0%,#FBF8F1 100%);border:1px solid var(--line)}
.kit-head{text-align:center;max-width:860px;margin:0 auto 44px}
.kit-kicker{display:inline-block;font:500 12px/1 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px}
.kit-head h2{font:700 clamp(30px,4vw,48px)/1.15 var(--serif);margin:0;color:var(--forest)}
.kit-head h2 em{font-style:normal;color:var(--gold-ink)}
.kit-tag{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px auto 0;color:var(--moss);font-weight:500;font-size:15px}
.kit-tag i{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.kit-sub{color:var(--muted);font-size:15px;line-height:1.7;margin:12px auto 0;max-width:640px}
.kit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kit-item{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.kit-item:hover{transform:translateY(-3px);border-color:#D4AF3780;box-shadow:0 18px 40px -24px #1A3D2E66}
.kit-ph{aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(ellipse 70% 70% at 50% 45%,#FFFFFF 0%,#F6F1E6 100%)}
.kit-ph img{width:72%;height:auto;max-height:92%;object-fit:contain;transition:transform .5s ease}
.kit-item:hover .kit-ph img{transform:scale(1.05) translateY(-2px)}
.kit-item figcaption{padding:14px 16px 16px;text-align:center;border-top:1px solid #F0EADC}
.kit-item figcaption span{display:block;font:600 13px var(--serif);color:var(--gold-ink);letter-spacing:1px}
.kit-item figcaption b{display:block;font-size:15px;font-weight:600;color:var(--forest);margin-top:2px}
.kit-item figcaption small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.kit-foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:38px}
.kit-seal{display:flex;flex-direction:column;align-items:center;padding:12px 38px;border-radius:999px;background:var(--forest);
  box-shadow:0 0 0 4px #fff,0 0 0 5px #D4AF3799,0 14px 30px -16px #1A3D2E}
.kit-seal b{font:700 28px/1.1 var(--serif);color:var(--gold2)}
.kit-seal span{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:#E6C766;font-weight:600}
.kit-poster{color:var(--moss);font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#D4AF3780}
.kit-poster:hover{color:var(--forest)}
@media(max-width:1000px){.kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.kit-sec{margin:0 10px;border-radius:20px}.kit-grid{gap:10px}.kit-item figcaption{padding:10px 8px 12px}.kit-item figcaption b{font-size:13.5px}.kit-tag{font-size:13px}}

/* Prices and money figures: clean sans with lining numbers (the serif's old-style digits and ₹ looked out of place) */
.hx-price b,.trip-price b,.tk-price b,.dp-trip-price b,.bk-total strong,.dm-foot b,.kit-seal b,.ab-stats b,.pp-stats b,.hm-stats b{
  font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.hx-price b{font-weight:600;font-size:21px}
.trip-price b{font-weight:600;font-size:22px}
.tk-price b{font-weight:700;font-size:40px;letter-spacing:-.02em}
.dp-trip-price b{font-weight:600;font-size:17px}
.bk-total strong{font-weight:600;font-size:24px}
.dm-foot b{font-weight:600;font-size:26px}
.kit-seal b{font-weight:700;font-size:26px}
.ab-stats b{font-weight:700}
.pp-stats b,.hm-stats b{font-weight:600;font-size:24px}
.tk-price del,.trip-price del,.dm-foot del{font-family:var(--sans);font-variant-numeric:lining-nums}

/* ==========================================================================
   Booking card — step 1 (style + calendar) and step 2 (details)
   ========================================================================== */
#bkForm[hidden],#bkStep1[hidden]{display:none}
#bkStep1{display:flex;flex-direction:column;gap:16px}
.bk-main h2{margin:6px 0 18px}
.bk-steps{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9AA59E}
.bk-steps span.on{color:var(--gold-ink)}
.bk-steps i{flex:0 0 28px;height:1px;background:#D8CFBA}
.bk-styles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bk-styles button{text-align:left;border:1px solid #D8CFBA;background:#FBF9F3;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;transition:border-color var(--ease),background var(--ease)}
.bk-styles button b{font-size:14px;color:var(--ink)}
.bk-styles button small{font-size:11.5px;color:var(--muted);font-weight:500}
.bk-styles button[aria-checked="true"]{border-color:var(--forest);background:#E6F1EC;box-shadow:inset 0 0 0 1px var(--forest)}
.bk-cal{border:1px solid #E2DACA;border-radius:14px;padding:12px 12px 10px;background:#fff}
.bk-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bk-cal-head b{font:600 15px var(--sans);color:var(--forest)}
.bk-cal-head button{width:34px;height:34px;border-radius:10px;border:1px solid #E2DACA;background:#FBF9F3;display:grid;place-items:center;color:var(--forest)}
.bk-cal-head button:disabled{opacity:.35;cursor:default}
.bk-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px}
.bk-dow{text-align:center;font-size:11px;font-weight:600;color:#9AA59E;padding:2px 0 4px}
.bk-day{height:36px;display:grid;place-items:center;font-size:13.5px;font-weight:500;color:#3E5247;border:0;background:none;padding:0}
.bk-day.past{color:#C5CBC6}
.bk-day.today{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}
.bk-day.open{background:#E6F1EC;color:var(--forest);font-weight:600;cursor:pointer}
.bk-day.full{background:#F3EEE3;color:#B4AC9A;text-decoration:line-through;cursor:not-allowed}
.bk-day.first{border-radius:10px 0 0 10px}.bk-day.last{border-radius:0 10px 10px 0}.bk-day.first.last{border-radius:10px}
.bk-day.sel{background:var(--forest);color:#fff}
.bk-day.pick{cursor:pointer;border-radius:10px}
.bk-day.pick:hover{background:#F3EEE3}
.bk-day.pick.sel{background:var(--forest);color:#fff}
.bk-cal-key{display:flex;gap:14px;align-items:center;margin:8px 2px 0;font-size:11.5px;color:var(--muted);font-weight:500}
.bk-cal-key i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:-8px}
.bk-cal-key .k-open{background:#E6F1EC;border:1px solid #2F5F4640}.bk-cal-key .k-full{background:#F3EEE3}
.bk-batches{display:grid;gap:8px;margin-top:10px}
.bk-batch{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"l d p" "l s p";gap:0 12px;align-items:center;text-align:left;border:1px solid #D8CFBA;background:#FBF9F3;border-radius:12px;padding:10px 14px;transition:border-color var(--ease),background var(--ease)}
.bk-batch b{grid-area:l;font-size:14px;color:var(--ink)}
.bk-batch span{grid-area:d;font-size:13px;color:#3E5247}
.bk-batch em{grid-area:s;font-style:normal;font-size:11.5px;color:var(--success);font-weight:600}
.bk-batch strong{grid-area:p;font:600 15px var(--sans);color:var(--forest);font-variant-numeric:lining-nums}
.bk-batch strong small{font-weight:500;font-size:11.5px;color:var(--muted)}
.bk-batch[aria-pressed="true"]{border-color:var(--forest);background:#E6F1EC;box-shadow:inset 0 0 0 1px var(--forest)}
.bk-batch.is-full{opacity:.55;cursor:not-allowed}.bk-batch.is-full em{color:var(--error)}
.bk-nodates{background:var(--paper);border-radius:12px;padding:12px 14px;display:grid;gap:10px}
.bk-nodates p{margin:0;font-size:13px;font-weight:400;color:#3E5247;line-height:1.55}
.bk-picked{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--paper);border-radius:14px;padding:12px 16px}
.bk-picked div{display:flex;flex-direction:column;gap:3px}
.bk-picked b{color:var(--forest);font-size:15px}
.bk-picked span{display:flex;gap:6px;align-items:center;font-size:13px;color:#3E5247}
.bk-picked .ic{color:var(--gold-ink);width:15px;height:15px}
.bk-pax-note{font-size:11.5px;color:var(--success);font-weight:600}
@media(max-width:560px){.bk-styles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bk-day{height:32px;font-size:12.5px}.bk-picked{flex-direction:column;align-items:flex-start}}
.bk-picked .bk-link{margin:0;color:var(--moss);font-weight:600}

/* ==========================================================================
   Home — travel styles (four cards) and the trips of the chosen style
   ========================================================================== */
.styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.style-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;padding:0;border:0;border-radius:22px;overflow:hidden;text-align:left;color:#fff;
  background:#1A3D2E;box-shadow:0 18px 40px -26px #1A3D2E;transition:transform var(--ease),box-shadow var(--ease)}
.style-card .sc-photo{position:absolute;inset:0;background:center/cover;transition:transform .6s ease}
.style-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0F1C1800 25%,#0F1C18b3 70%,#0F1C18e6 100%)}
.style-card:hover{transform:translateY(-3px);box-shadow:0 26px 50px -26px #1A3D2E}
.style-card:hover .sc-photo{transform:scale(1.05)}
.style-card.on{box-shadow:0 0 0 3px var(--gold),0 26px 50px -26px #1A3D2E}
.sc-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px}
.sc-body b{font:600 24px/1.15 var(--serif);color:#fff}
.sc-body em{font-style:italic;font-family:var(--serif);font-size:15px;color:var(--gold2)}
.sc-body small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#E4E9E4;margin-top:4px}
.sc-body small .ic{width:14px;height:14px;color:var(--gold2)}
.sc-go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;color:#fff;border-top:1px solid #ffffff33;padding-top:10px}
.sc-go .ic{width:15px;height:15px;color:var(--gold2);transition:transform var(--ease)}
.style-card:hover .sc-go .ic{transform:translateX(3px)}
.style-card.on .sc-go .ic{transform:rotate(90deg)}
.style-trips{margin-top:34px;scroll-margin-top:90px}
.style-trips[hidden]{display:none}
.st-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.st-head h3{font:600 clamp(24px,2.6vw,32px)/1.15 var(--serif);color:var(--forest);margin:4px 0 0}
.trip-meta .has-date{color:var(--success);font-weight:600}
.tk-ask{border:0;background:none;color:var(--gold2);text-decoration:underline;font:inherit;padding:0;cursor:pointer}
@media(max-width:1000px){.styles{grid-template-columns:repeat(2,minmax(0,1fr))}.style-card{min-height:280px}}
@media(max-width:560px){.styles{gap:10px}.style-card{min-height:230px;border-radius:18px}.sc-body{padding:14px 14px 12px}.sc-body b{font-size:19px}.sc-body em{font-size:13px}.sc-go{display:none}}

/* Style pop-up: all trips of the chosen travel style */
html.sp-lock{overflow:hidden}
.sp{position:fixed;inset:0;z-index:80;background:rgba(8,18,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .2s}
.sp.open{opacity:1}.sp[hidden]{display:none}
.sp-card{width:min(1180px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--cream);border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -30px #000c;transform:translateY(14px) scale(.99);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.sp.open .sp-card{transform:none}
.sp-head{position:relative;flex:none;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:30px 32px 24px;background:#1A3D2E center/cover;color:#fff;min-height:150px}
.sp-head-txt h3{font:600 clamp(26px,3vw,38px)/1.1 var(--serif);color:#fff;margin:6px 0 6px}
.sp-head-txt .kicker{color:var(--gold2)}
.sp-count{font-size:13px;color:#E4E9E4}
.sp-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff55;background:#0F1C1866;color:#fff;display:grid;place-items:center}
.sp-close:hover{background:#0F1C18aa}
.sp-body{overflow:auto;padding:24px 28px 30px;overscroll-behavior:contain}
.sp-body .trips{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.sp-body .trips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sp{padding:0;place-items:end stretch}.sp-card{max-height:92vh;border-radius:22px 22px 0 0}.sp-head{padding:24px 18px 18px;min-height:120px}.sp-body{padding:16px 14px 24px}.sp-body .trips{grid-template-columns:minmax(0,1fr)}}

/* Partner pop-ups (application + KYC) */
.pm{position:fixed;inset:0;z-index:95;background:rgba(8,18,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .2s}
.pm.open{opacity:1}.pm[hidden]{display:none}
.pm-card{position:relative;width:min(820px,100%);max-height:calc(100vh - 40px);overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:24px;box-shadow:0 40px 80px -30px #000c;transform:translateY(14px);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.pm.open .pm-card{transform:none}
.pm-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.pm-body{padding:32px 34px 30px}
.pm-body h3{font:600 clamp(24px,3vw,32px)/1.15 var(--serif);color:var(--forest);margin:6px 0 14px}
.pm-body .ng-role-switch{margin-bottom:6px}
.pm-sec{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin:22px 0 10px;padding-top:16px;border-top:1px solid var(--line)}
.pm-hint{margin:-4px 0 10px;font-size:13px;color:var(--muted)}
.pm-error{margin:14px 0 0;color:#B84A4A;background:#fdeeee;border-radius:10px;padding:10px 12px;font-size:13.5px}
.pm-done{text-align:center;padding:56px 34px}
.pm-done p{color:var(--muted);line-height:1.7;max-width:46ch;margin:0 auto 22px}
.pm-mark{width:64px;height:64px;border-radius:50%;background:#E6F1EC;color:var(--success);display:grid;place-items:center;margin:0 auto 10px}
.pm-mark .ic{width:30px;height:30px}
.pk-files input[type=file]{padding:9px 10px;height:auto;font-size:13px;background:#FBF9F3}
.pf-cta{text-align:center}
.pf-cta h3{margin-top:6px}
.pf-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 10px}
.pf-cta-actions button{border:0;cursor:pointer;padding:14px 22px;font-weight:700}
.pf-kyc-line{margin:8px 0 0;font-size:14px;color:var(--muted)}
.pf-kyc-line .ng-inline-link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
@media(max-width:620px){.pm{padding:0;place-items:end stretch}.pm-card{max-height:94vh;border-radius:22px 22px 0 0}.pm-body{padding:26px 18px 24px}}

/* Clickable trip cards (style pop-up) + traveller list + pay button */
.trip-click{cursor:pointer;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.trip-click:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px #1A3D2E;border-color:#D4AF3780}
.trip-click:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.trip-go{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--forest);background:#F3E7C1;border-radius:var(--btn-r);padding:9px 14px}
.trip-go .ic{width:15px;height:15px}
.trip-click:hover .trip-go{background:var(--gold);color:var(--forest)}
.bk-guests{display:grid;gap:8px}
.bk-guest{display:grid;grid-template-columns:150px minmax(0,1fr) 84px;gap:8px;align-items:center}
.bk-guest span{font-size:12.5px;font-weight:600;color:#3E5247}
.bk-guest input{height:44px;border:1px solid #D8CFBA;border-radius:12px;background:#FBF9F3;padding:0 12px;font:500 14.5px var(--sans);color:var(--ink);width:100%;min-width:0}
.bk-guest input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2F5F4626;background:#fff}
#bkPay{gap:10px}
#bkPay .ic{color:var(--gold2)}
.bk-fine .ic{width:14px;height:14px;vertical-align:-2px;margin-right:5px;color:var(--success)}
.bk-error a{color:inherit;font-weight:600;text-decoration:underline}
@media(max-width:560px){.bk-guest{grid-template-columns:minmax(0,1fr) 76px}.bk-guest span{grid-column:1/-1}}

/* Kit photos (cream backgrounds match the card) */
.kit-ph{aspect-ratio:1/1;background:#FBF3E8}
.kit-ph img{width:100%;height:100%;max-height:none;object-fit:cover}
.kit-ph img[src$=".svg?v=3"]{width:74%;height:74%;object-fit:contain}
.kit-item:hover .kit-ph img{transform:scale(1.03)}

/* ==========================================================================
   Reviews — traveller stories wall + write-a-review pop-up
   ========================================================================== */
.reviews{background:linear-gradient(180deg,var(--cream) 0%,#F1EADB 100%)}
.rv-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:22px}
.rv-top .section-head{margin-bottom:0;text-align:left}
.rv-top .section-head .kicker{justify-content:flex-start}
.rv-top h2 em{font-style:italic;color:var(--gold-ink)}
.rv-score{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px 16px 22px;box-shadow:0 18px 40px -30px #1A3D2E}
.rv-score>b{font:700 48px/1 var(--serif);color:var(--forest)}
.rv-score small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.rv-stars{display:inline-flex;gap:1px;font-size:15px;line-height:1;color:#DCD3BF}
.rv-stars i{font-style:normal}.rv-stars i.on{color:var(--gold)}
.rv-stars.lg{font-size:20px}
.rv-chips{margin:0 0 22px}
.rv-list{columns:3 300px;column-gap:18px}
.rv-card{break-inside:avoid;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 14px 34px -28px #1A3D2E;transition:transform var(--ease),box-shadow var(--ease)}
.rv-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px #1A3D2E}
.rv-card.featured{border-color:#D4AF3799;box-shadow:0 0 0 1px #D4AF3755,0 18px 40px -28px #1A3D2E}
.rv-photos{display:grid;gap:3px}
.rv-photos.n1{grid-template-columns:1fr}.rv-photos.n2{grid-template-columns:1fr 1fr}.rv-photos.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.rv-photos.n3 .rv-ph:first-child{grid-row:1/3}
.rv-ph{border:0;padding:0;min-height:120px;background:#E8E1D1 center/cover;cursor:zoom-in}
.rv-photos.n1 .rv-ph{aspect-ratio:4/3}.rv-photos.n2 .rv-ph{aspect-ratio:1}.rv-photos.n3 .rv-ph{min-height:90px}.rv-photos.n3 .rv-ph:first-child{min-height:183px}
.rv-body{padding:18px 20px 20px;position:relative}
.rv-body h3{font:600 19px/1.3 var(--serif);color:var(--forest);margin:10px 0 6px}
.rv-text{margin:8px 0 0;color:#3E5247;font-size:14.5px;line-height:1.7;position:relative}
.rv-body h3+.rv-text{margin-top:0}
.rv-card:not(:has(.rv-photos)) .rv-body::before{content:"\201C";position:absolute;right:18px;top:4px;font:700 72px/1 var(--serif);color:#D4AF3733}
.rv-sample{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);background:#F3E7C1;border-radius:99px;padding:3px 8px;vertical-align:2px}
.rv-who{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px dashed #E2DACA}
.rv-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold2);font:600 13px var(--sans);flex:none}
.rv-who b{display:block;font-size:14px;color:var(--ink)}
.rv-who small{display:block;font-size:12px;color:var(--muted)}
.rv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.rv-tags span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--moss);background:#EEF2EC;border-radius:99px;padding:4px 10px}
.rv-tags .ic{width:12px;height:12px;color:var(--gold-ink)}
.rv-empty{color:var(--muted);text-align:center;padding:30px 0;column-span:all}
.rv-more-wrap{text-align:center;margin-top:8px}
.rv-more-wrap .btn[hidden]{display:none}
/* pop-up */
.rv-pm{width:min(680px,100%)}
.rv-rate{display:flex;align-items:center;gap:14px;background:var(--cream);border-radius:16px;padding:12px 16px;margin:6px 0 18px}
.rv-pick{display:flex;gap:4px}
.rv-pick button{border:0;background:none;font-size:34px;line-height:1;color:#DCD3BF;padding:0 2px;cursor:pointer;transition:transform .12s,color .12s}
.rv-pick button.on,.rv-pick button.hover{color:var(--gold)}
.rv-pick button:hover{transform:scale(1.12)}
#rvPickLabel{font-weight:600;color:var(--forest);font-size:14px}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.rv-grid label,.rv-lab{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3E5247}
.rv-grid small{font-weight:400;color:var(--muted)}
.rv-full{grid-column:1/-1}
.rv-grid input:not([type=checkbox]),.rv-grid select,.rv-grid textarea{border:1px solid #D8CFBA;border-radius:12px;background:#FBF9F3;padding:11px 13px;font:500 14.5px var(--sans);color:var(--ink);width:100%}
.rv-grid textarea{resize:vertical;min-height:110px;line-height:1.55}
.rv-grid input:focus,.rv-grid select:focus,.rv-grid textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2F5F4626;background:#fff}
.rv-grid .ng-check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.rv-thumbs{display:flex;gap:10px;flex-wrap:wrap}
.rv-thumb{position:relative;width:86px;height:86px;border-radius:14px;background:#eee center/cover;box-shadow:0 6px 14px -8px #0006}
.rv-thumb button{position:absolute;top:-7px;right:-7px;width:24px;height:24px;border-radius:50%;border:0;background:var(--charcoal);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.rv-add{width:86px;height:86px;border-radius:14px;border:1.5px dashed #CDBF9C;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--gold-ink);cursor:pointer;background:#FBF9F3}
.rv-add .ic{width:22px;height:22px}
.rv-add:hover{border-color:var(--gold);background:#fff}
.rv-submit{width:100%;height:52px;margin-top:16px;gap:10px}
.rv-submit .ic{color:var(--gold2)}
.rv-note{text-align:center;font-size:12.5px;color:var(--muted);margin:10px 0 0}
.rv-lb{position:fixed;inset:0;z-index:120;background:#0F1C18e6;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .2s;cursor:zoom-out}
.rv-lb.open{opacity:1}.rv-lb[hidden]{display:none}
.rv-lb img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 80px -20px #000}
@media(max-width:900px){.rv-top{grid-template-columns:1fr}.rv-score{justify-self:start}}
@media(max-width:560px){.rv-score{flex-wrap:wrap;width:100%}.rv-score .btn{width:100%}.rv-grid{grid-template-columns:1fr}.rv-list{columns:1}}
.rv-score>b.rv-new{font-size:26px;font-style:italic;color:var(--gold-ink)}

/* Style cards use the client's posters (text is part of the poster) */
.styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.style-card{min-height:0;justify-content:flex-start;background:#0F1C18}
.style-card::after{display:none}
.sc-poster{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .6s ease}
.style-card:hover .sc-poster{transform:scale(1.03)}
.sc-bar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:var(--forest)}
.sc-bar small{display:flex;align-items:center;gap:6px;font-size:13px;color:#E4E9E4}
.sc-bar small .ic{width:15px;height:15px;color:var(--gold2)}
.sc-bar .sc-go{margin:0;padding:0;border:0;font-size:13.5px}
.style-card.on{box-shadow:0 0 0 3px var(--gold),0 26px 50px -26px #1A3D2E}
/* pop-up header shows the poster */
.sp-head{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:24px;background:linear-gradient(135deg,#1A3D2E,#0F1C18);min-height:0;padding:20px 64px 20px 20px}
.sp-poster{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;box-shadow:0 14px 30px -14px #000}
@media(max-width:900px){.styles{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.sp-head{grid-template-columns:1fr;padding:16px 16px 14px}.sp-head-txt h3{font-size:24px}.sc-bar{padding:10px 14px}.style-card{min-height:0}}
.sc-poster,.sp-poster{height:auto}

/* Bigger header logo */
.brand-logo{height:64px}
.site-header.scrolled .brand-logo{height:52px}
@media(max-width:900px){.brand-logo{height:58px}.site-header.scrolled .brand-logo{height:48px}}
.bk-done.is-pending .bk-done-mark{background:#FBEFD6;color:var(--warning)}

/* ==========================================================================
   Travel style cards — calm, even 2x2 grid of posters
   ========================================================================== */
#trips .styles{max-width:1120px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
#trips .style-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 2px 0 #fff inset,0 18px 40px -30px #1A3D2E;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
#trips .style-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px #1A3D2E;border-color:#D4AF3766}
#trips .style-card.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 30px 60px -34px #1A3D2E}
#trips .sc-poster{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
#trips .style-card:hover .sc-poster{transform:scale(1.025)}
#trips .sc-bar{background:#fff;padding:16px 20px 18px;border-top:1px solid #EFE8D8}
#trips .sc-bar small{color:var(--muted);font-size:13.5px;font-weight:500}
#trips .sc-bar small .ic{color:var(--gold-ink)}
#trips .sc-go{display:inline-flex;align-items:center;gap:6px;background:var(--forest);color:#fff;border-radius:var(--btn-r);padding:9px 16px;font-size:13.5px;font-weight:600;transition:background var(--ease)}
#trips .sc-go .ic{color:var(--gold2)}
#trips .style-card:hover .sc-go{background:#2F5F46}
@media(max-width:900px){#trips .styles{grid-template-columns:minmax(0,1fr);gap:18px;max-width:640px}}
@media(max-width:560px){#trips .sc-bar{padding:12px 14px}#trips .sc-go{padding:8px 12px;font-size:12.5px}#trips .style-card{border-radius:18px}}
