/* =====================================================================
   EVORA EVENTS — style.css
   1. Tokens & reset      6. Services        11. Testimonials
   2. Base & typography   7. Work            12. Reel
   3. Loader & cursor     8. Horizontal      13. Why us
   4. Nav                 9. Clients         14. Instagram
   5. Hero / Trust        10. Process        15. CTA / Footer
   ===================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --ink:#0D0D0D;
  --bg:#090909;
  --bg-2:#0e0e0e;
  --white:#FFFFFF;
  --text:#F5F5F5;
  --muted:#8d8a85;
  --gold:#C9A96E;
  --gold-hi:#D8B77B;
  --bone:#EAE7E2;
  --line:rgba(245,245,245,.12);

  --f-display:"Bricolage Grotesque",-apple-system,sans-serif;
  --f-body:"Inter",-apple-system,sans-serif;

  --ease:cubic-bezier(.6,.01,.05,.99);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --pad:clamp(1.5rem,4vw,4.5rem);
  --maxw:1440px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ---------- 2. BASE ---------- */
html{
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--f-body);
  font-weight:300;
  line-height:1.6;
  overflow-x:clip;
  cursor:auto;
}
html.js.fine-pointer,
html.js.fine-pointer *{cursor:none}

/* ambient multicolor edge glow — absolute over full document (survives pinned sections) */
body{position:relative}
.ambient{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(820px 660px at -5% 2%, rgba(216,180,108,.36), transparent 60%),
    radial-gradient(780px 640px at 105% 11%, rgba(200,84,152,.32), transparent 60%),
    radial-gradient(860px 700px at -6% 27%, rgba(54,158,148,.30), transparent 58%),
    radial-gradient(800px 680px at 106% 42%, rgba(210,114,56,.30), transparent 58%),
    radial-gradient(860px 700px at -5% 58%, rgba(200,84,152,.28), transparent 58%),
    radial-gradient(800px 680px at 106% 73%, rgba(54,158,148,.30), transparent 58%),
    radial-gradient(840px 700px at -5% 89%, rgba(216,180,108,.30), transparent 60%),
    radial-gradient(800px 680px at 106% 99%, rgba(210,114,56,.28), transparent 60%);
  animation:ambientDrift 24s ease-in-out infinite alternate}
@keyframes ambientDrift{
  0%{opacity:.3;filter:hue-rotate(-9deg) saturate(1.05)}
  100%{opacity:.45;filter:hue-rotate(11deg) saturate(1.18)}
}
main,.footer,.mobile-menu{position:relative;z-index:1}
header.nav{z-index:810}.mobile-menu{z-index:805}

img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--gold)}
::selection{background:var(--gold);color:var(--ink)}

/* custom scrollbar */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#2a2926;border-radius:20px;border:3px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

/* shared display type */
.kicker{
  font-family:var(--f-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.section-head{
  padding:clamp(4rem,8vw,7rem) var(--pad) clamp(1.5rem,4vw,3rem);
  max-width:var(--maxw);margin:0 auto;
}
.section-title{
  font-family:var(--f-display);
  font-weight:500;
  font-size:clamp(2.4rem,5.4vw,5rem);
  line-height:.98;
  letter-spacing:-.02em;
  margin-top:1.2rem;
  max-width:18ch;
  text-wrap:balance;
}
.section-title em{font-weight:400}

/* buttons */
.btn-pill{
  position:relative;display:inline-flex;align-items:center;gap:.6rem;
  padding:1.05rem 2rem;border-radius:100px;
  font-family:var(--f-body);font-size:.84rem;font-weight:500;
  letter-spacing:.04em;border:1px solid var(--line);
  overflow:hidden;color:var(--text);
  transition:color .5s var(--ease),border-color .5s var(--ease);
}
.btn-pill span{position:relative;z-index:2}
.btn-pill::before{
  content:"";position:absolute;inset:0;background:var(--gold);
  border-radius:inherit;transform:translateY(101%);
  transition:transform .55s var(--ease-out);z-index:1;
}
.btn-pill:hover{color:var(--ink);border-color:var(--gold)}
.btn-pill:hover::before{transform:translateY(0)}
.btn-pill--solid{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-pill--solid::before{background:var(--gold-hi)}
.btn-pill--solid:hover{color:var(--ink)}
.btn-pill--ghost{background:transparent}
.btn-pill--lg{padding:1.4rem 3rem;font-size:1rem}

.link-underline{
  position:relative;display:inline-block;font-size:.9rem;letter-spacing:.04em;
  color:var(--text);padding-bottom:3px;
}
.link-underline span{position:relative}
.link-underline::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--ease-out);
}
.link-underline:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- 3. LOADER ---------- */
#loader{
  position:fixed;inset:0;z-index:9000;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.loader__media{position:absolute;inset:0;opacity:.18}
.loader__flash{position:absolute;inset:0;opacity:0;filter:grayscale(.3)}
.loader__word{
  display:flex;gap:.04em;font-family:var(--f-display);font-weight:600;
  font-size:clamp(3rem,13vw,11rem);letter-spacing:.02em;line-height:1;
  color:var(--text);
}
.loader__word span{transform:translateY(110%);display:inline-block}
.loader__count{
  position:absolute;right:var(--pad);bottom:clamp(2rem,6vw,4rem);
  font-family:var(--f-display);font-size:clamp(2rem,6vw,4rem);
  color:var(--gold);display:flex;align-items:flex-start;
}
.loader__count i{font-size:.4em;font-style:normal;margin-top:.3em;margin-left:.1em}
.loader__bar{
  position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(2rem,6vw,4rem);
  height:1px;background:var(--line);
}
.loader__bar span{display:block;height:100%;width:0;background:var(--gold)}

/* ---------- CURSOR ---------- */
.cursor{position:fixed;inset:0;z-index:9500;pointer-events:none;display:none}
html.js.fine-pointer .cursor{display:block}
.cursor__dot{
  position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;
  background:var(--gold);transform:translate(-50%,-50%);
}
.cursor__ring{
  position:fixed;top:0;left:0;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(245,245,245,.6);transform:translate(-50%,-50%);
  mix-blend-mode:difference;display:flex;align-items:center;justify-content:center;
  transition:width .35s var(--ease-out),height .35s var(--ease-out),
             background .35s var(--ease-out),border-color .35s var(--ease-out);
}
.cursor.is-hover .cursor__ring{width:64px;height:64px;border-color:var(--gold)}

/* ---------- 4. NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:810;
  display:flex;align-items:center;justify-content:space-between;
  padding:clamp(.8rem,2vw,1.1rem) var(--pad);
  transition:background .5s var(--ease),backdrop-filter .5s var(--ease),padding .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(9,9,9,.9);backdrop-filter:blur(10px);
  padding-top:.7rem;padding-bottom:.7rem;border-bottom:1px solid var(--line);
}
.nav.is-hidden{transform:translateY(-105%)}
.nav__logo{display:flex;align-items:center;gap:.7rem}
.brandmark{height:90px;width:auto;display:block;transition:height .5s var(--ease)}
.nav.is-scrolled .brandmark{height:60px}
.nav__cta{padding:.6rem 1.4rem}
.nav__wordmark{font-family:var(--f-display);font-weight:600;font-size:1rem;line-height:1.02;
  letter-spacing:.2em;text-transform:uppercase;color:var(--text);white-space:nowrap}
@media(max-width:560px){
  .nav__wordmark{display:none}
  .brandmark{height:65px}
  .nav.is-scrolled .brandmark{height:35px}
}
.nav__menu{display:flex;gap:2.4rem}
.nav__menu a{position:relative;font-size:.86rem;letter-spacing:.04em;color:var(--text);padding:.2rem 0}
.nav__menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.nav__menu a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;flex-direction:column;gap:6px;background:none;border:0;padding:8px;z-index:810}
.nav__burger span{width:26px;height:2px;background:var(--text);transition:transform .4s var(--ease),opacity .3s}
.nav__burger.is-open span:first-child{transform:translateY(8px) rotate(45deg)}
.nav__burger.is-open span:last-child{transform:translateY(-8px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:805;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
.mobile-menu.is-open{clip-path:inset(0 0 0 0)}
.mobile-menu nav{display:flex;flex-direction:column;gap:1.1rem;text-align:center}
.mobile-menu a{font-family:var(--f-display);font-size:2.4rem;font-weight:500;color:var(--text)}
.mobile-menu__cta{color:var(--gold)!important;margin-top:1rem;font-size:1.4rem!important}

/* ---------- 5. HERO ---------- */
.hero{position:relative;height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--pad)}
.hero__bg{position:absolute;top:-10%;left:0;width:100%;height:120%;z-index:0;transform-origin:center top}
.hero__bg img{filter:brightness(.85) saturate(.85) contrast(1.05)}
.hero__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(9,9,9,0) 0%,rgba(9,9,9,.45) 20%,rgba(9,9,9,.75) 50%,rgba(9,9,9,.45) 80%,rgba(9,9,9,0) 100%),
  linear-gradient(180deg,rgba(9,9,9,.65) 0%,rgba(9,9,9,0) 25%,rgba(9,9,9,0) 75%,rgba(9,9,9,.9) 100%)}
