
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0D1419;--navy:#101E2C;--navy2:#162638;--navy3:#1C3048;
  --cream:#F3EEE7;--cream2:#EDE6DC;--warm:#8B7E6B;--warm2:#A89B86;
  --gold:#C9A864;--gold2:#D4B87A;
  --muted:#7A8FA8;--muted2:#A8BAC8;--text:#E8E0D4;
  --border:rgba(201,168,100,0.15);--borderw:rgba(255,255,255,0.07);
  --pad-x:80px;--sec-pad-y:clamp(64px,8vw,100px);
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:'Inter',sans-serif;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.btn-pri{background:var(--gold);color:var(--ink);font-size:9.5px;letter-spacing:1.5px;padding:0 20px;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all .25s;white-space:nowrap;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-pri:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-sec{border:1px solid rgba(255,255,255,0.18);color:var(--text);font-size:10.5px;letter-spacing:2.5px;padding:16px 30px;background:transparent;cursor:pointer;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all .25s;font-weight:500}
.btn-sec:hover{border-color:var(--gold);color:var(--gold)}
.sec-tag{font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:14px;margin-bottom:24px}
.sec-tag::before{content:'';width:32px;height:1px;background:var(--gold)}
.sec-center .sec-tag{justify-content:center}
.sec-center .sec-tag::before,.sec-center .sec-tag::after{content:'';width:32px;height:1px;background:var(--gold)}
.sec-center .sec-tag::before{display:block}
.arrow-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;font-weight:500;cursor:pointer;transition:gap .3s}

.arrow-link:hover{gap:20px}

/* ─ NAV ─ */
.nav{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad-x);height:88px;background:rgba(13,20,25,0.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.nav-links{display:flex;gap:36px}
.nl{font-size:10px;letter-spacing:2.5px;color:var(--muted2);cursor:pointer;text-transform:uppercase;font-weight:500;transition:color .25s}
.nl:hover{color:var(--gold)}
.nav-logo img{height:52px;object-fit:contain}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:20px}
.lang{font-size:10px;letter-spacing:2px;cursor:pointer;padding:6px 11px;font-weight:500;text-transform:uppercase;transition:all .2s}
.lang.on{background:var(--gold);color:var(--ink)}
.lang.off{color:var(--warm)}
.nav-phone{border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:1.5px;padding:11px 20px;background:transparent;cursor:pointer;font-weight:500;font-family:'Inter',sans-serif;transition:all .25s}
.nav-phone:hover{background:var(--gold);color:var(--ink)}

/* ─ HERO ─ */
.hero{display:grid;grid-template-columns:46% 54%;height:calc(100vh - 88px);min-height:640px;max-height:920px;overflow:hidden}
.hero-left{background:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(40px,4vw,72px) clamp(32px,4.5vw,72px);position:relative;overflow:hidden}
.hero-left::after{content:'';position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,var(--gold) 50%,transparent 100%)}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.hero-chapter{font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:14px;opacity:0;animation:up .9s .2s forwards}
.hero-chapter::before{content:'';width:32px;height:1px;background:var(--gold)}
.hero-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 0 32px}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,4.8vw,76px);font-weight:300;line-height:1.0;letter-spacing:-2px;color:var(--cream);margin-bottom:32px;opacity:0;animation:up 1s .45s forwards}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-h1 .l2{display:block;padding-left:48px}
.hero-h1 .l3{display:block;padding-left:96px}
.hero-tagline{font-size:14px;color:rgba(232,224,212,0.62);line-height:1.75;max-width:380px;margin-bottom:30px;font-weight:300;padding-left:20px;border-left:1px solid rgba(201,168,100,.25);opacity:0;animation:up .9s .75s forwards}
.hero-rating{display:flex;align-items:center;gap:14px;margin-bottom:42px;opacity:0;animation:up .9s .95s forwards}
.hero-stars{color:var(--gold);font-size:14px;letter-spacing:2px}
.hero-rating-txt{font-size:12px;color:var(--warm2)}
.hero-rating-txt b{color:var(--cream);font-weight:500}
.hero-cta-row{display:flex;gap:10px;flex-wrap:wrap;opacity:0;animation:up .9s 1.1s forwards;align-items:center}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.hero-counter{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--warm);letter-spacing:2px}
.hero-counter span{font-size:40px;color:var(--gold);font-weight:300;line-height:1}
.hero-dots{display:flex;gap:10px}
.hdot{width:22px;height:1px;background:rgba(255,255,255,.25);cursor:pointer;border:none;padding:0;transition:all .4s cubic-bezier(.4,0,.2,1)}
.hdot.on{width:42px;background:var(--gold)}
.hero-right{position:relative;overflow:hidden}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity 2s cubic-bezier(.4,0,.2,1)}
.hslide.on{opacity:1}
.hslide img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.02);will-change:transform}
.hslide.on img{animation:zoom 9s ease-in-out forwards}
/* removed - using shared animation on .hslide img */
@keyframes zoom{from{transform:scale(1.02)}to{transform:scale(1.10)}}
.hslide::after{content:'';position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;z-index:2;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}

.slide-caption{position:absolute;bottom:36px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;z-index:3;pointer-events:none;gap:20px}
.cap-tag{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.75);flex-shrink:0;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.cap-name{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,1.5vw,22px);font-style:italic;text-align:right;color:rgba(255,255,255,.95);line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.6);font-weight:300}

/* ─ TRUST STRIP ─ */
.trust-strip{background:var(--navy3);border-bottom:1px solid var(--border);display:flex;justify-content:center;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:12px;padding:24px 36px;border-right:1px solid var(--border);font-size:13px;color:var(--warm2)}
.trust-item:last-child{border-right:none}
.trust-hi{color:var(--cream);font-weight:500;font-size:15px}
.trust-stars{color:var(--gold);font-size:15px;letter-spacing:2px}

/* ─ PORTFOLIO ─ */
.portfolio{padding:120px var(--pad-x);background:var(--ink);border-top:1px solid var(--border)}
.port-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;flex-wrap:wrap;gap:20px}
.port-head h2{font-family:'Cormorant Garamond',serif;font-size:68px;font-weight:300;letter-spacing:-2px;line-height:1}
.port-head h2 em{font-style:italic;color:var(--gold)}
.filters{display:flex;gap:6px;margin-bottom:36px;flex-wrap:wrap}
.flt{font-size:11px;letter-spacing:2.5px;padding:12px 24px;cursor:pointer;border:1px solid var(--border);color:var(--warm2);text-transform:uppercase;background:transparent;font-family:'Inter',sans-serif;transition:all .25s;font-weight:500}
.flt.on{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:700}
.flt:hover:not(.on){border-color:var(--gold);color:var(--gold)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,300px);gap:6px}
.pc{position:relative;overflow:hidden;cursor:pointer}
.pc.big{grid-row:span 2}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.pc:hover img{transform:scale(1.06)}
.pc-ov{position:absolute;inset:0;background:rgba(13,20,25,0);transition:background .35s}
.pc:hover .pc-ov{background:rgba(13,20,25,.62)}
.pc-info{position:absolute;bottom:0;left:0;right:0;padding:24px 28px;opacity:0;transform:translateY(8px);transition:all .35s}
.pc:hover .pc-info{opacity:1;transform:translateY(0)}
.pc-cat{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:5px;text-transform:uppercase;font-weight:500}
.pc-name{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--cream);font-weight:300;font-style:italic}

/* ─ FEATURED ─ */
.featured{display:grid;grid-template-columns:58% 42%;border-top:1px solid var(--border)}
.feat-img-w{position:relative;overflow:hidden;min-height:640px}
.feat-img-w img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.feat-img-w:hover img{transform:scale(1.03)}
.feat-badge{position:absolute;top:32px;left:32px;background:var(--gold);color:var(--ink);font-size:10px;letter-spacing:3px;padding:9px 18px;font-weight:700;text-transform:uppercase}
.feat-num{position:absolute;bottom:32px;right:32px;font-family:'Cormorant Garamond',serif;font-size:120px;color:rgba(243,238,231,.1);line-height:1;font-weight:300;font-style:italic}
.feat-txt{background:var(--navy);padding:80px 68px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border)}
.feat-txt h2{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;line-height:1.07;margin-bottom:28px;letter-spacing:-1px}
.feat-txt h2 em{color:var(--gold);font-style:italic}
.feat-body{font-size:16px;color:rgba(232,224,212,.65);line-height:1.9;margin-bottom:32px;font-weight:300}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px;padding-top:28px;border-top:1px solid var(--border)}
.spec-l{font-size:9px;letter-spacing:2.5px;color:var(--warm);text-transform:uppercase;font-weight:500;margin-bottom:5px}
.spec-v{font-size:14px;color:var(--cream);font-weight:400}

/* ─ TESTIMONIALS ─ */
.testimonials{padding:100px var(--pad-x);background:var(--ink)}
.test-hdr{text-align:center;margin-bottom:80px}
.test-hdr h2{font-family:'Cormorant Garamond',serif;font-size:72px;font-weight:300;margin-top:18px;letter-spacing:-2px;line-height:1}
.test-hdr h2 em{color:var(--gold);font-style:italic}
.test-hdr p{font-size:13px;color:var(--warm2);margin-top:16px;letter-spacing:1.5px;font-style:italic;font-family:'Cormorant Garamond',serif}
.tcard-wrap{position:relative;min-height:340px}
.trow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;opacity:0;position:absolute;top:0;left:0;right:0;transition:opacity .8s;pointer-events:none}
.trow.on{opacity:1;position:relative;pointer-events:auto}
.tcard{background:var(--navy);border:1px solid var(--border);padding:40px 36px;display:flex;flex-direction:column;min-height:340px;transition:border-color .3s,transform .3s}
.tcard:hover{border-color:rgba(201,168,100,.4);transform:translateY(-4px)}
.tcard-stars{color:var(--gold);font-size:17px;letter-spacing:3px;margin-bottom:22px}
.tcard-g{position:absolute;top:30px;right:30px;font-size:9px;color:var(--warm);letter-spacing:2px;font-weight:500}
.tcard-quote{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:rgba(232,224,212,.85);line-height:1.85;margin-bottom:auto;padding-bottom:26px;font-weight:300}
.tcard-author{display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid var(--border)}
.tcard-av{width:50px;height:50px;border-radius:50%;background:var(--navy3);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gold);font-weight:500;font-family:'Cormorant Garamond',serif;flex-shrink:0;letter-spacing:1px}
.tcard-name{font-size:14px;color:var(--cream);font-weight:500;margin-bottom:3px}
.tcard-loc{font-size:11px;color:var(--warm);letter-spacing:.8px}
.tdots{display:flex;justify-content:center;gap:10px;margin-top:48px}
.tdot{width:10px;height:10px;border-radius:50%;background:var(--border);cursor:pointer;border:none;padding:0;transition:all .35s}
.tdot.on{background:var(--gold);width:34px;border-radius:5px}

/* ─ WHY LIMAKDECO ─ */
.why{padding:100px var(--pad-x);background:var(--navy);border-top:1px solid var(--border)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:72px;border:1px solid var(--border)}
.why-card{padding:52px 40px;background:var(--ink);border-right:1px solid var(--border);position:relative;overflow:hidden;transition:background .35s}
.why-card:last-child{border-right:none}
.why-card:hover{background:var(--navy2)}
.why-num{font-family:'Cormorant Garamond',serif;font-size:80px;color:rgba(201,168,100,.1);line-height:1;margin-bottom:24px;font-weight:300;font-style:italic}
.why-icon{font-size:32px;margin-bottom:20px;display:block}
.why-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--cream);margin-bottom:16px;letter-spacing:-.3px}
.why-body{font-size:14px;color:rgba(232,224,212,.62);line-height:1.85;font-weight:300}
.why-bar{position:absolute;top:0;left:0;right:0;height:1px;background:var(--border);transition:background .4s}
.why-card:hover .why-bar{background:var(--gold)}

/* ─ TEAM + ABOUT (merged) ─ */
.team-about{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}
.team-about-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.team-about-photo{position:relative;overflow:hidden;min-height:300px}
.team-about-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.team-about-photo:hover img{transform:scale(1.05)}
.team-about-photo-ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,20,25,.9) 0%,rgba(13,20,25,0) 50%)}
.team-about-photo-info{position:absolute;bottom:0;left:0;right:0;padding:20px 22px}
.team-about-photo-name{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--cream);font-weight:300;letter-spacing:-.3px}
.team-about-photo-role{font-size:9px;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;font-weight:500;margin-top:3px}
.team-about-txt{background:var(--navy2);padding:88px 72px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border)}
.team-about-txt h2{font-family:'Cormorant Garamond',serif;font-size:60px;font-weight:300;line-height:1.05;margin-bottom:32px;letter-spacing:-1.5px}
.team-about-txt h2 em{color:var(--gold);font-style:italic}
.team-about-txt p{font-size:15px;color:rgba(232,224,212,.68);line-height:1.95;margin-bottom:18px;font-weight:300}

/* ─ PROCESS ─ */
.process{padding:100px var(--pad-x);background:var(--navy);border-top:1px solid var(--border)}
.proc-hdr{text-align:center;margin-bottom:80px}
.proc-hdr h2{font-family:'Cormorant Garamond',serif;font-size:68px;font-weight:300;margin-top:18px;letter-spacing:-2px;line-height:1}
.proc-hdr h2 em{color:var(--gold);font-style:italic}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--border)}
.ps{padding:52px 40px;background:var(--ink);border-right:1px solid var(--border);position:relative;transition:background .35s;min-height:360px}
.ps:last-child{border-right:none}
.ps:hover{background:var(--navy2)}
.ps-bar{position:absolute;top:0;left:0;right:0;height:1px;background:var(--border);transition:background .4s}
.ps:hover .ps-bar{background:var(--gold)}
.ps-roman{font-family:'Cormorant Garamond',serif;font-size:84px;color:rgba(201,168,100,.12);line-height:1;margin-bottom:24px;font-weight:300;font-style:italic}
.ps-t{font-size:12px;letter-spacing:3px;color:var(--cream);margin-bottom:14px;text-transform:uppercase;font-weight:600}
.ps-b{font-size:14px;color:rgba(232,224,212,.6);line-height:1.85;font-weight:300;margin-bottom:20px}
.ps-time{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-weight:500;border:1px solid var(--border);padding:6px 14px}
.ps-time::before{content:'⏱';font-size:11px}

