/*
 * Aurora redesign - base styles and sections for redesigned pages.
 * Only loaded where ar_is_new_design() is true (Domus CSS is not loaded there).
 */

*{box-sizing:border-box;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Montserrat',sans-serif;
  color:var(--ink);
  background:var(--cream-soft);
  -webkit-font-smoothing:antialiased;
  font-size:15.5px;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  line-height:1.12;
  margin:0;
  letter-spacing:-.01em;
  color:var(--ink);
}
p{line-height:1.75;color:var(--ink-soft);margin:0;font-family:'Montserrat',sans-serif;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;}
.text-link{color:var(--rust);font-weight:600;}
.text-link:hover{color:var(--rust-dark);}

/* reveal animation (only when JS is running - see the ar-js class set in <head>) */
.ar-js .reveal{opacity:0;transform:translateY(32px) scale(.99);transition:opacity 1s var(--ease), transform 1s var(--ease);}
.ar-js .reveal.in-view{opacity:1;transform:translateY(0) scale(1);}
.ar-js .reveal-stagger > *{opacity:0;transform:translateY(26px) scale(.99);transition:opacity .9s var(--ease), transform .9s var(--ease);}
.ar-js .reveal-stagger.in-view > *{opacity:1;transform:translateY(0) scale(1);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.55s;}
@media (prefers-reduced-motion: reduce){
  .ar-js .reveal,.ar-js .reveal-stagger>*{opacity:1!important;transform:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
}

/* anchor targets: don't let the sticky header cover the heading */
section[id]{scroll-margin-top:104px;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:19px 38px;border-radius:100px;font-size:13px;font-weight:600;font-family:'Montserrat',sans-serif;
  text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;line-height:1.2;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .35s, border-color .35s;
}
.btn-primary{background:var(--rust);color:#fff;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(156,90,49,.55);}
.btn-secondary{background:rgba(10,25,38,.45);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);}
.btn-secondary:hover{background:rgba(10,25,38,.7);border-color:var(--gold);transform:translateY(-3px);}
.btn-dark{background:var(--rust);color:#fff;}
.btn-dark:hover{background:var(--rust-dark);transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(157,125,98,.5);}
.btn-outline{background:transparent;color:var(--rust);border:1px solid var(--rust);}
.btn-outline:hover{background:var(--rust);color:#fff;transform:translateY(-3px);}
.btn-gold{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold);color:#fff;transform:translateY(-3px);box-shadow:0 16px 30px -14px rgba(180,145,91,.6);}

/* ---------- HERO ---------- */
.hero{
  position:relative;height:92svh;min-height:600px;
  display:flex;align-items:flex-end;
  overflow:hidden;background:#1d2228;
}
.hero video, .hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,20,30,.35) 0%, rgba(8,20,30,.05) 30%, rgba(8,20,30,.15) 55%, rgba(8,20,30,.82) 100%);
  z-index:1;
}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:76px;}
.hero-content h1{color:#fff;font-size:clamp(30px,4.6vw,54px);max-width:820px;font-weight:500;}
.hero-content p{color:rgba(255,255,255,.86);font-size:17px;max-width:560px;margin-top:16px;}
.hero-cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.scroll-cue{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;
  width:26px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:20px;
}
.scroll-cue::before{
  content:"";position:absolute;top:8px;left:50%;width:4px;height:4px;margin-left:-2px;
  background:#fff;border-radius:50%;animation:cue 1.8s infinite;
}
@keyframes cue{0%{opacity:1;transform:translateY(0);}70%{opacity:0;transform:translateY(14px);}100%{opacity:0;}}

/* ---------- STATS ---------- */
.stats{background:#fff;padding:44px 0 40px;}
.stats .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;max-width:1280px;}
.stat{text-align:center;padding:0 4px;}
.stat b{display:block;font-family:'Playfair Display',serif;font-size:clamp(22px,2.3vw,34px);font-weight:800;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;}
.stat span{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;}

/* ---------- SECTIONS ---------- */
.section{padding:56px 0;}
.bg-cream{background:var(--cream-soft);}
.bg-sage{background:var(--sage);}
.bg-white{background:#fff;}
.section-head{max-width:720px;margin:0 auto 20px;text-align:center;}
.section-head h2{font-size:clamp(26px,3.2vw,38px);}
.section-head p{margin-top:16px;font-size:16px;}
.section-head.left{text-align:left;margin:0 0 26px;}

/* thin rule under the homepage section headings */
#sgradata > .section-head h2, .comfort-head h2, #dovarshvane .completion-lede h2{padding-bottom:16px;border-bottom:1px solid #BDBDB9;}

/* about / sgradata */
.about-copy{margin-top:24px;}
.about-copy p{margin-top:16px;}
.about-copy p:first-child{margin-top:0;}
/* "За нас" page */
.ar-about .page-top-pad{padding-bottom:36px;}
.ar-about .about-body{padding-top:0;}
.ar-about .about-copy{margin-top:0;}
.ar-about .about-copy p{margin-top:20px;}
.ar-about .about-copy p:first-child{margin-top:0;}
.about-logo{display:block;width:min(60%,250px);height:auto;margin:0 0 44px;}
@media (max-width:640px){
  .ar-about .page-top-pad{padding-bottom:18px;}
  .about-logo{width:min(55%,190px);margin-bottom:28px;}
}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px;}
.duo img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius);}

/* comfort strip */
.comfort-head{max-width:640px;margin:0 0 34px;text-align:left;}
.comfort-head h2, .completion-lede h2{font-size:clamp(28px,3.6vw,44px);}
.comfort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.comfort-card{background:var(--cream);border:none;border-radius:var(--radius);padding:46px 38px;transition:background .4s var(--ease);}
.comfort-card:hover{background:var(--sage);}
.comfort-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;margin-bottom:14px;color:var(--ink);letter-spacing:-.005em;}
.comfort-card p{font-size:15.5px;}

/* completion */
.completion-lede{max-width:640px;margin:0 0 28px;}
.completion-lede p{font-size:17px;margin-top:20px;}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.card{padding:46px 42px;border-radius:var(--radius);transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 32px -24px rgba(10,32,51,.18);}
.card.cream{background:var(--cream);}
.card.sage{background:var(--sage);}
.card h3{font-size:27px;margin-bottom:12px;}
.card p{font-size:16.5px;}
.cta-center{text-align:center;margin-top:44px;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;}
.contact-info h2{font-size:clamp(26px,3vw,36px);}
.contact-info > p{margin-top:14px;font-size:15.5px;}
.phone-list{margin-top:28px;}
.phone-list a{
  display:block;font-family:'Montserrat',sans-serif;font-weight:600;font-size:18px;color:var(--navy);
  margin-bottom:8px;transition:color .3s;letter-spacing:-.005em;
}
.phone-list a:hover{color:var(--rust);}
.hours{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}
.hours span{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);}
.hours p{margin-top:8px;color:var(--ink);font-size:15px;}
.hours strong, .wd{font-weight:700;color:var(--ink);}

