
:root{--navy:#061a3a;--navy2:#0b2a57;--gold:#d9ad55;--gold2:#f2d28b;--ink:#132039;--paper:#f7f8fb;--muted:#6d7788;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}
.wrap{width:min(1180px,92vw);margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;border-radius:14px;padding:16px 24px;transition:.2s;box-shadow:0 12px 28px rgba(0,0,0,.18)}.btn:hover{transform:translateY(-2px)}
.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#06204a}.white{background:#fff;color:var(--navy)}
.hero{min-height:92vh;display:grid;place-items:center;position:relative;overflow:hidden;background:#061a3a center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,42,.96),rgba(3,17,42,.82) 42%,rgba(3,17,42,.18) 75%,rgba(3,17,42,.06))}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(3,17,42,.92))}
.hero-copy{position:relative;z-index:2;max-width:680px;color:white;padding:90px 0 110px}.eyebrow{font-weight:800;letter-spacing:.08em;color:var(--gold2);font-size:15px}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.08;margin:14px 0 20px;letter-spacing:-.05em}.hero h1 span{color:var(--gold2)}.lead{font-size:clamp(18px,2vw,24px);color:#edf3ff;margin:0 0 28px}.pills,.ctas{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);padding:10px 14px;border-radius:999px;font-weight:700;font-size:14px}.ctas{margin-top:26px}
section{padding:84px 0}.section-head{text-align:center;max-width:780px;margin:0 auto 42px}.kicker{color:#9d7224;font-weight:900;letter-spacing:.06em}.section-head h2,.floor h2,.reserve h2{font-size:clamp(30px,4vw,48px);line-height:1.2;margin:8px 0 14px;letter-spacing:-.04em}.sub{color:var(--muted);font-size:18px}
.features{background:var(--paper)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #e8ebf1;border-radius:20px;padding:26px;box-shadow:0 10px 30px rgba(12,35,72,.06)}.card .icon{font-size:30px}.card h3{font-size:20px;margin:10px 0 8px}.card p{margin:0;color:var(--muted)}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}.gallery .big{grid-row:span 2;min-height:520px}.gallery .small{min-height:250px}
.community{background:linear-gradient(180deg,#071b3b,#0a254d);color:white}.community .sub{color:#ccd7eb}.comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.comm-card{position:relative;border-radius:18px;overflow:hidden;min-height:300px}.comm-card img{width:100%;height:100%;object-fit:cover}.comm-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}.comm-label{position:absolute;left:20px;bottom:18px;z-index:2}.comm-label b{font-size:22px;display:block}.comm-label span{color:#f0d795}
.floor{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.floor img{width:100%;border-radius:18px;border:1px solid #e1e5ed}.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.spec{padding:18px;border-radius:16px;background:#f7f8fb;border:1px solid #e5e9f0}.spec b{display:block;color:var(--navy);font-size:22px}
.reserve{background:linear-gradient(135deg,#061a3a,#0b2d60);color:#fff;text-align:center}.reserve-box{max-width:860px;margin:auto;padding:46px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:rgba(255,255,255,.06)}.reserve-box p{color:#d9e4f6}
.footer{background:#031126;color:#aab7cb;padding:28px 0 90px;text-align:center;font-size:13px}.sticky{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:30;display:flex;gap:8px;width:min(720px,94vw);padding:8px;border-radius:18px;background:rgba(3,17,38,.9);backdrop-filter:blur(12px);box-shadow:0 16px 50px rgba(0,0,0,.28)}.sticky a{flex:1;padding:13px 14px;border-radius:12px;text-align:center;text-decoration:none;font-weight:900}.sticky .book{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#092047}.sticky .call{background:#fff;color:var(--navy)}
@media(max-width:900px){.hero{min-height:auto;background-position:65% center}.hero-copy{padding:74px 0 110px}.grid4{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .big{grid-column:1/-1;grid-row:auto;min-height:380px}.comm-grid,.floor{grid-template-columns:1fr}}
@media(max-width:560px){section{padding:62px 0}.grid4,.gallery,.specs{grid-template-columns:1fr}.gallery .small,.gallery .big{min-height:260px}.reserve-box{padding:30px 20px}.sticky{bottom:8px}.sticky a{font-size:14px}}

.extra-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.extra-card{background:#fff;border:1px solid #e5e9f0;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(10,32,65,.07)}
.extra-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eef2f7}
.extra-card-body{padding:18px 18px 20px}
.extra-card h3{font-size:21px;margin:0 0 6px;letter-spacing:-.03em;color:#0b2148}
.extra-card p{margin:0;color:#6d7788;font-size:15px;white-space:pre-line}
@media(max-width:900px){.extra-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.extra-gallery{grid-template-columns:1fr}}

/* V3: Korean mobile typography */
body,h1,h2,h3,p,span,a,b,button,label,input,textarea,figcaption{
  word-break:keep-all;
  overflow-wrap:break-word;
}
h1,h2,.section-head h2,.hero h1{
  text-wrap:balance;
}
p,.lead,.sub{
  text-wrap:pretty;
}
.hero-white{color:#fff!important}
.media-card{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#fff}
.media-card img{width:100%;height:100%;object-fit:cover;display:block}
.media-card figcaption{position:absolute;left:12px;bottom:12px;background:rgba(3,17,42,.78);color:#fff;padding:7px 10px;border-radius:9px;font-weight:800;font-size:14px}
.floorplan-img{width:100%;border-radius:18px;border:1px solid #e1e5ed}
.community-kicker,.reserve-kicker{color:#f0d795!important}
.reserve-ctas{justify-content:center}
.extra-gallery{justify-content:center}
.extra-gallery:has(.extra-card:nth-child(1):last-child){grid-template-columns:minmax(0,420px)}
.extra-gallery:has(.extra-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,420px))}
@media(max-width:900px){
  .hero h1{font-size:clamp(38px,9vw,58px)}
  .hero-copy{max-width:82vw}
  .section-head{max-width:88vw}
  .section-head h2,.floor h2,.reserve h2{font-size:clamp(28px,7vw,42px)}
}
@media(max-width:560px){
  body{font-size:15px}
  .wrap{width:min(92vw,1180px)}
  .hero{background-position:62% center}
  .hero-copy{max-width:100%;padding:62px 0 104px}
  .hero h1{font-size:clamp(34px,11vw,48px);line-height:1.13}
  .lead{font-size:17px;line-height:1.75}
  .pills{gap:7px}.pill{font-size:12px;padding:8px 10px}
  .ctas{display:grid;grid-template-columns:1fr}
  .btn{width:100%;padding:14px 16px}
  .section-head{max-width:100%;margin-bottom:30px}
  .section-head h2,.floor h2,.reserve h2{font-size:30px;line-height:1.28}
  .sub{font-size:16px;line-height:1.8}
  .card h3,.extra-card h3,.comm-label b{font-size:19px}
  .gallery{gap:12px}
  .media-card.big,.media-card.small{min-height:0}
  .media-card img{aspect-ratio:4/3;height:auto}
  .floor{gap:22px}
  .spec b{font-size:18px}
  .sticky{gap:6px}
  .sticky a{font-size:12px;line-height:1.3;padding:11px 7px}
}

/* V4: stronger Korean word-safe responsive typography */
html,body{max-width:100%;overflow-x:hidden}
body,h1,h2,h3,h4,p,span,a,b,strong,em,button,label,figcaption,.pill,.comm-label,.spec{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
}
input,textarea{word-break:normal;overflow-wrap:break-word}
.hero h1,.section-head h2,.floor h2,.reserve h2,.card h3,.extra-card h3,.comm-label b{
  word-break:keep-all;
  overflow-wrap:normal;
}
@media(max-width:560px){
  .hero h1{font-size:clamp(30px,9.5vw,42px);line-height:1.2;letter-spacing:-.04em}
  .section-head h2,.floor h2,.reserve h2{font-size:clamp(27px,8vw,32px);line-height:1.35;letter-spacing:-.035em}
  .hero-copy,.section-head,.card,.extra-card-body,.reserve-box{min-width:0}
  .lead,.sub,.card p,.extra-card p,.reserve-box p{word-break:keep-all;overflow-wrap:normal}
}


/* V5: mobile polish based on real-device screenshots */
@media(max-width:560px){

  /* Overall rhythm */
  section{padding:48px 0}
  .wrap{width:min(90vw,1180px)}
  .section-head{margin-bottom:24px}
  .kicker{font-size:13px;letter-spacing:.07em}

  /* Hero: reduce visual height and prevent oversized CTA blocks */
  .hero{min-height:0;background-position:60% center}
  .hero-copy{padding:54px 0 92px}
  .eyebrow{font-size:13px;letter-spacing:.07em}
  .hero h1{
    font-size:clamp(31px,9.2vw,40px);
    line-height:1.16;
    margin:12px 0 18px;
  }
  .lead{
    font-size:16px;
    line-height:1.72;
    margin-bottom:22px;
    max-width:100%;
  }
  .pills{gap:7px}
  .pill{
    font-size:11.5px;
    line-height:1.35;
    padding:8px 10px;
    white-space:nowrap;
  }
  .ctas{margin-top:20px;gap:10px}
  .btn{
    min-height:52px;
    padding:12px 14px;
    border-radius:13px;
    font-size:15px;
  }

  /* Section headings */
  .section-head h2,.floor h2,.reserve h2{
    font-size:clamp(25px,7.4vw,30px);
    line-height:1.34;
    margin:7px 0 11px;
  }
  .sub{
    font-size:15px;
    line-height:1.7;
    max-width:92%;
    margin-left:auto;
    margin-right:auto;
  }

  /* Feature cards: less vertical whitespace */
  .grid4{gap:12px}
  .card{
    padding:20px 18px;
    border-radius:17px;
  }
  .card .icon{font-size:26px}
  .card h3{
    font-size:18px;
    line-height:1.4;
    margin:8px 0 6px;
  }
  .card p{
    font-size:14px;
    line-height:1.65;
  }

  /* Interior: consistent image ratios instead of very tall images */
  .gallery{gap:14px}
  .media-card{
    border-radius:16px;
  }
  .media-card.big,.media-card.small{
    min-height:0!important;
  }
  .media-card img{
    width:100%;
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .media-card figcaption{
    left:10px;
    bottom:10px;
    font-size:13px;
    padding:6px 9px;
  }

  /* Community / additional gallery */
  .extra-gallery,.comm-grid{gap:14px}
  .extra-card,.comm-card{border-radius:16px}
  .extra-card-body{padding:15px 16px 17px}
  .extra-card h3,.comm-label b{font-size:18px}
  .extra-card p{font-size:14px;line-height:1.6}
  .comm-card{min-height:240px}
  .comm-label{left:16px;bottom:14px}

  /* Floor/specs */
  .floor{gap:20px}
  .specs{gap:9px}
  .spec{padding:14px;border-radius:14px}
  .spec b{font-size:17px;line-height:1.4}
  .floorplan-img{border-radius:15px}

  /* Reservation */
  .reserve-box{padding:26px 18px;border-radius:20px}
  .reserve-box p{font-size:15px;line-height:1.7}

  /* Sticky CTA: make it thinner so it covers less content */
  .sticky{
    width:calc(100vw - 24px);
    bottom:8px;
    padding:6px;
    gap:6px;
    border-radius:16px;
  }
  .sticky a{
    min-width:0;
    padding:10px 7px;
    border-radius:11px;
    font-size:11.5px;
    line-height:1.25;
    white-space:nowrap;
  }

  /* Give page enough breathing room above fixed CTA */
  .footer{padding-bottom:78px}
}

/* Extra-small phones */
@media(max-width:390px){
  .hero h1{font-size:30px}
  .section-head h2,.floor h2,.reserve h2{font-size:25px}
  .lead{font-size:15px}
  .pill{font-size:10.8px;padding:7px 9px}
  .sticky a{font-size:10.8px}
}

/* V6 inline reservation form */
.visit-form{margin-top:26px;text-align:left}
.visit-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.visit-field{display:grid;gap:7px;font-weight:800}
.visit-field span{color:#fff;font-size:14px}
.visit-field input{
  width:100%;min-width:0;border:1px solid rgba(255,255,255,.28);
  background:#fff;color:#10203a;border-radius:12px;padding:14px 13px;
  font:inherit;outline:none
}
.visit-field input:focus{border-color:#f2d28b;box-shadow:0 0 0 3px rgba(242,210,139,.2)}
.consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0;color:#d9e4f6;font-size:13px;line-height:1.55}
.consent input{margin-top:3px;flex:0 0 auto}
.visit-submit{width:100%;box-shadow:none;border:0}
.form-status{min-height:24px;margin-top:10px;text-align:center;font-weight:800}
.form-status.ok{color:#bff0ce}.form-status.err{color:#ffd0d0}
.reserve-phone{display:inline-block;margin-top:14px;color:#fff;font-weight:900;text-decoration:none;font-size:20px}
.specs{grid-template-columns:repeat(3,1fr)}

@media(max-width:900px){
  .visit-form-grid{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .visit-form{margin-top:20px}
  .visit-field span{font-size:13px}
  .visit-field input{padding:13px 12px}
  .consent{font-size:12px}
  .visit-submit{min-height:50px}
  .reserve-phone{font-size:18px}
  .specs{grid-template-columns:1fr}
  body{padding-bottom:74px}
  .sticky{bottom:8px}
  .sticky a{padding:9px 6px}
}


/* V7: refined mobile hero CTA spacing and proportions */
@media(max-width:560px){
  /* Hero: keep content compact but move primary CTAs lower */
  .hero{
    min-height:auto;
    background-position:60% center;
  }
  .hero-copy{
    padding:54px 0 72px;
  }

  /* Give the pill row and CTAs a clearer vertical rhythm */
  .pills{
    margin-bottom:0;
  }
  .ctas{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    width:90%;
    margin:34px auto 0;
  }

  /* Primary hero buttons: narrower than screen with comfortable inner space */
  .hero .ctas .btn{
    width:100%;
    min-height:58px;
    padding:13px 18px;
    border-radius:16px;
    font-size:15px;
    line-height:1.3;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
  }

  /* Avoid an overly tall empty area under the hero buttons */
  .hero + section{
    padding-top:44px;
  }

  /* Sticky CTA: smaller footprint and more side breathing room */
  .sticky{
    width:calc(100vw - 34px);
    bottom:10px;
    padding:6px;
    gap:7px;
    border-radius:18px;
  }
  .sticky a{
    padding:10px 8px;
    border-radius:12px;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }

  /* Keep page content clear of the fixed CTA */
  body{
    padding-bottom:82px;
  }
}

@media(max-width:390px){
  .ctas{
    width:88%;
    margin-top:30px;
  }
  .hero .ctas .btn{
    min-height:54px;
    font-size:14px;
    padding:12px 14px;
  }
  .sticky{
    width:calc(100vw - 24px);
  }
  .sticky a{
    font-size:10.5px;
    padding:9px 6px;
  }
}


/* =========================================================
   V8 FINAL: CTA pills / internal reservation / logo / 3 floorplans / final phone
   ========================================================= */

/* Hero logo */
.hero .wrap{position:relative}
.hero-logo-wrap{
  position:absolute;
  top:28px;
  left:0;
  z-index:3;
  max-width:230px;
  line-height:0;
}
.hero-logo-wrap[hidden]{display:none!important}
.hero-logo{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
  background:transparent;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.12));
}
.hero-logo-wrap:not([hidden]) + .hero-copy{padding-top:108px}

/* Hero CTAs: capsule-shaped, with more breathing room */
.hero .ctas{
  margin-top:38px;
  gap:14px;
}
.hero .ctas .btn{
  border-radius:999px;
  min-height:62px;
  padding:14px 28px;
}
.hero .ctas .gold{box-shadow:0 13px 30px rgba(0,0,0,.18)}
.hero .ctas .white{box-shadow:0 13px 30px rgba(0,0,0,.16)}

/* Built-in reservation section anchor */
#reserveSection{scroll-margin-top:24px}

/* Up to 3 floorplans */
.floor-section-wrap{display:grid;gap:34px}
.floor-copy{max-width:920px;margin:0 auto;width:100%;text-align:center}
.floor-copy .sub{margin-left:auto;margin-right:auto}
.floor-copy .specs{margin-top:24px}
.floorplan-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.floorplan-gallery.count-1{grid-template-columns:minmax(0,820px);justify-content:center}
.floorplan-gallery.count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin:auto;width:100%}
.floorplan-card{
  margin:0;
  background:#fff;
  border:1px solid #e1e5ed;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(11,31,62,.08);
}
.floorplan-card img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  background:#fff;
}
.floorplan-card figcaption{
  padding:11px 14px;
  text-align:center;
  font-weight:900;
  color:var(--navy);
  background:#f8f9fc;
}

/* Final phone CTA: large, readable and page-width balanced */
.reserve-phone{
  margin:20px auto 0;
  width:min(620px,100%);
  min-height:78px;
  padding:14px 26px;
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  line-height:1.15;
}
.reserve-phone-label{
  font-size:17px;
  font-weight:900;
  opacity:.84;
}
.reserve-phone strong{
  font-size:30px;
  font-weight:950;
  letter-spacing:.01em;
}

/* Sticky CTA: same capsule language */
.sticky{border-radius:999px}
.sticky a{border-radius:999px}

/* Admin preview helper styles (admin page itself has inline base styles) */
.logo-photo img{object-fit:contain!important;background:#eef2f7!important}

@media(max-width:900px){
  .floorplan-gallery{grid-template-columns:1fr 1fr}
  .floorplan-gallery.count-1{grid-template-columns:1fr}
}

@media(max-width:700px){
  .hero-logo-wrap{top:18px;left:0;max-width:180px}
  .hero-logo{max-height:54px}
  .hero-logo-wrap:not([hidden]) + .hero-copy{padding-top:78px}
}

@media(max-width:560px){
  .hero-copy{padding-bottom:58px}

  .hero .ctas{
    width:86%;
    margin:48px auto 0;
    gap:13px;
  }
  .hero .ctas .btn{
    min-height:58px;
    padding:13px 16px;
    border-radius:999px;
    font-size:14.5px;
  }

  .floor-section-wrap{gap:24px}
  .floor-copy{text-align:left}
  .floor-copy .sub{max-width:100%;margin-left:0;margin-right:0}
  .floorplan-gallery,
  .floorplan-gallery.count-2,
  .floorplan-gallery.count-3{
    grid-template-columns:1fr;
    max-width:none;
    gap:14px;
  }
  .floorplan-card{border-radius:16px}

  .reserve-phone{
    min-height:70px;
    padding:13px 16px;
    gap:7px 10px;
  }
  .reserve-phone-label{font-size:14px}
  .reserve-phone strong{
    width:100%;
    text-align:center;
    font-size:24px;
  }

  .sticky{
    width:calc(100vw - 30px);
    border-radius:999px;
  }
  .sticky a{
    border-radius:999px;
    font-size:11px;
  }
}

@media(max-width:390px){
  .hero .ctas{width:84%;margin-top:44px}
  .hero-logo-wrap{max-width:165px}
  .reserve-phone strong{font-size:22px}
}

/* =========================================================
   V9 FINAL: hero CTA vertical-position refinement only
   ========================================================= */

/* Desktop/tablet: slightly more space above the two main CTA buttons */
.hero .ctas{
  margin-top:52px;
}

/* Mobile: move the visit-reservation / sales-inquiry buttons lower
   without changing their size, colors, font treatment, or capsule shape. */
@media(max-width:560px){
  .hero .ctas{
    margin-top:74px;
  }

  /* Keep enough space below the lowered buttons so the next section
     does not feel cramped. */
  .hero-copy{
    padding-bottom:72px;
  }
}

/* Extra-small phones */
@media(max-width:390px){
  .hero .ctas{
    margin-top:66px;
  }
}

/* =========================================================
   TRUE FINAL: premium hero CTA / logo cleanup / slimmer sticky
   ========================================================= */

/* Main hero CTA group: lower placement + premium card treatment */
.hero .hero-ctas{
  width:min(620px,92%);
  margin:58px 0 0;
  gap:14px;
}
.hero .hero-action{
  width:100%;
  min-height:78px;
  border-radius:999px;
  padding:10px 18px 10px 12px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 26px;
  align-items:center;
  gap:15px;
  text-align:left;
  letter-spacing:-.02em;
}
.hero .hero-action-icon{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--navy);
  font-size:27px;
  line-height:1;
  box-shadow:0 7px 18px rgba(0,0,0,.14);
  font-family:Arial,sans-serif;
}
.hero .hero-action-icon-phone{
  font-size:25px;
}
.hero .hero-action-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.hero .hero-action-copy strong{
  display:block;
  font-size:21px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.035em;
  white-space:normal;
}
.hero .hero-action-copy small{
  display:block;
  font-size:12.5px;
  line-height:1.35;
  font-weight:700;
  opacity:.72;
  letter-spacing:-.01em;
}
.hero .hero-action-arrow{
  justify-self:end;
  font-family:Arial,sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:1;
  transform:translateY(-1px);
}
.hero .hero-action.gold{
  background:linear-gradient(135deg,#f8dfa0,#deb158);
  color:#071d43;
}
.hero .hero-action.white{
  background:rgba(255,255,255,.97);
  color:var(--navy);
}

/* Logo: transparent output is shown without a forced plate/background */
.hero-logo-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hero-logo{
  background:transparent!important;
}

/* Final reservation phone CTA: a little tighter and better balanced */
.reserve-phone{
  gap:8px 14px;
  min-height:72px;
  padding:12px 24px;
}
.reserve-phone-label{
  letter-spacing:-.02em;
}
.reserve-phone strong{
  letter-spacing:.015em;
}

/* Slimmer fixed bottom CTA so it hides less page content */
.sticky{
  min-height:0;
  padding:5px;
  gap:6px;
  border-radius:999px;
}
.sticky a{
  min-height:44px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  line-height:1.15;
}

/* Admin logo preview: transparent logos should visually sit on a neutral checker-like plate */
.logo-photo img{
  object-fit:contain!important;
  background:
    linear-gradient(45deg,#eef2f7 25%,transparent 25%),
    linear-gradient(-45deg,#eef2f7 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#eef2f7 75%),
    linear-gradient(-45deg,transparent 75%,#eef2f7 75%),
    #fff!important;
  background-size:18px 18px!important;
  background-position:0 0,0 9px,9px -9px,-9px 0!important;
}

/* Mobile-specific final proportions */
@media(max-width:560px){
  .hero .hero-ctas{
    width:84%;
    margin:78px auto 0;
    gap:13px;
  }

  .hero .hero-action{
    min-height:72px;
    grid-template-columns:52px minmax(0,1fr) 22px;
    gap:12px;
    padding:9px 15px 9px 10px;
  }

  .hero .hero-action-icon{
    width:50px;
    height:50px;
    font-size:24px;
  }

  .hero .hero-action-icon-phone{
    font-size:23px;
  }

  .hero .hero-action-copy strong{
    font-size:17px;
    line-height:1.2;
  }

  .hero .hero-action-copy small{
    font-size:11px;
  }

  .hero .hero-action-arrow{
    font-size:27px;
  }

  .hero-copy{
    padding-bottom:76px;
  }

  .reserve-phone{
    width:min(92%,620px);
    min-height:66px;
    padding:11px 16px;
    gap:5px 8px;
  }
  .reserve-phone-label{
    font-size:13px;
  }
  .reserve-phone strong{
    width:100%;
    font-size:23px;
  }

  .sticky{
    width:calc(100vw - 26px);
    bottom:7px;
    padding:4px;
  }
  .sticky a{
    min-height:40px;
    padding:7px 7px;
    font-size:10.8px;
  }

  body{
    padding-bottom:72px;
  }
}

@media(max-width:390px){
  .hero .hero-ctas{
    width:82%;
    margin-top:70px;
  }
  .hero .hero-action{
    min-height:68px;
    grid-template-columns:48px minmax(0,1fr) 20px;
    gap:10px;
  }
  .hero .hero-action-icon{
    width:46px;
    height:46px;
    font-size:22px;
  }
  .hero .hero-action-copy strong{
    font-size:16px;
  }
  .hero .hero-action-copy small{
    font-size:10.5px;
  }
}


/* =========================================================
   MULTI-SITE POPUP: mobile-first image popup carousel
   ========================================================= */
.site-popup-layer{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .2s ease}.site-popup-layer.show{opacity:1}.site-popup-backdrop{position:absolute;inset:0;background:rgba(2,10,24,.72);backdrop-filter:blur(4px)}.site-popup-shell{position:relative;z-index:1;width:min(92vw,560px);max-height:92dvh;display:flex;flex-direction:column;align-items:center}.site-popup-stage{width:100%;max-height:78dvh;border-radius:20px;overflow:hidden;background:#0a1426;box-shadow:0 24px 70px rgba(0,0,0,.45);display:grid;place-items:center}.site-popup-image{display:block;width:100%;height:auto;max-height:78dvh;object-fit:contain;background:#fff}.site-popup-x{position:absolute;z-index:4;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(5,16,35,.78);color:#fff;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}.site-popup-nav{position:absolute;z-index:4;top:42%;width:42px;height:52px;border:0;border-radius:14px;background:rgba(5,16,35,.72);color:#fff;font-size:35px;line-height:1;cursor:pointer}.site-popup-prev{left:-14px}.site-popup-next{right:-14px}.site-popup-dots{display:flex;justify-content:center;gap:7px;margin:10px 0 0}.site-popup-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.45);cursor:pointer}.site-popup-dots button.active{width:22px;border-radius:999px;background:#fff}.site-popup-footer{display:flex;justify-content:center;gap:8px;margin-top:10px}.site-popup-footer button{border:0;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.site-popup-today{background:rgba(255,255,255,.94);color:#102447}.site-popup-close{background:#e1b55a;color:#071d43}
@media(max-width:560px){.site-popup-layer{padding:12px}.site-popup-shell{width:min(94vw,430px);max-height:94dvh}.site-popup-stage,.site-popup-image{max-height:80dvh}.site-popup-stage{border-radius:16px}.site-popup-x{right:8px;top:8px;width:36px;height:36px}.site-popup-nav{width:36px;height:48px;font-size:31px;top:43%}.site-popup-prev{left:6px}.site-popup-next{right:6px}.site-popup-footer{width:100%;gap:7px}.site-popup-footer button{flex:1;padding:10px 8px;font-size:12px}}
@media(max-width:390px){.site-popup-shell{width:95vw}.site-popup-stage,.site-popup-image{max-height:78dvh}.site-popup-footer button{font-size:11.5px}}


/* V7: premium 4:6 feature cards with admin visibility controls */
.features .grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}.feature-card-modern{display:grid;grid-template-columns:40% 60%;min-height:190px;background:#f7f9fc;border:1px solid #cfd8e6;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(7,31,68,.14);transition:transform .2s ease,box-shadow .2s ease}.feature-card-modern:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,31,68,.18)}.feature-card-media{position:relative;min-width:0;background:#e9eef5;overflow:hidden}.feature-card-media img{width:100%;height:100%;min-height:190px;display:block;object-fit:cover}.feature-card-fallback{width:100%;height:100%;min-height:190px;display:grid;place-items:center;font-size:48px;background:linear-gradient(135deg,#e9f1fb,#dce7f4)}.feature-card-number{position:absolute;left:12px;top:12px;display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:9px;background:rgba(4,25,55,.9);color:#fff;font-size:13px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.18)}.feature-card-copy{min-width:0;padding:24px 24px 22px;display:flex;flex-direction:column;justify-content:center}.feature-card-copy h3{margin:0 0 10px;color:#081c3d;font-size:22px;line-height:1.35;letter-spacing:-.035em}.feature-card-copy p{margin:0;color:#687488;font-size:15px;line-height:1.7;white-space:pre-line}.feature-card-modern .icon{display:none}
@media(max-width:900px){.features .grid4{grid-template-columns:1fr;max-width:720px}.feature-card-modern{min-height:170px}.feature-card-media img,.feature-card-fallback{min-height:170px}}
@media(max-width:560px){.features .grid4{gap:12px}.feature-card-modern{grid-template-columns:40% 60%;min-height:132px;border-radius:17px}.feature-card-media img,.feature-card-fallback{height:100%;min-height:132px}.feature-card-fallback{font-size:34px}.feature-card-number{left:8px;top:8px;min-width:26px;height:26px;padding:0 6px;border-radius:7px;font-size:11px}.feature-card-copy{padding:15px 14px}.feature-card-copy h3{font-size:16px;line-height:1.35;margin:0 0 6px}.feature-card-copy p{font-size:12.5px;line-height:1.58;color:#6b7586}}


/* ===== Premium interior section v5 ===== */
#interiorSection{
  background:linear-gradient(180deg,#fbfaf7 0%,#f5f2eb 100%);
  position:relative;
}
#interiorSection .section-head{
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
#interiorSection .section-head .kicker{
  color:#b98b39;
  letter-spacing:.16em;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:800;
}
#interiorSection .section-head h2{color:#071b3b}
#interiorSection .section-head .sub{color:#55657a}
.premium-interior-list{display:grid;gap:18px;margin-top:30px}
.premium-interior-card{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);
  overflow:hidden;
  border:5px solid #0a2345;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 42px rgba(7,31,68,.16);
  position:relative;
}
.premium-interior-card:after{
  content:"";position:absolute;inset:5px;border:1px solid rgba(190,145,59,.55);border-radius:18px;pointer-events:none;
}
.premium-interior-media{min-height:380px;background:#e8ebef}
.premium-interior-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.premium-interior-copy{
  padding:38px 36px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:1;
  background:linear-gradient(135deg,#fff 0%,#fbfaf6 100%);
}
.premium-interior-eyebrow{display:flex;align-items:center;gap:14px;color:#b88a38;font-family:Georgia,"Times New Roman",serif;font-weight:800;letter-spacing:.03em}
.premium-interior-no{
  display:inline-grid;place-items:center;min-width:52px;height:52px;padding:0 10px;
  border-radius:15px;background:#071b3b;color:#fff;border:2px solid #c89c4b;
  font-size:19px;box-shadow:0 5px 14px rgba(7,31,68,.18);
}
.premium-interior-copy h3{font-size:32px;line-height:1.25;color:#071b3b;margin:16px 0 8px}
.premium-interior-rule{width:46px;height:2px;background:#c99c48;margin:6px 0 18px}
.premium-interior-copy p{font-size:17px;line-height:1.85;color:#43536a;margin:0;word-break:keep-all}
@media(max-width:820px){
  .premium-interior-card{grid-template-columns:1.15fr .85fr;border-width:4px;border-radius:22px}
  .premium-interior-media{min-height:270px}
  .premium-interior-copy{padding:24px 20px}
  .premium-interior-no{min-width:42px;height:42px;border-radius:12px;font-size:15px}
  .premium-interior-eyebrow{gap:9px;font-size:12px}
  .premium-interior-copy h3{font-size:24px;margin-top:12px}
  .premium-interior-copy p{font-size:14px;line-height:1.7}
}
@media(max-width:560px){
  #interiorSection .section-head{text-align:center}
  .premium-interior-list{gap:14px;margin-top:22px}
  .premium-interior-card{
    grid-template-columns:52% 48%;
    border-width:3px;border-radius:20px;
    box-shadow:0 12px 28px rgba(7,31,68,.15);
    min-height:210px;
  }
  .premium-interior-card:after{inset:3px;border-radius:15px}
  .premium-interior-media{min-height:210px}
  .premium-interior-copy{padding:18px 12px}
  .premium-interior-eyebrow{gap:7px;font-size:10px}
  .premium-interior-no{min-width:34px;height:34px;padding:0 7px;border-radius:10px;font-size:12px}
  .premium-interior-copy h3{font-size:20px;margin:9px 0 4px}
  .premium-interior-rule{width:30px;margin:4px 0 10px}
  .premium-interior-copy p{font-size:12.5px;line-height:1.58}
}


/* ===== Premium interior full-image overlay v7 ===== */
.premium-interior-card.overlay-card{
  display:block;
  position:relative;
  min-height:420px;
  overflow:hidden;
  border:4px solid #0a2345;
  border-radius:28px;
  background:#0a2345;
  box-shadow:0 18px 42px rgba(7,31,68,.18);
}
.premium-interior-card.overlay-card:after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(201,156,72,.68);
  border-radius:20px;
  pointer-events:none;
  z-index:3;
}
.premium-interior-card.overlay-card .premium-interior-media{
  position:absolute;
  inset:0;
  min-height:0;
}
.premium-interior-card.overlay-card .premium-interior-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.premium-interior-overlay{
  position:relative;
  z-index:2;
  min-height:420px;
  width:46%;
  padding:42px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
  background:linear-gradient(90deg,rgba(4,14,31,.92) 0%,rgba(4,14,31,.80) 58%,rgba(4,14,31,.28) 86%,rgba(4,14,31,0) 100%);
  box-sizing:border-box;
}
.premium-interior-overlay .premium-interior-eyebrow{
  color:#e0b860;
}
.premium-interior-overlay .premium-interior-no{
  background:#071b3b;
  color:#fff;
  border:2px solid #d4aa55;
  box-shadow:0 6px 16px rgba(0,0,0,.28);
}
.premium-interior-overlay h3{
  color:#fff;
  font-size:36px;
  line-height:1.2;
  margin:18px 0 10px;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.premium-interior-overlay .premium-interior-rule{
  background:#d6ad59;
}
.premium-interior-overlay p{
  color:#fff;
  font-size:18px;
  line-height:1.8;
  margin:0;
  word-break:keep-all;
  text-shadow:0 1px 6px rgba(0,0,0,.38);
}
@media(max-width:820px){
  .premium-interior-card.overlay-card{min-height:360px;border-radius:24px}
  .premium-interior-overlay{min-height:360px;width:56%;padding:30px 24px}
  .premium-interior-overlay h3{font-size:28px}
  .premium-interior-overlay p{font-size:15px;line-height:1.7}
}
@media(max-width:560px){
  .premium-interior-list{gap:16px}
  .premium-interior-card.overlay-card{
    min-height:300px;
    border-width:3px;
    border-radius:22px;
    box-shadow:0 14px 30px rgba(7,31,68,.18);
  }
  .premium-interior-card.overlay-card:after{inset:3px;border-radius:16px}
  .premium-interior-overlay{
    min-height:300px;
    width:68%;
    padding:24px 18px;
    background:linear-gradient(90deg,rgba(3,12,27,.94) 0%,rgba(3,12,27,.82) 62%,rgba(3,12,27,.34) 88%,rgba(3,12,27,0) 100%);
  }
  .premium-interior-overlay .premium-interior-eyebrow{font-size:11px;gap:8px}
  .premium-interior-overlay .premium-interior-no{min-width:38px;height:38px;font-size:13px}
  .premium-interior-overlay h3{font-size:26px;margin:12px 0 5px}
  .premium-interior-overlay .premium-interior-rule{width:32px;margin:5px 0 12px}
  .premium-interior-overlay p{font-size:13.5px;line-height:1.68}
}


/* ===== ALL UPDATES v10 landing polish ===== */
.hero:before{transition:background .25s ease}
.hero[data-hero-mode="bright"]:before{background:linear-gradient(90deg,rgba(3,15,34,.54),rgba(3,15,34,.18) 60%,rgba(3,15,34,.08))}
.hero[data-hero-mode="dark"]:before{background:linear-gradient(90deg,rgba(3,15,34,.88),rgba(3,15,34,.62) 65%,rgba(3,15,34,.48))}
.hero[data-hero-mode="original"]:before{background:linear-gradient(90deg,rgba(3,15,34,.42),rgba(3,15,34,.10) 70%,rgba(3,15,34,.03))}
.hero[data-hero-mode="auto"][data-hero-tone="dark-image"]:before{background:linear-gradient(90deg,rgba(3,15,34,.58),rgba(3,15,34,.18) 66%,rgba(3,15,34,.05))}
.hero[data-hero-mode="auto"][data-hero-tone="bright-image"]:before{background:linear-gradient(90deg,rgba(3,15,34,.84),rgba(3,15,34,.56) 66%,rgba(3,15,34,.36))}
.hero[data-hero-mode="auto"][data-hero-tone="mid-image"]:before{background:linear-gradient(90deg,rgba(3,15,34,.68),rgba(3,15,34,.32) 66%,rgba(3,15,34,.12))}
.hero[data-hero-position="top"]{background-position:center top}.hero[data-hero-position="bottom"]{background-position:center bottom}.hero[data-hero-position="left"]{background-position:left center}.hero[data-hero-position="right"]{background-position:right center}.hero[data-hero-position="center"]{background-position:center center}

/* Interior: less tall, no dead vertical space, full-image composition */
@media(max-width:560px){
  .premium-interior-card.overlay-card{min-height:0;aspect-ratio:4/3}
  .premium-interior-card.overlay-card .premium-interior-media{inset:0}
  .premium-interior-overlay{min-height:100%;width:72%;padding:18px 16px}
  .premium-interior-overlay h3{font-size:24px}
  .premium-interior-overlay p{font-size:13px;line-height:1.55}
}

/* Premium floor plan */
.premium-floor-section{background:linear-gradient(180deg,#071a38,#0b2348);color:#fff}
.premium-floor-section .section-head{text-align:center}.premium-floor-section .section-head .kicker{color:#ddb45d}.premium-floor-section .section-head h2,.premium-floor-section .section-head .sub{color:#fff}
.premium-floor-list{display:grid;gap:20px;margin-top:30px}
.premium-floor-card{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);border:2px solid rgba(213,171,84,.82);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.22)}
.premium-floor-copy{background:linear-gradient(145deg,#061832,#0c2a52);padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.premium-floor-type{color:#dcb55e;font:800 13px Georgia,serif;letter-spacing:.08em}.premium-floor-copy h3{font-size:31px;margin:10px 0;color:#fff}.premium-floor-area{font-size:17px;margin:0 0 8px}.premium-floor-copy p{color:#dce6f4;line-height:1.7;margin:4px 0 12px}
.premium-floor-tags{display:flex;flex-wrap:wrap;gap:7px}.premium-floor-tags span{border:1px solid rgba(220,181,94,.42);background:rgba(255,255,255,.06);padding:7px 9px;border-radius:9px;font-size:12px;color:#f7e8c6}
.premium-floor-image{border:0;background:#fff;padding:16px;cursor:zoom-in;min-height:300px}.premium-floor-image img{width:100%;height:100%;max-height:560px;object-fit:contain;display:block}
.floor-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:20px}.floor-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;background:#fff;border-radius:12px}.floor-lightbox-close{position:fixed;right:20px;top:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#071a38;font-size:30px;cursor:pointer}
@media(max-width:680px){.premium-floor-card{grid-template-columns:1fr}.premium-floor-copy{padding:20px}.premium-floor-copy h3{font-size:26px}.premium-floor-image{min-height:0;padding:10px}.premium-floor-image img{max-height:none}}

/* Custom 1-page image section */
.custom-image-section{padding:0;background:#fff}.custom-image-wrap{width:min(1180px,100%);margin:0 auto}.custom-image-wrap img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.custom-image-wrap{width:100%}}

/* Premium reservation */
.reserve{background:linear-gradient(145deg,#06162f 0%,#0a2348 64%,#102e57 100%);position:relative;overflow:hidden}
.reserve:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(218,177,87,.12),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.10),transparent);pointer-events:none}
.reserve .wrap{position:relative;z-index:1}.reserve-box{max-width:1060px;margin:auto;border:1px solid rgba(219,180,93,.42);border-radius:24px;padding:34px;background:rgba(6,24,50,.72);box-shadow:0 18px 54px rgba(0,0,0,.22);backdrop-filter:blur(6px)}
.reserve-kicker{color:#dfb75e}.reserve-box h2{color:#fff;font-size:38px}.reserve-box>p{color:#d7e1ef;line-height:1.7}
.reserve-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.reserve-benefits>div{border:1px solid rgba(218,178,89,.42);border-radius:14px;padding:13px;background:rgba(255,255,255,.04);display:grid;grid-template-columns:auto 1fr;column-gap:8px}.reserve-benefits span{grid-row:1/3;color:#e0b75c;font-size:22px}.reserve-benefits b{color:#fff}.reserve-benefits small{color:#bfcce0}
.visit-form{padding:20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}.visit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.visit-field-wide{grid-column:1/-1}.visit-field span{color:#f3f6fb}.visit-field input,.visit-field select,.visit-field textarea{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.22);color:#fff;border-radius:10px;padding:13px;font:inherit}.visit-field textarea{min-height:82px;resize:vertical}.visit-field select option{color:#111}.consent{color:#d8e3f1}.visit-submit{width:100%;font-size:18px;min-height:56px;box-shadow:0 9px 28px rgba(224,182,95,.2)}
.reserve-phone{border-color:rgba(218,178,89,.65);color:#fff}
@media(max-width:650px){.reserve{padding-left:0;padding-right:0}.reserve .wrap{width:100%}.reserve-box{border-radius:0;border-left:0;border-right:0;padding:26px 18px}.reserve-box h2{font-size:30px}.reserve-benefits{grid-template-columns:1fr}.visit-form-grid{grid-template-columns:1fr}.visit-field-wide{grid-column:auto}.visit-form{padding:14px}}


/* =====================================================================
   MOBILE DETAIL v11 — confirmed changes 1~6
   ===================================================================== */

/* 6) Section background differentiation: page stays white; sections get subtle rotating tones */
body{background:#fff}
#featuresSection,#interiorSection,#extraGallerySection,#communitySection,.premium-floor-section,.reserve,.custom-image-section{
  transition:background-color .2s ease;
}
.section-tone-warm{--section-accent:#c79b45;--section-soft:#fbf7ef;background:#fbf7ef!important}
.section-tone-blue{--section-accent:#4d86c7;--section-soft:#f2f7fc;background:#f2f7fc!important}
.section-tone-mint{--section-accent:#4f9b82;--section-soft:#f2f9f6;background:#f2f9f6!important}
.section-tone-lavender{--section-accent:#8067bd;--section-soft:#f6f3fb;background:#f6f3fb!important}
.section-tone-peach{--section-accent:#c97957;--section-soft:#fcf5f1;background:#fcf5f1!important}
.section-tone-sky{--section-accent:#4c97aa;--section-soft:#f1f8fa;background:#f1f8fa!important}
#featuresSection.section-tone-warm .kicker,#interiorSection.section-tone-blue .kicker,#extraGallerySection.section-tone-mint .kicker,#communitySection .kicker{
  color:var(--section-accent,#b88a38);
}

/* 1) Interior cards: shorter, brighter imagery, minimal left overlay */
.premium-interior-card.overlay-card{
  aspect-ratio:1.58/1;
  min-height:0!important;
  background:#071b3b;
}
.premium-interior-card.overlay-card .premium-interior-media{inset:0;min-height:0}
.premium-interior-card.overlay-card .premium-interior-media img{
  filter:brightness(1.05) contrast(1.03) saturate(1.03);
}
.premium-interior-overlay{
  min-height:100%!important;
  width:49%;
  padding:26px 24px;
  background:linear-gradient(90deg,rgba(3,14,31,.86) 0%,rgba(3,14,31,.70) 48%,rgba(3,14,31,.22) 83%,rgba(3,14,31,0) 100%);
}
.premium-interior-overlay p{max-width:310px}
@media(max-width:560px){
  #interiorSection{padding-top:48px;padding-bottom:48px}
  .premium-interior-list{gap:12px;margin-top:18px}
  .premium-interior-card.overlay-card{aspect-ratio:1.48/1;border-radius:18px}
  .premium-interior-overlay{width:51%;padding:14px 12px;background:linear-gradient(90deg,rgba(3,14,31,.82),rgba(3,14,31,.56) 52%,rgba(3,14,31,.10) 92%,transparent)}
  .premium-interior-overlay .premium-interior-eyebrow{font-size:9.5px}
  .premium-interior-overlay .premium-interior-no{min-width:31px;height:31px;border-width:1.5px;font-size:11px}
  .premium-interior-overlay h3{font-size:21px;margin:8px 0 3px}
  .premium-interior-overlay .premium-interior-rule{margin:3px 0 8px;width:26px}
  .premium-interior-overlay p{font-size:11.8px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}

/* 2) Gallery: image-first, title inside photo only */
.extra-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gallery-image-card{border:0;background:transparent;box-shadow:none;border-radius:18px;overflow:visible}
.gallery-image-button{position:relative;width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#0a1c3a;cursor:zoom-in;display:block;box-shadow:0 10px 24px rgba(7,27,59,.12)}
.gallery-image-button img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(1.03) contrast(1.02)}
.gallery-image-button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:33%;background:linear-gradient(to top,rgba(3,14,31,.68),rgba(3,14,31,0));pointer-events:none}
.gallery-title-overlay{position:absolute;left:16px;bottom:14px;z-index:2;display:flex;align-items:center;gap:9px;color:#fff;text-align:left}
.gallery-title-overlay strong{font-size:18px;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.gallery-no{display:grid;place-items:center;min-width:34px;height:34px;padding:0 7px;border-radius:9px;background:rgba(198,153,68,.95);font-size:12px;font-weight:900}
.gallery-zoom{position:absolute;right:14px;bottom:13px;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(221,181,94,.9);color:#e1b75e;background:rgba(3,17,38,.45);font-size:22px;line-height:1}
@media(max-width:560px){
  #extraGallerySection{padding-top:48px;padding-bottom:48px}
  .extra-gallery{grid-template-columns:1fr;gap:11px}
  .gallery-image-button{border-radius:16px}
  .gallery-image-button img{aspect-ratio:16/9}
  .gallery-title-overlay{left:12px;bottom:11px;gap:7px}
  .gallery-title-overlay strong{font-size:17px}
  .gallery-no{min-width:30px;height:30px;border-radius:8px;font-size:11px}
  .gallery-zoom{width:32px;height:32px;right:11px;bottom:10px;font-size:19px}
}

/* 3) Floor plan: one optimized main image + thumbnails, no tall stacked cards */
.premium-floor-section{color:#0a2147!important}
.premium-floor-section .section-head h2,.premium-floor-section .section-head .sub{color:#0a2147!important}
.premium-floor-section .section-head .kicker{color:var(--section-accent,#b98a36)!important}
.premium-floor-list{display:block;max-width:920px;margin:24px auto 0}
.floor-carousel-card{border:2px solid #cba052;border-radius:24px;padding:20px;background:linear-gradient(145deg,#071a38,#0b2851);box-shadow:0 18px 42px rgba(7,29,61,.18);color:#fff}
.floor-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.floor-carousel-head h3{margin:6px 0 0;color:#fff;font-size:30px}.floor-carousel-head .premium-floor-type{color:#dcb55e}
.floor-detail-btn{border:1px solid #d7ad58;border-radius:999px;padding:10px 15px;background:transparent;color:#e7bd66;font-weight:900}
.floor-carousel-main{display:block;width:100%;border:0;border-radius:16px;overflow:hidden;padding:0;background:#fff;cursor:zoom-in}
.floor-carousel-main img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff}
.floor-carousel-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:13px 0}
.floor-carousel-controls>strong{text-align:center;font-size:20px;color:#e4b960}.floor-carousel-controls>strong span{font-size:13px;color:#d6dfec;margin-left:4px}
.floor-arrow{width:42px;height:42px;border-radius:50%;border:1px solid #d5aa55;background:rgba(255,255,255,.02);color:#e6bb63;font-size:28px;line-height:1}
.floor-arrow.next{justify-self:end}.floor-arrow:disabled{opacity:.3}
.floor-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px;border-radius:15px;background:#fff}
.floor-thumb,.floor-more{border:2px solid transparent;border-radius:10px;padding:4px;background:#f7f8fb;min-height:72px;overflow:hidden}
.floor-thumb img{width:100%;height:70px;object-fit:contain;display:block}.floor-thumb.active{border-color:#d8aa50}
.floor-more{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0a2348;color:#fff;font-weight:900;font-size:20px}.floor-more small{font-size:11px;margin-top:3px}
.floor-meta{padding:14px 4px 2px}.floor-meta>b{color:#e9c87e}.floor-meta p{color:#d4deed;line-height:1.55;margin:6px 0}
.floor-chooser{position:fixed;inset:0;z-index:2100;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:18px}.floor-chooser-box{width:min(760px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;position:relative}.floor-chooser-box>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.floor-chooser-box [data-pick]{border:1px solid #dce2eb;border-radius:12px;background:#fff;padding:8px}.floor-chooser-box img{width:100%;aspect-ratio:4/3;object-fit:contain}.floor-chooser-box span{display:block;margin-top:5px;font-weight:800}.floor-chooser-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:30px}
@media(max-width:560px){
  #floorSection{padding-top:48px;padding-bottom:48px}
  .floor-carousel-card{border-radius:19px;padding:13px}
  .floor-carousel-head{margin-bottom:10px}.floor-carousel-head h3{font-size:23px}.floor-detail-btn{font-size:12px;padding:8px 10px}
  .floor-carousel-main{border-radius:12px}.floor-carousel-main img{aspect-ratio:16/10}
  .floor-carousel-controls{margin:8px 0}.floor-arrow{width:35px;height:35px;font-size:23px}.floor-carousel-controls{grid-template-columns:36px 1fr 36px}
  .floor-thumbs{gap:5px;padding:6px;border-radius:12px}.floor-thumb{min-height:54px}.floor-thumb img{height:52px}.floor-more{min-height:58px;font-size:16px}
  .floor-meta{padding-top:10px}.floor-meta p{font-size:12px}
}

/* 4) Reservation: compact, one-screen oriented and clearly optional fields */
.reserve{color:#fff!important;background:var(--section-soft,#f6f3fb)!important}
.reserve:before{display:none}
.reserve .wrap{position:relative}.reserve-box{max-width:860px;border:1px solid rgba(219,180,93,.50);background:linear-gradient(145deg,#06162f,#0b2851);box-shadow:0 18px 42px rgba(6,24,50,.16)}
.reserve-benefits{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.reserve-benefits>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:10px 6px}
.reserve-benefits .benefit-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #d6ad58;color:#e3ba65;font-size:10px;font-weight:900}
.reserve-benefits b{font-size:13px}.reserve-benefits small{font-size:10.5px}
.visit-form{padding:15px}.visit-form-grid{gap:9px}
.visit-field span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900}
.visit-field em,.visit-extra em{font-style:normal;font-size:9px;color:#e3b95e;border:1px solid rgba(227,185,94,.65);border-radius:999px;padding:2px 6px}
.visit-field input,.visit-field select,.visit-field textarea{min-height:44px;padding:10px 12px;font-size:13px}
.visit-extra{grid-column:1/-1;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0 11px;background:rgba(0,0,0,.08)}
.visit-extra summary{cursor:pointer;padding:10px 0;color:#f3f6fb;font-weight:900;font-size:12px}.visit-extra .visit-field{padding-bottom:10px}.visit-extra textarea{min-height:68px}
.consent{font-size:11px;line-height:1.45;margin:10px 0}.visit-submit{min-height:50px;font-size:16px}
.reserve-phone{display:none!important}
@media(max-width:650px){
  #reserveSection{padding:40px 0 88px!important}
  .reserve-box{border-radius:18px!important;border:1px solid rgba(219,180,93,.45)!important;padding:20px 14px!important;width:calc(100% - 20px);margin:auto}
  .reserve-box h2{font-size:27px;line-height:1.2;margin-bottom:9px}.reserve-box>p{font-size:12.5px;line-height:1.55;margin-bottom:10px}
  .reserve-benefits{grid-template-columns:repeat(3,1fr);margin:12px 0;gap:5px}.reserve-benefits>div{padding:8px 3px;border-radius:10px}.reserve-benefits .benefit-icon{width:29px;height:29px}.reserve-benefits b{font-size:10.5px}.reserve-benefits small{display:none}
  .visit-form{padding:11px;border-radius:13px}.visit-form-grid{grid-template-columns:1fr 1fr;gap:7px}
  .visit-field:nth-child(1),.visit-field:nth-child(2),.visit-field:nth-child(3){grid-column:1/-1}
  .visit-field-wide{grid-column:1/-1}.visit-field input,.visit-field select{min-height:40px;padding:8px 10px;font-size:12px}
  .visit-extra{grid-column:1/-1}.consent{font-size:10px;margin:8px 0}.visit-submit{min-height:46px;font-size:15px}
}

/* 5) Professional sticky CTA: no emoji, clean spacing */
.sticky{
  width:min(720px,calc(100vw - 22px));
  padding:6px;
  gap:6px;
  border-radius:999px;
  background:#071a38;
  border:1px solid rgba(218,178,89,.42);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.sticky a{min-height:56px;padding:8px 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px}
.sticky .call{background:#fff;color:#071a38;border:1px solid rgba(7,26,56,.12)}
.sticky .book{background:linear-gradient(135deg,#f5d781,#d9ad52);color:#071a38}
.sticky-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto}.sticky-icon svg{width:22px;height:22px;fill:currentColor}
.sticky-copy{display:flex;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap}.sticky-copy small{font-size:12px;font-weight:800}.sticky-copy strong{font-size:15px;font-weight:950;letter-spacing:-.02em}.sticky-arrow{font-size:25px;line-height:1;margin-left:3px}
@media(max-width:560px){
  .sticky{bottom:7px;width:calc(100vw - 18px);gap:5px;padding:5px}
  .sticky a{min-height:50px;padding:7px 9px;gap:6px}
  .sticky-icon{width:25px;height:25px}.sticky-icon svg{width:19px;height:19px}
  .sticky-copy{gap:4px}.sticky-copy small{font-size:9.8px}.sticky-copy strong{font-size:12.5px}.sticky-arrow{font-size:20px}
}


/* ===== FINAL FIX v11.1 ===== */

/* 1) Section heading visibility */
#featuresSection .section-head h2,
#interiorSection .section-head h2,
#extraGallerySection .section-head h2,
#communitySection .section-head h2,
#floorSection .section-head h2{
  color:#081d3d !important;
  text-shadow:none !important;
}
#featuresSection .section-head .sub,
#interiorSection .section-head .sub,
#extraGallerySection .section-head .sub,
#communitySection .section-head .sub,
#floorSection .section-head .sub{
  color:#5e6f87 !important;
}
#featuresSection .section-head .kicker,
#interiorSection .section-head .kicker,
#extraGallerySection .section-head .kicker,
#communitySection .section-head .kicker,
#floorSection .section-head .kicker{
  color:var(--section-accent,#b68a38) !important;
}

/* 2) Floorplan full viewer - no crop */
body.modal-open{overflow:hidden}
.floor-lightbox{
  position:fixed; inset:0; z-index:2200;
  background:rgba(2,9,20,.90);
  display:flex; align-items:center; justify-content:center;
  padding:14px;
}
.floor-lightbox-panel{
  width:min(980px,100%);
  height:min(92vh,980px);
  display:flex; flex-direction:column;
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.floor-lightbox-head{
  min-height:54px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 14px 10px 18px;
  border-bottom:1px solid #e5e9ef; color:#091e3f; background:#fff;
}
.floor-lightbox-head strong{font-size:16px; line-height:1.2}
.floor-lightbox-close{
  position:static !important;
  width:38px; height:38px; flex:0 0 auto;
  border-radius:50%; border:0; background:#f2f5f8;
  color:#0a1e3f; font-size:28px; line-height:36px; cursor:pointer;
}
.floor-lightbox-stage{
  flex:1 1 auto; min-height:0;
  display:flex; align-items:center; justify-content:center;
  overflow:auto; background:#f7f7f5; padding:10px;
}
.floor-lightbox-stage img{
  display:block;
  width:auto !important; height:auto !important;
  max-width:100% !important; max-height:100% !important;
  object-fit:contain !important; object-position:center center !important;
  border-radius:0 !important; background:#fff;
}
@media(max-width:560px){
  .floor-lightbox{padding:0}
  .floor-lightbox-panel{
    width:100vw; height:100dvh; max-height:none; border-radius:0;
  }
  .floor-lightbox-head{min-height:52px; padding:8px 10px 8px 14px}
  .floor-lightbox-stage{padding:8px; align-items:flex-start}
  .floor-lightbox-stage img{
    max-width:100% !important;
    max-height:calc(100dvh - 70px) !important;
    margin:auto;
  }
}

/* 3) Finalized CTA phone icon */
.sticky .call{gap:9px}
.sticky-phone-icon{
  width:34px !important; height:34px !important; border-radius:50%;
  background:#071a38; color:#fff;
  display:grid !important; place-items:center; padding:0; flex:0 0 auto;
}
.sticky-phone-icon svg{
  width:17px !important; height:17px !important; fill:#fff !important;
}
.sticky .call .sticky-copy{
  display:flex; flex-direction:row; align-items:center; gap:5px;
}
.sticky .call .sticky-copy small{
  font-size:12px; font-weight:850; color:#071a38;
}
.sticky .call .sticky-copy strong{
  font-size:14px; font-weight:950; color:#071a38; letter-spacing:-.01em;
}
@media(max-width:560px){
  .sticky-phone-icon{width:28px !important; height:28px !important}
  .sticky-phone-icon svg{width:14px !important; height:14px !important}
  .sticky .call .sticky-copy small{font-size:10.5px}
  .sticky .call .sticky-copy strong{font-size:12.5px}
}

.site-footer{background:#1f2a36;color:#aeb9c6;padding:28px 18px 92px;border-top:1px solid rgba(255,255,255,.06)}
.site-footer-inner{width:min(1100px,100%);margin:0 auto}.site-footer-row{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;align-items:center;font-size:13px}
.site-footer-row strong{color:#f1f4f7;font-weight:900}.site-footer-row.secondary{margin-top:18px;font-size:12px;color:#9aa7b5}
@media(max-width:560px){.site-footer{padding:22px 16px 82px}.site-footer-row{justify-content:flex-start;gap:8px 16px;font-size:11px}.site-footer-row.secondary{margin-top:12px;font-size:10.5px;line-height:1.6}}


/* ===== v12.2 footer position fix ===== */
.site-footer{
  position:relative;
  z-index:1;
  width:100%;
  margin:0;
}
.site-footer + .sticky{
  z-index:1000;
}

/* ===== v12.4 bottom disclaimer + business footer stack ===== */
.footer{background:#07152a;color:#aeb9c9;padding:28px 20px 26px;text-align:center;font-size:13px;line-height:1.9;border-top:1px solid rgba(255,255,255,.06)}
.footer + .site-footer{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:560px){.footer{padding:26px 22px 24px;font-size:12px;line-height:1.9}.site-footer{padding-top:22px}}
