:root{--condo-green:var(--foreground);--condo-ink:var(--foreground);--condo-mint:var(--surface-soft);--condo-accent:var(--primary);--condo-gold:var(--primary)}body{background:var(--card);color:var(--condo-ink)}.condo-hero{display:grid;grid-template-columns:44% 56%;min-height:650px;padding-top:var(--header-height);background:var(--surface)}.hero-panel{padding:105px 10vw 80px}.hero-panel h1{font:700 clamp(55px,6.5vw,94px)/.93 var(--font-text);letter-spacing:-.07em;margin:18px 0 28px;color:var(--foreground)}.hero-panel h1 em{font-style:normal;color:var(--accent-text)}.hero-highlights{display:grid;gap:7px;color:var(--text-muted);font-size:11px;margin-bottom:26px}.hero-photo{background:linear-gradient(90deg,var(--surface-glass),var(--overlay-strong)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1500&q=85') center/cover;min-height:566px}.button-gold { background:var(--condo-accent);color:var(--ink) }.condo-section{padding:90px 11vw}.about-section .section-kicker{margin-bottom:34px}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.condo-section h2,.amenity-copy h2,.condo-contact h2{font:700 clamp(40px,5.4vw,76px)/.95 var(--font-text);letter-spacing:-.07em;margin:0}.condo-section h2 em,.amenity-copy h2 em,.condo-contact h2 em{font-style:normal;color:var(--accent-text)}.split-heading p{max-width:420px;color:var(--text-muted);font-size:14px}.wide-photo{height:360px;margin-top:50px}.about-photo{background:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1600&q=85') center/cover}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid var(--line);padding-top:30px;text-align:center}.metrics strong{display:block;font:700 34px var(--font-text)}.metrics span{font-size:11px;color:var(--text-muted)}.feature-list{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:11px;color:var(--text-muted)}.feature-list li:before{content:'\002726';color:var(--accent-text);margin-right:8px}.center-heading{text-align:center;max-width:650px;margin:0 auto 54px}.center-heading .section-kicker{justify-content:center;margin-bottom:24px}.feature-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.dark-list{display:block}.dark-list li{border-bottom:1px solid var(--line);padding:15px 0}.dark-list b,.dark-list small{display:block}.dark-list small{color:var(--text-muted);padding:6px 0 0 20px;font-size:10px}.feature-photo{height:390px;background:url('Assets/Baghban-Greens-Homepage-Section-Images/Baghban-Greens-Homepage-Section-Images/5_image.jpg') center/cover}.residence-section{background:var(--condo-mint)}.apartment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:50px -11vw -90px}.apartment-grid article{position:relative;color:var(--card);min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:end;overflow:hidden}.apartment-grid article:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,var(--overlay-strong))}.apartment-photo{position:absolute;inset:0;background:center/cover}.apartment-one{background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=900&q=80')}.apartment-two{background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=900&q=80')}.apartment-three{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80')}.apartment-grid h3,.apartment-grid p,.apartment-grid a{position:relative;z-index:1;margin:3px 0}.apartment-grid h3{font:600 24px var(--font-text)}.apartment-grid p{font-size:12px}.apartment-grid a{font-size:10px;color:var(--card);text-transform:uppercase;text-decoration:none}.location-section{padding-bottom:80px}.location-section .center-heading{margin-top:0}.map-placeholder{height:300px;max-width:900px;margin:0 auto;background:linear-gradient(135deg,var(--line),var(--surface-soft) 55%,var(--text-muted));position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:'';position:absolute;background:var(--surface-glass);transform:rotate(-22deg);width:130%;height:28px;left:-15%;top:38%}.map-placeholder:after{transform:rotate(28deg);top:62%;height:18px}.map-placeholder span{position:absolute;z-index:1;left:53%;top:44%;background:var(--condo-green);color:var(--card);padding:10px 14px;border-radius:4px;font-size:11px}.nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:900px;margin:40px auto 0}.nearby-grid div{display:grid;grid-template-columns:24px 1fr;column-gap:8px;color:var(--accent-text);font-size:20px}.nearby-grid b{font-size:11px;color:var(--condo-ink);align-self:end}.nearby-grid small{grid-column:2;color:var(--text-muted);font-size:9px}.condo-contact{grid-template-columns:1fr 1.15fr;background:var(--condo-green);padding:82px 11vw;color:var(--card)}.condo-contact h2{font-size:clamp(34px,4vw,60px);margin:25px 0}.condo-contact .contact-copy p{color:var(--text-muted);max-width:430px}.enquiry-form{background:var(--card);color:var(--condo-ink);padding:35px;box-shadow:0 15px 35px var(--overlay-strong)}.enquiry-form h3{font:700 22px var(--font-text);margin:0 0 22px}.enquiry-form label{color:var(--text-muted)}.enquiry-form input,.enquiry-form textarea{border-color:var(--line);color:var(--condo-ink)}.enquiry-form textarea{display:block;width:100%;margin:20px 0;padding:13px;background:var(--surface);border:0;min-height:70px;font:13px var(--font-text)}@media(max-width:800px){.condo-hero{grid-template-columns:1fr;padding-top:var(--header-height)}.hero-panel{padding:72px 8vw 50px}.hero-photo{min-height:380px}.condo-section{padding:70px 8vw}.split-heading,.feature-grid,.condo-contact{grid-template-columns:1fr;gap:28px}.wide-photo{height:260px;margin-top:35px}.metrics{gap:12px}.metrics strong{font-size:26px}.metrics span{font-size:9px}.feature-list{grid-template-columns:1fr}.apartment-grid{grid-template-columns:1fr;margin:35px -8vw -70px}.apartment-grid article{min-height:250px}.nearby-grid{grid-template-columns:1fr 1fr;gap:17px}.map-placeholder{height:220px}.condo-contact{gap:35px}.enquiry-form{padding:25px}}

@media(min-width:801px){.condo-section{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}.split-heading,.feature-grid{gap:var(--layout-gap)}.condo-contact{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}}

@media(min-width:801px){.hero-panel{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}}

/* Homepage section photography */
.about-photo{background-image:url('Assets/Baghban-Greens-Homepage-Section-Images/Baghban-Greens-Homepage-Section-Images/01-project-story-wide-banner.jpg')}
.apartment-one{background-image:url('Assets/Baghban-Greens-Homepage-Section-Images/Baghban-Greens-Homepage-Section-Images/03-residences-card.jpg')}
.apartment-two{background-image:url('Assets/Baghban-Greens-Homepage-Section-Images/Baghban-Greens-Homepage-Section-Images/04-community-card.jpg')}
.testimonial-section{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);gap:clamp(32px,7vw,110px);align-items:center}.testimonial-copy{min-width:0}.testimonial-copy>p{color:var(--text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.testimonial-image{height:clamp(340px,38vw,560px);margin:0;overflow:hidden;background:var(--surface-soft)}.testimonial-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.testimonial-image:hover img{transform:scale(1.035)}
@media(max-width:800px){.testimonial-section{display:block}.testimonial-image{height:300px;margin-top:42px}.testimonial-copy blockquote{margin-bottom:24px}}
/* Residence card alignment: preserve the full-bleed row while keeping every label
   inside a predictable readable content column. */
.apartment-grid{overflow:hidden}
.apartment-grid article{padding:clamp(28px,3.2vw,52px);min-width:0}
.apartment-grid article>*:not(.apartment-photo){position:relative;z-index:1;max-width:100%;margin-left:0;margin-right:0}
.apartment-grid h3{line-height:1.08;overflow-wrap:anywhere}
.apartment-grid p{line-height:1.45}
.apartment-grid a{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%}
@media(max-width:800px){.apartment-grid{margin-left:calc(-1 * 8vw);margin-right:calc(-1 * 8vw)}.apartment-grid article{padding:28px 8vw}}

/* Residence card content layer: keeps copy aligned and readable above the image scrim. */
.apartment-card__content{position:relative;z-index:2;width:100%;min-width:0}
.apartment-card__content .card-eyebrow{margin-top:0;color:rgba(255,255,255,.86);text-shadow:0 1px 12px rgba(0,0,0,.55)}
.apartment-card__content h3{max-width:24ch;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.72)}
.apartment-card__content p{color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.7)}
.apartment-card__content a:not(.button){color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.apartment-grid article:after{background:linear-gradient(180deg,rgba(10,10,10,.06) 15%,rgba(10,10,10,.3) 48%,rgba(10,10,10,.9) 100%)}
.residence-card-note .apartment-card__content h3{max-width:18ch;color:#fff;text-shadow:none}
.residence-card-note .apartment-card__content p{max-width:34ch;color:rgba(255,255,255,.78);text-shadow:none}


/* Keep the feature copy readable against the light section background. */
.feature-section .feature-list { color: var(--text-muted); }
.feature-section .feature-list li { border-bottom: 1px solid var(--line); padding: 14px 0; }
.feature-section .feature-list li b { color: var(--foreground); font-weight: 700; }
.feature-section .feature-list li small { color: var(--text-muted); }

/* Home page refresh: linked page directory and accessible FAQ accordion */
.home-page-directory{padding:clamp(80px,10vw,140px) var(--page-gutter,11vw);background:var(--surface-soft);color:var(--ink)}
.home-page-directory>.section-kicker{margin-bottom:28px}.home-page-directory__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);align-items:end;gap:8vw;margin-bottom:48px}.home-page-directory__heading h2{margin:0;font:500 clamp(42px,5.5vw,78px)/.96 var(--font-subheading);letter-spacing:-.06em}.home-page-directory__heading h2 em{color:var(--accent-text);font-style:italic}.home-page-directory__heading p{max-width:390px;margin:0;color:var(--text-muted);font-size:15px;line-height:1.7}
.home-page-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-page-link-card{display:flex;align-items:center;gap:16px;min-height:112px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--card);text-decoration:none;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.home-page-link-card:hover,.home-page-link-card:focus-visible{border-color:var(--accent-text);box-shadow:0 18px 38px var(--overlay-subtle);transform:translateY(-4px)}.home-page-link-card__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:13px;color:var(--accent-text);background:var(--ink)}.home-page-link-card>span:nth-child(2){display:grid;gap:4px;min-width:0}.home-page-link-card small{color:var(--accent-text);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.home-page-link-card strong{font:500 21px/1.1 var(--font-subheading)}.home-page-link-card em{color:var(--text-muted);font-size:11px;font-style:normal}.home-page-link-card>.fa-icon:last-child{margin-left:auto;color:var(--text-muted);transition:transform .25s ease,color .25s ease}.home-page-link-card:hover>.fa-icon:last-child,.home-page-link-card:focus-visible>.fa-icon:last-child{color:var(--accent-text);transform:translate(3px,-3px)}.home-page-link-card--accent{color:var(--card);border-color:var(--ink);background:var(--ink)}.home-page-link-card--accent small,.home-page-link-card--accent>.fa-icon:last-child{color:var(--accent-text)}.home-page-link-card--accent em{color:rgba(255,255,255,.7)}.home-page-link-card--accent .home-page-link-card__icon{color:var(--ink);background:var(--accent-text)}
.faq-section{background:var(--surface-soft)}.faq-list{max-width:920px;margin:0 auto}.faq-list details{padding:0;border-bottom:1px solid var(--line);transition:background .25s ease}.faq-list details[open]{background:rgba(255,255,255,.55)}.faq-list summary{display:flex;align-items:center;min-height:74px;padding:18px 52px 18px 20px;border-radius:8px;font-size:clamp(17px,2vw,22px);font-weight:500;transition:color .2s ease,background .2s ease}.faq-list summary:hover{color:var(--accent-text);background:rgba(255,255,255,.6)}.faq-list summary:after{right:20px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:20px;line-height:1;transition:transform .25s ease,background .25s ease}.faq-list details[open] summary:after{transform:rotate(45deg);background:var(--accent-text);color:var(--ink);border-color:var(--accent-text)}.faq-list details p{padding:0 52px 22px 20px;margin:0;line-height:1.7}.faq-list details p a{color:var(--accent-text);font-weight:600}
.home-page-directory a:focus-visible,.faq-list summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}
@media(max-width:800px){.home-page-directory{padding:75px 8vw}.home-page-directory__heading{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.home-page-directory__grid{grid-template-columns:1fr}.home-page-link-card{min-height:100px}.faq-list summary{min-height:68px;padding-left:15px}.faq-list details p{padding-left:15px;padding-right:42px}}
@media(prefers-reduced-motion:reduce){.home-page-link-card,.home-page-link-card>.fa-icon:last-child,.faq-list details,.faq-list summary,.faq-list summary:after{transition:none}.home-page-link-card:hover,.home-page-link-card:focus-visible{transform:none}}
/* Homepage explore directory redesign: route hub with clearer hierarchy. */
.home-page-directory{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,9vw,132px) var(--page-gutter,6vw);
  background:linear-gradient(135deg,#ebe9e4 0%,#e5e3de 100%);
}
.home-page-directory::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:min(38vw,520px);
  height:100%;
  pointer-events:none;
  background:radial-gradient(circle at 80% 20%,rgba(214,169,36,.14),transparent 60%);
}
.home-page-directory>.section-kicker,
.home-page-directory__heading,
.home-page-directory__grid{position:relative;z-index:1}
.home-page-directory>.section-kicker{margin-bottom:clamp(24px,3vw,38px)}
.home-page-directory__heading{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);
  align-items:end;
  gap:clamp(32px,8vw,132px);
  margin-bottom:clamp(38px,5vw,64px);
}
.home-page-directory__heading h2{
  max-width:760px;
  margin:0;
  color:var(--ink);
  font:500 clamp(42px,5.8vw,86px)/.93 var(--font-subheading);
  letter-spacing:-.065em;
}
.home-page-directory__heading h2 em{color:var(--accent-text);font-style:italic}
.home-page-directory__heading p{
  max-width:410px;
  margin:0 0 5px;
  color:#4e5f70;
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.7;
}
.home-page-directory__grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
}
.home-page-link-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:132px;
  padding:24px 26px;
  border:1px solid rgba(23,23,23,.1);
  border-radius:20px;
  color:var(--ink);
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 22px rgba(23,23,23,.04);
  text-decoration:none;
  transition-property:transform,box-shadow,border-color,background-color;
  transition-duration:240ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.home-page-link-card--wide{grid-column:span 6}