.hero__grain{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay}
.float{position:absolute;z-index:1;border:1px solid var(--gold);border-radius:50%;opacity:.2;will-change:transform}
.float--1{width:14px;height:14px;top:24%;left:12%}
.float--2{width:8px;height:8px;top:62%;left:78%;background:var(--gold);opacity:.3}
.float--3{width:34px;height:34px;top:40%;left:88%}

.hero__inner{position:relative;z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(4rem, 8vh, 8rem)}
.hero__title{
  font-family:var(--f-display);font-weight:500;
  font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.95;letter-spacing:-.025em;
  max-width:16ch;
}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line>*,.hero__title .line{will-change:transform}
.hero__title .line--accent{font-family:var(--f-display);font-style:italic;color:var(--gold);padding:0 .1em}
.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:clamp(4rem,8vw,6rem)}
.hero__scroll{position:absolute;right:var(--pad);bottom:clamp(3rem,7vw,6rem);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.8rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero__arrow{width:1px;height:54px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.hero__arrow::after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:var(--gold);animation:scrolldown 1.8s var(--ease) infinite}
@keyframes scrolldown{0%{transform:translateY(-100%)}60%,100%{transform:translateY(260%)}}

/* ---------- TRUST ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:clamp(2rem,3vw,3.5rem) var(--pad);border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat__num{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,2.6vw,2.2rem);line-height:1;color:var(--white)}
.stat__label{margin-top:.6rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- 6. SERVICES ---------- */
.services{max-width:var(--maxw);margin:0 auto}
.services__list{border-top:1px solid var(--line)}
.srv{position:relative;display:block;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.srv__bg{position:absolute;inset:0;z-index:0;opacity:0;transform:scale(1.12);filter:grayscale(.4) brightness(.6);
  transition:opacity .7s var(--ease),transform 1.1s var(--ease)}
.srv::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,9,9,.85),rgba(9,9,9,.35));opacity:0;transition:opacity .7s var(--ease)}
.srv__row{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,3rem);
  padding:clamp(1.6rem,3.4vw,2.8rem) var(--pad)}
.srv__idx{font-family:var(--f-body);font-size:.8rem;color:var(--muted);letter-spacing:.1em}
.srv__title{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,5vw,4rem);line-height:1;letter-spacing:-.02em;
  transition:transform .6s var(--ease),color .6s var(--ease)}
.srv__desc{position:absolute;right:calc(var(--pad) + 86px);top:50%;transform:translateY(-50%) translateX(24px);text-align:right;
  font-size:.95rem;color:var(--bone);max-width:30ch;opacity:0;pointer-events:none;
  transition:opacity .55s var(--ease),transform .6s var(--ease)}
.srv__arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);position:relative;flex:none;
  transition:background .5s var(--ease),border-color .5s var(--ease),transform .6s var(--ease)}
.srv__arrow::before,.srv__arrow::after{content:"";position:absolute;background:var(--text);transition:background .5s}
.srv__arrow::before{width:14px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}
.srv__arrow::after{width:7px;height:7px;border-top:1px solid var(--text);border-right:1px solid var(--text);top:50%;left:50%;transform:translate(-70%,-50%) rotate(45deg)}
.srv.is-active .srv__bg{opacity:1;transform:scale(1)}
.srv.is-active .srv__bg+.srv__row,.srv.is-active::after{opacity:1}
.srv.is-active .srv__title{transform:translateX(14px);color:var(--white)}
.srv.is-active .srv__desc{opacity:1;transform:translateY(-50%) translateX(0)}
.srv.is-active .srv__arrow{background:var(--gold);border-color:var(--gold);transform:rotate(-45deg)}
.srv.is-active .srv__arrow::before,.srv.is-active .srv__arrow::after{background:var(--ink);border-color:var(--ink)}
@media(max-width:1024px){.srv__desc{display:none}}

/* ---------- 7. WORK ---------- */
.work{max-width:var(--maxw);margin:0 auto;padding-bottom:clamp(4rem,6vw,6rem)}
.work__list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:start;padding:0 var(--pad)}
.proj{display:flex;flex-direction:column;gap:1rem}
.proj__media{position:relative;overflow:hidden;aspect-ratio:16/10;width:100%}
.proj__media img{transform:scale(1.02);filter:grayscale(.25);transition:transform 1.1s var(--ease),filter .8s var(--ease);will-change:transform}
.proj__media::after{content:"";position:absolute;inset:0;background:rgba(9,9,9,.15);transition:background .6s}
@media (hover: hover) {
  .proj__media:hover img{transform:scale(1.08);filter:grayscale(0)}
  .proj__media:hover::after{background:rgba(9,9,9,0)}
}
.proj__meta{display:flex;flex-direction:column;gap:.4rem}
.proj__tags{display:flex;flex-wrap:wrap;gap:.8rem;font-size:clamp(.65rem,1vw,.72rem);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.proj__tags span{position:relative;padding-left:.8rem}
.proj__tags span:first-child{padding-left:0}
.proj__tags span:first-child::before{display:none}
.proj__tags span::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}
.proj__title{font-family:var(--f-display);font-weight:500;font-size:clamp(1.1rem,2.8vw,2.4rem);line-height:1;letter-spacing:-.02em}