/* ─ CONTACT ─ */
.contact{padding:100px var(--pad-x);background:var(--navy);border-top:1px solid var(--border)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.contact-txt h2{font-family:'Cormorant Garamond',serif;font-size:60px;font-weight:300;line-height:1.05;margin-bottom:28px;letter-spacing:-1.5px}
.contact-txt h2 em{color:var(--gold);font-style:italic}
.contact-txt p{font-size:16px;color:rgba(232,224,212,.68);line-height:1.95;margin-bottom:40px;font-weight:300}
.cinfo{display:flex;flex-direction:column;gap:24px}
.ci-l{font-size:9px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:6px}
.ci-v{font-size:14px;color:var(--cream);line-height:1.8;font-weight:300}
.ci-v a{transition:color .2s}
.ci-v a:hover{color:var(--gold)}

/* ─ RESPONSIVE ─ */
@media(max-width:1280px){
  :root{--pad-x:48px}
  .hero-h1{font-size:72px}
  .team-about-txt h2,.proc-hdr h2,.test-hdr h2,.port-head h2,.mat-hdr h2,.ba-hdr h2,.contact-txt h2,.quiz-hdr h2,.diary-teaser-title{font-size:52px}
  .why-grid{grid-template-columns:1fr 1fr;gap:1px}
  .why-card:nth-child(2){border-right:none}
  .why-card:nth-child(3){border-top:1px solid var(--border);border-right:1px solid var(--border)}
  .why-card:nth-child(4){border-top:1px solid var(--border);border-right:none}
}
@media(max-width:880px){
  .hero{grid-template-columns:1fr;height:auto;min-height:auto}
  .hero-left{min-height:620px;padding:60px 40px}
  .hero-right{height:580px}
  .featured,.team-about{grid-template-columns:1fr}
  .feat-img-w{min-height:500px}
  .feat-txt{padding:64px 48px}
  .team-about-photos{grid-template-rows:300px 300px}
  .team-about-txt{padding:72px 48px}
  .quiz-result.on{grid-template-columns:1fr}
  .qr-img{min-height:400px}
  .nav{padding:0 32px}
  .nav-links{gap:20px}
  .diary-teaser-content{padding:48px 52px}
  .diary-teaser-title{font-size:56px}
}
@media(max-width:880px){
  :root{--pad-x:22px}
  .hero-h1{font-size:52px;letter-spacing:-1.5px}
  .hero-h1 .l2,.hero-h1 .l3{padding-left:24px}
  .nav-links{display:none}
  .services{grid-template-columns:1fr}
  .svc{height:360px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:48px 16px}
  .trow{grid-template-columns:1fr;gap:16px}
  .why-grid{grid-template-columns:1fr}
  .why-card{border-right:none!important;border-top:1px solid var(--border)}
  .why-card:first-child{border-top:none}
  .proc-grid{grid-template-columns:1fr 1fr}
  .ps{border-right:none;border-bottom:1px solid var(--border)}
  .quiz-opts{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px 260px}
  .pc.big{grid-row:span 1}
  .mat-grid{grid-template-columns:repeat(3,1fr)}
  .ba-grid{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:52px}
  .footer{grid-template-columns:1fr 1fr;padding:64px 22px;gap:32px}
  .testimonials,.portfolio,.why,.team-about,.process,.quiz,.materials,.beforeafter,.instagram,.contact,.diary-teaser,.beforeafter{padding:80px 22px}
  .trust-strip{overflow-x:auto}
  .diary-teaser-content{padding:36px 32px}
  .diary-teaser-title{font-size:42px;letter-spacing:-1px}
  .diary-teaser-inner{height:360px}
}

/* ─── NEW NAV ─── */
.nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 36px;height:82px;background:rgba(13,20,25,0.98);backdrop-filter:blur(18px);border-bottom:1px solid rgba(245,168,35,0.18);gap:20px}
.nav-logo-wrap{flex-shrink:0}

.nav-sep{width:1px;height:20px;background:rgba(255,255,255,0.1);margin:0 4px}
.nl{font-size:10px;letter-spacing:2px;color:var(--muted2);cursor:pointer;text-transform:uppercase;font-weight:500;transition:color .2s;padding:6px 12px;white-space:nowrap}
.nl:hover{color:var(--gold)}
.nav-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}
.nav-lang-wrap{display:flex;gap:0;border:1px solid rgba(255,255,255,0.1)}
.nav-btn-book{background:var(--gold);color:var(--ink);font-size:10px;letter-spacing:2px;padding:10px 18px;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all .2s;white-space:nowrap}
.nav-btn-book:hover{background:var(--gold2)}
.nav-btn-quote{background:transparent;color:var(--gold);border:1px solid var(--gold);font-size:10px;letter-spacing:2px;padding:10px 18px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all .2s;white-space:nowrap}
.nav-btn-quote:hover{background:var(--gold);color:var(--ink)}

/* ─── FLOATING DUAL CTA ─── */


@media(max-width:600px){
  .cb-row{grid-template-columns:1fr}
  .cb-modal-header{padding:28px 24px 20px}
  .cb-modal-body{padding:24px}
}


/* ─── CONTACT SECTION IMPROVEMENT ─── */
.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-bottom:48px;border:1px solid var(--border)}
.co-option{background:var(--ink);padding:28px 24px;text-align:center;cursor:pointer;transition:background .25s}
.co-option:hover{background:rgba(201,168,100,.07)}
.co-icon{font-size:28px;margin-bottom:12px;display:block}
.co-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--cream);margin-bottom:6px;font-weight:300}
.co-desc{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);line-height:1.6}
/* Contact text tighter */
.contact-txt{padding:var(--sec-pad-y) var(--pad-x);padding-right:64px}
.contact-form{padding:var(--sec-pad-y) var(--pad-x)}
@media(max-width:768px){
  .contact-options{grid-template-columns:1fr}
  .co-option{padding:22px 20px}
  .contact-txt{padding-right:var(--pad-x)}
}


/* Hero Callback button - tertiary style */
.btn-cb-hero{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;border:none;
  color:rgba(201,168,100,.85);
  font-family:'Inter',sans-serif;font-size:9px;
  letter-spacing:1.5px;padding:0 6px;
  text-transform:uppercase;font-weight:500;cursor:pointer;
  transition:all .25s;border-bottom:1px solid transparent;
  height:42px;white-space:nowrap;
}
.btn-cb-hero:hover{color:var(--gold);border-bottom-color:var(--gold)}
@media(max-width:480px){.btn-cb-hero{width:100%;justify-content:center;padding:14px}}


/* ─── NEW CONTACT SECTION (V2) ─── */
.contact{padding:var(--sec-pad-y) 0 0;background:var(--ink)}
.contact-intro{max-width:760px;margin:0 auto;padding:0 var(--pad-x);text-align:center;margin-bottom:64px}
.contact-intro .sec-tag{margin:0 auto 24px;display:inline-block}
.contact-intro h2{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.05;letter-spacing:-1.5px;color:var(--cream);margin-bottom:24px}
.contact-intro h2 em{font-style:italic;color:var(--gold);font-weight:400}
.contact-lede{font-size:15px;color:var(--muted2);line-height:1.7;max-width:540px;margin:0 auto;font-weight:300}

.contact-options-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);max-width:1320px;margin:0 auto 80px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.co2{background:var(--ink);padding:56px 40px 48px;cursor:pointer;transition:background .35s;position:relative;display:flex;flex-direction:column;text-align:left}
.co2:hover{background:rgba(201,168,100,.04)}
.co2-num{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:3px;color:var(--gold);margin-bottom:32px;font-style:italic}
.co2-icon-wrap{width:54px;height:54px;border:1px solid rgba(201,168,100,.18);display:flex;align-items:center;justify-content:center;margin-bottom:28px;transition:all .35s;color:var(--gold)}
.co2:hover .co2-icon-wrap{border-color:var(--gold)}
.co2-icon{font-size:22px;line-height:1}
.co2-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--cream);margin-bottom:14px;line-height:1.2;letter-spacing:-.5px}
.co2-desc{font-size:13.5px;color:var(--muted2);line-height:1.7;font-weight:300;margin-bottom:32px;flex-grow:1}
.co2-cta{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500;transition:letter-spacing .3s;align-self:flex-start;border-top:1px solid rgba(201,168,100,.2);padding-top:20px;width:100%}
.co2:hover .co2-cta{letter-spacing:3px}

.contact-info-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:60px;max-width:1320px;margin:0 auto;padding:0 var(--pad-x) var(--sec-pad-y)}
.ci2-col{display:flex;flex-direction:column}
.ci2-label{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600}
.ci2-value{font-size:13.5px;color:var(--cream);line-height:1.7;font-weight:300;text-decoration:none;margin-bottom:6px;transition:color .25s}
a.ci2-value:hover{color:var(--gold)}
.ci2-budget .ci2-value{color:var(--muted2);font-style:italic;font-size:13px;line-height:1.7}

/* Responsive */
@media(max-width:1024px){
  .contact-options-v2{grid-template-columns:1fr;background:transparent}
  .co2{border:1px solid var(--border);margin-bottom:0}
  .contact-info-v2{grid-template-columns:repeat(2,1fr);gap:40px 32px}
}
@media(max-width:560px){
  .contact-intro{margin-bottom:48px}
  .co2{padding:40px 28px 36px}
  .co2-num{margin-bottom:24px}
  .co2-icon-wrap{margin-bottom:20px;width:46px;height:46px}
  .co2-title{font-size:24px}
  .contact-info-v2{grid-template-columns:1fr;gap:32px}
}


/* ─── CONTACT V3: Map + Info layout ─── */
.contact-bottom-v3{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1320px;margin:0 auto;border:1px solid var(--border)}
.cb-map-wrap{position:relative;min-height:460px;background:var(--navy2);overflow:hidden}
.cb-showroom-img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) brightness(.65)}
.cb-showroom-tint{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,20,25,.4) 0%,rgba(13,20,25,.7) 100%);pointer-events:none}
.cb-map-overlay{
  position:absolute;left:24px;bottom:24px;
  background:var(--ink);
  padding:18px 22px;
  text-decoration:none;
  display:flex;align-items:center;gap:14px;
  border:1px solid rgba(201,168,100,.3);
  transition:all .3s;
  font-family:'Inter',sans-serif;
  max-width:calc(100% - 48px);
}
.cb-map-overlay:hover{background:var(--navy2);border-color:var(--gold)}
.cb-map-pin{font-size:18px;flex-shrink:0}
.cb-map-text{color:var(--cream);font-size:13px;line-height:1.5;flex:1}
.cb-map-text span{color:var(--muted2);font-size:11px}
.cb-map-arrow{color:var(--gold);font-size:18px}

.cb-info-wrap{padding:48px 44px;display:flex;flex-direction:column;background:var(--ink);gap:32px}
.cb-info-row{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.cb-info-col{display:flex;flex-direction:column}
.cb-info-label{
  font-family:'Inter',sans-serif;font-size:10px;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;font-weight:600;
}
.cb-info-value{font-size:13.5px;color:var(--cream);line-height:1.8;font-weight:300}
.cb-info-link{
  font-size:13.5px;color:var(--cream);line-height:1.8;
  font-weight:300;text-decoration:none;transition:color .2s;display:block;
}
.cb-info-link:hover{color:var(--gold)}
.cb-info-divider{height:1px;background:var(--border);width:100%}
.cb-budget .cb-info-value{font-style:italic;font-size:13px;color:var(--muted2);line-height:1.7}
.cb-social{display:flex;align-items:center;gap:14px}
.cb-social-label{
  font-family:'Inter',sans-serif;font-size:10px;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-right:8px;
}
.cb-social-icon{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);
  color:var(--muted2);
  transition:all .25s;
  text-decoration:none;
}
.cb-social-icon:hover{border-color:var(--gold);color:var(--gold)}

@media(max-width:900px){
  .contact-bottom-v3{grid-template-columns:1fr}
  .cb-map-wrap{min-height:320px}
  .cb-info-wrap{padding:36px 28px}
  .cb-info-row{grid-template-columns:1fr;gap:24px}
}
@media(max-width:480px){
  .cb-info-wrap{padding:28px 20px;gap:24px}
  .cb-map-overlay{padding:14px 16px;left:16px;bottom:16px;font-size:12px}
}


.co2:hover .co2-icon-wrap{border-color:var(--gold);background:rgba(201,168,100,.06)}
.co2:hover .co2-cta{letter-spacing:3px}


/* ─── GOOGLE MAP EMBED ─── */
.contact-map-section{
  max-width:1320px;
  margin:0 auto;
  border:1px solid var(--border);
  border-top:none;
  overflow:hidden;
  position:relative;
}
.contact-map-section iframe{
  display:block;
  width:100%;
  height:400px;
  border:none;
  filter:grayscale(0.25) contrast(1.05);
  transition:filter .35s;
}
.contact-map-section:hover iframe{
  filter:grayscale(0) contrast(1);
}
.contact-map-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 28px;
  background:var(--ink);
  border-top:1px solid var(--border);
  font-family:'Inter',sans-serif;
}
.contact-map-addr{
  font-size:12px;
  color:var(--muted2);
  letter-spacing:.5px;
}
.contact-map-addr strong{
  display:block;
  color:var(--cream);
  font-size:13px;
  margin-bottom:3px;
  letter-spacing:0;
}
.contact-map-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  text-decoration:none;
  font-weight:600;
  transition:gap .25s;
}
.contact-map-link:hover{gap:14px}
@media(max-width:768px){
  .contact-map-section iframe{height:300px}
  .contact-map-bar{flex-direction:column;gap:16px;text-align:center;padding:20px}
}
@media(max-width:480px){
  .contact-map-section iframe{height:240px}
}


/* ═══════════════════════════════════════════════════════════════
   CONTACT HUB · Floating expandable contact widget
   ═══════════════════════════════════════════════════════════════ */
.contact-hub{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s ease, transform .5s ease;
  pointer-events:none;
}
.contact-hub.visible{
  opacity:1;
  transform:translateY(0);
  /* wrapper must not capture clicks - it overlays the footer language links */
  pointer-events:none;
}

/* ─── Main toggle button (Gold pill, default state) ─── */
.hub-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 22px 14px 18px;
  background:linear-gradient(135deg, #d4a857 0%, #c9a864 50%, #b8915d 100%);
  color:var(--ink);
  border:none;
  border-radius:100px;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  box-shadow:0 8px 24px rgba(201,168,100,.32), 0 0 0 1px rgba(201,168,100,.15);
  transition:all .35s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden;
}
.hub-toggle::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.25), transparent 50%);
  opacity:0;
  transition:opacity .35s;
}
.hub-toggle:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(201,168,100,.42), 0 0 0 1px rgba(201,168,100,.25);
}
.hub-toggle:hover::before{opacity:1}
.hub-toggle:active{transform:translateY(0)}

.hub-toggle-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  position:relative;
}
.hub-icon-chat, .hub-icon-close{
  position:absolute;
  inset:0;
  margin:auto;
  transition:opacity .3s, transform .35s cubic-bezier(.4,0,.2,1);
}
.hub-icon-chat{opacity:1;transform:rotate(0deg) scale(1)}
.hub-icon-close{opacity:0;transform:rotate(-90deg) scale(.7)}

/* Expanded state · chat icon → X */
.contact-hub.open .hub-icon-chat{opacity:0;transform:rotate(90deg) scale(.7)}
.contact-hub.open .hub-icon-close{opacity:1;transform:rotate(0deg) scale(1)}

.hub-toggle-label{display:inline-block;transition:opacity .25s, max-width .35s;}
.contact-hub.open .hub-toggle-label{
  opacity:0;
  max-width:0;
  overflow:hidden;
  white-space:nowrap;
  margin:0;
  padding:0;
}
.contact-hub.open .hub-toggle{
  padding:14px;
  width:48px;
  height:48px;
  gap:0;
}

/* Subtle pulse glow (only when closed, attracts attention without being annoying) */
@keyframes hub-pulse{
  0%, 100% { box-shadow: 0 8px 24px rgba(201,168,100,.32), 0 0 0 1px rgba(201,168,100,.15), 0 0 0 0 rgba(201,168,100,.45); }
  50% { box-shadow: 0 8px 24px rgba(201,168,100,.32), 0 0 0 1px rgba(201,168,100,.15), 0 0 0 12px rgba(201,168,100,0); }
}
.contact-hub:not(.open) .hub-toggle{animation:hub-pulse 3.5s ease-out infinite}

/* ─── Expandable cards container ─── */
.hub-cards{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-end;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s;
}
.contact-hub.open .hub-cards{
  opacity:1;
  pointer-events:auto;
}

