:root{
  --navy:#04131f;
  --navy-2:#08283f;
  --navy-3:#0d3450;
  --ink:#020a11;
  --gold:#c39a4b;
  --gold-hi:#edc66f;
  --gold-soft:#d8b46b;
  --ivory:#fff8ec;
  --cream:#f4e5cd;
  --text:#f8f5ef;
  --muted:#c9d0d6;
  --line:rgba(220,179,95,.52);
  --dark-line:rgba(15,43,62,.18);
  --shadow:0 28px 90px rgba(0,0,0,.34);
  --shadow-soft:0 18px 55px rgba(0,0,0,.16);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--navy);
  color:#fff;
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  line-height:1.58;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit}

.skip{
  position:absolute;
  left:-9999px;
}
.skip:focus{
  left:16px;
  top:16px;
  z-index:999;
  background:#fff;
  color:#000;
  padding:10px 14px;
}

.shell{
  width:min(1180px,92vw);
  margin-inline:auto;
}
.center{text-align:center}
.content-layer{position:relative;z-index:2}

.dark-section{
  position:relative;
  background:var(--navy);
  color:#fff;
}
.light-section{
  position:relative;
  background:var(--ivory);
  color:#152433;
}

.site-header{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  right:0;
  background:linear-gradient(180deg,rgba(2,10,17,.96),rgba(2,10,17,.82),rgba(2,10,17,.35),transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav-shell{
  min-height:88px;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:28px;
}
.brand img{width:165px}
.site-header nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
}
.site-header nav a,
footer a{
  font-size:.88rem;
  text-decoration:none;
  color:#fff;
  opacity:.95;
}
.site-header nav a:hover,
footer a:hover{color:var(--gold-hi)}
.menu{
  display:none;
  background:transparent;
  border:1px solid var(--line);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
}
.nav-cta{white-space:nowrap}

h1,h2,h3{
  font-family:"Playfair Display",Georgia,serif;
  margin:0;
}
h1{
  font-size:clamp(4rem,7.35vw,7.35rem);
  line-height:.93;
  letter-spacing:-.045em;
}
h1 em,h2 em{color:var(--gold-hi);font-weight:500}
h2{
  font-size:clamp(3rem,5.45vw,5rem);
  line-height:1.03;
  letter-spacing:-.032em;
}
h3{line-height:1.12}

.kicker{
  margin:0 0 17px;
  text-transform:uppercase;
  letter-spacing:.34em;
  color:var(--gold-hi);
  font-weight:700;
  font-size:.74rem;
}
.kicker.dark{color:#8c6728}
.section-lead{
  max-width:800px;
  margin:18px auto 42px;
  font-size:1.06rem;
}
.section-lead.light{color:#d7e0e6}

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:15px 26px;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold));
  color:#08131c!important;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 30px rgba(196,154,75,.23);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.pill:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(196,154,75,.30);
  filter:brightness(1.04);
}
.pill.outline{
  background:rgba(2,10,17,.30);
  color:#fff!important;
  border-color:rgba(237,198,111,.62);
  box-shadow:none;
}
.pill.compact{padding:12px 20px}
.pill.wide{width:min(100%,390px)}
.actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.text-link{
  align-self:center;
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(237,198,111,.55);
  padding-bottom:3px;
}
.text-link:hover{color:var(--gold-hi)}