/* form box + Contact Form 7 output */
.contact-form{background:#fff;border-radius:var(--radius);padding:40px;border:1px solid var(--line);}
.contact-form h3{font-size:20px;}
.contact-form > p.contact-form-lede{margin-top:8px;font-size:14.5px;}
.contact-form .wpcf7{margin:0;max-width:none;}
.contact-form .wpcf7 p{margin:0;}
.contact-form .wpcf7 br{display:none;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;}
.field{margin-top:0;}
.field.full{margin-top:18px;}
.field label, .contact-form .wpcf7 label{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.contact-form .wpcf7-form-control-wrap{display:block;}
.field input, .field select, .field textarea,
.contact-form .wpcf7 input[type="text"], .contact-form .wpcf7 input[type="email"], .contact-form .wpcf7 input[type="tel"],
.contact-form .wpcf7 select, .contact-form .wpcf7 textarea{
  width:100%;border:1px solid var(--line);background:var(--cream-soft);
  border-radius:12px;padding:13px 15px;font-size:14.5px;font-family:'Montserrat',sans-serif;color:var(--ink);
  transition:border-color .3s, background .3s;margin:0;box-shadow:none;
}
.field input:focus, .field select:focus, .field textarea:focus,
.contact-form .wpcf7 input:focus, .contact-form .wpcf7 select:focus, .contact-form .wpcf7 textarea:focus{
  outline:none;border-color:var(--rust);background:#fff;
}
.field textarea, .contact-form .wpcf7 textarea{resize:vertical;min-height:100px;height:120px;}
.checks{display:flex;gap:26px;margin-top:20px;flex-wrap:wrap;}
.check, .contact-form .wpcf7-list-item label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);text-transform:none;letter-spacing:0;margin:0;}
.check input, .contact-form .wpcf7 input[type="checkbox"]{width:16px;height:16px;accent-color:var(--rust);margin:0;}
.contact-form .wpcf7-checkbox{display:flex;gap:26px;flex-wrap:wrap;}
.contact-form .wpcf7-list-item{margin:0;}
.form-submit{margin-top:26px;display:flex;justify-content:flex-end;align-items:center;gap:12px;}
.contact-form .wpcf7 input[type="submit"], .contact-form .wpcf7 button[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;
  padding:19px 38px;border-radius:100px;font-size:13px;font-weight:600;font-family:'Montserrat',sans-serif;
  text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;line-height:1.2;height:auto;
  background:var(--rust);color:#fff;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .35s;
}
.contact-form .wpcf7 input[type="submit"]:hover, .contact-form .wpcf7 button[type="submit"]:hover{background:var(--rust-dark);transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(157,125,98,.5);}
.contact-form .wpcf7-spinner{margin:0;}
.contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:6px;color:#b4442f;}
.contact-form .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;font-size:13.5px;border-radius:12px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .section{padding:44px 0;}
  section[id]{scroll-margin-top:92px;}
  .hero-content{padding-bottom:56px;}
  .stats .wrap{grid-template-columns:repeat(3,1fr);row-gap:28px;}
  .contact-grid{grid-template-columns:1fr;}
  .comfort-grid{grid-template-columns:repeat(2,1fr);}
  .cards2{grid-template-columns:1fr;}
  .duo{gap:14px;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .wrap{padding:0 18px;}
  .section{padding:34px 0;}
  section[id]{scroll-margin-top:80px;}
  .section-head.left{margin-bottom:20px;}

  .hero{height:84svh;min-height:520px;}
  .hero-content{padding-bottom:30px;}
  .hero-content h1{font-size:clamp(23px,6.2vw,30px);line-height:1.2;}
  .hero-content p{font-size:13.5px;line-height:1.5;margin-top:10px;}
  .hero-cta{flex-direction:column;width:100%;gap:9px;margin-top:20px;}
  .hero-cta .btn{width:100%;text-align:center;padding:12px 18px;font-size:11px;letter-spacing:.1em;}
  .scroll-cue{display:none;}

  .stats .wrap{grid-template-columns:repeat(2,1fr);row-gap:26px;}
  .stat b{font-size:24px;}

  .duo{grid-template-columns:1fr;margin-top:32px;gap:12px;}
  .duo img{height:210px;}
  .comfort-grid, .cards2, .contact-grid{grid-template-columns:1fr;}
  .comfort-card, .card{padding:30px 24px;}
  .card h3{font-size:22px;}
  .section-head h2, .comfort-head h2, .completion-lede h2{font-size:clamp(24px,6vw,32px);}
  .btn{width:100%;}

  /* 16px inputs prevent iOS zoom on focus */
  .field input, .field select, .field textarea,
  .contact-form .wpcf7 input[type="text"], .contact-form .wpcf7 input[type="email"], .contact-form .wpcf7 input[type="tel"],
  .contact-form .wpcf7 select, .contact-form .wpcf7 textarea{font-size:16px;padding:12px 14px;}
  .checks, .contact-form .wpcf7-checkbox{flex-direction:column;gap:10px;}
  .contact-form{padding:28px 22px;}
  .contact-form .wpcf7 input[type="submit"], .contact-form .wpcf7 button[type="submit"]{width:100%;}
}
@media (max-width:400px){
  .stat b{font-size:21px;}
}

/* ============================================================
   Shared components (building page and later pages)
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.eyebrow{font-size:11.5px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;font-weight:600;margin-bottom:10px;display:block;}

/* two-column intro */
.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;}
.intro-grid h2{font-size:clamp(24px,3vw,34px);max-width:440px;}
.intro-copy p{margin-bottom:16px;}
.intro-copy p:last-child{margin-bottom:0;}

/* spec list */
.spec-block{margin-top:6px;}
.spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);}
.spec-row span:first-child{font-size:14.5px;font-weight:500;color:var(--ink);}
.spec-row span:last-child{font-family:'Montserrat',sans-serif;font-weight:600;font-size:16px;color:var(--navy);text-align:right;}
.spec-cta{margin-top:28px;}