/* Individual hub cards */
.hub-card{
  display:flex;
  align-items:center;
  gap:14px;
  width:280px;
  padding:14px 18px;
  background:rgba(18,26,33,.92);
  border:1px solid rgba(201,168,100,.18);
  border-radius:12px;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  text-align:left;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 12px 32px rgba(0,0,0,.4);
  transition:all .3s cubic-bezier(.4,0,.2,1);
  
  /* Animation state - hidden */
  opacity:0;
  transform:translateY(16px) scale(.96);
}
.contact-hub.open .hub-card{
  opacity:1;
  transform:translateY(0) scale(1);
}
/* Staggered animation delays (bottom-most card animates first since it's closest to button) */
.contact-hub.open .hub-card:nth-child(3){transition-delay:0.05s}
.contact-hub.open .hub-card:nth-child(2){transition-delay:0.12s}
.contact-hub.open .hub-card:nth-child(1){transition-delay:0.19s}

.hub-card:hover{
  border-color:var(--gold);
  background:rgba(28,36,45,.95);
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 14px 36px rgba(0,0,0,.5), 0 0 0 1px rgba(201,168,100,.3);
}
.hub-card:hover .hub-card-icon{
  background:rgba(201,168,100,.15);
  color:var(--gold);
}
.hub-card:hover .hub-card-arrow{
  transform:translateX(4px);
  color:var(--gold);
}

.hub-card-icon{
  flex-shrink:0;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(201,168,100,.08);
  border:1px solid rgba(201,168,100,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  transition:all .3s;
}
.hub-card-text{
  flex:1;
  min-width:0;
}
.hub-card-title{
  font-size:13px;
  font-weight:600;
  color:var(--cream);
  letter-spacing:.3px;
  margin-bottom:2px;
  font-family:'Cormorant Garamond',serif;
  font-size:18px;
  font-weight:400;
  line-height:1.1;
}
.hub-card-sub{
  font-size:10px;
  color:var(--muted2);
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:500;
}
.hub-card-arrow{
  font-size:18px;
  color:rgba(201,168,100,.55);
  transition:all .3s;
  flex-shrink:0;
}

/* Backdrop overlay (subtle dim when hub is open) */
.hub-backdrop{
  position:fixed;
  inset:0;
  background:transparent;
  z-index:998;
  pointer-events:none;
  transition:background .3s;
}
.contact-hub.open ~ .hub-backdrop, .hub-backdrop.show{
  pointer-events:auto;
  background:rgba(13,20,25,.4);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

/* Mobile responsive */
@media(max-width:768px){
  .contact-hub{bottom:20px;right:20px}
  .hub-toggle{padding:12px 18px 12px 16px;font-size:10px;letter-spacing:1.4px}
  .hub-card{width:260px;padding:12px 16px}
  .hub-card-title{font-size:16px}
  .hub-card-icon{width:38px;height:38px}
}
@media(max-width:480px){
  .contact-hub{bottom:18px;right:18px;left:18px;align-items:stretch}
  .hub-toggle{align-self:flex-end}
  .hub-cards{align-items:stretch}
  .hub-card{width:auto;max-width:300px;align-self:flex-end}
  .contact-hub.open .hub-toggle{align-self:flex-end}
}


/* ═══ PORTFOLIO SHOWCASE CARDS (RESTORED) ═══ */
.port-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:48px}
.psc-card{position:relative;height:600px;overflow:hidden;cursor:pointer}
.psc-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
.psc-card:hover img{transform:scale(1.09)}
.psc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,20,25,.92) 28%,rgba(13,20,25,.12) 65%,rgba(13,20,25,.35) 100%);transition:all .4s}
.psc-card:hover .psc-ov{background:linear-gradient(to top,rgba(13,20,25,.96) 32%,rgba(13,20,25,.18) 65%,rgba(13,20,25,.45) 100%)}
.psc-info{position:absolute;bottom:0;left:0;right:0;padding:40px 36px;z-index:2;color:var(--cream)}
.psc-num{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:3px;color:var(--gold);margin-bottom:14px}
.psc-name{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;letter-spacing:-0.5px;margin-bottom:8px}
.psc-sub{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:28px}
.psc-cta{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);border-top:1px solid rgba(201,168,100,.3);padding-top:16px;transition:gap .35s;width:100%}
.psc-card:hover .psc-cta{gap:18px}
.psc-top-tag{position:absolute;top:32px;right:32px;background:rgba(13,20,25,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(201,168,100,.2);padding:6px 14px;font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;z-index:3;font-family:'Inter',sans-serif}

.port-hint{text-align:center;margin-top:24px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);opacity:.7}

/* Lightbox */
.port-lightbox{position:fixed;inset:0;background:rgba(13,20,25,.97);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.port-lightbox.lb-active{opacity:1;pointer-events:auto}
.lb-close{position:absolute;top:28px;right:32px;background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75);width:46px;height:46px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:10}
.lb-close:hover{border-color:var(--gold);color:var(--gold)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.8);width:56px;height:56px;cursor:pointer;font-size:30px;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:10;line-height:1;backdrop-filter:blur(4px)}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{border-color:var(--gold);color:var(--gold)}
.lb-wrap{max-width:min(90vw,1100px);max-height:85vh;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 80px}
.lb-wrap img{max-width:100%;max-height:75vh;object-fit:contain;display:block}
.lb-bar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 4px}
.lb-cat-name{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--cream);letter-spacing:1px}
.lb-num{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.5);text-transform:uppercase}
.lb-dots{display:flex;gap:8px}
.lb-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:.2s;border:none;padding:0}
.lb-dot.on{background:var(--gold)}

/* Mobile */
@media(max-width:900px){
  .port-showcase{grid-template-columns:1fr;gap:4px}
  .psc-card{height:420px}
  .psc-name{font-size:32px}
  .psc-info{padding:28px 24px}
  .lb-prev{left:10px}.lb-next{right:10px}
  .lb-wrap{padding:0 60px}
}
@media(max-width:480px){
  .psc-card{height:340px}
  .psc-name{font-size:28px}
  .lb-prev,.lb-next{width:42px;height:42px;font-size:22px}
  .lb-wrap{padding:0 52px}
}


/* ═══════ RESTORED CSS (from backup) ═══════ */
.fv2-link-sep{color:rgba(255,255,255,0.12)}
.fv2-social-row{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.fv2-social{width:40px;height:40px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted2);font-size:15px;cursor:pointer;transition:all .25s;text-decoration:none}
.fv2-social:hover{border-color:var(--gold);color:var(--gold)}
.mobile-menu-lang{
  display:flex;
  gap:0;
  margin-top:16px;
}
.mobile-menu-lang button{
  flex:1;
  background:transparent;
  border:1px solid rgba(255,255,255,.15);
  color:var(--cream);
  padding:10px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:2px;
  cursor:pointer;
}
.mobile-menu-lang button.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.mform-note{font-size:11px;color:var(--warm);text-align:center;letter-spacing:1px;margin-top:6px;font-style:italic;font-family:'Cormorant Garamond',serif}
.modal-header{padding:40px 48px 28px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start}
.modal-header h2{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;color:var(--cream);letter-spacing:-1px;line-height:1.1}
.modal-header h2 em{color:var(--gold);font-style:italic}
.modal-header{padding:28px 28px 20px}
.modal-header h2{font-size:32px}
.modal-header { padding: 24px 24px 16px; }
.modal-header h2 { font-size: 28px !important; }
.modal-header h2 { font-size: 24px !important; }
.cb-modal-overlay{position:fixed;inset:0;background:rgba(13,20,25,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.cb-modal-overlay.active{opacity:1;pointer-events:auto}
.mobile-menu-section{
  border-top:1px solid rgba(255,255,255,.08);
  padding:24px 0;
}
.mobile-menu-section:first-of-type{border-top:none;padding-top:0}
.beforeafter{padding:100px var(--pad-x);background:var(--navy);border-top:1px solid var(--border)}
.beforeafter, .diary-teaser, .instagram, .journal, .contact,
  .footer-v2, .nav, .footer-v2-bar {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
.upload-file-list{font-size:11px;color:var(--gold);margin-top:8px;font-style:italic}
.footer-v2-brand{padding:72px 64px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between}
.footer-v2-brand{border-right:none;border-bottom:1px solid var(--border)}
.footer-v2-brand,.footer-v2-contact{padding:48px 28px}
.footer-v2-brand { border-right: none; border-bottom: 1px solid var(--border); }
.footer-v2-brand, .footer-v2-contact { padding: 56px 36px; }
.footer-v2-brand, .footer-v2-contact { padding: 48px 24px; }
.fv2-contact-title{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:36px;display:flex;align-items:center;gap:12px}
.fv2-contact-title::after{content:'';flex:1;height:1px;background:var(--border)}
.footer-v2-tagline{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--cream);line-height:1.2;margin:32px 0;letter-spacing:-.5px}
.footer-v2-tagline em{font-style:italic;color:var(--gold)}
.footer-v2-tagline { font-size: 24px !important; }
.mobile-menu-contact{
  margin-top:16px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:rgba(255,255,255,.6);
  line-height:1.8;
}
.mobile-menu-contact a{color:rgba(255,255,255,.85);text-decoration:none;display:block;margin-bottom:4px}
.btn-quote-hero{background:transparent;color:var(--cream);border:1px solid rgba(255,255,255,0.3);font-size:11px;letter-spacing:3px;padding:0 30px;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all .25s;white-space:nowrap}
.btn-quote-hero:hover{border-color:var(--gold);color:var(--gold)}
.fv2-contact-item-txt{font-size:13px;color:var(--cream);line-height:1.6;font-weight:300}
.fv2-contact-item-txt small{font-size:10px;letter-spacing:2px;color:var(--warm);text-transform:uppercase;display:block;margin-bottom:2px}
.fv2-contact-item-txt a{color:inherit;transition:color .2s}
.fv2-contact-item-txt a:hover{color:var(--gold)}
.mobile-menu{
  position:fixed;
  top:0;
  right:-100%;
  width:min(380px, 88vw);
  height:100vh;
  height:100vh;
  background:var(--ink);
  border-left:1px solid rgba(245,168,35,.15);
  z-index:1000;
  transition:right .4s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  padding:90px 32px 40px;
}
.mobile-menu.active{right:0}
.mobile-menu-overlay{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:998;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
}
.mobile-menu-overlay.active{
  opacity:1;
  pointer-events:auto;
}
.mobile-menu-title{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
  display:block;
}
.mobile-menu-link{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:32px;
  color:var(--cream);
  text-decoration:none;
  padding:10px 0;
  letter-spacing:-0.5px;
  transition:.2s;
}
.mobile-menu-link:hover, .mobile-menu-link:active{color:var(--gold)}
.mobile-menu-cta{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto;
  padding-top:24px;
}
.mobile-menu-cta button{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:2px;
  font-weight:700;
  text-transform:uppercase;
  padding:16px 24px;
  cursor:pointer;
  border:none;
  transition:.3s;
}
.mobile-menu-cta .btn-book{background:var(--gold);color:var(--ink)}
.mobile-menu-cta .btn-quote{background:transparent;color:var(--cream);border:1px solid rgba(245,168,35,.3)}

.modal-body{padding:36px 48px 48px}
.modal-body p{font-size:14px;color:var(--warm2);line-height:1.7;margin-bottom:28px;font-weight:300}
.modal-body{padding:28px}
.modal-body { padding: 24px; }
.fv2-contact-icon{width:40px;height:40px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--gold);flex-shrink:0}
.mform-upload{border:1px dashed var(--border);background:rgba(201,168,100,0.03);padding:24px;text-align:center;cursor:pointer;transition:border-color .3s,background .3s;position:relative}
.mform-upload:hover{border-color:var(--gold);background:rgba(201,168,100,0.06)}
.mform-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.mform-upload-icon{font-size:28px;margin-bottom:10px}
.mform-upload-txt{font-size:13px;color:var(--muted2);font-weight:300}
.mform-upload-txt span{color:var(--gold)}
.mform-upload-hint{font-size:11px;color:var(--warm);margin-top:6px;font-style:italic}
.hero-prev{left:20px}
.hero-prev{left:10px}
.footer-v2{background:var(--ink);border-top:1px solid var(--border)}
.footer-v2-main{display:grid;grid-template-columns:1fr 1fr;gap:0}
.footer-v2-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.footer-v2-contact{padding:72px 64px;display:flex;flex-direction:column;justify-content:space-between}
.footer-v2-bar{padding:18px 64px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--warm);letter-spacing:1.5px}
.footer-v2-bar-lang{display:flex;gap:16px}
.footer-v2-main{grid-template-columns:1fr}
.footer-v2-bar{padding:16px 28px;flex-direction:column;gap:8px;text-align:center}
.footer-v2, .nav, .footer-v2-bar {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
.footer-v2-main { grid-template-columns: 1fr; }
.footer-v2-bar { padding: 16px 24px; flex-direction: column; gap: 8px; text-align: center; }
.cb-note{text-align:center;font-size:11px;color:var(--muted2);margin-top:12px;letter-spacing:.5px}
.mform-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mform-row { grid-template-columns: 1fr; }
.nav-hamburger{
  display:none;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:8px;
  margin-left:auto;
  margin-right:12px;
  width:36px;
  height:36px;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  gap:5px;
  position:relative;
  z-index:1005;
}
.nav-hamburger span{
  display:block;
  width:24px;
  height:2px;
  background:var(--cream);
  transition:all .3s;
  transform-origin:center;
}
.nav-hamburger span:nth-child(2){width:18px}
.nav-hamburger.active span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.nav-hamburger.active span:nth-child(2){opacity:0}
.nav-hamburger.active span:nth-child(3){
  width:24px;
  transform:translateY(-7px) rotate(-45deg);
}

.hero-nav-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(13,20,25,.55);border:1px solid rgba(201,168,100,.3);
  color:rgba(255,255,255,.85);width:52px;height:52px;cursor:pointer;
  font-size:30px;display:flex;align-items:center;justify-content:center;
  transition:all .25s;z-index:6;backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);line-height:1;padding-bottom:2px;
}
.hero-nav-btn:hover{background:rgba(201,168,100,.18);border-color:var(--gold);color:var(--gold)}
.hero-nav-btn{width:40px;height:40px;font-size:22px}
.modal-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:40px;height:40px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-left:20px}
.modal-close:hover{border-color:var(--gold);color:var(--gold)}
.cb-modal-box{background:var(--navy2);border:1px solid var(--border);max-width:500px;width:calc(100vw - 40px);max-height:90vh;overflow-y:auto;position:relative;padding:0}
.fv2-contact-items{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}
.fv2-contact-item{display:flex;align-items:flex-start;gap:16px}
.cta-two-btns{display:flex;gap:14px;flex-wrap:wrap}
.cb-modal-close{position:absolute;top:20px;right:20px;background:transparent;border:1px solid var(--border);color:var(--muted2);width:36px;height:36px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.2s}
.cb-modal-close:hover{border-color:var(--gold);color:var(--gold)}
.modal-box{background:var(--navy);border:1px solid var(--border);max-width:680px;width:100%;max-height:90vh;overflow-y:auto;position:relative}
.modal-box { max-height: 95vh; }
.mform-privacy{font-size:11px;color:var(--warm);text-align:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.modal-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(7,14,22,0.88);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:20px}
.modal-overlay.open{display:flex}
.mform{display:flex;flex-direction:column;gap:14px}
.mform input,.mform select,.mform textarea{background:var(--ink);border:1px solid var(--border);color:var(--cream);padding:15px 20px;font-size:13px;font-family:'Inter',sans-serif;font-weight:300;outline:none;width:100%;transition:border-color .2s}
.mform input::placeholder,.mform textarea::placeholder{color:var(--warm)}
.mform input:focus,.mform select:focus,.mform textarea:focus{border-color:var(--gold)}
.mform select{color:var(--warm);cursor:pointer}
.mform select option{background:var(--ink)}
.mform textarea{height:100px;resize:none}
.cb-field{margin-bottom:20px}
.cb-field label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);margin-bottom:8px;font-weight:500}
.cb-field input,.cb-field select,.cb-field textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);
  color:var(--cream);padding:14px 16px;font-family:'Inter',sans-serif;font-size:14px;
  outline:none;transition:border-color .25s;resize:none;
  -webkit-appearance:none;appearance:none;
}
.cb-field input:focus,.cb-field select:focus,.cb-field textarea:focus{border-color:var(--gold)}
.fbar-lang{cursor:pointer;transition:color .2s}
.fbar-lang.on{color:var(--gold)}
.fv2-link{font-size:10px;letter-spacing:2px;color:var(--warm2);text-transform:uppercase;cursor:pointer;font-weight:500;transition:color .2s}
.fv2-link:hover{color:var(--gold)}
.hero-next{right:20px}
.hero-next{right:10px}
/* ═══════ END RESTORATION ═══════ */

