*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background-color:var(--bg);overscroll-behavior-y:none}
:root{
  --black:#1A1A1A;
  --jade:#2E6F63;
  --jade-dark:#1F4F46;
  --gold:#C8A96B;
  --gold-light:#E8D4A8;
  --bg:#F8F7F5;
  --white:#FFFFFF;
  --text:#222222;
  --gray:#686860;
  --gray-light:#E2DDD5;
  --cream:#F0EDE6;
}
body{background-color:var(--bg);font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:100px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;transition:all 0.5s cubic-bezier(0.4,0,0.2,1);border-bottom:1px solid transparent}
nav.scrolled{background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,0.07);border-bottom:1px solid rgba(0,0,0,0.06)}
.nav-logo{display:inline-flex;align-items:center;width:300px;height:96px;flex-shrink:0;text-decoration:none}
.nav-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;transition:all 0.3s}
.logo-w{display:block}
.logo-d{display:none}
nav.scrolled .logo-w{display:none!important}
nav.scrolled .logo-d{display:block!important}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center}
.nav-links a{font-family:'Inter',sans-serif;font-size:13px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.88);text-decoration:none;transition:color 0.2s;position:relative;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);transform-origin:left}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
nav.scrolled .nav-links a{color:var(--text)}
nav.scrolled .nav-links a:hover,nav.scrolled .nav-links a.active{color:var(--jade)}
nav.scrolled .nav-links a:hover::after,nav.scrolled .nav-links a.active::after{background:var(--jade)}
.nav-right{display:flex;align-items:center;gap:20px}
.lang-sw{display:flex;gap:4px;align-items:center}
/* Language switcher — hidden until FR/ES pages are built */
.lang-btn{font-size:14px;font-weight:600;letter-spacing:0.1em;color:rgba(255,255,255,0.8);background:none;border:none;cursor:pointer;padding:6px 8px;transition:all 0.2s;font-family:'Inter',sans-serif;border-bottom:2px solid transparent}
.lang-btn:hover,.lang-btn.active{color:var(--gold);border-bottom-color:var(--gold)}
nav.scrolled .lang-btn{color:var(--text)}
nav.scrolled .lang-btn:hover,nav.scrolled .lang-btn.active{color:var(--jade);border-bottom-color:var(--jade)}
.lang-sep{font-size:12px;color:rgba(255,255,255,0.3);padding:0 2px}
nav.scrolled .lang-sep{color:var(--gray-light)}
.nav-wa{display:flex;align-items:center;gap:8px;background:var(--jade);color:var(--white);padding:10px 18px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;font-family:'Inter',sans-serif}
.nav-wa:hover{background:var(--jade-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(46,111,99,0.3)}
.nav-wa svg{flex-shrink:0}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{width:22px;height:1.5px;background:white;transition:all 0.3s;display:block}
nav.scrolled .hamburger span{background:var(--black)}
.mob{display:none;position:fixed;inset:0;background:var(--black);z-index:300;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px}
.mob.open{display:flex}
.mob a{font-family:'Playfair Display',serif;font-size:34px;font-weight:400;color:rgba(255,255,255,0.88);text-decoration:none;transition:color 0.2s;letter-spacing:-0.01em}
.mob a:hover{color:var(--gold)}
.mob a.active{color:var(--gold)}
.mob-lang{display:flex;gap:0;margin-top:24px;border:1px solid rgba(255,255,255,0.15);overflow:hidden}
.mob-lang button{font-size:13px;font-weight:600;color:rgba(255,255,255,0.55);background:none;border:none;cursor:pointer;letter-spacing:0.12em;font-family:'Inter',sans-serif;padding:12px 20px;text-transform:uppercase;border-right:1px solid rgba(255,255,255,0.15);transition:all 0.2s;flex:1}
.mob-lang button:last-child{border-right:none}
.mob-lang button:hover,.mob-lang button.active{color:var(--gold);background:rgba(200,169,107,0.08)}
.mob-x{position:absolute;top:28px;right:28px;font-size:24px;color:rgba(255,255,255,0.5);background:none;border:none;cursor:pointer;line-height:1}
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,26,0.85) 0%,rgba(26,26,26,0.55) 60%,rgba(26,26,26,0.3) 100%)}
.hero-overlay-right{position:absolute;inset:0;background:linear-gradient(to left,rgba(15,15,15,0.45) 0%,rgba(15,15,15,0.25) 40%,transparent 62%);pointer-events:none;z-index:1}
.hero-content{position:relative;z-index:3;padding:0 96px;max-width:860px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;padding:8px 16px;border:1px solid rgba(200,169,107,0.4);background:rgba(200,169,107,0.08)}
.hero-badge span{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);font-weight:500}
.hero-badge-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}
h1.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(44px,6vw,82px);font-weight:400;line-height:1.05;color:var(--white);margin-bottom:18px;letter-spacing:-0.01em}
h1.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:18px;color:rgba(255,255,255,0.72);line-height:1.75;margin-bottom:12px;font-weight:300;max-width:540px}
.hero-guided{font-size:13px;color:rgba(255,255,255,0.45);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:44px}
.hero-guided span{color:var(--gold)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:36px;left:96px;z-index:2;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,0.4);font-size:11px;letter-spacing:0.18em;text-transform:uppercase}
.hero-scroll-line{width:48px;height:1px;background:var(--gold);opacity:0.6;animation:lineGrow 2s ease-in-out infinite alternate}
@keyframes lineGrow{from{width:32px;opacity:.4}to{width:56px;opacity:.8}}
.page-hero{position:relative;padding:160px 96px 80px;min-height:400px;display:flex;align-items:flex-end;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,0.85) 0%,rgba(26,26,26,0.5) 60%,rgba(26,26,26,0.2) 100%)}
.page-hero-content{position:relative;z-index:2;max-width:700px}
.page-hero-content .eyebrow{color:var(--gold)}
.page-hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,68px);font-weight:400;color:var(--white);line-height:1.08;margin-bottom:16px}
.page-hero-content h1 em{font-style:italic;color:var(--gold-light)}
.page-hero-content p{font-size:17px;color:rgba(255,255,255,0.7);line-height:1.75;font-weight:300;max-width:560px}
.trust{background:var(--white);border-bottom:1px solid var(--gray-light);padding:16px 80px;display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}
.trust-lbl{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gray);font-weight:500}
.tdiv{width:1px;height:24px;background:var(--gray-light)}
.titem{display:flex;align-items:center;gap:10px;transition:opacity 0.2s;cursor:pointer}
.titem:hover{opacity:0.75}
.titem img{height:36px;width:36px;object-fit:cover;border-radius:3px}
.tname{font-size:12px;font-weight:600;color:var(--text);line-height:1.3;letter-spacing:0.04em}
.tsub{font-size:10px;color:var(--gray);letter-spacing:0.1em;text-transform:uppercase}
.sec{padding:108px 80px}
.sec-sm{padding:72px 80px}
.sec-dark{background:var(--black)}
.sec-cream{background:var(--cream)}
.sec-jade{background:var(--jade)}
.eyebrow{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:500}
.eyebrow::before{content:'';display:inline-block;width:20px;height:1px;background:currentColor;margin-right:12px;vertical-align:middle;opacity:.7}
.eyebrow-jade{color:var(--jade)}
.h2{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.1;margin-bottom:20px;color:var(--black);letter-spacing:-0.01em}
.h2 em{font-style:italic;color:var(--jade)}
.h2-w{color:var(--white)}
.h2-w em{color:var(--gold)}
.h3{font-family:'Playfair Display',serif;font-size:clamp(22px,2.5vw,32px);font-weight:400;line-height:1.2;color:var(--black);margin-bottom:12px}
.lead{font-size:17px;color:var(--gray);line-height:1.85;font-weight:300}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:15px 36px;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);cursor:pointer;border:none;white-space:nowrap;border-radius:1px}
.btn-gold{background:var(--gold);color:var(--black)}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 24px rgba(200,169,107,0.35)}
.btn-jade{background:var(--jade);color:var(--white)}
.btn-jade:hover{background:var(--jade-dark);transform:translateY(-2px);box-shadow:0 6px 24px rgba(46,111,99,0.3)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-dark:hover{background:#2a2a2a;transform:translateY(-2px)}
.btn-ow{border:1px solid rgba(255,255,255,0.45);color:var(--white)}
.btn-ow:hover{border-color:var(--gold);color:var(--gold)}
.btn-od{border:1px solid var(--black);color:var(--black)}
.btn-od:hover{background:var(--black);color:var(--white)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-photo{position:relative;overflow:hidden}
.split-photo img{width:100%;height:600px;object-fit:cover;object-position:center 15%;transition:transform 1.2s cubic-bezier(0.4,0,0.2,1)}
.split-photo:hover img{transform:scale(1.03)}
.split-photo-accent{position:absolute;bottom:-20px;right:-20px;width:48%;height:48%;object-fit:cover;border:6px solid var(--bg)}
.body-text p{font-size:15px;line-height:1.9;color:var(--gray);margin-bottom:16px;font-weight:300}
.dash-list{list-style:none;margin:24px 0 36px}
.dash-list li{padding:13px 0;border-bottom:1px solid var(--gray-light);font-size:15px;display:flex;gap:16px;color:var(--text);line-height:1.5;align-items:flex-start}
.dash-list li::before{content:'';width:20px;height:1px;background:var(--gold);flex-shrink:0;margin-top:11px}
.soc-links{display:flex;gap:10px;margin-top:24px}
.soc{width:38px;height:38px;border:1px solid var(--gray-light);display:flex;align-items:center;justify-content:center;color:var(--gray);text-decoration:none;transition:all 0.2s}
.soc:hover{border-color:var(--jade);color:var(--jade);transform:translateY(-2px)}
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.cards-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.cards-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.card{background:var(--white);padding:44px 40px;position:relative;overflow:hidden;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1),box-shadow 0.35s ease;box-shadow:0 1px 3px rgba(0,0,0,0.04);border-bottom:3px solid transparent}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,0.1);border-bottom-color:var(--gold)}
.card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height 0.4s cubic-bezier(0.4,0,0.2,1)}
.card:hover::before{height:100%}
.card-n{font-family:'Playfair Display',serif;font-size:56px;font-weight:400;color:var(--gray-light);line-height:1;margin-bottom:12px;transition:opacity 0.3s}
.card:hover .card-n{opacity:.2}
.card-t{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;color:var(--black);margin-bottom:12px;transition:color 0.25s}
.card:hover .card-t{color:var(--jade)}
.card p{font-size:14px;color:var(--gray);line-height:1.85;font-weight:300}
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--jade);text-decoration:none;font-weight:600}
.card-link:hover{color:var(--gold)}
.ac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.ac{background:var(--black);padding:40px 36px;min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);cursor:pointer;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.04);text-decoration:none}
.ac::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,111,99,0.15),transparent);opacity:0;transition:opacity 0.3s}
.ac:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,0.35);border-color:rgba(200,169,107,0.2)}
.ac:hover::before{opacity:1}
.ac.lg{grid-column:span 2;background:var(--jade)}
.ac.lg:hover{background:var(--jade-dark)}
.ac-name{font-family:'Playfair Display',serif;font-size:24px;font-weight:400;color:var(--white);margin-bottom:8px;transition:color 0.25s}
.ac.lg .ac-name{font-size:32px}
.ac-tag{font-size:10px;color:rgba(255,255,255,0.5);letter-spacing:0.1em;text-transform:uppercase;line-height:1.7}
.ac.lg .ac-tag{color:rgba(255,255,255,0.8)}
.ac-arrow{position:absolute;top:24px;right:24px;font-size:16px;color:rgba(255,255,255,0.35);transition:all 0.3s}
.ac:hover .ac-arrow{transform:rotate(45deg);color:var(--gold)}
.fi{border-bottom:1px solid var(--gray-light);transition:background 0.2s}
.fi:hover{background:rgba(46,111,99,0.03)}
.faq-q{padding:22px 0;font-family:'Playfair Display',serif;font-size:20px;font-weight:400;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--black);gap:20px;transition:color 0.25s,padding-left 0.25s}
.faq-q:hover{color:var(--jade)}
.faq-q::after{content:'+';font-size:22px;color:var(--gold);font-family:'Inter',sans-serif;font-weight:300;flex-shrink:0;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);line-height:1}
.fi.open .faq-q{color:var(--jade);padding-left:8px}
.fi.open .faq-q::after{transform:rotate(45deg)}
.fa{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1)}
.fi.open .fa{max-height:300px}
.fa p{padding:0 0 22px;font-size:15px;color:var(--gray);line-height:1.85;font-weight:300}
.yt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:1100px;margin:36px auto 0}
.yt-slot{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border:1px solid rgba(255,255,255,0.08)}
.yt-slot iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.jade-strip{display:grid;grid-template-columns:1fr 1fr 1fr;height:540px;gap:0;overflow:hidden}
.jp{overflow:hidden;height:100%;position:relative}.jp img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}
.jp img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 0.9s cubic-bezier(0.4,0,0.2,1);display:block}
.jp:hover img{transform:scale(1.06)}
.jpanel{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 44px;text-align:center}
.jpanel-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.jpanel-overlay{position:absolute;inset:0;background:rgba(15,15,15,0.82)}
.jpanel-content{position:relative;z-index:2}
.jpanel .eyebrow{color:var(--gold);margin-bottom:14px}
.jpanel .h2{font-size:40px;color:var(--white);margin-bottom:14px}
.jpanel .h2 em{color:var(--gold)}
.jpanel p{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.8;font-weight:300;max-width:230px;margin:0 auto 26px}
.banner{overflow:hidden;position:relative;line-height:0}
.banner img{width:100%;display:block;object-fit:cover;object-position:center 20%}
.banner::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(26,26,26,0.15),transparent 30%,transparent 70%,rgba(26,26,26,0.15))}
.contact-outer{position:relative;overflow:hidden}
.contact-bg-img{position:absolute;inset:0;background-size:cover;background-position:center}
.contact-overlay{position:absolute;inset:0;background:rgba(20,20,18,0.68)}
.contact-inner{position:relative;z-index:2;padding:108px 80px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:56px}
.cm{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.1)}
.ci{width:40px;height:40px;background:var(--jade);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;color:white}
.clbl{font-size:10px;text-transform:uppercase;letter-spacing:0.14em;color:rgba(255,255,255,0.5);margin-bottom:4px;font-weight:500}
.cval{font-size:15px;color:var(--white);text-decoration:none}
.cval:hover{color:var(--gold)}
.cf{background:var(--white);padding:48px;box-shadow:0 32px 80px rgba(0,0,0,0.3)}
.cf h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;margin-bottom:28px}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:0.14em;color:var(--gray);margin-bottom:8px;font-weight:600}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 16px;border:1px solid var(--gray-light);background:var(--bg);font-family:'Inter',sans-serif;font-size:14px;color:var(--text);outline:none;transition:border-color 0.2s,-webkit-appearance:none;-webkit-appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--jade);box-shadow:0 0 0 3px rgba(46,111,99,0.08)}
.fg textarea{height:100px;resize:vertical}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn-sub{width:100%;background:var(--jade);color:var(--white);padding:16px;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s;font-weight:600}
.btn-sub:hover{background:var(--jade-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(46,111,99,0.25)}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--black)}
.stat{padding:48px;text-align:center;border-right:1px solid rgba(255,255,255,0.07)}
.stat:last-child{border-right:none}
.stat-n{font-family:'Playfair Display',serif;font-size:56px;font-weight:400;color:var(--gold);line-height:1}
.stat-l{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:8px}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px}
.ps{padding:44px 40px;border-top:1px solid rgba(255,255,255,0.07)}
.ps-n{font-family:'Playfair Display',serif;font-size:52px;font-weight:400;color:rgba(200,169,107,0.2);line-height:1;margin-bottom:14px}
.ps-t{font-size:15px;font-weight:600;color:var(--white);letter-spacing:0.04em;margin-bottom:10px}
.ps p{font-size:14px;color:rgba(255,255,255,0.42);line-height:1.8;font-weight:300}
.breadcrumb{padding:16px 80px;background:var(--white);border-bottom:1px solid var(--gray-light);font-size:13px;color:var(--gray)}
.breadcrumb a{color:var(--jade);text-decoration:none}
.breadcrumb a:hover{color:var(--gold)}
footer{background:var(--black);padding:80px 80px 40px}
footer a{color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s}
footer a:visited{color:rgba(255,255,255,0.55)}
footer a:hover{color:var(--gold)}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:36px}
.ft-logo{height:120px;width:auto;display:block;margin-bottom:28px;opacity:0.97}
.ft-desc{font-size:13px;color:rgba(255,255,255,0.35);line-height:1.8;font-weight:300;max-width:260px;margin-bottom:22px}
.ft-aff{display:flex;gap:10px;margin-bottom:18px}
.ft-aff img{height:30px;width:30px;object-fit:cover;border-radius:3px;opacity:0.65;transition:opacity 0.2s}
.ft-aff img:hover{opacity:1}
.ft-soc{display:flex;gap:10px}
.ft-soc a{width:34px;height:34px;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.45);transition:all 0.25s;text-decoration:none}
.ft-soc a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.fc h4{font-size:10px;text-transform:uppercase;letter-spacing:0.18em;color:var(--gold);margin-bottom:20px;font-weight:600}
.fc ul{list-style:none}
.fc li{margin-bottom:10px}
.fc a{font-size:14px;color:rgba(255,255,255,0.38);text-decoration:none;transition:all 0.2s;font-weight:300}
.fc a:hover{color:var(--gold);padding-left:6px}
.ft-bot{display:flex;justify-content:space-between;align-items:center}
.ft-copy{font-size:11px;color:rgba(255,255,255,0.18);letter-spacing:0.04em}
.ft-copy a{color:inherit;text-decoration:none}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:99;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}
.wa-float:hover{transform:scale(1.12) translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,0.5)}
.wa-float svg{width:26px;height:26px}
#sticky-wa{display:none;position:fixed;bottom:0;left:0;right:0;z-index:98;background:var(--black);padding:12px 20px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 20px rgba(0,0,0,0.3)}
#sticky-wa span{font-size:13px;color:rgba(255,255,255,0.7);font-weight:300}
#sticky-wa a{display:flex;align-items:center;gap:8px;background:#25D366;color:white;padding:10px 18px;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;flex-shrink:0}
.fade-up{opacity:0;transform:translateY(28px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-up:nth-child(2){transition-delay:0.1s}
.fade-up:nth-child(3){transition-delay:0.2s}
.fade-up:nth-child(4){transition-delay:0.3s}
.cta-strip{background:var(--jade);padding:72px 80px;text-align:center}
.cta-strip h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,44px);font-weight:400;color:var(--white);margin-bottom:16px}
.cta-strip h2 em{font-style:italic;color:var(--gold-light)}
.cta-strip p{font-size:16px;color:rgba(255,255,255,0.7);margin-bottom:36px;font-weight:300}
.cta-strip .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.tcard{background:var(--white);padding:36px;border-left:3px solid var(--gold);box-shadow:0 2px 20px rgba(0,0,0,0.06);transition:transform 0.3s,box-shadow 0.3s}
.tcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.1)}
.tcard-quote{font-family:'Playfair Display',serif;font-size:18px;font-weight:400;font-style:italic;color:var(--text);line-height:1.65;margin-bottom:20px}
.tcard-author{font-size:13px;font-weight:600;color:var(--jade);letter-spacing:0.04em}
.tcard-detail{font-size:12px;color:var(--gray);margin-top:3px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.bc{background:var(--white);transition:transform 0.35s,box-shadow 0.35s;border-bottom:3px solid transparent}
.bc:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,0.1);border-bottom-color:var(--gold)}
.bc-img{height:200px;overflow:hidden}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.bc:hover .bc-img img{transform:scale(1.05)}
.bc-body{padding:28px}
.bc-tag{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--jade);margin-bottom:10px;font-weight:600}
.bc-t{font-family:'Playfair Display',serif;font-size:20px;font-weight:400;color:var(--black);line-height:1.35;margin-bottom:10px}
.bc-d{font-size:14px;color:var(--gray);line-height:1.75;font-weight:300;margin-bottom:16px}
.bc-link{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--jade);text-decoration:none;font-weight:600}
.bc-link:hover{color:var(--gold)}