.hero{
  min-height:980px;
  padding:150px 0 50px;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 28%,rgba(198,155,74,.18),transparent 23%),
    radial-gradient(circle at 18% 24%,rgba(14,71,105,.50),transparent 30%),
    linear-gradient(180deg,#04131f 0%,#051a2a 58%,#03111c 100%);
}
.hero-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.32;
}
.glow-a{
  width:420px;height:420px;background:#0b6d9a;left:-170px;top:210px;
}
.glow-b{
  width:360px;height:360px;background:#c79b42;right:-120px;top:150px;
}
.hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  align-items:center;
  gap:42px;
}
.hero-copy{padding-top:35px}
.hero-sub{
  font-size:clamp(1.15rem,1.75vw,1.42rem);
  margin:23px 0 4px;
  color:#f2f4f6;
}
.hero-trust{
  max-width:620px;
  margin:14px 0 0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.7;
}
.hero-note{
  margin:28px 0 0;
  color:#d8c082;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.19em;
}
.hero-portrait{
  min-height:650px;
  position:relative;
  border-radius:42px 42px 0 0;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(237,198,111,.22);
}
.hero-portrait img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:center 17%;
  filter:saturate(1.06) contrast(1.03);
}
.portrait-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,19,31,.18),transparent 36%,rgba(0,0,0,.08)),
    linear-gradient(to bottom,transparent 64%,#04131f 100%);
}
.portrait-signature{
  position:absolute;
  right:26px;
  bottom:34px;
  text-align:right;
}
.portrait-signature strong{
  display:block;
  font-family:"Playfair Display",Georgia,serif;
  font-style:italic;
  color:#fff;
  font-size:1.9rem;
  font-weight:500;
}
.portrait-signature span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#d7dce0;
  font-size:.64rem;
}

