/* ============================================================
   LIVESKY MEDIA — Real Estate Photography, Miami-Dade
   Editorial-luxury system. Navy #14213D field, bronze #CD7F32 accent.
   Photography carries the page. Type: high-contrast serif + grotesk + mono.
   ============================================================ */

/* ---- Brand fonts (drop real files in /assets/fonts to upgrade) ---- */
@font-face{font-family:'Hicheta';src:url('../fonts/hicheta.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:'DrunkHeavy';src:url('../fonts/drunkheavy.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;}

:root{
  /* palette */
  --navy:#14213D;
  --navy-deep:#0D1528;
  --navy-700:#1E2F52;
  --navy-500:#2C4170;
  --bronze:#CD7F32;
  --bronze-300:#E2A766;
  --bronze-200:#EFC79A;
  --bronze-700:#A4631F;
  --bone:#F5F1EA;
  --bone-200:#EDE6DA;
  --paper:#FFFFFF;
  --ink:#0F141C;
  --ink-60:rgba(15,20,28,.62);
  --ink-40:rgba(15,20,28,.42);
  --line:rgba(20,33,61,.14);
  --line-on-dark:rgba(255,255,255,.16);
  --white-70:rgba(255,255,255,.72);
  --white-50:rgba(255,255,255,.5);

  /* type */
  --font-display:'Hicheta','Fraunces',Georgia,'Times New Roman',serif;
  --font-heavy:'DrunkHeavy','Fraunces',Georgia,serif;
  --font-body:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'Space Mono','SFMono-Regular',ui-monospace,monospace;

  /* fluid scale */
  --step--1:clamp(.78rem,.74rem + .2vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.12rem);
  --step-1:clamp(1.2rem,1.1rem + .5vw,1.5rem);
  --step-2:clamp(1.5rem,1.3rem + 1vw,2.1rem);
  --step-3:clamp(2rem,1.6rem + 2vw,3.2rem);
  --step-4:clamp(2.6rem,1.9rem + 3.4vw,4.8rem);
  --step-5:clamp(3.2rem,2rem + 6vw,7rem);
  --step-6:clamp(4rem,2.2rem + 9vw,10rem);

  /* rhythm */
  --gutter:clamp(1.25rem,4vw,4rem);
  --section-y:clamp(4.5rem,9vw,9rem);
  --maxw:1320px;
  --radius:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--font-body);
  font-size:var(--step-0);
  line-height:1.62;
  color:var(--ink);
  background:var(--bone);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--bronze);color:#fff}

/* film-grain texture overlay (very subtle) */
body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- typography utilities ---------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:430;line-height:1.02;letter-spacing:-.015em}
.serif-italic{font-style:italic;font-weight:380}
.display-6{font-size:var(--step-6);line-height:.92;letter-spacing:-.03em}
.display-5{font-size:var(--step-5);line-height:.96;letter-spacing:-.025em}
.display-4{font-size:var(--step-4)}
.display-3{font-size:var(--step-3)}
.lead{font-size:var(--step-1);line-height:1.5;color:var(--ink-60);font-weight:360}

.eyebrow{
  font-family:var(--font-mono);font-size:var(--step--1);font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:var(--bronze-700);
  display:inline-flex;align-items:center;gap:.85rem;
}
.eyebrow::before{content:"";width:clamp(20px,3vw,42px);height:1px;background:var(--bronze);display:inline-block}
.eyebrow.on-dark{color:var(--bronze-300)}
.eyebrow.center::after{content:"";width:clamp(20px,3vw,42px);height:1px;background:var(--bronze);display:inline-block}

.index-num{font-family:var(--font-mono);font-size:var(--step--1);color:var(--bronze);letter-spacing:.1em}