/* ---------- 8. HORIZONTAL ---------- */
.horizon{position:relative;background:var(--bg-2);overflow:hidden}
.horizon__track{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);padding:0 var(--pad);height:100svh;width:max-content;will-change:transform}
.horizon__intro{flex:none;width:min(80vw,520px);padding-right:2rem}
.horizon__intro--mobile{display:none}
.horizon__intro--desktop{position:absolute;left:0;top:0;height:100vh;width:calc(var(--pad) + min(80vw,520px));padding-left:var(--pad);padding-right:2rem;display:flex;flex-direction:column;justify-content:center;z-index:10;pointer-events:none}
.horizon__intro--desktop::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(90deg, #000 0%, rgba(0,0,0,0.8) 50%, rgba(0,0,0,0.2) 100%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);-webkit-mask-image:linear-gradient(90deg, black 0%, black 50%, transparent 100%);mask-image:linear-gradient(90deg, black 0%, black 50%, transparent 100%);z-index:-1}
.horizon__track .hpanel:first-of-type{margin-left:min(80vw,520px)}
.horizon__lead{font-family:var(--f-display);font-weight:500;font-size:clamp(3rem,7vw,6rem);line-height:.94;letter-spacing:-.02em;margin:1.2rem 0}
.horizon__hint{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.hpanel{position:relative;flex:none;width:min(70vw,440px);height:64vh;overflow:hidden}
.hpanel img{filter:grayscale(.3) brightness(.7);transition:transform 1s var(--ease)}
@media (hover: hover) { .hpanel:hover img{transform:scale(1.06)} }
.horizon__nav--mobile{display:none}
.hpanel__no{position:absolute;top:1.4rem;left:1.4rem;font-size:.8rem;letter-spacing:.1em;color:var(--bone);z-index:2}
.hpanel__title{position:absolute;left:1.4rem;bottom:1.4rem;z-index:2;font-family:var(--f-display);font-weight:500;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.01em}

@media(max-width:768px){
  .hpanel{height:55vh;width:75vw}
  .horizon__intro{width:80vw}
}

/* ---------- 9. CLIENTS ---------- */
.clients{padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.clients__cap{text-align:center;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(2rem,4vw,3.5rem)}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__row{display:flex;gap:clamp(3rem,7vw,7rem);width:max-content;will-change:transform}
.marquee__row .logo{flex:none;height:30px;opacity:.55;transition:opacity .4s}
.marquee__row .logo:hover{opacity:1}
.marquee__row .logo svg{height:100%;width:auto;fill:var(--bone)}

/* ---------- 10. PROCESS ---------- */
.process{position:relative;max-width:var(--maxw);margin:0 auto}
.process::before{content:"";position:absolute;bottom:-10%;left:-20%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(176,80,138,.15),transparent 65%);filter:blur(60px);pointer-events:none;z-index:0}
.process > *{position:relative;z-index:1}
.process__list{padding:0 var(--pad) clamp(4rem,8vw,8rem);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(1.5rem,6vw,8rem)}
.step{display:grid;grid-template-columns:clamp(3rem,8vw,8rem) 1fr;gap:clamp(.8rem,2vw,3rem);align-items:start;
  padding:clamp(2.2rem,4vw,3.4rem) 0;border-bottom:1px solid var(--line)}
.step__no{font-family:var(--f-display);font-weight:400;font-size:clamp(3.4rem,8vw,6rem);line-height:.8;color:transparent;
  -webkit-text-stroke:1px var(--muted);transition:color .6s var(--ease),-webkit-text-stroke-color .6s}
.step:hover .step__no{color:var(--gold);-webkit-text-stroke-color:var(--gold)}
.step__body h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.1rem,2.5vw,2.2rem);margin-bottom:.4rem;letter-spacing:-.01em}
.step__body p{max-width:48ch;color:var(--muted);font-size:clamp(.85rem,1.5vw,1.02rem)}

/* ---------- 11. TESTIMONIALS ---------- */
.testi{position:relative;max-width:var(--maxw);margin:0 auto}
.testi::before{content:"";position:absolute;top:50%;right:-15%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.18),transparent 65%);filter:blur(60px);pointer-events:none;z-index:0;transform:translateY(-50%)}
.testi > *{position:relative;z-index:1}
.testi__stack{padding:0 var(--pad) clamp(5rem,10vw,10rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2rem)}
.tcard{position:relative;padding:clamp(2rem,3vw,2.8rem);border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.035);backdrop-filter:blur(14px);
  display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;min-height:340px}
.tcard:nth-child(1){transform:rotate(-1.4deg)}
.tcard:nth-child(2){transform:rotate(.6deg) translateY(-1.4rem)}
.tcard:nth-child(3){transform:rotate(-.5deg) translateY(.8rem)}
.tcard__quote{font-family:var(--f-display);font-weight:400;font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.35;letter-spacing:-.01em;color:var(--text)}
.tcard__by{display:flex;align-items:center;gap:1rem}
.tcard__by img{width:52px;height:52px;border-radius:50%;flex:none}
.tcard__by span{display:flex;flex-direction:column;font-size:.82rem;color:var(--muted);line-height:1.5}
.tcard__by strong{color:var(--white);font-weight:600;font-size:.92rem}

/* ---------- 12. REEL ---------- */
.reel{position:relative;min-height:90svh;display:flex;align-items:center;overflow:hidden}
.reel__media{position:absolute;inset:-8% 0;z-index:0}
.reel__media img{filter:brightness(.45) saturate(.9)}
.reel__overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(60% 80% at 50% 50%,transparent,rgba(9,9,9,.7))}
.reel__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--pad);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.8rem}
.reel__title{font-family:var(--f-display);font-weight:500;font-size:clamp(2.6rem,7vw,6.5rem);line-height:.96;letter-spacing:-.02em}
.reel__play{position:relative;width:clamp(92px,11vw,128px);height:clamp(92px,11vw,128px);border-radius:50%;background:transparent;border:0;display:grid;place-items:center;margin-top:1rem}
.reel__play-ring{position:absolute;inset:0;border:1px solid var(--gold);border-radius:50%;transition:transform .6s var(--ease),background .5s}
.reel__play:hover .reel__play-ring{transform:scale(1.12);background:rgba(201,169,110,.12)}
.reel__play-tri{width:0;height:0;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--gold);margin-left:6px}

/* ---------- 13. WHY US ---------- */
.why{max-width:var(--maxw);margin:0 auto}
.why__grid{padding:0 var(--pad) clamp(4rem,8vw,8rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.why__item{padding:1rem 0}
.why__item h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.01em;margin-bottom:.8rem}
.why__item p{color:var(--muted);max-width:34ch}
.why__item--lg{grid-column:span 1}
.why__stat{display:block;font-family:var(--f-display);font-weight:500;font-size:clamp(3rem,6vw,5.4rem);line-height:1;color:var(--gold);margin-bottom:.6rem}
.why__img{overflow:hidden;aspect-ratio:4/5;border-radius:6px}
.why__img img{filter:grayscale(.2)}
.why__img--tall{aspect-ratio:3/4}

/* ---------- 14. INSTAGRAM ---------- */
.insta{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) clamp(5rem,9vw,9rem)}
.insta__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:clamp(3rem,6vw,5rem) 0 clamp(1.6rem,3vw,2.4rem);flex-wrap:wrap}
.insta__title{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,4vw,3.2rem);letter-spacing:-.02em}
.insta__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;grid-auto-rows:minmax(180px,18vw);gap:clamp(.6rem,1vw,1rem)}
.ig{position:relative;overflow:hidden;border-radius:4px}
.ig img{filter:grayscale(0) brightness(1);transition:filter .6s var(--ease),transform 1s var(--ease)}
@media (hover: hover) { .ig:hover img{filter:grayscale(1) brightness(.85);transform:scale(1.07)} }
.ig--wide{grid-column:span 2}
.ig--tall{grid-row:span 2}

/* ---------- 15. CTA ---------- */
.cta{position:relative;text-align:center;padding:clamp(3.5rem,8vw,7.5rem) var(--pad);overflow:hidden}
.cta::before,.cta::after{content:"";position:absolute;width:46vw;height:46vw;border-radius:50%;pointer-events:none;filter:blur(40px);opacity:.5}
.cta::before{top:-18vw;left:-14vw;background:radial-gradient(circle,rgba(201,169,110,.25),transparent 62%)}
.cta::after{bottom:-20vw;right:-14vw;background:radial-gradient(circle,rgba(176,80,138,.2),transparent 62%)}
.cta__line{position:absolute;top:0;left:50%;width:1px;height:clamp(4rem,9vw,8rem);background:linear-gradient(var(--gold),transparent);transform:translateX(-50%)}
.cta .kicker{display:block;margin-bottom:1.6rem}
.cta__title{font-family:var(--f-display);font-weight:500;font-size:clamp(2.4rem,6vw,6rem);line-height:.95;letter-spacing:-.03em;margin-bottom:2.6rem}
.cta__title .line{display:block;overflow:hidden}
.cta__title .line--accent em,.cta__title .line--accent{color:var(--gold)}