/* full-width photo band */
.wide-photo{height:440px;overflow:hidden;}
.wide-photo img{width:100%;height:100%;object-fit:cover;}

/* lounge */
.lounge-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.lounge-split img{border-radius:var(--radius);width:100%;height:440px;object-fit:cover;}
.lounge-wordmark{padding:56px 0 18px;margin-bottom:40px;border-bottom:3px solid #E2E1D9;}
.lounge-wordmark img{width:min(100%,540px);height:auto;}
.lounge-split .lounge-lead{font-size:clamp(18px,1.6vw,22px);line-height:1.65;color:var(--ink);font-weight:400;margin:0 0 22px;}
.lounge-split .lounge-lead strong{font-weight:500;}
.lounge-split .lounge-text{font-size:16px;line-height:1.9;color:var(--ink);font-weight:400;margin:0 0 26px;}
.lounge-copy p{margin-top:16px;}
.lounge-copy p:first-child{margin-top:0;}
.lounge-copy p.lounge-closing{font-family:'Montserrat',sans-serif;font-style:italic;color:var(--gold);font-weight:600;font-size:clamp(22px,2.6vw,30px);line-height:1.3;margin-top:22px;}
.lounge-wide{margin-top:36px;}
.lounge-wide img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius);}

/* common parts */
.common-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start;}
.common-grid h2{font-size:clamp(24px,3vw,34px);}
.common-grid .eyebrow{margin-top:10px;}
.common-photo{border-radius:12px;width:100%;height:480px;object-fit:cover;margin:20px 0 26px;}
.common-facts{border-left:1px solid var(--gold);padding-left:34px;display:flex;flex-direction:column;gap:34px;}
/* the design uses Fraunces here, but it has no Cyrillic glyphs (falls back to Times) */
.fact-row b{display:block;font-family:'Montserrat',sans-serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em;}
.fact-row p{font-size:15px;}
.thumb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;}
.thumb-row img{border-radius:10px;height:150px;width:100%;object-fit:cover;cursor:pointer;transition:opacity .4s var(--ease);}
.thumb-row img:hover{opacity:.82;}
.common-cta{margin-top:26px;}

/* image grid (3 columns) */
.duo.duo-3{grid-template-columns:repeat(3,1fr);margin-top:36px;}
.duo.duo-3 img{height:260px;}
[data-gallery] img[data-index]{cursor:pointer;}

