:root{
  --bg:#050505;--bg2:#0a0a0b;--panel:#101011;--panel2:#151516;--ink:#f6f1e7;--muted:#aaa49b;
  --gold:#c9a764;--gold2:#e0c27f;--line:rgba(229,205,155,.18);--line2:rgba(255,255,255,.1);
  --green:#25D366;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;
  --max:1240px;--header:84px;--ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open,body.panel-open{overflow:hidden}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--gold);color:#111;padding:10px 15px;border-radius:8px}.skip-link:focus{top:12px}
::selection{background:var(--gold);color:#111}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.narrow{width:min(820px,calc(100% - 48px));margin-inline:auto}.eyebrow{display:block;color:var(--gold2);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0 0 15px}.section{padding:112px 0;position:relative}.section-dark{background:#080809}.section-alt{background:#0c0c0d}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:48px}.section-head h2,.display-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.92;letter-spacing:-.035em;margin:0}.section-head p{max-width:560px;color:var(--muted);margin:0}.lede{font-size:clamp(1.05rem,2vw,1.3rem);color:#ccc6bb;max-width:720px}.gold{color:var(--gold2)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.line{height:1px;background:var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.35s var(--ease);cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#0b0b0b}.btn-gold:hover{background:var(--gold2);box-shadow:0 16px 40px rgba(201,167,100,.18)}.btn-outline{border-color:rgba(255,255,255,.3);background:rgba(0,0,0,.16);backdrop-filter:blur(8px)}.btn-outline:hover{border-color:var(--gold);color:var(--gold2)}.btn-small{min-height:44px;padding:0 18px;font-size:.72rem}.btn-block{width:100%}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.text-link::after{content:'↗';transition:transform .2s}.text-link:hover::after{transform:translate(3px,-3px)}
/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:120;height:var(--header);transition:.35s var(--ease);border-bottom:1px solid transparent}.site-header.scrolled{background:rgba(5,5,5,.88);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}.nav-shell{height:100%;width:min(1440px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:192px;display:block;flex:0 0 auto}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:26px}.desktop-nav a{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#ccc7be;position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--gold);transition:.28s var(--ease)}.desktop-nav a:hover,.desktop-nav a.is-active{color:#fff}.desktop-nav a:hover::after,.desktop-nav a.is-active::after{right:0}.nav-actions{display:flex;align-items:center;gap:10px}.event-cart-trigger{border:0;background:none;color:#d8d2c9;display:flex;align-items:center;gap:7px;font-size:.67rem;font-weight:700;letter-spacing:.12em;cursor:pointer;padding:10px}.event-cart-trigger b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--gold);color:#111;font-size:.68rem}.menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(0,0,0,.25);place-items:center;cursor:pointer;position:relative}.menu-toggle span{position:absolute;width:18px;height:1px;background:#fff;transition:.3s}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:#070707;z-index:110;visibility:hidden;opacity:0;transition:.35s;display:flex;align-items:center;padding:100px 6vw 40px}.mobile-menu.open{visibility:visible;opacity:1}.mobile-menu-inner{display:flex;flex-direction:column;width:100%;max-width:600px}.mobile-menu-inner>a{font-family:var(--serif);font-size:clamp(2.5rem,10vw,4.3rem);line-height:1.03;padding:4px 0}.mobile-menu-contact{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem}
/* Cart */
.event-cart-panel{position:fixed;right:0;top:0;bottom:0;width:min(450px,92vw);background:#0b0b0c;z-index:300;transform:translateX(105%);transition:.45s var(--ease);padding:32px;display:flex;flex-direction:column;border-left:1px solid var(--line)}.event-cart-panel.open{transform:none}.event-cart-head{display:flex;align-items:start;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line)}.event-cart-head h3{font-family:var(--serif);font-size:2.5rem;font-weight:500;margin:0}.event-cart-head button{border:1px solid var(--line2);background:none;width:42px;height:42px;border-radius:50%;font-size:1.5rem;cursor:pointer}.event-cart-items{display:flex;flex-direction:column;gap:10px;padding:24px 0;overflow:auto}.event-cart-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border:1px solid var(--line2);border-radius:12px;background:#111}.event-cart-item strong{font-size:.9rem}.event-cart-item button{border:0;background:none;color:#a9a49b;cursor:pointer}.event-cart-empty{color:var(--muted);padding:26px 0}.event-cart-panel>.btn{margin-top:auto}.page-scrim{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:250;opacity:0;visibility:hidden;transition:.3s}.page-scrim.open{opacity:1;visibility:visible}
/* Hero */
.hero{height:max(760px,100svh);position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#050505}.hero-media{position:absolute;inset:0}.hero-media video,.hero-media>img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.28) 40%,rgba(0,0,0,.88) 94%),linear-gradient(90deg,rgba(0,0,0,.35),transparent 60%)}.hero-glow{position:absolute;width:45vw;height:45vw;left:-15vw;bottom:-22vw;border-radius:50%;background:rgba(201,167,100,.14);filter:blur(110px)}.hero-content{position:relative;z-index:3;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:0 0 88px}.hero h1{font-family:var(--serif);font-size:clamp(4.1rem,10.6vw,9.8rem);font-weight:500;line-height:.78;letter-spacing:-.055em;margin:0;max-width:1050px;text-wrap:balance}.hero h1 em{font-style:italic;color:var(--gold2);font-weight:500}.hero-bottom{display:grid;grid-template-columns:minmax(0,620px) auto;gap:42px;align-items:end;margin-top:38px}.hero-bottom p{margin:0;color:#d1cbc2;font-size:1.06rem;max-width:590px}.hero-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.hero-scroll{position:absolute;right:28px;bottom:96px;z-index:3;writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.2em;color:rgba(255,255,255,.6);text-transform:uppercase;display:flex;align-items:center;gap:12px}.hero-scroll::after{content:'';height:70px;width:1px;background:linear-gradient(var(--gold),transparent)}
/* Marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:#080808;padding:15px 0}.marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite}.marquee-track span{font-family:var(--serif);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;padding:0 26px;color:#ded7cb}.marquee-track i{color:var(--gold);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
/* Cards */
.effects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.effect-card{grid-column:span 4;position:relative;min-height:500px;border:1px solid var(--line2);overflow:hidden;background:#111;isolation:isolate}.effect-card:nth-child(1),.effect-card:nth-child(5){grid-column:span 8}.effect-card-media{position:absolute;inset:0}.effect-card-media img,.effect-card-media video{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.82)}.effect-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(0,0,0,.82) 100%);z-index:1}.effect-card:hover .effect-card-media img,.effect-card:hover .effect-card-media video{transform:scale(1.035)}.effect-card-content{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.effect-card-index{font-size:.68rem;letter-spacing:.18em;color:var(--gold2);margin-bottom:6px}.effect-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.3rem);font-weight:500;line-height:.95;margin:0 0 10px}.effect-card p{font-size:.87rem;color:#d4d0c8;max-width:460px;margin:0 0 18px}.effect-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.effect-card .add-effect{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;cursor:pointer;font-size:1.25rem;transition:.25s}.effect-card .add-effect:hover,.effect-card .add-effect.added{background:var(--gold);color:#111;border-color:var(--gold)}
/* Showreel */
.showreel{position:relative;height:min(78vw,820px);min-height:520px;overflow:hidden}.showreel video,.showreel img{width:100%;height:100%;object-fit:cover}.showreel::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.35)}.showreel-copy{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}.showreel-copy h2{font-family:var(--serif);font-size:clamp(4rem,12vw,10rem);font-weight:500;line-height:.78;margin:0;text-shadow:0 2px 20px rgba(0,0,0,.45)}.showreel-copy small{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);margin-bottom:22px}
/* Moment chooser */
.moment-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.moment-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}.moment-tab{background:none;border:0;border-bottom:1px solid var(--line);color:#7e7a74;padding:21px 0;text-align:left;font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);line-height:1;cursor:pointer;transition:.25s}.moment-tab:hover,.moment-tab.active{color:var(--ink);padding-left:12px}.moment-tab.active::before{content:'✦';color:var(--gold);font-family:var(--sans);font-size:.6em;margin-right:12px;vertical-align:.14em}.moment-result{position:sticky;top:112px;background:#0e0e0f;border:1px solid var(--line);padding:44px;min-height:460px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.moment-result::before{content:'';position:absolute;inset:-15% -20% auto auto;width:320px;height:320px;border-radius:50%;background:rgba(201,167,100,.1);filter:blur(80px)}.moment-result h3{font-family:var(--serif);font-size:3.7rem;line-height:.92;font-weight:500;margin:0 0 16px}.moment-result p{color:var(--muted);max-width:520px}.recommendations{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 28px}.recommendations span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.76rem;color:#dfd9d0}
/* Work / experiences */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-card{position:relative;min-height:570px;overflow:hidden;border:1px solid var(--line2)}.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.work-card:hover img{transform:scale(1.04)}.work-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.9))}.work-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:26px}.work-copy small{color:var(--gold2);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}.work-copy h3{font-family:var(--serif);font-size:2.6rem;font-weight:500;margin:5px 0 8px;line-height:1}.work-copy p{color:#d3cfc7;font-size:.88rem;margin:0 0 16px}.work-services{display:flex;gap:6px;flex-wrap:wrap}.work-services span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.24);padding:6px 9px;border-radius:999px}
/* Process */
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step{padding:34px 24px 38px;border-right:1px solid var(--line);min-height:230px}.process-step:last-child{border-right:0}.process-step b{display:block;color:var(--gold2);font-size:.68rem;letter-spacing:.18em;margin-bottom:68px}.process-step h3{font-family:var(--serif);font-weight:500;font-size:1.75rem;line-height:1;margin:0 0 10px}.process-step p{font-size:.82rem;color:var(--muted);margin:0}
/* Split editorial */
.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}.editorial-media{min-height:620px;background:#111}.editorial-media img{width:100%;height:100%;object-fit:cover}.editorial-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.editorial-copy h2{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:.88;margin:0 0 28px}.editorial-copy p{color:var(--muted);max-width:580px}.bullet-list{display:grid;gap:12px;margin:24px 0 30px}.bullet-list div{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.bullet-list span{color:var(--gold)}
/* Instagram/gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery-card{grid-column:span 4;aspect-ratio:1/1;position:relative;overflow:hidden;background:#111;border:1px solid var(--line2);cursor:pointer}.gallery-card:nth-child(5n+1){grid-column:span 8;aspect-ratio:2/1}.gallery-card img,.gallery-card video{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}.gallery-card:hover img,.gallery-card:hover video{transform:scale(1.04)}.gallery-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72))}.gallery-meta{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;justify-content:space-between;align-items:end}.gallery-meta strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.gallery-meta small{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2)}.gallery-play{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.25);backdrop-filter:blur(6px)}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.gallery-filter{border:1px solid var(--line2);background:#0e0e0e;color:#b9b4ac;border-radius:999px;padding:9px 15px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.gallery-filter.active,.gallery-filter:hover{border-color:var(--gold);color:var(--gold2)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:500;display:none;align-items:center;justify-content:center;padding:70px 4vw}.lightbox.open{display:flex}.lightbox-media{max-width:1150px;max-height:84vh;width:100%;height:100%;display:grid;place-items:center}.lightbox img,.lightbox video{max-width:100%;max-height:84vh;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:22px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#111;color:#fff;font-size:1.4rem;cursor:pointer}
/* Quotes / forms */
.quote-hero{padding:160px 0 60px;background:radial-gradient(circle at 80% 20%,rgba(201,167,100,.11),transparent 32%),#070707}.quote-hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(4rem,9vw,8rem);font-weight:500;line-height:.82;letter-spacing:-.045em;margin:0;max-width:1050px}.page-hero{padding:180px 0 86px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 70% 30%,rgba(201,167,100,.09),transparent 32%),#060606}.page-hero p{max-width:700px;color:var(--muted);font-size:1.05rem;margin-top:28px}.quote-shell{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:start}.quote-progress{position:sticky;top:120px}.quote-progress-item{display:flex;gap:12px;align-items:center;padding:13px 0;color:#6f6b65;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line)}.quote-progress-item b{width:28px;height:28px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font-size:.66rem}.quote-progress-item.active{color:#fff}.quote-progress-item.active b{background:var(--gold);color:#111;border-color:var(--gold)}.quote-card{border:1px solid var(--line);background:#0b0b0c;padding:clamp(24px,5vw,60px)}.quote-step{display:none}.quote-step.active{display:block;animation:fadeUp .45s var(--ease)}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.quote-step h2{font-family:var(--serif);font-size:clamp(2.7rem,6vw,4.8rem);font-weight:500;line-height:.9;margin:0 0 14px}.quote-step>.muted{margin-bottom:32px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#c8c1b7}.field input,.field select,.field textarea{width:100%;border:1px solid #292929;background:#101011;color:#fff;padding:15px 16px;border-radius:0;outline:0;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:120px;resize:vertical}.field small{font-size:.72rem;color:#7f7a73}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{border:1px solid #292929;background:#0f0f10;min-height:90px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:.22s}.choice label strong{font-family:var(--serif);font-size:1.5rem;font-weight:500}.choice label::after{content:'+';width:30px;height:30px;border:1px solid #444;border-radius:50%;display:grid;place-items:center}.choice input:checked+label{border-color:var(--gold);background:rgba(201,167,100,.08)}.choice input:checked+label::after{content:'✓';background:var(--gold);color:#111;border-color:var(--gold)}.quote-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px}.quote-summary{border:1px solid var(--line);padding:20px;margin-top:26px;background:#090909}.quote-summary h4{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin:0 0 10px}.form-alert{padding:13px 15px;border:1px solid rgba(255,93,93,.35);color:#ffc1c1;background:rgba(255,0,0,.06);margin-bottom:18px;display:none}.form-alert.show{display:block}.success-panel{text-align:center;padding:30px 10px}.success-panel h2{font-family:var(--serif);font-size:4rem;font-weight:500;margin:10px 0}.success-ref{display:inline-block;border:1px solid var(--gold);color:var(--gold2);padding:10px 18px;margin:12px 0 26px;letter-spacing:.12em}
/* Service detail */
.service-hero{min-height:790px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.service-hero-media{position:absolute;inset:0}.service-hero-media img,.service-hero-media video{width:100%;height:100%;object-fit:cover}.service-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.84) 90%)}.service-hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:auto;padding:150px 0 75px}.service-hero h1{font-family:var(--serif);font-size:clamp(5rem,13vw,12rem);font-weight:500;line-height:.7;letter-spacing:-.05em;margin:0}.service-hero p{max-width:650px;color:#ddd5ca;margin:34px 0 0;font-size:1.06rem}.service-info-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.service-info-grid h2{font-family:var(--serif);font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:.92;margin:0}.service-info-grid .lede{margin-top:22px}.perfect-for{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.perfect-for div{padding:18px 0;border-bottom:1px solid var(--line);font-size:.84rem}.perfect-for div::before{content:'✦';color:var(--gold);margin-right:10px}.safety-note{margin-top:34px;padding:20px;border-left:2px solid var(--gold);background:#0d0d0e;color:var(--muted);font-size:.88rem}
/* Journal */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{border:1px solid var(--line);background:#0b0b0c;overflow:hidden}.blog-card-media{aspect-ratio:16/10;overflow:hidden;background:#111}.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}.blog-card:hover img{transform:scale(1.035)}.blog-card-body{padding:24px}.blog-card small{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}.blog-card h2,.blog-card h3{font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1;margin:10px 0 12px}.blog-card p{color:var(--muted);font-size:.88rem;margin:0 0 18px}.article-hero{padding:160px 0 60px}.article-hero h1{font-family:var(--serif);font-size:clamp(3.4rem,7vw,6.8rem);line-height:.88;font-weight:500;max-width:1000px;margin:0}.article-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin-top:26px}.article-cover{width:min(1320px,calc(100% - 32px));margin:0 auto 70px;max-height:760px;overflow:hidden}.article-cover img{width:100%;height:100%;object-fit:cover}.article-body{width:min(760px,calc(100% - 44px));margin:0 auto 110px;color:#d2ccc3;font-size:1.04rem}.article-body h2,.article-body h3{font-family:var(--serif);font-weight:500;color:#fff;line-height:1}.article-body h2{font-size:3rem;margin:56px 0 18px}.article-body h3{font-size:2rem;margin:40px 0 14px}.article-body p{margin:0 0 22px}.article-body a{color:var(--gold2);text-decoration:underline}.article-body blockquote{border-left:2px solid var(--gold);margin:35px 0;padding:5px 0 5px 24px;font-family:var(--serif);font-size:1.8rem;color:#fff}
/* FAQ */
.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;color:#fff;text-align:left;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:1.65rem;cursor:pointer}.faq-question span:last-child{font-family:var(--sans);font-size:1rem;color:var(--gold)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}.faq-answer p{margin:0;padding:0 50px 24px 0;color:var(--muted);max-width:800px}.faq-item.open .faq-answer{max-height:300px}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-card{border-top:1px solid var(--line);padding:20px 0}.contact-card small{display:block;color:var(--gold2);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.contact-card a,.contact-card p{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;margin:0}.contact-panel{background:#0d0d0e;border:1px solid var(--line);padding:42px}.simple-form{display:grid;gap:15px}.simple-form .field input,.simple-form .field textarea,.simple-form .field select{background:#090909}
/* CTA */
.final-cta{min-height:670px;display:flex;align-items:center;text-align:center;position:relative;overflow:hidden;background:url('/assets/demo/hero-poster.jpg') center/cover}.final-cta::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.73)}.final-cta-inner{position:relative;z-index:2;width:min(1000px,calc(100% - 44px));margin:auto}.final-cta h2{font-family:var(--serif);font-size:clamp(4rem,10vw,9rem);font-weight:500;line-height:.78;margin:0 0 34px}.final-cta .hero-actions{justify-content:center}
/* Footer */
.site-footer{position:relative;background:#050505;border-top:1px solid var(--line);padding:80px 0 30px;overflow:hidden}.footer-glow{position:absolute;width:400px;height:400px;left:-180px;bottom:-230px;background:rgba(201,167,100,.09);filter:blur(80px);border-radius:50%}.footer-inner{width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;position:relative}.footer-brand img{width:260px;max-width:100%;margin-bottom:16px}.footer-brand p{color:var(--muted);font-size:.86rem}.social-link{display:inline-block;color:var(--gold2);font-size:.77rem;margin-top:14px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col h4{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin:0 0 10px}.footer-col a,.footer-col p{color:#a9a49c;font-size:.84rem;margin:0}.footer-col a:hover{color:#fff}.footer-col .admin-link{opacity:.35;margin-top:10px}.footer-bottom{width:min(var(--max),calc(100% - 48px));margin:55px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#6d6964;font-size:.7rem}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:100;width:58px;height:58px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 14px 35px rgba(0,0,0,.4);transition:.3s}.floating-whatsapp:hover{transform:translateY(-4px) scale(1.03)}.floating-whatsapp svg{width:27px;height:27px;fill:#fff}.floating-whatsapp span{position:absolute;right:70px;background:#111;border:1px solid var(--line2);padding:7px 10px;border-radius:8px;font-size:.72rem;white-space:nowrap;opacity:0;transform:translateX(5px);transition:.2s;pointer-events:none}.floating-whatsapp:hover span{opacity:1;transform:none}.mobile-cta-bar{display:none}
/* Empty / utility */
.empty-state{border:1px dashed var(--line);padding:55px;text-align:center;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.7rem;color:#cfc9bf}.notice{padding:16px;border:1px solid var(--line);background:#0c0c0d;color:var(--muted);font-size:.85rem}.error-page{min-height:100svh;display:grid;place-items:center;text-align:center;padding:40px}.error-page h1{font-family:var(--serif);font-size:8rem;margin:0;color:var(--gold)}
/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}
@media (max-width:1080px){
  .desktop-nav{display:none}.menu-toggle{display:grid}.desktop-quote{display:none}.brand{width:172px}.effects-grid{grid-template-columns:repeat(2,1fr)}.effect-card,.effect-card:nth-child(1),.effect-card:nth-child(5){grid-column:auto}.work-grid{grid-template-columns:1fr 1fr}.work-card:last-child{grid-column:1/-1;min-height:480px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-step{border-bottom:1px solid var(--line)}.process-step:nth-child(2n){border-right:0}.moment-layout{gap:44px}.footer-inner{grid-template-columns:1.5fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.blog-grid{grid-template-columns:1fr 1fr}.quote-shell{grid-template-columns:210px 1fr}
}
@media (max-width:760px){
  :root{--header:72px}.container,.narrow,.nav-shell{width:min(100% - 30px,var(--max))}.section{padding:78px 0}.section-head{display:block}.section-head p{margin-top:18px}.section-head h2,.display-title{font-size:clamp(3.1rem,14vw,5rem)}.nav-shell{gap:8px}.brand{width:145px}.event-cart-trigger span{display:none}.hero{height:100svh;min-height:690px}.hero-content{width:calc(100% - 30px);padding-bottom:110px}.hero h1{font-size:clamp(4.2rem,20vw,7.2rem);line-height:.76}.hero-bottom{grid-template-columns:1fr;gap:25px;margin-top:28px}.hero-actions{justify-content:flex-start}.hero-scroll{display:none}.hero-actions .btn{flex:1;padding-inline:14px;font-size:.7rem}.effects-grid{display:grid;grid-template-columns:1fr}.effect-card,.effect-card:nth-child(1),.effect-card:nth-child(5){min-height:520px}.showreel{height:78svh}.moment-layout{grid-template-columns:1fr}.moment-result{position:relative;top:auto;min-height:400px;padding:28px}.moment-tab{font-size:2.6rem}.work-grid{grid-template-columns:1fr}.work-card,.work-card:last-child{grid-column:auto;min-height:540px}.process-grid{grid-template-columns:1fr}.process-step{border-right:0;min-height:auto;display:grid;grid-template-columns:60px 1fr;gap:12px;padding:22px 0}.process-step b{margin:0}.editorial-split{grid-template-columns:1fr}.editorial-media{min-height:480px}.editorial-copy{padding:50px 24px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card,.gallery-card:nth-child(5n+1){grid-column:auto;aspect-ratio:1/1}.gallery-card:nth-child(3n+1){grid-column:1/-1;aspect-ratio:16/10}.page-hero,.quote-hero{padding:130px 0 55px}.page-hero h1,.quote-hero h1{font-size:clamp(4rem,18vw,6.4rem)}.quote-shell{grid-template-columns:1fr}.quote-progress{position:relative;top:auto;display:flex;overflow:auto;gap:5px}.quote-progress-item{min-width:max-content;border:1px solid var(--line);padding:8px 10px;border-radius:999px}.quote-progress-item b{display:none}.quote-card{padding:24px 18px}.form-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.quote-nav .btn{padding-inline:17px;font-size:.69rem}.service-hero{min-height:720px}.service-hero-content{width:calc(100% - 30px);padding-bottom:65px}.service-hero h1{font-size:clamp(5rem,24vw,8rem)}.service-info-grid{grid-template-columns:1fr;gap:40px}.blog-grid{grid-template-columns:1fr}.article-hero{padding:130px 0 45px}.article-cover{width:100%;height:52vw;min-height:300px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-panel{padding:25px 18px}.footer-inner{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.floating-whatsapp{display:none}.mobile-cta-bar{position:fixed;display:grid;grid-template-columns:1fr 1.25fr 1fr;left:10px;right:10px;bottom:10px;z-index:110;background:rgba(10,10,10,.93);backdrop-filter:blur(12px);border:1px solid var(--line2);border-radius:999px;padding:5px;box-shadow:0 12px 45px rgba(0,0,0,.5)}.mobile-cta-bar a{display:grid;place-items:center;min-height:46px;border-radius:999px;text-transform:uppercase;font-size:.64rem;letter-spacing:.08em;font-weight:700}.mobile-cta-bar .wa{background:var(--green);color:#fff}.site-footer{padding-bottom:95px}
}
@media (max-width:480px){
  .container,.narrow,.nav-shell{width:calc(100% - 24px)}.hero-content{width:calc(100% - 24px)}.hero h1{font-size:18vw}.effect-card{min-height:480px}.gallery-grid{grid-template-columns:1fr}.gallery-card,.gallery-card:nth-child(5n+1),.gallery-card:nth-child(3n+1){grid-column:auto;aspect-ratio:4/5}.perfect-for{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-col:last-child{grid-column:auto}.event-cart-panel{padding:22px}.section{padding:66px 0}.choice label{min-height:76px}.choice label strong{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.marquee-track{animation:none}}

/* White & champagne premium edition */
:root{--bg:#fff;--bg2:#faf8f4;--panel:#fff;--panel2:#f6f2ec;--ink:#292621;--muted:#6f685e;--gold:#a77d3b;--gold2:#8c662d;--line:rgba(140,102,45,.22);--line2:rgba(41,38,33,.14)}
.site-header,.site-header.scrolled{background:rgba(255,255,255,.97);border-color:var(--line);box-shadow:0 3px 24px #29262108;backdrop-filter:blur(18px)}
.desktop-nav a,.desktop-nav a:hover,.desktop-nav a.is-active,.event-cart-trigger{color:var(--ink)}
.brand img,.footer-brand img{mix-blend-mode:multiply}
.section-dark,.section-alt,.marquee{background:#faf8f4}.marquee-track span{color:var(--ink)}
.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}.btn-gold{color:#fff}.btn-gold:hover{color:#fff}
.hero{margin-top:84px;height:clamp(720px,90svh,1020px);background:#f8f2e7}.hero-media>img{object-position:center 40%;filter:none}
.hero-overlay{background:linear-gradient(180deg,transparent 28%,rgba(255,253,248,.13) 45%,rgba(255,253,248,.96) 100%)}
.hero-glow{display:none}.hero-content{padding-bottom:56px}.hero h1{max-width:880px;font-size:clamp(3.1rem,6.5vw,6.6rem);line-height:.95;letter-spacing:-.035em;color:#292621;text-shadow:0 2px 28px #fff9}.hero-bottom{margin-top:24px}.hero-bottom p{color:#443b2e;font-size:.98rem;max-width:560px}.hero .eyebrow{color:#705021}.hero-scroll{display:none}
.mobile-menu,.event-cart-panel,.event-cart-item,.moment-result,.quote-card,.quote-summary,.blog-card,.contact-panel,.notice,.safety-note,.site-footer{background:#fff}
.menu-toggle{background:#fff;border-color:var(--line)}.menu-toggle span{background:var(--ink)}
.recommendations span,.chip,.lede,.article-body,.article-body h2,.article-body h3,.article-body blockquote,.faq-question,.field label,.quote-progress-item.active{color:var(--ink)}
.page-hero,.quote-hero{background:linear-gradient(130deg,#fff,#f8f3e9)}
.field input,.field select,.field textarea,.simple-form .field input,.simple-form .field textarea,.simple-form .field select,.choice label{background:#fff;color:var(--ink);border-color:#d7cfc2}
.gallery-filter{background:#fff;color:var(--ink)}.footer-col a,.footer-col p{color:var(--muted)}.footer-col a:hover{color:var(--ink)}
.effect-card,.work-card,.gallery-card,.service-hero,.showreel,.final-cta{color:#fff}.effect-card .text-link,.effect-card-index,.work-copy small,.gallery-meta small,.showreel .gold,.showreel-copy small,.service-hero .eyebrow,.service-hero .gold,.final-cta .gold{color:#f3d7a1}
.final-cta .btn-outline,.service-hero .btn-outline{color:#fff;border-color:#ffffff70}.final-cta{background-image:url('/uploads/hero/spectra-wedding.webp')}
.mobile-cta-bar{background:rgba(255,255,255,.97);box-shadow:0 6px 30px #29262120}.floating-whatsapp span{background:#fff;color:var(--ink)}
.form-alert{color:#9b2828}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:767px){.hero{margin-top:72px;height:auto;min-height:760px}.hero-media>img{object-position:57% center}.hero-overlay{background:linear-gradient(180deg,transparent 25%,rgba(255,253,248,.5) 50%,#fffdf8 88%)}.hero-content{padding-bottom:52px;padding-top:360px}.hero h1{font-size:clamp(2.6rem,10vw,4.2rem);line-height:1}.hero-bottom{display:block;margin-top:20px}.hero-actions{justify-content:flex-start;margin-top:20px}.hero .eyebrow{letter-spacing:.12em}.section{padding:72px 0}.moment-result{padding:28px}}

.brand img,.footer-brand img{filter:invert(1);mix-blend-mode:multiply}
html{overflow-x:clip}
@media(max-width:767px){.hero h1{font-size:clamp(2.1rem,8.7vw,3.4rem)}.hero .eyebrow{font-size:.62rem}.hero-actions .btn{padding-inline:18px}.hero-bottom p{font-size:.92rem}}
@media(max-width:767px){.hero{min-height:700px;background:#fffdf8}.hero-media{inset:0 0 auto;height:260px}.hero-media>img{object-position:center}.hero-overlay{background:linear-gradient(180deg,transparent 180px,#fffdf8 270px)}.hero-content{padding-top:290px;padding-bottom:70px}}
/* Wedding hero: clear white typography over a controlled dark overlay. */
.hero{margin-top:var(--header);height:clamp(720px,90svh,1000px);min-height:0;display:flex;align-items:flex-end;background:#211c16}
.hero-media{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;overflow:hidden}
.hero-media>img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.hero-overlay{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,8,.03) 20%,rgba(12,10,8,.22) 44%,rgba(12,10,8,.86) 78%,rgba(12,10,8,.94) 100%)}
.hero-glow,.hero-scroll{display:none}
.hero-content{position:relative;z-index:3;width:min(var(--max),calc(100% - 64px));padding:0 0 64px;margin-inline:auto;background:transparent;text-align:left}
.hero h1{max-width:1120px;font-size:clamp(2.8rem,5.2vw,5.2rem);line-height:1.03;letter-spacing:-.025em;text-shadow:0 2px 10px #0008;overflow-wrap:anywhere;color:#fff;text-wrap:balance}
.hero .eyebrow{margin-bottom:16px;color:#f6dda9}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:24px}
.hero-bottom p{color:#fff;max-width:620px;margin:0;line-height:1.7;font-size:1rem;text-shadow:0 1px 5px #0008}
.hero-actions{justify-content:flex-end;gap:12px;margin:0}
.hero .btn-gold{background:#c4a063;color:#17120b}.hero .btn-gold:hover{background:#e4c48d;color:#17120b}
.hero .btn-outline{color:#fff;background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.8)}.hero .btn-outline:hover{background:#fff;color:#211c16}
.effect-card-content,.work-copy,.gallery-meta{min-width:0}
.effect-card h3,.work-copy h3,.gallery-meta strong{overflow-wrap:anywhere;line-height:1.12}
@media(max-width:900px){.hero-bottom{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}}
@media(max-width:767px){.hero{margin-top:var(--header);height:auto;min-height:640px;background:#211c16}.hero-media{inset:0 0 auto;height:auto;aspect-ratio:16/9}.hero-media>img{object-fit:cover;object-position:center}.hero-overlay{background:linear-gradient(180deg,transparent 110px,rgba(33,28,22,.18) 160px,#211c16 270px)}.hero-content{width:calc(100% - 40px);padding:260px 0 48px}.hero h1{font-size:clamp(1.9rem,8.1vw,3.1rem);line-height:1.08;letter-spacing:-.02em}.hero .eyebrow{font-size:.6rem;line-height:1.7;letter-spacing:.12em}.hero-bottom{display:grid;gap:22px;margin-top:20px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-actions .btn{padding:12px 10px;min-height:50px;font-size:.66rem;letter-spacing:.04em;white-space:normal;text-align:center}.hero-bottom p{font-size:.93rem}}
@media(max-width:350px){.hero-actions{grid-template-columns:1fr}.hero h1{font-size:1.85rem}.hero-content{padding-top:230px}}