/* ---------- FOOTER ---------- */
.footer{border-top:1px solid var(--line);padding:clamp(3rem,5vw,5rem) var(--pad) 2.5rem;max-width:var(--maxw);margin:0 auto;overflow:hidden}

/* Ornament divider */
.footer__ornament{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,4vw,4rem)}
.footer__ornament-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.35}
.footer__ornament-icon{width:40px;height:20px;color:var(--gold);flex-shrink:0;opacity:.7}

.footer__top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,5rem)}

/* Email */
.footer__mail{display:block;font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,3.8vw,3.1rem);letter-spacing:-.02em;margin:1.2rem 0 1.6rem;transition:color .3s}
.footer__mail:hover{color:var(--gold)}
.footer__mail span{text-transform:lowercase}

/* CTA pill buttons */
.footer__cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2rem}
.footer__cta-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:99px;border:1px solid rgba(255,255,255,.18);color:var(--muted);transition:border-color .3s,color .3s,background .3s}
.footer__cta-pill:hover{border-color:var(--text);color:var(--text)}
.footer__cta-pill--gold{border-color:rgba(168,126,69,.45);color:var(--gold)}
.footer__cta-pill--gold:hover{background:var(--gold);color:#0d0d0d;border-color:var(--gold)}
.footer__cta-pill svg{transition:transform .3s}
.footer__cta-pill:hover svg{transform:translateX(3px)}

/* trio wrapper — desktop: stacked normally; mobile: 3-col row */
.footer__trio{display:flex;flex-direction:column;gap:0}
.footer__nav-cols--trio{display:none !important}   /* hidden on desktop */
.footer__nav-cols--desktop{display:flex} /* visible on desktop */

/* Address */
.footer__addr{font-style:normal;color:var(--muted);line-height:2;font-size:.93rem;display:flex;align-items:flex-start;gap:.5rem}
.footer__addr-icon{margin-top:.3rem;flex-shrink:0;color:var(--gold)}

/* Contact meta row */
.footer__contact-meta{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;font-size:.82rem;color:var(--muted)}
.footer__meta-link{display:inline-flex;align-items:center;gap:.4rem;transition:color .3s}
.footer__meta-link:hover{color:var(--gold)}
.footer__meta-sep{opacity:.35}
.footer__meta-hours{opacity:.55;font-style:italic}

/* Newsletter */
.footer__news-copy{margin:1.2rem 0 1.6rem;color:var(--muted);max-width:36ch;font-size:1.02rem}
.news-form{display:flex;gap:.6rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.8rem;max-width:420px}
.news-form input{flex:1;background:none;border:0;color:var(--text);font-family:var(--f-body);font-size:1rem;padding:.4rem 0}
.news-form input::placeholder{color:var(--muted)}
.news-form input:focus{outline:none}
.news-form button{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;position:relative;transition:background .4s,border-color .4s}
.news-form button span{position:absolute;top:50%;left:50%;width:12px;height:1px;background:var(--text);transform:translate(-50%,-50%)}
.news-form button span::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid var(--text);border-right:1px solid var(--text);transform:translate(0,-50%) rotate(45deg)}
.news-form button:hover{background:var(--gold);border-color:var(--gold)}
.footer__msg{margin-top:.9rem;font-size:.82rem;color:var(--gold);min-height:1.2em}

/* Nav columns */
.footer__nav-cols{display:flex;gap:3rem;margin-top:2.4rem}
.footer__nav-group{display:flex;flex-direction:column;gap:.7rem}
.footer__nav-heading{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.3rem}
.footer__nav-group a{font-size:.88rem;color:var(--muted);transition:color .3s,padding-left .25s}
.footer__nav-group a:hover{color:var(--text);padding-left:.3rem}

/* Brand section */
.footer__brand{padding:clamp(1.5rem,2vw,2rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.brandmark--lg{height:clamp(80px,10vw,120px);margin:0 auto clamp(1rem,2vw,1.4rem)}
.footer__word{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(2.8rem,10vw,8rem);line-height:.82;letter-spacing:-.02em;text-align:center;white-space:nowrap;background:linear-gradient(110deg,var(--text) 35%,var(--gold) 46%,var(--white) 48%,var(--gold-hi) 50%,var(--white) 52%,var(--gold) 54%,var(--text) 65%);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer-text 10s infinite}
@keyframes shimmer-text{0%{background-position:0% 0} 60%{background-position:100% 0} 100%{background-position:100% 0}}
.footer__word-sub{display:block;font-family:var(--f-body);font-weight:500;letter-spacing:.55em;text-transform:uppercase;color:var(--gold);font-size:clamp(.7rem,2vw,1.2rem);margin-top:.4rem;padding-left:.55em}
.footer__tagline{display:block;font-family:var(--f-body);font-style:italic;color:var(--gold-hi);font-size:clamp(.9rem,1.2vw,1.1rem);margin-top:1rem;line-height:1}

/* Bottom bar */
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-top:2rem}
.footer__social{display:flex;gap:1.4rem;font-size:.82rem;color:var(--muted);flex-wrap:wrap}
.footer__social-link{display:inline-flex;align-items:center;gap:.35rem;transition:color .3s}
.footer__social-link:hover{color:var(--gold)}
.footer__copy{font-size:.82rem;color:var(--muted);text-align:right}
.footer__copy a{color:var(--text);text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.footer__copy a:hover{color:var(--gold)}
/* ---------- 16. ABOUT ---------- */
.about{position:relative;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:center;padding:clamp(5rem,10vw,10rem) var(--pad) clamp(2.5rem,5vw,5rem)}
.about::before{content:"";position:absolute;top:-10%;right:-10%;width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,rgba(54,158,148,.18),transparent 65%);filter:blur(60px);pointer-events:none;z-index:0}
.about > *{position:relative;z-index:1}
.about__media{overflow:hidden;height:90vh;border-radius:6px}
.about__media img{filter:grayscale(.15)}
.about__quote{font-family:var(--f-display);font-weight:500;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.12;letter-spacing:-.02em;margin:1.4rem 0 2rem}
.about__quote .word{display:inline-block}
.about__quote .word--accent{color:var(--gold)}
.about__body{color:var(--muted);max-width:46ch;margin-bottom:2rem;font-size:1.05rem}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .hero__bg::after{
    background:
      linear-gradient(90deg, rgba(9,9,9,.55) 0%, rgba(9,9,9,.55) 100%),
      linear-gradient(180deg, rgba(9,9,9,.65) 0%, rgba(9,9,9,0) 25%, rgba(9,9,9,0) 75%, rgba(9,9,9,.9) 100%);
  }
  .hero{height:80dvh}
  .nav__menu{display:none}
  .nav__cta{display:none}
  .nav__burger{display:flex}
  
  .horizon{display:flex;flex-direction:column;padding:clamp(4rem,10vw,6rem) 0}
  .horizon__intro--desktop{display:none}
  .horizon__intro--mobile{display:block;padding:0 var(--pad);margin-bottom:3rem;margin-top:2rem;width:100%}
  .horizon__intro--mobile .horizon__lead{font-size:clamp(3.5rem,10vw,5rem);line-height:.9}
  .horizon__track{width:100%;height:auto;padding:0 var(--pad);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
  .horizon__track::-webkit-scrollbar{display:none}
  .horizon__track .hpanel:first-of-type{margin-left:0}
  .hpanel{scroll-snap-align:center}
  
  .horizon__nav--mobile{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2rem;padding:0 var(--pad)}
  .hnav-btn{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--bone);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--ease)}
  .hnav-btn:hover{background:var(--gold);color:#000}
  .hnav-count{font-family:var(--f-display);font-size:1.2rem;letter-spacing:0.1em;color:var(--bone)}
  
  .trust{margin-bottom:clamp(4rem,10vw,6rem);border-bottom:0}
  .trust__grid{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .stat:nth-child(odd){border-left:0}
  .testi__stack{grid-template-columns:repeat(2,1fr);max-width:100%}
  .tcard{transform:none!important;min-height:auto}
  .why__grid{grid-template-columns:repeat(2,1fr)}
  .about{display:flex;justify-content:center;align-items:center;padding:clamp(3rem,8vw,5rem) var(--pad);min-height:80svh;overflow:hidden}
  .about::before{z-index:1;top:auto;bottom:-10%;right:-20%;width:70vw;height:70vw}
  .about__media{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;z-index:0}
  .about__media img{filter:grayscale(.2) brightness(.65);position:relative;height:130%;top:-15%}
  .about__text{position:relative;z-index:2;width:100%;max-width:600px;background:rgba(9,9,9,.3);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:clamp(3rem,8vw,5rem);box-shadow:inset 0 0 60px rgba(210,114,56,.06), 0 20px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:center}
  .footer__mail{font-size:clamp(1.2rem, 3vw, 2rem);word-break:break-word;}
}
@media(max-width:768px){
  .testi__stack{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .stat{text-align:center}
  .stat__num{font-size:1.6rem}
  .stat__label{font-size:0.8rem}
  .hero__cta .btn-pill{padding:.84rem 1.6rem;font-size:.67rem}
  .about__text{width:100%;padding:clamp(2rem,6vw,3rem)}
  .about__quote{font-size:1.4rem;margin:1rem 0 1.2rem}
  .about__body{font-size:.92rem;margin-bottom:1.5rem}
  .insta__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(150px,40vw)}
  .ig--wide{grid-column:span 2}
  .srv__row{grid-template-columns:auto 1fr auto;row-gap:.4rem}
  .srv__desc{display:none!important}
  .footer__top{grid-template-columns:1fr}
  .footer__contact{text-align:center}
  .footer__cta-row{justify-content:center}
  /* swap which nav-cols is shown */
  .footer__nav-cols--desktop{display:none !important}
  .footer__nav-cols--trio{display:flex !important}
  /* 3-in-a-row trio */
  .footer__trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-top:1.6rem;align-items:start;text-align:center}
  .footer__addr{justify-content:center;flex-direction:column;align-items:center;gap:.3rem}
  .footer__addr-icon{margin-top:0}
  .footer__contact-meta{flex-direction:column;align-items:center;gap:.3rem}
  .footer__meta-sep{display:none}
  .footer__nav-cols--trio{justify-content:center;gap:1rem;margin-top:0}
  .footer__news{text-align:center}
  .footer__news-copy{margin-left:auto;margin-right:auto}
  .news-form{margin:0 auto}
  .footer__bottom{flex-direction:column;align-items:center;gap:1rem;text-align:center}
  .footer__social{justify-content:center}
  .footer__copy{text-align:center}
  .step{grid-template-columns:1fr;gap:.4rem}
  .step__no{font-size:clamp(3rem,18vw,5rem)}
}
@media(max-width:560px){
  .hero{height:70dvh}
  .why__grid{grid-template-columns:1fr}
  .hero__scroll{display:none}
  .insta__grid{grid-template-columns:repeat(2,1fr)}
  .footer__top{grid-template-columns:1fr}
  .footer__trio{grid-template-columns:1fr}
  .footer__ornament{margin-bottom:2rem}
}
/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .hero__arrow::after{animation:none}
}