/* ---------- buttons ---------- */
.btn{
  --bg:var(--bronze);--fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:1.05rem 1.9rem;background:var(--bg);color:var(--fg);
  border-radius:var(--radius);position:relative;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease);
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translateY(101%);transition:transform .5s var(--ease-out)}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px -16px rgba(20,33,61,.55)}
.btn:hover::before{transform:translateY(0)}
.btn .ar{transition:transform .5s var(--ease-out)}
.btn:hover .ar{transform:translate(4px,-4px)}
.btn-ghost{--bg:transparent;--fg:var(--navy);border:1px solid var(--line);box-shadow:none}
.btn-ghost::before{background:var(--navy)}
.btn-ghost:hover{--fg:#fff;border-color:var(--navy)}
.btn-ghost.on-dark{--fg:#fff;border-color:var(--line-on-dark)}
.btn-ghost.on-dark::before{background:#fff}
.btn-ghost.on-dark:hover{--fg:var(--navy)}
.btn-lg{padding:1.2rem 2.4rem}

.textlink{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-700);
  border-bottom:1px solid var(--bronze);padding-bottom:3px;transition:color .3s,border-color .3s}
.textlink:hover{color:var(--navy)}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{max-width:1600px}
section{position:relative}
.band-light{background:var(--bone);color:var(--ink)}
.band-paper{background:var(--paper);color:var(--ink)}
.band-navy{background:var(--navy);color:#fff}
.band-navy-deep{background:var(--navy-deep);color:#fff}
.pad-y{padding-block:var(--section-y)}
.section-head{max-width:64ch}
.section-head .lead{margin-top:1.5rem}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:clamp(1rem,2vw,1.7rem) var(--gutter);
  transition:background .5s var(--ease),padding .5s var(--ease),box-shadow .5s var(--ease);
}
.nav.scrolled{background:rgba(13,21,40,.86);backdrop-filter:blur(14px);padding-block:.85rem;box-shadow:0 1px 0 var(--line-on-dark)}
.nav__logo{display:flex;align-items:center;gap:.7rem;z-index:2}
.nav__logo img{height:clamp(34px,4vw,46px);width:auto;transition:height .5s var(--ease)}
.nav.scrolled .nav__logo img{height:34px}
.nav__links{display:flex;align-items:center;gap:clamp(1.2rem,2.4vw,2.4rem)}
.nav__links a{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white-70);
  position:relative;padding:.3rem 0;transition:color .3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--bronze);transition:width .4s var(--ease-out)}
.nav__links a:hover{color:#fff}.nav__links a:hover::after{width:100%}
.nav__right{display:flex;align-items:center;gap:1.1rem;z-index:2}
.lang{display:flex;align-items:center;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;border:1px solid var(--line-on-dark);border-radius:40px;overflow:hidden}
.lang button{padding:.42rem .7rem;color:var(--white-50);transition:color .3s,background .3s}
.lang button.active{color:var(--navy);background:var(--bronze-300)}
.nav .btn{padding:.8rem 1.4rem;font-size:.72rem}
.nav__burger{display:none;flex-direction:column;gap:5px;width:30px;z-index:2}
.nav__burger span{height:1.5px;background:#fff;transition:transform .4s,opacity .3s}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroZoom 16s var(--ease-out) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero__media::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(13,21,40,.55) 0%,rgba(13,21,40,.12) 30%,rgba(13,21,40,.35) 62%,rgba(13,21,40,.92) 100%),
    linear-gradient(95deg,rgba(13,21,40,.6) 0%,transparent 55%);
}
.hero__inner{width:100%;max-width:var(--maxw);margin-inline:auto;padding:var(--gutter);padding-bottom:clamp(3rem,7vw,6rem)}
.hero__eyebrow{opacity:0;animation:fadeUp .9s var(--ease-out) .3s forwards}
.hero h1{font-size:var(--step-6);line-height:.92;letter-spacing:-.03em;font-weight:400;max-width:16ch;margin:1.4rem 0 0}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln span{display:block;transform:translateY(110%);animation:lineUp 1s var(--ease-out) forwards}
.hero h1 .ln:nth-child(1) span{animation-delay:.45s}
.hero h1 .ln:nth-child(2) span{animation-delay:.58s}
.hero h1 .ln:nth-child(3) span{animation-delay:.71s}
.hero h1 em{font-style:italic;color:var(--bronze-300);font-weight:380}
.hero__sub{max-width:48ch;margin-top:1.8rem;font-size:var(--step-1);color:rgba(255,255,255,.82);font-weight:340;
  opacity:0;animation:fadeUp .9s var(--ease-out) .95s forwards}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem;opacity:0;animation:fadeUp .9s var(--ease-out) 1.1s forwards}
.hero__trust{display:flex;gap:clamp(1.4rem,3vw,3rem);flex-wrap:wrap;margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--line-on-dark);
  opacity:0;animation:fadeUp .9s var(--ease-out) 1.25s forwards}
.hero__trust div{display:flex;flex-direction:column;gap:.2rem}
.hero__trust b{font-family:var(--font-display);font-size:var(--step-2);font-weight:430;letter-spacing:-.02em}
.hero__trust span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--white-50)}
.hero__scroll{position:absolute;right:var(--gutter);bottom:clamp(2rem,5vw,4rem);z-index:2;writing-mode:vertical-rl;
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--white-50);display:flex;align-items:center;gap:1rem}
.hero__scroll::after{content:"";width:1px;height:60px;background:linear-gradient(var(--bronze),transparent);animation:scrollPulse 2.4s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.3);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineUp{to{transform:translateY(0)}}