.value-row{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.value-row article{
  padding:30px 32px;
  text-align:center;
  background:rgba(1,12,20,.48);
  border-top:1px solid var(--line);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.value-row article+article{border-left:1px solid var(--line)}
.icon-ring{
  width:48px;
  height:48px;
  border:1px solid var(--gold-hi);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  color:var(--gold-hi);
  font-size:1.2rem;
}
.value-row h3{
  text-transform:uppercase;
  font-family:"DM Sans",sans-serif;
  letter-spacing:.17em;
  font-size:.81rem;
}
.value-row p{
  margin:7px auto 0;
  color:#cbd5dc;
  max-width:280px;
  font-size:.9rem;
}

.section-fade{
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:130px;
  z-index:5;
  pointer-events:none;
}
.fade-to-light{background:linear-gradient(to bottom,transparent,var(--ivory))}
.fade-to-dark{background:linear-gradient(to bottom,transparent,var(--navy))}
.fade-to-proof{background:linear-gradient(to bottom,transparent,#061b2c)}
.fade-to-city{background:linear-gradient(to bottom,transparent,rgba(4,19,31,.93))}

.scenic{overflow:hidden}
.scenic-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.scenic-bg.mountain{
  background-image:url("mountains.svg");
  opacity:.80;
}
.scenic-bg.mountain.soft{opacity:.52}
.scenic-bg.skyline{background-image:url("skyline.svg")}
.city-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(3,14,23,.30),rgba(3,14,23,.10) 50%,rgba(3,14,23,.78));
  z-index:1;
}

.services{padding:120px 0 150px}
.services:before,
.process:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to bottom,rgba(255,248,236,.72),rgba(255,248,236,.92) 33%,rgba(255,248,236,.97) 68%,rgba(255,248,236,.72));
}
.offer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  margin-top:44px;
  align-items:stretch;
}
.offer-card{
  position:relative;
  border:1px solid rgba(210,168,82,.55);
  border-radius:var(--radius);
  padding:48px 38px 40px;
  color:#fff;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.offer-card:before{
  content:"";
  position:absolute;
  inset:auto -80px -110px auto;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,174,91,.13),transparent 68%);
}
.blue-card{background:linear-gradient(155deg,#062843,#031622 74%)}
.black-card{background:linear-gradient(155deg,#17130c,#05080a 74%)}
.featured-offer{transform:translateY(-8px)}
.card-icon{font-size:2rem;color:var(--gold-hi)}
.service-icon{
  width:58px;
  height:58px;
  margin:0 auto 8px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold);
  border-radius:50%;
  color:var(--gold-hi);
  font-size:1.7rem;
  line-height:1;
  background:rgba(195,154,75,.06);
  box-shadow:0 0 0 6px rgba(195,154,75,.025),0 12px 35px rgba(0,0,0,.18);
}
.offer-eyebrow{
  margin:8px 0 0;
  color:#d8c082;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.66rem;
  font-weight:700;
}
.price{
  font-family:"Playfair Display",Georgia,serif;
  font-size:2.75rem;
  margin:5px 0 0;
}
.offer-card h3{
  font-size:2.12rem;
  line-height:1.05;
}
.tagline{
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--gold-hi);
  font-size:.70rem;
  font-weight:700;
  margin:10px 0 18px;
}
.offer-summary{
  max-width:470px;
  margin:0 auto 20px;
  color:#cbd5dc;
  font-size:.94rem;
}
.offer-card ul{
  list-style:none;
  padding:0;
  max-width:470px;
  margin:0 auto 30px;
  text-align:left;
}
.offer-card li{
  margin:10px 0;
  padding-left:24px;
  position:relative;
  color:#e8eef2;
}
.offer-card li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--gold-hi);
  font-weight:800;
}
.offer-card .pill{margin-top:auto;align-self:center}
.badge{
  position:absolute;
  top:0;
  right:0;
  background:var(--gold-hi);
  color:#121212;
  padding:9px 13px;
  text-transform:uppercase;
  font-weight:900;
  font-size:.61rem;
  line-height:1.25;
}
.badge small{font-size:.56rem}
.fine{
  font-size:.76rem;
  color:#c9d1d7;
  margin:16px auto 0;
  max-width:470px;
}
.choice-panel{
  margin:42px auto 0;
  max-width:1020px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  padding:28px 32px;
  border:1px solid rgba(140,103,40,.22);
  border-radius:var(--radius);
  background:rgba(255,255,255,.56);
  box-shadow:0 14px 50px rgba(8,40,63,.08);
}
.choice-panel h3{
  font-size:1.55rem;
  color:#0b2437;
  margin:5px 0;
}
.choice-panel p{margin:0;color:#4d5a63}
.choice-label{
  color:#8c6728;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.66rem;
  font-weight:800;
}
.choice-divider{
  width:1px;
  height:80px;
  background:rgba(140,103,40,.28);
}

.approach{
  padding:125px 0 150px;
  background:
    radial-gradient(circle at 78% 30%,rgba(195,154,75,.13),transparent 26%),
    radial-gradient(circle at 14% 72%,rgba(13,74,108,.35),transparent 34%),
    linear-gradient(180deg,#04131f,#020b12);
}
.approach-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:70px;
  align-items:center;
}
.approach-copy{max-width:600px}
.approach-copy p{color:#d7e0e6}
.approach-lead{
  font-size:1.25rem;
  color:#fff!important;
  margin-top:25px;
}
.decision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.decision-grid article{
  min-height:190px;
  padding:28px 24px;
  border:1px solid rgba(220,179,95,.34);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(13,47,69,.58),rgba(2,11,18,.76));
}
.decision-grid span{
  color:var(--gold-hi);
  letter-spacing:.22em;
  font-size:.72rem;
}
.decision-grid h3{
  margin:7px 0;
  font-size:1.65rem;
}
.decision-grid p{margin:0;color:#cbd5dc;font-size:.92rem}

.process{padding:115px 0 140px}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:40px;
}
.steps article{
  position:relative;
  padding:18px 14px;
}
.steps article:not(:last-child):after{
  content:"";
  position:absolute;
  top:44px;
  left:64%;
  width:74%;
  height:1px;
  background:rgba(156,119,48,.48);
}
.steps b{
  display:grid;
  place-items:center;
  width:48px;height:48px;
  border-radius:50%;
  margin:0 auto 14px;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold));
  color:#182333;
  border:1px solid #8d6927;
}
.steps h3{
  text-transform:uppercase;
  font-family:"DM Sans",sans-serif;
  letter-spacing:.15em;
  font-size:.76rem;
}
.steps p{font-size:.9rem}

