/* =========================================================
   Dasnac Westminster – luxury theme
   Ivory / champagne silk, brochure gold, terracotta accents
   ========================================================= */

:root{
    --ivory:#FBF8F3;
    --cream:#F4ECE1;
    --sand:#E9DDCC;
    --footer:#EFE5D7;
    --gold:#AD8650;            /* brochure crown gold – large text & decoration only */
    --gold-text:#85653A;       /* small gold text (AA on ivory & cream) */
    --gold-soft:#D9C4A0;
    --blush:#EBCDBB;
    --terracotta:#A4573A;      /* buttons (white text 5.2:1) */
    --terracotta-dark:#8A4630;
    --ink:#2A2420;
    --text:#594F46;
    --muted:#6F6357;
    --line:rgba(42,36,32,.12);
    --serif:'Cormorant Garamond','Cormorant Fallback',Georgia,'Times New Roman',serif;
    --sans:'Inter','Inter Fallback',Arial,sans-serif;
    --header-h:84px;
}

/* ---------- Fonts (self-hosted WOFF2, Latin + ₹ subset) ---------- */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/Cormorant/CormorantGaramond-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/Cormorant/CormorantGaramond-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:Inter;src:url('../fonts/Inter/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:Inter;src:url('../fonts/Inter/Inter-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:Inter;src:url('../fonts/Inter/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}

/* Metric-matched fallbacks keep layout stable while web fonts load */
@font-face{font-family:'Inter Fallback';src:local('Arial');ascent-override:90.20%;descent-override:22.48%;line-gap-override:0%;size-adjust:107.40%;}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia');ascent-override:115.27%;descent-override:35.80%;line-gap-override:0%;size-adjust:80.16%;}

/* ---------- Base ---------- */
html{position:relative;}
body{font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--text);background:var(--ivory);margin:0;-webkit-font-smoothing:antialiased;}
body.overflow-hidden{overflow:hidden;}
img{max-width:100%;height:auto;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink);letter-spacing:.02em;}
p{margin:0 0 1rem;}
a{color:var(--terracotta-dark);}
a:hover{color:var(--terracotta);}
ul{margin:0;padding:0;}
::selection{background:var(--gold-soft);color:var(--ink);}
@media(min-width:1300px){.container{max-width:1240px;}}

/* Accessibility */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,.navbar-toggler:focus-visible{outline:2px solid var(--terracotta-dark)!important;outline-offset:3px;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--ink);color:#fff!important;padding:10px 16px;}
.skip-link:focus{left:10px;top:10px;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Shared building blocks ---------- */
.section{position:relative;padding:110px 0;}
.section--cream{background:var(--cream);}
.sec_head{max-width:780px;margin:0 auto 56px;text-align:center;}
.sec_head.left{margin-left:0;text-align:left;}
.sec_title{display:inline-flex;align-items:center;gap:14px;margin:0 0 16px;font:600 12px/1.4 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-text);}
.sec_title::before,.sec_head:not(.left) .sec_title::after{content:'';width:32px;height:1px;background:var(--gold);}
.section_heading{margin:0 0 20px;font-size:clamp(2rem,3.3vw,2.9rem);line-height:1.12;text-transform:uppercase;letter-spacing:.04em;}
.sec_lead{font-size:17px;margin:0 auto;max-width:660px;}
.sec_head.left .sec_lead{margin-left:0;}
.note{font-size:12.5px;color:var(--muted);margin-top:24px;}

.btn_lux{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 30px;border:1px solid var(--terracotta);border-radius:0;background:var(--terracotta);color:#fff;font:600 12.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s;}
.btn_lux:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);color:#fff;text-decoration:none;}
.btn_lux.outline{background:transparent;border-color:rgba(42,36,32,.35);color:var(--ink);}
.btn_lux.outline:hover{border-color:var(--terracotta-dark);color:var(--terracotta-dark);background:transparent;}
.btn_lux:disabled{opacity:.7;cursor:wait;}
.btn_row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.ico{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* Diamond bullet lists */
.lux_list{list-style:none;}
.lux_list li{position:relative;padding-left:24px;margin-bottom:12px;}
.lux_list li::before{content:'';position:absolute;left:2px;top:.62em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg);}