/* ============================================================
   MARQUEE / TRUST STRIP
   ============================================================ */
.strip{border-block:1px solid var(--line-on-dark);overflow:hidden}
.strip__track{display:flex;gap:0;align-items:stretch}
.strip__item{flex:1;min-width:0;padding:clamp(1.6rem,3vw,2.6rem) clamp(1rem,2vw,2rem);text-align:center;border-left:1px solid var(--line-on-dark)}
.strip__item:first-child{border-left:none}
.strip__item b{display:block;font-family:var(--font-display);font-size:var(--step-2);font-weight:440;letter-spacing:-.02em;color:#fff}
.strip__item b .u{color:var(--bronze-300)}
.strip__item span{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white-50);margin-top:.4rem;display:block}

/* ============================================================
   SERVICES (editorial, asymmetric)
   ============================================================ */
.services__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(2.5rem,5vw,4rem)}
.svc{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--navy);color:#fff;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.svc:nth-child(1){grid-column:span 7;min-height:460px}
.svc:nth-child(2){grid-column:span 5;min-height:460px}
.svc:nth-child(3){grid-column:span 5}
.svc:nth-child(4){grid-column:span 7}
.svc__img{position:absolute;inset:0;z-index:-2}
.svc__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.svc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,21,40,.1) 0%,rgba(13,21,40,.4) 45%,rgba(13,21,40,.94) 100%)}
.svc:hover .svc__img img{transform:scale(1.06)}
.svc__body{padding:clamp(1.6rem,2.6vw,2.4rem)}
.svc__top{position:absolute;top:clamp(1.4rem,2.4vw,2rem);left:clamp(1.6rem,2.6vw,2.4rem);right:clamp(1.6rem,2.6vw,2.4rem);display:flex;justify-content:space-between;align-items:center}
.svc__top .index-num{color:var(--bronze-300)}
.svc h3{font-size:var(--step-2);font-weight:440;margin-bottom:.6rem}
.svc p{color:rgba(255,255,255,.78);font-size:var(--step-0);font-weight:340;max-width:46ch}
.svc__detail{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-300);
  margin-top:1.1rem;display:inline-flex;align-items:center;gap:.6rem;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s var(--ease),margin .5s}
.svc:hover .svc__detail{max-height:60px;opacity:1}

/* ============================================================
   TWILIGHT — before/after slider (signature)
   ============================================================ */
.twilight{position:relative;overflow:hidden}
.twilight__head{position:relative;z-index:3;text-align:center;max-width:60ch;margin-inline:auto;padding-bottom:clamp(2.5rem,5vw,4rem)}
.twilight__head .eyebrow{justify-content:center}
.ba{position:relative;width:100%;max-width:1500px;margin-inline:auto;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;
  cursor:ew-resize;user-select:none;touch-action:none;box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__after{clip-path:inset(0 0 0 50%)}
.ba__label{position:absolute;top:1.2rem;z-index:4;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  padding:.5rem .9rem;background:rgba(13,21,40,.72);color:#fff;border-radius:40px;backdrop-filter:blur(6px)}
.ba__label.is-before{left:1.2rem}
.ba__label.is-after{right:1.2rem;background:rgba(205,127,50,.9)}
.ba__handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:5;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.ba__grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;
  background:#fff;display:flex;align-items:center;justify-content:center;color:var(--navy);box-shadow:0 10px 30px -8px rgba(0,0,0,.5)}
.ba__grip svg{width:22px;height:22px}
.ba__hint{text-align:center;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white-50);margin-top:1.3rem}

/* ============================================================
   GALLERY (masonry + lightbox)
   ============================================================ */
.gallery__filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem}
.gallery__filters button{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60);
  padding:.55rem 1.05rem;border:1px solid var(--line);border-radius:40px;transition:.35s var(--ease)}
.gallery__filters button.active,.gallery__filters button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.masonry{columns:3;column-gap:clamp(.8rem,1.6vw,1.4rem);margin-top:clamp(2rem,4vw,3rem)}
.masonry figure{break-inside:avoid;margin-bottom:clamp(.8rem,1.6vw,1.4rem);position:relative;overflow:hidden;border-radius:var(--radius);cursor:pointer;background:var(--navy-700)}
.masonry img{width:100%;transition:transform 1s var(--ease-out),filter .6s;filter:saturate(1.02)}
.masonry figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,21,40,.7));opacity:0;transition:opacity .5s}
.masonry figcaption{position:absolute;left:1rem;bottom:.9rem;z-index:2;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(8px);transition:.5s var(--ease-out)}
.masonry figure:hover img{transform:scale(1.05)}
.masonry figure:hover::after{opacity:1}
.masonry figure:hover figcaption{opacity:1;transform:translateY(0)}
.masonry figure.hide{display:none}