.founder{
  padding:120px 0 150px;
  background:
    radial-gradient(circle at 20% 55%,rgba(8,65,96,.42),transparent 32%),
    radial-gradient(circle at 80% 34%,rgba(187,139,57,.12),transparent 24%),
    linear-gradient(180deg,#04131f,#020b12);
}
.founder-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:52px;
}
.founder-image{
  height:580px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.founder-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 17%;
}
.founder-image-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 65%,#04131f 100%);
}
.founder-copy{max-width:570px}
.founder-copy p{color:#dce5eb}
.founder-principles{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:24px 0 4px;
}
.founder-principles span{
  border:1px solid rgba(220,179,95,.32);
  border-radius:999px;
  padding:8px 12px;
  color:#d8c082;
  font-size:.72rem;
  letter-spacing:.08em;
}
.signature{
  font-family:"Playfair Display",Georgia,serif;
  font-style:italic;
  color:#fff!important;
  font-size:2rem;
  margin:22px 0 0;
}
.title{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.7rem;
  color:var(--gold-hi)!important;
}

.proof{
  padding:110px 0 145px;
  background:linear-gradient(180deg,#061b2c,#020b12);
}
.proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:42px;
}
.proof-grid article{
  padding:32px 22px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(13,47,69,.62),rgba(2,11,18,.78));
  border-radius:12px;
}
.proof-grid span{
  color:var(--gold-hi);
  letter-spacing:.22em;
  font-size:.78rem;
}
.proof-grid h3{
  font-size:1.8rem;
  margin:8px 0;
}
.proof-grid p{color:#cbd5dc}
.case-study-preview{
  margin-top:46px;
  padding:30px 26px;
  border-top:1px solid rgba(220,179,95,.22);
  border-bottom:1px solid rgba(220,179,95,.22);
}
.case-study-preview .kicker{margin-bottom:24px}
.case-study-flow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.case-study-flow div{
  text-align:left;
  padding:0 18px;
}
.case-study-flow div+div{border-left:1px solid rgba(220,179,95,.24)}
.case-study-flow span{
  color:#fff;
  font-weight:700;
  font-size:.9rem;
}
.case-study-flow p{
  margin:7px 0 0;
  color:#bfcad1;
  font-size:.88rem;
}

.final-cta{
  position:relative;
  min-height:560px;
  padding:150px 0 125px;
  color:#fff;
}
.final-cta .content-layer{z-index:3}
.final-cta h2{font-size:clamp(3.2rem,6.4vw,5.7rem)}
.final-cta p{
  font-size:1.10rem;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.final-cta .actions{justify-content:center;align-items:center}
.cta-process{
  margin-top:30px!important;
  color:#d8c082;
  font-size:.74rem!important;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.faq{
  padding:100px 0;
  background:#020b12;
}
.faq-list{
  max-width:850px;
  margin:42px auto 0;
  text-align:left;
}
.faq details{
  border-top:1px solid rgba(213,177,103,.25);
  padding:18px 0;
}
.faq details:last-child{border-bottom:1px solid rgba(213,177,103,.25)}
.faq summary{
  cursor:pointer;
  font-weight:700;
  font-size:1.02rem;
  list-style:none;
  position:relative;
  padding-right:28px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";
  position:absolute;
  right:0;
  color:var(--gold-hi);
}
.faq details[open] summary:after{content:"−"}
.faq details p{
  color:#c8d2d8;
  max-width:760px;
}

footer{
  background:#020b12;
  padding:48px 0 30px;
  border-top:1px solid rgba(213,177,103,.13);
}
.footer-grid{
  display:grid;
  grid-template-columns:240px 1fr auto;
  gap:30px;
  align-items:center;
}
.footer-brand img{width:170px}
.footer-brand p{
  margin:10px 0 0;
  color:#b9c3ca;
  font-size:.86rem;
}
footer nav{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}
.social{display:flex;gap:16px}
.social a[data-email]{text-transform:none}
.footer-contact{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(213,177,103,.10);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#9da9b1;
  font-size:.82rem;
}
.footer-contact p{margin:0}
.footer-contact a{color:#d9e0e5}
.footer-bottom{text-align:center;margin-top:30px}
.gold-rule{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--gold-hi);
}
.gold-rule:before,
.gold-rule:after{
  content:"";
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold));
  flex:1;
}
.gold-rule:after{background:linear-gradient(90deg,var(--gold),transparent)}
.footer-bottom p{color:#8f9ba4;font-size:.78rem}
.footer-bottom p a{color:#bfc8cf}

.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1);
}
.reveal.visible{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .pill{transition:none}
}

@media(max-width:980px){
  .nav-shell{grid-template-columns:160px 1fr auto}
  .site-header nav{gap:16px}
  .hero-layout{
    grid-template-columns:1fr;
    max-width:820px;
  }
  .hero-copy{text-align:center}
  .hero-trust{margin:14px auto 0;max-width:600px}
  .actions{justify-content:center}
  .hero-portrait{min-height:620px}
  .approach-layout{grid-template-columns:1fr;gap:44px}
  .approach-copy{max-width:760px;margin:auto;text-align:center}
  .founder-layout{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-brand img{margin:auto}
  .social{justify-content:center}
  .footer-contact{justify-content:center;flex-wrap:wrap}
}

@media(max-width:820px){
  .site-header{
    background:rgba(2,10,17,.96);
    border-bottom:1px solid rgba(195,154,75,.18);
  }
  .nav-shell{
    min-height:78px;
    grid-template-columns:1fr auto;
    gap:20px;
  }
  .brand{
    display:flex;
    align-items:center;
    width:max-content;
  }
  .brand img{width:110px}
  .site-header nav{
    display:none;
    position:absolute;
    top:78px;
    left:4vw;
    right:4vw;
    flex-direction:column;
    background:#04131f;
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
    box-shadow:var(--shadow);
  }
  .site-header nav.open{display:flex}
  .menu{
    display:block;
    justify-self:end;
    font-size:.95rem;
    padding:10px 16px;
  }
  .nav-cta{display:none}
  .hero{padding-top:125px;min-height:auto}
  .hero-copy{padding-top:0}
  h1{font-size:clamp(3.4rem,14vw,5.2rem);line-height:.94}
  .hero-sub{max-width:600px;margin:25px auto 5px}
  .actions{
    width:100%;
    max-width:660px;
    margin:30px auto 0;
  }
  .actions .pill{width:100%}
  .hero-portrait{
    width:100%;
    min-height:0;
    height:520px;
    margin-top:30px;
  }
  .hero-portrait img{object-position:center 18%}
  .value-row,
  .offer-grid,
  .steps,
  .proof-grid,
  .case-study-flow{
    grid-template-columns:1fr;
  }
  .value-row article+article{
    border-left:0;
    border-top:0;
  }
  .featured-offer{transform:none}
  .choice-panel{
    grid-template-columns:1fr;
    text-align:left;
  }
  .choice-divider{
    width:100%;
    height:1px;
  }
  .decision-grid{grid-template-columns:1fr 1fr}
  .services,
  .approach,
  .founder,
  .process,
  .proof{
    padding-top:95px;
    padding-bottom:120px;
  }
  .founder-layout{grid-template-columns:1fr}
  .founder-image{height:500px}
  .founder-copy{
    text-align:center;
    max-width:760px;
    margin:auto;
  }
  .founder-principles{justify-content:center}
  .steps article:not(:last-child):after{display:none}
  .case-study-flow div{padding:0}
  .case-study-flow div+div{
    border-left:0;
    border-top:1px solid rgba(220,179,95,.18);
    padding-top:18px;
  }
  .footer-brand img{width:125px}
  footer nav{gap:16px 24px}
  .social{margin-top:10px}
}

@media(max-width:520px){
  .shell{width:92vw}
  .brand img{width:95px}
  .nav-shell{min-height:74px}
  .hero{padding-top:110px}
  h1{
    font-size:clamp(3.2rem,13.6vw,4.55rem);
    line-height:.94;
    letter-spacing:-.04em;
  }
  h2{font-size:clamp(2.6rem,11vw,3.65rem)}
  .hero-sub{font-size:1.08rem;line-height:1.5}
  .hero-trust{font-size:.95rem}
  .hero-note{
    font-size:.65rem;
    letter-spacing:.14em;
    line-height:1.7;
  }
  .pill{
    width:100%;
    max-width:100%;
    padding:15px 18px;
  }
  .hero-portrait{
    height:470px;
    min-height:0;
    border-radius:28px 28px 0 0;
  }
  .portrait-signature{
    right:16px;
    bottom:22px;
  }
  .portrait-signature strong{font-size:1.45rem}
  .portrait-signature span{font-size:.58rem}
  .offer-card{padding:46px 20px 34px}
  .offer-card h3{font-size:1.82rem}
  .decision-grid{grid-template-columns:1fr}
  .decision-grid article{min-height:0}
  .founder-image{height:440px}
  .section-lead{font-size:1rem}
  .kicker{letter-spacing:.26em}
  .final-cta{
    min-height:510px;
    padding:125px 0 105px;
  }
  .final-cta .actions{gap:20px}
  .cta-process{
    font-size:.64rem!important;
    letter-spacing:.09em;
    line-height:1.7;
  }
  footer{padding-top:40px}
  .footer-brand img{width:115px}
  .footer-grid{gap:25px}
  footer nav{gap:14px 20px}
  .social{gap:22px;flex-wrap:wrap}
  .footer-contact{
    display:block;
    text-align:center;
  }
  .footer-contact p{margin-bottom:7px}
}
/* ========================================
   NobleVeyra Mobile Visual Refinements
   ======================================== */

@media(max-width:820px){

  /* Cleaner, more compact mobile header */
  .site-header{
    background:rgba(2,10,17,.97);
    border-bottom:1px solid rgba(195,154,75,.16);
  }

  .nav-shell{
    min-height:70px;
    grid-template-columns:1fr auto;
    gap:16px;
  }

  .brand img{
    width:88px;
  }

  .menu{
    padding:9px 15px;
    font-size:.92rem;
    border-radius:10px;
  }

  /* Refine the NobleVeyra point-of-view section */
  .approach{
    padding-top:82px;
    padding-bottom:105px;
  }

  .approach-layout{
    gap:34px;
  }

  .approach-copy{
    max-width:700px;
    margin:auto;
    text-align:left;
  }

  .approach-copy h2{
    font-size:clamp(2.85rem,11vw,4.25rem);
    line-height:1.01;
  }

  .approach-lead{
    font-size:1.08rem;
    line-height:1.62;
    margin-top:22px;
  }

  .approach-copy > p:not(.kicker):not(.approach-lead){
    font-size:.98rem;
    line-height:1.68;
  }

  /* Stronger mobile framework cards */
  .decision-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .decision-grid article{
    min-height:0;
    padding:22px 20px;
    border:1px solid rgba(237,198,111,.42);
    border-radius:14px;
    background:
      linear-gradient(
        145deg,
        rgba(13,52,80,.88),
        rgba(3,18,29,.96)
      );
    box-shadow:
      0 14px 34px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.025);
  }

  .decision-grid span{
    display:block;
    color:var(--gold-hi);
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.18em;
    margin-bottom:5px;
  }

  .decision-grid h3{
    font-size:1.55rem;
    margin:0 0 7px;
    color:#fff;
  }

  .decision-grid p{
    margin:0;
    color:#cbd5dc;
    font-size:.92rem;
    line-height:1.55;
  }
}


@media(max-width:520px){

  /* Even tighter phone header */
  .nav-shell{
    min-height:66px;
  }

  .brand img{
    width:80px;
  }

  .menu{
    padding:8px 14px;
    font-size:.88rem;
  }

  /* Prevent hero from sitting too far below header */
  .hero{
    padding-top:96px;
  }

  /* Point-of-view section */
  .approach{
    padding-top:72px;
    padding-bottom:92px;
  }

  .approach-copy h2{
    font-size:clamp(2.7rem,12vw,3.8rem);
    line-height:1.02;
    letter-spacing:-.035em;
  }

  .approach-copy .kicker{
    font-size:.65rem;
    letter-spacing:.22em;
    line-height:1.6;
  }

  .approach-lead{
    font-size:1.02rem;
    line-height:1.58;
  }

  .approach-copy > p:not(.kicker):not(.approach-lead){
    font-size:.95rem;
    line-height:1.65;
  }

  .decision-grid{
    gap:12px;
  }

  .decision-grid article{
    padding:19px 18px;
    border-radius:12px;
  }

  .decision-grid h3{
    font-size:1.42rem;
  }

  .decision-grid p{
    font-size:.9rem;
  }
}
/* ==========================================
   FINAL MOBILE APPROACH SECTION FIX
   ========================================== */

@media screen and (max-width:820px){

  body .approach .approach-layout{
    display:block;
  }

  body .approach .approach-copy{
    text-align:left;
    margin:0;
  }

  body .approach .decision-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    margin-top:34px;
  }

  body .approach .decision-grid article{
    display:block;
    width:100%;
    min-height:0;
    margin:0;
    padding:22px 20px 24px;

    background:
      linear-gradient(
        145deg,
        #0b3049 0%,
        #061d2e 55%,
        #03131f 100%
      );

    border:1px solid rgba(237,198,111,.55);
    border-radius:14px;

    box-shadow:
      0 14px 34px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.04);
  }

  body .approach .decision-grid article span{
    display:block;
    margin:0 0 6px;
    color:#edc66f;
    font-size:.72rem;
    line-height:1;
    font-weight:700;
    letter-spacing:.18em;
  }

  body .approach .decision-grid article h3{
    margin:0 0 8px;
    color:#fff;
    font-size:1.5rem;
    line-height:1.15;
  }

  body .approach .decision-grid article p{
    margin:0;
    color:#cbd5dc;
    font-size:.92rem;
    line-height:1.55;
  }
}