@media(max-width:1200px){
  nav,.trust{padding-left:40px;padding-right:40px}
  .sec,.sec-sm{padding:80px 40px}
  .contact-inner{padding:80px 40px}
  .page-hero{padding:140px 40px 60px}
  .hero-content{padding:0 60px}
  footer{padding:64px 40px 32px}
  .breadcrumb{padding:16px 40px}
  .cta-strip{padding:60px 40px}
}


@media(max-width:600px){
  h1.hero-h1{font-size:34px}
  .h2{font-size:28px!important}
  .page-hero-content h1{font-size:34px!important}
}

/* ═══════════════════════════════════════════════
   MOBILE EXPERIENCE — INTENTIONAL LUXURY DESIGN
   Phase 1 Mobile Refinement
   Desktop unchanged. Mobile treated as own design.
═══════════════════════════════════════════════ */

@media (max-width: 900px) {

  /* ── NAV: LOGO + HAMBURGER ONLY ── */
  nav {
    height: 96px !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  /* Hide ALL nav right elements — only logo + hamburger on mobile */
  .nav-links,
  .nav-right,
  .lang-sw,
  .nav-wa {
    display: none !important;
  }
  .nav-logo {
    width: 320px !important;
    height: 88px !important;
    flex-shrink: 0 !important;
  }
  .hamburger {
    display: flex !important;
    flex-shrink: 0 !important;
    padding: 8px !important;
    margin-left: 8px !important;
  }
  /* Hamburger lines slightly thicker for luxury feel */
  .hamburger span {
    width: 26px !important;
    height: 1.5px !important;
  }

  /* ── HERO: MOBILE-FIRST DESIGN ── */
  .hero {
    height: 92vh !important;
    min-height: 560px !important;
    align-items: flex-end !important;
  }
  .hero-overlay {
    background: linear-gradient(
      to top,
      rgba(15, 15, 15, 0.95) 0%,
      rgba(15, 15, 15, 0.7) 45%,
      rgba(15, 15, 15, 0.2) 100%
    ) !important;
  }
  .hero-content {
    padding: 0 24px 48px !important;
    max-width: 100% !important;
  }
  .hero-badge {
    margin-bottom: 16px !important;
    padding: 6px 12px !important;
  }
  .hero-badge span {
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
  }
  h1.hero-h1 {
    font-size: 38px !important;
    line-height: 1.08 !important;
    margin-bottom: 14px !important;
  }
  .hero-sub {
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin-bottom: 8px !important;
    /* Hide on very small — shows in guided line */
    display: none !important;
  }
  .hero-guided {
    font-size: 12px !important;
    margin-bottom: 28px !important;
    letter-spacing: 0.1em !important;
  }
  .hero-btns {
    flex-direction: column !important;
    gap: 10px !important;
    max-width: 100% !important;
  }
  .hero-btns .btn {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 13px !important;
    justify-content: center !important;
  }

  /* ── WHATSAPP: FLOAT ONLY, NO STICKY BAR ── */
  #sticky-wa {
    display: none !important;
  }
  .wa-float {
    bottom: 20px !important;
    right: 20px !important;
    width: 52px !important;
    height: 52px !important;
    z-index: 99 !important;
  }

  /* ── TRUST BAR: COMPACT ── */
  .trust {
    gap: 16px !important;
    padding: 14px 20px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .trust-lbl { display: none !important; }
  .tdiv { display: none !important; }
  .tname { font-size: 11px !important; }
  .tsub { display: none !important; }

  /* ── ABOUT SECTION: STACK CLEANLY ── */
  #about {
    grid-template-columns: 1fr !important;
  }
  #about > div:first-child {
    min-height: 380px !important;
  }
  #about > div:last-child {
    padding: 48px 24px 48px !important;
  }

  /* ── SECTION SPACING: LUXURY BREATHING ROOM ── */
  .sec { padding: 72px 24px !important; }
  .sec-sm { padding: 48px 24px !important; }
  .contact-inner { padding: 72px 24px !important; }
  .cta-strip { padding: 56px 24px !important; }

  /* ── PAGE HERO: INNER PAGES ── */
  .page-hero {
    padding: 120px 24px 52px !important;
    min-height: 340px !important;
  }
  .page-hero-content h1 {
    font-size: 36px !important;
    line-height: 1.1 !important;
  }
  .page-hero-content p {
    font-size: 15px !important;
  }
  .breadcrumb {
    padding: 12px 24px !important;
    font-size: 12px !important;
  }

  /* ── TYPOGRAPHY ── */
  .h2 { font-size: clamp(26px, 7vw, 36px) !important; }
  .lead { font-size: 15px !important; }
  .eyebrow { font-size: 10px !important; letter-spacing: 0.2em !important; }

  /* ── CARDS ── */
  .cards-grid,
  .cards-grid-3,
  .cards-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
  .card { padding: 36px 28px !important; }
  .card-n { font-size: 44px !important; }

  /* ── AREAS GRID ── */
  .ac-grid {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
  .ac.lg {
    grid-column: span 1 !important;
  }
  .ac { padding: 28px 24px !important; min-height: 140px !important; }
  .ac-name { font-size: 20px !important; }
  .ac.lg .ac-name { font-size: 24px !important; }

  /* ── JADE STRIP ── */
  .jade-strip {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }
  .jp { height: 300px !important; }
  .jpanel {
    min-height: 320px !important;
    padding: 48px 28px !important;
  }
  .jpanel .h2 { font-size: 34px !important; }

  /* ── STATS ── */
  .stats-strip {
    grid-template-columns: 1fr !important;
  }
  .stat {
    padding: 36px 24px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }
  .stat-n { font-size: 44px !important; }

  /* ── PROCESS STEPS ── */
  .process-steps {
    grid-template-columns: 1fr !important;
  }
  .ps { padding: 32px 24px !important; }

  /* ── FORMS: EFFORTLESS MOBILE ── */
  .fg-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .fg input,
  .fg select,
  .fg textarea {
    font-size: 16px !important; /* Prevents iOS zoom */
    padding: 14px 16px !important;
  }
  .fg { margin-bottom: 14px !important; }
  .fg label { font-size: 10px !important; margin-bottom: 6px !important; }
  .btn-sub {
    padding: 17px !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
  }
  .cf { padding: 32px 20px !important; }
  /* Mini inline forms on area pages */
  form[style*="grid-template-columns:1fr 1fr auto"] {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* ── CONTACT GRID ── */
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    margin-top: 36px !important;
  }

  /* ── TESTIMONIALS ── */
  .testimonials {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tcard { padding: 28px 24px !important; }
  .tcard-quote { font-size: 16px !important; }

  /* ── BLOG GRID ── */
  .blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* ── YOUTUBE ── */
  .yt-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 32px !important;
  }
  /* YouTube 2-col layout on area pages */
  .sec-sm [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* ── SPLIT LAYOUTS ── */
  .split {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .split-photo img {
    height: 320px !important;
    object-position: center 15% !important;
  }
  .split-photo-accent { display: none !important; }

  /* ── FOOTER: ACCORDION ── */
  footer { padding: 48px 24px 80px !important; }
  .ft-top {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }
  
  .ft-desc { max-width: 100% !important; margin-bottom: 16px !important; }
  .ft-aff { margin-bottom: 14px !important; }
  .ft-soc { margin-bottom: 28px !important; padding-bottom: 28px !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important; }
  .fc {
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }
  .fc h4 {
    padding: 18px 0 !important;
    margin-bottom: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
  }
  .fc h4::after {
    content: '+' !important;
    font-size: 18px !important;
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 300 !important;
    transition: transform 0.3s !important;
  }
  .fc h4.open::after {
    transform: rotate(45deg) !important;
  }
  .fc ul {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease !important;
    padding-bottom: 0 !important;
  }
  .fc ul.open {
    max-height: 300px !important;
    padding-bottom: 20px !important;
  }
  .fc li { margin-bottom: 12px !important; }
  .fc a { font-size: 15px !important; }
  .ft-bot {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
    margin-top: 24px !important;
  }
  .ft-copy { font-size: 11px !important; }

  /* ── CTA STRIP ── */
  .cta-strip .btns {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    gap: 10px !important;
  }
  .cta-strip .btns .btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .cta-strip h2 { font-size: 28px !important; margin-bottom: 12px !important; }
  .cta-strip p { font-size: 14px !important; margin-bottom: 28px !important; }

  /* ── BANNER ── */
  .banner { max-height: 220px !important; }

  /* ── DASH LIST ── */
  .dash-list li { font-size: 14px !important; padding: 11px 0 !important; }

  /* ── SOC LINKS ── */
  .soc-links { flex-wrap: wrap !important; }

  /* ── QUICK CONTACT ON HOMEPAGE ── */
  #quick-contact > div {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* ── BUYER PROFILE SECTION ── */
  section.sec-dark > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* ── SMALL PHONE (≤480px) ── */
@media (max-width: 480px) {
  nav { height: 80px !important; }
  .nav-logo { width: 240px !important; height: 72px !important; }
  h1.hero-h1 { font-size: 32px !important; }
  .page-hero-content h1 { font-size: 30px !important; }
  .h2 { font-size: 24px !important; }
  .sec { padding: 56px 20px !important; }
  .hero-content { padding: 0 20px 40px !important; }
  .jpanel { min-height: 280px !important; padding: 40px 20px !important; }
  .jpanel .h2 { font-size: 28px !important; }
  .stat-n { font-size: 38px !important; }

  /* Footer logo mobile */
  .ft-logo { height: 160px !important; margin-bottom: 24px !important; opacity: 0.95 !important; }
}

/* ── TABLET (901px – 1024px) ── */
@media (min-width: 901px) and (max-width: 1024px) {
  nav { padding: 0 32px !important; }
  .nav-logo { width: 200px !important; height: 68px !important; }
  .nav-links { gap: 20px !important; }
  .nav-links a { font-size: 12px !important; }
  .sec { padding: 80px 40px !important; }
  .hero-content { padding: 0 48px !important; }
  h1.hero-h1 { font-size: 54px !important; }
  .cards-grid { grid-template-columns: 1fr 1fr !important; }
  .ft-top { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}

/* Mobile stack utility */
@media (max-width: 900px) {
  .mobile-stack { grid-template-columns: 1fr !important; gap: 36px !important; }
  .mini-form-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  /* About: always 1 col on mobile */
  #about { grid-template-columns: 1fr !important; display: flex !important; flex-direction: column !important; }
  #about > div:first-child { min-height: 360px !important; }
  #about > div:last-child { padding: 48px 24px !important; }

  /* ── MEET JADE — EDITORIAL MOBILE ── */
  .mj-editorial {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .mj-photo-wrap {
    height: 460px !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .mj-photo-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
  }
  .mj-photo-caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 24px !important;
    background: linear-gradient(to top, rgba(15,15,15,0.85) 0%, transparent 100%) !important;
    display: block !important;
  }
  .mj-pull-quote {
    padding: 40px 24px !important;
    background: var(--black) !important;
    display: block !important;
  }
  .mj-pull-quote blockquote {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: var(--white) !important;
    line-height: 1.55 !important;
    border-left: 3px solid var(--gold) !important;
    padding-left: 20px !important;
    margin: 0 !important;
  }
  .mj-credential-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
    margin-top: 0 !important;
  }
  .mj-credential {
    background: var(--cream) !important;
    padding: 24px 20px !important;
    text-align: center !important;
  }
  .mj-credential-icon {
    font-size: 24px !important;
    margin-bottom: 8px !important;
    display: block !important;
  }
  .mj-credential-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--jade) !important;
    display: block !important;
  }
  .mj-credential-desc {
    font-size: 12px !important;
    color: var(--gray) !important;
    margin-top: 4px !important;
    line-height: 1.5 !important;
    font-weight: 300 !important;
  }
  .mj-lang-bar {
    background: var(--jade) !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .mj-lang-bar-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.75) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }
  .mj-lang-bar-langs {
    font-family: 'Playfair Display', serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    color: var(--gold-light) !important;
  }
  /* ── TRUST STRIP ── */
  .trust-strip {
    background: transparent !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--gray-light) !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
  }
  .trust-strip-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 12px !important;
    color: var(--gray) !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
  }
  .trust-strip-item::before {
    content: '✓' !important;
    color: var(--jade) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
  }
  /* ── FOOTER LUXURY REFINEMENT ── */
  footer {
    padding: 52px 24px 88px !important;
  }
  
  .ft-desc {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: rgba(255,255,255,0.42) !important;
    margin-bottom: 18px !important;
  }
  .ft-aff {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }
  .ft-aff img {
    height: 34px !important;
    width: 34px !important;
    opacity: 0.7 !important;
    border-radius: 4px !important;
  }
  .ft-soc {
    gap: 10px !important;
    padding-bottom: 24px !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  .ft-soc a {
    width: 38px !important;
    height: 38px !important;
    border-radius: 2px !important;
  }
  .fc {
    border-top: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  .fc:first-of-type {
    margin-top: 4px !important;
  }
  .fc h4 {
    padding: 16px 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    color: rgba(200,169,107,0.9) !important;
  }
  .fc a {
    font-size: 14px !important;
    color: rgba(255,255,255,0.45) !important;
    line-height: 1.4 !important;
  }
  .fc li {
    margin-bottom: 13px !important;
  }
  .ft-bot {
    padding-top: 20px !important;
    margin-top: 20px !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    gap: 6px !important;
  }
  .ft-copy {
    font-size: 10px !important;
    color: rgba(255,255,255,0.2) !important;
    letter-spacing: 0.04em !important;
  }
  /* Contact info always visible in footer */
  .ft-contact-always {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    margin-bottom: 4px !important;
    display: block !important;
  }
  .ft-contact-always a {
    display: block !important;
    font-size: 14px !important;
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
    margin-bottom: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
    font-family: 'Inter', sans-serif !important;
  }
  .ft-contact-always a:hover {
    color: var(--gold) !important;
  }
  /* ── MICRO-CONVERSION ── */
  .hero-btns .btn:first-child {
    background: var(--gold) !important;
    color: var(--black) !important;
    font-weight: 700 !important;
  }
  .hero-btns .btn:nth-child(2) {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    color: var(--white) !important;
  }
  .hero-btns .btn:nth-child(3) {
    background: var(--jade) !important;
    color: var(--white) !important;
    border: none !important;
  }
  /* Softer CTA strip on mobile */
  .cta-strip {
    background: var(--jade-dark) !important;
  }
  /* Area page mini form — clean and calm */
  .mini-form-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* Reduce aggressive spacing in cards */
  .card { border-bottom: 2px solid transparent !important; }
  /* Process steps: cleaner mobile */
  .ps-n {
    font-size: 40px !important;
    opacity: 0.15 !important;
    margin-bottom: 8px !important;
  }
  .ps-t {
    font-size: 14px !important;
    letter-spacing: 0.04em !important;
  }
  /* Stats strip: breathing room */
  .stat { padding: 40px 24px !important; }
  /* Testimonials: reduced shadow on mobile */
  .tcard {
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border-left-width: 2px !important;
  }
  /* Area cards: consistent height */
  .ac { min-height: 120px !important; }
  .ac.lg { min-height: 150px !important; }

  /* ── SCROLL FIX (overflow only, no bg override) ── */
  html, body {
    overflow-x: hidden !important;
  }
  /* iOS overscroll: keep default for natural scroll */
  /* Nav transparent bg on hero */
  nav:not(.scrolled) {
    background: transparent !important;
  }
  /* Ensure hero fills viewport properly */
  .hero {
    min-height: 100dvh !important;
  }

  /* ── AREAS SECTION: trust block responsive ── */
  #areas .h2 + div[style*="margin-top:28px"] {
    margin-top: 20px !important;
    padding: 20px 16px !important;
  }
  /* Remove blank left column issue on mobile */
  #areas > div:first-child {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* ── REFINED HOMEPAGE ── */
  #youtube { padding: 56px 24px !important; }
  #youtube h2.h2 { font-size: 28px !important; }
  #youtube p { font-size: 14px !important; }
  #areas { padding: 64px 24px !important; }
  #about > div:last-child { padding: 44px 24px !important; }
  .jade-strip .jpanel .h2 { font-size: 30px !important; }
  /* Footer logo — ensure visibility */
  
  /* Areas grid on mobile — 1 col, clean */
  .ac-grid { gap: 3px !important; }
  .ac { min-height: 110px !important; padding: 24px 20px !important; }
  .ac.lg { min-height: 140px !important; }
}