/* FOCUS */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

/* ---------- GALLERY DIALOG ---------- */
.gallery-dialog{border:0;background:0 0;margin:auto;padding:0;max-width:90vw;max-height:90vh;overflow:visible}
.gallery-dialog, .gallery-dialog *, .gallery-dialog::backdrop {cursor:auto!important}
.gallery-dialog__close, .gallery-dialog__close * {cursor:pointer!important}
.gallery-dialog::backdrop{background:rgba(9,9,9,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gallery-dialog__inner{position:relative;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.gallery-dialog__inner img{max-width:100%;max-height:70vh;object-fit:contain;background:#000}
.gallery-dialog__meta{padding:1.5rem;text-align:center}
.gallery-dialog__meta h3{font-family:var(--f-display);font-weight:500;font-size:1.5rem;color:var(--white);margin-bottom:.4rem}
.gallery-dialog__meta p{color:var(--muted);font-size:.95rem}
.gallery-dialog__close{position:absolute;top:-40px;right:-40px;width:40px;height:40px;border:0;background:0 0;color:var(--white);font-size:2.5rem;line-height:1;z-index:10;transition:color .3s}
.gallery-dialog__close:hover{color:var(--gold)}
@media(max-width:768px){
  .gallery-dialog{max-width:95vw}
  .gallery-dialog__close{top:-40px;right:0}
  .gallery-dialog__meta{padding:1rem}
  .gallery-dialog__meta h3{font-size:1.2rem}
  .gallery-dialog__meta p{font-size:.85rem}
}


/* Inner Page Modifiers */
.hero--inner { height: 40vh !important; min-height: 350px; }
.hero--inner .hero__inner { margin-top: 4rem; }

.page-hero {
  height: 55vh !important;
  min-height: 55vh !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.page-hero .hero__inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media(max-width: 768px) {
  .page-hero {
    height: 40vh !important;
    min-height: 40vh !important;
  }
}

/* --- ABOUT PAGE EXTRACTED STYLES --- */
@media (min-width: 901px) {
  /* Override the top margin set inline */
  .about--who { margin-top: clamp(3rem,5vw,5rem); align-items: center; }

  /* Image: keep landscape-ish, don't let it go portrait-tall */
  .about--who .about__media {
    max-height: 560px;
    align-self: center;
  }
  .about--who .about__media img {
    height: 100%;
    max-height: 560px;
    object-fit: cover;
    object-position: center;
  }

  /* Text column */
  .about--who__text {
    display: flex;
    flex-direction: column;
    gap: clamp(1.2rem,2vw,2rem);
    justify-content: center;
  }

  /* Heading — refined scale, not overwhelming */
  .about--who__title {
    font-family: var(--f-display);
    font-weight: 500;
    font-size: clamp(2.8rem,4.5vw,5rem);
    line-height: .95;
    letter-spacing: -.03em;
    color: var(--text);
    margin: 0;
  }
  .about--who__title em { color: var(--gold); font-style: normal; }

  /* Body area: text + CTA side by side on wide screens */
  .about--who__body {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
  }
  .about--who__body-text {
    font-size: clamp(.95rem,1.3vw,1.05rem);
    color: var(--muted);
    line-height: 1.85;
    max-width: 52ch;
    border-left: 2px solid rgba(201,169,110,.3);
    padding-left: 1.4rem;
  }
  .about--who__cta { align-self: flex-start; margin-top: .4rem; }
}

@media (max-width: 900px) {
  /* All section headings & kickers — center everything */
  #who-we-are .section-head,
  .seo-features .section-head,
  .seo-features .acc-sticky-desc,
  #why .section-head,
  #services .section-head {
    text-align: center !important;
    align-items: center !important;
  }
  #who-we-are .kicker,
  .seo-features .kicker,
  #why .kicker,
  #services .kicker {
    justify-content: center !important;
  }
  .seo-features .section-title,
  #services .section-title {
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Accordion specialty section right column */
  .acc-sticky-right { text-align: center !important; }
  .acc-sticky-desc { text-align: center !important; }
  .acc-sticky-desc p { margin-left: auto !important; margin-right: auto !important; }
  .acc-sticky-desc .btn-pill { display: inline-flex; }

  /* Why Choose Us — sub-headings */
  #why h3 { text-align: center; }

  /* About Who We Are — left-aligned kicker/title */
  .about--who__text .kicker { justify-content: center !important; }
  .about--who__title { text-align: center; }
  .about--who__body-text { border-left: none; padding-left: 0; border-top: 2px solid rgba(201,169,110,.3); padding-top: 1rem; }
  .about--who__cta { align-self: center; }
}

/* --- SERVICES PAGE EXTRACTED STYLES --- */
/* ── Intro ──────────────────────────────────────────── */
.srv-intro {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(4rem,8vw,8rem) var(--pad) clamp(2rem,4vw,4rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem,6vw,6rem);
  align-items: end;
  border-bottom: 1px solid var(--line);
}
.srv-intro__inner .section-title { max-width: none; margin-top: .8rem; }
.srv-intro__body {
  color: var(--muted);
  font-size: clamp(1rem,1.6vw,1.2rem);
  line-height: 1.8;
  max-width: 44ch;
  align-self: end;
  padding-bottom: .4rem;
}

/* ── Panel list ─────────────────────────────────────── */
.srv-panels { display: flex; flex-direction: column; }

/* ── Single panel ───────────────────────────────────── */
.srv-panel {
  display: grid;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  grid-template-columns: 55fr 45fr;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--line);
  padding: clamp(2.5rem,5vw,5rem) 0;
  max-width: var(--maxw);
  margin: 0 auto;
}
.srv-panel--flip { direction: rtl; }
.srv-panel--flip > * { direction: ltr; }

/* ── Image half — locked to 16:9 landscape ──────────── */
.srv-panel__img {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  flex-shrink: 0;
}
.srv-panel__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(.15) brightness(.9);
  transform: scale(1.04);
  transition: transform 1.2s var(--ease), filter 1s var(--ease);
}
.srv-panel:hover .srv-panel__img img {
  transform: scale(1.0);
  filter: grayscale(0) brightness(1);
}
.srv-panel__img-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 55%, rgba(9,9,9,.6) 100%),
    linear-gradient(180deg, rgba(9,9,9,.25) 0%, transparent 45%);
  z-index: 1;
  transition: opacity .6s var(--ease);
}
.srv-panel--flip .srv-panel__img-overlay {
  background:
    linear-gradient(270deg, transparent 55%, rgba(9,9,9,.6) 100%),
    linear-gradient(180deg, rgba(9,9,9,.25) 0%, transparent 45%);
}
.srv-panel:hover .srv-panel__img-overlay { opacity: .5; }
.srv-panel__idx-bg {
  position: absolute;
  bottom: -.12em;
  right: .05em;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: clamp(6rem,12vw,11rem);
  line-height: 1;
  letter-spacing: -.04em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(201,169,110,.18);
  z-index: 2;
  pointer-events: none;
  user-select: none;
}