@media screen and (max-width:520px){

  body .approach{
    padding-top:64px;
    padding-bottom:90px;
  }

  body .approach .approach-copy h2{
    font-size:clamp(2.65rem,11.5vw,3.55rem);
    line-height:1.01;
  }

  body .approach .decision-grid{
    gap:13px;
    margin-top:30px;
  }

  body .approach .decision-grid article{
    padding:19px 18px 21px;
    border-radius:12px;
  }

  body .approach .decision-grid article h3{
    font-size:1.4rem;
  }
}
/* ==========================================
   FINAL MOBILE POLISH
   ========================================== */

@media screen and (max-width:520px){

  /* Slimmer premium header */
  .site-header .nav-shell{
    min-height:62px;
  }

  .site-header .brand{
    height:62px;
    overflow:hidden;
    display:flex;
    align-items:center;
  }

  .site-header .brand img{
    width:76px;
    height:76px;
    object-fit:contain;
  }

  .site-header .menu{
    padding:8px 14px;
    font-size:.86rem;
    border-radius:10px;
  }

  /* Tighter strategic framework cards */
  body .approach .decision-grid{
    gap:11px;
  }

  body .approach .decision-grid article{
    padding:17px 18px 18px;
  }

  body .approach .decision-grid article span{
    margin-bottom:5px;
    font-size:.67rem;
  }

  body .approach .decision-grid article h3{
    margin-bottom:6px;
    font-size:1.35rem;
  }

  body .approach .decision-grid article p{
    font-size:.88rem;
    line-height:1.5;
  }
}
/* ==========================================
   FINAL HERO MOBILE SPACING
   ========================================== */

