/* ═══════════════════════════════════════════
   JONATHAN LÓPEZ — v3
   Helvetica Neue everywhere. Porsche palette.
   Apple-level whitespace. Luxury impact.
═══════════════════════════════════════════ */
:root {
  --gold:    #C49020;
  --gold-lt: #DEB83A;
  --copper:    #B87333;
  --copper-lt: #D9905A;
  --copper-dk: #6E3A18;
  --bg:      #06070A;
  --bg2:     #0A0807;
  --bg3:     #160C06;
  --cream:   #F0EAE0;
  --muted:   rgba(240,234,224,0.42);
  --rule:    rgba(240,234,224,0.08);
  --ease:    cubic-bezier(0.22,1,0.36,1);
}

/* ── RESET + GLOBAL FONT ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

html, body, h1, h2, h3, h4, h5, h6,
p, a, li, span, button, label, input,
cite, blockquote, figcaption, small, strong {
  font-family: 'Helvetica Neue', HelveticaNeue, Helvetica, Arial, sans-serif !important;
}

html { font-size:16px; scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }

body { background:var(--bg); color:var(--cream); overflow-x:hidden; font-weight:400; line-height:1.6; }

a { color:inherit; text-decoration:none; }

/* ═══════════════════════════════════════════
   LOADING
═══════════════════════════════════════════ */
#loading-screen {
  position:fixed; inset:0; z-index:9999;
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .7s var(--ease);
}
#loading-screen.fade-out { opacity:0; pointer-events:none; }
.loader-inner { text-align:center; width:min(260px,80vw); }
.loader-logo  { font-weight:200 !important; font-size:2.2rem; letter-spacing:.55em; color:var(--gold); margin-bottom:2.5rem; }
.loader-bar-wrap { height:1px; background:rgba(255,255,255,.07); margin-bottom:.9rem; }
#loader-bar  { height:100%; width:0; background:var(--gold); transition:width .25s ease; }
#loader-text { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }

/* ═══════════════════════════════════════════
   ANIMATION SECTION
═══════════════════════════════════════════ */
#animation-section { position:relative; z-index:1; }
#sticky-container  { position:sticky; top:0; height:100svh; width:100%; overflow:hidden; }
#frame-canvas      { position:absolute; inset:0; width:100%; height:100%; display:block; }
#text-overlay      { position:absolute; inset:0; z-index:10; pointer-events:none; }

.text-zone { position:absolute; inset:0; opacity:0; transition:opacity .6s var(--ease); pointer-events:none; }
.text-zone.zone-visible { opacity:1; }
.text-zone.zone-exiting { opacity:0; transition:opacity .35s ease-in; }