.services-new{padding:120px var(--pad-x);background:var(--ink);border-top:1px solid var(--border)}

/* Mobile hamburger toggle */
@media (max-width:1100px){
  .nav-hamburger{display:flex}
  body.menu-open{overflow:hidden}
}
@media (min-width:1101px){
  .mobile-menu, .mobile-menu-overlay{display:none!important}
}


/* MOBILE HERO ORDER · photo first for visual hook */
@media(max-width:880px){
  .hero-right{order:1!important}
  .hero-left{order:2!important}
}


/* ═══ FAQ SECTION ═══ */
.faq-section{padding:100px var(--pad-x);background:var(--navy);border-top:1px solid var(--border)}
.faq-wrap{max-width:920px;margin:0 auto}
.faq-hdr{text-align:center;margin-bottom:64px}
.faq-hdr h2{margin-top:18px}
.faq-intro{max-width:560px;margin:24px auto 0;font-size:14px;line-height:1.7;color:var(--muted2);font-weight:300}

.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-item summary{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:28px 0;cursor:pointer;list-style:none;
  transition:padding .25s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{display:none}
.faq-item summary:hover .faq-q{color:var(--gold)}
.faq-q{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,1.5vw,22px);font-weight:400;
  color:var(--cream);letter-spacing:-0.2px;line-height:1.4;
  transition:color .25s;
  flex:1;
}
.faq-icon{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;font-weight:300;color:var(--gold);
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-item[open] summary{padding-bottom:12px}
.faq-a{padding:0 0 32px;max-width:720px}
.faq-a p{
  font-size:14px;line-height:1.85;color:var(--muted2);font-weight:300;
}
.faq-a strong{color:var(--cream);font-weight:500}

.faq-cta{
  text-align:center;margin-top:48px;padding-top:48px;
  border-top:1px solid var(--border);
}
.faq-cta p{
  font-size:13px;color:var(--muted2);margin-bottom:14px;
  letter-spacing:0.5px;
}
.faq-cta-link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Inter',sans-serif;font-size:11px;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);font-weight:600;cursor:pointer;
  transition:gap .3s;border-bottom:1px solid rgba(201,168,100,.3);
  padding-bottom:6px;
}
.faq-cta-link:hover{gap:16px;border-bottom-color:var(--gold)}

/* Mobile */
@media(max-width:768px){
  .faq-section{padding:80px var(--pad-x)}
  .faq-item summary{padding:22px 0;gap:16px}
  .faq-q{font-size:16px}
  .faq-icon{font-size:24px}
  .faq-a{padding:0 0 24px}
  .faq-a p{font-size:13.5px}
}



/* ════════════════════════════════════════════════════════════════
   LUXURY DESIGN SYSTEM · Global button, input, form overrides
   Applied via cascade (later rules win) · safe, non-destructive
   ════════════════════════════════════════════════════════════════ */

/* ── SHARED VARIABLES ── */
:root{
  --btn-h:44px;
  --btn-font:700 10.5px/1 'Inter',sans-serif;
  --btn-track:2px;
  --input-border:1px solid rgba(180,160,120,.18);
  --input-focus:rgba(201,168,100,.85);
  --gold-grd:linear-gradient(135deg,#d4a857 0%,#c9a864 50%,#b8915d 100%);
  --gold-grd-h:linear-gradient(135deg,#e0b468 0%,#d4a857 50%,#c59567 100%);
}

/* ═══════════════════════════════
   PRIMARY BUTTONS (gold filled)
   ═══════════════════════════════ */

/* Universal primary reset */
.btn-pri, .nav-btn-book, .btn-book,
.mform-submit, .cb-submit, .form-submit{
  background: var(--gold-grd) !important;
  color: var(--ink) !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  font: var(--btn-font) !important;
  letter-spacing: var(--btn-track) !important;
  text-transform: uppercase;
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
  position: relative;
  overflow: hidden;
}
.btn-pri::after, .nav-btn-book::after, .btn-book::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0);
  transition:background .3s;
}
.btn-pri:hover, .nav-btn-book:hover, .btn-book:hover{
  background: var(--gold-grd-h) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(201,168,100,.28) !important;
}
.btn-pri:hover::after, .nav-btn-book:hover::after{
  background:rgba(255,255,255,.08);
}
.btn-pri:active, .nav-btn-book:active, .btn-book:active{
  transform: translateY(0);
}

/* ═══════════════════════════════
   SECONDARY BUTTONS (outlined)
   ═══════════════════════════════ */

.btn-sec, .btn-quote-hero, .nav-btn-quote{
  background: transparent !important;
  border-radius: 0 !important;
  border: 1px solid rgba(201,168,100,.35) !important;
  color: var(--cream) !important;
  cursor: pointer;
  font: var(--btn-font) !important;
  letter-spacing: var(--btn-track) !important;
  text-transform: uppercase;
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
  position: relative;
  overflow: hidden;
}
.btn-sec::before, .btn-quote-hero::before, .nav-btn-quote::before{
  content:'';
  position:absolute;
  inset:0;
  background: var(--gold-grd);
  opacity:0;
  transition: opacity .3s;
}
.btn-sec:hover, .btn-quote-hero:hover, .nav-btn-quote:hover{
  border-color: var(--gold) !important;
  color: var(--ink) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(201,168,100,.18) !important;
}
.btn-sec:hover::before, .btn-quote-hero:hover::before, .nav-btn-quote:hover::before{
  opacity:1;
}
/* Fix text z-index above pseudo-element */
.btn-sec span, .btn-sec, .btn-quote-hero, .nav-btn-quote{ z-index:1; }

/* Nav quote button specific color fix */
.nav-btn-quote{ color: var(--gold) !important; }
.nav-btn-quote:hover{ color: var(--ink) !important; }

/* ═══════════════════════════════
   TERTIARY · callback hero link
   ═══════════════════════════════ */

.btn-cb-hero{
  color: rgba(201,168,100,.8) !important;
  transition: all .3s !important;
  position: relative;
}
.btn-cb-hero::after{
  content:'';
  position:absolute;
  bottom:-2px;left:0;right:0;
  height:1px;
  background: var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.btn-cb-hero:hover{
  color: var(--gold) !important;
  letter-spacing: 2.5px !important;
}
.btn-cb-hero:hover::after{ transform:scaleX(1); }

/* ═══════════════════════════════
   ARROW LINKS (text CTAs)
   ═══════════════════════════════ */

.arrow-link, .co2-cta, .contact-map-link, .psc-cta{
  transition: all .35s cubic-bezier(.4,0,.2,1) !important;
}
.arrow-link:hover, .contact-map-link:hover{
  letter-spacing: 4px !important;
  color: #e0b468 !important;
}

/* ═══════════════════════════════
   LUXURY FORM INPUTS
   ═══════════════════════════════ */

/* All text inputs · bottom-border only, luxury style */
.mform input[type=text],
.mform input[type=email],
.mform input[type=tel],
.mform input[type=number],
.mform select,
.mform textarea,
.cb-field input,
.cb-field select,
.cb-field textarea,
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form select,
.contact-form textarea,
.co-form input,
.co-form select,
.co-form textarea{
  background: rgba(255,255,255,.025) !important;
  border: none !important;
  border-bottom: 1px solid rgba(180,160,120,.25) !important;
  border-radius: 0 !important;
  color: var(--cream) !important;
  font-family: 'Inter',sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  padding: 14px 4px !important;
  outline: none !important;
  width: 100%;
  transition: border-color .3s cubic-bezier(.4,0,.2,1) !important;
  -webkit-appearance: none;
  appearance: none;
}
.mform input:focus,
.mform select:focus,
.mform textarea:focus,
.cb-field input:focus,
.cb-field select:focus,
.cb-field textarea:focus,
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-bottom-color: var(--gold) !important;
  background: rgba(201,168,100,.03) !important;
}

/* Select custom arrow (replace browser default) */
.mform select, .cb-field select, .contact-form select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a864' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 4px center !important;
  padding-right: 24px !important;
  cursor: pointer;
}

/* Textarea specific */
.mform textarea, .cb-field textarea, .contact-form textarea{
  resize: vertical !important;
  min-height: 100px !important;
}

/* Input labels */
.mform label, .cb-field label, .co-form label{
  display: block;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: rgba(201,168,100,.7) !important;
  margin-bottom: 4px !important;
}

/* ═══════════════════════════════
   MOBILE PHONE BUTTON IN NAV
   ═══════════════════════════════ */


.mob-phone-btn:hover, .mob-phone-btn:active{ color: #e0b468; }
.mob-phone-btn:hover, .mob-phone-btn:focus{
  border-color: var(--gold);
  background: rgba(201,168,100,.06);
}


/* Show phone button on mobile, show number too on medium mobile */
/* Phone icon: only on true small mobile where nav-links hidden */
@media (max-width:640px){
  
  .nav{ position:sticky; top:0; }
}

@media (min-width:421px) and (max-width:640px){
  
}
@media (max-width:420px){
   /* icon only on very small screens */
}

/* ═══════════════════════════════
   HUB TOGGLE · already good, minor polish
   ═══════════════════════════════ */

/* Hub cards on hover · more reactive */
.hub-card:hover .hub-card-title{
  color: var(--gold) !important;
}

/* ═══════════════════════════════
   CO2 CARDS (contact options)
   ═══════════════════════════════ */

.co2{
  border: 1px solid transparent !important;
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
}
.co2:hover{
  border-color: rgba(201,168,100,.15) !important;
}

/* ═══════════════════════════════
   CONTACT FORM SUBMIT BUTTON
   full-width primary gold
   ═══════════════════════════════ */

.contact-submit-btn, .submit-btn, button[type=submit]{
  width: 100% !important;
  background: var(--gold-grd) !important;
  color: var(--ink) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px 32px !important;
  font: 700 11px/1 'Inter',sans-serif !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
  margin-top: 8px;
}
button[type=submit]:hover{
  background: var(--gold-grd-h) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(201,168,100,.28) !important;
}

/* ═══════════════════════════════
   FOCUS VISIBLE (accessibility)
   ═══════════════════════════════ */

button:focus-visible, a:focus-visible, input:focus-visible{
  outline: 2px solid var(--gold) !important;
  outline-offset: 2px !important;
}



/* Mobile menu phone link */
.mob-menu-phone{
  display:flex;align-items:center;gap:10px;
  color:var(--gold);text-decoration:none;
  font-family:'Inter',sans-serif;font-size:16px;font-weight:600;letter-spacing:.5px;
  padding:14px 0;
  border-bottom:1px solid rgba(201,168,100,.15);
  margin-bottom:12px;
  transition:color .2s;
}
.mob-menu-phone:hover,.mob-menu-phone:active{color:#e0b468}


/* ─── NAV PHONE NUMBER (with live indicator) ─── */
.nav-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px 8px 12px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(201,168,100,0.18);
  border-radius:100px;
  color:var(--cream);
  text-decoration:none;
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:0.2px;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  white-space:nowrap;
}
.nav-phone:hover{
  border-color:rgba(201,168,100,.6);
  background:rgba(201,168,100,.08);
  transform:translateY(-1px);
}
.nav-phone-icon{
  color:var(--gold);
  flex-shrink:0;
}
.nav-phone-num{
  letter-spacing:0.3px;
}

/* Status dot · live (green) or closed (gray) */
.nav-phone-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#6b7280;
  position:relative;
  flex-shrink:0;
  transition:background .3s;
}
.nav-phone-dot.live{
  background:#34d399;
}
.nav-phone-dot.live::before{
  content:'';
  position:absolute;
  inset:-3px;
  border-radius:50%;
  background:#34d399;
  opacity:.5;
  animation:phone-pulse 2s ease-out infinite;
}
@keyframes phone-pulse{
  0%{transform:scale(.7);opacity:.6}
  100%{transform:scale(2.2);opacity:0}
}

/* Tablet & smaller · compact (just icon + number, smaller padding) */
@media (max-width:1100px){
  .nav-phone{
    padding:7px 11px 7px 10px;
    font-size:11.5px;
    margin-right:4px;
  }
  .nav-phone-num{display:none}
  .nav-phone .nav-phone-dot{width:6px;height:6px}
}
@media (min-width:1101px){
  .nav-phone{margin-right:10px}
}
/* Very small mobile (under 380) - hide entirely (use hub) */
@media (max-width:360px){
  .nav-phone{display:none}
}


/* ─── Mobile nav: hide all except phone (hamburger has the rest) ─── */
@media (max-width:880px){
  .nav-lang-wrap,
  .nav-btn-quote,
  .nav-btn-book{display:none!important}
  .nav-actions{gap:0;margin-left:auto;margin-right:8px}
  .nav-phone{
    padding:6px 12px 6px 10px;
    font-size:12px;
    margin-right:0;
  }
  .nav-phone-num{display:inline!important;font-size:11px}
}
@media (max-width:480px){
  .nav-phone-num{display:none!important}
}


/* ─── Mobile nav: reorder so phone is visible BEFORE hamburger ─── */
@media (max-width:880px){
  .nav-logo-wrap{order:0}
  .nav-actions{order:1;margin-left:auto;margin-right:8px}
  .nav-hamburger{order:2;margin-left:0!important}
  .nav-links{order:3}
}


/* ═══════════════════════════════════════════════════════════════
   LUXURY POLISH LAYER · refined buttons, frames, transitions
   ═══════════════════════════════════════════════════════════════ */

/* ─── PREMIUM EASING for all interactive elements ─── */
:root{
  --ease-lux: cubic-bezier(.25, .8, .25, 1);
  --ease-quick: cubic-bezier(.4, 0, .2, 1);
  --gold-shadow: 0 12px 32px -8px rgba(201,168,100,.18);
  --gold-border-soft: 1px solid rgba(201,168,100,.14);
}

/* ─── PRIMARY BUTTONS (gold filled) ─── */
.btn-pri,
.nav-btn-book{
  background:linear-gradient(135deg, #d4a857 0%, #c9a864 50%, #b8915d 100%);
  position:relative;
  overflow:hidden;
  transition:all .4s var(--ease-lux);
  box-shadow:0 6px 20px -4px rgba(201,168,100,.25);
}
.btn-pri::before,
.nav-btn-book::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.22), transparent 55%);
  opacity:0;
  transition:opacity .4s var(--ease-lux);
  pointer-events:none;
}
.btn-pri:hover,
.nav-btn-book:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px -6px rgba(201,168,100,.45);
  letter-spacing:1.7px;
}
.btn-pri:hover::before,
.nav-btn-book:hover::before{opacity:1}
.btn-pri:active,
.nav-btn-book:active{transform:translateY(0)}

