/* Krishvi Statura — page-specific styles.
   Layout: one continuous rise through the day, from the dawn tower at the hero to the night tower at the close.
   Long held scenes with little text, alternating forest and pearl, on the Krishvi Group header, footer and type. */
#p-statura{display:block;position:relative;overflow-x:clip}
.st-rest{position:relative;z-index:1}
.pg-l{background:var(--pearl);color:var(--ink)}
.pg-l .lab.dim{color:var(--mute-ink)}
.prog{position:fixed;left:0;right:0;top:0;height:1px;z-index:91;background:var(--sand);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
figure{margin:0}
.imgw img{width:100%;height:100%;object-fit:cover}
.stat__rule{position:relative;display:block;height:1px;background:rgba(247,239,231,.32);margin:14px 0 10px}
.stat__rule::before,.stat__rule::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:rgba(247,239,231,.32)}
.stat__rule::before{left:0}
.stat__rule::after{right:0}

/* image note placement: full-bleed scenes keep it clear of the WhatsApp button */
.sh>.imgnote,.gl>.imgnote,.pt>.imgnote,.en__bg>.imgnote,.cl__bg>.imgnote{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* hero */
.sh-wrap{position:relative;z-index:0;height:200svh;margin-bottom:-100svh}
.sh{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:var(--deep);color:var(--pearl)}
.sh__media{position:absolute;inset:0;overflow:hidden}
.sh__media img{position:absolute;left:-.5%;top:0;width:106%;max-width:none;height:100%;min-height:calc(106vw*.7967);object-fit:cover;object-position:47.6% 0;transform-origin:50% 24%}
.sh__mist{position:absolute;left:-24%;right:-24%;bottom:-8%;height:44%;pointer-events:none}
.sh__mist i{position:absolute;inset:0;background:radial-gradient(38% 44% at 24% 74%,rgba(244,226,214,.5),transparent 72%),radial-gradient(32% 38% at 70% 80%,rgba(238,222,218,.46),transparent 72%);filter:blur(26px);animation:drift 28s ease-in-out infinite alternate}
.sh__mist i+i{animation-duration:41s;animation-direction:alternate-reverse;opacity:.75;transform:translateX(6%)}
@keyframes drift{0%{transform:translateX(-5%)}100%{transform:translateX(7%)}}
.sh__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,19,13,.42) 0%,rgba(8,19,13,.12) 26%,rgba(8,19,13,.3) 50%,rgba(8,19,13,.44) 72%,rgba(8,19,13,.84) 100%)}
.sh__dim{position:absolute;inset:0;background:var(--deep);opacity:0}
.sh__word{position:absolute;left:0;right:0;top:61%;transform:translateY(-50%);text-align:center;font:400 var(--hw,min(19.1vw,36svh))/1 var(--display);letter-spacing:.012em;text-transform:uppercase;white-space:nowrap}
.sh__w{display:inline-flex;overflow:hidden;padding-block:.04em .06em}
.sh__w b{display:block;font-weight:400}
.sh__foot{position:absolute;left:0;right:0;bottom:0;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--gx)}
.sh__line{font-size:clamp(22px,2.3vw,34px);line-height:1.14;margin-top:14px}
.sh__st{display:flex;align-items:center;gap:12px;padding-right:170px;padding-bottom:6px}
.sh__st i{width:4px;height:4px;border-radius:50%;background:var(--sand);display:block}

/* introduction */
.in{position:relative;padding-top:clamp(96px,12vw,180px);padding-bottom:clamp(80px,10vw,150px);overflow:clip}
.in__head{display:grid;gap:20px;justify-items:center;text-align:center}
.in__head h2{font-size:clamp(40px,6.1vw,96px);line-height:1.05;max-width:16ch}
.in__comp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.42fr) minmax(0,1fr);gap:clamp(10px,1.6vw,24px);align-items:start;margin-top:clamp(44px,6vw,88px)}
.in__a,.in__c{aspect-ratio:4/3;overflow:hidden;margin-top:clamp(96px,17vw,260px)}
.in__b{aspect-ratio:1/1.16;overflow:hidden}
.in__say{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-top:clamp(72px,10vw,160px)}
.in__big{font-size:clamp(34px,5.2vw,82px);line-height:1.07}
.in__body{display:grid;gap:1em;max-width:46ch;font-size:15px;line-height:1.6;color:var(--ink)}