.zone-inner  { width:100%; height:100%; padding:clamp(2rem,6vw,5rem); }
.zone-center { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.text-zone * { text-shadow:0 1px 24px rgba(0,0,0,.8),0 0 80px rgba(0,0,0,.5); }

.fade-child { opacity:0; transform:translateY(12px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.zone-visible .fade-child { opacity:1; transform:translateY(0); }
.zone-exiting .fade-child { opacity:0; transform:translateY(-8px); transition:opacity .3s ease-in,transform .3s ease-in; transition-delay:0s !important; }

/* Zone 1 */
.z1-eyebrow { font-weight:400 !important; font-size:clamp(.6rem,1vw,.72rem); letter-spacing:.4em; text-transform:uppercase; color:var(--gold); margin-bottom:1.4rem; }
.z1-title   { font-weight:300 !important; font-size:clamp(2.8rem,6.5vw,5.2rem); letter-spacing:.18em; text-transform:uppercase; color:var(--cream); line-height:1; margin-bottom:1.4rem; min-height:1.2em; opacity:1 !important; transform:none !important; }
.z1-sub     { font-weight:300 !important; font-size:clamp(.82rem,1.5vw,.96rem); letter-spacing:.1em; color:rgba(240,234,224,.65); }
.typewriter-chars { display:inline; }
.cursor { display:inline-block; color:var(--gold); font-weight:200 !important; animation:blink .75s step-end infinite; }
@keyframes blink { 50%{opacity:0} }

/* Zone 2 */
.z2-word { font-weight:200 !important; font-size:clamp(2.4rem,5.5vw,4.8rem); letter-spacing:-.02em; color:var(--cream); line-height:1.12; opacity:0; filter:blur(8px); transform:translateY(8px); transition:opacity .9s var(--ease),filter .9s var(--ease),transform .9s var(--ease); }
.zone-visible .z2-word { opacity:1; filter:blur(0); transform:translateY(0); }
.zone-exiting .z2-word { opacity:0; filter:blur(4px); transition:opacity .3s ease-in,filter .3s ease-in; transition-delay:0s !important; }

/* Zone 4 */
.z4-line { font-weight:300 !important; font-size:clamp(1.4rem,3.2vw,2.6rem); letter-spacing:.02em; color:rgba(240,234,224,.82); line-height:1.3; }
.z4-bold { font-weight:400 !important; color:var(--cream); margin-bottom:2.2rem; }
.z4-cta  { pointer-events:all; }
.btn-ghost { font-weight:400 !important; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); border-bottom:1px solid currentColor; padding-bottom:2px; transition:color .2s; }
.btn-ghost:hover { color:var(--gold-lt); }

#scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:11; transition:opacity .5s; }
#scroll-hint.hidden { opacity:0; pointer-events:none; }
.scroll-arrow { width:15px; height:15px; border-right:1px solid rgba(255,255,255,.38); border-bottom:1px solid rgba(255,255,255,.38); transform:rotate(45deg); animation:bounce 1.6s ease-in-out infinite; }
@keyframes bounce { 0%,100%{transform:rotate(45deg) translateY(0)} 50%{transform:rotate(45deg) translateY(5px)} }

/* ═══════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .95s var(--ease),transform .95s var(--ease); }
.reveal.revealed { opacity:1; transform:translateY(0); }
.reveal[data-delay-reveal="0.1"] { transition-delay:.1s; }
.reveal[data-delay-reveal="0.2"] { transition-delay:.2s; }
.reveal[data-delay-reveal="0.3"] { transition-delay:.3s; }

/* Word-by-word split reveal (Apple-style) */
.split-word { display:inline-block; overflow:hidden; vertical-align:top; }
.split-word > span {
  display:inline-block;
  transform:translateY(110%);
  opacity:0;
  transition:transform 1.1s var(--ease), opacity .9s var(--ease);
}
.split-ready .split-word > span { transition-delay:calc(var(--i) * 55ms); }
.split-ready.split-in .split-word > span { transform:translateY(0); opacity:1; }
.split-space { display:inline-block; width:.28em; }

/* ═══════════════════════════════════════════
   SHARED
═══════════════════════════════════════════ */
.container { max-width:1180px; margin:0 auto; padding:0 clamp(1.8rem,5vw,5rem); }

.eyebrow { display:block; font-weight:500 !important; font-size:.62rem; letter-spacing:.36em; text-transform:uppercase; color:var(--gold); margin-bottom:1.8rem; }

/* ═══════════════════════════════════════════
   STATEMENT
═══════════════════════════════════════════ */
#reveal-stack {
  position:relative; z-index:2;
  margin-top:-100svh;
  background:var(--bg2);
}
#statement {
  background:radial-gradient(1200px 600px at 20% 0%, rgba(217,144,90,.06), transparent 60%), var(--bg2);
  padding:clamp(140px,18vh,200px) 0; border-bottom:1px solid var(--rule);
}
.statement {
  font-weight:200 !important;
  font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:1.18; letter-spacing:-.025em;
  color:var(--cream); max-width:1000px;
  margin-left:auto; margin-right:auto; text-align:center;
}