/* ─── SECONDARY BUTTONS (outlined) ─── */
.btn-sec,
.nav-btn-quote,
.btn-quote-hero{
  position:relative;
  overflow:hidden;
  transition:all .4s var(--ease-lux);
  border:1px solid rgba(201,168,100,.32);
}
.btn-sec:hover,
.nav-btn-quote:hover,
.btn-quote-hero:hover{
  border-color:var(--gold);
  background:rgba(201,168,100,.06);
  letter-spacing:1.7px;
  transform:translateY(-1px);
}

/* ─── TERTIARY / TEXT BUTTONS (callback, etc) ─── */
.btn-cb-hero{
  transition:all .35s var(--ease-lux);
  position:relative;
}
.btn-cb-hero:hover{
  letter-spacing:1.8px;
  color:var(--gold);
}

/* ─── ALL CARDS · refined borders + gold-tinted hover shadows ─── */
.why-card,
.ps,
.co2,
.faq-item,
.stat,
.t-card,
.journal-card,
.material-card,
.feat-card{
  transition:all .4s var(--ease-lux);
  position:relative;
}

/* WHY cards · add subtle gold corner accent on hover */
.why-card{
  transition:all .4s var(--ease-lux);
  position:relative;
}
.why-card::after{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%) scaleX(0);
  width:50px;
  height:1px;
  background:var(--gold);
  transition:transform .5s var(--ease-lux);
  transform-origin:center;
}
.why-card:hover::after{
  transform:translateX(-50%) scaleX(1);
}

/* PROCESS cards · gold accent on hover for the Roman numeral */
.ps{position:relative}
.ps:hover .proc-num,
.ps:hover .ps-num{
  color:var(--gold);
  text-shadow:0 0 24px rgba(201,168,100,.2);
  transition:all .5s var(--ease-lux);
}

/* CONTACT OPTION cards (3-column) · premium hover */
.co2:hover{
  border-color:var(--gold)!important;
  background:rgba(201,168,100,.025);
  box-shadow:var(--gold-shadow);
  transform:translateY(-3px);
}

/* JOURNAL article cards · image scale + caption shift */
.journal-card{
  overflow:hidden;
}
.journal-card .journal-img img,
.j-card img,
.diary-card img{
  transition:transform 1s var(--ease-lux);
}
.journal-card:hover img,
.j-card:hover img,
.diary-card:hover img{
  transform:scale(1.04);
}

/* FAQ items · subtle gold left-edge on hover */
.faq-item{
  position:relative;
}
.faq-item::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--gold);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .35s var(--ease-lux);
}
.faq-item:hover::before,
.faq-item[open]::before{
  transform:scaleY(1);
}
.faq-item summary{
  transition:color .3s var(--ease-lux);
}
.faq-item:hover summary,
.faq-item[open] summary{
  color:var(--gold);
}

/* TESTIMONIAL cards · premium presentation */
.t-card{
  transition:all .4s var(--ease-lux);
}
.t-card:hover{
  border-color:rgba(201,168,100,.3);
  transform:translateY(-2px);
  box-shadow:var(--gold-shadow);
}

/* ─── ALL LINK ARROWS · slide animation on hover ─── */
.nl-arrow,
a[href*="#"] .arrow,
.read-more::after{
  display:inline-block;
  transition:transform .35s var(--ease-lux);
}
*:hover > .nl-arrow,
a:hover .arrow{
  transform:translateX(4px);
}

/* ─── REFINE Bullet/separator visual quality ─── */
.sec-tag{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.sec-tag::before{
  content:'';
  display:inline-block;
  width:32px;
  height:1px;
  background:linear-gradient(to right, transparent, var(--gold) 50%, transparent);
  vertical-align:middle;
}

/* ─── SMOOTH ALL TRANSITIONS for a premium feel ─── */
a, button, [role="button"]{
  -webkit-tap-highlight-color:transparent;
}

/* ─── MOBILE: still elegant ─── */
@media (max-width:768px){
  .btn-pri:hover,
  .nav-btn-book:hover{
    transform:none;
    letter-spacing:1.5px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   LUXURY DESIGN SYSTEM · Limakdéco
   Complete overhaul of all buttons, cards, frames
   Inspired by: deVOL, Reform Copenhagen, Plain English
   Philosophy: Restraint · Precision · Depth · Gold as accent only
   ═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────
   I. BUTTON DESIGN SYSTEM
   ───────────────────────────────────────────────────────────── */

/* === PRIMARY: Gold fill · authority, action === */
.btn-pri,
.nav-btn-book{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:46px;
  padding:0 26px;
  background:linear-gradient(115deg, #d4a857 0%, #c9a864 55%, #b88e5a 100%);
  color:#0D1419;
  border:none;
  border-radius:0;
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:2.2px;
  text-transform:uppercase;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:letter-spacing .45s cubic-bezier(.25,.8,.25,1),
             box-shadow .45s cubic-bezier(.25,.8,.25,1),
             transform .3s cubic-bezier(.25,.8,.25,1);
  box-shadow:0 2px 8px rgba(201,168,100,.2),
             inset 0 1px 0 rgba(255,255,255,.18),
             inset 0 -1px 0 rgba(0,0,0,.1);
  white-space:nowrap;
}
.btn-pri::before,
.nav-btn-book::before{
  content:'';
  position:absolute;
  top:0; left:-100%;
  width:100%; height:100%;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.18) 50%,
    transparent 100%);
  transition:left .7s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.btn-pri:hover,
.nav-btn-book:hover{
  letter-spacing:3px;
  transform:translateY(-2px);
  box-shadow:0 10px 28px -4px rgba(201,168,100,.50),
             inset 0 1px 0 rgba(255,255,255,.18),
             inset 0 -1px 0 rgba(0,0,0,.1);
}
.btn-pri:hover::before,
.nav-btn-book:hover::before{ left:100%; }
.btn-pri:active,
.nav-btn-book:active{ transform:translateY(0); transition-duration:.1s; }

/* === SECONDARY: Outlined · elegant, subordinate === */
.btn-quote-hero,
.nav-btn-quote{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:46px;
  padding:0 24px;
  background:transparent;
  border:1px solid rgba(201,168,100,.35);
  border-radius:0;
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:2.2px;
  text-transform:uppercase;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
  color:var(--cream);
  white-space:nowrap;
}
.btn-quote-hero::after,
.nav-btn-quote::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(201,168,100,.07);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .4s cubic-bezier(.25,.8,.25,1);
  pointer-events:none;
}
.btn-quote-hero:hover,
.nav-btn-quote:hover{
  border-color:var(--gold);
  color:var(--gold);
  letter-spacing:3px;
  transform:translateY(-1px);
}
.btn-quote-hero:hover::after,
.nav-btn-quote:hover::after{ transform:scaleY(1); }
.nav-btn-quote:hover{ color:var(--ink); background:var(--gold); }

/* === TERTIARY: Text links / Callback === */
.btn-cb-hero{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  background:transparent;
  border:none;
  padding:0 6px;
  color:rgba(201,168,100,.8)!important;
  font-size:9px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  font-weight:600;
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:color .3s ease, letter-spacing .4s cubic-bezier(.25,.8,.25,1), gap .3s ease;
}
.btn-cb-hero:hover{
  color:var(--gold)!important;
  letter-spacing:2.4px;
  gap:10px;
}

/* ─────────────────────────────────────────────────────────────
   II. WHY CARDS · complete redesign
   ───────────────────────────────────────────────────────────── */

.why-grid{
  margin-top:64px;
  gap:0;
}

.why-card{
  padding:52px 40px 48px;
  background:var(--ink);
  border-right:1px solid rgba(201,168,100,.1);
  border-bottom:1px solid rgba(201,168,100,.1);
  position:relative;
  overflow:hidden;
  cursor:default;
  transition:background .5s cubic-bezier(.25,.8,.25,1);
}
.why-card::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .6s cubic-bezier(.25,.8,.25,1);
}
.why-card:hover{
  background:rgba(201,168,100,.028);
}
.why-card:hover::before{
  transform:scaleX(1);
}

/* Icon container · circle with thin gold border */
.why-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:1px solid rgba(201,168,100,.25);
  border-radius:50%;
  font-size:20px;
  margin-bottom:28px;
  color:var(--gold);
  transition:all .4s cubic-bezier(.25,.8,.25,1);
  background:rgba(201,168,100,.05);
}
.why-card:hover .why-icon{
  border-color:var(--gold);
  background:rgba(201,168,100,.1);
  transform:scale(1.08);
}

/* Why card title refinement */
.why-title{
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  font-weight:300;
  color:var(--cream);
  margin-bottom:16px;
  letter-spacing:-.2px;
  line-height:1.2;
  transition:color .35s;
}
.why-card:hover .why-title{ color:#fff; }

/* Why card body */
.why-body{
  font-size:13px;
  line-height:1.75;
  color:var(--muted2);
  font-weight:300;
  transition:color .35s;
}
.why-card:hover .why-body{ color:rgba(243,238,231,.65); }

/* ─────────────────────────────────────────────────────────────
   III. PROCESS STEP CARDS · refined
   ───────────────────────────────────────────────────────────── */

.ps{
  padding:52px 40px 48px;
  background:var(--ink);
  border-right:1px solid rgba(201,168,100,.1);
  position:relative;
  overflow:hidden;
  min-height:340px;
  transition:background .5s cubic-bezier(.25,.8,.25,1);
}
.ps::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .55s cubic-bezier(.25,.8,.25,1);
}
.ps:hover{ background:rgba(201,168,100,.025); }
.ps:hover::before{ transform:scaleX(1); }

/* Roman numeral · large ghost */
.ps-num, .proc-step-num, .ps > .ps-roman, [class^="ps"] > em{
  font-family:'Cormorant Garamond',serif;
  font-size:72px;
  font-weight:200;
  color:rgba(201,168,100,.12);
  display:block;
  margin-bottom:-16px;
  letter-spacing:-2px;
  line-height:1;
  pointer-events:none;
  transition:color .5s;
}
.ps:hover .ps-num, .ps:hover .proc-step-num{
  color:rgba(201,168,100,.22);
}

/* Process timeline tag */
.ps-tag, .ps .timeline-tag, .ps-timeline-label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'Inter',sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid rgba(201,168,100,.2);
  padding:6px 12px;
  margin-top:24px;
  transition:all .35s;
}
.ps:hover .ps-tag, .ps:hover .ps-timeline-label{
  border-color:rgba(201,168,100,.5);
  background:rgba(201,168,100,.06);
}

/* ─────────────────────────────────────────────────────────────
   IV. CONTACT OPTION CARDS (3-column) · elevated
   ───────────────────────────────────────────────────────────── */

.co2{
  background:rgba(13,20,25,.7);
  padding:52px 40px 44px;
  border:1px solid rgba(201,168,100,.12);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:background .45s cubic-bezier(.25,.8,.25,1),
             border-color .45s cubic-bezier(.25,.8,.25,1),
             transform .35s cubic-bezier(.25,.8,.25,1),
             box-shadow .45s cubic-bezier(.25,.8,.25,1);
  display:flex;
  flex-direction:column;
  text-align:left;
}
.co2::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, var(--gold) 0%, rgba(201,168,100,.4) 100%);
  transform-origin:left;
  transform:scaleX(0);
  transition:transform .5s cubic-bezier(.25,.8,.25,1);
}
.co2:hover{
  background:rgba(201,168,100,.04);
  border-color:rgba(201,168,100,.35);
  transform:translateY(-4px);
  box-shadow:0 16px 40px -8px rgba(0,0,0,.5), 0 0 0 1px rgba(201,168,100,.12);
}
.co2:hover::before{ transform:scaleX(1); }

/* Number */
.co2-num{
  font-family:'Cormorant Garamond',serif;
  font-size:12px;
  letter-spacing:3px;
  color:rgba(201,168,100,.55);
  margin-bottom:28px;
  font-style:italic;
  transition:color .35s;
}
.co2:hover .co2-num{ color:var(--gold); }

/* Icon wrapper */
.co2-icon-wrap{
  width:52px;
  height:52px;
  border:1px solid rgba(201,168,100,.2);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
  color:var(--gold);
  transition:all .4s cubic-bezier(.25,.8,.25,1);
  background:rgba(201,168,100,.04);
}
.co2:hover .co2-icon-wrap{
  border-color:var(--gold);
  background:rgba(201,168,100,.1);
  transform:scale(1.1);
}

