/* Mayuri's Greenwood – styles for the inner pages (uses the tokens defined in style.css) */

/* ---------- Inner page hero ---------- */
/* banner strip, 180px tall: title left, breadcrumb right */
.phero{position:relative;padding:0;height:180px;display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate;border-bottom:2px solid var(--marigold)}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2;transform:scale(1.15);animation:kb 14s var(--ease) forwards}
@keyframes kb{to{transform:scale(1)}}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(42,8,18,.95) 0%,rgba(74,13,31,.82) 45%,rgba(42,8,18,.55) 100%),repeating-linear-gradient(90deg,rgba(240,160,32,.05) 0 1px,transparent 1px 90px)}
.phero .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.phero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;letter-spacing:-.01em;margin:0}
.phero h1 i{color:var(--marigold)}
.crumbs{order:2;flex:none;display:flex;gap:.7rem;align-items:center;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#f0cfc2;padding:.55rem 1.1rem;border:1px solid rgba(240,160,32,.4);border-radius:100px;background:rgba(42,8,18,.35);backdrop-filter:blur(4px)}
.crumbs a:hover{color:var(--marigold)}
.crumbs span{color:var(--marigold)}

/* ---------- Shared blocks ---------- */
.blush{background:var(--blush)}
.dark{background:var(--wine);color:var(--rose);position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(240,160,32,.04) 0 2px,transparent 2px 26px);pointer-events:none}
.dark .wrap{position:relative}
.dark .h2{color:var(--rose)}.dark .h2 i{color:var(--marigold)}
.dark .kicker{color:var(--marigold)}.dark .muted{color:#e8c5b8}
.shead{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3.4rem}
.center{text-align:center}
.center .kicker{justify-content:center}
.center .kicker::after{content:"";width:34px;height:1px;background:currentColor}
.center .muted{margin-inline:auto}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chips span{font-size:.75rem;padding:.4rem .95rem;border:1px solid rgba(163,23,74,.35);border-radius:100px;color:var(--rani);font-weight:600;background:rgba(255,255,255,.4)}
.center .chips{justify-content:center}
.tlink{display:inline-flex;gap:.5rem;align-items:center;font-weight:700;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rani);transition:gap .4s var(--ease),color .3s}
.tlink:hover{gap:.95rem;color:var(--wine)}
.btn.ghost{--bg:transparent;--fg:var(--wine);box-shadow:inset 0 0 0 1px rgba(74,13,31,.3)}