/* ── HERO JADE PORTRAIT — subtle presence ── */




/* ── HERO H1 SUB-LINE ── */
.hero-h1-sub {
  display: block;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 300;
  font-style: normal;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  margin-top: 10px;
}
/* ── REVIEWS GRID MOBILE ── */
@media (max-width: 900px) {
  #reviews > div:last-child {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
  #why-jade > div:last-child {
    grid-template-columns: 1fr 1fr !important;
    gap: 1px !important;
  }
  #why-jade > div:last-child > div { padding: 28px 20px !important; }
}
@media (max-width: 480px) {
  #why-jade > div:last-child {
    grid-template-columns: 1fr !important;
  }
}
/* Meet Jade hero — shift up to show face clearly */
.page-hero .page-hero-bg[style*="jade-portrait-5"] {
  background-position: center 15% !important;
}



/* ── HERO JADE PORTRAIT ── */
.yt-card:hover > div { background: linear-gradient(135deg,rgba(46,111,99,0.55),rgba(26,26,26,0.55)) !important; }
.yt-card:hover div[style*="border-radius:50%"] { transform: scale(1.12) !important; }
@media (max-width: 900px) {
  #youtube .yt-card { aspect-ratio: 16/9; }
  #youtube > div:nth-child(2) { grid-template-columns: 1fr !important; gap: 3px !important; }
}
.hero-jade-portrait {
  position: absolute;
  right: 5%;
  bottom: -15%;
  top: 10%;
  width: 36%;
  object-fit: contain;
  object-position: center top;
  pointer-events: none;
  z-index: 2;
  display: block;
  opacity: 1;
}
@media (max-width: 1100px) {
  .hero-jade-portrait { width: 42%; right: 2%; }
}
@media (max-width: 900px) {
  .hero-jade-portrait { width: 52%; right: 0; top: 15%; }
}
/* portrait always visible on all screen sizes */