/* ── Text half ──────────────────────────────────────── */
.srv-panel__text {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(3rem,6vw,6rem) clamp(2rem,5vw,6rem);
  background: var(--bg);
  position: relative;
}
.srv-panel__text::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(201,169,110,.04), transparent 70%);
  pointer-events: none;
}
.srv-panel__text-inner {
  position: relative;
  max-width: 46ch;
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem,2vw,2rem);
}

.srv-panel__kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.srv-panel__num {
  font-family: var(--f-display);
  font-size: clamp(2.5rem,4vw,3.8rem);
  font-weight: 400;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(201,169,110,.5);
  letter-spacing: -.02em;
  flex-shrink: 0;
  transition: color .5s var(--ease), -webkit-text-stroke-color .5s;
}
.srv-panel:hover .srv-panel__num {
  color: var(--gold);
  -webkit-text-stroke-color: var(--gold);
}
.srv-panel__line {
  width: 40px;
  height: 1px;
  background: var(--gold);
  opacity: .5;
  flex-shrink: 0;
}

.srv-panel__title {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(2rem,4vw,3.8rem);
  line-height: .95;
  letter-spacing: -.03em;
  color: var(--text);
  transition: transform .6s var(--ease);
}
.srv-panel:hover .srv-panel__title { transform: translateX(8px); }

.srv-panel__desc {
  font-size: clamp(.9rem,1.4vw,1.05rem);
  color: var(--muted);
  line-height: 1.8;
  max-width: 42ch;
}

/* ── Outer wrapper for edge padding ─────────────────── */
.srv-panels { padding: 0 var(--pad); }

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 900px) {
  .srv-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .srv-intro__body { max-width: none; }
  .srv-panels { padding: 0; }
  .srv-panel {
    grid-template-columns: 1fr;
    direction: ltr !important;
    padding: clamp(2rem,5vw,3rem) var(--pad);
    max-width: none;
  }
  .srv-panel--flip > * { direction: ltr; }
  .srv-panel__img { border-radius: 6px; }
  .srv-panel__idx-bg { display: none; }
  .srv-panel__text { padding: clamp(1.5rem,4vw,2.5rem) 0 0; justify-content: flex-start; }
  .srv-panel__text-inner { max-width: none; }
  .srv-panel__title { font-size: clamp(1.8rem,6vw,2.8rem); }
}
@media (max-width: 560px) {
  .srv-panel__num { font-size: 2.2rem; }
}

/* --- SERVICE-SHOW PAGE EXTRACTED STYLES --- */
.mice-marquee-wrap {
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg-2);
  padding: clamp(1rem,2vw,1.8rem) 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.mice-row { overflow: hidden; padding: 1.2rem 0; }
.mice-row + .mice-row { border-top: 1px solid var(--line); }
.mice-inner {
  display: flex; align-items: center;
  white-space: nowrap; width: max-content;
  will-change: transform;
}
.mice-item {
  font-family: var(--f-display);
  font-weight: 400;
  font-size: clamp(2rem,4vw,3.6rem);
  line-height: 1;
  letter-spacing: -.025em;
  padding: .55rem 1.8rem;
  color: var(--text);
}
.mice-sep { color: var(--gold); font-size: .9rem; opacity: .5; flex-shrink: 0; }

.rich-text-content {
  font-size: 1.1rem;
  line-height: 2;
  color: rgba(245, 245, 245, 0.72);
}
.rich-text-content p {
  margin-bottom: 2rem;
}
.rich-text-content p:first-of-type {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  color: var(--white);
  font-family: var(--f-display);
  line-height: 1.7;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  font-weight: 400;
}
.rich-text-content p:last-child { margin-bottom: 0; }
.rich-text-content h2,
.rich-text-content h3 {
  font-family: var(--f-display);
  font-weight: 500;
  color: var(--white);
  margin: 2.5rem 0 1rem;
  letter-spacing: -.01em;
  line-height: 1.1;
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.5rem;
  margin-bottom: 2rem;
  color: rgba(245, 245, 245, 0.72);
}
.rich-text-content li { margin-bottom: .6rem; line-height: 1.8; }
.rich-text-content strong { color: var(--white); font-weight: 500; }
.rich-text-content em { color: var(--gold); font-style: italic; }

.svc-process .process__list { padding-bottom: clamp(1.5rem,3vw,3rem); }

.svc-work__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.svc-work__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(.5) brightness(.27) saturate(.7);
}
.svc-work__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, var(--bg) 0%, transparent 10%, transparent 90%, var(--bg) 100%),
    linear-gradient(90deg, rgba(9,9,9,.75) 0%, rgba(9,9,9,.4) 50%, rgba(9,9,9,.75) 100%),
    rgba(9,9,9,.5);
}