/* split: image + text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.split.rev>:first-child{order:2}
.split .muted{margin-top:1.2rem}
.ph-arch{border-radius:300px 300px 12px 12px;overflow:hidden;aspect-ratio:4/4.6;position:relative}
.ph-arch img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.ph-arch:hover img{transform:scale(1.05)}
.ph-arch .tag{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);background:var(--marigold);color:var(--wine);padding:.9rem 1.5rem;border-radius:100px;text-align:center;white-space:nowrap;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.ph-arch .tag b{font-family:var(--display);font-size:1.6rem;font-weight:500;letter-spacing:0;margin-right:.4rem;vertical-align:-3px}

/* CTA band */
.cta{position:relative;color:#fff;overflow:hidden;isolation:isolate;text-align:center}
.cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(42,8,18,.92),rgba(74,13,31,.72))}
.cta .hi{color:var(--haldi)}
.cta .kicker{color:var(--marigold);justify-content:center}
.cta .kicker::after{content:"";width:34px;height:1px;background:currentColor}
.cta .h2{color:#fff;margin-inline:auto;max-width:18ch}
.cta .h2 i{color:var(--marigold)}
.cta p{color:#f0cfc2;max-width:52ch;margin:1.2rem auto 0}
.cta .acts{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}
.cta .btn:not(.line){--bg:var(--marigold);--fg:var(--wine)}
.cta .btn:not(.line)::after{background:var(--rose)}
.cta .btn:not(.line) .ar{background:var(--wine);color:var(--marigold)}

/* ---------- About ---------- */
.story{list-style:none;margin:2rem 0 2.4rem;border-left:1px solid rgba(163,23,74,.3);display:grid;gap:1.6rem}
.story li{position:relative;padding-left:2rem}
.story li::before{content:"";position:absolute;left:-6px;top:.6rem;width:11px;height:11px;background:var(--marigold);transform:rotate(45deg)}
.story b{font-family:var(--display);font-weight:400;font-size:1.45rem;color:var(--wine);display:block;line-height:1.25}
.story span{color:var(--muted);font-size:.95rem}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.val{background:#fff;border-radius:20px;padding:2.1rem 1.7rem;border:1px solid rgba(74,13,31,.07);transition:transform .5s var(--ease),box-shadow .5s}
.val:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(74,13,31,.1)}
.val .ic{width:60px;height:60px;border-radius:50%;background:var(--blush);display:grid;place-items:center;margin-bottom:1.4rem;transition:background .4s}
.val:hover .ic{background:var(--marigold)}
.val svg{width:28px;height:28px;stroke:var(--rani);fill:none;stroke-width:1.5}
.val:hover svg{stroke:var(--wine)}
.val h3{font-size:1.55rem;color:var(--wine)}
.val p{color:var(--muted);font-size:.93rem;margin-top:.5rem}

/* ---------- Property ---------- */
.spaces{display:grid;gap:clamp(4rem,8vw,7rem)}
.space{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.space:nth-child(even) .sp-img{order:2}
.sp-img{position:relative;border-radius:280px 280px 12px 12px;overflow:hidden;aspect-ratio:16/12}
.sp-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.space:hover .sp-img img{transform:scale(1.05)}
.sp-no{font-family:var(--display);font-size:clamp(3.6rem,6vw,5.4rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--rani);display:block}
.space h3{font-size:clamp(2rem,3.6vw,3rem);color:var(--wine);margin-top:.3rem}
.space p{color:var(--muted);margin-top:1rem;max-width:50ch}
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.room{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s}
.room:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(74,13,31,.12)}
.room .rimg{aspect-ratio:4/3;overflow:hidden}
.room img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.room:hover img{transform:scale(1.07)}
.room .rb{padding:1.7rem;display:flex;flex-direction:column;flex:1}
.room small{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rani);font-weight:700}
.room h3{font-size:1.9rem;color:var(--wine);margin-top:.3rem}
.room p{color:var(--muted);font-size:.93rem;margin:.6rem 0 1.4rem;flex:1}
.map{border-radius:22px;overflow:hidden;aspect-ratio:16/11;background:var(--blush);border:1px solid rgba(74,13,31,.1)}
.map iframe{width:100%;height:100%;border:0;display:block}
.addr{display:grid;gap:1.3rem;margin:2rem 0 2.4rem}
.addr small{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rani);font-weight:700}
.addr b,.addr a{font-family:var(--display);font-weight:400;font-size:1.35rem;color:var(--wine);display:block;line-height:1.35}
.addr a:hover{color:var(--rani)}
.addr b,.addr a,.cinfo a{overflow-wrap:anywhere}
.addr.row b,.addr.row a{font-size:1.15rem}
.addr.row{grid-template-columns:1.3fr .8fr 1.4fr;gap:1.4rem;margin:0 0 2rem;padding:1.6rem 1.8rem;background:#fff;border-radius:20px;border:1px solid rgba(74,13,31,.08)}
.addr.row>div{min-width:0}
.addr.row>div+div{border-left:1px solid rgba(74,13,31,.1);padding-left:1.4rem}
.map.wide{aspect-ratio:auto;height:clamp(320px,45vw,480px);width:100%}
.split>*{min-width:0}

/* ---------- Services ---------- */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.svc{background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .5s var(--ease),box-shadow .5s}
.svc:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(74,13,31,.12)}
.svc .simg{aspect-ratio:16/11;overflow:hidden}
.svc .simg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc:hover .simg img{transform:scale(1.07)}
.svc .n{position:absolute;top:1rem;left:1rem;width:50px;height:50px;border-radius:50%;background:var(--rose);color:var(--rani);font-family:var(--hindi);display:grid;place-items:center;font-size:1.25rem;box-shadow:0 8px 20px rgba(42,8,18,.2)}
.svc .sb{padding:1.7rem 1.8rem 2rem;flex:1;display:flex;flex-direction:column}
.svc h3{font-size:1.9rem;color:var(--wine)}
.svc p{color:var(--muted);font-size:.93rem;margin-top:.4rem}
.svc ul{list-style:none;margin:1.2rem 0 1.6rem;display:grid;gap:.45rem;font-size:.9rem;color:var(--wine);font-weight:500;flex:1;align-content:start}
.svc li{display:flex;gap:.6rem;align-items:center}
.svc li::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:var(--marigold);flex:none}
/* How it works: medallions on a path that fills in on scroll */
.howto{background:var(--blush);position:relative;overflow:hidden}
.howto::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 15%,rgba(240,160,32,.2),transparent 32%),radial-gradient(circle at 92% 88%,rgba(163,23,74,.12),transparent 38%)}
.howto .wrap{position:relative}
.path{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:4rem;position:relative}
.path::before,.path::after{content:"";position:absolute;left:12.5%;right:12.5%;top:55px;height:2px}
.path::before{background:repeating-linear-gradient(90deg,rgba(163,23,74,.35) 0 8px,transparent 8px 16px)}
.path::after{background:linear-gradient(90deg,var(--marigold),var(--rani));transform:scaleX(0);transform-origin:left;transition:transform 2.2s var(--ease) .3s}
.path.in::after{transform:scaleX(1)}
.path li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.medal{position:relative;z-index:1;width:110px;height:110px;flex:none;border-radius:50%;background:var(--rose);display:grid;place-items:center;box-shadow:0 14px 30px rgba(74,13,31,.12);opacity:0;transform:scale(.4);transition:transform .9s var(--ease),opacity .6s,background .4s}
.path.in .medal{opacity:1;transform:none}
.path li:nth-child(2) .medal{transition-delay:.5s,.5s,0s}
.path li:nth-child(3) .medal{transition-delay:.9s,.9s,0s}
.path li:nth-child(4) .medal{transition-delay:1.3s,1.3s,0s}
.medal::before{content:"";position:absolute;inset:-10px;border:1px dashed var(--rani);border-radius:50%;opacity:.5;animation:rot 24s linear infinite}
.medal svg{width:44px;height:44px;stroke:var(--rani);fill:none;stroke-width:1.5;stroke-linejoin:round;transition:stroke .4s}
.medal b{position:absolute;top:-4px;right:-4px;width:38px;height:38px;border-radius:50%;background:var(--marigold);color:var(--wine);font-family:var(--hindi);font-weight:400;display:grid;place-items:center;font-size:1.1rem;box-shadow:0 0 0 4px var(--blush)}
.pcard{margin-top:1.8rem;background:#fff;border-radius:160px 160px 20px 20px;padding:2.8rem 1.6rem 2.2rem;flex:1;width:100%;border:1px solid rgba(74,13,31,.06);position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}
.pcard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--marigold),var(--rani));transform:scaleX(0);transition:transform .6s var(--ease)}
.pcard small{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rani);font-weight:700}
.pcard h3{font-size:1.65rem;color:var(--wine);margin-top:.4rem}
.pcard p{color:var(--muted);font-size:.92rem;margin-top:.6rem}
.path li:hover .pcard{transform:translateY(-8px);box-shadow:0 26px 50px rgba(74,13,31,.12)}
.path li:hover .pcard::after{transform:scaleX(1)}
.path li:hover .medal{background:var(--wine)}
.path li:hover .medal svg{stroke:var(--marigold)}