/* Silk drapery + wave dividers (pure SVG/CSS, no image weight) */
.silk_bg{background:
    radial-gradient(60% 70% at 92% 6%,rgba(235,205,187,.75) 0%,rgba(235,205,187,0) 60%),
    radial-gradient(55% 65% at 0% 100%,rgba(217,196,160,.55) 0%,rgba(217,196,160,0) 62%),
    linear-gradient(135deg,#FBF8F3 0%,#F6EEE3 45%,#F1E4D4 100%);}
.silk{position:absolute;left:0;width:100%;height:100%;top:0;pointer-events:none;}
.wave{position:absolute;left:0;width:100%;height:90px;pointer-events:none;display:block;}
.wave--bottom{bottom:-1px;}
.wave--top{top:-1px;transform:rotate(180deg);}

/* ---------- Header ---------- */
.navbar{position:fixed;top:0;left:0;right:0;height:var(--header-h);padding:0 40px;z-index:999;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;background:rgba(251,248,243,.88);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent;transition:height .25s ease,box-shadow .25s ease,border-color .25s ease;}
.navbar.fixed{height:70px;border-bottom-color:var(--line);box-shadow:0 8px 30px rgba(42,36,32,.06);}
.navbar .navbar-brand{padding:0;margin:0;}
.navbar .navbar-brand img{width:190px;height:auto;display:block;transition:width .25s ease;}
.navbar.fixed .navbar-brand img{width:170px;}
.header_actions{display:flex;align-items:center;gap:16px;}
.call_btn{display:inline-flex;align-items:center;gap:10px;padding:7px 18px 7px 7px;border:1px solid rgba(42,36,32,.2);border-radius:100px;color:var(--ink);font:600 13px/1.2 var(--sans);letter-spacing:.04em;text-decoration:none;transition:border-color .25s,color .25s;}
.call_btn:hover{border-color:var(--terracotta);color:var(--terracotta-dark);text-decoration:none;}
.call_btn .call_icon{width:32px;height:32px;border-radius:50%;background:var(--terracotta);color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.call_btn .call_icon .ico{width:15px;height:15px;}
.call_btn small{display:block;font:500 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.navbar .navbar-toggler{position:relative;width:50px;height:50px;padding:0;border:1px solid rgba(42,36,32,.2);border-radius:0;background:transparent;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .25s;}
.navbar .navbar-toggler:hover{border-color:var(--terracotta);}
.navbar .navbar-toggler span{display:block;width:22px;height:1.5px;background:var(--ink);}
.navbar .navbar-toggler span:nth-child(2){width:16px;margin-left:6px;}

/* Off-canvas menu */
.navbar .navbar-collapse{display:block;position:fixed;top:0;right:0;width:min(420px,100%);height:100vh;padding:34px 40px;background:var(--ivory);box-shadow:-20px 0 60px rgba(42,36,32,.12);z-index:9999;transform:translateX(100%);visibility:hidden;transition:transform .4s ease,visibility .4s;overflow-y:auto;}
.navbar .navbar-collapse.show{transform:none;visibility:visible;}
.navbar .navbar-collapse .top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;margin-bottom:12px;border-bottom:1px solid var(--line);}
.navbar .navbar-collapse .logo{width:170px;}
.navbar .navbar-collapse .close{float:none;opacity:1;text-shadow:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;font:300 30px/1 var(--sans);color:var(--ink);cursor:pointer;}
.navbar .navbar-collapse .close:hover{color:var(--terracotta);}
.navbar .navbar-nav{flex-direction:column;}
.navbar .navbar-collapse .nav-link{display:block;padding:13px 0;border-bottom:1px solid var(--line);font:500 21px/1.3 var(--serif);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.navbar .navbar-collapse .nav-link:hover{color:var(--terracotta-dark);padding-left:6px;transition:padding .2s,color .2s;}
.menu_contact{margin-top:28px;font-size:14px;}
.menu_contact a{color:var(--ink);font-weight:600;}
.menu_contact p{margin:0 0 6px;}
.navbarBackdrop{position:fixed;inset:0;background:rgba(42,36,32,.35);z-index:999;animation:fades .3s;}
@keyframes fades{from{opacity:0;}to{opacity:1;}}

/* ---------- Hero ---------- */
.hero{position:relative;padding:calc(var(--header-h) + 70px) 0 170px;overflow:hidden;}
.hero .container{position:relative;z-index:2;}
.hero_grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.hero_crown{width:78px;height:auto;margin-bottom:22px;}
.hero h1{margin:0 0 18px;font-size:clamp(3rem,6vw,5.4rem);line-height:.98;text-transform:uppercase;letter-spacing:.03em;}
.hero_tag{font:500 clamp(1.35rem,2.2vw,1.75rem)/1.3 var(--serif);color:var(--ink);margin-bottom:22px;}
.hero_points{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin-bottom:30px;font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.hero_points li{display:inline-flex;align-items:center;gap:10px;}
.hero_points li::before{content:'';width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.hero_price{display:inline-flex;align-items:baseline;gap:14px;padding:16px 26px;border:1px solid var(--gold-soft);background:rgba(255,255,255,.55);}
.hero_price small{font:600 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.hero_price strong{font:600 2.6rem/1 var(--serif);color:var(--ink);}
.hero_price span{font:500 13px/1 var(--sans);color:var(--muted);}
.hero_media{position:relative;justify-self:end;width:min(100%,480px);}
.hero_media::before{content:'';position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold);border-radius:260px 260px 0 0;}
.hero_media img{position:relative;display:block;width:100%;aspect-ratio:600/708;object-fit:cover;border-radius:260px 260px 0 0;box-shadow:0 30px 70px rgba(42,36,32,.18);}
.img_note{position:absolute;right:10px;bottom:8px;padding:2px 8px;background:rgba(42,36,32,.55);color:#fff;font:500 10px/1.6 var(--sans);letter-spacing:.06em;}

/* ---------- Enquiry strip ---------- */
.enquiry{position:relative;z-index:3;margin-top:-110px;}
.enquiry_card{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:center;padding:34px 40px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 24px 60px rgba(42,36,32,.10);}
.enquiry_title{margin:0;font:500 1.9rem/1.1 var(--serif);color:var(--ink);text-transform:uppercase;letter-spacing:.03em;}
.enquiry_title span{display:block;margin-top:8px;font:600 11px/1.4 var(--sans);letter-spacing:.24em;color:var(--gold-text);}
.enquiry_form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:22px;align-items:end;}
.field{position:relative;margin:0;}
.field label{display:block;margin-bottom:4px;font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.field input{width:100%;height:46px;padding:0 2px;border:0;border-bottom:1px solid #CDBFAC;border-radius:0;background:transparent;font:400 15px/1 var(--sans);color:var(--ink);transition:border-color .25s;}
.field input::placeholder{color:#9A8E82;}
.field input:focus{outline:none;border-bottom-color:var(--terracotta);}
.consent{grid-column:1/-1;margin:2px 0 0;font-size:11.5px;line-height:1.5;color:var(--muted);display:flex;gap:8px;align-items:flex-start;}
.consent input{margin-top:3px;accent-color:var(--terracotta);}

/* ---------- Stats ---------- */
.stats{padding:80px 0 30px;}
.stats_grid{display:grid;grid-template-columns:repeat(6,1fr);}
.stat{text-align:center;padding:6px 14px;border-left:1px solid var(--line);}
.stat:first-child{border-left:0;}
.stat_num{display:block;font:500 3rem/1 var(--serif);color:var(--ink);}
.stat_num small{font-size:.5em;color:var(--gold-text);margin-left:2px;}
.stat_label{display:block;margin-top:12px;font:600 11px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}

/* ---------- Split layout (overview / about / location / contact) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.split--wide-text{grid-template-columns:.9fr 1.1fr;}
.frame_img{position:relative;}
.frame_img::before{content:'';position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);}
.frame_img img{position:relative;display:block;width:100%;object-fit:cover;box-shadow:0 24px 60px rgba(42,36,32,.12);}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin-top:26px;}
.facts li{margin-bottom:0;font-size:15px;}

/* ---------- Residences ---------- */
.dims{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
.dim{padding:42px 38px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
.dim:nth-child(3n){border-right:0;}
.dim_num{display:block;font:500 3.6rem/1 var(--serif);color:var(--gold);}
.dim_num small{font-size:.42em;letter-spacing:.08em;margin-left:4px;text-transform:uppercase;color:var(--gold-text);}
.dim h3{margin:16px 0 10px;font-size:1.45rem;text-transform:uppercase;letter-spacing:.06em;}
.dim p{margin:0;font-size:15px;}
.res_more{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;margin-top:90px;}
.res_more h3{font-size:1.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:22px;}
.res_more .lux_list li{font-size:15px;}

/* ---------- Signature spaces ---------- */
.sig_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.sig_card{position:relative;overflow:hidden;margin:0;background:var(--ink);}
.sig_card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .8s ease;}
.sig_card:hover img{transform:scale(1.04);}
.sig_card figcaption{position:absolute;inset:auto 0 0 0;padding:90px 26px 30px;text-align:center;background:linear-gradient(to top,rgba(30,24,20,.78),rgba(30,24,20,0));color:#fff;}
.sig_card h3{margin:0 0 8px;color:#fff;font-size:2rem;text-transform:uppercase;letter-spacing:.06em;}
.sig_card p{margin:0;font:500 11.5px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#F1E6D6;}
.sig_card .img_note{top:10px;bottom:auto;}

/* ---------- Price ---------- */
.price_grid{display:grid;grid-template-columns:repeat(2,minmax(0,400px));justify-content:center;gap:30px;}
.price_card{position:relative;display:flex;flex-direction:column;align-items:center;padding:48px 40px 42px;text-align:center;background:#fff;border:1px solid var(--sand);}
.price_card .btn_lux{margin-top:auto;}
.price_card::before{content:'';position:absolute;left:50%;top:-1px;width:80px;height:3px;background:var(--gold);transform:translateX(-50%);}
.price_card h3{margin:0 0 8px;font-size:1.7rem;text-transform:uppercase;letter-spacing:.06em;}
.price_meta{margin:0 0 26px;font-size:14px;color:var(--muted);}
.price_value{display:block;font:600 3.2rem/1 var(--serif);color:var(--ink);}
.price_value.small{font-size:2.2rem;}
.price_onw{display:block;margin:8px 0 30px;font:600 11px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);}

/* ---------- Amenities ---------- */
.amen_top{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;margin-bottom:28px;}
.amen_media{position:relative;margin:0;}
.amen_media img{display:block;width:100%;object-fit:cover;}
.amen_media figcaption{position:absolute;left:0;bottom:0;padding:10px 16px;background:rgba(251,248,243,.92);font:600 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
.amen_trio{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.amen_trio .amen_media img{aspect-ratio:4/3;}
.amen_cols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:70px;padding-top:50px;border-top:1px solid var(--line);}
.amen_cols h3{font-size:1.45rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.amen_cols .lux_list li{font-size:14.5px;margin-bottom:9px;}

/* ---------- Built better ---------- */
.better_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.better_card{padding:42px 36px;background:#fff;border:1px solid var(--sand);}
.better_card .better_kicker{display:block;font:500 2.6rem/1 var(--serif);color:var(--gold);margin-bottom:10px;}
.better_card h3{font-size:1.5rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.better_card .lux_list li{font-size:14.5px;}

/* ---------- Floor plans ---------- */
.plan_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.plan_card{margin:0;background:#fff;border:1px solid var(--sand);}
.plan_img{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#fff;cursor:zoom-in;}
.plan_img img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .5s ease;}
.plan_img:hover img{transform:scale(1.03);}
.plan_card figcaption{padding:20px 22px;text-align:center;border-top:1px solid var(--sand);}
.plan_card h3{margin:0;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;}
.plan_card p{margin:4px 0 16px;font-size:13px;color:var(--muted);}
.plan_card .btn_lux{min-height:44px;padding:0 22px;}

/* ---------- Location ---------- */
.nearby{display:grid;grid-template-columns:1fr auto;gap:0 20px;margin-top:30px;border-top:1px solid var(--line);font-size:14px;}
.nearby dt,.nearby dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line);}
.nearby dt{font-weight:500;color:var(--ink);}
.nearby dd{font:600 12px/1.9 var(--sans);letter-spacing:.12em;color:var(--gold-text);text-align:right;}
.location_map{display:block;position:relative;}
.location_map img{display:block;width:100%;}

/* ---------- Gallery ---------- */
.gallery_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery_item{position:relative;display:block;overflow:hidden;}
.gallery_item img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s ease;}
.gallery_item:hover img{transform:scale(1.04);}
.gallery_item::after{content:'';position:absolute;inset:0;background:rgba(42,36,32,.18);opacity:0;transition:opacity .3s;}
.gallery_item:hover::after{opacity:1;}

/* ---------- FAQ ---------- */
.faq{max-width:880px;margin:0 auto;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:24px 50px 24px 0;font:500 1.45rem/1.3 var(--serif);color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 28px/1 var(--sans);color:var(--gold);transition:transform .25s;}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq details p{margin:0;padding:0 50px 26px 0;font-size:15.5px;}

/* ---------- About ---------- */
.legacy_stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line);}
.legacy_stats strong{display:block;font:500 2.4rem/1 var(--serif);color:var(--ink);}
.legacy_stats span{display:block;margin-top:8px;font:600 10.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* ---------- Contact ---------- */
.contact{overflow:hidden;}
.contact .container{position:relative;z-index:2;}
.contact_form{display:grid;gap:20px;margin-top:10px;}
.contact_form .btn_lux{justify-self:start;margin-top:6px;}
.contact_details{list-style:none;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);font-size:14.5px;}
.contact_details li{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;}
.contact_details .ico{margin-top:4px;color:var(--terracotta);}
.contact_details a{color:var(--ink);font-weight:600;}

/* ---------- Footer ---------- */
.site_footer{background:var(--footer);color:var(--text);padding:80px 0 30px;font-size:14px;}
.footer_grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:44px;}
.footer_logo{width:190px;margin-bottom:18px;}
.site_footer h2{margin:0 0 18px;font:600 12px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);}
.site_footer p{margin:0 0 10px;}
.site_footer a{color:var(--ink);}
.site_footer a:hover{color:var(--terracotta-dark);}
.footer_links{list-style:none;}
.footer_links li{margin-bottom:8px;}
.footer_bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(42,36,32,.15);font-size:12.5px;color:var(--muted);}
.footer_bottom p{margin:0 0 8px;}
.footer_bottom a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- Mobile action bar ---------- */
.mobile-section{position:fixed;left:0;bottom:0;width:100%;z-index:99;background:var(--ivory);border-top:1px solid var(--sand);box-shadow:0 -8px 24px rgba(42,36,32,.08);}
.mobile-section a{flex:1 1 33.33%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;color:var(--ink);font:600 10.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;}
.mobile-section a + a{border-left:1px solid var(--sand);}
.mobile-section .ico,.mobile-section img{width:20px;height:20px;color:var(--terracotta);}

/* ---------- Modal ---------- */
.modal .modal-content{border:0;border-radius:0;border-top:3px solid var(--gold);background:var(--ivory);}
.modal .modal-body{position:relative;padding:44px 42px 36px;text-align:center;}
.modal .modal_logo{width:180px;margin:0 auto 6px;}
.modal .modal_loc{margin:0 0 18px;font:600 11px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.modal .form_price{display:inline-block;margin:0 auto 22px;padding:10px 22px;border:1px solid var(--gold-soft);font:600 1.4rem/1.1 var(--serif);color:var(--ink);}
.modal .form_price span{font:500 12px/1 var(--sans);color:var(--muted);}
.modal .close{position:absolute;right:0;top:0;width:46px;height:46px;opacity:1;text-shadow:none;background:var(--ink);color:#fff;font:300 26px/1 var(--sans);}
.modal .close:hover{background:var(--terracotta);color:#fff;opacity:1;}
.modal form{display:grid;gap:16px;text-align:left;}
.modal .submit_btn{width:100%;margin-top:6px;}
.modal .consent{margin-top:14px;text-align:left;}

/* ---------- Thank-you redirect state ---------- */
.submit_btn[disabled]{pointer-events:none;}

/* =================== Responsive =================== */
@media(max-width:1199px){
    .hero_grid{gap:40px;}
    .enquiry_card{grid-template-columns:1fr;gap:20px;}
    .stats_grid{grid-template-columns:repeat(3,1fr);row-gap:34px;}
    .stat:nth-child(4){border-left:0;}
    .amen_cols{grid-template-columns:repeat(2,1fr);}
    .footer_grid{grid-template-columns:1fr 1fr;}
    .split{gap:56px;}
}

@media(max-width:991px){
    .section{padding:86px 0;}
    .hero_grid{grid-template-columns:1fr;}
    .hero_media{justify-self:center;width:min(100%,420px);margin-top:10px;}
    .dims{grid-template-columns:repeat(2,1fr);}
    .dim:nth-child(3n){border-right:1px solid var(--line);}
    .dim:nth-child(2n){border-right:0;}
    .res_more,.amen_top,.split,.split--wide-text{grid-template-columns:1fr;gap:48px;}
    .sig_grid,.better_grid,.plan_grid{grid-template-columns:1fr 1fr;}
    .price_grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
    .gallery_grid{grid-template-columns:repeat(2,1fr);}
    .frame_img{margin-right:22px;}
}

@media(max-width:767px){
    :root{--header-h:64px;}
    .d_sm_none{display:none!important;}
    .d_sm_flex{display:flex!important;}
    body{font-size:15px;}
    .section{padding:68px 0;}
    .sec_head{margin-bottom:38px;}
    .sec_lead{font-size:15.5px;}
    .navbar{padding:0 14px;}
    .navbar .navbar-brand img,.navbar.fixed .navbar-brand img{width:150px;}
    .navbar.fixed{height:var(--header-h);}
    .navbar .navbar-toggler{width:44px;height:44px;}
    .navbar .navbar-collapse{padding:24px;}
    .hero{padding:calc(var(--header-h) + 36px) 0 120px;}
    .hero_crown{width:62px;margin-bottom:16px;}
    .hero_points{gap:8px 18px;font-size:11px;}
    .hero_price strong{font-size:2.2rem;}
    .btn_row .btn_lux{flex:1 1 100%;}
    .enquiry{margin-top:-80px;}
    .enquiry_card{padding:26px 22px;}
    .enquiry_form{grid-template-columns:1fr;gap:16px;}
    .enquiry_form .btn_lux{width:100%;}
    .stats{padding:60px 0 10px;}
    .stats_grid{grid-template-columns:repeat(2,1fr);}
    .stat{border-left:0!important;}
    .stat_num{font-size:2.5rem;}
    .dims{grid-template-columns:1fr;}
    .dim{padding:30px 6px;border-right:0!important;}
    .dim_num{font-size:3rem;}
    .res_more{margin-top:60px;}
    .facts{grid-template-columns:1fr;}
    .sig_grid,.better_grid,.plan_grid,.price_grid{grid-template-columns:1fr;}
    .sig_card img{aspect-ratio:4/5;}
    .amen_trio{grid-template-columns:1fr;}
    .amen_cols{grid-template-columns:1fr;gap:30px;margin-top:50px;padding-top:36px;}
    .better_card,.price_card{padding:36px 26px;}
    .gallery_grid{gap:12px;}
    .faq summary{font-size:1.25rem;padding:20px 40px 20px 0;}
    .faq details p{padding-right:0;}
    .legacy_stats{grid-template-columns:repeat(2,1fr);}
    .footer_grid{grid-template-columns:1fr;gap:34px;}
    .site_footer{padding:60px 0 96px;}
    .wave{height:50px;}
    .frame_img::before{inset:14px -14px -14px 14px;}
    .frame_img{margin-right:14px;}
    .modal .modal-body{padding:38px 22px 26px;}
}