@media screen and (max-width:520px){

  /* Visually enlarge logo inside a smaller header footprint */
  .site-header .nav-shell{
    min-height:58px;
  }

  .site-header .brand{
    width:115px;
    height:58px;
    overflow:hidden;
    position:relative;
  }

  .site-header .brand img{
    position:absolute;
    width:105px;
    max-width:none;
    height:auto;
    left:-5px;
    top:50%;
    transform:translateY(-50%);
  }

  .site-header .menu{
    padding:8px 14px;
  }

  /* Tighten lower hero spacing */
  .hero-note{
    margin-top:25px;
    margin-bottom:0;
  }

  .hero-portrait{
    margin-top:18px;
  }
}
/* ==========================================
   FINAL MOBILE SERVICES POLISH
   ========================================== */

@media screen and (max-width:520px){

  /* Prevent section heading from sitting under fixed header */
  #services{
    scroll-margin-top:70px;
  }

  body .services{
    padding-top:82px;
  }

  /* Better mobile heading proportions */
  body .services h2{
    font-size:clamp(2.7rem,10.8vw,3.45rem);
    line-height:1.03;
    letter-spacing:-.035em;
  }

  body .services .section-lead{
    margin-top:20px;
    margin-bottom:32px;
    line-height:1.6;
  }

  /* Bring offer cards closer to introduction */
  body .services .offer-grid{
    margin-top:30px;
    gap:18px;
  }

  /* Slightly more compact cards */
  body .services .offer-card{
    padding:38px 20px 32px;
  }

  body .services .service-icon{
    width:52px;
    height:52px;
    font-size:1.45rem;
    margin-bottom:6px;
  }

  body .services .price{
    font-size:2.55rem;
  }

  body .services .offer-card h3{
    font-size:1.75rem;
    line-height:1.08;
  }

  body .services .offer-summary{
    font-size:.92rem;
    line-height:1.55;
  }
}
/* ==========================================
   FINAL MOBILE OFFER CARD POLISH
   ========================================== */