.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(8,13,26,.96);display:none;align-items:center;justify-content:center;padding:3vw;opacity:0;transition:opacity .4s}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;box-shadow:0 30px 80px -20px #000}
.lightbox__close,.lightbox__nav{position:absolute;color:#fff;font-family:var(--font-mono);font-size:.8rem}
.lightbox__close{top:4vh;right:4vw;letter-spacing:.1em;border:1px solid var(--line-on-dark);border-radius:40px;padding:.6rem 1rem}
.lightbox__nav{top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid var(--line-on-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.lightbox__nav.prev{left:3vw}.lightbox__nav.next{right:3vw}
.lightbox__count{position:absolute;bottom:4vh;left:50%;transform:translateX(-50%);color:var(--white-50);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em}

/* ============================================================
   PROCESS
   ============================================================ */
.process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.8rem);margin-top:clamp(2.5rem,5vw,4rem);counter-reset:step}
.step{position:relative;padding-top:2.4rem;border-top:1px solid var(--line-on-dark)}
.step__n{position:absolute;top:-.2rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--bronze-300)}
.step h3{font-size:var(--step-1);margin:.4rem 0 .7rem;font-weight:440}
.step p{color:var(--white-70);font-size:var(--step-0);font-weight:340}
.step .pin{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-300);margin-top:.9rem;display:inline-block}

/* ============================================================
   PACKAGES
   ============================================================ */
.pkg__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.2vw,1.8rem);margin-top:clamp(2.5rem,5vw,4rem);align-items:center}
.pkg{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,3vw,2.6rem);background:var(--paper);position:relative;overflow:hidden;
  transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s}
.pkg:hover{transform:translateY(-6px);box-shadow:0 36px 70px -40px rgba(20,33,61,.5)}
.pkg--signature{background:var(--navy);color:#fff;border-color:var(--navy);padding-block:clamp(2.4rem,4vw,3.4rem);box-shadow:0 40px 80px -44px rgba(20,33,61,.7);z-index:2}
.pkg__flag{position:absolute;top:0;right:0;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  background:var(--bronze);color:#fff;padding:.45rem .9rem;border-bottom-left-radius:var(--radius)}
.pkg--signature .pkg__name,.pkg--signature h3{color:#fff}
.pkg__tag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-700)}
.pkg--signature .pkg__tag{color:var(--bronze-300)}
.pkg h3{font-size:var(--step-3);font-weight:430;margin:.7rem 0 .5rem;letter-spacing:-.02em}
.pkg__desc{color:var(--ink-60);max-width:42ch;font-weight:340}
.pkg--signature .pkg__desc{color:var(--white-70)}
.pkg__list{list-style:none;margin-top:1.6rem;display:flex;flex-direction:column;gap:.85rem}
.pkg__list li{display:flex;gap:.8rem;align-items:flex-start;font-size:var(--step-0);font-weight:360}
.pkg__list svg{flex:none;width:18px;height:18px;color:var(--bronze);margin-top:.28rem}
.pkg--signature .pkg__list svg{color:var(--bronze-300)}
.pkg .btn{margin-top:2rem;width:100%}
.pkg__ribbon{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.4rem;padding:.6rem 1rem;border:1px dashed var(--bronze);border-radius:var(--radius);
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-700)}
.pkg--signature .pkg__ribbon{color:var(--bronze-200);border-color:var(--bronze-300)}

/* ============================================================
   ABOUT
   ============================================================ */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.about__media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5}
.about__media img{width:100%;height:100%;object-fit:cover}
.about__media figcaption{position:absolute;left:0;bottom:0;right:0;padding:1.4rem;background:linear-gradient(transparent,rgba(13,21,40,.85));
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.about__sig{font-family:var(--font-display);font-size:var(--step-2);font-style:italic;color:var(--bronze-700);margin-top:1.5rem}

/* ============================================================
   FINAL CTA
   ============================================================ */
.final{position:relative;text-align:center;overflow:hidden;isolation:isolate}
.final__bg{position:absolute;inset:0;z-index:-2}
.final__bg img{width:100%;height:100%;object-fit:cover}
.final::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(13,21,40,.86),rgba(13,21,40,.92))}
.final h2{font-size:var(--step-5);max-width:18ch;margin:1.4rem auto 0;font-weight:400}
.final h2 em{font-style:italic;color:var(--bronze-300)}
.final p{max-width:46ch;margin:1.5rem auto 0;color:var(--white-70);font-size:var(--step-1);font-weight:340}
.final__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}
.final__meta{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white-50)}
.final__meta a{color:var(--bronze-300)}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem)}
.contact__info h2{font-size:var(--step-3);font-weight:430;margin-bottom:1.2rem}
.contact__list{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:1.4rem}
.contact__list li{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.contact__list .ic{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--bronze-700)}
.contact__list .ic svg{width:18px;height:18px}
.contact__list .k{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);display:block;margin-bottom:.2rem}
.contact__list .v{font-size:var(--step-1);font-weight:380;color:var(--ink)}
.contact__list .v:hover{color:var(--bronze-700)}