/* ---------- Catering menu tabs ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.4rem}
.center .tabs{justify-content:center}
.tabs button{border:1px solid rgba(74,13,31,.25);background:none;padding:.75rem 1.35rem;border-radius:100px;cursor:pointer;font-weight:600;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--wine);transition:.3s}
.tabs button:hover{border-color:var(--rani);color:var(--rani)}
.tabs button.on{background:var(--wine);border-color:var(--wine);color:var(--marigold)}
.tpanel{display:none;margin-top:2.4rem}
.tpanel.on{display:grid;grid-template-columns:1fr 1fr;gap:0 3.5rem;animation:fadeUp .6s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}}
.dish{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px dashed rgba(74,13,31,.22)}
.dish b{font-family:var(--display);font-weight:400;font-size:1.35rem;color:var(--wine);display:block;line-height:1.25}
.dish span{display:block;color:var(--muted);font-size:.86rem}
.dish em{font-style:normal;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rani);font-weight:700;margin-left:auto;white-space:nowrap;padding:.3rem .7rem;border:1px solid rgba(163,23,74,.3);border-radius:100px}
.menu-note{margin-top:2rem;font-size:.88rem;color:var(--muted);text-align:center}

/* ---------- Gallery page ---------- */
.ggrid{columns:4 240px;column-gap:1rem;margin-top:2.6rem}
.gitem{break-inside:avoid;margin:0 0 1rem;border-radius:12px;overflow:hidden;cursor:zoom-in;position:relative;display:block;width:100%;border:0;padding:0;background:var(--blush)}
.gitem img{width:100%;height:auto;transition:transform 1s var(--ease),filter .5s;filter:saturate(.92)}
.gitem:hover img{transform:scale(1.06);filter:saturate(1.15)}
.gitem::after{content:attr(data-cat);position:absolute;left:.8rem;bottom:.8rem;background:rgba(42,8,18,.75);color:var(--haldi);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:.35rem .75rem;border-radius:100px;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.gitem:hover::after{opacity:1;transform:none}
.gitem.hide{display:none}
.gal-empty{margin-top:2.5rem;color:var(--muted)}

/* ---------- Admin login (Login.aspx) ---------- */
.auth{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,5.5rem);
  background:radial-gradient(circle at 12% 18%,rgba(240,160,32,.22),transparent 34%),radial-gradient(circle at 88% 85%,rgba(163,23,74,.16),transparent 38%),var(--blush)}
