/* Samagra Propmart: Plan Your Visit page. Loads after base.css and header.css. */
:root{--gold:linear-gradient(180deg,#ebc794 0%,#a97c45 55%,#8a6233 100%);--olive-deep:radial-gradient(120% 90% at 85% 0%,#1c3a6e 0%,#0a1a38 45%,#071530 100%)}
.sec{padding-top:var(--gap)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--leaf);flex:none}
.pi{width:18px;height:18px;fill:currentColor;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ph{background:repeating-linear-gradient(135deg,rgba(169,124,69,.3) 0 1px,transparent 1px 14px),#ece6dc;display:flex;align-items:flex-end;padding:14px 16px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#7a6040}
.fbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;background:var(--cream);color:var(--charcoal);border:0;font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer}
.fbtn::after{content:"";position:absolute;inset:4px;border:1px solid var(--brass);transition:inset .35s cubic-bezier(.2,.7,.2,1)}
.fbtn:hover::after{inset:6px}
.sbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;background:var(--olive);color:var(--on-dark);border:0;font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background-color .3s}
.sbtn::after{content:"";position:absolute;inset:4px;border:1px solid rgba(224,181,126,.6)}
.sbtn:hover{background:var(--olive-hover)}

/* 1. hero + form */
.pvh{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--charcoal) center/cover no-repeat;color:var(--on-dark)}
.pvh::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,34,.86) 0%,rgba(6,15,34,.6) 45%,rgba(6,15,34,.35) 100%),linear-gradient(to bottom,rgba(6,15,34,.55),rgba(6,15,34,0) 30%)}
.pvh>*{position:relative;z-index:1}
.pvh-in{width:100%;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;padding-top:150px;padding-bottom:70px}
.pvh-k{display:flex;align-items:center;gap:10px;margin:0;font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--on-dark-2)}
.pvh-h{font-family:var(--display);font-weight:500;font-size:clamp(56px,7.4vw,112px);line-height:.98;margin:20px 0 16px}
.pvh-line{font-family:var(--display);font-style:italic;font-size:clamp(21px,2vw,28px);color:var(--on-dark-2);margin:0 0 34px}
.pvh-t{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pvh-t li{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid rgba(224,181,126,.45);background:rgba(6,15,34,.35);backdrop-filter:blur(4px);font-size:13px;color:var(--on-dark)}
.pvh-t .pi{color:#e0b57e}
.pvh-cap{position:absolute;left:var(--pad);bottom:20px;font-size:11px;color:var(--on-dark-3)}

.bk{position:relative;background:var(--cream);color:var(--body);padding:30px 30px 28px;box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.bk::before{content:"";position:absolute;inset:8px;border:1px solid rgba(169,124,69,.55);pointer-events:none}
.bk>*{position:relative}
.bk-top{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px 14px;margin-bottom:22px}
.bk-s{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#8a6233}
.bk-n{font-weight:500}
.bk-tt{font-family:var(--display);font-weight:500;font-size:28px;color:var(--ink);justify-self:end}
.bk-bar{grid-column:1/-1;display:block;height:2px;background:var(--line)}
.bk-bar>i{display:block;height:100%;width:var(--bp,33%);background:var(--olive);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.bk-step{border:0;margin:0;padding:0;min-width:0;display:none}
.bk-step.on{display:grid;gap:18px;animation:stepin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes stepin{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.fl{display:grid;gap:9px;min-width:0}
.fl.two{grid-template-columns:1fr 1fr;gap:14px}
.fl.two>div{display:grid;gap:9px}
.fl-l{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bk input[type=text],.bk input[type=tel],.bk select{width:100%;min-width:0;height:48px;border:0;border-bottom:1px solid #8f97a8;background:transparent;font:400 17px var(--sans);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.bk input:focus,.bk select:focus{outline:none;border-bottom:1.5px solid var(--olive)}
.ph-in{display:flex;gap:12px}
.ph-in select{flex:0 0 72px}
.in-i{display:flex;align-items:center;gap:10px;border-bottom:1px solid #8f97a8}
.in-i .pi{color:#8a6233}
.in-i input{border-bottom:0!important}
.pk{transition:opacity .3s}
.bk.self .pk{display:none}
/* project cards */
.pj-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pjc{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .25s,background-color .25s}
.pjc input{position:absolute;opacity:0}
.pjc b{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.15;color:var(--ink)}
.pjc span{font-size:11.5px;color:var(--muted)}
.pjc:hover{border-color:var(--brass)}
.pjc:has(input:checked){border-color:var(--olive);background:var(--olive-tint);box-shadow:inset 0 0 0 1px var(--olive)}
.pjc:has(input:checked)::after{content:"";position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--olive)}
.pjc:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}
/* days */
.dt-g{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.dt-g::-webkit-scrollbar{display:none}
.dtc{flex:0 0 auto;width:58px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 0;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}
.dtc input{position:absolute;opacity:0}
.dtc small{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dtc b{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.1;color:var(--ink)}
.dtc em{font-style:normal;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#8a6233;height:12px}
.dtc:hover{border-color:var(--brass)}
.dtc:has(input:checked){background:var(--olive);border-color:var(--olive)}
.dtc:has(input:checked) small,.dtc:has(input:checked) b,.dtc:has(input:checked) em{color:var(--cream)}
.dtc:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}
/* segmented */
.seg{display:flex;border:1px solid var(--line);background:#fff;padding:3px}
.seg label{flex:1;position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0}
.seg span{display:flex;align-items:center;justify-content:center;min-height:40px;font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--body);transition:background-color .25s,color .25s;white-space:nowrap}
.seg input:checked+span{background:var(--olive);color:var(--cream)}
.seg input:focus-visible+span{outline:2px solid var(--brass)}
/* step 2 + 3 */
.bk-sum{display:flex;flex-wrap:wrap;gap:6px}
.bk-sum span{padding:6px 10px;background:var(--olive-tint);font-size:12.5px;color:var(--olive)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--body)}
.chk input{margin-top:3px;accent-color:var(--olive)}
.bk-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;font:500 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:4px}
.bk-back:hover{color:var(--olive)}
.otp-t{margin:0;font-size:15px}
.otp{display:flex;gap:10px}
.otp input{width:58px;height:64px;text-align:center;border:1px solid var(--line);background:#fff;font:500 28px var(--display);color:var(--ink)}
.otp input:focus{outline:none;border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}
.bad{border-bottom-color:#9A3B26!important}
.chk.bad{color:#9A3B26}

/* 2. day in the hills */
.day2 .h2{margin-bottom:clamp(40px,5vw,72px)}
.rt{position:relative}
.rt-line{position:absolute;left:calc(100%/12);right:calc(100%/12);top:26px;height:2px;background:var(--line)}
.rt-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--rp,0)*100%);background:var(--gold)}
.rt-car{position:absolute;top:50%;left:calc(var(--rp,0)*100%);transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--olive);color:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(10,26,56,.12);z-index:2}
.rt-car .pi{width:22px;height:22px}
.rt-g{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.rt-g li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.rt-g time{order:-1;position:absolute;transform:translateY(-34px);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8a6233}
.rt-g li{position:relative;padding-top:0}
.rt-i{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cream);border:1px solid var(--brass);color:#8a6233;margin-bottom:14px;transition:background-color .4s,border-color .4s,color .4s}
.rt-i .pi{width:22px;height:22px}
.rt-g li.pass .rt-i{background:var(--olive-tint);border-color:var(--olive);color:var(--olive)}
.rt-g b{font-family:var(--display);font-weight:500;font-size:clamp(21px,1.8vw,26px);line-height:1.15;color:var(--ink)}
.rt-g span:last-child{font-size:13px;color:var(--muted)}

/* 3. video call */
.vc-c{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(32px,4vw,56px);background:var(--olive-deep);color:var(--on-dark-2)}
.vc-c::after{content:"";position:absolute;inset:8px;border:1px solid rgba(224,181,126,.55);pointer-events:none}
.vc-i{width:84px;height:84px;border-radius:50%;border:1px solid rgba(224,181,126,.7);display:flex;align-items:center;justify-content:center;color:#ebc794}
.vc-i .pi{width:34px;height:34px}
.vc .h2{color:var(--on-dark);margin-bottom:8px}
.vc .p{color:var(--on-dark-2)}
.vc .fbtn{position:relative;z-index:1}

/* 4. faq */
.faq-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.faq .h2{margin-bottom:18px}
.acc details{border-bottom:1px solid var(--line)}
.acc details:first-child{border-top:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:22px 0;font-family:var(--display);font-weight:500;font-size:clamp(22px,1.9vw,26px);line-height:1.25;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{position:relative;flex:none;width:14px;height:14px}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1px;background:var(--olive);transition:transform .3s ease}
.acc summary i::after{transform:rotate(90deg)}
.acc details[open] summary i::after{transform:rotate(0)}
.acc details p{margin:0 0 22px;max-width:620px}

/* 5. office */
.ofc{padding-bottom:var(--gap)}
.ofc-c{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center;padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--line)}
.ofc-m{aspect-ratio:16/9}
.ofc .h2{margin-bottom:20px}
.off-l{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.off-l li{display:flex;align-items:center;gap:14px;font-size:16px;color:var(--ink)}
.off-l .pi{width:22px;height:22px;color:#8a6233}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .js .pvh-k,.js .pvh-h,.js .pvh-line,.js .pvh-t,.js .bk{opacity:0;animation:up .9s cubic-bezier(.2,.7,.2,1) forwards}
  .js .pvh-k{animation-delay:.2s}.js .pvh-h{animation-delay:.35s}.js .pvh-line{animation-delay:.55s}.js .pvh-t{animation-delay:.7s}.js .bk{animation-delay:.5s}
  @keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .js .rvh{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
  .js .rvh.in{opacity:1;transform:none}
}

/* phone */
@media (max-width:900px){
  :root{--gap:76px}
  .h2{font-size:34px;line-height:1.1}
  .pvh{align-items:flex-start}
  .pvh::after{background:linear-gradient(to bottom,rgba(6,15,34,.55) 0%,rgba(6,15,34,.75) 40%,rgba(6,15,34,.92) 100%)}
  .pvh-in{grid-template-columns:1fr;gap:28px;padding-top:120px;padding-bottom:56px}
  .pvh-h{font-size:52px}
  .pvh-line{font-size:21px;margin-bottom:22px}
  .pvh-t{gap:8px}
  .pvh-t li{padding:8px 12px;font-size:12px}
  .pvh-cap{display:none}
  .bk{margin:0 calc(var(--pad)*-1 + 8px);padding:24px 20px 22px}
  .bk-tt{font-size:24px}
  .pjc b{font-size:17px}
  .pjc span{font-size:10.5px}
  .fl.two{grid-template-columns:1fr}
  .dt-g{margin-right:-20px;padding-right:20px}
  .otp input{width:54px;height:60px}
  .rt{display:grid;grid-template-columns:44px 1fr;gap:0 18px}
  .rt-line{position:relative;left:auto;right:auto;top:0;width:2px;height:auto;margin:27px auto 40px;grid-row:1}
  .rt-fill{width:auto;right:0;height:calc(var(--rp,0)*100%)}
  .rt-car{top:calc(var(--rp,0)*100%);left:50%}
  .rt-g{grid-template-columns:1fr;gap:26px;grid-column:2}
  .rt-g li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;text-align:left}
  .rt-g time{position:static;transform:none;grid-column:2;order:0}
  .rt-i{grid-row:1/4;width:46px;height:46px;margin:0}
  .rt-g b{font-size:22px}
  .vc-c{grid-template-columns:1fr;gap:18px;margin:0 calc(var(--pad)*-1);padding:40px 28px}
  .vc-i{width:64px;height:64px}
  .vc .fbtn{width:100%}
  .faq-in,.ofc-c{grid-template-columns:1fr}
}
@media (max-width:900px){
  .rt-i{display:none}
  .rt-g li{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
  .rt-g time{margin-bottom:2px}
}

/* ===== buttons that look like buttons ===== */
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M220.24,132.24l-72,72a6,6,0,0,1-8.48-8.48L201.51,134H40a6,6,0,0,1,0-12H201.51L139.76,60.24a6,6,0,0,1,8.48-8.48l72,72A6,6,0,0,1,220.24,132.24Z'/%3E%3C/svg%3E")}
/* arrow that slides on hover, shared by every button */
main .link::after,.fbtn::before,.gbtn::before,.sbtn::before{content:"";order:2;width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
main .link:hover::after,.fbtn:hover::before,.gbtn:hover::before,.sbtn:hover::before{transform:translateX(4px)}
/* filled buttons: a little depth so they sit above the page */
.fbtn,.gbtn,.sbtn{gap:14px;min-height:56px;transition:background-color .3s,color .3s,border-color .3s,box-shadow .35s,transform .35s cubic-bezier(.2,.7,.2,1)}
.fbtn{box-shadow:0 14px 30px -14px rgba(0,0,0,.55)}
.fbtn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 20px 36px -16px rgba(0,0,0,.6)}
.gbtn{background:rgba(247,244,239,.08);backdrop-filter:blur(6px);border-color:rgba(247,244,239,.85)}
.gbtn:hover{background:var(--cream);color:var(--charcoal);transform:translateY(-2px)}
.sbtn{box-shadow:0 14px 30px -14px rgba(6,17,38,.6)}
.sbtn:hover{transform:translateY(-2px)}
/* secondary buttons (were plain underlined text) */
main .link{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:0 22px;border:1px solid var(--olive);background:transparent;color:var(--olive);font-size:12px;font-weight:500;letter-spacing:.16em;text-decoration:none;transition:background-color .3s,color .3s,border-color .3s,transform .35s cubic-bezier(.2,.7,.2,1)}
main .link:hover{background:var(--olive);color:var(--on-dark);transform:translateY(-2px)}
.loc .link,.se .link{color:var(--on-dark);border-color:rgba(247,244,239,.7)}
.loc .link:hover,.se .link:hover{background:var(--cream);color:var(--olive);border-color:var(--cream)}
.faq .link{margin-top:6px}
@media (max-width:900px){main .link{min-height:48px}}
.bk-back::before,.bk-back::after{display:none}
.sbtn::before{display:block}
/* fixes */
.dtc{position:relative}
.dt-g{-webkit-mask:linear-gradient(90deg,#000 85%,transparent);mask:linear-gradient(90deg,#000 85%,transparent);padding-right:30px}
.pvh-h{font-size:clamp(52px,6vw,92px)}
.bk-step .sbtn::before{content:"";order:2;width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat}