/* Title */
.co2-title{
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  font-weight:300;
  color:var(--cream);
  margin-bottom:12px;
  line-height:1.15;
  letter-spacing:-.2px;
  transition:color .35s;
}
.co2:hover .co2-title{ color:#fff; }

/* Description */
.co2-desc{
  font-size:13px;
  color:rgba(201,168,100,.45);
  line-height:1.7;
  font-weight:300;
  margin-bottom:28px;
  flex-grow:1;
  transition:color .35s;
}
.co2:hover .co2-desc{ color:rgba(201,168,100,.7); }

/* CTA link */
.co2-cta{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  align-self:flex-start;
  border-top:1px solid rgba(201,168,100,.15);
  padding-top:20px;
  width:100%;
  transition:letter-spacing .4s cubic-bezier(.25,.8,.25,1), color .3s;
}
.co2:hover .co2-cta{
  letter-spacing:3.5px;
  color:#fff;
}

/* ─────────────────────────────────────────────────────────────
   V. FAQ ITEMS · refined expand/collapse
   ───────────────────────────────────────────────────────────── */

.faq-item,
details.faq-item{
  border-bottom:1px solid rgba(201,168,100,.1);
  transition:background .35s;
  position:relative;
}
.faq-item::before{ display:none; } /* override previous ::before */

.faq-item summary,
.faq-item > summary{
  padding:22px 0;
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:300;
  color:var(--cream);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  list-style:none;
  transition:color .35s, padding-left .35s;
  letter-spacing:-.1px;
}
.faq-item summary:hover{ color:var(--gold); padding-left:6px; }
.faq-item[open] summary{ color:var(--gold); }

/* ─────────────────────────────────────────────────────────────
   VI. STATS SECTION · elevated numbers
   ───────────────────────────────────────────────────────────── */

.stat{
  position:relative;
  overflow:hidden;
  transition:background .45s;
}
.stat::after{
  content:'';
  position:absolute;
  bottom:0; left:10%; right:10%;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:0;
  transform:scaleX(0);
  transition:opacity .4s, transform .5s;
}
.stat:hover::after{
  opacity:.45;
  transform:scaleX(1);
}
.stat:hover .stat-num{
  color:var(--gold);
  text-shadow:0 0 32px rgba(201,168,100,.25);
}

/* ─────────────────────────────────────────────────────────────
   VII. NAV · refined button hierarchy
   ───────────────────────────────────────────────────────────── */

.nav-btn-quote{
  background:transparent;
  border:1px solid rgba(201,168,100,.3);
  color:rgba(201,168,100,.85);
  border-radius:0;
  height:36px;
  padding:0 18px;
  font-size:9.5px;
  letter-spacing:1.8px;
  transition:all .35s cubic-bezier(.25,.8,.25,1);
}
.nav-btn-quote:hover{
  background:rgba(201,168,100,.1);
  border-color:var(--gold);
  color:var(--gold);
  letter-spacing:2.4px;
}
.nav-btn-book{
  height:36px;
  padding:0 18px;
  font-size:9.5px;
  letter-spacing:1.8px;
}
.nav-btn-book:hover{ letter-spacing:2.4px; }

/* ─────────────────────────────────────────────────────────────
   VIII. GLOBAL · trust strip, small interactive elements
   ───────────────────────────────────────────────────────────── */

/* Trust strip items · subtle gold on hover */
.trust-item{
  transition:opacity .3s;
  cursor:default;
}
.trust-strip:hover .trust-item{ opacity:.65; }
.trust-strip:hover .trust-item:hover{ opacity:1; }

/* All CTA arrow links  */
.psc-cta, .co2-cta, .proc-link, .feat-cta,
a[class*="-cta"], button[class*="-cta"]{
  transition:letter-spacing .4s cubic-bezier(.25,.8,.25,1), color .3s;
}

/* ─────────────────────────────────────────────────────────────
   IX. RESPONSIVE · maintain luxury on mobile
   ───────────────────────────────────────────────────────────── */

@media (max-width:768px){
  .btn-pri, .nav-btn-book{ height:44px; padding:0 22px; }
  .btn-quote-hero, .nav-btn-quote{ height:44px; padding:0 20px; }
  .why-card{ padding:36px 28px 32px; }
  .co2{ padding:40px 28px 36px; }
  .ps{ padding:36px 28px 32px; min-height:auto; }
}


/* ─── CONTACT SECTION: Remove extras, tighten spacing ─── */

/* Hide Project Budget section - extra, doesn't belong in contact */
.cb-budget { display: none !important; }

/* Tighten the gap between cards and info panel */
.contact .contact-options-v2,
.contact-options-v2 {
  margin-bottom: 0;
}

/* Remove bottom border separating cards from info */
.contact-bottom-v3 {
  border-top: none;
}

/* Compact the info panel padding */
.cb-info-wrap {
  padding: 40px 44px !important;
  gap: 24px !important;
}

/* Reduce showroom photo min-height */
.cb-map-wrap {
  min-height: 380px !important;
}

/* Reduce map iframe height */
.contact-map-section iframe {
  height: 300px !important;
}

/* Reduce section padding top/bottom */
.contact {
  padding-top: 80px !important;
  padding-bottom: 0 !important;
}

/* Reduce intro padding */
.contact-intro {
  padding-bottom: 56px !important;
}

/* ─── FOOTER: Simplify - hide duplicate contact column ─── */

/* Hide the full "Contact Us" column from footer · it duplicates the contact section */
/* footer-v2-contact display restored */

/* Footer-main becomes full-width single column */
.footer-v2-main {
  grid-template-columns: 1fr !important;
  max-width: 900px !important;
}

/* Footer brand area: horizontal layout */
.footer-v2-brand {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* Reduce footer overall padding */
.footer-v2 {
  padding-top: 56px !important;
  padding-bottom: 0 !important;
}

/* Footer main content */
.footer-v2-main {
  padding-bottom: 40px !important;
}

/* Tighten footer bar */
.footer-v2-bar {
  padding: 20px var(--pad-x) !important;
}

/* Footer tagline · tighter */
.footer-v2-tagline {
  margin-bottom: 24px !important;
  margin-top: 16px !important;
}

/* Footer buttons · tighter gap */
.footer-v2-brand > div:last-child > div:first-child {
  margin-bottom: 20px !important;
}

/* On mobile, footer-brand stacks */
@media (max-width: 768px) {
  .footer-v2-brand {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}


/* ─── Footer social strip (replaces contact column) ─── */
.footer-v2-social-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px var(--pad-x);
  border-top: 1px solid rgba(201,168,100,.1);
  max-width: 1320px;
  margin: 0 auto;
}
.fv2s-left {
  display: flex;
  gap: 28px;
  align-items: center;
}
.fv2s-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted2);
  text-decoration: none;
  transition: color .3s;
}
.fv2s-link:hover { color: var(--gold); }
.fv2s-rating {
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px;
  color: var(--warm);
}
.fv2s-rating span {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--muted2);
}
@media (max-width: 768px) {
  .footer-v2-social-strip { flex-direction: column; gap: 20px; }
  .fv2s-left { gap: 20px; flex-wrap: wrap; justify-content: center; }
}


/* ─── FOOTER: Final refined layout ─── */
.footer-v2-main {
  grid-template-columns: 1fr !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 48px var(--pad-x) 40px !important;
}
/* Footer brand: 2-col on desktop - logo+tagline left, CTAs+links right */
.footer-v2-brand {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 64px !important;
  align-items: center !important;
  padding: 0 !important;
  border: none !important;
}
/* Tagline compact */
.footer-v2-tagline {
  font-size: 24px !important;
  margin: 14px 0 0 !important;
  line-height: 1.15 !important;
}
/* Links row */
.footer-v2-links {
  gap: 0 !important;
  margin-top: 16px !important;
}
.fv2-link {
  font-size: 10px;
  letter-spacing: 1.5px;
}
/* Right column of footer brand */
.footer-v2-brand > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.footer-v2-brand > div:last-child > div:first-child {
  margin-bottom: 0 !important;
}
/* Social strip max-width match */
.footer-v2-social-strip {
  max-width: 1320px;
  margin: 0 auto;
  padding: 18px var(--pad-x);
}
/* Bar max-width match */
.footer-v2-bar {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 16px var(--pad-x) !important;
}
/* Mobile footer */
@media (max-width: 768px) {
  .footer-v2-brand {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .footer-v2-main {
    padding: 40px var(--pad-x) 32px !important;
  }
}


/* ─── FOOTER FINAL LAYOUT FIX ─── */
.footer-v2-main {
  grid-template-columns: 1fr !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 52px var(--pad-x) 36px !important;
}
.footer-v2-brand {
  display: flex !important;
  align-items: flex-start !important;
  gap: 80px !important;
  flex-wrap: nowrap !important;
  border: none !important;
  padding: 0 !important;
}
/* Left: logo + tagline */
.footer-v2-brand > div:first-child {
  flex: 0 0 220px !important;
  min-width: 200px !important;
  max-width: 240px !important;
}
.footer-v2-brand > div:first-child img {
  height: 52px !important;
  max-width: 200px !important;
}
.footer-v2-tagline {
  font-size: 20px !important;
  margin: 12px 0 0 !important;
  line-height: 1.25 !important;
}
/* Right: CTAs + links */
.footer-v2-brand > div:last-child {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  padding-top: 4px !important;
}
.footer-v2-brand > div:last-child > div:first-child {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 0 !important;
}
.footer-v2-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin-top: 0 !important;
}
/* Buttons in footer · smaller */
.footer-v2-brand .nav-btn-book,
.footer-v2-brand .nav-btn-quote {
  height: 38px !important;
  padding: 0 18px !important;
  font-size: 9.5px !important;
}
/* Mobile */
@media (max-width: 768px) {
  .footer-v2-brand {
    flex-direction: column !important;
    gap: 28px !important;
  }
  .footer-v2-brand > div:first-child {
    max-width: 100% !important;
  }
}


/* ─── FOOTER LAYOUT: absolute final fix ─── */
.footer-v2 { padding: 0 !important; }
.footer-v2-main { padding: 48px var(--pad-x) 32px !important; }
.footer-v2-brand {
  display: grid !important;
  grid-template-columns: 200px 1fr !important;
  gap: 80px !important;
  align-items: start !important;
  border: none !important;
  padding: 0 !important;
}
/* Remove any conflicting margin from inline styles */
.footer-v2-brand > div:last-child > div[style*="margin-bottom"] {
  margin-bottom: 0 !important;
}
/* Ensure right column is tightly packed */
.footer-v2-brand > div:last-child {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  justify-content: flex-start !important;
  padding-top: 2px !important;
}
/* Suppress inherited spacing */
.footer-v2-brand > div:last-child > * { margin-top: 0 !important; }


/* ═══════════════════════════════════════════════════════════════
   CONTACT SECTION: Complete spacing overhaul
   ═══════════════════════════════════════════════════════════════ */

/* 1. Section top padding · from ~120px to 72px */
div.contact#contact-section {
  padding-top: 72px !important;
}

/* 2. Contact intro · eliminate excessive padding  */
.contact-intro {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 3. Tag above heading · tighter */
.contact-intro .sec-tag {
  margin-bottom: 20px !important;
}

/* 4. Heading · tighter bottom */
.contact-intro h2 {
  margin-bottom: 18px !important;
  font-size: clamp(36px, 4.5vw, 62px) !important;
}

/* 5. Subtitle text · reduce bottom gap to cards */
.contact-intro .contact-lede {
  margin-bottom: 0 !important;
}

/* 6. Gap between intro and cards · single controlled value */
.contact-intro + .contact-options-v2 {
  margin-top: 48px !important;
}

/* 7. Cards → info panel: no extra gap */
.contact-options-v2 {
  margin-bottom: 0 !important;
}

/* 8. Map section: tighter */
.contact-map-section {
  margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER: Clean, minimal, properly spaced
   ═══════════════════════════════════════════════════════════════ */

/* Reset all conflicting footer rules */
.footer-v2 {
  background: var(--ink) !important;
  border-top: 1px solid rgba(201,168,100,.12) !important;
  padding: 0 !important;
}

.footer-v2-main {
  display: flex !important;
  align-items: flex-start !important;
  gap: 80px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 52px var(--pad-x) 48px !important;
  grid-template-columns: unset !important;
  border: none !important;
}

/* LEFT: Logo + tagline · fixed width */
.footer-v2-brand {
  flex: 0 0 230px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Override grid from previous fixes */
.footer-v2-brand > div:first-child,
.footer-v2-brand > div:last-child {
  all: unset !important;
  display: block !important;
}

/* Logo */
.footer-v2-brand img {
  height: 50px !important;
  width: auto !important;
  display: block !important;
}

/* Tagline */
.footer-v2-tagline {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  color: var(--cream) !important;
  line-height: 1.2 !important;
  margin: 14px 0 28px !important;
  letter-spacing: -.3px !important;
}
.footer-v2-tagline em {
  font-style: italic !important;
  color: var(--gold) !important;
}

/* CTA buttons row */
.footer-v2-brand .fv2-btns,
.footer-v2-brand > div:last-child > div:first-child {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 20px !important;
}

/* Nav links */
.footer-v2-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 0 !important;
  margin-top: 0 !important;
}

/* RIGHT: contact column hidden (duplicate) */
/* footer-v2-contact display restored */

/* SOCIAL STRIP (between main and bar) */
.footer-v2-social-strip {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 20px var(--pad-x) !important;
  border-top: 1px solid rgba(201,168,100,.1) !important;
}

.fv2s-left {
  display: flex !important;
  gap: 28px !important;
  align-items: center !important;
}

.fv2s-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted2) !important;
  text-decoration: none !important;
  transition: color .3s !important;
}
.fv2s-link:hover { color: var(--gold) !important; }

.fv2s-rating {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 15px !important;
  color: var(--warm) !important;
}
.fv2s-rating span {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: var(--muted2) !important;
  margin-left: 2px !important;
}

/* COPYRIGHT BAR */
.footer-v2-bar {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 16px var(--pad-x) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0 !important;
  font-size: 10px !important;
  color: var(--warm) !important;
  letter-spacing: 1px !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 880px) {
  .footer-v2-main {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 40px var(--pad-x) 32px !important;
  }
  .footer-v2-brand { flex: none !important; width: 100% !important; }
  .footer-v2-social-strip { flex-direction: column !important; gap: 16px !important; }
  .footer-v2-bar { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
  div.contact#contact-section { padding-top: 56px !important; }
}


/* ═══════════════════════════════════════════════════════════════
   FOOTER: Final clean layout
   Structure: [Logo+tagline] | [Links + CTAs] all in one row
   ═══════════════════════════════════════════════════════════════ */

/* Main container: single flex row */
.footer-v2 {
  background: var(--ink) !important;
  border-top: 1px solid rgba(201,168,100,.12) !important;
  padding: 0 !important;
}
.footer-v2-main {
  display: flex !important;
  align-items: flex-start !important;
  gap: 72px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 52px var(--pad-x) 48px !important;
}

/* LEFT: Logo + tagline · fixed width */
.footer-v2-brand {
  display: contents !important;  /* dissolve wrapper, children go into flex */
}
.footer-v2-brand > div:first-child {
  flex: 0 0 200px !important;
  min-width: 180px !important;
  display: block !important;
}
.footer-v2-brand > div:last-child {
  flex: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 64px !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
}
/* footer-v2-contact display restored */

/* Logo */
.footer-v2-brand > div:first-child img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
}
/* Tagline */
.footer-v2-tagline {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  color: var(--cream) !important;
  line-height: 1.25 !important;
  letter-spacing: -.2px !important;
  margin: 12px 0 0 !important;
}
.footer-v2-tagline em {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* Nav links · left side of right column */
.footer-v2-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 4px !important;
  flex: 1 !important;
  align-content: flex-start !important;
  padding-top: 4px !important;
}

/* CTAs · right side of right column */
.footer-v2-brand > div:last-child > div:first-child {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin: 0 !important;
}
.footer-v2-brand > div:last-child > div:first-child button {
  width: 100% !important;
  white-space: nowrap !important;
}

/* Social strip */
.footer-v2-social-strip {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 18px var(--pad-x) !important;
  border-top: 1px solid rgba(201,168,100,.1) !important;
}
.fv2s-left {
  display: flex !important;
  gap: 24px !important;
  align-items: center !important;
}
.fv2s-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: var(--muted2) !important;
  text-decoration: none !important;
  transition: color .3s !important;
}
.fv2s-link:hover { color: var(--gold) !important; }
.fv2s-rating {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 15px !important;
  color: var(--warm) !important;
}
.fv2s-rating span {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: var(--muted2) !important;
}

/* Copyright bar */
.footer-v2-bar {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 14px var(--pad-x) !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 10px !important;
  color: var(--warm) !important;
  letter-spacing: 1px !important;
}

/* Mobile */
@media (max-width: 880px) {
  .footer-v2-brand { display: block !important; }
  .footer-v2-brand > div:first-child { display: block !important; flex: none !important; margin-bottom: 32px !important; }
  .footer-v2-brand > div:last-child { flex-direction: column !important; gap: 24px !important; }
  .footer-v2-main { flex-direction: column !important; gap: 0 !important; padding: 40px var(--pad-x) 32px !important; }
  .footer-v2-social-strip { flex-direction: column !important; gap: 14px !important; }
  .footer-v2-bar { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
}


/* ═══════════════════════════════════════════════════════════════
   CONTACT SECTION · Complete Luxury Redesign
   ═══════════════════════════════════════════════════════════════ */

/* ─── Contact heading ─── */
.contact-intro h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,6vw,80px);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-1.5px;
  color:var(--cream);
  margin-bottom:20px;
}
.contact-intro h2 em{
  color:var(--gold);
  font-style:italic;
}
.contact-lede{
  font-size:14px;
  color:var(--muted2);
  line-height:1.75;
  font-weight:300;
  max-width:520px;
  margin:0 auto;
}

/* ─── Info wrap panel ─── */
.cb-info-wrap{
  padding:52px 48px;
  background:var(--ink);
  border-left:1px solid rgba(201,168,100,.1);
  display:flex;
  flex-direction:column;
  gap:0;
}

/* Hours + Contact row */
.cb-info-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding-bottom:32px;
  border-bottom:1px solid rgba(201,168,100,.1);
  margin-bottom:32px;
}

