
:root{
  --paper:#F4F5F6; --surface:#FFFFFF; --soft:#EDEFF0; --ink:#1C6F6E; --muted:#5E8B8A; --faint:#93A7A7;
  --line:#DDE1E2; --jade:#209B99; --jade-deep:#16716F; --marigold:#D9861C; --mist:#E4EFEF;
  --destructive:#C2413F; --btn:#209B99; --btn-ink:#FFFFFF;
  --r:2px; --r-lg:4px;
  --shadow:0 1px 0 rgba(11,46,49,.04);
  --display:Verdana,"Hind Siliguri",Geneva,sans-serif;
  --body:Verdana,"Hind Siliguri",Geneva,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#15191A; --surface:#1D2223; --soft:#252B2C; --ink:#8FD6D4; --muted:#9FB4B4; --faint:#7B8F8F;
    --line:#303738; --jade:#35B5B2; --jade-deep:#1C8583; --marigold:#E39A3A; --mist:#232A2B;
    --destructive:#E0605E; --btn:#209B99; --btn-ink:#FFFFFF;
    --shadow:0 1px 0 rgba(0,0,0,.3);
  }
}
:root[data-theme="dark"]{
  --paper:#15191A; --surface:#1D2223; --soft:#252B2C; --ink:#8FD6D4; --muted:#9FB4B4; --faint:#7B8F8F;
  --line:#303738; --jade:#35B5B2; --jade-deep:#1C8583; --marigold:#E39A3A; --mist:#232A2B;
  --destructive:#E0605E; --btn:#209B99; --btn-ink:#FFFFFF;
  --shadow:0 1px 0 rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
html{overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}
img{max-width:100%;display:block}
a{color:var(--jade)}
:focus-visible{outline:2px solid var(--jade);outline-offset:2px;border-radius:var(--r)}
h1,h2,h3,h4{font-family:var(--display);margin:0;font-weight:700;line-height:1.15;letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
h1 em,h2 em{font-style:normal;color:var(--marigold)}
h3{font-size:1rem}
p{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.lede{color:var(--muted);max-width:64ch}
.kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* NAV */
.nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:1rem;height:60px}
.brand{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.5rem;margin-right:auto}
.brand img{width:30px;height:30px;object-fit:contain}
.nav-links{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;font-size:13px}
.nav-links a:hover{color:var(--jade)}
.tools{display:flex;align-items:center;gap:.4rem}
.lang{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lang button{border:0;background:transparent;color:var(--muted);font:700 11px var(--body);padding:.35rem .55rem;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--jade);color:#fff}
.icon-btn{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.icon-btn:hover{background:var(--soft);color:var(--ink)}
.icon-btn svg{width:16px;height:16px}
.menu-btn{display:none}
.drawer{display:none}
@media (max-width:1020px){
  .nav-links,.nav .cta{display:none}
  .menu-btn{display:grid}
  .drawer.open{display:grid;position:fixed;inset:60px 0 auto 0;background:var(--surface);border-bottom:1px solid var(--line);padding:.8rem clamp(1.1rem,4vw,2rem) 1.2rem;z-index:29}
  .drawer a{color:var(--ink);text-decoration:none;font-size:14px;padding:.6rem 0;border-bottom:1px solid var(--line)}
}

/* ANNOUNCEMENT */
.announce{position:fixed;right:1rem;bottom:1rem;z-index:40;max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem;box-shadow:0 10px 30px -18px rgba(11,46,49,.5)}
.announce[hidden]{display:none}
.announce .tag{display:inline-block;background:var(--jade);color:#fff;font:700 10px var(--body);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);padding:.2rem .45rem}
.announce h3{margin:.55rem 0 .3rem;font-size:14px}
.announce p{color:var(--muted);font-size:13px}
.announce .row{display:flex;gap:.5rem;margin-top:.8rem}
.announce .close{position:absolute;top:.5rem;right:.5rem;width:26px;height:26px}

/* HERO — 3D photo flow */
.hero{position:relative;padding:clamp(.9rem,2vw,1.4rem) 0;text-align:center;overflow:hidden}
.hero .wrap{display:flex;flex-direction:column;justify-content:center;gap:clamp(.4rem,1vh,.9rem);min-height:calc(100svh - 84px)}
.hero .wrap.seg{padding:clamp(.8rem,1.6vh,1.6rem) clamp(1.1rem,3vw,2rem)}
.hero-copy{position:relative;z-index:2;padding:0 1rem}
.hero-copy .mark{width:clamp(56px,7vh,84px);height:auto;margin:0 auto .7rem}
.hero h1{font-size:clamp(1.5rem,3.1vh,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.12}
@media (max-height:900px){.hero-copy .mark{display:none}}
@media (max-height:720px){.hero .scroll{display:none}}
@media (max-height:620px){.hero .wrap{min-height:0}}
.hero h1 span{display:block}
.hero h1 .sub{color:var(--jade)}
.flow{position:relative;margin:0;height:340px;flex:none;perspective:1200px;overflow:hidden;cursor:ew-resize;touch-action:pan-y}
@media (max-width:640px){.flow{height:290px}}
.flow-stage{position:absolute;inset:0;transform-style:preserve-3d}
.flow-card{position:absolute;left:50%;top:50%;width:250px;height:290px;margin:-145px 0 0 -125px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 22px 44px -26px rgba(0,0,0,.55);will-change:transform;display:flex;flex-direction:column}
@media (max-width:640px){.flow-card{width:200px;height:245px;margin:-122px 0 0 -100px}}
.flow-card img,.flow-card svg{width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-tag{position:relative;z-index:2;display:grid;gap:.3rem;justify-items:center}
.hero-tag .svcs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.hero-tag .svcs a{border:1px solid var(--line);border-radius:var(--r);padding:.3rem .7rem;font-size:12px;font-weight:700;color:var(--jade);text-decoration:none;background:var(--paper)}
.hero-tag .svcs a:hover{background:var(--mist)}
.hero-tag p{color:var(--muted);font-size:14px}
section{padding:clamp(.9rem,2vw,1.4rem) 0}
.wrap.seg{border:1px solid var(--jade);border-radius:6px;padding:clamp(1.4rem,3vw,2.4rem)}
.sec-head{display:grid;gap:.7rem;margin-bottom:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--btn);color:var(--btn-ink);border:0;border-radius:var(--r);padding:.6rem 1rem;font:700 13px var(--body);text-decoration:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}
.btn:hover{opacity:.9;color:var(--btn-ink)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.4;pointer-events:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--soft);opacity:1}
.btn.gold{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.btn.gold:hover{background:var(--mist)}

/* NAV */
.nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:1rem;height:60px}
.brand{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.5rem;margin-right:auto}
.brand img{width:30px;height:30px;object-fit:contain}
.nav-links{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;font-size:13px}
.nav-links a:hover{color:var(--jade)}
.tools{display:flex;align-items:center;gap:.4rem}
.lang{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lang button{border:0;background:transparent;color:var(--muted);font:700 11px var(--body);padding:.35rem .55rem;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--jade);color:#fff}
.icon-btn{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.icon-btn:hover{background:var(--soft);color:var(--ink)}
.icon-btn svg{width:16px;height:16px}
.menu-btn{display:none}
.drawer{display:none}
@media (max-width:1020px){
  .nav-links,.nav .cta{display:none}
  .menu-btn{display:grid}
  .drawer.open{display:grid;position:fixed;inset:60px 0 auto 0;background:var(--surface);border-bottom:1px solid var(--line);padding:.8rem clamp(1.1rem,4vw,2rem) 1.2rem;z-index:29}
  .drawer a{color:var(--ink);text-decoration:none;font-size:14px;padding:.6rem 0;border-bottom:1px solid var(--line)}
}

/* ANNOUNCEMENT */
.announce{position:fixed;right:1rem;bottom:1rem;z-index:40;max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem;box-shadow:0 10px 30px -18px rgba(11,46,49,.5)}
.announce[hidden]{display:none}
.announce .tag{display:inline-block;background:var(--jade);color:#fff;font:700 10px var(--body);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);padding:.2rem .45rem}
.announce h3{margin:.55rem 0 .3rem;font-size:14px}
.announce p{color:var(--muted);font-size:13px}
.announce .row{display:flex;gap:.5rem;margin-top:.8rem}
.announce .close{position:absolute;top:.5rem;right:.5rem;width:26px;height:26px}

/* HERO — scroll-locked photo wall */
.hero{position:relative;padding:0;background:var(--surface);border-bottom:1px solid var(--line)}
.hero-sticky{position:sticky;top:60px;height:min(86vh,720px);min-height:440px;display:grid;place-items:center;overflow:hidden}
.wall{position:absolute;inset:0;display:grid;grid-template-rows:repeat(3,1fr);gap:10px;padding:10px}
@media (max-width:700px){.wall{grid-template-rows:repeat(4,1fr);gap:6px;padding:6px}}
.wall-row{overflow:hidden;position:relative}
.wall-track{display:flex;gap:10px;height:100%;width:max-content;will-change:transform;animation:slide var(--dur,70s) linear infinite}
.wall-row:nth-child(even) .wall-track{animation-direction:reverse}
.hero:hover .wall-track,.hero:focus-within .wall-track{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.wall-cell{position:relative;flex:0 0 auto;height:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--soft)}
.wall-cell img,.wall-cell svg{width:100%;height:100%;object-fit:cover;display:block}
.wall-cell b{position:absolute;left:8px;bottom:6px;color:#fff;font:700 11px var(--body);text-shadow:0 1px 3px rgba(0,0,0,.65)}
.hero-veil{position:absolute;inset:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--paper) 94%,transparent) 0 40%,color-mix(in srgb,var(--paper) 55%,transparent) 100%)}
.hero-copy{position:relative;text-align:center;padding:1.5rem}
.hero-copy .mark{width:104px;height:auto;margin:0 auto 1rem;filter:drop-shadow(0 8px 20px rgba(0,0,0,.2))}
.hero h1{font-size:clamp(1.9rem,5vw,3.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.hero h1 span{display:block}
.hero h1 .sub{color:var(--jade)}
.scroll{display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;margin-top:.4rem;color:var(--muted);font-size:11px;text-decoration:none;position:relative;z-index:2}
.scroll span{width:18px;height:28px;border:1px solid var(--line);border-radius:var(--r);position:relative}
.scroll span::after{content:"";position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;background:var(--jade);animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(9px)}}

/* STATS */
.stats{padding:clamp(.9rem,2vw,1.4rem) 0}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media (max-width:900px){.stats .wrap{grid-template-columns:repeat(2,1fr)}}
.stat small{display:block;color:var(--faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.stat b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3vw,2rem);color:var(--jade);margin:.15rem 0}
.stat span{font-size:12px;color:var(--muted)}

/* MISSION */
.mission{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:900px){.mission{grid-template-columns:1fr}}
.mission .lede + .lede{margin-top:.9rem}
.copybox{margin-top:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.copybox small{display:block;color:var(--faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.copybox strong{font-family:var(--display);font-size:15px;word-break:break-all}
.features{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;text-decoration:none;color:var(--ink)}
.feature:hover{border-color:var(--jade)}
.feature svg{width:22px;height:22px;color:var(--jade);margin-bottom:.6rem}
.feature h4{font-size:13px}
.feature p{color:var(--muted);font-size:12px;margin-top:.2rem}

/* CHIPS */
.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--r);padding:.35rem .75rem;font:400 12px var(--body);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--jade);color:#fff;border-color:var(--jade)}

/* LISTINGS */
.platform{margin-top:1.8rem}
.platform-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.platform-head h3{display:flex;align-items:center;gap:.55rem;font-size:15px}
.badge{display:inline-block;border-radius:var(--r);padding:.12rem .4rem;font:700 11px var(--body);color:#fff}
.badge.bk{background:#003B95}.badge.ab{background:#FF385C}
.view-toggle{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.view-toggle button{border:0;background:transparent;color:var(--muted);font:700 11px var(--body);letter-spacing:.06em;text-transform:uppercase;padding:.4rem .7rem;cursor:pointer}
.view-toggle button[aria-pressed="true"]{background:var(--jade);color:#fff}
.listings{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}
@media (max-width:1100px){.listings{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:800px){.listings{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.listings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}
.listings[hidden]{display:none}
.lcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.lcard .ph{aspect-ratio:5/4;background:var(--soft);overflow:hidden}
.lcard .ph img,.lcard .ph svg{width:100%;height:100%;object-fit:cover;display:block}
.lcard a.cover{position:absolute;inset:0;z-index:1}
.lcard .fav{position:absolute;top:.4rem;right:.4rem;z-index:2;width:28px;height:28px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer}
.lcard .fav svg{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2}
.lcard .fav[aria-pressed="true"] svg{fill:var(--destructive);stroke:var(--destructive)}
.lcard .info{padding:.55rem .7rem .75rem;display:grid;gap:.12rem}
.lcard .type{display:flex;align-items:center;gap:.3rem;color:var(--faint);font-size:11px;flex-wrap:wrap}
.lcard .stars{color:var(--jade);letter-spacing:1px;font-size:11px}
.lcard .score{color:var(--ink);font-weight:700}
.lcard .new{background:var(--soft);color:var(--muted);border-radius:var(--r);padding:0 .3rem;font-weight:700;font-size:10px}
.lcard h4{font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lcard .loc{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcard .facts-line{color:var(--faint);font-size:11px}
.more-row{text-align:center;margin-top:1rem}
.empty{padding:1.5rem;border:1px dashed var(--line);border-radius:var(--r-lg);color:var(--muted);font-size:13px}

/* COVERFLOW */
.coverflow{position:relative;width:100%;outline:none;user-select:none;overflow:hidden}
.coverflow[hidden]{display:none}
.cf-stage{position:relative;height:360px;display:flex;align-items:center;justify-content:center;perspective:1200px;touch-action:pan-y;cursor:grab}
.cf-stage:active{cursor:grabbing}
.cf-item{position:absolute;width:280px;height:300px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 18px 40px -24px rgba(11,46,49,.65);transform-style:preserve-3d;transition:transform .32s cubic-bezier(.22,.7,.3,1),opacity .32s ease;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.cf-item .ph{height:210px;background:var(--soft);overflow:hidden}
.cf-item .ph img,.cf-item .ph svg{width:100%;height:100%;object-fit:cover;pointer-events:none}
.cf-item .cap{padding:.6rem .75rem;display:grid;gap:.15rem}
.cf-item .cap b{font-size:13px}
.cf-item .cap span{color:var(--muted);font-size:11px}
.cf-nav{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1rem}
.cf-dots{display:flex;gap:.3rem;align-items:center}
.cf-dots button{width:8px;height:8px;padding:0;border:1px solid var(--line);background:transparent;border-radius:50%;cursor:pointer}
.cf-dots button[aria-current="true"]{background:var(--jade);border-color:var(--jade)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){.cf-stage{height:330px}.cf-item{width:230px;height:275px}.cf-item .ph{height:180px}}

/* TOURISM */
.grid{display:grid;gap:.8rem}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
@media (max-width:960px){.split{grid-template-columns:1fr}}
.places{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:3/2;background:var(--soft)}
.card .ph img,.card .ph svg{width:100%;height:100%;object-fit:cover}
.card .body{padding:.65rem .75rem .8rem;display:grid;gap:.12rem}
.card h3{font-size:13px}
.card .meta{color:var(--muted);font-size:11px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,2.5vw,1.6rem);position:sticky;top:76px}
.panel h3{font-size:16px}
.panel > p{color:var(--muted);font-size:13px;margin-top:.4rem}
.panel ul{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.85rem}
.panel li{display:grid;grid-template-columns:26px 1fr;gap:.6rem}
.panel li svg{width:20px;height:20px;color:var(--jade);margin-top:2px}
.panel li b{display:block;font-size:13px}
.panel li span{color:var(--muted);font-size:12px}
.panel .btn{margin-top:1.2rem}

.tour-copy{display:grid;gap:1rem;max-width:62ch}
.tour-copy p{color:var(--muted);font-size:14.5px;line-height:1.7}
.tour-copy p.lead{color:var(--ink);font-size:17px;line-height:1.55}
.tour-copy strong{color:var(--jade);font-weight:700}
.tour-copy p.lead strong{color:var(--ink)}

/* MEDICAL */
.hospitals{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.hosp{display:grid;grid-template-columns:72px 1fr;gap:.75rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:.55rem}
.hosp .ph{width:72px;height:72px;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.hosp .ph img,.hosp .ph svg{width:100%;height:100%;object-fit:cover}
.hosp h3{font-size:13px}
.hosp p{color:var(--muted);font-size:11px}
.hosp.linked:hover{border-color:var(--jade)}
.hosp h3 a{color:inherit;text-decoration:none}
.hosp.linked .ph{cursor:pointer}
.hosp h3 a:hover{color:var(--jade)}
.flip-face.back .copy{display:grid;gap:.9rem}
.flip-face.back .map{background:var(--mist);border-radius:var(--r-lg);padding:1rem;display:flex;justify-content:center}
.flip-face.back .map svg{width:100%;max-width:420px;height:auto}
@media (max-width:900px){.rts-grid{grid-template-columns:1fr}}
.rts-grid .copy{display:grid;gap:.9rem;align-content:start}
.rts-grid .copy h3{font-size:clamp(1.2rem,2.4vw,1.6rem)}
.rts-grid .copy p{color:var(--muted);font-size:14px}
.rts-grid .map{background:var(--mist);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;padding:1.2rem}
.rts-grid .map svg{width:100%;max-width:440px;height:auto}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
@media (max-width:520px){.facts{grid-template-columns:1fr}}
.fact{border-top:2px solid var(--jade);padding-top:.45rem}
.fact b{font-family:var(--display);font-weight:700;font-size:1.1rem;display:block}
.fact span{color:var(--muted);font-size:11px}
.dots{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;font-size:14px}
.dots li{padding-left:1.1rem;position:relative;color:var(--muted)}
.dots li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--jade)}
.small{font-size:11px;color:var(--faint)}


/* FLIP CARDS */
.flip-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;align-items:start}
@media (max-width:860px){
  .flip-pair{gap:.6rem}
  .flip-pair .flip-face{padding:.8rem}
  .flip-pair .flip-face.front.has-bg{min-height:200px}
  .flip-pair .flip-front-inner{gap:.45rem}
  .flip-pair .flip-front-inner h3{font-size:15px;line-height:1.25}
  .flip-pair .flip-front-inner p{font-size:12.5px;line-height:1.5}
  .flip-pair .kicker{font-size:9px;letter-spacing:.08em}
  .flip-pair .flip-more{font-size:12px}
  .flip-pair .dots{font-size:12.5px}
  .flip-pair .facts{grid-template-columns:1fr}
  .flip-pair .flip-back-head{margin-bottom:.6rem}
}
@media (max-width:560px){
  .flip-pair .flip-front-inner h3{font-size:13.5px}
  .flip-pair .flip-front-inner p{font-size:11.5px}
  .flip-pair .flip-face.front.has-bg{min-height:180px}
}
.flip{perspective:1600px;margin-top:1rem}
.flip-pair .flip{margin-top:0}
.flip-inner{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.3,1),height .4s ease}
.flip.on .flip-inner{transform:rotateY(180deg)}
.flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--jade);border-radius:var(--r-lg);background:var(--surface);padding:clamp(1.2rem,2.5vw,2rem)}
.flip-face.back{position:absolute;top:0;left:0;width:100%;transform:rotateY(180deg)}
.flip.on .flip-face.front{position:absolute;top:0;left:0;width:100%;visibility:hidden}
.flip:not(.on) .flip-face.back{visibility:hidden}
.flip-face.front.has-bg{position:relative;background-size:cover;background-position:center;min-height:230px;display:flex;align-items:flex-end;border:1px solid var(--jade)}
.flip-face.front.has-bg::before{content:"";position:absolute;inset:0;border-radius:calc(var(--r-lg) - 1px);background:linear-gradient(180deg,rgba(6,32,34,.25) 0%,rgba(6,32,34,.82) 70%)}
.flip-face.front.has-bg .flip-front-inner{position:relative;z-index:1}
.flip-face.front.has-bg h3{color:#fff}
.flip-face.front.has-bg p{color:#E4EFEF}
.flip-face.front.has-bg .flip-more{color:#fff}
.flip-front-inner{display:grid;gap:.7rem;justify-items:start;max-width:64ch}
.flip-front-inner h3{font-size:clamp(1.1rem,2.2vw,1.5rem)}
.flip-front-inner p{color:var(--muted);font-size:14.5px;line-height:1.7}
.flip-more{background:none;border:0;padding:0;color:var(--jade);font:700 13px var(--body);cursor:pointer;text-decoration:underline}
.flip-more:hover{color:var(--jade-deep)}
.flip-back-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
@media (prefers-reduced-motion: reduce){.flip-inner{transition:none}}

/* HOW */
.howto{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.howto{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.howto{grid-template-columns:1fr}}
.how{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem;display:flex;flex-direction:column;gap:.4rem}
.how .n{font:700 12px var(--display);color:var(--jade);letter-spacing:.1em}
.how h3{font-size:13px}
.how p{color:var(--muted);font-size:12px}
.how a{margin-top:auto;font-weight:700;font-size:12px;text-decoration:none}
.quick{grid-template-columns:repeat(3,1fr);margin-top:1rem}
@media (max-width:700px){.quick{grid-template-columns:1fr}}
.qlink{display:flex;gap:.6rem;align-items:center;padding:.75rem .9rem;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink)}
.qlink:hover{background:var(--soft)}
.qlink b{display:block;font-size:13px}
.qlink span{color:var(--muted);font-size:11px}
.qlink i{font-style:normal;font-size:16px}

/* EDUCATION */
.unis{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:2.5rem}
.uni{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem}
.uni h3{font-size:13px}
.uni p{color:var(--muted);font-size:11px;margin-top:.2rem}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
@media (max-width:900px){.timeline{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.timeline{grid-template-columns:1fr}}
.tl{border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;background:var(--surface);display:grid;gap:.35rem}
.tl .top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.tl .num{font:700 12px var(--display);color:var(--jade);letter-spacing:.1em}
.tl .when{font-size:11px;border-radius:var(--r);padding:.15rem .45rem;background:var(--soft);color:var(--muted)}
.tl h3{font-size:13px}
.tl p{color:var(--muted);font-size:12px}
.tl .cat{font-size:11px;color:var(--jade);font-weight:700}

/* NEWS */
.news{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem;display:grid;gap:.4rem;align-content:start}
.post time{color:var(--faint);font-size:11px}
.post h3{font-size:14px}
.post p{color:var(--muted);font-size:13px}
.post .more[hidden]{display:none}
.post button{justify-self:start;background:none;border:0;padding:0;color:var(--jade);font:700 12px var(--body);cursor:pointer}

/* TEAM */
.socials{display:flex;flex-wrap:wrap;gap:.6rem}
.soc{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--jade)}
.soc svg{width:22px;height:22px}
a.soc:hover{background:var(--jade);color:#fff;border-color:var(--jade)}
.soc.off{color:var(--faint);cursor:default}
.team{grid-template-columns:repeat(3,1fr)}
@media (max-width:800px){.team{grid-template-columns:1fr}}
.member{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem;display:grid;gap:.3rem}
.avatar{width:36px;height:36px;border-radius:var(--r);background:var(--mist);color:var(--jade);display:grid;place-items:center;font:700 13px var(--display);margin-bottom:.4rem}
.member h3{font-size:13px}
.member small{color:var(--jade);font-size:11px;font-weight:700}
.member p{color:var(--muted);font-size:12px}

/* SECTION CTA */
.sec-cta{margin-top:2rem;display:flex;justify-content:center}

/* CONTACT */
.modes{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.mode{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);background:var(--paper);border-radius:var(--r);padding:.55rem .9rem;font:700 13px var(--body);color:var(--muted);cursor:pointer}
.mode[aria-pressed="true"]{border-color:var(--jade);color:var(--jade);background:var(--mist)}
.mode i{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);display:inline-block}
.mode[aria-pressed="true"] i{border-color:var(--jade);background:radial-gradient(circle,var(--jade) 0 40%,transparent 42%)}
.pane[hidden]{display:none}
.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(.8rem,2vw,1.1rem);display:grid;gap:.6rem}
.step-item{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper)}
.step-item.done{border-color:var(--jade)}
.step-head{display:flex;align-items:center;gap:.7rem;width:100%;border:0;background:transparent;padding:.8rem .9rem;cursor:pointer;text-align:left;color:var(--ink);font:700 14px var(--body)}
.step-head .n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted);font:700 12px var(--body)}
.step-item.done .step-head .n{background:var(--jade);color:#fff}
.step-head .val{margin-left:auto;color:var(--jade);font-weight:700;font-size:12px;text-align:right}
.step-head .chev{flex:none;color:var(--muted);transition:transform .2s ease}
.step-head[aria-expanded="true"] .chev{transform:rotate(180deg)}
.step-body{padding:0 .9rem .9rem;display:grid;gap:.9rem}
.step-body[hidden]{display:none}
.req{color:var(--marigold)}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.cal-head b{font-size:14px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-grid .dow{text-align:center;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:.2rem 0}
.cal-grid button{border:1px solid transparent;background:var(--paper);color:var(--ink);border-radius:var(--r);padding:.5rem 0;font:400 13px var(--body);cursor:pointer}
.cal-grid button:hover:not(:disabled){border-color:var(--jade)}
.cal-grid button:disabled{color:var(--faint);background:transparent;cursor:default}
.cal-grid button[aria-pressed="true"]{background:var(--jade);color:#fff;border-color:var(--jade)}
.cal-grid .blank{visibility:hidden}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
.slots button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--r);padding:.45rem 0;font:400 12px var(--body);cursor:pointer}
.slots button[aria-pressed="true"]{background:var(--jade);color:#fff;border-color:var(--jade)}
.cal .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:640px){.cal .row{grid-template-columns:1fr}}
.cal .full{grid-column:1/-1}
.picked{font-size:12px;color:var(--jade);font-weight:700;min-height:1.2em}
.wa-numbers{display:grid;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1rem,2.5vw,1.5rem)}
.wa-num{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:var(--r);padding:.7rem .9rem;flex-wrap:wrap}
.wa-num b{font-size:14px}
.wa-num span{display:block;color:var(--muted);font-size:11px}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,3vw,2.5rem)}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
.clinks{display:grid;gap:.5rem;align-content:start}
form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,3vw,1.8rem)}
@media (max-width:640px){form{grid-template-columns:1fr}}
form h3{grid-column:1/-1;font-size:15px}
label{display:grid;gap:.3rem;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
input,select,textarea{font:400 14px var(--body);padding:.6rem .7rem;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--jade);outline-offset:0}
textarea{min-height:110px;resize:vertical}
.full{grid-column:1/-1}
.err{color:var(--destructive);font-size:12px;min-height:1.1em}
.form-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.wa{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.wa:hover{background:var(--soft);opacity:1}

/* FOOTER */
footer{background:var(--surface);border-top:1px solid var(--line);padding:2rem 0}
footer .top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
footer .brand{margin:0}
footer nav{display:flex;flex-wrap:wrap;gap:.9rem}
footer nav a{color:var(--muted);text-decoration:none;font-size:12px}
footer nav a:hover{color:var(--jade)}
footer .legal{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:11px;color:var(--faint);display:grid;gap:.25rem}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