.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.6rem)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1.1rem;position:relative}
.field label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60);display:block;margin-bottom:.5rem}
.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);background:var(--bone);transition:border-color .3s,background .3s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze);background:#fff}
.form .btn{width:100%;margin-top:.6rem}
.form__note{font-size:.78rem;color:var(--ink-40);margin-top:1rem;text-align:center}
.form__success{display:none;text-align:center;padding:2rem 0}
.form__success.show{display:block}
.form__success svg{width:54px;height:54px;color:var(--bronze);margin-inline:auto}
.form__success h3{font-size:var(--step-2);margin:1rem 0 .5rem;font-weight:440}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{padding-top:clamp(3.5rem,6vw,5rem);padding-bottom:2rem}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid var(--line-on-dark)}
.footer__brand img{height:54px;margin-bottom:1.4rem}
.footer__brand p{color:var(--white-70);max-width:38ch;font-weight:340}
.footer__col h4{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:1.2rem;font-weight:400}
.footer__col ul{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.footer__col a{color:var(--white-70);font-size:.92rem;transition:color .3s}
.footer__col a:hover{color:#fff}
.footer__area{color:var(--white-50);font-size:.8rem;margin-top:1rem;max-width:40ch}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;padding-top:1.8rem;
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--white-50)}
.footer__bottom a{color:var(--white-50)}.footer__bottom a:hover{color:var(--bronze-300)}

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.1s}.reveal[data-d="2"]{transition-delay:.2s}.reveal[data-d="3"]{transition-delay:.3s}.reveal[data-d="4"]{transition-delay:.4s}
.reveal-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-out)}
.reveal-img.in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-img{opacity:1!important;transform:none!important;clip-path:none!important;transition:none}
  .hero__media img{animation:none;transform:none}
  .hero h1 .ln span,.hero__eyebrow,.hero__sub,.hero__cta,.hero__trust{animation:none;opacity:1;transform:none}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .masonry{columns:2}
  .about,.contact{grid-template-columns:1fr}
  .process__grid{grid-template-columns:1fr 1fr}
  .svc:nth-child(n){grid-column:span 12 !important;min-height:380px}
  .services__grid{grid-template-columns:1fr}
  .pkg__grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .pkg--signature{padding-block:clamp(1.8rem,3.5vw,3rem)}
}
@media (max-width:760px){
  .hero h1{font-size:clamp(2.2rem,8.6vw,3.4rem);line-height:1;letter-spacing:-.02em}
  .hero__inner{padding-bottom:2.6rem}
  .hero__sub{font-size:1.05rem;margin-top:1.3rem}
  .hero__cta{margin-top:1.8rem}
  .hero__cta .btn{flex:1 1 auto;text-align:center;justify-content:center}
  .hero__trust{margin-top:2rem;gap:1.1rem 1.6rem}
  .twilight__head .lead,.hero__sub{max-width:100%}
  .pkg__grid{grid-template-columns:1fr}
  .strip__track{flex-wrap:wrap}
  .strip__item{flex:1 1 50%;border-left:none;border-top:1px solid var(--line-on-dark)}
  .strip__item:nth-child(-n+2){border-top:none}
  .form__row{grid-template-columns:1fr}
  .process__grid{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr;gap:2rem}
  .hero__scroll{display:none}
  .masonry{columns:1}
  .ba{aspect-ratio:4/5}
}
@media (max-width:480px){
  .hero__trust{gap:1.2rem}
  .hero__trust b{font-size:var(--step-1)}
}

/* ============================================================
   MULTIPAGE — page headers, active nav, detail rows, FAQ, add-ons
   ============================================================ */
