/* Samagra Propmart: Our Work 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}
.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}

/* 1. hero: dark, contour lines, numbers */
.owh{position:relative;min-height:92svh;display:flex;align-items:flex-end;background:radial-gradient(90% 80% at 80% 10%,#0c1a35 0%,var(--charcoal) 60%,#030914 100%);color:var(--on-dark);overflow:hidden}
.owh-l{position:absolute;inset:0;width:100%;height:100%}
.owh-l path{fill:none;stroke:#a97c45;stroke-width:1;opacity:.28}
.owh-l path:nth-child(4n){opacity:.5}
.owh-in{position:relative;z-index:1;width:100%;padding-bottom:clamp(48px,8vh,96px)}
.owh-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)}
.owh-h{font-family:var(--display);font-weight:500;font-size:clamp(50px,7.4vw,112px);line-height:.98;margin:20px 0 clamp(40px,6vh,72px);max-width:10em;text-wrap:balance}
.owh-s{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid rgba(224,181,126,.55)}
.owh-s div{padding:22px 20px 0 0}
.owh-s div+div{padding-left:24px;border-left:1px solid rgba(247,244,239,.12)}
.owh-s dt{font-family:var(--display);font-weight:500;font-size:clamp(44px,4.4vw,68px);line-height:1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.owh-s dd{margin:10px 0 0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}

/* 2. flagship */
.fl{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center}
.fl-w{position:relative}
.fl-w::before{content:"";position:absolute;left:-18px;top:-18px;width:100%;height:100%;border:1px solid var(--brass)}
.fl-im{position:relative;aspect-ratio:5/4;background:center/cover no-repeat;box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
.fl-tag{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;background:rgba(6,15,34,.7);backdrop-filter:blur(6px);color:var(--on-dark);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.fl .h2{font-size:clamp(44px,4.6vw,68px);margin-bottom:16px}
.fl-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0;border-top:1px solid var(--brass)}
.fl-f div{padding-top:16px}
.fl-f dt{font-family:var(--display);font-weight:500;font-size:clamp(30px,2.6vw,40px);line-height:1;color:var(--olive)}
.fl-f dd{margin:8px 0 0;font-size:13px;color:var(--muted)}

/* 3. promise vs delivered (olive accent) */
.pvd{background:var(--olive-deep);color:var(--on-dark-2);margin-top:var(--gap);padding-bottom:var(--gap)}
.pvd .h2{color:var(--on-dark);margin-bottom:clamp(32px,4vw,52px)}
.pvd-t{border-top:1px solid rgba(224,181,126,.6)}
.pvd-r{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid rgba(247,244,239,.14)}
.pvd-r span{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);color:var(--on-dark)}
.pvd-r span:first-child{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}
.pvd-r span:last-child{color:#ebc794}
.pvd-r .pi{width:22px;height:22px;color:#e0b57e}
.pvd-hd{padding:14px 0}
.pvd-hd span,.pvd-hd span:last-child{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#e0b57e}
.pvd-n{margin:22px 0 0;font-size:13px;color:var(--on-dark-3)}

/* 4 + 7. project cards */
.also .h2,.nb .h2{margin-bottom:clamp(28px,3vw,44px)}
.also-g{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.nb{background:var(--sand);margin-top:var(--gap);padding-bottom:var(--gap)}
.nb-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pc2{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
.pc2 .ph{aspect-ratio:16/10;margin-bottom:16px;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),clip-path 1.3s cubic-bezier(.65,0,.25,1)}
.nb .pc2 .ph{aspect-ratio:4/5}
.pc2:hover .ph{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(0,0,0,.45)}
.pc2-k{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pc2 b{font-family:var(--display);font-weight:500;font-size:clamp(26px,2.3vw,34px);line-height:1.1;color:var(--ink);transition:color .3s}
.pc2:hover b{color:var(--olive)}
.pc2-m{font-size:14px;color:var(--muted)}

/* 5. owner films */
.films{background:var(--charcoal);color:var(--on-dark-2);margin-top:var(--gap);padding-bottom:var(--gap)}
.films .h2{color:var(--on-dark);margin-bottom:clamp(28px,3vw,44px)}
.films-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fm{position:relative;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.fm-im{aspect-ratio:4/5;background:repeating-linear-gradient(135deg,rgba(169,124,69,.22) 0 1px,transparent 1px 14px),#0c1a35;color:var(--on-dark-3);margin-bottom:10px}
.fm-p{position:absolute;left:50%;top:calc(50% - 70px);transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:var(--cream);color:var(--olive);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(247,244,239,.12);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.fm-p .pi{width:24px;height:24px;margin-left:3px}
.fm:hover .fm-p{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 14px rgba(247,244,239,.1)}
.fm q{font-family:var(--display);font-style:italic;font-size:24px;line-height:1.3;color:var(--on-dark)}
.fm-by{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#e0b57e}

/* 6. reviews */
.rev{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,6vw,96px);align-items:start}
.rev-s{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rev-n{font-family:var(--display);font-weight:500;font-size:clamp(90px,9vw,140px);line-height:.9;color:var(--olive)}
.stars{display:inline-flex;gap:3px;color:#c99a5f}
.stars .pi{width:18px;height:18px}
.rev-c{font-size:13px;color:var(--muted);margin-bottom:14px}
.rev-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev-g li{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 24px;background:#fff;border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.rev-g li:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(0,0,0,.4)}
.rev-g p{margin:0;font-family:var(--display);font-size:21px;line-height:1.35;color:var(--ink)}
.rev-by{margin-top:auto;font-size:12px;color:var(--muted)}

/* 8. visit */
.night{padding-bottom:var(--gap)}
.night-c{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 50% 100%,#1c3a6e 0%,var(--olive) 40%,#061126 100%);color:var(--on-dark-2);padding:clamp(72px,9vw,128px) 24px;text-align:center}
.night-c::after{content:"";position:absolute;inset:10px;border:1px solid var(--brass);opacity:.7;pointer-events:none}
.night-l{position:absolute;inset:0;width:100%;height:100%}
.night-l path{fill:none;stroke:#e0b57e;stroke-width:1;opacity:.4}
.night-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.night .h2{font-size:clamp(40px,4.6vw,68px);color:var(--on-dark)}
.night .p{margin:16px 0 34px;color:var(--on-dark-2)}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .js .owh-k,.js .owh-s{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
  .js .owh-k{animation-delay:.2s}.js .owh-s{animation-delay:1.1s}
  @keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .js .owh-l path{stroke-dasharray:var(--l);stroke-dashoffset:var(--l);animation:draw 3.2s cubic-bezier(.45,0,.2,1) forwards}
  .js .owh-l path:nth-child(odd){animation-delay:.3s}
  @keyframes draw{to{stroke-dashoffset:0}}
  .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}
  .js .rvi{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.65,0,.25,1)}
  .js .rvi.in{clip-path:inset(0 0 0 0)}
  .js .pvd-r:not(.pvd-hd){opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .pvd-t.in .pvd-r{opacity:1;transform:none}
  .js .pvd-t.in .pvd-r:nth-child(3){transition-delay:.15s}.js .pvd-t.in .pvd-r:nth-child(4){transition-delay:.3s}.js .pvd-t.in .pvd-r:nth-child(5){transition-delay:.45s}
  .js .night-l path{stroke-dasharray:var(--l);stroke-dashoffset:var(--l);transition:stroke-dashoffset 2.6s cubic-bezier(.45,0,.2,1)}
  .js .night-c.in .night-l path{stroke-dashoffset:0}
}

/* phone */
@media (max-width:900px){
  :root{--gap:76px}
  .h2{font-size:34px;line-height:1.1}
  .owh{min-height:100svh}
  .owh-in{padding-bottom:96px}
  .owh-h{font-size:52px}
  .owh-s{grid-template-columns:1fr 1fr}
  .owh-s div,.owh-s div+div{padding:18px 12px 16px 0;border-left:0}
  .owh-s div:nth-child(even){padding-left:16px;border-left:1px solid rgba(247,244,239,.12)}
  .owh-s div:nth-child(n+3){border-top:1px solid rgba(247,244,239,.12)}
  .owh-s dt{font-size:44px}
  .owh-s dd{font-size:10.5px}
  .fl{grid-template-columns:1fr}
  .fl-w{margin:0 calc(var(--pad)*-1)}
  .fl-w::before{display:none}
  .fl .h2{font-size:44px}
  .pvd-r{grid-template-columns:1fr 1fr;gap:4px 16px;padding:18px 0}
  .pvd-r span:first-child{grid-column:1/-1;margin-bottom:4px}
  .pvd-hd span:first-child{display:none}
  .pvd-r span{font-size:21px}
  .also-g{grid-template-columns:1fr;gap:36px}
  .films-g,.nb-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(var(--pad)*-1);padding:0 var(--pad);scrollbar-width:none}
  .films-g::-webkit-scrollbar,.nb-g::-webkit-scrollbar{display:none}
  .fm,.nb-g .pc2{flex:0 0 76%;scroll-snap-align:start;scroll-margin-left:var(--pad)}
  .fm q{font-size:21px}
  .rev{grid-template-columns:1fr;gap:32px}
  .rev-g{grid-template-columns:1fr}
  .night-c{margin:0 calc(var(--pad)*-1);padding:84px 28px}
  .night .h2{font-size:40px}
  .night .fbtn{width:100%}
}

/* ===== 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}}
.ph.im{background-color:var(--charcoal);background-position:center;background-size:cover;background-repeat:no-repeat;color:rgba(247,244,239,.85);text-shadow:0 1px 6px rgba(0,0,0,.4);letter-spacing:.06em;text-transform:none;font-size:11px}
@media (max-width:900px){.pvd-hd span{font-size:10.5px!important;letter-spacing:.2em}}

/* ===== phone polish ===== */
@media (max-width:900px){
  .owh-in{padding-bottom:84px}
  .owh-h{font-size:48px;margin-bottom:36px}
  .fl{padding-top:56px}
  .fl .h2{font-size:40px}
  .fl-f{margin:22px 0}
  .pvd .h2{margin-bottom:22px}
  .pvd-r span{font-size:19px}
  .pvd-r .pi{width:18px;height:18px}
  .also-g{gap:28px}
  .also .pc2 .ph{aspect-ratio:16/9;margin-bottom:12px}
  .pc2 b{font-size:24px}
  .fm-im{aspect-ratio:4/4.4}
  .fm-p{top:calc(50% - 60px);width:58px;height:58px}
  /* reviews: compact rating row + swipe cards */
  .rev{gap:24px}
  .rev-s{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:4px;align-items:end}
  .rev-n{grid-row:1/3;font-size:84px}
  .rev-s .stars{align-self:end}
  .rev-c{margin:0;align-self:start}
  .rev-s .link{grid-column:1/-1;margin-top:14px;justify-self:start}
  .rev-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(var(--pad)*-1);padding:0 var(--pad) 6px;scrollbar-width:none}
  .rev-g::-webkit-scrollbar{display:none}
  .rev-g li{flex:0 0 80%;scroll-snap-align:start;scroll-margin-left:var(--pad);padding:22px 20px}
  .rev-g p{font-size:19px}
  .nb .pc2 .ph{aspect-ratio:4/4.4}
}
@media (min-width:901px){.nb-g{grid-template-columns:repeat(4,minmax(0,1fr))}}
