:root{
  --bg:#fbf8f0;
  --surface:#fffdf8;
  --surface-2:#f4efe2;
  --text:#17211f;
  --muted:#596a64;
  --gold:#c38a2c;
  --gold-soft:#e9c980;
  --gold-dark:#845812;
  --forest:#245c50;
  --forest-dark:#143f36;
  --blue:#2e647b;
  --blue-dark:#163f53;
  --sky:#deedf1;
  --sage:#dfeadf;
  --peach:#f3e2ca;
  --line:rgba(23,33,31,.12);
  --line-strong:rgba(23,33,31,.20);
  --shadow:0 26px 72px rgba(45,54,49,.13);
  --shadow-soft:0 14px 38px rgba(45,54,49,.08);
  --pad:clamp(24px,4vw,68px);
  --serif:"Segoe UI Variable Display","Segoe UI",Helvetica,Arial,sans-serif;
  --sans:"Segoe UI Variable Text","Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  background:
    radial-gradient(circle at 88% 2%,rgba(222,237,241,.92),transparent 27%),
    radial-gradient(circle at 8% 25%,rgba(223,234,223,.76),transparent 26%),
    linear-gradient(180deg,#fffdf8 0%,#faf6ed 53%,#f4efe4 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip{position:fixed;z-index:100;left:16px;top:-100px;background:var(--forest-dark);color:#fff;padding:12px 16px;border-radius:8px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.skip:focus{top:16px}
.site-frame{width:min(1800px,100%);margin:0 auto}

/* Header */
.topbar{
  min-height:94px;
  padding:17px var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(36,92,80,.13);
  background:rgba(255,253,248,.88);
  backdrop-filter:blur(16px);
  box-shadow:0 5px 25px rgba(35,72,64,.045);
  position:sticky;
  top:0;
  z-index:50;
}
.identity{display:inline-flex;align-items:center;gap:13px;min-width:0}
.identity-mark{width:57px;height:57px;display:grid;place-items:center;flex:0 0 auto;position:relative}
.identity-mark:before{content:"";position:absolute;inset:4px;border:1px solid rgba(195,138,44,.48);border-radius:50%;transform:scale(1.15);background:rgba(243,226,202,.35)}
.identity-mark img{width:54px;height:54px;object-fit:contain;position:relative;z-index:1}
.identity-copy{display:flex;flex-direction:column;min-width:0}
.identity-copy strong{font-size:18px;line-height:1.05;letter-spacing:.03em;font-weight:790;text-transform:uppercase;white-space:nowrap;color:var(--forest-dark)}
.identity-copy small{margin-top:6px;color:#64726c;font-size:10px;text-transform:uppercase;letter-spacing:.19em;white-space:nowrap;font-weight:700}
.topbar-meta{display:flex;align-items:center;gap:26px}
.edition{color:#65756e;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}
.contact-pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;height:47px;padding:0 8px 0 19px;border:1px solid rgba(36,92,80,.28);border-radius:999px;background:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--forest-dark);transition:.25s ease;box-shadow:0 6px 18px rgba(42,69,61,.05)}
.contact-pill svg{width:31px;height:31px;border-radius:50%;padding:7px;background:linear-gradient(135deg,var(--gold),#d7ac56);stroke:#fff;fill:none;stroke-width:1.8}
.contact-pill:hover{background:#f6faf7;border-color:rgba(36,92,80,.48);box-shadow:0 10px 28px rgba(43,76,69,.10);transform:translateY(-1px)}

/* Hero */
.hero{
  position:relative;
  min-height:520px;
  padding:clamp(78px,8.5vw,136px) var(--pad) clamp(66px,7vw,105px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,330px);
  align-items:end;
  gap:clamp(38px,7vw,110px);
  overflow:hidden;
}
.hero:before{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:linear-gradient(90deg,var(--blue),rgba(36,92,80,.12),var(--gold));opacity:.5}
.topography{position:absolute;width:560px;height:560px;right:-100px;top:-205px;border-radius:50%;opacity:.56;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 18px,rgba(46,100,123,.11) 19px 20px,transparent 21px 39px);transform:rotate(-14deg);pointer-events:none}
.hero-index{position:absolute;right:var(--pad);top:34px;color:#6c7a75;font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:750}
.kicker{display:flex;align-items:center;gap:12px;margin:0 0 25px;color:var(--gold-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.19em}
.dot{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(195,138,44,.13)}
h1{margin:0;max-width:1050px;font-size:clamp(60px,7.5vw,132px);font-family:var(--serif);font-weight:700;line-height:.84;letter-spacing:-.06em;text-wrap:balance;color:#17211f}
h1 span{display:inline-block;color:var(--forest);font-style:italic;font-weight:700;text-shadow:0 8px 30px rgba(36,92,80,.07)}
.hero-subcopy{max-width:700px;margin:30px 0 0;color:#53665f;font-size:clamp(14px,1.15vw,18px);line-height:1.75;font-weight:520}
.hero-note{justify-self:end;width:100%;max-width:320px;padding:25px 23px;border:1px solid rgba(195,138,44,.24);border-left:4px solid var(--gold);border-radius:0 20px 20px 0;background:linear-gradient(120deg,rgba(255,255,255,.78),rgba(244,239,226,.62));box-shadow:var(--shadow-soft);position:relative}
.hero-note-eyebrow{display:block;margin-bottom:15px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:850}
.hero-note p{margin:0 0 25px;color:#29453d;font-family:var(--serif);font-size:22px;line-height:1.32}
.hero-note p strong{color:var(--forest-dark);font-weight:700}
.scroll-cue{display:inline-flex;align-items:center;gap:9px;color:var(--forest-dark);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}
.scroll-cue:before{content:"";width:28px;height:2px;background:var(--gold)}

/* Destination cards */
.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:22px;padding:24px var(--pad) 0}
.portal{
  --mx:0px;
  --my:0px;
  --accent:#d9b362;
  --accent-deep:#244f60;
  position:relative;
  min-width:0;
  min-height:680px;
  height:100%;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(23,33,31,.10);
  border-radius:22px;
  background:var(--surface);
  box-shadow:var(--shadow);
  transform:translateY(0);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.portal-yatra{--accent:#f0c873;--accent-deep:#245d73}
.portal-yarsa{--accent:#d7ca77;--accent-deep:#396442}
.portal:before{content:"";position:absolute;inset:16px;z-index:3;border:1px solid rgba(255,255,255,.66);border-radius:13px;pointer-events:none;transition:inset .4s,border-color .4s}
.portal img{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);object-fit:cover;z-index:-3;transform:translate(var(--mx),var(--my)) scale(1.035);transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .45s;filter:saturate(1.02) contrast(1.04) brightness(.92)}
.portal-yatra img{object-position:51% 50%}
.portal-yarsa img{object-position:56% 49%;filter:saturate(1.06) contrast(1.02) brightness(.98)}
.portal-shade{position:absolute;inset:0;z-index:-2}
.portal-yatra .portal-shade{background:linear-gradient(180deg,rgba(17,57,76,.34) 0%,rgba(16,54,70,.08) 31%,rgba(8,31,43,.91) 100%),linear-gradient(90deg,rgba(21,75,95,.31),transparent 68%)}
.portal-yarsa .portal-shade{background:linear-gradient(180deg,rgba(30,72,40,.32) 0%,rgba(30,69,38,.08) 31%,rgba(15,43,25,.92) 100%),linear-gradient(90deg,rgba(56,95,46,.32),transparent 68%)}
.portal:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 26%,transparent),transparent 38%);opacity:.55;transition:opacity .4s}
.portal-topline{position:absolute;left:42px;right:42px;top:39px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:4}
.portal-no{font-size:13px;font-weight:850;letter-spacing:.18em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.portal-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(12,34,31,.53);backdrop-filter:blur(12px);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#fff;font-weight:800;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.portal-tag svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-content{position:absolute;z-index:4;left:42px;right:42px;bottom:42px;display:flex;flex-direction:column;min-height:365px;justify-content:flex-end}
.portal-location{margin-bottom:18px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;text-shadow:0 2px 12px rgba(0,0,0,.64)}
.portal-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:25px;min-width:0}
.portal-heading-wrap{min-width:0}
.portal-label{display:block;margin-bottom:9px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:850;text-shadow:0 2px 10px rgba(0,0,0,.54)}
.portal-title{display:block;color:#fff;font-family:var(--serif);font-size:clamp(46px,4.25vw,72px);font-weight:700;line-height:.91;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 5px 28px rgba(0,0,0,.68)}
.portal-arrow{width:66px;height:66px;border:1px solid rgba(255,255,255,.72);border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:rgba(12,33,29,.42);backdrop-filter:blur(9px);transition:background .35s,border-color .35s,transform .35s}
.portal-arrow svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:1.75}
.portal-description{max-width:540px;margin-top:21px;padding-top:18px;border-top:1px solid rgba(255,255,255,.46);color:#fff;font-size:14px;line-height:1.65;font-weight:570;text-shadow:0 2px 11px rgba(0,0,0,.65)}
.portal-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;margin-top:21px;padding:11px 14px 11px 16px;border-radius:999px;background:rgba(255,255,255,.94);color:#18312b;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;box-shadow:0 10px 26px rgba(0,0,0,.14);transition:transform .3s ease,background .3s ease,color .3s ease}
.portal-cta span{font-size:19px;line-height:1;transform:translateX(0);transition:transform .3s ease}
.portal:hover{transform:translateY(-5px);box-shadow:0 34px 82px rgba(39,52,46,.18);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.portal:hover:before{inset:10px;border-color:color-mix(in srgb,var(--accent) 92%,white)}
.portal:hover:after{opacity:.85}
.portal:hover img{transform:translate(var(--mx),var(--my)) scale(1.08);filter:saturate(1.09) contrast(1.04) brightness(.94)}
.portal-yarsa:hover img{filter:saturate(1.12) contrast(1.03) brightness(1)}
.portal:hover .portal-arrow{background:var(--accent);border-color:var(--accent);transform:rotate(7deg)}
.portal:hover .portal-arrow svg{stroke:#17211f}
.portal:hover .portal-cta{background:var(--accent);transform:translateY(-1px)}
.portal:hover .portal-cta span{transform:translateX(4px)}

/* Origin strip */
.origin-strip{margin:22px var(--pad) 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border:1px solid rgba(36,92,80,.12);border-radius:20px;overflow:hidden;background:rgba(255,253,248,.78);box-shadow:var(--shadow-soft)}
.origin-item,.origin-center{display:flex;align-items:center;gap:15px;padding:24px 26px;min-width:0}
.origin-item span:last-child,.origin-center span:last-child{display:flex;flex-direction:column;min-width:0}
.origin-item strong,.origin-center strong{font-family:var(--serif);font-size:18px;color:var(--forest-dark);line-height:1.2}
.origin-item small,.origin-center small{margin-top:5px;color:#63736c;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.origin-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:11px;font-weight:850;letter-spacing:.08em}
.origin-blue{background:linear-gradient(120deg,rgba(222,237,241,.72),rgba(255,255,255,.38))}.origin-blue .origin-icon{background:var(--blue);color:#fff}
.origin-green{justify-content:flex-end;text-align:right;background:linear-gradient(240deg,rgba(223,234,223,.82),rgba(255,255,255,.38))}.origin-green .origin-icon{order:2;background:var(--forest);color:#fff}
.origin-center{border-left:1px solid rgba(36,92,80,.10);border-right:1px solid rgba(36,92,80,.10);background:#fffdf8;min-width:250px;justify-content:center}
.origin-mark{width:48px;height:48px;border:1px solid rgba(195,138,44,.30);border-radius:50%;display:grid;place-items:center;background:#fff}.origin-mark img{width:39px;height:39px;object-fit:contain}
.origin-center small{margin:0 0 3px;color:var(--gold-dark)}
.origin-center strong{font-size:19px}

/* Manifesto */
.manifesto{padding:clamp(78px,8vw,120px) var(--pad) clamp(86px,9vw,135px);position:relative;overflow:hidden}
.manifesto-contours{position:absolute;right:-65px;top:8px;width:430px;height:430px;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 20px,rgba(36,92,80,.09) 21px 22px,transparent 23px 43px);opacity:.6;transform:rotate(12deg);pointer-events:none}
.manifesto:before{content:"";position:absolute;left:-120px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(222,237,241,.75),rgba(222,237,241,0) 70%);pointer-events:none}
.manifesto-line{display:grid;grid-template-columns:2fr .65fr 1fr .45fr 1.5fr;gap:7px;margin-bottom:29px;position:relative}
.manifesto-line span{display:block;height:3px;background:rgba(36,92,80,.18);border-radius:999px}.manifesto-line span:nth-child(2){background:var(--gold)}.manifesto-line span:nth-child(4){background:var(--forest)}
.manifesto p{margin:0 0 34px;color:#5b6c65;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800;position:relative}.manifesto p i{font-style:normal;color:var(--gold-dark);margin:0 10px}
.manifesto strong{display:block;max-width:1120px;color:var(--forest-dark);font-family:var(--serif);font-size:clamp(50px,6.8vw,106px);line-height:.91;letter-spacing:-.055em;font-weight:700;position:relative}.manifesto strong em{color:var(--blue);font-style:italic;font-weight:700}
.manifesto-note{max-width:610px;margin:35px 0 0 auto;padding:18px 0 18px 22px;border-left:3px solid var(--gold);color:#586a63;font-size:15px;line-height:1.7;position:relative}

/* Footer */
.footer{border-top:1px solid rgba(36,92,80,.14);padding:40px var(--pad) 25px;display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(180px,.75fr) minmax(220px,.8fr);gap:45px;color:#53675f;background:linear-gradient(110deg,rgba(223,234,223,.78),rgba(255,253,248,.96) 44%,rgba(243,226,202,.62));position:relative}
.footer-intro p{max-width:390px;margin:19px 0 0;font-size:13px;line-height:1.7;color:#5f7069}
.footer-brand{display:flex;align-items:center;gap:14px;color:var(--forest-dark)}
.footer-brand>span:last-child{display:flex;flex-direction:column}.footer-brand strong{font-size:17px;text-transform:uppercase;letter-spacing:.055em}.footer-brand small{margin-top:4px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#718079;font-weight:700}
.footer-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(36,92,80,.22);border-radius:50%;background:#fff}.footer-mark img{width:36px;height:36px;object-fit:contain}
.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;font-weight:650}.footer-links>span,.footer-contact>span{margin-bottom:4px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:850}.footer a{transition:color .2s}.footer a:hover{color:var(--gold-dark)}
.footer-bottom{grid-column:1/-1;margin-top:3px;padding-top:21px;border-top:1px solid rgba(36,92,80,.12);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:750;color:#64756e}.back-top{color:var(--forest-dark)}

@media (max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr) 270px;gap:45px}
  .portal{min-height:620px}
  .portal-content,.portal-topline{left:31px;right:31px}.portal-content{bottom:32px;min-height:345px}.portal:before{inset:14px}.portal-arrow{width:57px;height:57px}
  .portal-title{font-size:clamp(42px,4.45vw,61px)}
  .origin-item,.origin-center{padding:21px 19px}.origin-center{min-width:220px}.origin-item strong,.origin-center strong{font-size:16px}
  .footer{grid-template-columns:1.15fr .8fr .9fr;gap:30px}
}

@media (max-width:860px){
  .topbar{min-height:86px;padding-top:15px;padding-bottom:15px}.identity-mark{width:49px;height:49px}.identity-mark img{width:46px;height:46px}.identity-copy strong{font-size:15px}.identity-copy small{font-size:9px;letter-spacing:.15em;margin-top:5px}.edition{display:none}.contact-pill{height:42px;padding-left:16px;gap:12px}.contact-pill svg{width:27px;height:27px}
  .hero{grid-template-columns:1fr;gap:42px;min-height:0;padding-top:78px;padding-bottom:62px}.hero-index{display:none}.hero-note{justify-self:start;max-width:440px}.topography{right:-220px;top:-210px}
  h1{font-size:clamp(56px,12.5vw,92px)}
  .experience-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:18px}.portal{min-height:585px}.portal-title{font-size:clamp(48px,9vw,72px)}
  .origin-strip{grid-template-columns:1fr 1fr}.origin-center{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid rgba(36,92,80,.10);min-width:0}.origin-green{border-left:1px solid rgba(36,92,80,.10)}
  .manifesto strong{font-size:clamp(52px,10.5vw,86px)}
  .footer{grid-template-columns:1.2fr .8fr}.footer-contact{grid-column:2}.footer-bottom{grid-column:1/-1}.footer-intro{grid-row:1/3}
}

@media (max-width:560px){
  :root{--pad:18px}
  .topbar{min-height:78px}.identity{gap:10px}.identity-mark{width:41px;height:41px}.identity-mark img{width:39px;height:39px}.identity-copy strong{font-size:13px}.identity-copy small{display:none}.contact-pill span{display:none}.contact-pill{width:42px;padding:0;gap:0}.contact-pill svg{width:30px;height:30px;margin:auto}
  .hero{padding-top:61px;padding-bottom:48px}.kicker{font-size:10px;letter-spacing:.14em;margin-bottom:19px}.hero-subcopy{font-size:14px;margin-top:23px}.topography{width:390px;height:390px;right:-180px;top:-150px}.hero-note{padding:20px 18px}.hero-note p{font-size:19px}.hero-note-eyebrow,.scroll-cue{font-size:10px}
  h1{font-size:clamp(50px,14.5vw,74px);line-height:.88;letter-spacing:-.06em}
  .experience-grid{padding-top:14px;gap:14px}.portal{min-height:500px;border-radius:16px}.portal:before{inset:10px;border-radius:9px}.portal-topline{left:23px;right:23px;top:25px}.portal-content{left:23px;right:23px;bottom:24px;min-height:330px}.portal-tag{font-size:10px;padding:8px 10px;letter-spacing:.08em}.portal-tag svg{width:14px;height:14px}.portal-no{font-size:11px}.portal-location{font-size:10px;letter-spacing:.10em;margin-bottom:14px}.portal-label{font-size:10px}.portal-title{font-size:clamp(42px,12vw,55px)}.portal-arrow{width:47px;height:47px}.portal-arrow svg{width:21px;height:21px}.portal-description{font-size:13px;margin-top:16px;padding-top:14px;line-height:1.55}.portal-cta{font-size:10px;padding:10px 12px 10px 14px;margin-top:16px}
  .origin-strip{margin-top:14px;grid-template-columns:1fr}.origin-item,.origin-center{padding:18px}.origin-green{border-left:0;border-top:1px solid rgba(36,92,80,.10);justify-content:flex-start;text-align:left}.origin-green .origin-icon{order:0}.origin-center{grid-column:auto;grid-row:auto;justify-content:flex-start}.origin-item strong,.origin-center strong{font-size:16px}.origin-item small,.origin-center small{font-size:10px;letter-spacing:.08em}
  .manifesto{padding-top:70px;padding-bottom:77px}.manifesto p{font-size:10px;letter-spacing:.10em;margin-bottom:24px}.manifesto p i{margin:0 5px}.manifesto strong{font-size:clamp(43px,12.7vw,62px)}.manifesto-note{font-size:13px;margin-top:26px;margin-left:0}.manifesto-contours{width:300px;height:300px;right:-130px;top:16px}
  .footer{grid-template-columns:1fr;gap:27px;padding-top:32px}.footer-intro,.footer-contact{grid-column:auto;grid-row:auto}.footer-bottom{grid-column:auto;align-items:flex-start}.footer-bottom{font-size:10px}.back-top{white-space:nowrap}.footer-intro p{font-size:12px}
}

@media (max-width:380px){
  .identity-copy strong{font-size:12px}.portal{min-height:485px}.portal-title-row{gap:10px}.portal-arrow{width:43px;height:43px}.portal-title{font-size:40px}.portal-description{font-size:12.5px}.portal-tag{max-width:185px;line-height:1.2}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.portal img{transform:none!important}
}