.nav__links a.is-active{color:#fff}
.nav__links a.is-active::after{width:100%}

/* page hero (inner pages) */
.page-hero{position:relative;min-height:clamp(360px,56vh,560px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate}
.page-hero__bg{position:absolute;inset:0;z-index:-2}
.page-hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 14s var(--ease-out) forwards}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,21,40,.7) 0%,rgba(13,21,40,.35) 40%,rgba(13,21,40,.9) 100%),linear-gradient(90deg,rgba(13,21,40,.6),transparent 60%)}
.page-hero__inner{width:100%;max-width:var(--maxw);margin-inline:auto;padding:var(--gutter);padding-block:clamp(7rem,12vw,9rem) clamp(2.4rem,5vw,4rem)}
.page-hero h1{font-size:var(--step-5);line-height:.98;letter-spacing:-.025em;font-weight:400;margin-top:1.2rem;max-width:18ch}
.page-hero h1 em{font-style:italic;color:var(--bronze-300);font-weight:380}
.page-hero__sub{max-width:54ch;margin-top:1.4rem;font-size:var(--step-1);color:rgba(255,255,255,.82);font-weight:340}
.crumbs{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white-50)}
.crumbs a{color:var(--bronze-300)}

/* service detail rows */
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(2.5rem,5vw,4.5rem);border-top:1px solid var(--line)}
.svc-row:first-of-type{border-top:none}
.svc-row:nth-child(even) .svc-row__media{order:2}
.svc-row__media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}
.svc-row__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.svc-row:hover .svc-row__media img{transform:scale(1.05)}
.svc-row__media .index-num{position:absolute;top:1.2rem;left:1.4rem;color:var(--bronze-300);background:rgba(13,21,40,.55);padding:.3rem .7rem;border-radius:40px;backdrop-filter:blur(6px)}
.svc-row h2{font-size:var(--step-3);font-weight:430;margin:.4rem 0 1rem}
.svc-row p{color:var(--ink-60);font-weight:340;margin-bottom:1.4rem}
.svc-incl{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.4rem}
.svc-incl li{display:flex;gap:.7rem;align-items:flex-start;font-size:.98rem}
.svc-incl svg{flex:none;width:18px;height:18px;color:var(--bronze);margin-top:.25rem}
.svc-bestfor{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-700);display:inline-block;border:1px solid var(--line);border-radius:40px;padding:.5rem 1rem}

/* add-ons grid */
.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(2.5rem,5vw,4rem)}
.addon{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,2.5vw,2rem);background:var(--paper);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.addon:hover{transform:translateY(-5px);box-shadow:0 30px 60px -40px rgba(20,33,61,.5)}
.addon .ic{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--bronze-700);margin-bottom:1rem}
.addon .ic svg{width:20px;height:20px}
.addon h3{font-size:var(--step-1);font-weight:480;font-family:var(--font-body);margin-bottom:.4rem}
.addon p{color:var(--ink-60);font-size:.92rem;font-weight:340}

/* FAQ accordion */
.faq{max-width:820px;margin-top:clamp(2.5rem,5vw,4rem)}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;text-align:left;
  font-family:var(--font-display);font-size:var(--step-1);font-weight:440;color:var(--ink);cursor:pointer}
.faq__q .pm{flex:none;width:26px;height:26px;position:relative;transition:transform .4s var(--ease)}
.faq__q .pm::before,.faq__q .pm::after{content:"";position:absolute;background:var(--bronze);left:50%;top:50%;transform:translate(-50%,-50%)}
.faq__q .pm::before{width:14px;height:2px}.faq__q .pm::after{width:2px;height:14px;transition:opacity .3s}
.faq__item.open .faq__q .pm::after{opacity:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq__a p{color:var(--ink-60);font-weight:340;padding-bottom:1.5rem;max-width:68ch}
.band-light .faq__q,.band-paper .faq__q{color:var(--ink)}

/* contact map */
.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-top:clamp(2.5rem,5vw,4rem);filter:grayscale(.2) contrast(1.05)}
.map-wrap iframe{width:100%;height:clamp(280px,40vw,420px);border:0;display:block;filter:saturate(.9)}