.svc-work__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem,2vw,2rem);
  padding: 0 var(--pad) clamp(4rem,8vw,6rem);
}
.svc-proj {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.svc-proj__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.svc-proj__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(.2);
  transform: scale(1.03);
  transition: transform 1.1s var(--ease), filter .8s var(--ease);
}
.svc-proj:hover .svc-proj__media img {
  transform: scale(1.08);
  filter: grayscale(0);
}
.svc-proj__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(9,9,9,.7) 100%);
  z-index: 1;
}
.svc-proj__info {
  padding: 1.4rem 1.6rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.svc-proj__cat {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}
.svc-proj__title {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(1rem,1.6vw,1.3rem);
  letter-spacing: -.01em;
  color: var(--white);
  line-height: 1.2;
}
.tcard__avatar {
  width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0;
  background: rgba(201, 169, 110, .15);
  display: grid; place-items: center;
  font-family: var(--f-display); font-size: 1.3rem; color: var(--gold);
}

@media (max-width: 768px) {
  /* description grid */
  .svc-desc-grid { grid-template-columns: 1fr !important; }
  .svc-desc-sticky { position: static !important; }

  /* stats bar → 2×2 */
  .trust__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .trust__grid .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .trust__grid .stat:nth-child(odd)  { border-left: 0 !important; }

  /* featured work → 1 per row */
  .svc-work__list { grid-template-columns: 1fr !important; }

  /* marquee → smaller text */
  .mice-item { font-size: clamp(1.2rem, 5vw, 1.8rem) !important; padding: .4rem 1rem !important; }
}

/* --- PORTFOLIO-SHOW PAGE EXTRACTED STYLES --- */
/* ---- Hero index badge ---- */
.pf-index {
  position: absolute;
  right: clamp(1.5rem, 4vw, 4rem);
  bottom: clamp(2rem, 5vw, 4rem);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--f-display);
  font-size: .85rem;
  letter-spacing: .1em;
  color: var(--muted);
}
.pf-index em {
  font-style: normal;
  color: var(--gold);
  font-size: 1.4rem;
}
.pf-index i {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--line);
  font-style: normal;
}

/* ---- Marquee strip ---- */
.pf-strip {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--bg-2);
  padding: clamp(1rem, 2.2vw, 1.5rem) 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.pf-strip__track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  width: max-content;
  animation: pf-marquee 26s linear infinite;
}
.pf-strip__item {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(1.4rem, 3vw, 2.4rem);
  letter-spacing: -.02em;
  padding: 0 1.4rem;
  color: var(--text);
}
.pf-strip__item--outline {
  color: transparent;
  -webkit-text-stroke: 1px rgba(245, 245, 245, .3);
}
.pf-strip__sep { color: var(--gold); opacity: .55; font-size: .8rem; flex-shrink: 0; }
@keyframes pf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---- Drop cap on first paragraph ---- */
.pf-dropcap p:first-of-type::first-letter {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: 4.2rem;
  line-height: .8;
  float: left;
  padding: .1rem .7rem 0 0;
  color: var(--gold);
}

/* ---- Pull quote ---- */
.pf-pullquote {
  position: relative;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  padding-left: 2rem;
  border-left: 2px solid var(--gold);
  font-family: var(--f-display);
  font-style: italic;
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  line-height: 1.5;
  color: var(--white);
}
.pf-pullquote__mark {
  display: block;
  font-family: var(--f-display);
  font-style: normal;
  font-size: 3rem;
  line-height: 1;
  color: var(--gold);
  opacity: .6;
  margin-bottom: .2rem;
}

/* ---- The Film: text-left / video-right ---- */
.pf-film__grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}

/* ---- Moments from the event (alternating image/text rows) ---- */
.pf-moment {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
}
.pf-moment + .pf-moment { border-top: 1px solid var(--line); }
.pf-moment--rev { grid-template-columns: .9fr 1.1fr; }
.pf-moment--rev .pf-moment__media { order: 2; }
.pf-moment--rev .pf-moment__text { order: 1; }
.pf-moment__media {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 4/3;
}
.pf-moment__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.1s var(--ease);
}
.pf-moment:hover .pf-moment__media img { transform: scale(1.06); }
.pf-moment__no {
  display: block;
  font-family: var(--f-display);
  font-size: .85rem;
  letter-spacing: .15em;
  color: var(--gold);
  opacity: .8;
  margin-bottom: 1rem;
}
.pf-moment__text h3 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: -.02em;
  color: var(--white);
  margin-bottom: 1rem;
}
.pf-moment__text p {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(245, 245, 245, .68);
  max-width: 42ch;
}

/* ---- Quick facts row ---- */
.pf-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-bottom: 2rem;
}
.pf-fact { display: flex; flex-direction: column; gap: .4rem; }
.pf-fact__label {
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
}
.pf-fact__value {
  font-family: var(--f-display);
  font-size: 1rem;
  color: var(--gold);
}

/* ---- Video corner frame ---- */
.pf-video-frame { position: relative; }
.pf-corner {
  position: absolute;
  width: 34px;
  height: 34px;
  border-color: var(--gold);
  opacity: .65;
  z-index: 2;
  pointer-events: none;
}
.pf-corner--tl { top: -14px; left: -14px; border-top: 2px solid; border-left: 2px solid; }
.pf-corner--tr { top: -14px; right: -14px; border-top: 2px solid; border-right: 2px solid; }
.pf-corner--bl { bottom: -14px; left: -14px; border-bottom: 2px solid; border-left: 2px solid; }
.pf-corner--br { bottom: -14px; right: -14px; border-bottom: 2px solid; border-right: 2px solid; }

/* ---- Related work extras ---- */
.related-idx {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  z-index: 1;
  font-family: var(--f-display);
  font-size: .8rem;
  letter-spacing: .1em;
  color: var(--gold);
  opacity: .85;
}
.related-arrow {
  display: inline-block;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .4s var(--ease), transform .4s var(--ease);
  color: var(--gold);
}
.related-card:hover .related-arrow { opacity: 1; transform: translateX(0); }



.related-card:hover img { transform: scale(1.06); }

@media (max-width: 768px) {
  .svc-desc-grid { grid-template-columns: 1fr !important; }
  .svc-desc-sticky { position: static !important; }
  .pf-index { display: none; }
  .pf-facts { gap: 1.4rem; }

  .pf-film__grid { grid-template-columns: 1fr !important; }

  .pf-moment,
  .pf-moment--rev { grid-template-columns: 1fr !important; }
  .pf-moment--rev .pf-moment__media,
  .pf-moment--rev .pf-moment__text { order: initial !important; }
}

/* --- PLAN PAGE EXTRACTED STYLES --- */
.plan-hero {
  height: 90vh !important;
  min-height: 90vh !important;
  align-items: stretch !important;
}

.plan-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 180px 2rem 4rem; /* Increased top padding to push down from navbar */
  position: relative;
  z-index: 2;
  width: 100%;
}

.plan-header {
  width: 100%;
  max-width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
  opacity: 0; /* Hidden by default for intro */
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.plan-progress-container {
  flex-grow: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  margin-right: 2rem;
  position: relative;
}

.plan-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--gold);
  width: 0%;
  transition: width 0.4s ease;
}

.plan-step-counter {
  font-family: 'Inter', sans-serif;
  color: var(--gold);
  font-size: 0.9rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
}

.plan-form {
  width: 100%;
  max-width: 90%;
  display: grid;
  grid-template-columns: 1fr;
}

.plan-step {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.plan-step.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.plan-intro-title {
  font-family: var(--f-display);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 2rem;
  color: var(--gold);
  text-align: center;
  width: 100%;
}

.plan-question {
  font-family: var(--f-display);
  font-size: clamp(1.8rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 2rem;
  color: #F5F5F5;
}

.plan-input, .plan-textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.2rem, 3vw, 2rem);
  padding: 1rem 0;
  margin-bottom: 3rem;
  transition: border-color 0.3s ease;
  border-radius: 0;
}