/* slowly turning dashed rings, like the seal on the home page */
.auth-ring{position:absolute;border-radius:50%;border:1px dashed rgba(163,23,74,.3);pointer-events:none;animation:rot 60s linear infinite}
.auth-ring::after{content:"";position:absolute;inset:28px;border-radius:50%;border:1px solid rgba(240,160,32,.35)}
.auth-ring.r1{width:520px;height:520px;left:-200px;top:-180px}
.auth-ring.r2{width:420px;height:420px;right:-160px;bottom:-170px;animation-direction:reverse}
.auth .wrap{position:relative}
.auth-card{display:grid;grid-template-columns:1.05fr 1fr;max-width:1000px;margin:0 auto;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 40px 90px rgba(74,13,31,.16)}
/* ASP.NET puts its hidden fields in a div at the top of the form; keep it out of the grid */
.auth-card>.aspNetHidden{display:none}

/* left art panel */
.auth-art{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.auth-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.08);animation:kb 16s var(--ease) forwards}
.auth-art::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(42,8,18,.94) 8%,rgba(74,13,31,.55) 55%,rgba(42,8,18,.35))}
/* jharokha arch frame */
.auth-art::after{content:"";position:absolute;inset:1.4rem;border:1px solid rgba(240,160,32,.65);border-radius:260px 260px 18px 18px;pointer-events:none}
.auth-art-in{padding:2.8rem 2.6rem 3rem;position:relative}
.auth-crest{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(240,160,32,.14);border:1px solid rgba(240,160,32,.55);margin-bottom:1.2rem}
.auth-crest svg{width:40px;height:40px;animation:rot 30s linear infinite}
.auth-art .hi{color:var(--haldi);font-size:1.3rem}
.auth-art h2{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:#fff}
.auth-art h2 i{color:var(--marigold)}
.auth-art p{margin-top:.9rem;color:#f0cfc2;max-width:30ch}

/* right form panel */
.auth-form{padding:clamp(2rem,4.5vw,3.4rem);display:grid;gap:1.05rem;align-content:center}
.auth-form .h2{font-size:clamp(2.2rem,4vw,3rem);margin-top:0}
.auth-sub{color:var(--muted);font-size:.93rem;margin-top:-.5rem;margin-bottom:.3rem}
.auth-msg{background:#e9f6ee;color:#2e7d4f;border-radius:12px;padding:.75rem 1rem;font-size:.88rem;font-weight:600}
.auth-msg.err{background:#fbe9e7;color:#b42318;animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* input with icon and floating label */
.fld{position:relative}
.fld>svg{position:absolute;left:1.05rem;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s;pointer-events:none}
.fld input{width:100%;height:60px;padding:1.35rem 3.4rem .45rem 3.1rem;border-radius:14px;border:1px solid rgba(74,13,31,.16);background:var(--rose);font:500 1rem var(--body);color:var(--ink);outline:none;transition:border-color .3s,background .3s,box-shadow .3s}
.fld input::-ms-reveal{display:none}
.fld label{position:absolute;left:3.1rem;top:50%;transform:translateY(-50%);font-size:.95rem;color:var(--muted);pointer-events:none;transition:top .25s var(--ease),font-size .25s,color .25s,letter-spacing .25s}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label{top:1rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--rani)}
.fld input:focus{border-color:var(--rani);background:#fff;box-shadow:0 0 0 4px rgba(163,23,74,.09)}
.fld:focus-within>svg{stroke:var(--rani)}
.eye{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:10px;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--muted);transition:background .2s,color .2s}
.eye:hover{background:var(--blush);color:var(--wine)}
.eye svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.eye .off,.eye[aria-pressed="true"] .on{display:none}
.eye[aria-pressed="true"] .off{display:block}
.eye[aria-pressed="true"]{color:var(--rani)}
.caps{font-size:.78rem;font-weight:600;color:#8a5a00;background:#fdf0d5;border-radius:8px;padding:.35rem .7rem;margin-top:-.5rem;justify-self:start}
.auth-btn{width:100%;justify-content:center;height:56px;margin-top:.3rem;--bg:var(--wine)}
.auth-back{justify-self:center;font-size:.82rem;font-weight:600;color:var(--rani)}
.auth-back:hover{color:var(--wine)}

@media (max-width:860px){
  .auth-card{grid-template-columns:1fr;max-width:520px}
  .auth-art{min-height:250px}
  .auth-art::after{border-radius:200px 200px 14px 14px;inset:1rem}
  .auth-art-in{padding:2.2rem 2rem 2.2rem}
  .auth-art p{display:none}
  .auth-ring{display:none}
}
#lb .lbn{top:50%;transform:translateY(-50%);right:auto;left:20px}
#lb .lbn.nx{left:auto;right:20px}
#lb .lbn:hover,#lb #lbClose:hover{background:var(--marigold);color:var(--wine)}
#lbCap{position:absolute;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom,0px));text-align:center;color:#f0cfc2;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase}

/* ---------- Contact ---------- */
/* Contact enquiry: light version */
.enq.plain{background:var(--blush);color:var(--ink)}
.enq.plain::before{background:radial-gradient(circle at 6% 20%,rgba(240,160,32,.2),transparent 32%),radial-gradient(circle at 95% 90%,rgba(163,23,74,.12),transparent 38%)}
.enq.plain .hi{color:var(--rani)}
.enq.plain .kicker{color:var(--rani)}
.enq.plain .h2{color:var(--wine)}
.enq.plain .h2 i{color:var(--rani)}
.enq.plain .lead{margin-top:1.2rem;color:var(--muted);max-width:44ch}
.enq.plain .lead a{color:var(--rani);text-decoration:underline;font-weight:600}
.enq.plain .cinfo div small{color:var(--rani)}
.enq.plain .cinfo div a,.enq.plain .cinfo div p{color:var(--wine)}
.enq.plain .cinfo a:hover{color:var(--rani)}
.enq.plain form.glass{background:#fff;border:1px solid rgba(74,13,31,.08);box-shadow:0 30px 70px rgba(74,13,31,.1);backdrop-filter:none;-webkit-backdrop-filter:none}
.enq.plain form.glass h3{color:var(--wine)}
.enq.plain .glass label{color:var(--muted)}
.enq.plain .glass input,.enq.plain .glass select,.enq.plain .glass textarea{background:var(--rose);border-color:rgba(74,13,31,.15);color:var(--ink)}
.enq.plain .glass input:focus,.enq.plain .glass select:focus,.enq.plain .glass textarea:focus{border-color:var(--rani);background:#fff;box-shadow:0 0 0 4px rgba(163,23,74,.08)}
.enq.plain .glass input::placeholder,.enq.plain .glass textarea::placeholder{color:#a8888e}
.enq.plain .glass input[type=date]{color-scheme:light}
.enq.plain .note{color:var(--rani)}
.enq.plain .glass .btn{grid-column:1/-1;white-space:nowrap}
/* Contact page "Send Message": same wine colour as the other buttons.
   It is an <input>, which has no ::after fill, so the hover colour is set directly. */
.enq.plain .glass .btn{--bg:var(--wine);--fg:var(--rose);justify-self:start}
.enq.plain .glass .btn::after{background:var(--marigold)}
/* the form's text-box styles (".glass input") must not apply to the submit button */
.enq.plain .glass input.btn,.glass input.btn{width:auto;background:var(--bg);color:var(--fg);border:0;border-radius:100px;padding:1rem 1.9rem;
  font:600 .82rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;box-shadow:none;cursor:pointer;
  transition:background .35s var(--ease),color .35s var(--ease)}
.enq.plain .glass input.btn:hover,.enq.plain .glass input.btn:focus,.glass input.btn:hover{background:var(--marigold);color:var(--wine);box-shadow:none}
.overlap{padding-top:clamp(3rem,6vw,4.5rem)}
.ccards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative;z-index:3}
.ccard{background:#fff;border-radius:20px;padding:1.8rem;display:flex;flex-direction:column;gap:.3rem;border:1px solid rgba(74,13,31,.08);box-shadow:0 24px 50px rgba(74,13,31,.1);transition:transform .5s var(--ease),border-color .4s;min-width:0}
.ccard:hover{transform:translateY(-6px);border-color:var(--marigold)}
.ccard i{width:52px;height:52px;border-radius:14px;background:var(--marigold);display:grid;place-items:center;margin-bottom:1rem}
.ccard i svg{width:22px;height:22px;fill:var(--wine)}
.ccard small{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rani);font-weight:700}
.ccard b{font-family:var(--display);font-weight:400;font-size:1.25rem;color:var(--wine);overflow-wrap:anywhere;line-height:1.3}
.faq{max-width:920px;margin:3rem auto 0;border-top:1px solid rgba(74,13,31,.15);text-align:left}
.faq details{border-bottom:1px solid rgba(74,13,31,.15)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.4rem 0;font-family:var(--display);font-size:clamp(1.2rem,2vw,1.5rem);color:var(--wine)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";width:40px;height:40px;border-radius:50%;border:1px solid rgba(74,13,31,.3);display:grid;place-items:center;flex:none;font-family:var(--body);font-size:1.1rem;transition:.4s var(--ease)}
.faq details[open] summary::after{content:"–";background:var(--marigold);border-color:var(--marigold);transform:rotate(180deg)}
.faq summary:hover{color:var(--rani)}
.faq p{color:var(--muted);padding:0 0 1.5rem;max-width:72ch}

/* ---------- Booking ---------- */
.bk{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.stepper{display:flex;gap:.6rem;margin-bottom:2rem;list-style:none}
.stepper li{flex:1;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted);transition:color .4s}
.stepper li i{display:block;height:3px;border-radius:3px;background:rgba(74,13,31,.12);margin-bottom:.7rem;overflow:hidden;position:relative}
.stepper li i::after{content:"";position:absolute;inset:0;background:var(--rani);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.stepper li.on{color:var(--rani)}
.stepper li.on i::after,.stepper li.done i::after{transform:scaleX(1)}
.stepper li.done{color:var(--wine)}
.lform{background:#fff;border-radius:26px;padding:clamp(1.6rem,3.5vw,2.8rem);box-shadow:0 30px 70px rgba(74,13,31,.08)}
.lform fieldset{border:0;display:none;grid-template-columns:1fr 1fr;gap:1.2rem;min-width:0}
.lform fieldset.on{display:grid;animation:fadeUp .6s var(--ease)}
.lform h3{font-size:2.1rem;color:var(--wine)}
.lform h3 small{display:block;font-family:var(--body);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rani);font-weight:700;margin-bottom:.4rem}
.lform .full{grid-column:1/-1}
.lform label,.lform .lab{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.45rem}
.lform input:not([type=checkbox]):not([type=radio]),.lform select,.lform textarea{width:100%;background:var(--rose);border:1px solid rgba(74,13,31,.15);border-radius:12px;padding:.9rem 1rem;font:400 .98rem var(--body);color:var(--ink);outline:none;transition:border-color .3s,background .3s,box-shadow .3s}
.lform input:focus,.lform select:focus,.lform textarea:focus{border-color:var(--rani);background:#fff;box-shadow:0 0 0 4px rgba(163,23,74,.08)}
.opts{display:flex;flex-wrap:wrap;gap:.55rem}
.opt{position:relative;margin:0!important;letter-spacing:0!important;text-transform:none!important}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.15rem;border-radius:100px;border:1px solid rgba(74,13,31,.2);cursor:pointer;font-size:.88rem;font-weight:600;color:var(--wine);transition:.3s;background:var(--rose)}
.opt span::before{content:"";width:8px;height:8px;border:1px solid currentColor;transform:rotate(45deg);transition:.3s}
.opt:hover span{border-color:var(--rani)}
.opt input:checked+span{background:var(--wine);color:var(--marigold);border-color:var(--wine)}
.opt input:checked+span::before{background:var(--marigold)}
.opt input:focus-visible+span{outline:2px solid var(--marigold);outline-offset:2px}
.qty{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.consent{display:flex!important;gap:.7rem;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.9rem!important;font-weight:500!important;color:var(--ink)!important;cursor:pointer}
.consent input{width:18px;height:18px;margin-top:.2rem;accent-color:var(--rani);flex:none}
.fnav{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;flex-wrap:wrap}
.fnav .btn:only-child{margin-left:auto}
.lform .note{color:var(--rani);margin-top:1rem}
.bside{position:sticky;top:100px;display:grid;gap:1.2rem}
.sumcard{background:var(--wine);color:var(--rose);border-radius:26px;padding:2rem;position:relative;overflow:hidden}
.sumcard::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(240,160,32,.05) 0 2px,transparent 2px 26px);pointer-events:none}
.sumcard>*{position:relative}
.sumcard .kicker{color:var(--marigold)}
.sumcard h3{font-size:1.9rem;margin:.6rem 0 1.2rem}
.sumcard dl div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed rgba(240,160,32,.25);font-size:.9rem}
.sumcard dt{color:#e8c5b8;flex:none}
.sumcard dd{font-weight:600;text-align:right;color:#fff;overflow-wrap:anywhere}
.helpcard{background:var(--blush);border-radius:26px;padding:1.9rem}
.helpcard h3{font-size:1.5rem;color:var(--wine);margin-bottom:1rem}
.helpcard ol{list-style:none;counter-reset:h;display:grid;gap:.9rem}
.helpcard li{counter-increment:h;display:flex;gap:.9rem;font-size:.92rem;color:var(--ink)}
.helpcard li::before{content:counter(h);width:28px;height:28px;border-radius:50%;background:var(--marigold);color:var(--wine);font-weight:700;font-size:.8rem;display:grid;place-items:center;flex:none}
.helpcard .call{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(74,13,31,.12);font-family:var(--display);font-size:1.4rem;color:var(--wine)}
.helpcard .call:hover{color:var(--rani)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .vals,.ccards{grid-template-columns:1fr 1fr}
  .svcs,.rooms,.path{grid-template-columns:1fr 1fr}
  .path{row-gap:3rem}
  .path::before,.path::after{display:none}
}
@media (max-width:860px){
  .split,.space,.shead,.bk{grid-template-columns:1fr}
  .shead>[style*="justify-self:end"]{justify-self:start!important}
  .split.rev>:first-child,.space:nth-child(even) .sp-img{order:0}
  .bside{position:static}
  .tpanel.on{grid-template-columns:1fr}
}
@media (max-width:600px){
  .main .wrap{gap:.8rem}
  .crest{min-width:0;gap:.6rem}
  .crest .mk,.main.scrolled .crest .mk{width:44px;height:44px}
  .crest svg,.main.scrolled .crest svg{width:30px;height:30px}
  .crest b{font-size:1.12rem}
  .crest small{letter-spacing:.28em}
  .enq .wrap>*{min-width:0}
  .vals,.ccards,.svcs,.rooms,.lform fieldset.on,.qty{grid-template-columns:1fr}
  .path{grid-template-columns:1fr;row-gap:1.6rem}
  .path::before,.path::after{display:block;left:39px;right:auto;top:40px;bottom:40px;width:2px;height:auto}
  .path::before{background:repeating-linear-gradient(180deg,rgba(163,23,74,.35) 0 8px,transparent 8px 16px)}
  .path::after{transform:scaleY(0);transform-origin:top}
  .path.in::after{transform:scaleY(1)}
  .path li{flex-direction:row;align-items:flex-start;text-align:left;gap:1.2rem}
  .medal{width:80px;height:80px}
  .medal::before{inset:-7px}
  .medal svg{width:34px;height:34px}
  .medal b{width:30px;height:30px;font-size:.9rem}
  .pcard{margin-top:0;border-radius:20px;padding:1.4rem 1.4rem 1.6rem}
  .phero{height:auto;min-height:180px;padding-block:1.6rem}
  .phero .wrap{flex-direction:column;align-items:flex-start;gap:.8rem}
  .crumbs{order:0;padding:.35rem .8rem;font-size:.6rem;letter-spacing:.16em}
  .phero h1{font-size:2rem}
  .addr.row{grid-template-columns:1fr;padding:1.4rem}
  .addr.row>div+div{border-left:0;padding-left:0;border-top:1px solid rgba(74,13,31,.1);padding-top:1rem}
  .stepper li{font-size:.58rem;letter-spacing:.1em}
  .ggrid{columns:2 140px;column-gap:.6rem}
  .gitem{margin-bottom:.6rem}
  #lb .lbn{top:auto;bottom:60px;transform:none}
}

/* Not found / error pages */
.errpg{min-height:calc(100vh - 220px);display:flex;align-items:center;text-align:center;padding:5rem 0;
  background:radial-gradient(circle at 50% 0,rgba(240,160,32,.14),transparent 55%)}
.errpg .wrap{display:flex;flex-direction:column;align-items:center}
.errpg .kicker{justify-content:center}
.errpg .h2{margin-top:.6rem}
.errpg .muted{max-width:52ch;margin-top:1rem}
.err-num{display:flex;align-items:center;gap:.2em;font-family:var(--display);font-size:clamp(6rem,22vw,11rem);line-height:1;color:var(--wine);margin-bottom:1rem}
.err-num i{font-style:normal;font-size:.55em;color:var(--marigold);animation:errspin 12s linear infinite}
@keyframes errspin{to{transform:rotate(360deg)}}
.err-icon{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:var(--marigold);margin-bottom:1.6rem;box-shadow:0 18px 40px rgba(74,13,31,.18)}
.err-icon svg{width:54px;height:54px;animation:errspin 14s linear infinite}
.err-acts{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.btn.line-dark{--bg:transparent;--fg:var(--wine);box-shadow:inset 0 0 0 1px rgba(74,13,31,.35)}
.err-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.4rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid rgba(74,13,31,.12)}
.err-links a{font-weight:600;color:var(--rani);font-size:.92rem}
.err-links a:hover{text-decoration:underline}
.err-ref{margin-top:1.8rem;font-size:.82rem;color:var(--muted)}
.err-ref b{font-family:monospace;color:var(--wine);letter-spacing:.05em}
@media (prefers-reduced-motion:reduce){.err-num i,.err-icon svg{animation:none}}

/* Property page: feature lists fit any screen (columns appear as space allows) */
.ticks.sp-feats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.45rem 1rem;font-size:.9rem;margin:1rem 0 0}
.ticks.sp-feats li{font-size:.9rem;align-items:flex-start;line-height:1.35}
.ticks.sp-feats li::before{margin-top:.35em}
.room-features{list-style:none;padding:0;margin:.7rem 0;font-size:.875rem;opacity:.9;display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem}
@media (max-width:560px){
  .ticks.sp-feats{grid-template-columns:1fr 1fr}
  .space{gap:1.4rem}
  .sp-img{border-radius:180px 180px 12px 12px}
  .sp-no{font-size:3rem}
  .space h3{font-size:1.9rem}
  .room .rb{padding:1.3rem}
}

/* About page: full, uncropped image beside content */
.fullpic{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(74,13,31,.14)}
.fullpic img{display:block;width:100%;height:auto;transform:scale(1.18);transition:transform 1.6s var(--ease)}
.fullpic.in img{transform:scale(1)}                 /* zoom-out jab section screen pe aaye */
.fullpic:hover img{transform:scale(1.07)}
/* hover par white square lines */
.fullpic::before,.fullpic::after{content:"";position:absolute;z-index:2;pointer-events:none;border:1.5px solid #fff;opacity:0;transition:opacity .5s ease,transform .7s var(--ease)}
.fullpic::before{inset:18px;transform:scale(1.12)}
.fullpic::after{inset:30px;border-color:rgba(255,255,255,.6);transform:scale(.88)}
.fullpic:hover::before,.fullpic:hover::after{opacity:1;transform:scale(1)}
.fullpic.in:hover img{transform:scale(1.07);transition-duration:.8s}   /* quicker zoom on hover than on entry */

/* Hover frame v2: image darkens a little, then a white square draws itself in
   (top+bottom lines grow sideways, left+right lines grow up/down) */
.fullpic{cursor:pointer}
.fullpic img{transition:transform 1.6s var(--ease),filter .6s ease}
.fullpic:hover img{filter:brightness(.78) saturate(1.05)}
.fullpic::before,.fullpic::after{inset:22px;opacity:1;border:0;transform:none;transition:transform .7s var(--ease)}
.fullpic::before{border-top:2px solid #fff;border-bottom:2px solid #fff;transform:scaleX(0)}
.fullpic::after{border-left:2px solid #fff;border-right:2px solid #fff;transform:scaleY(0);transition-delay:.12s}
.fullpic:hover::before{transform:scaleX(1)}
.fullpic:hover::after{transform:scaleY(1)}
.fullpic:hover::before,.fullpic:hover::after{opacity:1}
.archs .arch:hover img{transform:scale(1.07);transition-duration:.8s}      /* Our Story arches zoom the same way */
@media (prefers-reduced-motion:reduce){.fullpic img,.fullpic::before,.fullpic::after{transition:none}}

/* About page: left block slides in from the left, right block from the right */
.intro{overflow-x:clip}
.rv.from-l{transform:translateX(-90px)}
.rv.from-r{transform:translateX(90px)}
.rv.from-l.in,.rv.from-r.in{transform:none}
@media (prefers-reduced-motion:reduce){.rv.from-l,.rv.from-r{transform:none}}