/* generic content section helpers */
.lede{font-size:var(--step-1);line-height:1.55;color:var(--ink-60);font-weight:340;max-width:62ch}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,3vw,2.6rem)}
.value-card{padding:clamp(1.6rem,3vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.value-card h3{font-size:var(--step-1);font-weight:480;font-family:var(--font-body);margin-bottom:.5rem}
.value-card p{color:var(--ink-60);font-weight:340}
.value-card .index-num{display:block;margin-bottom:.8rem}

@media (max-width:860px){
  .svc-row{grid-template-columns:1fr;gap:1.6rem}
  .svc-row:nth-child(even) .svc-row__media{order:0}
  .addons{grid-template-columns:1fr}
  .split-2{grid-template-columns:1fr}
}

/* ============================================================
   HD-style FLOATING PILL NAV + property types + areas
   ============================================================ */
.nav{top:clamp(.6rem,1.4vw,1.1rem);left:50%;right:auto;transform:translateX(-50%);
  width:calc(100% - 2*var(--gutter));max-width:1240px;border-radius:100px;
  background:rgba(13,21,40,.45);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);
  border:1px solid rgba(255,255,255,.1);padding:.7rem .8rem .7rem 1.5rem;box-shadow:0 14px 44px -22px rgba(0,0,0,.6)}
.nav.scrolled{background:rgba(13,21,40,.84);padding:.6rem .8rem .6rem 1.5rem}
.nav .btn{border-radius:100px}

/* property types grid */
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.6vw,1.2rem);margin-top:clamp(2.5rem,5vw,4rem)}
.type{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;display:flex;align-items:flex-end;isolation:isolate;color:#fff}
.type img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease-out)}
.type::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,21,40,.05),rgba(13,21,40,.85))}
.type:hover img{transform:scale(1.06)}
.type b{padding:1.1rem 1.2rem;font-family:var(--font-display);font-size:var(--step-1);font-weight:440;letter-spacing:-.01em}
.type .index-num{position:absolute;top:1rem;left:1.1rem;color:var(--bronze-300)}

/* areas chips */
.areas-grid{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(2rem,4vw,3rem)}
.areas-grid a{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.03em;color:var(--ink);
  border:1px solid var(--line);border-radius:40px;padding:.7rem 1.2rem;transition:.35s var(--ease);display:inline-flex;align-items:center;gap:.5rem;background:var(--paper)}