/* ═══════════════════════════════════════════
   MARQUEE — credenciales
═══════════════════════════════════════════ */
#marquee {
  background:var(--bg);
  border-bottom:1px solid var(--rule);
  overflow:hidden;
  padding:1.6rem 0;
}
.marquee-track { display:flex; width:max-content; animation:marquee 48s linear infinite; }
.marquee-row { display:flex; gap:2.6rem; padding-right:2.6rem; align-items:center; }
.marquee-row span {
  font-weight:300 !important; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(240,234,224,.42); white-space:nowrap;
}
.marquee-row span:nth-child(odd) { color:rgba(240,234,224,.55); }
.marquee-row span:nth-child(even) { color:var(--copper-lt); opacity:.5; }
.marquee-item {
  display:inline-flex; align-items:center; gap:.85rem; white-space:nowrap;
}
.marquee-item .marquee-logo {
  height:38px; width:auto; object-fit:contain;
  opacity:1;
  flex-shrink:0;
}
.marquee-item span {
  color:rgba(240,234,224,.6) !important;
}
.marquee-sep {
  color:var(--copper-lt) !important; opacity:.3; font-size:.78rem;
}
@keyframes marquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ═══════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════ */
#about { position:relative; background:var(--bg); padding:clamp(140px,18vh,200px) 0 clamp(100px,14vh,140px); overflow:hidden; }
.about-bgmark {
  position:absolute; right:-3vw; top:8%;
  font-weight:100 !important;
  font-size:clamp(18rem,38vw,32rem);
  letter-spacing:-.05em; line-height:.8;
  color:transparent;
  -webkit-text-stroke:1px rgba(217,144,90,.05);
  pointer-events:none; user-select:none;
  z-index:0;
}
#about .container { position:relative; z-index:1; }

.about-meta { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; flex-wrap:wrap; }
.badge-est {
  font-weight:400 !important; font-size:.62rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--muted); padding:.55rem 1rem; border:1px solid var(--rule); border-radius:999px;
}

.chip-row { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2.5rem; }
.chip {
  font-weight:400 !important; font-size:.72rem; letter-spacing:.04em;
  padding:.55rem 1.1rem; border:1px solid var(--rule); border-radius:999px;
  color:rgba(240,234,224,.65);
  transition:border-color .3s, color .3s, background .3s;
}
.chip:hover { border-color:rgba(217,144,90,.45); color:var(--copper-lt); background:rgba(217,144,90,.04); }

