:root{--bg:#fbf6ec;--surf:#fff;--alt:#f3e9d6;--ink:#2a1a17;--mute:#6f5d55;--mar:#6b1e2b;--gold:#b98a2e;--line:#e4d6bc;--hero:#3b0f18;color-scheme:light;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1a1112;--surf:#241819;--alt:#2b1d1e;--ink:#f3e9dc;--mute:#bba99c;--mar:#e0a35a;--gold:#d9aa4f;--line:#3d2b2c;--hero:#2a0a11;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#1a1112;--surf:#241819;--alt:#2b1d1e;--ink:#f3e9dc;--mute:#bba99c;--mar:#e0a35a;--gold:#d9aa4f;--line:#3d2b2c;--hero:#2a0a11;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.7 Jost,system-ui,sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em}
a{color:inherit;text-decoration:none}
.top{background:var(--hero);color:#f3e3c4;font-size:13px;padding:8px 5%;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surf);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 5%}
.logo{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--mar);letter-spacing:.04em}
.logo small{display:block;font:400 10px Jost;letter-spacing:.3em;color:var(--gold);margin-top:-4px}
nav{display:flex;gap:22px;align-items:center}
nav a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;padding:4px 0;border-bottom:2px solid transparent}
nav a.on,nav a:hover{border-color:var(--gold);color:var(--mar)}
.btn{display:inline-block;background:var(--mar);color:#fff;padding:12px 26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:0;cursor:pointer;font-family:inherit}
html[data-theme="dark"] .btn,.btn.gold{background:var(--gold);color:#241012}
.btn.ghost{background:transparent;border:1px solid currentColor;color:inherit}
#mb{display:none;background:none;border:0;font-size:26px;color:var(--ink);cursor:pointer}
@media(max-width:900px){#mb{display:block}nav{position:absolute;top:100%;left:0;right:0;background:var(--surf);flex-direction:column;padding:18px;display:none;border-bottom:1px solid var(--line)}nav.open{display:flex}}
.hero{background:radial-gradient(circle at 70% 30%,#8a2a3a 0,transparent 55%),linear-gradient(160deg,var(--hero),#5a1623);color:#fff;text-align:center;padding:110px 6% 150px;position:relative}
.hero h1{font-size:clamp(42px,8vw,88px);margin:.1em 0}
.eyebrow{font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold)}
.hero p{max-width:640px;margin:0 auto 28px;color:#f0dfc4}
.om{font-size:44px;color:var(--gold)}
.page-hero{background:linear-gradient(160deg,var(--hero),#5a1623);color:#fff;text-align:center;padding:70px 6%}
.page-hero h1{font-size:clamp(36px,6vw,60px);margin:0}
.book{max-width:960px;margin:-60px auto 0;background:var(--surf);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.15);display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:2}
.book label{padding:18px 22px;border-right:1px solid var(--line);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);display:block}
.book input,.book select{display:block;width:100%;border:0;background:transparent;color:var(--ink);font:500 18px 'Cormorant Garamond',serif;margin-top:4px;padding:0}
.book .btn{border-radius:0}
@media(max-width:700px){.book{grid-template-columns:1fr 1fr;margin:-40px 4% 0}}
section{padding:80px 6%}
.alt{background:var(--alt)}
.wrap{max-width:1100px;margin:0 auto}
.c{text-align:center}
.sub{max-width:640px;margin:0 auto 40px;color:var(--mute)}
h2{font-size:clamp(30px,4.5vw,48px)}
h2+.line,.line{width:60px;height:2px;background:var(--gold);margin:0 auto 28px}
.grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--surf);border:1px solid var(--line);overflow:hidden;transition:transform .3s}
.card:hover{transform:translateY(-4px)}
.ph{height:190px;display:grid;place-items:center;font-size:56px;background:linear-gradient(135deg,var(--c1,#7a2434),var(--c2,#b98a2e));color:#fff}
.card .b{padding:22px}
.price{color:var(--gold);font-weight:500;letter-spacing:.08em}
.split{display:grid;gap:50px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center}
.big{height:380px;font-size:110px;border:8px solid var(--surf);outline:1px solid var(--gold)}
.am{text-align:center;padding:26px 14px;background:var(--surf);border:1px solid var(--line)}
.am span{font-size:34px;display:block;margin-bottom:6px}
ul.tick{list-style:none;padding:0}ul.tick li::before{content:"✦ ";color:var(--gold)}
.stats{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;margin-top:30px}
.stats b{font:600 44px 'Cormorant Garamond',serif;color:var(--mar);display:block}
.cta{background:linear-gradient(160deg,var(--hero),#5a1623);color:#fff;text-align:center}
.ov{overflow-x:auto}
form{display:grid;gap:14px}
input,textarea,select{font:inherit;padding:12px;border:1px solid var(--line);background:var(--surf);color:var(--ink);width:100%}
footer{background:var(--hero);color:#e8d7b8;padding:60px 6% 20px}
footer .grid{max-width:1100px;margin:0 auto}
footer h3{color:var(--gold);font-size:22px}
footer a{display:block;padding:2px 0;opacity:.85}footer a:hover{opacity:1;color:var(--gold)}
.copy{text-align:center;font-size:13px;margin-top:40px;border-top:1px solid #ffffff22;padding-top:18px}
.page{display:none}.page.on{display:block}
#ok{color:var(--mar);font-weight:500}

.ph img{width:100%;height:100%;object-fit:cover;display:block}
.dx{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.dx-main{position:relative;aspect-ratio:3/2;border-radius:18px;overflow:hidden;background:var(--alt);box-shadow:0 12px 36px rgba(0,0,0,.18)}
.dx-main img{width:100%;height:100%;object-fit:cover;display:block}
.ar{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(40,30,30,.72);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.ar.l{left:14px}.ar.r{right:14px}
.dx-th{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.dx-th img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;cursor:pointer;border:3px solid transparent;opacity:.8;display:block}
.dx-th img.on{border-color:#a3152a;opacity:1}
.dx-i{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:34px 30px;box-shadow:0 12px 36px rgba(0,0,0,.08)}
.dx-i h2{font-size:clamp(34px,4vw,50px);color:var(--mar);margin:0}
.dx-i .gl{width:70px;height:3px;background:var(--gold);margin:12px 0 22px;border-radius:2px}
.dx-i .pr{color:var(--mute);margin-bottom:18px}.dx-i .pr b{font:700 clamp(40px,5vw,58px)/1 'Cormorant Garamond',serif;color:var(--mar)}
.dx-i ul{list-style:none;margin:0 0 24px;padding:0}
.dx-i li{display:flex;align-items:center;gap:16px;padding:9px 0;font-size:18px;font-weight:400}
.dx-i li span{width:46px;height:46px;border-radius:50%;background:var(--alt);display:grid;place-items:center;font-size:20px;flex:none}
.dx-i .btn.bk{display:block;text-align:center;background:linear-gradient(#b3182e,#7a0f1f);color:#fff;border-radius:12px;padding:16px;font-size:17px;letter-spacing:.06em}
@media(max-width:860px){.dx{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column}.card .b{flex:1;display:flex;flex-direction:column}.ph{flex:none;overflow:hidden}
.ph svg{width:64px;height:64px}.am svg{width:34px;height:34px;color:var(--mar)}.dx-i li span svg{width:22px;height:22px;color:var(--mar)}
.card .price{margin-bottom:16px}
.vb{margin-top:auto;text-align:center;border:1px solid var(--mar);color:var(--mar);padding:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.card:hover .vb{background:var(--mar);color:#fff}
html[data-theme="dark"] .card:hover .vb{color:#241012}
.dx-main.nop{display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2))}
.dx-main.nop svg{width:90px;height:90px}.back{display:inline-block;margin-bottom:20px;color:var(--mar);letter-spacing:.1em;font-size:13px;text-transform:uppercase}
.dx-i .pr{background:var(--alt);border-radius:14px;padding:16px 22px}
.dx-i li small{display:block;color:var(--mute);font-size:14px;line-height:1.3}
.collage{position:relative;aspect-ratio:1/1.02;max-width:520px;width:100%;margin:0 auto}
.collage img{position:absolute;object-fit:cover;border:6px solid var(--surf);box-shadow:0 14px 34px rgba(0,0,0,.25);display:block}
.collage .a{left:0;top:0;width:68%;height:48%}
.collage .b{right:0;top:12%;width:50%;height:56%;z-index:2}
.collage .c{left:0;bottom:0;width:74%;height:42%;z-index:3}
.front{max-width:440px;width:100%;margin:0 auto;border:8px solid var(--surf);outline:1px solid var(--gold);aspect-ratio:3/4;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.2)}
.front img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.zz{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:34px 0}
.zz.rev .zi{order:2}
.zz .zi img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:1px solid var(--gold)}
.zz h2{font-size:clamp(28px,3.6vw,42px);margin:6px 0 10px}
.zz .gl{width:60px;height:2px;background:var(--gold);margin:0 0 18px}
.zloc{font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
@media(max-width:800px){.zz{grid-template-columns:1fr;gap:20px}.zz.rev .zi{order:0}}
.gl{width:60px;height:2px;background:var(--gold);margin:0 0 18px}
.around{background-size:cover;background-position:center;color:#fff;background-color:#2a0a11}
.around h2{color:#fff}
.pc{background:var(--surf);color:var(--ink);padding:9px 9px 26px;border-radius:6px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:.25s}
.pc img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:3px}
.pc h3{font-size:26px;margin:16px 0 8px;padding:0 10px}
.pc p{font-size:14px;color:var(--mute);padding:0 14px;margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pc .btn{margin-top:auto;padding:11px 24px;font-size:12px}
.pc:hover{background:#6b1e2b;color:#fff;transform:translateY(-4px)}
.pc:hover p{color:#f0dfc4}
.pc:hover .btn{background:#fff;color:#6b1e2b}
.pd-img{max-width:520px;margin:0 auto 24px;aspect-ratio:3/2;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.2)}
.pd-img img{width:100%;height:100%;object-fit:cover;display:block}
.pd-wrap{display:grid;grid-template-columns:300px 1fr;gap:56px;margin:44px 0 20px;align-items:start}
.pd-side h3,.pd-main h3{font-size:30px;margin:0 0 10px}
.pd-main h3{margin-top:30px}
.pd-main p{color:var(--mute);margin:0 0 16px}
.sv{display:flex;gap:14px;margin:0 0 22px}
.sv .th,.sv .tile{width:92px;height:92px;flex:none;object-fit:cover}
.sv .tile{display:grid;place-items:center;background:linear-gradient(135deg,#6b1e2b,#b98a2e);color:#fff}
.sv .tile svg{width:38px;height:38px}
.sv h4{font:600 17px/1.25 Jost,sans-serif;margin:0 0 4px;color:var(--ink)}
.sv p{font-size:14px;color:var(--mute);margin:0 0 8px;line-height:1.5}
.btn.sm{padding:7px 14px;font-size:11px}
.hf{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;margin:6px 0 22px}
.si{display:flex;gap:12px;margin:0 0 18px}
.si svg{width:22px;height:22px;flex:none;color:var(--mar);margin-top:3px}
.si b{font:500 19px 'Cormorant Garamond',serif;display:block}
.si p{font-size:14px;color:var(--mute);margin:0;line-height:1.55}
.rc{display:flex;gap:16px;align-items:center;margin:16px 0}
.rc span{width:46px;height:46px;border-radius:50%;background:#6b1e2b;color:#fff;display:grid;place-items:center;flex:none}
.rc svg{width:22px;height:22px}
.rc b{font:500 21px 'Cormorant Garamond',serif;display:block;line-height:1.2}
.rc small{color:var(--mute);font-size:14px}
@media(max-width:860px){.pd-wrap{grid-template-columns:1fr;gap:30px}.pd-side{order:2}}
.pd-img{margin-bottom:12px!important}
.dots{display:flex;gap:12px;justify-content:center;margin:0 0 24px}
.dots button{width:11px;height:11px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer}
.dots button.on{background:var(--ink)}
.pd-img img{transition:opacity .25s ease}
.hero{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.om svg{width:46px;height:46px}
.card,.am,.pc{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}
.card:hover,.am:hover{transform:translateY(-10px);box-shadow:0 18px 36px rgba(0,0,0,.18);border-color:var(--gold)}
.pc:hover{transform:translateY(-10px);box-shadow:0 18px 36px rgba(0,0,0,.35)}
.am svg{transition:transform .3s ease}
.am:hover svg{transform:scale(1.18)}
.hero2{padding:120px 6% 130px;background:#2a0a11}
.hero2 .eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;letter-spacing:.3em}
.hero2 .eyebrow::before,.hero2 .eyebrow::after{content:"";width:70px;height:1px;background:var(--gold)}
.hero2 h1{font-size:clamp(44px,7vw,78px);text-shadow:0 3px 22px rgba(0,0,0,.55)}
@media(max-width:600px){.hero2 .eyebrow::before,.hero2 .eyebrow::after{width:28px}}
.si a{color:var(--mar);font-weight:400}.si a:hover{text-decoration:underline}
.mapc{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:56px 20px;background:linear-gradient(135deg,var(--surf),var(--alt))}
.mapc::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.55}
.mapc>*{position:relative}
.mapc .mpin svg{width:58px;height:58px;color:var(--mar)}
.mapc h3{font-size:34px;margin:6px 0 8px}
.mapc p{color:var(--mute);max-width:520px;margin:0 auto 26px}
.mapc{text-align:center;padding:44px 22px}
.mapc .btn{margin:4px}
header{display:block;padding:0}
.logo{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 5% 8px}
.logo img{height:52px;width:auto;display:block}
.logo .lt{font-size:34px;line-height:1;text-align:left;letter-spacing:.06em}
.logo .lt small{margin-top:5px}
.flogo{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--gold);letter-spacing:.04em}
header nav{justify-content:center;gap:32px;border-top:1px solid var(--line);padding:11px 5%;position:relative}
header nav .btn{position:absolute;right:5%;top:50%;transform:translateY(-50%);padding:9px 22px}
#mb{position:absolute;right:4%;top:20px}
html[data-theme="dark"] .logo img{filter:brightness(2.6)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:brightness(2.6)}}
@media(max-width:1100px){header nav{gap:20px}header nav a{font-size:12px}}
@media(max-width:900px){
.logo img{height:42px}.logo .lt{font-size:28px}
header nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:14px;padding:18px;display:none;background:var(--surf);border-bottom:1px solid var(--line)}
header nav.open{display:flex}
header nav .btn{position:static;transform:none}
}
.logo .lm{display:flex;flex-direction:column;align-items:center;gap:3px}
.logo .lm img{height:46px}
.logo .sd{background:#1c25ad;color:#fff;font:500 8.5px/1 Jost,sans-serif;letter-spacing:.14em;padding:3px 7px 3px 9px;white-space:nowrap}
.logo .sd i{font-style:normal;font-size:.75em}
html[data-theme="dark"] .logo .sd{filter:brightness(1.7)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .sd{filter:brightness(1.7)}}
@media(max-width:900px){.logo .lm img{height:36px}.logo .sd{font-size:7px}}
.copy a{display:inline;color:var(--gold);padding:0}
.copy a:hover{text-decoration:underline}
.logo{gap:16px;padding:10px 5%}
.logo img#logoImg{height:72px;width:auto;display:block;filter:none!important;border:2px solid #1d25b0;box-sizing:content-box}
.logo .lt{font-size:38px}
@media(max-width:900px){.logo img#logoImg{height:54px}.logo .lt{font-size:28px}}
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:50px;height:50px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.35);z-index:50;transition:transform .25s ease,box-shadow .25s ease}
.wa svg{width:28px;height:28px;display:block}
.wa:hover{transform:scale(1.12);box-shadow:0 6px 20px rgba(0,0,0,.45)}
.wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:wap 2.4s ease-out infinite}
@keyframes wap{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media(max-width:600px){.wa{width:46px;height:46px;right:14px}.wa svg{width:26px;height:26px}}
.mapc{min-height:420px;padding:0;display:flex;align-items:flex-end;justify-content:center}
.mapc .mapf{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapc .mpanel{position:relative;margin:14px;width:calc(100% - 28px);background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:16px 14px 14px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.mapc .mpin svg{width:32px;height:32px}
.mapc h3{font-size:26px;margin:2px 0 4px}
.mapc p{margin:0 0 12px;font-size:14px}
.mapc .btn{padding:10px 18px;font-size:12px}

/* ---- static-page additions ---- */
.hero{background:linear-gradient(rgba(42,10,17,.6),rgba(42,10,17,.74)),url(../img/hero-reception.jpg) 62% center/cover no-repeat}
.around{background-image:linear-gradient(rgba(35,8,14,.8),rgba(35,8,14,.85)),url(../img/swamimalai-murugan-temple.jpg)}
.hero2{background:linear-gradient(rgba(28,10,22,.55),rgba(28,10,22,.3) 55%,rgba(20,8,10,.62)),url(../img/places-hero.jpg) center 44%/cover no-repeat}
.sl-main{transition:opacity .25s ease}
.top a{color:inherit}
.top a:hover{text-decoration:underline}
main{display:block}