.areas-grid a::after{content:"\2197";color:var(--bronze);transition:transform .35s}
.areas-grid a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.areas-grid a:hover::after{color:var(--bronze-300);transform:translate(2px,-2px)}
.areas-grid.on-dark a{background:transparent;color:#fff;border-color:var(--line-on-dark)}
.areas-grid.on-dark a:hover{background:#fff;color:var(--navy)}

@media (max-width:860px){.types{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.types{grid-template-columns:1fr}}

/* ============================================================
   NAVBAR v2 — refined floating glass pill + emblem wordmark
   ============================================================ */
.nav{
  top:clamp(.6rem,1.4vw,1.15rem);left:50%;right:auto;transform:translateX(-50%);
  width:calc(100% - 2*var(--gutter));max-width:1200px;border-radius:999px;
  padding:.55rem .6rem .55rem 1.35rem;gap:1.5rem;
  background:linear-gradient(180deg,rgba(22,35,64,.62),rgba(13,21,40,.55));
  backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid rgba(226,167,102,.18);
  box-shadow:0 18px 50px -26px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.07);
}
.nav.scrolled{
  background:linear-gradient(180deg,rgba(13,21,40,.92),rgba(11,18,34,.9));
  border-color:rgba(255,255,255,.08);padding-top:.5rem;padding-bottom:.5rem;
  box-shadow:0 14px 40px -24px rgba(0,0,0,.8);
}

/* logo: emblem + wordmark */
.nav__logo{display:flex;align-items:center;gap:.6rem}
.nav__logo img{height:auto}
.nav__mark{height:clamp(30px,3.4vw,40px)!important;width:auto;transition:height .5s var(--ease);filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.nav.scrolled .nav__mark{height:30px!important}
.nav__word{display:flex;flex-direction:column;justify-content:center;line-height:1;gap:3px}
.nav__word b{font-family:var(--font-display);font-weight:520;font-size:1.12rem;letter-spacing:.01em;color:#fff}
.nav__word i{font-family:var(--font-mono);font-style:normal;font-size:.5rem;letter-spacing:.46em;text-transform:uppercase;color:var(--bronze-300);padding-left:2px}

/* links */
.nav__links a{font-size:.72rem;letter-spacing:.16em;color:rgba(255,255,255,.66)}
.nav__links a:hover{color:#fff}
.nav__links a.is-active{color:#fff}
.nav__links a::after{height:1.5px;background:var(--bronze-300);bottom:-2px}

/* lang toggle */
.lang{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(0,0,0,.18)}
.lang button{padding:.4rem .68rem;font-size:.68rem;letter-spacing:.08em}
.lang button.active{background:var(--bronze);color:#0d1528;font-weight:700}

/* CTA */
.nav .btn{padding:.72rem 1.3rem;font-size:.7rem;border-radius:999px}
.nav__right{gap:.85rem}

/* burger */
.nav__burger span{background:#fff;width:26px}

@media (max-width:520px){
  .nav{padding-left:1.1rem}
  .nav__word{display:none}
}

/* ============================================================
   SHOWCASE WALL — angled, clickable, parallax photo gallery
   ============================================================ */
.showcase{overflow:hidden}
.showcase__wall{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.8vw,1.7rem);
  max-width:1560px;margin:clamp(2.6rem,5vw,4.5rem) auto 0;
  transform:perspective(1700px) rotateX(15deg) scale(.95);transform-origin:50% 0;
  opacity:.4;transition:transform 1.5s var(--ease-out),opacity 1.3s var(--ease);
}
.showcase__wall.in{transform:none;opacity:1}
.shot{will-change:transform;transform:translateY(var(--py,0))}
.shot:nth-child(4n+2){margin-top:clamp(1.4rem,4vw,3.4rem)}
.shot:nth-child(4n+3){margin-top:clamp(.7rem,2vw,1.6rem)}
.shot:nth-child(4n){margin-top:clamp(2.2rem,5vw,4.6rem)}
.shot__card{
  position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/2;cursor:pointer;isolation:isolate;
  transform:rotate(var(--r,0deg));
  transition:transform .65s var(--ease-out),box-shadow .65s var(--ease);
  box-shadow:0 22px 55px -30px rgba(0,0,0,.85);
}
.shot__card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out),filter .6s;filter:saturate(1.03) brightness(.9)}
.shot__card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 45%,rgba(13,21,40,.78))}
.shot:hover{z-index:5}
.shot:hover .shot__card{transform:rotate(0deg) translateY(-10px) scale(1.04);box-shadow:0 44px 90px -34px rgba(0,0,0,.95)}
.shot:hover .shot__card img{transform:scale(1.07);filter:saturate(1.07) brightness(1.02)}
.shot__label{position:absolute;left:1.05rem;bottom:.9rem;z-index:2;font-family:var(--font-display);font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:470;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.shot__view{position:absolute;top:.95rem;right:.95rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#0d1528;
  background:var(--bronze-300);padding:.42rem .72rem;border-radius:40px;opacity:0;transform:translateY(-8px);transition:.5s var(--ease-out)}
.shot__view::after{content:"\2197"}
.shot:hover .shot__view{opacity:1;transform:none}

@media (max-width:900px){
  .showcase__wall{grid-template-columns:repeat(2,1fr);transform:perspective(1400px) rotateX(9deg) scale(.97)}
  .shot:nth-child(4n+2),.shot:nth-child(4n+3),.shot:nth-child(4n){margin-top:0}
  .shot:nth-child(2n){margin-top:clamp(1.4rem,5vw,2.6rem)}
}
@media (max-width:520px){
  .showcase__wall{grid-template-columns:1fr;transform:none;opacity:1}
  .shot:nth-child(n){margin-top:0}
  .shot__card{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .showcase__wall{transform:none!important;opacity:1!important}
  .shot,.shot__card{transform:none!important}
}

/* ============================================================
   NAV — collapse to burger at <=1024 (fixes cramped overlap)
   ============================================================ */
@media (max-width:1024px){
  .nav__links{position:fixed;inset:0;background:var(--navy-deep);flex-direction:column;justify-content:center;gap:1.7rem;
    transform:translateX(100%);transition:transform .5s var(--ease-out)}
  .nav__links.open{transform:translateX(0)}
  .nav__links a{font-size:1.05rem;letter-spacing:.16em;color:#fff}
  .nav__links a.is-active{color:var(--bronze-300)}
  .nav__links a::after{display:none}
  .nav__burger{display:flex}
}
@media (max-width:560px){ .nav .btn{display:none} }

/* floor-plan (blueprint) card: dark plan, default scrim keeps text readable */
.svc__img--plan{background:var(--navy-deep)}
.svc__img--plan img{object-fit:contain;padding:6%}

/* floor-plan (blueprint) in services row */
.svc-row__media--plan{background:var(--navy-deep)}
.svc-row__media--plan img{object-fit:contain;padding:4%}

/* package price block */
.pkg__price{font-family:var(--font-display);font-size:clamp(2.4rem,3.4vw,3.1rem);font-weight:480;letter-spacing:-.02em;color:var(--ink);margin:.55rem 0 .5rem;line-height:1;display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}
.pkg__price em{font-style:normal;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40);font-weight:400}
.pkg--signature .pkg__price{color:#fff}
.pkg--signature .pkg__price em{color:var(--bronze-200)}
.pkg__free{text-align:center;max-width:60ch;margin:clamp(2rem,4vw,3rem) auto 0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-60);text-transform:uppercase}
.addon__price{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--bronze-700);margin-top:.6rem;display:block}