/* Each info column */
.cb-info-col:first-child{
  padding-right:32px;
  border-right:1px solid rgba(201,168,100,.08);
}
.cb-info-col:last-child{
  padding-left:32px;
}

/* Label */
.cb-info-label{
  font-family:'Inter',sans-serif;
  font-size:9px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:8px;
}
.cb-info-label::before{
  content:'';
  display:block;
  width:20px;
  height:1px;
  background:var(--gold);
  flex-shrink:0;
}

/* Value text */
.cb-info-value{
  font-size:13px;
  color:rgba(243,238,231,.6);
  line-height:1.8;
  font-weight:300;
}
.cb-info-value strong{ color:var(--cream); font-weight:400; }

/* Links (phone, email) */
.cb-info-link{
  display:block;
  font-size:14px;
  color:var(--cream);
  text-decoration:none;
  line-height:1.9;
  font-weight:300;
  transition:color .25s;
  letter-spacing:.1px;
}
.cb-info-link:hover{ color:var(--gold); }

/* Divider */
.cb-info-divider{
  height:1px;
  background:linear-gradient(90deg, rgba(201,168,100,.15) 0%, transparent 100%);
  margin:0;
  display:none; /* hidden since using border-bottom on rows */
}

/* ─── Google Reviews Trust Block (replaces Project Budget) ─── */
.cb-trust-block{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding-bottom:32px;
  border-bottom:1px solid rgba(201,168,100,.1);
  margin-bottom:32px;
}
.cb-trust-stars{
  color:var(--gold);
  font-size:18px;
  letter-spacing:2px;
  line-height:1;
}
.cb-trust-score{
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:var(--cream);
  font-weight:300;
  letter-spacing:.2px;
}
.cb-trust-score span{
  color:rgba(201,168,100,.4);
  margin:0 4px;
}
.cb-trust-cta{
  margin-left:auto;
  font-family:'Inter',sans-serif;
  font-size:9px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(201,168,100,.6);
  text-decoration:none;
  font-weight:600;
  transition:color .25s;
}
.cb-trust-cta:hover{ color:var(--gold); }

/* ─── Social icons in info panel ─── */
.cb-social{
  display:flex;
  align-items:center;
  gap:10px;
}
.cb-social-label{
  font-family:'Inter',sans-serif;
  font-size:9px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:rgba(201,168,100,.5);
  font-weight:600;
  margin-right:4px;
}
.cb-social-icon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,168,100,.15);
  color:rgba(201,168,100,.5);
  text-decoration:none;
  transition:all .35s cubic-bezier(.25,.8,.25,1);
  border-radius:0;
}
.cb-social-icon:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(201,168,100,.06);
  transform:translateY(-2px);
}

/* ─── Map address overlay bubble ─── */
.cb-map-overlay{
  position:absolute;
  left:24px;
  bottom:24px;
  background:rgba(13,20,25,.92);
  backdrop-filter:blur(8px);
  padding:16px 20px;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(201,168,100,.2);
  transition:all .35s;
  max-width:280px;
}
.cb-map-overlay:hover{
  border-color:var(--gold);
  background:rgba(13,20,25,.98);
}
.cb-map-text{
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:var(--cream);
  font-weight:400;
  line-height:1.5;
  flex:1;
}
.cb-map-text span{
  display:block;
  font-size:11px;
  color:var(--muted2);
  font-weight:300;
  margin-top:2px;
}
.cb-map-pin{ font-size:16px; }
.cb-map-arrow{
  color:var(--gold);
  font-size:14px;
  transition:transform .25s;
}
.cb-map-overlay:hover .cb-map-arrow{
  transform:translateX(3px);
}

/* ─── Google Map area ─── */
.contact-map-section{
  border:1px solid rgba(201,168,100,.1);
  border-top:none;
  overflow:hidden;
  position:relative;
  max-width:1320px;
  margin:0 auto;
}
.contact-map-section iframe{
  display:block;
  filter:grayscale(.5) invert(.05);
}

/* Map address bar */
.contact-map-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 28px;
  background:var(--ink);
  border-top:1px solid rgba(201,168,100,.1);
}
.contact-map-name{
  font-family:'Cormorant Garamond',serif;
  font-size:16px;
  font-weight:300;
  color:var(--cream);
}
.contact-map-address{
  font-family:'Inter',sans-serif;
  font-size:11.5px;
  color:var(--muted2);
  margin-top:2px;
  font-weight:300;
}
.contact-map-directions{
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  text-decoration:none;
  transition:all .25s;
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(201,168,100,.25);
  padding:10px 16px;
}
.contact-map-directions:hover{
  background:rgba(201,168,100,.08);
  border-color:var(--gold);
}

/* ════════════════════════════════════════════════════════════════
   FOOTER · Complete Luxury Refinement
   ════════════════════════════════════════════════════════════════ */

/* Footer main layout */
.footer-v2{
  background:var(--ink);
  border-top:1px solid rgba(201,168,100,.12);
}
.footer-v2-main{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  max-width:1320px;
  margin:0 auto;
  border-bottom:1px solid rgba(201,168,100,.1);
}

/* Left brand column */
.footer-v2-brand{
  padding:72px 64px;
  border-right:1px solid rgba(201,168,100,.08);
  display:flex;
  flex-direction:column;
  gap:40px;
}
.footer-v2-tagline{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:300;
  color:rgba(243,238,231,.6);
  line-height:1.45;
  margin-top:20px;
  letter-spacing:-.1px;
}
.footer-v2-tagline em{
  color:var(--gold);
  font-style:italic;
}

/* Footer nav links */
.footer-v2-links{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
  margin-top:8px;
}
.fv2-link{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:rgba(201,168,100,.45);
  text-decoration:none;
  transition:color .25s;
  font-weight:500;
}
.fv2-link:hover{ color:var(--gold); }
.fv2-link-sep{ color:rgba(255,255,255,.1); margin:0 6px; }

/* Right contact column */
.footer-v2-contact{
  padding:72px 64px;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.fv2-contact-title{
  font-family:'Inter',sans-serif;
  font-size:9px;
  letter-spacing:3.5px;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:36px;
  display:flex;
  align-items:center;
  gap:10px;
}
.fv2-contact-title::before{
  content:'';
  display:block;
  width:24px;
  height:1px;
  background:var(--gold);
}

/* Contact items */
.fv2-contact-items{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-bottom:36px;
}
.fv2-contact-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.fv2-contact-icon{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,168,100,.2);
  color:var(--gold);
  flex-shrink:0;
  margin-top:2px;
}
.fv2-contact-item-txt small{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:8px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(201,168,100,.5);
  font-weight:600;
  margin-bottom:4px;
}
.fv2-contact-item-txt a,
.fv2-contact-item-txt{
  font-size:13px;
  color:rgba(243,238,231,.7);
  line-height:1.6;
  font-weight:300;
  text-decoration:none;
  transition:color .25s;
}
.fv2-contact-item-txt a:hover{ color:var(--gold); }

/* Footer social row */
.fv2-social-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:0;
}
.fv2-social{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,168,100,.15);
  color:rgba(201,168,100,.45);
  text-decoration:none;
  transition:all .35s cubic-bezier(.25,.8,.25,1);
  border-radius:0;
}
.fv2-social:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(201,168,100,.06);
  transform:translateY(-2px);
}

/* Footer bottom bar */
.footer-v2-bar{
  padding:18px 64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  max-width:1320px;
  margin:0 auto;
}
.fv2-bar-copy{
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:rgba(201,168,100,.25);
  font-weight:300;
  letter-spacing:.2px;
}
.fv2-bar-links{
  display:flex;
  align-items:center;
  gap:6px;
}
.fv2-bar-link{
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  color:rgba(201,168,100,.3);
  text-decoration:none;
  font-weight:300;
  transition:color .25s;
}
.fv2-bar-link:hover{ color:var(--gold); }
.fv2-bar-link-sep{ color:rgba(255,255,255,.08); margin:0 6px; }

/* Google reviews in footer bar */
.fv2-bar-reviews{
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:rgba(201,168,100,.4);
  font-weight:300;
  display:flex;
  align-items:center;
  gap:6px;
}
.fv2-bar-reviews span{ color:var(--gold); font-size:13px; }

/* ─── Responsive ─── */
@media (max-width:880px){
  .contact-bottom-v3{ grid-template-columns:1fr; }
  .cb-info-wrap{ padding:36px 28px; }
  .cb-info-row{ grid-template-columns:1fr; gap:24px; }
  .cb-info-col:first-child{ padding-right:0; border-right:none; padding-bottom:24px; border-bottom:1px solid rgba(201,168,100,.08); }
  .cb-info-col:last-child{ padding-left:0; }
  .footer-v2-main{ grid-template-columns:1fr; }
  .footer-v2-brand, .footer-v2-contact{ padding:48px 28px; }
  .footer-v2-brand{ border-right:none; border-bottom:1px solid rgba(201,168,100,.08); }
  .footer-v2-bar{ padding:16px 28px; }
}