/* ---------- LIGHTBOX ---------- */
.lightbox{
  position:fixed;inset:0;z-index:1000;background:rgba(6,16,24,.92);
  display:flex;align-items:center;justify-content:center;padding:40px 20px;
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-inner{max-width:1080px;width:100%;}
.lightbox-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.lightbox-head h3{color:#fff;font-size:22px;}
.lightbox-head span{color:rgba(255,255,255,.55);font-size:13px;display:block;margin-top:4px;}
.lightbox button{font-family:inherit;}
.lightbox-close{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;transition:background .3s;flex-shrink:0;
}
.lightbox-close:hover{background:rgba(255,255,255,.2);}
.lightbox-close svg, .lightbox-nav svg{width:18px;height:18px;stroke:#fff;}
.lightbox-stage{position:relative;border-radius:18px;overflow:hidden;background:#0c1117;}
.lightbox-stage img{width:100%;max-height:64vh;object-fit:contain;background:#0c1117;display:block;margin:0 auto;}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;padding:0;
  background:rgba(255,255,255,.12);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .3s;
}
.lightbox-nav:hover{background:rgba(255,255,255,.25);}
.lightbox-prev{left:16px;}
.lightbox-next{right:16px;}
.lightbox-thumbs{display:flex;gap:10px;margin-top:16px;overflow-x:auto;padding-bottom:4px;}
.lightbox-thumbs img{
  width:84px;height:60px;object-fit:cover;border-radius:8px;cursor:pointer;flex-shrink:0;
  opacity:.5;transition:opacity .3s;border:1.5px solid transparent;
}
.lightbox-thumbs img.active{opacity:1;border-color:var(--rust);}
body.lb-open{overflow:hidden;}

/* ---------- BUILDING PAGE ---------- */
.ar-building .building-intro{padding-top:0;}
.building-logo-header{text-align:center;padding:34px 0 16px;border-bottom:1px solid var(--line);}
.spec-logo{height:92px;width:auto;display:block;margin:0 auto;}
.ar-building .lounge-intro, .ar-building .common-parts{padding-top:0;}
.ar-building .finished-apts .section-head p{font-size:16px;max-width:640px;margin:0 auto;}
@media (min-width:981px){
  .building-intro .intro-grid{padding-top:22px;}
  .building-intro .intro-grid > div:nth-child(1){padding-top:14px;}
}

/* legacy buildings (texts/table from the old fields) */
.legacy-subtitle{font-size:clamp(22px,2.4vw,28px);font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:18px;}
.legacy-copy p{margin-bottom:14px;}
.legacy-copy img{height:auto;}
.legacy-spec table{width:100%;border-collapse:collapse;}
.legacy-spec td, .legacy-spec th{padding:13px 0;border:0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink);text-align:left;vertical-align:baseline;background:none!important;}
.legacy-spec td:last-child{text-align:right;font-weight:600;color:var(--navy);}
.legacy-spec td[colspan]{text-align:left;}
.legacy-spec img{max-height:70px;width:auto;}

@media (max-width:980px){
  .intro-grid, .lounge-split, .common-grid{grid-template-columns:1fr;gap:32px;}
  .building-intro .intro-grid{gap:26px;padding-top:18px;}
  .building-intro .intro-grid > div:nth-child(1){order:2;}
  .building-intro .intro-grid > div:nth-child(2){order:1;}
  .spec-logo{height:62px;}
  .building-logo-header{padding:26px 0 14px;}
  .duo.duo-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .intro-copy p, .lounge-split p{font-size:15px;line-height:1.55;margin-bottom:11px;}
  .lounge-split{gap:20px;}
  .lounge-split img, .common-photo, .lounge-wide img{height:auto;aspect-ratio:16/10;}
  .wide-photo{height:auto;aspect-ratio:16/9;}
  .lounge-wordmark{padding:28px 0 12px;margin-bottom:24px;border-bottom-width:2px;}
  .lounge-wordmark img{width:min(100%,300px);}
  .lounge-split .lounge-lead{font-size:17px;line-height:1.55;margin-bottom:14px;}
  .lounge-split .lounge-text{font-size:15px;line-height:1.65;margin-bottom:18px;}
  .lounge-copy p.lounge-closing{font-size:21px;}
  .common-facts{padding-left:22px;gap:24px;}
  .thumb-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px;}
  .thumb-row img{height:96px;}
  .duo.duo-3{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;}
  .duo.duo-3 img{height:auto;aspect-ratio:4/3;}
  .duo.duo-3 img:last-child:nth-child(odd){grid-column:1 / -1;aspect-ratio:16/9;}
  .lightbox-stage img{max-height:46vh;}
  .lightbox-thumbs img{width:56px;height:40px;}
  .lightbox-nav{width:38px;height:38px;}
}

/* ============================================================
   Tabs + gallery page
   ============================================================ */
.tabs{display:flex;gap:14px;margin-bottom:48px;flex-wrap:wrap;scroll-margin-top:110px;}
.tab-btn{
  padding:13px 26px;border-radius:100px;border:1px solid var(--line);background:#fff;
  font-size:11.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:'Montserrat',sans-serif;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.2;
  display:flex;align-items:center;gap:9px;transition:all .35s var(--ease);
}
.tab-btn:hover{border-color:var(--gold);color:var(--ink);}
.tab-btn.active{background:var(--rust);border-color:var(--rust);color:#fff;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.gallery-body{padding-top:0;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0 0 8px;}
.gallery-grid img{width:100%;height:210px;object-fit:cover;border-radius:var(--radius);cursor:pointer;transition:opacity .3s;}
.gallery-grid img:hover{opacity:.82;}
.gallery-video{position:relative;width:100%;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;margin-bottom:28px;background:#0c1116;}
.gallery-video iframe, .gallery-video video{position:absolute;inset:0;width:100%;height:100%;border:none;object-fit:cover;display:block;}
.gallery-subhead{margin:44px 0 18px;}
.gallery-content > .gallery-subhead:first-child{margin-top:0;}
.gallery-subhead h3{font-size:19px;font-weight:700;font-family:'Montserrat',sans-serif;}
.gallery-subhead span{display:block;font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.gallery-content > p{margin:0 0 16px;max-width:760px;}
.gallery-content > p:empty{display:none;}
@media (max-width:980px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .tabs{margin-bottom:22px;gap:8px;}
  .tab-btn{padding:10px 16px;font-size:10.5px;}
  .gallery-grid{grid-template-columns:1fr;gap:10px;}
  .gallery-grid img{height:220px;}
  .gallery-video{padding-top:68%;margin-bottom:20px;}
  .gallery-subhead{margin:30px 0 12px;}
}

/* ============================================================
   Page hero, offers, process, image cards, CTA banner (completion page)
   ============================================================ */
.page-hero{position:relative;height:64vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;background:#2b2b2b;}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:kenburns 16s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1.06) translate3d(0,0,0);}to{transform:scale(1.14) translate3d(-1%,-1%,0);}}
@media (prefers-reduced-motion: reduce){ .page-hero img{animation:none;} }
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,20,30,.16) 0%, rgba(8,20,30,.1) 40%, rgba(8,20,30,.78) 100%);z-index:1;}
.page-hero-content{position:relative;z-index:2;padding-bottom:60px;width:100%;}
.page-hero-content h1{color:#fff;font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.4vw,50px);line-height:1.08;max-width:780px;letter-spacing:-.005em;}
.page-hero-content p{color:rgba(255,255,255,.88);font-size:16px;max-width:540px;margin-top:16px;}
.intro-grid .intro-copy p{margin-top:16px;margin-bottom:0;font-size:15.5px;}
.intro-grid .intro-copy p:first-child{margin-top:0;}
.completion-offers{padding-top:0;}

.offer-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.offer-card{border-radius:36px;padding:36px 18px 32px;display:flex;flex-direction:column;position:relative;background:#fff;border:1px solid var(--line);border-top:3px solid var(--rust);transition:box-shadow .4s var(--ease), transform .4s var(--ease);}
.offer-card:hover{transform:translateY(-3px);box-shadow:0 20px 36px -28px rgba(10,32,51,.18);}
.offer-card h3{font-size:22px;font-weight:700;margin-bottom:10px;}
.offer-card > p.lede{font-size:14.5px;color:var(--ink-soft);line-height:1.5;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line);}
.offer-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:12px;}
.offer-list li{position:relative;padding-left:18px;font-size:14px;color:var(--ink);line-height:1.5;}
.offer-list li::before{content:"";position:absolute;left:1px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--rust);}
.offer-note{font-size:12px;font-weight:700;line-height:1.55;letter-spacing:.03em;text-transform:uppercase;color:var(--rust);margin:auto 0 22px;}
.offer-card .btn{align-self:flex-start;padding:13px 28px;font-size:11.5px;}

.process{display:grid;grid-template-columns:repeat(var(--steps,5),1fr);gap:20px;position:relative;list-style:none;margin:0;padding:0;}
.process::before{content:"";position:absolute;top:11px;left:4%;right:4%;height:1px;background:var(--line);}
.process-step{position:relative;padding-top:34px;}
.process-step::before{content:"";position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;background:var(--cream-soft);border:1.5px solid var(--rust);}
.process-step b{display:block;font-family:'Fraunces',serif;font-size:13px;color:var(--rust);letter-spacing:.03em;margin-bottom:8px;}
.process-step span{font-size:15px;color:var(--ink);font-weight:500;}

.apt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.apt-card{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;height:340px;}
.apt-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.apt-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.apt-card:hover img{transform:scale(1.06);}
.apt-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,20,30,0) 45%, rgba(8,20,30,.75) 100%);}
.apt-card-label{position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;}
.apt-card-label b{display:block;font-size:21px;font-weight:700;}
.apt-card-label span{font-size:12.5px;letter-spacing:.03em;color:rgba(255,255,255,.8);}
.apt-card-zoom{
  position:absolute;top:16px;right:16px;z-index:2;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(-6px);transition:opacity .35s, transform .35s;
}
.apt-card:hover .apt-card-zoom, .apt-card:focus-visible .apt-card-zoom{opacity:1;transform:translateY(0);}
.apt-card-zoom svg{width:16px;height:16px;stroke:var(--navy);}