/* Fix for browser autofill background */
.plan-input:-webkit-autofill,
.plan-input:-webkit-autofill:hover, 
.plan-input:-webkit-autofill:focus, 
.plan-input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 50px #090909 inset !important;
    -webkit-text-fill-color: white !important;
    transition: background-color 5000s ease-in-out 0s;
}

.plan-textarea {
  resize: vertical;
  min-height: 100px;
}

.plan-input:focus, .plan-textarea:focus {
  outline: none;
  border-color: var(--gold);
}

.plan-input::placeholder, .plan-textarea::placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.plan-options {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 3rem;
}

.plan-option {
  cursor: pointer;
}

.plan-option input {
  display: none;
}

.plan-option span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  color: #fff;
  transition: all 0.3s ease;
}

.plan-option input:checked + span {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

.plan-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin-top: auto;
}

.plan-error {
  color: #e74c3c;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  margin-top: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.plan-error.is-visible {
  opacity: 1;
}

.plan-step-thanks {
  text-align: center;
  align-items: center;
  justify-content: center;
}

.plan-step-thanks .plan-question {
  margin-bottom: 1.5rem;
  color: var(--gold);
}

.plan-desc {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 3rem;
  max-width: 600px;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .plan-hero {
    height: auto !important;
    min-height: 70vh !important;
  }
  .plan-wrapper {
    padding: 160px 1.5rem 3rem;
  }
  .plan-question {
    margin-bottom: 1.5rem;
  }
  .plan-input, .plan-textarea {
    margin-bottom: 1.5rem;
  }
  .plan-options {
    margin-bottom: 1.5rem;
  }
  .plan-actions {
    width: 100%;
  }
  .plan-actions .btn-pill {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* --- CONTACT PAGE EXTRACTED STYLES --- */
/* ── Contact left column ───────────────────────── */
.contact-info {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(2.5rem,5vw,4rem);
  overflow: hidden;
}

/* Watermark */
.contact-info__watermark {
  position: absolute;
  top: -.15em; left: -.05em;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: clamp(10rem,22vw,20rem);
  line-height: 1;
  letter-spacing: -.05em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(201,169,110,.1);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.contact-info__top,
.contact-info__details { position: relative; z-index: 1; }

/* Heading */
.contact-info__heading {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(2.2rem,3.8vw,4rem);
  line-height: .97;
  letter-spacing: -.03em;
  color: var(--text);
  margin: 1rem 0 1.4rem;
}
.contact-info__heading em { color: var(--gold); font-style: normal; }

.contact-info__sub {
  color: var(--muted);
  font-size: clamp(.9rem,1.3vw,1rem);
  line-height: 1.8;
  max-width: 38ch;
}

/* Detail rows */
.contact-info__details {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--line);
}
.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line);
}
.contact-detail__label {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  flex-shrink: 0;
  width: 52px;
  padding-top: .15em;
}
.contact-detail__value {
  font-size: clamp(.88rem,1.2vw,.95rem);
  color: var(--muted);
  line-height: 1.65;
  font-style: normal;
}
.contact-detail__link {
  color: var(--text);
  text-decoration: none;
  transition: color .3s;
  text-transform: lowercase;
}
.contact-detail__link:hover { color: var(--gold); }

/* ── Responsive ──────────────────────────────── */
@media (max-width: 900px) {
  .contact-info__watermark { font-size: clamp(8rem,30vw,14rem); }
  .contact-info__heading { font-size: clamp(2rem,7vw,3rem); }
  .contact-info__sub { max-width: none; }
}

.map-wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(3rem,6vw,6rem) var(--pad) clamp(4rem,8vw,8rem);
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
}
.map-wrap__title {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(2rem,3.5vw,3.5rem);
  line-height: .97;
  letter-spacing: -.03em;
  color: var(--text);
  margin: 1rem 0 1.4rem;
}
.map-wrap__title em { color: var(--gold); font-style: normal; }
.map-wrap__addr {
  font-style: normal;
  color: var(--muted);
  font-size: clamp(.88rem,1.2vw,.95rem);
  line-height: 1.8;
  border-left: 2px solid rgba(201,169,110,.3);
  padding-left: 1rem;
}

/* Frame */
.map-wrap__frame {
  position: relative;
  height: clamp(280px,40vh,480px);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
}
.map-wrap__frame iframe {
  width: 100%; height: 100%;
  border: none;
  filter: grayscale(1) contrast(1.1) brightness(.85);
  transition: filter .6s;
}
.map-wrap__frame:hover iframe { filter: grayscale(.4) contrast(1.05) brightness(.95); }

/* Subtle gold corner accent */
.map-wrap__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(201,169,110,.06) 0%, transparent 40%),
    linear-gradient(315deg, rgba(9,9,9,.3) 0%, transparent 40%);
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 860px) {
  .map-wrap { grid-template-columns: 1fr; }
  .map-wrap__title { font-size: clamp(1.8rem,6vw,2.6rem); }
}

/* --- HOME PAGE EXTRACTED STYLES --- */
@media (min-width: 769px) {
  .about__media--home {
    height: auto;
    max-height: 580px;
    align-self: stretch;
  }
  .about__media--home img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.home-vids { position: relative; overflow: hidden; }
.home-vids__bg {
  position: absolute; inset: 0; z-index: 0;
}
.home-vids__bg img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.3) saturate(.7);
}
.home-vids__overlay {
  position: absolute; inset: 0; z-index: 0;
  background:
    linear-gradient(180deg, var(--bg) 0%, transparent 8%, transparent 92%, var(--bg) 100%),
    rgba(9,9,9,.95);
}
.home-vids .section-head { position: relative; z-index: 1; }

.home-vids__grid {
  position: relative; z-index: 1;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad) clamp(3rem,6vw,6rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem,2vw,2rem);
}

.home-vid-card { display: flex; flex-direction: column; gap: .8rem; }

.home-vid-card__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
}
.home-vid-card__frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none;
}

.home-vid-card__placeholder {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
}
.home-vid-card__placeholder img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.65);
  transition: filter .5s;
}
.home-vid-card:hover .home-vid-card__placeholder img { filter: brightness(.8); }

.home-vid-card__play-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.home-vid-card__play-btn {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: rgba(201,169,110,.15);
  border: 1.5px solid rgba(201,169,110,.5);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  transition: background .4s, transform .4s;
  backdrop-filter: blur(6px);
}
.home-vid-card:hover .home-vid-card__play-btn {
  background: rgba(201,169,110,.28);
  transform: scale(1.08);
}

.home-vid-card__label {
  font-size: clamp(.78rem,1.1vw,.9rem);
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 0 .25rem;
}

@media (max-width: 768px) {
  .home-vids__grid { grid-template-columns: 1fr; }
}

.reel__media--video {
  position: absolute; inset: 0;
  pointer-events: none; overflow: hidden;
}
.reel__media--video iframe {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 177.78vh;
  height: 100%;
  min-width: 100%;
  min-height: 56.25vw;
  border: none;
}

/* ── Controls bar ──────────────────────── */
.reel-controls {
  position: absolute;
  bottom: clamp(1.5rem,3vw,2.5rem);
  right: clamp(1.5rem,3vw,3rem);
  z-index: 10;
  display: flex;
  gap: .6rem;
  align-items: center;
}
.reel-btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(201,169,110,.45);
  background: rgba(9,9,9,.45);
  backdrop-filter: blur(8px);
  color: var(--gold);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .3s, border-color .3s, transform .25s;
  flex-shrink: 0;
}
.reel-btn:hover {
  background: rgba(201,169,110,.18);
  border-color: var(--gold);
  transform: scale(1.08);
}
.reel-btn__icon { width: 18px; height: 18px; display: block; }