.about-lead { margin-bottom:clamp(80px,10vh,120px); max-width:1000px; }
.about-portrait {
  width:100%;
  aspect-ratio:16/9;
  margin-bottom:clamp(2.5rem,5vw,4rem);
  border-radius:8px;
  overflow:hidden;
  background:#000;
  border:1px solid var(--rule);
  position:relative;
}
.about-portrait img {
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 28%;
  display:block;
}
.about-headline {
  font-weight:200 !important;
  font-size:clamp(2.6rem,6.2vw,5.4rem);
  letter-spacing:-.035em; line-height:1.02;
  color:var(--cream);
  background:linear-gradient(180deg, #fff 0%, rgba(240,234,224,.55) 110%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

.about-grid { display:grid; grid-template-columns:340px 1fr; gap:clamp(3rem,7vw,8rem); align-items:start; margin-bottom:clamp(100px,14vh,140px); }

.shield-wrap {
  position:relative; width:100%; aspect-ratio:3/4;
  display:flex; align-items:center; justify-content:center;
  transition:transform .9s var(--ease);
}
.shield-wrap:hover { transform:translateY(-6px); }
.shield-svg { width:100%; height:100%; display:block; overflow:visible; }
.shield-initials {
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-weight:300; font-size:96px; letter-spacing:0;
  fill:var(--copper-lt); opacity:.5;
}
.shield-wave { animation:shieldWaveFlow 11s linear infinite; transform-origin:center; will-change:transform; }
.shield-wave--mid { animation-duration:14s; animation-direction:reverse; opacity:.85; }
.shield-wave--front { animation-duration:9s; opacity:.9; }
@keyframes shieldWaveFlow {
  0%   { transform:translate3d(0, 0, 0); }
  50%  { transform:translate3d(150px, -6px, 0); }
  100% { transform:translate3d(300px, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .shield-wave { animation:none; }
}

.about-copy .lead { font-weight:300 !important; font-size:clamp(1.15rem,1.9vw,1.35rem); line-height:1.7; color:var(--cream); margin-bottom:2rem; max-width:560px; }
.about-copy .body { font-weight:400 !important; font-size:clamp(.92rem,1.3vw,1rem); line-height:1.88; color:rgba(240,234,224,.55); margin-bottom:1.2rem; max-width:560px; }

/* Stats */
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rule); padding-top:80px; }
.stat-item { padding-right:3rem; transition:transform .6s var(--ease); }
.stat-item:hover { transform:translateY(-4px); }
.stat-item+.stat-item { padding-left:3rem; border-left:1px solid var(--rule); }
.stat-num {
  font-weight:100 !important;
  font-size:clamp(4.5rem,9vw,8rem);
  color:var(--cream);
  letter-spacing:-.05em; line-height:.95;
  display:block; margin-bottom:1rem;
  background:linear-gradient(180deg, #fff 0%, var(--copper) 130%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-variant-numeric:tabular-nums;
}
.stat-num sup { font-size:.4em; vertical-align:super; font-weight:300 !important; }
.stat-label { font-weight:400 !important; font-size:.62rem; letter-spacing:.32em; text-transform:uppercase; color:var(--muted); }

/* ═══════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════ */
#services {
  background:radial-gradient(900px 500px at 80% 0%, rgba(217,144,90,.05), transparent 60%), var(--bg2);
  padding:clamp(140px,18vh,200px) 0;
  border-top:1px solid var(--rule);
}
.services-head { margin-bottom:clamp(80px,10vh,110px); }
.services-headline {
  font-weight:200 !important;
  font-size:clamp(2.4rem,5.4vw,4.6rem);
  letter-spacing:-.035em; color:var(--cream); line-height:1.02;
  background:linear-gradient(180deg, #fff 0%, rgba(240,234,224,.55) 110%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

.svc-primary {
  background:linear-gradient(165deg, #1A0F08 0%, #0A0807 100%);
  padding:clamp(3rem,5vw,5.5rem);
  display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:start;
  border:1px solid rgba(217,144,90,.22); margin-bottom:1.5rem;
  border-radius:2px;
  transition:transform .9s var(--ease), border-color .6s var(--ease), box-shadow .6s var(--ease);
  position:relative; overflow:hidden;
}
.svc-primary::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(600px 200px at var(--mx,50%) var(--my,50%), rgba(217,144,90,.10), transparent 60%);
  opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
}
.svc-primary:hover, .svc-secondary:hover { border-color:rgba(217,144,90,.45); transform:translateY(-3px); }
.svc-primary:hover::after, .svc-secondary:hover::after { opacity:1; }
.svc-tag  { font-weight:500 !important; font-size:.6rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:1.4rem; }
.svc-name { font-weight:200 !important; font-size:clamp(1.8rem,3.2vw,2.8rem); letter-spacing:-.025em; color:var(--cream); margin-bottom:1.2rem; line-height:1.05; }
.svc-desc { font-weight:300 !important; font-size:clamp(.95rem,1.35vw,1.05rem); line-height:1.75; color:rgba(240,234,224,.55); max-width:520px; margin-bottom:2.4rem; }
.svc-right { text-align:right; flex-shrink:0; }
.svc-price {
  font-weight:100 !important; font-size:clamp(3.4rem,6vw,5.2rem);
  color:var(--gold); letter-spacing:-.04em; line-height:1; display:block;
  background:linear-gradient(180deg, var(--gold-lt) 0%, var(--copper) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.svc-freq  { font-weight:400 !important; font-size:.6rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); margin-top:.6rem; display:block; }

.svc-secondary {
  background:linear-gradient(165deg, #0F0907 0%, #07080A 100%);
  padding:clamp(3rem,5vw,5.5rem);
  border:1px solid var(--rule);
  border-radius:2px;
  display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:start;
  transition:transform .9s var(--ease), border-color .6s var(--ease);
  position:relative; overflow:hidden;
}
.svc-secondary::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(600px 200px at var(--mx,50%) var(--my,50%), rgba(255,255,255,.04), transparent 60%);
  opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
}

.svc-included { display:flex; gap:clamp(2rem,4vw,4rem); align-items:baseline; }
.svc-included-label { font-weight:500 !important; font-size:.58rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); flex-shrink:0; white-space:nowrap; }
.svc-included-items { list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 2rem; }
.svc-included-items li { font-weight:400 !important; font-size:.88rem; color:rgba(240,234,224,.45); }
.svc-included-items li::before { content:'— '; color:var(--gold); opacity:.5; }

/* ═══════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════ */
#testimonials { background:var(--bg); padding:clamp(140px,18vh,200px) 0; border-top:1px solid var(--rule); }

.testi-feature { padding-bottom:clamp(80px,10vh,110px); margin-bottom:clamp(80px,10vh,110px); border-bottom:1px solid var(--rule); margin-top:1.5rem; }
.testi-feature blockquote {
  font-weight:200 !important;
  font-size:clamp(1.8rem,3.6vw,3rem);
  line-height:1.28; letter-spacing:-.02em;
  color:var(--cream); max-width:980px; margin-bottom:2.5rem;
}
.testi-feature blockquote::before { content:'\201C'; }
.testi-feature blockquote::after  { content:'\201D'; }

.testi-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,5rem); }

.testi-card { border-top:1px solid var(--rule); padding-top:clamp(1.8rem,3vh,2.5rem); }
.testi-card p { font-weight:300 !important; font-size:clamp(.9rem,1.4vw,1.04rem); line-height:1.78; font-style:italic; color:rgba(240,234,224,.65); margin-bottom:1.5rem; }
.testi-card p::before { content:'\201C'; }
.testi-card p::after  { content:'\201D'; }

cite { font-style:normal; display:flex; flex-direction:column; gap:.15rem; }
.cite-name { font-weight:500 !important; font-size:.85rem; color:var(--cream); }
.cite-role { font-weight:400 !important; font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }

/* ═══════════════════════════════════════════
   CTA
═══════════════════════════════════════════ */
#contact {
  position:relative; overflow:hidden;
  background:radial-gradient(1200px 700px at 50% 0%, rgba(217,144,90,.14), transparent 60%), var(--bg3);
  padding:clamp(160px,22vh,240px) 0;
  border-top:1px solid rgba(217,144,90,.18);
}
.cta-bgnum {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-weight:100 !important;
  font-size:clamp(22rem,46vw,42rem);
  letter-spacing:-.06em; line-height:.8;
  color:transparent;
  -webkit-text-stroke:1px rgba(217,144,90,.04);
  pointer-events:none; user-select:none;
  z-index:0;
}
#contact .container { position:relative; z-index:1; }
.cta-eyebrow { margin-bottom:2rem; }

.trust-row {
  display:grid; grid-template-columns:repeat(3,1fr);
  max-width:680px; margin:0 auto 3.5rem;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  padding:2.2rem 0;
}
.trust-item { text-align:center; }
.trust-item + .trust-item { border-left:1px solid var(--rule); }
.trust-num {
  display:block; font-weight:200 !important;
  font-size:clamp(1.6rem,2.8vw,2.2rem);
  color:var(--copper-lt); letter-spacing:-.02em; line-height:1; margin-bottom:.5rem;
}
.trust-label {
  display:block; font-weight:400 !important;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted);
}