.cta-banner{background:#A27B61;border-radius:var(--radius);padding:58px 60px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.cta-banner h2{color:#fff;font-size:clamp(22px,2.6vw,30px);max-width:520px;}
.cta-banner p{color:rgba(255,255,255,.72);margin-top:12px;font-size:15px;max-width:460px;}
.cta-banner-actions{display:flex;gap:14px;flex-wrap:wrap;}
.cta-banner .btn-primary{background:#fff;color:var(--ink);}
.cta-banner .btn-primary:hover{background:var(--cream);box-shadow:0 16px 30px -12px rgba(0,0,0,.35);}

@media (max-width:980px){
  .offer-cards{grid-template-columns:1fr;gap:32px;}
  .process{grid-template-columns:repeat(2,1fr);row-gap:28px;}
  .process::before{display:none;}
  .apt-grid{grid-template-columns:1fr;}
  .cta-banner{padding:40px 28px;}
  .page-hero{height:52vh;}
}
@media (max-width:640px){
  .page-hero{height:60svh;min-height:380px;}
  .page-hero-content{padding-bottom:26px;}
  .page-hero-content h1{font-size:clamp(22px,6.4vw,28px);line-height:1.15;overflow-wrap:break-word;}
  .page-hero-content p{font-size:13.5px;line-height:1.5;margin-top:10px;}
  .offer-card{padding:30px 24px;}
  .process{grid-template-columns:1fr;gap:0;row-gap:0;max-width:420px;margin:0 auto;}
  .process::before{display:block;top:20px;bottom:20px;left:20px;right:auto;width:1px;height:auto;}
  .process-step{display:flex;align-items:center;gap:18px;padding:0 0 22px;}
  .process-step:last-child{padding-bottom:0;}
  .process-step::before{display:none;}
  .process-step b{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--rust);display:flex;align-items:center;justify-content:center;margin:0;position:relative;z-index:1;}
  .process-step span{font-size:16px;}
  .apt-card{height:280px;}
  .cta-banner{flex-direction:column;align-items:flex-start;padding:32px 24px;}
  .cta-banner-actions{width:100%;}
  .cta-banner-actions .btn{width:100%;text-align:center;}
}

/* ============================================================
   Contacts page
   ============================================================ */
.contacts-body{padding-top:0;}
.contact-info .contact-subtitle{font-size:22px;}
.office-block{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);}
.office-block b{display:block;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:8px;}
.office-block p{font-size:14.5px;}
.office-hours p{margin-top:10px;}
.office-hours strong{font-weight:700;color:var(--ink);}
.email-list{margin-top:6px;}
.email-list a{display:block;font-size:15px;color:var(--navy);margin-bottom:4px;transition:color .3s;}
.email-list a:hover{color:var(--rust);}
.contacts-cta{margin-top:30px;}
.contacts-map .section-head h2{font-size:clamp(22px,2.6vw,30px);}
.contacts-map #dyn_view, .contacts-map #mapster_wrap_0{margin:0 auto;}
.contacts-map .dyn_view_image{width:100%;height:auto;display:block;}
.map-frame{border-radius:var(--radius);}
.map-hint{text-align:center;font-size:13px;margin-top:14px;}
.dynview_tooltip{background:var(--rust-dark);color:#fff;padding:8px 18px;border-radius:100px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;box-shadow:0 12px 24px -12px rgba(0,0,0,.45);}

/* ============================================================
   Survey page: Forminator form restyled (its default skin is not loaded)
   Question = .forminator-row with a checkbox/radio group; rating = col with class "boxes_inline"
   ============================================================ */
.survey-body{padding-top:0;}
.survey-wrap{max-width:820px;}
.survey-form .forminator-ui{counter-reset:survey-q;font-family:'Montserrat',sans-serif;}
.survey-form .forminator-row{display:block;margin:0;padding:30px 0;border-bottom:1px solid var(--line);}
.survey-form .forminator-row:first-of-type{padding-top:0;}
.survey-form .forminator-row-last, .survey-form .forminator-row:has(.forminator-merge-tags){border-bottom:0;}
.survey-form .forminator-col{padding:0;margin:0;width:100%;max-width:none;flex:none;}
.survey-form .forminator-field{margin:0;padding:0;border:0;}

/* question label + number */
.survey-form .forminator-field[role] > .forminator-label,
.survey-form .forminator-field > label.forminator-label[for]{
  display:block;position:relative;padding-left:34px;margin:0 0 16px;
  font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:var(--ink);line-height:1.45;letter-spacing:0;text-transform:none;
}
.survey-form .forminator-field[role] > .forminator-label{counter-increment:survey-q;}
.survey-form .forminator-field[role] > .forminator-label::before{content:counter(survey-q)".";position:absolute;left:0;top:0;color:var(--rust);font-weight:700;}
.survey-form .forminator-field > label.forminator-label[for]{padding-left:0;}
.survey-form .forminator-required{color:var(--rust);}

/* options as chips: the text span is the chip, the input stays (visually hidden) */
.survey-form .forminator-field[role]{display:flex;flex-wrap:wrap;gap:10px;}
.survey-form .forminator-field[role] > .forminator-label, .survey-form .forminator-field[role] > .forminator-description,
.survey-form .forminator-field[role] > .forminator-error-message{flex:0 0 100%;}
.survey-form .forminator-checkbox, .survey-form .forminator-radio{position:relative;display:inline-flex;margin:0;padding:0;cursor:pointer;}
.survey-form .forminator-checkbox input, .survey-form .forminator-radio input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;}
.survey-form .forminator-checkbox-box, .survey-form .forminator-radio-bullet{display:none!important;}
.survey-form .forminator-checkbox-label, .survey-form .forminator-radio-label{
  display:inline-block;padding:11px 20px;border-radius:100px;border:1px solid var(--line);background:#fff;
  font-size:13px;font-weight:600;color:var(--ink);line-height:1.2;transition:all .25s var(--ease);margin:0;
}
.survey-form .forminator-checkbox:hover span, .survey-form .forminator-radio:hover span{border-color:var(--gold);}
.survey-form input:checked ~ .forminator-checkbox-label, .survey-form input:checked ~ .forminator-radio-label{background:var(--rust);border-color:var(--rust);color:#fff;}
.survey-form input:focus-visible ~ .forminator-checkbox-label, .survey-form input:focus-visible ~ .forminator-radio-label{outline:2px solid var(--gold);outline-offset:2px;}
.survey-form .forminator-description{display:block;margin-top:0;font-size:12.5px;color:var(--ink-soft);font-style:italic;}

/* 1-5 ratings */
.survey-form .boxes_inline .forminator-radio-label{width:44px;height:44px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;}

/* rating intro + thank-you line (HTML blocks) */
.survey-form .forminator-merge-tags{padding-left:34px;}
.survey-form .forminator-merge-tags .forminator-label{display:block;font-family:'Montserrat',sans-serif;font-size:18px;font-weight:700;color:var(--ink);line-height:1.4;margin:0;}
.survey-form .forminator-merge-tags p{font-size:13px;color:var(--ink-soft);margin:8px 0 0;}
.survey-form .forminator-merge-tags:not(:has(.forminator-label)){padding-left:0;text-align:center;}
.survey-form .forminator-merge-tags:not(:has(.forminator-label)) p{font-size:14.5px;font-style:italic;margin:0;}

/* comments + submit */
.survey-form .forminator-textarea{
  width:100%;min-height:120px;border:1px solid var(--line);background:var(--cream-soft);border-radius:12px;padding:13px 15px;
  font-family:'Montserrat',sans-serif;font-size:14.5px;color:var(--ink);resize:vertical;transition:border-color .3s;
}
.survey-form .forminator-textarea:focus{outline:none;border-color:var(--rust);}
.survey-form .forminator-row-last .forminator-field{display:flex;justify-content:flex-end;}
/* !important: Forminator's per-form styles use #forminator-module-N selectors, in case any still load */
.survey-form .forminator-ui .forminator-button.forminator-button-submit{
  display:inline-flex!important;align-items:center;justify-content:center;padding:19px 38px!important;border-radius:100px!important;border:none!important;cursor:pointer;
  background:var(--rust)!important;color:#fff!important;box-shadow:none!important;
  font-family:'Montserrat',sans-serif!important;font-size:13px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.12em!important;line-height:1.2!important;
  transition:background .35s, transform .4s var(--ease), box-shadow .4s var(--ease);
}
.survey-form .forminator-ui .forminator-button.forminator-button-submit:hover,
.survey-form .forminator-ui .forminator-button.forminator-button-submit:focus{background:var(--rust-dark)!important;color:#fff!important;transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(157,125,98,.5)!important;}
.survey-form .forminator-ui .forminator-button.forminator-button-submit:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* validation + response */
.survey-form .forminator-has_error .forminator-label, .survey-form .forminator-has_error .forminator-label::before{color:var(--rust);}
.survey-form .forminator-error-message{display:block;margin-top:6px;font-size:12.5px;color:#b4442f;font-weight:500;background:none;padding:0;}
.survey-form .forminator-response-message[aria-hidden="true"], .survey-form .forminator-response-message:empty{display:none;}
.survey-form .forminator-response-message{margin:0 0 24px;padding:16px 20px;border-radius:12px;font-size:14.5px;}
.survey-form .forminator-response-message.forminator-error{background:#F1E4E0;color:#8A4A3C;}
.survey-form .forminator-response-message.forminator-success{background:#fff;border:1px solid var(--line);padding:60px 40px;text-align:center;font-size:16px;color:var(--ink);}
.survey-form .forminator-response-message p{margin:0;}

@media (max-width:640px){
  .survey-form .forminator-row{padding:22px 0;}
  .survey-form .forminator-field[role] > .forminator-label{padding-left:28px;font-size:14px;}
  .survey-form .forminator-merge-tags{padding-left:28px;}
  .survey-form .forminator-merge-tags .forminator-label{font-size:16.5px;}
  .survey-form .forminator-field[role]{gap:8px;}
  .survey-form .boxes_inline .forminator-radio-label{width:38px;height:38px;font-size:13px;}
  .survey-form .forminator-button-submit{width:100%;}
}

/* ============================================================
   Projects page: cards + details modal
   ============================================================ */
.page-top-pad.projects-body .section-head{margin-bottom:36px;}
.tab-btn .count{background:var(--cream);color:var(--rust);font-size:11px;padding:2px 9px;border-radius:100px;font-weight:700;letter-spacing:0;}
.tab-btn.active .count{background:rgba(255,255,255,.18);color:#fff;}

.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:22px;}
.project-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px;}
.project-card{
  position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;height:360px;background:#d9d4cb;
  box-shadow:0 22px 44px -30px rgba(10,32,51,.35);transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}
.project-card:hover, .project-card:focus-visible{transform:translateY(-5px);box-shadow:0 32px 56px -28px rgba(10,32,51,.45);}
.project-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.project-card.wide{grid-column:1 / -1;height:440px;}
.project-grid-3 .project-card{height:280px;}
.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.project-card:hover img{transform:scale(1.06);}
.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,20,30,.08) 35%, rgba(8,20,30,.85) 100%);}
.project-tag{
  position:absolute;top:22px;left:22px;z-index:2;background:rgba(250,247,241,.94);color:var(--navy);
  font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 15px;border-radius:100px;
}
.project-tag.done{background:rgba(228,231,221,.94);}
.project-info{position:absolute;left:26px;right:26px;bottom:22px;z-index:2;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
.project-info span{font-size:11px;color:var(--gold-soft);display:block;margin-bottom:8px;letter-spacing:.08em;text-transform:uppercase;}
.project-info b{font-family:'Montserrat',sans-serif;font-size:23px;font-weight:700;line-height:1.2;}
.project-plus{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .35s, border-color .35s;
}
.project-card:hover .project-plus{background:var(--gold);border-color:var(--gold);}
.project-plus svg{width:16px;height:16px;stroke:#fff;}

.podcast-block{margin-top:56px;}
.gallery-video.podcast-video{max-width:820px;padding-top:46.1%;background:#000;}

/* modal */
.pmodal{
  position:fixed;inset:0;z-index:1000;background:rgba(6,16,24,.6);
  display:flex;justify-content:center;align-items:center;padding:32px;
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
}
.pmodal.open{opacity:1;pointer-events:auto;}
.pmodal-panel{
  width:min(920px,94vw);max-height:88vh;background:var(--cream-soft);overflow-y:auto;border-radius:var(--radius);
  transform:scale(.96);opacity:0;transition:transform .4s var(--ease), opacity .4s var(--ease);
}
.pmodal.open .pmodal-panel{transform:scale(1);opacity:1;}
.pmodal button{font-family:inherit;}
.pmodal-photo{position:relative;height:400px;background:#0c1117;}
.pmodal-photo img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;}
.pmodal-tag{position:absolute;top:24px;left:28px;color:#fff;font-size:12px;letter-spacing:.04em;font-weight:600;background:rgba(8,20,30,.55);padding:7px 14px;border-radius:100px;max-width:calc(100% - 96px);line-height:1.35;}
.pmodal-close{
  position:absolute;top:20px;right:24px;width:42px;height:42px;border-radius:50%;padding:0;z-index:3;
  background:rgba(8,20,30,.55);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.pmodal-close svg{width:16px;height:16px;stroke:#fff;}
.pmodal-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;padding:0;
  background:rgba(255,255,255,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .3s;
}
.pmodal-nav:hover{background:#fff;}
.pmodal-nav svg{width:18px;height:18px;stroke:var(--navy);}
.pmodal-prev{left:16px;}
.pmodal-next{right:16px;}
.pmodal-body{padding:44px 56px 56px;}
.pmodal-body h3{font-size:30px;margin-bottom:16px;}
.pmodal-body p.desc{font-size:15px;margin-bottom:28px;max-width:640px;}
.pmodal-video-btn{display:inline-flex;gap:7px;margin-bottom:28px;}
.pmodal-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line);margin-bottom:30px;}
.pmodal-facts .spec-row span:first-child{flex-shrink:0;white-space:nowrap;}
.pmodal-facts .spec-row span:last-child{text-align:right;}
.pmodal-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.pmodal-thumbs img{width:100%;height:90px;object-fit:cover;border-radius:10px;cursor:pointer;opacity:.75;transition:opacity .3s;}
.pmodal-thumbs img:hover, .pmodal-thumbs img:focus-visible{opacity:1;}
.pmodal-thumbs img.active{opacity:1;outline:2px solid var(--gold);outline-offset:2px;}
.pmodal-group-label{
  grid-column:1/-1;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin:14px 0 4px;
}
.pmodal-group-label:first-child{margin-top:0;}
.lightbox{z-index:1100;} /* above the project modal */

@media (max-width:980px){
  .project-grid-3{grid-template-columns:repeat(2,1fr);}
  .project-card{height:300px;}
  .pmodal-panel{width:100%;}
}
@media (max-width:640px){
  .project-grid, .project-grid-3{grid-template-columns:1fr;}
  .project-card, .project-card.wide, .project-grid-3 .project-card{height:300px;grid-column:auto;}
  .project-info b{font-size:20px;}
  .pmodal{padding:12px;}
  .pmodal-panel{max-height:94vh;}
  .pmodal-photo{height:260px;}
  .pmodal-tag{top:16px;left:14px;font-size:11.5px;padding:6px 12px;border-radius:14px;max-width:calc(100% - 78px);}
  .pmodal-close{top:12px;right:12px;width:38px;height:38px;}
  .pmodal-body{padding:24px 20px 32px;}
  .pmodal-body h3{font-size:24px;}
  .pmodal-facts{grid-template-columns:1fr;}
  .pmodal-thumbs{grid-template-columns:repeat(3,1fr);}
  .podcast-block{margin-top:36px;}
}

/* ============================================================
   Units: finder (search page), detail pages, floor page
   ============================================================ */
.page-top-pad{padding-top:56px;padding-bottom:44px;}
.page-top-pad .section-head{margin-bottom:0;}
.page-top-pad h1{font-size:clamp(30px,4vw,46px);}
.page-top-pad .section-head p{max-width:640px;}
.finder-body{padding-top:0;}
.breadcrumb-light{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px;}
.breadcrumb-light a{color:var(--ink-soft);transition:color .3s;}
.breadcrumb-light a:hover{color:var(--rust);}

/* filter bar */
.apt-filter-bar{background:var(--cream);border-radius:var(--radius);padding:32px;margin-bottom:34px;}
.filter-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:12px;display:block;font-weight:700;}
.filter-block{margin-bottom:24px;}
.filter-block:last-child{margin-bottom:0;}
.chip-row{display:flex;gap:10px;flex-wrap:wrap;}
.chip{padding:11px 20px;border-radius:100px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s var(--ease);color:var(--ink);font-family:'Montserrat',sans-serif;line-height:1.2;}
.chip:hover{border-color:var(--gold);}
.chip.active{background:var(--rust);border-color:var(--rust);color:#fff;}
.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.filter-row .field label{margin-bottom:10px;}
.filter-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px;}
.btn-ghost{background:transparent;color:var(--ink-soft);border:none;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:12px 6px;font-family:'Montserrat',sans-serif;transition:color .3s;}
.btn-ghost:hover{color:var(--rust);}
.sec-chip-wrap{position:relative;}
.sec-dropdown{
  position:absolute;top:100%;left:50%;margin-top:8px;transform:translateX(-50%) translateY(6px);
  background:var(--rust-dark);border-radius:100px;padding:9px 18px;white-space:nowrap;
  opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:150;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.45);pointer-events:none;
}
.sec-chip-wrap:hover .sec-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.sec-dropdown span{font-size:12.5px;color:#fff;font-weight:600;}

/* results */
.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
.results-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.results-controls .field{min-width:200px;}
.results-count{font-size:14.5px;color:var(--ink-soft);}
.results-count b{color:var(--ink);font-family:'Montserrat',sans-serif;}
.view-toggle{display:flex;border:1px solid var(--line);border-radius:100px;overflow:hidden;flex-shrink:0;}
.view-toggle button{padding:10px 20px;background:#fff;border:none;cursor:pointer;font-size:12px;font-weight:700;color:var(--ink-soft);font-family:'Montserrat',sans-serif;letter-spacing:.03em;transition:all .25s;}
.view-toggle button.active{background:var(--navy);color:#fff;}
.results-body{margin-top:8px;}

.unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.unit-card{display:block;color:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;position:relative;transition:box-shadow .35s var(--ease), transform .35s var(--ease);}
.unit-card:hover{transform:translateY(-4px);box-shadow:0 20px 36px -26px rgba(10,32,51,.2);}
.unit-card .unit-code{margin-top:8px;}
.unit-status{position:absolute;top:16px;right:16px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:100px;font-family:'Montserrat',sans-serif;}
.unit-status.available, .detail-status.available{background:#E9F0E5;color:#4A6741;}
.unit-status.reserved, .detail-status.reserved{background:#F5ECD9;color:#8A6A2C;}
.unit-status.sold, .detail-status.sold{background:#F1E4E0;color:#8A4A3C;}
.unit-code{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;color:var(--ink);letter-spacing:-.01em;}
.unit-sub{font-size:11.5px;color:var(--ink-soft);margin-top:4px;}
.unit-meta{display:flex;gap:42px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.unit-meta b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--ink);}
.unit-meta span{font-size:9.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.unit-cta{margin-top:14px;display:block;text-align:center;width:100%;padding:9px 0;font-size:11px;}

.unit-table-wrap{overflow-x:auto;}
.unit-table{width:100%;border-collapse:collapse;font-size:14px;}
.unit-table th{text-align:left;padding:15px 18px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap;font-family:'Montserrat',sans-serif;}
.unit-table td{padding:15px 18px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink);}
.unit-table tbody tr{cursor:pointer;transition:background .2s;}
.unit-table tbody tr:hover{background:var(--sage);}
.unit-table .row-cta{color:var(--rust);font-weight:600;font-size:13px;}

.empty-state{text-align:center;padding:70px 20px;}
.empty-state h3{font-size:20px;}
.empty-state p{font-size:15px;margin-top:8px;}

.legend-row{display:flex;gap:24px;flex-wrap:wrap;}
.legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);}
.legend-dot{width:12px;height:12px;border-radius:50%;}
.legend-dot.free{background:rgba(201,169,106,.45);border:1.5px solid var(--rust);}
.legend-dot.taken{background:rgba(46,46,46,.5);}

/* unit detail */
.ar-unit .unit-top{padding-top:56px;padding-bottom:0;}
.ar-unit .breadcrumb-light{margin-bottom:0;}
.apt-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;}
.plan-frame{display:flex;align-items:center;justify-content:center;min-height:620px;}
.plan-frame img{max-width:100%;max-height:760px;object-fit:contain;cursor:zoom-in;}
.plan-placeholder{text-align:center;color:var(--ink-soft);padding:60px 20px;background:var(--cream);width:100%;}
.plan-placeholder svg{width:64px;height:64px;stroke:var(--gold);fill:none;stroke-width:1.2;margin:0 auto 18px;display:block;}
.plan-placeholder p{font-size:14px;max-width:280px;margin:8px auto 0;}
.detail-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:8px 16px;border-radius:100px;margin-bottom:18px;font-family:'Montserrat',sans-serif;}
.ar-unit h1{font-size:clamp(28px,3.6vw,42px);}
.ar-unit .spec-block{margin-top:28px;}
.spec-subhead{font-size:18px;margin-top:34px;}
.spec-subhead + .spec-block{margin-top:10px!important;}
.detail-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.floor-link{display:inline-block;margin-top:22px;font-size:14px;}

/* floor page */
.ar-floor .floor-head{padding-top:56px;padding-bottom:26px;}
.ar-floor h1{font-size:clamp(26px,3.4vw,40px);}
.floor-hint{margin-top:10px;font-size:15px;}
.floor-plan{padding:0 0 30px;}
#dyn_view{text-align:center;}
#dyn_view > div, #mapster_wrap_0{margin:0 auto;}
.ar-floor .dyn_view_image{max-width:100%;}
.floor-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.floor-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.floor-head-row .btn{padding:14px 26px;font-size:11.5px;flex-shrink:0;}
.selector-content{margin-top:18px;max-width:760px;}
@media (max-width:640px){ .floor-head-row .btn{width:100%;} }
.imgcompass{width:72px;height:auto;}

/* object details popup (floor page) */
.ar-page #popdetails{border-radius:0;font-family:'Montserrat',sans-serif;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);}
.ar-page #popdetails .popinner{padding:40px 40px 32px;}
.ar-page #popdetails .closelnk{top:14px;right:16px;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--ink);font-family:'Montserrat',sans-serif;font-size:18px;line-height:38px;text-align:center;}
.ar-page #popdetails .closelnk:hover{background:var(--sage);}
.ar-page #popdetails .obj_info_tbl table{width:100%;border-collapse:collapse;}
.ar-page #popdetails .obj_info_tbl td{padding:12px 0;border:0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);background:none;}
.ar-page #popdetails .obj_info_tbl td + td{text-align:right;font-weight:600;color:var(--navy);}
.ar-page #popdetails .obj_info_tbl td strong{font-weight:500;}
.ar-page #popdetails .obj_info_tbl td[colspan]{border-bottom:0;padding-top:0;}
.ar-page #popdetails .tblheadstr{font-size:22px;font-weight:700;color:var(--ink);}
.ar-page #popdetails .obj_foot{padding-top:20px;}
.ar-page #popdetails .sc_button{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 34px;border-radius:100px;
  background:var(--rust);color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  transition:background .3s;
}
.ar-page #popdetails .sc_button:hover{background:var(--rust-dark);}

@media (max-width:980px){
  .filter-row{grid-template-columns:1fr 1fr;}
  .unit-grid{grid-template-columns:1fr 1fr;}
  .unit-status{position:static;display:inline-block;font-size:8.5px;padding:3px 9px;letter-spacing:.05em;margin-bottom:2px;}
  .sec-dropdown{display:none;}
  .apt-detail-grid{grid-template-columns:1fr;gap:32px;}
  .plan-frame{min-height:0;}
  .page-top-pad, .ar-unit .unit-top, .ar-floor .floor-head{padding-top:44px;}
}
@media (max-width:640px){
  .page-top-pad, .ar-unit .unit-top, .ar-floor .floor-head{padding-top:28px;}
  .page-top-pad{padding-bottom:28px;}
  .apt-filter-bar{padding:18px 14px;margin-bottom:24px;}
  .filter-block{margin-bottom:16px;}
  .filter-label{margin-bottom:8px;font-size:10.5px;}
  #fSection{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
  #fType{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  #fSection .chip, #fType .chip{padding:9px 2px;font-size:11.5px;text-align:center;white-space:nowrap;width:100%;}
  .filter-row{gap:12px 10px;}
  .filter-row .field label{font-size:10px;margin-bottom:6px;letter-spacing:.04em;}
  .filter-row .field select, .filter-row .field input{padding:10px;font-size:15px;}
  .filter-actions{margin-top:14px;}
  .results-toolbar{flex-direction:column;align-items:flex-start;}
  .results-controls, .results-controls .field{width:100%;}
  .view-toggle{width:100%;}
  .view-toggle button{flex:1;}
  .unit-grid{gap:12px;}
  .unit-meta{gap:30px;}
  .unit-table{font-size:11.5px;}
  .unit-table th, .unit-table td{padding:10px 5px;}
  .unit-table th{font-size:8px;letter-spacing:.03em;}
  .unit-table th:nth-child(5), .unit-table td:nth-child(5),
  .unit-table th:nth-child(7), .unit-table td:nth-child(7){display:none;}
  .ar-unit .unit-main{padding-top:10px;}
  .apt-detail-grid{gap:20px;}
  .plan-frame img{max-height:460px;}
  .detail-actions{flex-direction:column;}
  .detail-actions .btn{width:100%;text-align:center;}
  .ar-page #popdetails .popinner{padding:52px 18px 24px;}
  .floor-foot{flex-direction:column;align-items:flex-start;}
}