/* at a glance */
.gl{position:relative;min-height:100svh;overflow:hidden;background:var(--deep);color:var(--pearl);display:grid;grid-template-rows:1fr auto;padding-top:calc(96px + env(safe-area-inset-top,0px));padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}
.gl__media{position:absolute;inset:0}
.gl__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.gl__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,13,.42) 0%,rgba(8,19,13,.1) 56%,rgba(8,19,13,0) 100%),linear-gradient(180deg,rgba(8,19,13,.12) 0%,rgba(8,19,13,0) 34%,rgba(8,19,13,.76) 100%)}
.gl__dim{position:absolute;inset:0;background:var(--deep);opacity:.0}
.gl__say{position:relative;align-self:center;font-size:clamp(44px,7.6vw,122px);line-height:1.02;max-width:9.5em}
.gl__say span{display:inline-block}
.gl__b{position:relative;display:grid;gap:22px}
.gl__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gx);margin:0}
.gl__stat b{display:block;font:400 clamp(44px,6vw,92px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.gl__stat small{display:block;color:var(--pearl);opacity:.82}
.gl__more{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-right:170px;color:var(--pearl)}
.gl__more i{width:4px;height:4px;border-radius:50%;background:var(--sand);display:block}

/* homes */
.hm{background:var(--ground);color:var(--pearl);padding-top:clamp(84px,10vw,150px);padding-bottom:clamp(60px,8vw,120px)}
.hm-on{padding-bottom:0}
.hm__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gx);align-items:end;padding-bottom:clamp(40px,5vw,72px)}
.hm__head h2{font-size:clamp(34px,4.6vw,70px);line-height:1.06}
.hm__head .lab{align-self:start;padding-top:10px}
.hm__stage{display:grid;gap:clamp(48px,7vw,96px)}
.hm__fig{aspect-ratio:16/9;overflow:hidden}
.hm__t{display:grid;gap:8px;padding-top:18px}
.hm__wm{display:block;overflow:hidden;padding-bottom:.08em}
.hm__w{display:block;font:400 clamp(58px,12vw,190px)/1 var(--display);letter-spacing:-.03em}
.hm__t p{max-width:46ch;color:var(--mute);font-size:15px;line-height:1.55}
.hm-on .hm__stage{position:relative;height:100svh;min-height:600px;display:block;overflow:hidden;background:var(--ground)}
.hm-on .hm__item{position:absolute;inset:0;display:block}
.hm-on .hm__fig{position:absolute;left:0;right:0;top:0;height:60%;aspect-ratio:auto}
.hm-on .hm__t{position:absolute;left:0;right:0;bottom:0;height:40%;grid-template-columns:minmax(0,1fr) minmax(0,28ch);grid-template-rows:auto 1fr;align-items:end;gap:0 var(--gx);padding-top:14px;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));background:var(--ground)}
.hm-on .hm__n{grid-column:1/-1;align-self:start}
.hm-on .hm__t p{padding-right:0;padding-bottom:calc(52px + 14px)}
.hm-on .hm__w{font-size:min(14.4vw,25svh)}

/* penthouses */
.pt{position:relative;min-height:100svh;overflow:hidden;background:var(--deep);color:var(--pearl);display:grid;align-items:end;padding-bottom:calc(34px + env(safe-area-inset-bottom,0px))}
.pt__frame{position:absolute;inset:0;overflow:hidden}
.pt__frame img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.pt__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,13,.84) 0%,rgba(8,19,13,.5) 38%,rgba(8,19,13,0) 66%),linear-gradient(0deg,rgba(8,19,13,.64) 0%,rgba(8,19,13,0) 42%)}
.pt__txt{position:relative;display:grid;gap:16px;justify-items:start;max-width:calc(620px + var(--gx))}
.pt__txt h2{font-size:clamp(38px,5.2vw,80px);line-height:1.04}
.pt__say{font-family:var(--display);font-size:clamp(20px,2vw,29px);line-height:1.2;color:#F0B98A}
.pt__facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px}
.pt__facts li{position:relative}
.pt__facts li+li::before{content:"";position:absolute;left:-12px;top:.42em;width:3px;height:3px;border-radius:50%;background:var(--sand)}
.pt__txt .lk{margin-top:12px;color:var(--pearl)}