@media screen and (max-width:520px){

  /* More understated founding-client badge */
  body .services .featured-offer .badge{
    top:16px;
    right:16px;
    max-width:165px;

    padding:8px 11px;

    background:rgba(237,198,111,.95);
    color:#101417;

    border-radius:6px;

    font-size:.57rem;
    line-height:1.3;
    letter-spacing:.05em;

    box-shadow:0 8px 20px rgba(0,0,0,.18);
  }

  body .services .featured-offer .badge small{
    font-size:.52rem;
  }

  /* Give icon breathing room below badge */
  body .services .featured-offer .card-icon{
    margin-top:20px;
  }

  /* Cleaner mobile feature list */
  body .services .offer-card ul{
    margin-top:4px;
    margin-bottom:26px;
  }

  body .services .offer-card li{
    margin:9px 0;
    padding-left:23px;

    font-size:.90rem;
    line-height:1.48;
  }

  body .services .offer-card li:before{
    font-size:.9rem;
  }

  /* Keep Intensive title balanced */
  body .services .featured-offer h3{
    font-size:1.72rem;
    line-height:1.06;
  }
}
/* ==========================================
   MOBILE SERVICES → APPROACH TRANSITION FIX
   ========================================== */

@media screen and (max-width:520px){

  body .services{
    padding-bottom:70px;
  }

  body .services .choice-panel{
    margin-bottom:0;
  }

  body .services .section-fade{
    height:70px;
  }

  body .approach{
    padding-top:64px;
  }
}
/* ==========================================
   DEFINITIVE SERVICES → APPROACH MOBILE FIX
   ========================================== */

@media screen and (max-width:520px){

  body .services{
    padding-bottom:55px;
  }

  body .services .choice-panel{
    margin-bottom:0;
  }

  /* Remove oversized mobile transition */
  body .services > .section-fade{
    height:45px;
    bottom:-1px;
  }

  /* Pull next section into the transition */
  body .approach{
    margin-top:-1px;
    padding-top:58px;
  }

  /* Prevent decorative fade from creating visual dead space */
  body .services .fade-to-dark{
    background:linear-gradient(
      to bottom,
      rgba(255,248,236,0),
      rgba(4,19,31,.72) 55%,
      #04131f 100%
    );
  }
}