.cta-availability {
  margin-top:3rem;
  font-weight:400 !important; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(240,234,224,.55);
  display:inline-flex; align-items:center; gap:.7rem;
}
.dot-live {
  width:8px; height:8px; border-radius:50%; background:var(--copper-lt);
  box-shadow:0 0 0 0 rgba(217,144,90,.5);
  animation:pulseDot 2s ease-out infinite;
}
@keyframes pulseDot {
  0%   { box-shadow:0 0 0 0 rgba(217,144,90,.55); }
  100% { box-shadow:0 0 0 14px rgba(217,144,90,0); }
}
.cta-wrap { text-align:center; }
.cta-headline {
  font-weight:100 !important;
  font-size:clamp(3rem,7.5vw,7rem);
  letter-spacing:-.04em; line-height:.98;
  color:var(--cream); margin-bottom:1.8rem;
  background:linear-gradient(180deg, #fff 0%, rgba(240,234,224,.5) 110%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cta-sub { font-weight:300 !important; font-size:clamp(.98rem,1.5vw,1.12rem); line-height:1.7; color:rgba(240,234,224,.55); max-width:480px; margin:0 auto 3.5rem; }
.cta-btns { display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.btn-gold {
  position:relative; display:inline-block;
  font-weight:500 !important; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase;
  padding:1.05rem 2.6rem;
  background:linear-gradient(135deg, var(--copper) 0%, var(--gold-lt) 100%);
  color:#0A0604;
  transition:transform .35s var(--ease), box-shadow .4s var(--ease), background .2s;
  will-change:transform;
  border-radius:999px;
}
.btn-gold:hover { background:linear-gradient(135deg, var(--copper-lt) 0%, var(--gold-lt) 100%); box-shadow:0 18px 50px -12px rgba(217,144,90,.55); }
.btn-line {
  position:relative; display:inline-block;
  font-weight:500 !important; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase;
  padding:1.05rem 2.6rem; border:1px solid rgba(240,234,224,.3); color:var(--cream);
  transition:transform .35s var(--ease), border-color .3s, background .3s, box-shadow .4s var(--ease);
  will-change:transform;
  border-radius:999px; background:transparent;
}
.btn-line:hover { border-color:var(--cream); background:rgba(255,255,255,.04); box-shadow:0 14px 40px -16px rgba(255,255,255,.2); }
.btn-lg { padding:1.2rem 3rem; font-size:.84rem; }

/* ═══════════════════════════════════════════
   CURSOR GLOW (Apple-like spotlight)
═══════════════════════════════════════════ */
#cursor-glow {
  position:fixed; top:0; left:0;
  width:520px; height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(217,144,90,.10), rgba(217,144,90,0) 60%);
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:1; mix-blend-mode:screen;
  opacity:0; transition:opacity .6s var(--ease);
  will-change:transform;
}
#cursor-glow.active { opacity:1; }
@media (hover:none), (max-width:900px) { #cursor-glow { display:none; } }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
#footer { background:#07080A; border-top:1px solid var(--rule); padding:3.5rem 0 2.5rem; }
.footer-flex { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:3rem; }
.f-name { font-weight:300 !important; font-size:1.05rem; letter-spacing:.06em; color:var(--gold); }
.f-tag  { font-weight:400 !important; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-top:.3rem; }
.footer-links { display:flex; gap:2.5rem; }
.footer-links a { font-weight:400 !important; font-size:.78rem; color:rgba(240,234,224,.35); letter-spacing:.04em; transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-copy { border-top:1px solid var(--rule); padding-top:1.5rem; text-align:center; font-size:.68rem; color:rgba(240,234,224,.18); letter-spacing:.06em; }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width:900px) {
  .about-grid { grid-template-columns:1fr; }
  .shield-wrap { aspect-ratio:4/3; max-width:380px; margin:0 auto; }
  .stats { grid-template-columns:1fr; gap:3rem; }
  .stat-item+.stat-item { padding-left:0; border-left:none; border-top:1px solid var(--rule); padding-top:2.5rem; }
  .testi-row { grid-template-columns:1fr; }
  .svc-primary, .svc-secondary { grid-template-columns:1fr; }
  .svc-right { text-align:left; }
  .footer-flex { flex-direction:column; gap:2rem; }
  .cta-btns { flex-direction:column; align-items:center; }
  .btn-gold,.btn-line { width:100%; max-width:300px; text-align:center; }
  .trust-row { max-width:100%; }
}
@media (max-width:560px) {
  #statement,#about,#services,#testimonials,#contact { padding-top:80px; padding-bottom:80px; }
  .svc-included { flex-direction:column; gap:1rem; }
}