/* club */
.cl{position:relative}
.cl__open{position:relative;display:grid;background:var(--pearl)}
.cl__bg{position:relative;height:56svh;overflow:hidden}
.cl__bg img{width:100%;height:100%;object-fit:cover}
.cl__card{position:relative;background:var(--pearl);color:var(--ink);text-align:center;display:grid;justify-items:center;align-content:center;gap:clamp(18px,2.4vw,30px);padding-block:clamp(48px,7vw,90px)}
.cl__card h2{font-size:clamp(52px,6.3vw,104px);line-height:1}
.cl__card figure{width:min(62vw,280px);aspect-ratio:4/3;overflow:hidden}
.cl__more{max-width:46ch;font-size:15px;line-height:1.55}
.cl-on .cl__open{display:block;height:100svh;min-height:600px;overflow:hidden;background:var(--deep)}
.cl-on .cl__bg{position:absolute;inset:0;height:auto}
.cl-on .cl__card{position:absolute;inset:0;padding-block:0;padding-top:12svh}
.cl__track{background:var(--pearl);color:var(--ink);overflow:hidden}
.cl__rail{display:grid;gap:clamp(56px,9vw,100px);padding-block:clamp(40px,6vw,80px) clamp(70px,9vw,120px)}
.pn{display:grid;gap:18px;min-width:0}
.pn__t{display:grid;gap:10px;align-content:end;min-width:0}
.pn__w{font:400 clamp(52px,7.6vw,122px)/.98 var(--display);letter-spacing:-.03em}
.pn__t p{font-size:15px;line-height:1.55;max-width:34ch;color:var(--ink)}
.pn__f{aspect-ratio:16/10;overflow:hidden}
.pn__figs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.pn__figs figure{aspect-ratio:4/3;overflow:hidden}
.pn__plans{display:grid;gap:14px}
.pn__plans figure{background:var(--pearl);aspect-ratio:16/9;overflow:hidden}
.pn__plans img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pn__am{columns:2;column-gap:32px;font-size:14px;line-height:1.35}
.pn__am li{padding:7px 0;border-top:1px solid var(--rule-ink);break-inside:avoid}
.cl-on .cl__track{height:100svh;min-height:600px}
.cl-on .cl__rail{display:flex;gap:0;height:100%;width:max-content;padding-block:0;will-change:transform}
.cl-on .pn{flex:none;height:100%;padding:13svh clamp(28px,3.4vw,52px) 9svh;gap:clamp(16px,2vw,28px);align-content:stretch}
.cl-on .pn--full{grid-template-columns:clamp(240px,22vw,330px) auto}
.cl-on .pn__f{height:100%;width:min(66vw,calc(78svh*1.62));aspect-ratio:auto;align-self:stretch}
.cl-on .pn--pair{grid-template-rows:minmax(0,1fr) auto;width:min(64vw,calc(78svh*1.34))}
.cl-on .pn__figs{min-height:0;height:100%}
.cl-on .pn__figs figure{aspect-ratio:auto;height:100%}
.cl-on .pn--pair .pn__t{grid-template-columns:auto minmax(0,34ch);justify-content:space-between;align-items:end}
.cl-on .pn--plans{grid-template-columns:clamp(280px,26vw,400px) auto;align-items:center}
.cl-on .pn__plans{grid-auto-flow:column;grid-auto-columns:clamp(420px,40vw,720px);align-content:center}
.cl-on .pn--list{width:clamp(620px,56vw,840px);padding-right:clamp(120px,10vw,180px);align-content:center;gap:20px}
.pn__w--s{font-size:clamp(38px,4.2vw,64px)}
.cl-on .pn__am{font-size:13.5px}
.cl__par img{will-change:transform}