/* ─── FOOTER LAYOUT FIX: Restore proper grid structure ─── */
.footer-v2-brand{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:72px 64px!important;
  border-right:1px solid rgba(201,168,100,.08)!important;
  border-bottom:none!important;
  gap:48px!important;
}
.footer-v2-main{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  max-width:1320px!important;
  margin:0 auto!important;
  border-bottom:1px solid rgba(201,168,100,.1)!important;
}
/* Override all the complex sub-rules on footer-v2-brand children */
.footer-v2-brand > div:first-child{
  all:unset!important;
  display:block!important;
}
.footer-v2-brand > div:last-child{
  all:unset!important;
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
}
.footer-v2-brand > div:first-child img{
  height:56px!important;
  width:auto!important;
  display:block!important;
  margin-bottom:16px!important;
}
.footer-v2-brand > div:last-child > div:first-child{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  margin-bottom:0!important;
}
.footer-v2-brand .nav-btn-book,
.footer-v2-brand .nav-btn-quote{
  width:100%!important;
  text-align:center!important;
  justify-content:center!important;
  display:flex!important;
  align-items:center!important;
}
/* Mobile: stack columns */
@media(max-width:880px){
  .footer-v2-main{
    grid-template-columns:1fr!important;
  }
  .footer-v2-brand{
    padding:48px 28px!important;
    border-right:none!important;
    border-bottom:1px solid rgba(201,168,100,.08)!important;
  }
  .footer-v2-contact{
    padding:48px 28px!important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   P0 CRITICAL FIXES
   ═══════════════════════════════════════════════════════════════ */

/* P0.1 · Prevent any horizontal overflow */
html, body{
  overflow-x:hidden;
  max-width:100vw;
}

/* P0.2 · Mobile nav: shrink logo + reorder so phone & hamburger fit */
@media (max-width:880px){
  .nav{
    padding:0 16px!important;
    gap:8px!important;
    height:70px!important;
  }
  .nav-logo-wrap img{
    height:42px!important;
    max-width:170px!important;
    object-fit:contain!important;
  }
  .nav-phone{
    padding:5px 10px 5px 8px!important;
    margin-right:4px!important;
    font-size:0!important;
  }
  .nav-phone .nav-phone-num{display:none!important;}
  .nav-phone .nav-phone-icon{flex-shrink:0;}
  .nav-phone .nav-phone-dot{width:6px!important;height:6px!important;}
  
  .nav-hamburger{
    margin-left:0!important;
    width:36px!important;
    height:36px!important;
    flex-shrink:0!important;
  }
}
@media (max-width:480px){
  .nav-logo-wrap img{
    height:38px!important;
    max-width:140px!important;
  }
  .nav-phone{padding:4px 8px 4px 6px!important;}
  .nav-phone .nav-phone-icon{width:11px!important;height:11px!important;}
}
@media (max-width:380px){
  .nav-phone{display:none!important;}
}


/* P1 · Mobile process cards: 1 column for readable text */
@media (max-width:880px){
  .proc-grid{
    grid-template-columns:1fr!important;
  }
  .ps{
    min-height:auto!important;
    padding:36px 28px!important;
    border-right:none!important;
    border-bottom:1px solid rgba(201,168,100,.1)!important;
  }
  .ps:last-child{border-bottom:none!important;}
  .ps-num{
    font-size:56px!important;
    margin-bottom:-12px!important;
  }
}

/* P1 · Reduce excessive padding-bottom of all sections on mobile */
@media (max-width:880px){
  .why, .testimonials, .process, .journal, .instagram, .faq, .beforeafter{
    padding:64px 22px!important;
  }
}


/* P0 · Laptop range (880-1500): Tighten nav so all CTAs fit */
@media (min-width:881px) and (max-width:1500px){
  .nav{
    padding:0 32px!important;
    gap:14px!important;
  }
  .nav-links{
    gap:22px!important;
  }
  .nav-links a{
    font-size:10px!important;
    letter-spacing:1.5px!important;
  }
  .nav-phone{
    height:32px!important;
    padding:0 12px 0 10px!important;
    font-size:11.5px!important;
  }
  .nav-btn-book, .nav-btn-quote{
    height:32px!important;
    padding:0 14px!important;
    font-size:9px!important;
    letter-spacing:1.5px!important;
  }
}


/* Clean up the social strip after removing rating duplicate */
.footer-v2-social-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 64px!important;
}
.fv2s-left{
  display:flex;
  align-items:center;
  gap:36px;
}


/* Remove CTA buttons from nav · Get in Touch floating button is enough */
.nav-btn-book,
.nav-btn-quote{
  display:none!important;
}

/* Footer logo fix · restore proper proportions */
.footer-v2-brand > div:first-child img,
.footer-v2-brand img{
  height:52px!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  object-fit:contain!important;
  display:block!important;
  flex-shrink:0!important;
}

/* Remove hours from footer CONTACT US · they appear in contact section above */
/* hours removal rule removed · no hours in HTML */

/* ─── MOBILE HERO FIX ─── */
@media (max-width:880px){
  .hero{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
  }
  .hero-right{
    order:1!important;
    height:55vw!important;
    min-height:260px!important;
    max-height:480px!important;
  }
  .hero-left{
    order:2!important;
    min-height:0!important;
    height:auto!important;
    justify-content:flex-start!important;
    gap:28px!important;
    padding:48px 32px 52px!important;
  }
  .hero-chapter{ margin-bottom:4px!important; }
  .hero-main{ margin-bottom:0!important; }
  .hero-desc{ margin-bottom:0!important; }
  .hero-rating{ margin-bottom:0!important; }
  .hero-cta-row{ margin-top:8px!important; }
  .hero-bottom{ display:none!important; }
}
@media (max-width:600px){
  .hero-right{
    height:62vw!important;
    min-height:220px!important;
    max-height:400px!important;
  }
  .hero-left{
    padding:36px 22px 44px!important;
    gap:20px!important;
  }
  .hero-main h1,
  .hero-main .hero-h1{
    font-size:clamp(36px, 10vw, 52px)!important;
  }
}

/* ─── TRUST STRIP on mobile: horizontal scroll, compact ─── */
@media (max-width:880px){
  .trust-strip{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    justify-content:flex-start!important;
    scrollbar-width:none!important;
  }
  .trust-strip::-webkit-scrollbar{ display:none!important; }
  .trust-item{
    padding:18px 24px!important;
    flex-shrink:0!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .trust-hi{ font-size:14px!important; }
}

/* Contact section after removing 3 boxes · tighten heading area */
.contact-intro{
  padding-bottom:48px!important;
  margin-bottom:0!important;
}
.contact-bottom-v3{
  margin-top:0!important;
}

/* Showroom photo: taller now that overlay removed */
.cb-map-wrap{
  min-height:500px!important;
}
.cb-showroom-img{
  filter:grayscale(.2) brightness(.7)!important;
}

/* Contact section full-width on desktop */
.contact-bottom-v3{
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Ensure all section content fits within viewport width */
html, body{
  overflow-x:hidden!important;
  max-width:100vw!important;
}
.nav{max-width:100vw!important;}

/* Hero on 1440 · ensure it fits */
@media (min-width:1101px) and (max-width:1600px){
  .hero{
    max-height:820px!important;
  }
  .hero-left{
    padding:clamp(36px,3.5vw,60px) clamp(28px,4vw,64px)!important;
  }
  .hero-main h1,
  .hero-main .hero-h1{
    font-size:clamp(42px, 5.5vw, 80px)!important;
  }
}


/* Footer logo · constrained sizing */
.footer-v2-brand img{
  height:52px!important;
  width:auto!important;
  max-width:220px!important;
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.footer-v2-brand > div:first-child{
  min-width:0!important;
}


/* Nav after button removal · phone is the main CTA in nav */
.nav-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:auto!important;
}
/* Phone pill more prominent now that buttons are gone */
.nav-phone{
  background:rgba(201,168,100,.08)!important;
  border:1px solid rgba(201,168,100,.25)!important;
  padding:7px 16px 7px 12px!important;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:.3px!important;
}
@media (max-width:880px){
  .nav-phone{
    padding:5px 10px 5px 8px!important;
    font-size:0!important;
  }
}
/* Desktop: show full phone number */
@media (min-width:881px){
  .nav-phone-num{display:inline!important;}
}

/* Remove the 1440 laptop nav fix (buttons are gone, no overflow) */
@media (min-width:881px) and (max-width:1500px){
  .nav-btn-book, .nav-btn-quote{display:none!important;}
}


/* Desktop fit · fluid max-width for sections */
.contact-bottom-v3,
.contact-map-section,
.footer-v2-main,
.footer-v2-bar{
  max-width:min(1320px, calc(100vw - 120px))!important;
}
/* Hero uses full width - no change needed */
/* Section content padding balance */
@media (min-width:881px) and (max-width:1600px){
  .why, .testimonials, .process, .journal, .instagram, .faq, .beforeafter{
    padding-left: max(40px, calc(50vw - 620px))!important;
    padding-right: max(40px, calc(50vw - 620px))!important;
  }
}


/* Mobile hero layout refinement */
@media (max-width:880px){
  .hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:100vh!important;
  }
  .hero-right{
    order:-1!important;
    height:55vw!important;
    min-height:220px!important;
    max-height:320px!important;
    flex-shrink:0!important;
  }
  .hero-right img{
    height:100%!important;
    width:100%!important;
    object-fit:cover!important;
  }
  .hero-left{
    order:1!important;
    padding:28px 22px 32px!important;
    flex:1!important;
  }
  .hero-h1{
    font-size:clamp(36px,9vw,54px)!important;
    margin-bottom:12px!important;
  }
  .hero-tagline{
    font-size:13px!important;
    margin-bottom:16px!important;
  }
  .hero-rating{
    margin-bottom:20px!important;
    font-size:12px!important;
  }
  .hero-cta-row{
    gap:10px!important;
  }
  .btn-pri{
    height:42px!important;
    padding:0 20px!important;
    font-size:9px!important;
  }
  .btn-quote-hero{
    height:42px!important;
    padding:0 16px!important;
    font-size:9px!important;
  }
  .hero-bottom{
    position:relative!important;
    margin-top:auto!important;
    padding-bottom:16px!important;
    padding-top:0!important;
  }
  .hero-chapter{
    display:none!important;  /* hide on mobile to save space, info is in trust strip */
  }
  /* Slide caption */
  .slide-caption{
    bottom:8px!important;
    font-size:10px!important;
  }
  .hero-nav-btn{
    top:50%!important;
    transform:translateY(-50%)!important;
    width:32px!important;
    height:32px!important;
  }
}


/* MOBILE HERO V2 · no empty gap */
@media (max-width:880px){
  .hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:auto!important;
    height:auto!important;
  }
  .hero-right{
    order:-1!important;
    height:260px!important;
    flex-shrink:0!important;
    position:relative!important;
  }
  .hero-right .hslide{
    height:260px!important;
    width:100%!important;
    position:absolute!important;
    top:0!important; left:0!important;
  }
  .hero-right img{
    height:260px!important;
    width:100%!important;
    object-fit:cover!important;
  }
  .hero-left{
    order:1!important;
    flex:none!important;
    padding:24px 22px 20px!important;
  }
  .hero-chapter{display:none!important;}
  .hero-h1{font-size:clamp(34px,8.5vw,50px)!important;margin-bottom:10px!important;letter-spacing:-1px!important;}
  .hero-tagline{font-size:12.5px!important;line-height:1.65!important;margin-bottom:14px!important;}
  .hero-rating{margin-bottom:18px!important;font-size:12px!important;}
  .hero-cta-row{gap:10px!important;flex-wrap:nowrap!important;}
  .btn-pri{height:40px!important;padding:0 18px!important;font-size:9px!important;letter-spacing:1.6px!important;}
  .btn-quote-hero{height:40px!important;padding:0 14px!important;font-size:9px!important;letter-spacing:1.6px!important;}
  .btn-cb-hero{font-size:8.5px!important;padding:0 4px!important;}
  .hero-bottom{padding:10px 22px 14px!important;position:relative!important;}
  .hero-counter{font-size:12px!important;}
  .hero-nav-btn{top:50%!important;transform:translateY(-50%)!important;width:30px!important;height:30px!important;font-size:18px!important;}
  .slide-caption{bottom:8px!important;right:8px!important;font-size:9.5px!important;}
}


/* HERO PATCH · fix gap and button overflow on mobile */
@media (max-width:880px){
  .hero-left{padding-top:20px!important;}
  /* Hero main no top margin */
  .hero-main{margin-top:0!important;padding-top:0!important;}
  .hero-h1{margin-top:0!important;}
  /* CTA row: wrap so buttons fit */
  .hero-cta-row{
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .btn-pri{
    flex:1 1 120px!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .btn-quote-hero{
    flex:1 1 100px!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .btn-cb-hero{
    width:100%!important;
    justify-content:center!important;
    border-top:1px solid rgba(201,168,100,.15)!important;
    padding-top:8px!important;
    margin-top:2px!important;
  }
}
@media (max-width:480px){
  .hero-right{height:240px!important;}
  .hero-right img, .hero-right .hslide{height:240px!important;}
}


@media (max-width:880px){
  .hero-main{
    padding:0 !important;
    flex:none !important;
    justify-content:flex-start !important;
  }
  .hero-left{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:18px 22px 16px !important;
  }
  .hero-chapter{ display:none !important; }
  .hero-h1{ margin-top:0 !important; margin-bottom:8px !important; }
  .hero-tagline{ margin:0 0 12px !important; }
  .hero-rating{ margin:0 0 16px !important; }
  .hero-cta-row{ margin:0 !important; }
  .hero-bottom{
    padding:10px 22px 12px !important;
  }
}


/* ─── Compact Instagram Strip ─── */
.insta-compact-strip{
  background:var(--ink);
  border-top:1px solid rgba(201,168,100,.08);
  border-bottom:1px solid rgba(201,168,100,.08);
}
.insta-compact-photos{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:2px;
}
.insta-compact-item{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  position:relative;
}
.insta-compact-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s cubic-bezier(.25,.8,.25,1), filter .4s;
  filter:grayscale(.2);
}
.insta-compact-item:hover img{
  transform:scale(1.05);
  filter:grayscale(0);
}
.insta-compact-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 32px;
  background:rgba(201,168,100,.03);
  border-top:1px solid rgba(201,168,100,.06);
}
.insta-compact-link{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:600;
  color:rgba(243,238,231,.6);
  text-decoration:none;
  transition:color .25s;
}
.insta-compact-link svg{color:var(--gold);}
.insta-compact-link:hover{color:var(--cream);}
.insta-compact-follow{
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  text-decoration:none;
  transition:letter-spacing .3s;
}
.insta-compact-follow:hover{letter-spacing:2.8px;}

@media(max-width:768px){
  .insta-compact-photos{grid-template-columns:repeat(3,1fr);}
  .insta-compact-bar{padding:12px 18px;}
}
@media(max-width:480px){
  .insta-compact-photos{grid-template-columns:repeat(3,1fr);}
}


/* ── Jotform modal sizing ── */
.modal-box--jotform {
  max-width: 720px;
  width: 94vw;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 4px;
  position: relative;
}
.modal-box--jotform .modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 10;
  background: rgba(0,0,0,.55);
  color: #fff;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cb-modal-box--jotform {
  max-width: 560px;
  width: 94vw;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 4px;
  position: relative;
}
.cb-modal-box--jotform .cb-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 10;
  background: rgba(0,0,0,.55);
  color: #fff;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}



/* ═══════════════════════════════════════════════════════════════
   v3.5 - Additional tablet & small mobile refinements
   ═══════════════════════════════════════════════════════════════ */

/* Small mobile - 480px and below */
@media (max-width: 480px) {
  :root { --pad-x: 16px !important; }
  .nav { padding: 0 16px !important; }
  .hero-h1 { font-size: 42px !important; }
  .hero-h1 .l2, .hero-h1 .l3 { padding-left: 16px !important; }
  .mobile-menu, .mobile-menu-drawer { padding: 80px 24px 32px !important; }
  .mobile-menu-link, .mobile-menu-drawer .mm-link { font-size: 26px !important; }
  .footer { grid-template-columns: 1fr !important; padding: 48px 18px !important; gap: 28px !important; }
  .stats { grid-template-columns: 1fr !important; }
  .stat { padding: 36px 16px !important; }
  .insta-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pgrid { grid-template-columns: 1fr !important; grid-template-rows: auto !important; }
  .pgrid .pc { height: 280px !important; }
  .mat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .diary-teaser-content { padding: 32px 24px !important; }
  .diary-teaser-title { font-size: 32px !important; }
  .modal-body { padding: 28px 22px 32px !important; }
}

/* FAQ-specific small mobile */
@media (max-width: 480px) {
  .faq-q { font-size: 16px !important; padding: 18px 0 !important; }
  .faq-a { font-size: 14px !important; }
}

/* Ensure nav-hamburger is properly sized & visible */
@media (max-width: 1100px) {
  .nav-hamburger { display: flex !important; }
  .nav-links { display: none !important; }
}
@media (min-width: 1101px) {
  .nav-hamburger { display: none !important; }
}



/* ═══════════════════════════════════════════════════════════════
   v3.6 - UNIFIED MODAL SIZING (Quote + Callback same size, larger)
   ═══════════════════════════════════════════════════════════════ */

/* Both Quote and Callback modal boxes - identical large sizing */
.modal-box.modal-box--jotform,
.cb-modal-box.cb-modal-box--jotform {
  max-width: 780px !important;
  width: 94vw !important;
  max-height: 92vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border-radius: 4px !important;
  position: relative !important;
}

/* Iframes - same generous min-height for both */
#jotform-quote,
#jotform-callback {
  width: 100% !important;
  min-height: 720px !important;
  height: 86vh !important;
  max-height: 92vh !important;
  border: none !important;
  display: block !important;
}

/* Close button - consistent styling for both */
.modal-box--jotform .modal-close,
.cb-modal-box--jotform .cb-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  z-index: 10 !important;
  background: rgba(0,0,0,.55) !important;
  color: #fff !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  font-size: 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s !important;
}
.modal-box--jotform .modal-close:hover,
.cb-modal-box--jotform .cb-modal-close:hover {
  background: rgba(0,0,0,.85) !important;
}

/* Tablet - 1024px and below */
@media (max-width: 1024px) {
  .modal-box.modal-box--jotform,
  .cb-modal-box.cb-modal-box--jotform {
    max-width: 92vw !important;
  }
  #jotform-quote,
  #jotform-callback {
    min-height: 680px !important;
    height: 84vh !important;
  }
}

/* Mobile - 768px and below */
@media (max-width: 768px) {
  .modal-box.modal-box--jotform,
  .cb-modal-box.cb-modal-box--jotform {
    max-width: 96vw !important;
    width: 96vw !important;
    max-height: 94vh !important;
  }
  #jotform-quote,
  #jotform-callback {
    min-height: 600px !important;
    height: 88vh !important;
  }
}

/* Small mobile - 480px and below */
@media (max-width: 480px) {
  .modal-box.modal-box--jotform,
  .cb-modal-box.cb-modal-box--jotform {
    max-width: 100vw !important;
    width: 100vw !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }
  #jotform-quote,
  #jotform-callback {
    min-height: 540px !important;
    height: 92vh !important;
  }
  /* Modal overlay no padding on tiny screens */
  .modal-overlay,
  .cb-modal-overlay {
    padding: 0 !important;
  }
}

/* Ensure both modal overlays display correctly */
.modal-overlay.open,
.cb-modal-overlay.active {
  display: flex !important;
}




/* ═══════════════════════════════════════════════════════════════
   v4.0 - MINIMAL MOBILE FIX (Safari-safe rewrite)
   
   Only fixes two real bugs:
   1. Contact hub wrapper was intercepting touches → set pe:none on wrapper,
      pe:auto only on actual buttons
   2. Footer .footer-v2-brand and .footer-v2-contact had extra horizontal
      padding causing misalignment with rest of page
   
   No will-change, no translateZ, no body overflow overrides - let the
   browser handle native scroll properly.
   ═══════════════════════════════════════════════════════════════ */

/* Fix 1: Contact hub wrapper must NOT capture touches */
.contact-hub {
  pointer-events: none;
}
.contact-hub.visible .hub-toggle {
  pointer-events: auto;
}
.contact-hub.open .hub-cards,
.contact-hub.open .hub-card {
  pointer-events: auto;
}

/* Fix 2: Footer alignment on mobile/tablet */
@media (max-width: 880px) {
  .footer-v2-brand,
  .footer-v2-contact {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* ===== ROBUST FIXES (added): responsive overflow + accessible tap target ===== */
/* 1) Stop narrow-phone (<=385px) horizontal clipping: let grid children shrink */
.featured,.team-about,.contact-bottom-v3,.footer-v2-main{overflow:hidden}
.featured>*,.team-about>*,.contact-bottom-v3>*,.footer-v2-main>*{min-width:0}
/* 2) Safety net so no image can ever force overflow */
.featured img,.team-about img,.footer-v2 img{max-width:100%}
/* 3) Enlarge hamburger hit area to 44x44 without changing the icon or its X animation */
.nav-hamburger::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
picture{display:contents}

/* hero captions that link to project pages must be clickable */
.slide-caption a{pointer-events:auto}

/* inactive hero slides are invisible but were sitting on top and swallowing clicks */
.hslide{pointer-events:none}
.hslide.on{pointer-events:auto}
.hslide.on a.slide-caption{pointer-events:auto}

/* unified header CTA */
.nav-bookbtn{display:inline-flex;align-items:center;margin-left:14px;background:#C9A864;color:#0D1419;border-radius:999px;padding:10px 18px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .3s}
.nav-bookbtn:hover{background:#D4B87A}
@media(max-width:1150px){.nav-bookbtn{display:none}}

/* only the active slide caption may receive clicks, ever */
.hslide:not(.on) a.slide-caption{pointer-events:none!important}

/* luxe pass: rounded media and cards, aligned with the project pages */
.psc-card,.feat-img-w,.team-about-photo,.tcard-wrap,.faq-item{border-radius:14px;overflow:hidden}