.home-page-link-card:not(.home-page-link-card--wide):not(.home-page-link-card--accent){grid-column:span 3}
.home-page-link-card--accent{grid-column:span 6;color:var(--card);border-color:var(--ink);background:var(--ink)}
.home-page-link-card:hover,.home-page-link-card:focus-visible{
  border-color:var(--accent-text);
  box-shadow:0 18px 42px rgba(23,23,23,.12);
  transform:translateY(-5px);
}
.home-page-link-card:active{transform:translateY(-1px) scale(.98)}
.home-page-link-card__icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  color:var(--accent-text);
  background:var(--ink);
  font-size:18px;
}
.home-page-link-card>span:nth-child(2){display:grid;gap:5px;min-width:0}
.home-page-link-card small{color:#987611;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.home-page-link-card strong{font:500 clamp(20px,1.8vw,27px)/1.05 var(--font-subheading)}
.home-page-link-card em{color:#5b6873;font-size:12px;font-style:normal;line-height:1.4}
.home-page-link-card>.fa-icon:last-child{
  margin-left:auto;
  align-self:flex-start;
  color:#74808a;
  transition-property:transform,color;
  transition-duration:180ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.home-page-link-card:hover>.fa-icon:last-child,.home-page-link-card:focus-visible>.fa-icon:last-child{color:var(--accent-text);transform:translate(4px,-4px)}
.home-page-link-card--accent small,.home-page-link-card--accent>.fa-icon:last-child{color:var(--accent-text)}
.home-page-link-card--accent em{color:rgba(255,255,255,.72)}
.home-page-link-card--accent .home-page-link-card__icon{color:var(--ink);background:var(--accent-text)}
.home-page-directory a:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}
@media(max-width:1099px){
  .home-page-directory__heading{grid-template-columns:minmax(0,1fr) minmax(250px,.75fr);gap:40px}
  .home-page-link-card--wide,.home-page-link-card--accent{grid-column:span 6}
  .home-page-link-card:not(.home-page-link-card--wide):not(.home-page-link-card--accent){grid-column:span 6}
}
@media(max-width:700px){
  .home-page-directory{padding:72px var(--mobile-gutter,16px)}
  .home-page-directory__heading{grid-template-columns:1fr;gap:20px;margin-bottom:34px}
  .home-page-directory__heading h2{font-size:clamp(42px,12vw,66px)}
  .home-page-directory__heading p{max-width:42ch}
  .home-page-directory__grid{grid-template-columns:1fr;gap:12px}
  .home-page-link-card,.home-page-link-card--wide,.home-page-link-card--accent,.home-page-link-card:not(.home-page-link-card--wide):not(.home-page-link-card--accent){grid-column:auto;min-height:104px;padding:20px}
  .home-page-link-card__icon{width:46px;height:46px;flex-basis:46px;border-radius:14px;font-size:16px}
  .home-page-link-card strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .home-page-link-card,.home-page-link-card>.fa-icon:last-child{transition-duration:1ms!important}
  .home-page-link-card:hover,.home-page-link-card:focus-visible,.home-page-link-card:active{transform:none!important}
}

/* Homepage FAQ refinement: clear, branded expand/contract affordance. */
.faq-section{
  background:linear-gradient(135deg,#eceae6 0%,#e4e2dd 100%);
}
.faq-list{
  max-width:920px;
  margin:0 auto;
  border-top:1px solid rgba(23,23,23,.14);
}
.faq-list details{
  border-bottom:1px solid rgba(23,23,23,.14);
  background:transparent;
  transition-property:background-color;
  transition-duration:200ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.faq-list details[open]{background:rgba(255,255,255,.7)}
.faq-list summary{
  min-height:78px;
  padding:20px 68px 20px 24px;
  border-radius:0;
  color:#17283a;
  font:500 clamp(18px,2vw,25px)/1.2 var(--font-subheading);
  transition-property:color,background-color;
  transition-duration:160ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.faq-list summary:hover,.faq-list summary:focus-visible{
  color:#7b5d08;
  background:rgba(255,255,255,.58);
}
.faq-list summary:after{
  content:"+";
  right:24px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid #c29a25;
  border-radius:50%;
  color:#8c6b0b;
  background:transparent;
  font:500 20px/1 var(--font-text);
  transition-property:color,background-color,border-color,transform;
  transition-duration:200ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.faq-list details[open] summary:after{
  content:"\2212";
  transform:none;
  color:#1b1b1b;
  background:var(--accent-text);
  border-color:var(--accent-text);
}
.faq-list details p{
  max-width:72ch;
  padding:0 68px 24px 24px;
  margin:0;
  color:#526273;
  font-size:14px;
  line-height:1.7;
}
@media(max-width:640px){
  .faq-list summary{min-height:68px;padding:18px 58px 18px 16px;font-size:18px}
  .faq-list summary:after{right:16px;width:32px;height:32px;font-size:18px}
  .faq-list details p{padding:0 58px 20px 16px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .faq-list details,.faq-list summary,.faq-list summary:after{transition-duration:1ms!important}
}

/* Residence feature carousel: contained layout keeps every feature readable. */
.residence-section{overflow:hidden}
.residence-carousel{width:100%;margin:clamp(32px,5vw,64px) auto 0}
.residence-carousel__viewport{position:relative;width:100%;min-height:clamp(430px,42vw,590px);border-radius:24px;overflow:hidden;background:var(--ink);box-shadow:0 18px 42px rgba(20,20,20,.14)}
.residence-carousel__slide{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);min-height:clamp(430px,42vw,590px);background:var(--ink);animation:residence-slide-in 420ms cubic-bezier(.2,0,0,1) both}
.residence-carousel__slide:not(.is-active){display:none}
.residence-carousel__media{position:relative;min-width:0;min-height:100%;margin:0;overflow:hidden;background:var(--surface-soft)}
.residence-carousel__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.04),rgba(10,10,10,.22))}
.residence-carousel__media img{display:block;width:100%;height:100%;min-height:clamp(430px,42vw,590px);object-fit:cover}
.residence-carousel__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(30px,5vw,76px);color:var(--card);background:var(--ink)}
.residence-carousel__content .card-eyebrow{margin:0 0 24px;color:var(--accent-text);font-size:10px;letter-spacing:.14em}
.residence-carousel__content h3{max-width:12ch;margin:0;color:var(--card);font:500 clamp(32px,4.1vw,68px)/.98 var(--font-subheading);letter-spacing:-.045em;overflow-wrap:anywhere}
.residence-carousel__content h3 em{color:var(--accent-text);font-style:italic}
.residence-carousel__content p{max-width:38ch;margin:24px 0 30px;color:rgba(255,255,255,.74);font-size:clamp(14px,1.2vw,17px);line-height:1.65}
.residence-carousel__link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--accent-text);color:var(--card);font-size:11px;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.residence-carousel__link .fa-icon{color:var(--accent-text);font-size:13px}
.residence-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.residence-carousel__button,.residence-carousel__dots button{appearance:none;border:1px solid rgba(23,23,23,.2);background:var(--card);color:var(--ink);cursor:pointer}
.residence-carousel__button{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;transition-property:background-color,color,border-color,transform;transition-duration:180ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.residence-carousel__button:hover,.residence-carousel__button:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--card)}
.residence-carousel__button:active{transform:scale(.96)}
.residence-carousel__dots{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px}
.residence-carousel__dots button{width:12px;height:12px;padding:0;border-radius:50%;transition-property:transform,background-color,border-color;transition-duration:180ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.residence-carousel__dots button.is-active{transform:scale(1.25);border-color:var(--accent-text);background:var(--accent-text)}
.residence-carousel__button:focus-visible,.residence-carousel__dots button:focus-visible,.residence-carousel__link:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}
@keyframes residence-slide-in{from{opacity:.45;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){
  .residence-carousel{margin-top:32px}
  .residence-carousel__viewport,.residence-carousel__slide{min-height:0;border-radius:18px}
  .residence-carousel__slide{grid-template-columns:1fr}
  .residence-carousel__media{aspect-ratio:4/3;min-height:0}
  .residence-carousel__media img{min-height:0}
  .residence-carousel__content{padding:30px 24px 34px}
  .residence-carousel__content .card-eyebrow{margin-bottom:18px}
  .residence-carousel__content h3{max-width:15ch;font-size:clamp(34px,10vw,54px)}
  .residence-carousel__content p{margin:18px 0 24px;font-size:15px}
  .residence-carousel__controls{gap:10px}
  .residence-carousel__dots{gap:8px}
}
@media(max-width:420px){
  .residence-carousel__content{padding:26px 20px 30px}
  .residence-carousel__content h3{font-size:clamp(32px,10vw,44px)}
  .residence-carousel__dots{gap:6px}
  .residence-carousel__dots button{width:10px;height:10px}
}
@media(prefers-reduced-motion:reduce){
  .residence-carousel__slide{animation:none}
  .residence-carousel__button,.residence-carousel__dots button{transition:none}
}
/* FAQ controls: explicit plus/minus states with a readable branded contrast. */
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding-right:76px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:24px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid #c29a25;
  border-radius:50%;
  color:#7b5d08;
  background:transparent;
  font:600 20px/1 var(--font-text);
  transform:translateY(-50%);
  transition-property:color,background-color,border-color,transform;
  transition-duration:180ms;
  transition-timing-function:cubic-bezier(.2,0,0,1);
}
.faq-list details[open] summary::after{
  content:"\2212";
  color:#1b1b1b;
  background:#f3bc16;
  border-color:#f3bc16;
  transform:translateY(-50%);
}
.faq-list summary:hover::after,.faq-list summary:focus-visible::after{
  color:#1b1b1b;
  background:#f3bc16;
  border-color:#f3bc16;
}
@media(max-width:640px){
  .faq-list summary{padding-right:60px}
  .faq-list summary::after{right:16px;width:34px;height:34px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){.faq-list summary::after{transition:none}}
/* Residence carousel: responsive three-up track. */
.residence-carousel__viewport{
  min-height:0;
  border-radius:24px;
  background:transparent;
  box-shadow:none;
}
.residence-carousel__track{
  display:flex;
  touch-action:pan-y;
  align-items:stretch;
  gap:16px;
  width:100%;
  transform:translate3d(0,0,0);
  transition:transform 500ms cubic-bezier(.2,0,0,1);
  will-change:transform;
}
.residence-carousel__slide{
  display:flex !important;
  flex:0 0 calc((100% - 32px) / 3);
  flex-direction:column;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  box-shadow:0 14px 34px rgba(20,20,20,.1);
  animation:none;
}
.residence-carousel__media{
  flex:0 0 var(--carousel-media);
  height:var(--carousel-media);
  min-height:0;
  aspect-ratio:auto !important;
}
.residence-carousel__media img{
  height:100%;
  min-height:0;
  object-fit:cover;
}
.residence-carousel__media::after{
  background:linear-gradient(180deg,rgba(10,10,10,.02),rgba(10,10,10,.28));
}
.residence-carousel__content{
  flex:1 1 auto;
  justify-content:flex-start;
  padding:clamp(22px,2.5vw,32px);
  color:var(--ink);
  background:var(--card);
}
.residence-carousel__content .card-eyebrow{
  margin-bottom:16px;
  color:var(--accent-text);
}
.residence-carousel__content h3{
  max-width:16ch;
  color:var(--ink);
  font-size:clamp(28px,2.6vw,44px);
  line-height:1;
}
.residence-carousel__content p{
  max-width:34ch;
  margin:18px 0 24px;
  color:var(--text-muted);
  font-size:clamp(14px,1.1vw,16px);
  line-height:1.55;
}
.residence-carousel__link{
  margin-top:auto;
  color:var(--ink);
}
.residence-carousel__link .fa-icon{color:var(--accent-text)}
/* Controls overlay the card row instead of sitting under it: the previous and
   next buttons land on the vertical centre of the left and right edges, so the
   row can be driven without the eye leaving the cards. The wrapper spans the
   whole row but must not swallow clicks meant for the cards, so it takes no
   pointer events and the buttons opt back in. */
.residence-carousel{position:relative;--carousel-media:clamp(190px,20vw,260px)}
.residence-carousel__controls{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin:0;
  padding:0 clamp(10px,1.4vw,18px);
  pointer-events:none;
}
.residence-carousel__controls .residence-carousel__button{
  pointer-events:auto;
  /* Drop the arrows to the middle of the photograph. Centred on the card
     instead they land on the white content panel just below the image, where a
     white button has almost nothing to sit against; over the photograph they
     read as a control on the image. --carousel-media is what keeps the two
     mapped together at every breakpoint. */
  margin-top:calc(var(--carousel-media) / 2 - 24px);
  box-shadow:0 8px 22px rgba(15,15,15,.26);
}
/* The dots would double up with the arrows in this row, so they stay out of
   the layout while the script keeps them in sync for the arrow keys. */
.residence-carousel__dots{display:none}
.residence-carousel__dots button[hidden]{display:none}
/* Grab affordance, and no native image drag or text selection mid-swipe. */
.residence-carousel__track{cursor:grab}
.residence-carousel__track img{-webkit-user-drag:none;user-select:none}
.residence-carousel.is-dragging .residence-carousel__track{cursor:grabbing;user-select:none}
@media(max-width:700px){
  .residence-carousel__controls .residence-carousel__button{width:44px;height:44px;flex-basis:44px;margin-top:calc(var(--carousel-media) / 2 - 22px)}
}
.residence-carousel__slide:focus-within{box-shadow:0 0 0 3px rgba(241,184,18,.32),0 14px 34px rgba(20,20,20,.1)}
@media(max-width:1099px){
  .residence-carousel{--carousel-media:clamp(190px,26vw,230px)}
  .residence-carousel__slide{flex-basis:calc((100% - 16px) / 2)}
  .residence-carousel__content h3{font-size:clamp(29px,3.8vw,42px)}
}
@media(max-width:700px){
  .residence-carousel{margin-top:32px;--carousel-media:clamp(190px,56vw,250px)}
  .residence-carousel__viewport{border-radius:18px}
  .residence-carousel__track{gap:12px}
  .residence-carousel__slide{flex-basis:100%;border-radius:18px}
  .residence-carousel__content{padding:24px 22px 28px}
  .residence-carousel__content h3{max-width:15ch;font-size:clamp(32px,9vw,48px)}
  .residence-carousel__content p{font-size:15px}
  .residence-carousel__controls{gap:10px}
}
@media(max-width:420px){
  .residence-carousel__content{padding:22px 18px 24px}
  .residence-carousel__dots{gap:6px}
  .residence-carousel__dots button{width:10px;height:10px}
}
@media(prefers-reduced-motion:reduce){
  .residence-carousel__track{transition:none !important}
}


/* Residence/testimonial section rhythm. */
.residence-section + .testimonial-section{
  margin-top:clamp(36px,5.5vw,88px);
}
@media(max-width:700px){
  .residence-section + .testimonial-section{
    margin-top:32px;
  }
}