/* site map */
.sm{background:var(--ground);color:var(--pearl);padding-block:clamp(70px,9vw,120px)}
.sm__in{display:grid;gap:30px}
.sm__head{display:grid;gap:12px;align-content:start}
.sm__head h2{font-size:clamp(36px,4.1vw,62px);line-height:1.04}
.sm__head p:not(.lab){color:var(--mute);max-width:32ch;font-size:15px;line-height:1.55}
.sm__plan{position:relative;width:100%;max-width:560px;aspect-ratio:1237/1454;justify-self:center}
.sm__plan img{width:100%;height:100%;object-fit:contain}
.pin{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--ground);border:1px solid rgba(247,239,231,.72);color:var(--pearl);font:600 9px/18px var(--sans);text-align:center;transition:background .4s,color .4s,transform .4s,border-color .4s;padding:0}
.pin.on{background:var(--sand);border-color:var(--sand);color:var(--deep);transform:scale(1.4);z-index:3}
.sm__ring{position:absolute;left:0;top:0;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:1px solid var(--sand);pointer-events:none;z-index:2;opacity:0}
.sm__list{display:grid;grid-template-columns:minmax(0,1fr)}
.sm__list li{display:grid;grid-template-columns:30px 1fr;align-items:baseline;gap:6px;padding:7px 0;border-top:1px solid var(--rule);font-size:13.5px;line-height:1.3;transition:color .35s,opacity .35s}
.sm__list li span{font:500 10.5px/1 var(--sans);letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--mute)}
.sm-on{padding-block:0}
.sm-on .sm__in{height:100svh;min-height:600px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--gx);align-items:center;padding-top:calc(70px + env(safe-area-inset-top,0px));padding-bottom:22px}
.sm-on .sm__plan{height:calc(100svh - 110px);min-height:0;width:auto;max-width:none;align-self:center}
.sm-on .sm__list{max-width:300px;justify-self:end;width:100%}
.sm-on .sm__list li{opacity:.64;cursor:pointer}
.sm-on .sm__list li.on{opacity:1;color:#F0B98A}
.sm-on .sm__list li.on span{color:#F0B98A}
@media (max-height:760px) and (min-width:900px){.sm-on .sm__list li{padding:5px 0;font-size:12.5px}}

/* gallery */
.gy{background:var(--ground);color:var(--pearl);padding-block:clamp(60px,8vw,110px) clamp(70px,9vw,120px);border-top:1px solid var(--rule);overflow:clip}
.gy__in{position:relative;display:grid;gap:clamp(28px,4vw,48px)}
.gy__txt{position:relative;z-index:3;display:grid;gap:14px;align-content:center;pointer-events:none}
.gy__txt h2{font-size:clamp(34px,4.4vw,68px);line-height:1.06;max-width:11em}
.gy__txt p:not(.lab){color:var(--mute);max-width:34ch;font-size:15px;line-height:1.55}
.gy__plane{overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:max(var(--gx),env(safe-area-inset-left,0px));scrollbar-width:none}
.gy__tilt{display:flex;gap:10px;width:max-content}
.gy__plane::-webkit-scrollbar{display:none}
.gy__f{flex:none;width:78vw;aspect-ratio:4/3;overflow:hidden;scroll-snap-align:center}
.gy__f img{width:100%;height:100%;object-fit:cover}
.gy-on{padding-block:0;border-top:0}
.gy-on .gy__in{height:100svh;min-height:600px;display:block;overflow:hidden}
.gy-on .gy__txt{position:absolute;left:0;top:0;bottom:0;width:44%}
.gy-on .gy__plane{position:absolute;inset:0;display:block;overflow:visible;padding:0;perspective:1500px}
.gy-on .gy__tilt{position:absolute;inset:0;display:block;width:auto;transform:rotateX(12deg) rotateY(-16deg) rotateZ(-13deg);transform-style:preserve-3d}
.gy-on .gy__f{position:absolute;aspect-ratio:16/10;left:var(--x);top:0;width:var(--w)}

/* details */
.dt{position:relative;padding-block:clamp(84px,11vw,170px);overflow:clip}
.dt__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(36px,6vw,96px);align-items:start}
.dt__l{position:sticky;top:clamp(88px,12svh,130px);display:grid;gap:22px;justify-items:start}
.dt__l h2{font-size:clamp(36px,4.6vw,72px);line-height:1.06;max-width:11em}
.dt__l .lk{color:var(--forest);margin-top:8px}
.dt__r{display:grid;gap:clamp(40px,5vw,64px);min-width:0}
.dt__h{display:block;margin-bottom:14px}
.dt__feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(20px,3vw,44px)}
.dt__feat li{padding:12px 0;border-top:1px solid var(--rule-ink);font-size:14px;line-height:1.4}
.sp{border-top:1px solid var(--rule-ink)}
.sp:last-child{border-bottom:1px solid var(--rule-ink)}
.sp summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font:400 clamp(21px,2vw,28px)/1.1 var(--display);letter-spacing:-.015em;cursor:pointer}
.sp summary::-webkit-details-marker{display:none}
.sp summary i{position:relative;width:13px;height:13px;flex:none}
.sp summary i::before,.sp summary i::after{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.sp summary i::after{transform:rotate(90deg)}
.sp[open] summary i::after{transform:rotate(0)}
.sp ul{display:grid;gap:8px;padding:0 0 20px;max-width:62ch;font-size:14.5px;line-height:1.5;color:var(--ink)}

/* location */
.lc{background:var(--ground);color:var(--pearl);padding-block:clamp(70px,9vw,130px)}
.lc__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gx);align-items:end}
.lc h2{font-size:clamp(38px,5.2vw,82px);line-height:1.04;margin-top:14px;max-width:9.5em}
.lc__r{display:grid;gap:22px;justify-items:start;max-width:46ch}
.lc__r address{font-style:normal;font-size:16px;line-height:1.5}
.lc__r dl{display:grid;gap:12px;margin:0}
.lc__r dt{font:500 10.5px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.lc__r dd{margin:2px 0 0;font-size:14px;line-height:1.4;word-break:break-word}
.lc__r .lk{color:var(--pearl)}

/* closing */
.en{position:relative;min-height:100svh;overflow:hidden;background:var(--deep);display:grid;align-items:center;justify-items:end;padding-block:calc(96px + env(safe-area-inset-top,0px)) calc(96px + env(safe-area-inset-bottom,0px))}
.en__bg{position:absolute;inset:0}
.en__bg img{width:100%;height:100%;object-fit:cover;object-position:32% 30%}
.en__card{position:relative;width:min(100%,560px);background:var(--pearl);color:var(--ink);display:grid;gap:22px;justify-items:start;padding:clamp(28px,3.6vw,52px);margin-right:max(var(--gx),8vw)}
.en__logo{width:132px;height:auto}
.en__card h2{font-size:clamp(36px,4.2vw,62px);line-height:1.04}
.en__card p{font-size:15px;line-height:1.55;max-width:38ch}
.en__num{font:500 12px/1.4 var(--sans);letter-spacing:.04em}

@media (max-width:899px){
  .in__say,.lc__grid,.hm__head,.dt__grid{grid-template-columns:minmax(0,1fr)}
  .in__comp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .in__b{grid-column:1/-1;grid-row:1;width:76%;justify-self:center}
  .in__a,.in__c{margin-top:0}
  .gl__stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}
  .gl__more{padding-right:0;padding-bottom:64px}
  .pt{min-height:0;padding-top:0;display:block;padding-bottom:40px;background:var(--ground)}
  .pt__frame{position:relative;inset:auto;aspect-ratio:4/3.4}
  .pt__shade{display:none}
  .pt__txt{padding-top:26px}
  .dt__l{position:static}
  .dt__feat{grid-template-columns:minmax(0,1fr)}
  .en{justify-items:center}
  .en__card{margin-right:0;width:calc(100% - 2*max(16px,var(--gx)));padding-bottom:30px}
  .en__bg img{object-position:30% 30%}
  .sh__line{font-size:clamp(21px,5.6vw,30px)}
}
@media (max-width:899px),(max-aspect-ratio:5/4){
  .sh__media img{left:0;width:100%;min-height:100%}
  .sh__word{top:auto;bottom:calc(150px + env(safe-area-inset-bottom,0px));transform:none;font-size:18.4vw;letter-spacing:.01em}
  .sh__foot{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (prefers-reduced-motion:reduce){
  .sh__mist i{animation:none}
}
