/*
Theme Name: Prime Luxe – Opulence
Theme URI: https://primewebcreative.com/
Author: Prime Web Creative
Description: Luxury custom WordPress theme for Opulence Spray Tan.
Version: 2.0.49
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: prime-luxe-opulence
*/
:root{--gold:#d4aa54;--gold2:#b9832f;--ink:#0b0b0b;--cream:#f7f3ec;--white:#fff;--container:min(1460px,calc(100% - 72px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111;color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:var(--container);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 32px;border:1px solid transparent;border-radius:4px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.btn-primary{background:linear-gradient(135deg,#e7c06d,#c48d35);color:#111}.btn-light{border-color:rgba(212,170,84,.8);color:var(--gold);background:rgba(0,0,0,.18)}
.utility-bar{position:fixed;z-index:2000;top:0;left:0;right:0;height:47px;background:#050505;border-bottom:1px solid rgba(212,170,84,.45);display:flex;align-items:center;color:var(--gold)}.utility-inner{display:flex;justify-content:space-between;align-items:center}.utility-links{display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.utility-links:before{content:'♔';font-size:17px}.utility-social{display:flex;gap:24px;font-weight:800}
.site-header{position:fixed;z-index:1900;top:47px;left:0;right:0;padding:18px 0;background:linear-gradient(180deg,rgba(5,5,5,.28),rgba(5,5,5,0));transition:.3s}.site-header.scrolled{background:rgba(5,5,5,.94);box-shadow:0 8px 28px rgba(0,0,0,.28)}.header-inner{display:grid;grid-template-columns:390px 1fr auto;align-items:center;gap:28px}.brand{position:relative;width:385px;height:175px;display:flex;align-items:center;justify-content:center;margin-top:-8px}.brand-glow{position:absolute;inset:3% 0;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0%,rgba(255,255,255,.76) 28%,rgba(255,239,194,.35) 48%,rgba(255,255,255,0) 74%);filter:blur(10px);opacity:.98}.brand img{position:relative;z-index:2;width:370px;height:165px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.main-nav{display:flex;align-items:center;justify-content:center;gap:34px;font-size:.96rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.main-nav a{position:relative;padding:10px 0}.main-nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s}.main-nav a:hover:after{transform:scaleX(1)}.header-book{white-space:nowrap}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.hero{position:relative;height:100svh;min-height:820px;overflow:hidden;background:#151515}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease}.hero-slide.active{opacity:1;visibility:visible;z-index:2}.hero-backdrop{position:absolute;inset:-24px;background-size:cover;background-position:center;filter:blur(7px) brightness(.58) saturate(.92);transform:scale(1.04)}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.88) 0%,rgba(6,6,6,.66) 35%,rgba(6,6,6,.20) 66%,rgba(6,6,6,.30) 100%)}.hero-model{position:absolute;z-index:1;top:145px;right:3vw;bottom:0;width:min(54vw,820px);display:flex;align-items:flex-end;justify-content:center}.hero-model img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 38px rgba(0,0,0,.42))}.hero-content{position:relative;z-index:4;height:100%;display:flex;align-items:center}.hero-copy{max-width:720px;padding-top:180px}.eyebrow{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.30em;font-size:1rem;margin-bottom:18px}.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(4.7rem,7.1vw,7.8rem);line-height:.92;margin:0 0 28px}.hero-copy h1 span{display:block;color:var(--gold)}.hero-copy p{font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.75;max-width:650px;margin:0 0 30px}.hero-actions{display:flex;gap:26px;flex-wrap:wrap}.hero-dots{position:absolute;z-index:10;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:14px}.hero-dot{width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:transparent;padding:0}.hero-dot.active{background:var(--gold);border-color:var(--gold)}.hero-arrow{position:absolute;z-index:11;top:54%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.32);background:rgba(0,0,0,.48);color:#fff;font-size:34px;line-height:1}.hero-prev{left:22px}.hero-next{right:22px}
.section{padding:100px 0;background:var(--cream);color:#2d211c}.section-white{background:#fff}.about-grid,.bridal-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.image-frame img,.bridal-photo{width:100%;height:620px;object-fit:cover;border-radius:22px}.feature-grid,.services-grid,.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature,.service-card,.review-card,.product-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:26px}.products-wrap{overflow:hidden}.product-track{display:flex;gap:22px;width:max-content;animation:marquee 34s linear infinite}.product-track:hover{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.product-card{width:310px}.product-card img{height:300px;object-fit:cover}.parallax{min-height:580px;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;position:relative}.parallax:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.55)}.parallax-content{position:relative;z-index:2}.site-footer{background:#16100d;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.visible{opacity:1;transform:none}
body.admin-bar .utility-bar{top:32px}body.admin-bar .site-header{top:79px}
@media(max-width:1200px){.header-inner{grid-template-columns:300px 1fr auto}.brand{width:295px;height:135px}.brand img{width:285px;height:130px}.main-nav{gap:18px;font-size:.8rem}.hero-model{right:-4vw;width:62vw}}
@media(max-width:980px){body.admin-bar .utility-bar{top:46px}body.admin-bar .site-header{top:93px}.header-inner{grid-template-columns:220px auto 1fr}.brand{width:215px;height:100px}.brand img{width:210px;height:96px}.menu-toggle{display:block;justify-self:end}.main-nav{display:none;position:absolute;top:100%;left:20px;right:20px;background:#080808;padding:22px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.header-book{display:none}.hero-model{right:-18vw;width:88vw;opacity:.74}.hero-slide:after{background:linear-gradient(90deg,rgba(6,6,6,.9),rgba(6,6,6,.55))}.hero-copy{padding-top:165px;max-width:620px}}
@media(max-width:680px){:root{--container:calc(100% - 34px)}.utility-bar{height:42px}.utility-links{font-size:.68rem}.utility-social{display:none}.site-header{top:42px}.header-inner{grid-template-columns:180px 1fr}.brand{width:178px;height:82px}.brand img{width:174px;height:80px}.hero{min-height:760px}.hero-model{top:125px;right:-42vw;width:135vw;opacity:.52}.hero-copy{padding-top:145px}.hero-copy h1{font-size:clamp(3.4rem,17vw,5rem)}.hero-actions{gap:12px}.btn{min-height:52px;padding:0 22px;font-size:.82rem}.about-grid,.bridal-grid,.services-grid,.reviews-grid,.footer-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.hero-prev{left:8px}.hero-next{right:8px}}

/* Exact approved hero reference — v1.6.2 */
.approved-hero{position:relative;width:100%;height:100svh;min-height:720px;background:#111;overflow:hidden}
.approved-hero-image{position:absolute;inset:0;background-size:cover;background-position:center 65%;background-repeat:no-repeat}
.hero-hotspot{position:absolute;z-index:10;display:block;background:transparent}
.hs-gift{left:3%;top:0;width:7.5%;height:4.7%}.hs-membership{left:10.5%;top:0;width:18%;height:4.7%}
.hs-home{left:32.7%;top:7%;width:4.3%;height:6%}.hs-about{left:38%;top:7%;width:4.8%;height:6%}.hs-services{left:43.5%;top:7%;width:6%;height:6%}.hs-products{left:50.8%;top:7%;width:6.2%;height:6%}.hs-bridal{left:58.7%;top:7%;width:4.8%;height:6%}.hs-gallery{left:65%;top:7%;width:9.5%;height:6%}.hs-contact{left:75.5%;top:7%;width:6%;height:6%}
.hs-book-top{right:1.2%;top:7.7%;width:15.6%;height:6.2%}.hs-book-main{left:7.7%;top:76.5%;width:17.8%;height:6.7%}.hs-shop{left:27.1%;top:76.5%;width:15.7%;height:6.7%}
.approved-arrow{position:absolute;z-index:11;top:49.5%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(0,0,0,.02);color:transparent;cursor:pointer}.approved-prev{left:1.2%}.approved-next{right:1.2%}
.approved-dots{position:absolute;z-index:11;left:50%;bottom:5.8%;transform:translateX(-50%);display:flex;gap:14px}.approved-dots span{width:14px;height:14px;border-radius:50%;border:2px solid transparent}.approved-dots span.active{background:transparent}
body.admin-bar .approved-hero{height:calc(100svh - 32px)}
.product-placeholder{height:260px;border-radius:14px;background:linear-gradient(135deg,#f1eadf,#d7b77b);display:grid;place-items:center;color:#2d211c;font-family:Georgia,serif;font-size:2rem}
@media(max-width:900px){.approved-hero{height:auto;min-height:0;aspect-ratio:3/2}.approved-hero-image{background-size:contain;background-color:#111}.hero-hotspot,.approved-arrow,.approved-dots{display:none}}

/* Editorial three-panel hero — v1.7.0 */
.editorial-hero{position:relative;height:100svh;min-height:760px;overflow:hidden;background:#090909;color:#fff}
.editorial-panel{position:absolute;top:0;bottom:0;background-size:cover;background-repeat:no-repeat}
.panel-one{left:0;width:36.5%;background-position:center 42%}
.panel-two{left:36.5%;width:32.5%;background-position:center 38%}
.panel-three{right:0;width:31%;background-position:center 38%}
.editorial-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.08),rgba(5,5,5,.18))}
.editorial-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(5,5,5,.42) 0%,rgba(5,5,5,.18) 34%,rgba(5,5,5,.06) 68%,rgba(5,5,5,.20) 100%);pointer-events:none}
.editorial-logo-wrap{position:absolute;z-index:5;left:2.1vw;top:2.1vh;width:min(31vw,500px);height:220px;display:flex;align-items:center;justify-content:center}
.editorial-logo-glow{position:absolute;inset:4% 2%;background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 25%,rgba(255,244,210,.44) 48%,rgba(255,255,255,0) 74%);filter:blur(16px);opacity:.95}
.editorial-logo-wrap img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.32))}
.editorial-nav{position:absolute;z-index:6;top:4.7vh;left:36.4%;right:17.5%;display:flex;justify-content:center;gap:2.25vw;align-items:center;text-transform:uppercase;font-weight:700;font-size:clamp(.72rem,.93vw,1rem);white-space:nowrap}
.editorial-nav a{position:relative;padding:11px 0;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.editorial-nav a.active{color:var(--gold)}
.editorial-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}
.editorial-book{position:absolute;z-index:7;right:2.25vw;top:3.4vh;min-height:58px;padding:0 31px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8c36f,#c38d35);color:#111;text-transform:uppercase;font-weight:800;border-radius:4px;box-shadow:0 8px 25px rgba(0,0,0,.22)}
.editorial-copy{position:absolute;z-index:6;left:3.5vw;bottom:8.8vh;width:30vw;min-width:430px;text-align:center}
.editorial-copy h1{margin:0 0 18px;font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:.96;text-shadow:0 5px 20px rgba(0,0,0,.55)}
.editorial-copy h1 span{display:block;font-size:clamp(3.2rem,5.5vw,6.2rem);text-transform:uppercase;letter-spacing:.035em;color:#fff}
.editorial-copy h1 em{display:block;font-size:clamp(2.7rem,4.5vw,5.2rem);font-style:italic;color:var(--gold);white-space:nowrap}
.editorial-copy p{font-size:clamp(1rem,1.35vw,1.35rem);line-height:1.55;margin:0 0 32px;text-shadow:0 3px 12px rgba(0,0,0,.7)}
.editorial-actions{display:flex;justify-content:center;gap:18px}
.editorial-btn{min-height:58px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;text-transform:uppercase;font-weight:800;letter-spacing:.02em}
.editorial-btn.solid{background:linear-gradient(135deg,#e7c06d,#c48d35);color:#111}.editorial-btn.outline{border:1px solid rgba(212,170,84,.95);background:rgba(0,0,0,.25);color:#f3d58e}
.editorial-arrow{position:absolute;z-index:8;top:54%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.48);color:#fff;font-size:34px;line-height:1;cursor:pointer}.editorial-prev{left:1.2vw}.editorial-next{right:1.2vw}
.editorial-dots{position:absolute;z-index:8;left:50%;bottom:2.8vh;transform:translateX(-50%);display:flex;gap:13px}.editorial-dots span{width:14px;height:14px;border:2px solid #fff;border-radius:50%}.editorial-dots .active{background:var(--gold);border-color:var(--gold)}
body.admin-bar .editorial-hero{height:calc(100svh - 32px)}
@media(max-width:1100px){.editorial-nav{gap:1.4vw;left:34%;right:20%}.editorial-logo-wrap{width:31vw;height:170px}.editorial-copy{min-width:360px}.editorial-book{padding:0 18px;font-size:.78rem}}
@media(max-width:850px){.editorial-hero{min-height:800px}.panel-one{width:100%;background-position:center}.panel-two,.panel-three{display:none}.editorial-shade{background:rgba(0,0,0,.42)}.editorial-logo-wrap{left:50%;transform:translateX(-50%);width:min(76vw,430px);height:160px}.editorial-nav{display:none}.editorial-book{top:150px;right:50%;transform:translateX(50%)}.editorial-copy{left:50%;transform:translateX(-50%);bottom:9vh;width:86vw;min-width:0}.editorial-copy h1 em{white-space:normal}.editorial-actions{flex-wrap:wrap}.editorial-prev,.editorial-next{display:none}}


/* Dynamic full-screen looping hero — v1.8.0 */
.loop-hero{position:relative;height:100svh;min-height:760px;overflow:hidden;background:#0b0b0b}
.loop-hero-slides,.loop-hero-slide{position:absolute;inset:0}
.loop-hero-slide{opacity:0;visibility:hidden;background-size:cover;background-position:center 65%;background-repeat:no-repeat;transition:opacity 1.1s ease,visibility 1.1s ease}
.loop-hero-slide.active{opacity:1;visibility:visible;z-index:1}
.loop-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.28) 0%,rgba(5,5,5,.28) 37%,rgba(5,5,5,.06) 70%,rgba(5,5,5,.08) 100%)}
.loop-hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.loop-hero-copy{max-width:700px;padding-top:170px}
.loop-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,7vw,7.6rem);line-height:.94;font-weight:400;margin:0 0 24px}
.loop-hero-copy p{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.65;max-width:620px;margin:0 0 30px}
.loop-hero-dots{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:13px}
.loop-hero-dot{width:13px;height:13px;padding:0;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer}
.loop-hero-dot.active{background:var(--gold);border-color:var(--gold)}
body.admin-bar .loop-hero{height:calc(100svh - 32px)}
@media(max-width:980px){.loop-hero-overlay{background:linear-gradient(90deg,rgba(5,5,5,.82),rgba(5,5,5,.30))}.loop-hero-copy{padding-top:210px}}
@media(max-width:680px){.loop-hero{min-height:720px}.loop-hero-slide{background-position:62% center}.loop-hero-copy{padding-top:195px}.loop-hero-copy h1{font-size:clamp(3.2rem,16vw,5rem)}}

/* Focused visual refinements — v1.8.1 */
/* Lighter, more dynamic buttons without changing navigation typography */
.btn,
.editorial-book,
.editorial-btn{
  font-weight:600;
  letter-spacing:.055em;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease,border-color .28s ease;
  position:relative;
  overflow:hidden;
}
.btn:before,
.editorial-book:before,
.editorial-btn:before{
  content:"";
  position:absolute;
  top:-60%;
  left:-45%;
  width:32%;
  height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(18deg);
  transition:left .55s ease;
}
.btn:hover,
.editorial-book:hover,
.editorial-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.26);
  filter:brightness(1.05);
}
.btn:hover:before,
.editorial-book:hover:before,
.editorial-btn:hover:before{left:118%}

/* Slightly smaller non-menu typography */
.eyebrow{font-size:.88rem}
.loop-hero-copy h1{font-size:clamp(3.55rem,6.25vw,6.85rem)}
.loop-hero-copy p{font-size:clamp(.98rem,1.3vw,1.2rem)}
.section h2{font-size:clamp(2.1rem,3.3vw,3.65rem)}
.section p{font-size:.97rem}

/* Lower the first hero image so the model's face remains fully visible */
.loop-hero-slide:first-child{background-position:center 22%}

/* Float the logo independently from the menu bar and increase its presence */
.site-header .header-inner{
  position:relative;
  grid-template-columns:1fr auto;
  padding-left:430px;
  min-height:108px;
}
.site-header .brand{
  position:absolute;
  left:-12px;
  top:-40px;
  width:430px;
  height:205px;
  margin:0;
  z-index:5;
}
.site-header .brand-glow{
  inset:-8% -5%;
  background:
    repeating-conic-gradient(from 0deg,rgba(255,255,255,.24) 0deg 2deg,transparent 2deg 10deg),
    radial-gradient(ellipse at center,rgba(255,255,255,1) 0%,rgba(255,255,255,.82) 29%,rgba(255,244,210,.44) 49%,rgba(255,255,255,0) 73%);
  filter:blur(13px);
  opacity:.98;
}
.site-header .brand img{
  width:415px;
  height:195px;
}

@media(max-width:1200px){
  .site-header .header-inner{padding-left:330px}
  .site-header .brand{left:-8px;top:-25px;width:325px;height:158px}
  .site-header .brand img{width:315px;height:150px}
}
@media(max-width:980px){
  .site-header .header-inner{grid-template-columns:1fr auto;padding-left:235px;min-height:88px}
  .site-header .brand{left:-5px;top:-12px;width:225px;height:112px}
  .site-header .brand img{width:218px;height:105px}
}
@media(max-width:680px){
  .site-header .header-inner{padding-left:170px;min-height:76px}
  .site-header .brand{left:-4px;top:-4px;width:164px;height:84px}
  .site-header .brand img{width:158px;height:78px}
  .loop-hero-copy h1{font-size:clamp(2.95rem,14.5vw,4.5rem)}
}


/* Logo glow matched to the approved bright-white reference — v1.8.3 */
.site-header .brand-glow{
  inset:-18% -12%;
  border-radius:48%;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(255,255,255,.30) 0deg 1.5deg,
      rgba(255,255,255,0) 1.5deg 9deg),
    radial-gradient(ellipse at center,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.96) 22%,
      rgba(255,255,255,.74) 38%,
      rgba(255,255,255,.30) 55%,
      rgba(255,255,255,0) 76%);
  filter:blur(14px);
  opacity:1;
  transform:scale(1.06);
}
.site-header .brand img{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.20));
}

/* Keep slide 2 framed naturally with the face fully visible */
.loop-hero-slide:nth-child(2){background-position:center 32%;}

/* Hero slide framing — v1.8.3 */
.loop-hero-slide:nth-child(2){background-position:center 30%;}
.loop-hero-slide:nth-child(3){background-position:center 34%;}


/* Focused hero framing and floating logo — v1.8.4 */
/* Lower slides 2 and 3 so the models' faces remain fully visible beneath the header. */
.loop-hero-slide:nth-child(2){background-position:center 18%;}
.loop-hero-slide:nth-child(3){background-position:center 20%;}

/* Float the logo above the header row and make it more prominent. */
.site-header{overflow:visible;background:linear-gradient(180deg,rgba(5,5,5,.46),rgba(5,5,5,0));}
.site-header .header-inner{
  padding-left:500px;
  min-height:104px;
  overflow:visible;
}
.site-header .brand{
  left:-28px;
  top:-72px;
  width:500px;
  height:245px;
  z-index:20;
  pointer-events:auto;
}
.site-header .brand img{
  width:485px;
  height:232px;
}
.site-header .brand-glow{
  inset:-20% -14%;
  transform:scale(1.12);
  filter:blur(16px);
}

@media(max-width:1200px){
  .site-header .header-inner{padding-left:385px;}
  .site-header .brand{left:-18px;top:-48px;width:380px;height:188px;}
  .site-header .brand img{width:368px;height:178px;}
}
@media(max-width:980px){
  .site-header .header-inner{padding-left:255px;}
  .site-header .brand{left:-8px;top:-22px;width:245px;height:122px;}
  .site-header .brand img{width:238px;height:116px;}
  .loop-hero-slide:nth-child(2){background-position:center 14%;}
  .loop-hero-slide:nth-child(3){background-position:center 16%;}
}
@media(max-width:680px){
  .site-header .header-inner{padding-left:178px;}
  .site-header .brand{left:-4px;top:-8px;width:172px;height:88px;}
  .site-header .brand img{width:166px;height:82px;}
}


/* Utility icons, refined logo glow, and slide 4 — v1.8.5 */
.utility-social{display:flex;align-items:center;gap:18px}
.utility-social a{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;color:var(--gold);border-radius:50%;transition:transform .25s ease,color .25s ease,background .25s ease}
.utility-social a:hover{transform:translateY(-2px);color:#fff;background:rgba(212,170,84,.14)}
.utility-social svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Keep the white halo, but reduce the number and strength of sun rays. */
.site-header .brand-glow{
  inset:-14% -10%;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(255,255,255,.13) 0deg 1deg,
      rgba(255,255,255,0) 1deg 18deg),
    radial-gradient(ellipse at center,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.86) 24%,
      rgba(255,255,255,.52) 42%,
      rgba(255,255,255,.18) 58%,
      rgba(255,255,255,0) 76%);
  filter:blur(13px);
  opacity:.92;
  transform:scale(1.04);
}

/* Frame the fourth slide so the model and face remain visible below the header. */
.loop-hero-slide:nth-child(4){background-position:center 24%;}
@media(max-width:980px){.loop-hero-slide:nth-child(4){background-position:center 19%;}}
@media(max-width:680px){.loop-hero-slide:nth-child(4){background-position:58% 18%;}}

.about-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.06;margin:0 0 24px}.about-text{max-width:720px}.about-text p{font-size:1rem;line-height:1.78;margin:0 0 20px}.about-text p:last-child{margin-bottom:30px}


/* About image and interactive feature cards — v1.8.7 */
.image-frame{position:relative;overflow:hidden;border-radius:22px;box-shadow:0 28px 70px rgba(45,33,28,.18)}
.image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(35,24,19,.16));pointer-events:none}
.image-frame img{height:680px;object-position:center 32%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.image-frame:hover img{transform:scale(1.025);filter:saturate(1.03) contrast(1.02)}
.feature-grid{margin-top:28px}
.feature{position:relative;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;cursor:pointer;background:linear-gradient(145deg,#fff 0%,#fbf7f1 100%);box-shadow:0 12px 35px rgba(65,42,29,.07);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}
.feature:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,170,84,.14),transparent 55%);opacity:0;transition:opacity .35s ease}
.feature-number{position:absolute;top:18px;right:20px;font-family:Georgia,'Times New Roman',serif;font-size:2rem;color:rgba(185,131,47,.22);transition:color .35s ease,transform .35s ease}
.feature strong{position:relative;z-index:2;font-family:Georgia,'Times New Roman',serif;font-size:1.18rem;font-weight:600;margin-bottom:8px;color:#2d211c}
.feature>span:not(.feature-number):not(.feature-line){position:relative;z-index:2;font-size:.92rem;line-height:1.5;color:#6c5b51}
.feature-line{position:absolute;left:26px;right:26px;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold2),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.feature:hover,.feature:focus-visible{transform:translateY(-7px);box-shadow:0 22px 48px rgba(65,42,29,.15);border-color:rgba(185,131,47,.45);outline:none;background:#fff}
.feature:hover:before,.feature:focus-visible:before{opacity:1}
.feature:hover .feature-number,.feature:focus-visible .feature-number{color:rgba(185,131,47,.5);transform:translateY(-3px)}
.feature:hover .feature-line,.feature:focus-visible .feature-line{transform:scaleX(1)}
@media(max-width:980px){.image-frame img{height:600px}}
@media(max-width:680px){.image-frame img{height:520px}.feature{min-height:135px}}


/* v1.8.8 — About image height + section anchor offsets */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:132px}
#about .about-grid{align-items:stretch}
#about .image-frame{height:100%;min-height:100%;align-self:stretch;overflow:hidden;border-radius:22px}
#about .image-frame img{display:block;width:100%;height:100%;min-height:760px;object-fit:cover;object-position:center top;border-radius:22px}
#about .about-copy{display:flex;flex-direction:column;justify-content:flex-start}
@media(max-width:900px){
  section[id]{scroll-margin-top:112px}
  #about .image-frame img{height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center top}
}
@media(max-width:680px){section[id]{scroll-margin-top:92px}}


/* v1.8.9 — Products page and live product carousel */
.product-card{overflow:hidden;padding:0;background:#fff;box-shadow:0 14px 36px rgba(45,33,28,.08);transition:transform .28s ease,box-shadow .28s ease}
.product-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(45,33,28,.15)}
.product-card-media{display:flex;align-items:center;justify-content:center;background:#fff;min-height:315px;padding:22px}
.product-card-media img{width:100%;height:270px;object-fit:contain}
.product-body{padding:24px 24px 28px}.product-body h3{margin:0 0 10px;font-family:Georgia,serif;font-size:1.45rem;color:#261914}.product-body p{color:#6e5a50;line-height:1.65;min-height:72px}.product-price{margin:16px 0 18px;font-weight:700;color:#8e5c20}.text-link{display:inline-flex;align-items:center;gap:8px;color:#9a692c;font-weight:700}.products-footer{text-align:center;margin-top:34px}.products-footer .btn{min-height:52px}
.products-page{background:var(--cream);color:#2d211c;padding:185px 0 100px}.products-page-hero{text-align:center;max-width:840px;margin:0 auto 54px}.products-page-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);margin:.15em 0}.products-page-hero p{font-size:1.05rem;color:#6e5a50;line-height:1.8}.products-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.products-page-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;overflow:hidden;box-shadow:0 14px 36px rgba(45,33,28,.08);transition:transform .28s ease,box-shadow .28s ease}.products-page-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(45,33,28,.15)}.products-page-card .product-card-media{min-height:390px}.products-page-card .product-card-media img{height:340px}.products-page-card .product-body{padding:28px}.products-page-card .product-body p{min-height:0}.products-page-card .btn{min-height:50px;padding:0 24px;font-size:.86rem}.product-note{margin-top:36px;text-align:center;color:#7a675d;font-size:.92rem}
@media(max-width:980px){.products-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-page{padding-top:150px}}
@media(max-width:680px){.products-page-grid{grid-template-columns:1fr}.products-page{padding-top:125px}.product-card{width:275px}.product-card-media{min-height:280px}.product-card-media img{height:235px}}

.products-page .reveal{opacity:1;transform:none}


/* Typography and Before & After gallery — v1.9.2 */
.section h2,
.section-head h2,
.about-copy h2,
.products-page h1,
.products-hero h1,
.before-after-section h2{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(2.5rem,4vw,4.5rem);
  line-height:1.06;
  letter-spacing:-.025em;
}
.section-head h2{margin:0 0 24px}

.before-after-section{background:#fff;color:#2d211c}
.before-after-intro{max-width:800px;margin:0 auto 46px;text-align:center}
.before-after-intro .eyebrow{margin-bottom:14px}
.before-after-intro h2{margin:0 0 18px}
.before-after-intro p{font-size:1.05rem;line-height:1.75;margin:0;color:#6d5b50}
.before-after-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.before-after-card{overflow:hidden;border:1px solid rgba(45,33,28,.12);border-radius:20px;background:#faf7f2;box-shadow:0 18px 50px rgba(45,33,28,.08)}
.before-after-images{display:grid;grid-template-columns:1fr 1fr;min-height:430px}
.before-after-image{position:relative;min-width:0;background:#eee8df;overflow:hidden}
.before-after-image:first-child{border-right:2px solid #fff}
.before-after-image img{width:100%;height:100%;min-height:430px;object-fit:cover;transition:transform .45s ease}
.before-after-card:hover img{transform:scale(1.035)}
.before-after-label{position:absolute;left:14px;bottom:14px;z-index:2;padding:8px 13px;border-radius:999px;background:rgba(10,10,10,.78);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(7px)}
.before-after-image:last-child .before-after-label{background:linear-gradient(135deg,#e7c06d,#c48d35);color:#17110b}
.before-after-caption{padding:20px 22px;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem}
.before-after-empty{max-width:760px;margin:0 auto;padding:40px;border:1px dashed rgba(185,131,47,.55);border-radius:20px;text-align:center;background:#faf7f2;color:#6d5b50}
.before-after-empty strong{display:block;margin-bottom:8px;color:#2d211c;font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;font-weight:400}
@media(max-width:980px){.before-after-grid{grid-template-columns:1fr 1fr}.before-after-images,.before-after-image img{min-height:390px}}
@media(max-width:680px){.before-after-grid{grid-template-columns:1fr}.before-after-images,.before-after-image img{min-height:360px}}

/* v1.9.3 unified luxury refinements */
:root{--script-font:'Snell Roundhand','Segoe Script','Brush Script MT',cursive}
.eyebrow,
.section-head .eyebrow,
.about-copy .eyebrow,
.before-after-intro .eyebrow{
  font-family:var(--script-font);
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:500;
  color:var(--gold);
}
.site-header .brand-glow{
  inset:10% 3%;
  border-radius:46% 54% 48% 52% / 55% 46% 54% 45%;
  background:radial-gradient(ellipse at center,rgba(38,27,20,.98) 0%,rgba(16,12,10,.97) 56%,rgba(5,5,5,.2) 78%,transparent 100%);
  border:1px solid rgba(210,164,76,.28);
  box-shadow:0 16px 44px rgba(0,0,0,.42),inset 0 0 30px rgba(255,255,255,.035);
  filter:none;
  opacity:1;
}
.site-header .brand img{filter:drop-shadow(0 4px 10px rgba(0,0,0,.7)) brightness(1.06)}
.section-head.centered{text-align:center;max-width:780px;margin:0 auto 54px}
.section-head.centered p{margin:0 auto;color:#6d5b50;line-height:1.75}
.service-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}
.service-menu-item{display:flex;align-items:center;gap:16px;min-height:112px;padding:20px 0;border-bottom:1px solid rgba(45,33,28,.16);color:#2d211c;transition:transform .25s ease,color .25s ease}
.service-menu-item:hover{transform:translateX(6px);color:var(--gold-dark)}
.service-menu-number{flex:0 0 58px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f4eee5;border:1px solid rgba(185,131,47,.25);font-family:Georgia,serif;font-size:1rem;color:var(--gold-dark)}
.service-menu-copy{display:flex;flex-direction:column;min-width:0;max-width:330px}
.service-menu-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:400;line-height:1.15}
.service-menu-copy small{margin-top:8px;font-size:.84rem;line-height:1.45;color:#75655b}
.service-menu-rule{height:1px;flex:1;background:rgba(45,33,28,.24);min-width:34px}
.service-menu-tag{font-family:Georgia,'Times New Roman',serif;font-size:.95rem;color:#2d211c}
.services-cta{text-align:center;margin-top:46px}
.before-after-note{text-align:center;margin:24px auto 0;max-width:720px;font-size:.78rem;color:#847267;font-style:italic}
@media(max-width:980px){.service-menu-grid{grid-template-columns:1fr;gap:0}.service-menu-item{min-height:100px}}
@media(max-width:680px){.service-menu-item{gap:12px}.service-menu-number{flex-basis:48px;width:48px;height:48px}.service-menu-rule{display:none}.service-menu-copy{flex:1}.service-menu-tag{font-size:.78rem}}


/* Booking, logo, service menu and title-case refinements — v1.9.4 */
.site-header .brand-glow{display:none!important}
.site-header .brand img{
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.78)) drop-shadow(0 0 2px rgba(255,255,255,.22));
}
.about-copy .eyebrow{text-transform:none!important;letter-spacing:.04em}
.services-menu-section .section-head .eyebrow{text-transform:none!important}
.service-category{margin-top:62px}
.service-category:first-of-type{margin-top:48px}
.service-category-heading{text-align:center;margin-bottom:22px}
.service-category-heading span{
  display:block;
  color:var(--gold-dark,#b9832f);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1;
  margin-bottom:10px;
}
.service-category-heading h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(2rem,3vw,3.1rem);
  color:#2d211c;
}
.service-menu-item{min-height:124px}
.service-menu-tag{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark,#b9832f)}
@media(max-width:680px){
  .service-category{margin-top:44px}
  .service-menu-item{min-height:112px}
}

/* v1.9.5 service prices + healthy skin parallax */
.service-menu-item{flex-wrap:nowrap}
.service-menu-price{
  flex:0 0 auto;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;
  color:#2d211c;
  white-space:nowrap;
  margin-left:8px;
}
.service-menu-tag{white-space:nowrap}
.products-footer .btn{min-width:220px}
.healthy-skin-parallax{
  position:relative;
  min-height:610px;
  display:flex;
  align-items:center;
  background-image:url('assets/images/healthy-skin-parallax.png');
  background-size:cover;
  background-position:center 65%;
  background-attachment:fixed;
  overflow:hidden;
}
.healthy-skin-overlay{
  position:absolute;
  inset:0;
  background:rgba(10,7,5,.42);
}
.healthy-skin-content{
  position:relative;
  z-index:2;
  max-width:780px;
  margin:0 auto;
  color:#fff;
  padding-top:90px;
  padding-bottom:90px;
  text-align:center;
}
.healthy-skin-content .eyebrow{color:#e8c378;margin-bottom:16px}
.healthy-skin-content h2{
  margin:0 0 22px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,5vw,5.8rem);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.03em;
}
.healthy-skin-content p{max-width:650px;margin:0 auto 30px;font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.9)}
@media(max-width:980px){
  .healthy-skin-parallax{background-attachment:scroll;min-height:560px;background-position:center 65%}
  .service-menu-price{font-size:.92rem}
}
@media(max-width:680px){
  .service-menu-item{align-items:flex-start;flex-wrap:wrap}
  .service-menu-price{margin-left:60px}
  .service-menu-tag{margin-left:auto}
  .healthy-skin-parallax{min-height:540px;background-position:58% center}
  .healthy-skin-overlay{background:rgba(15,10,8,.58)}
  .healthy-skin-content{text-align:center;margin:0 auto;padding:70px 22px}
}


/* Bridal image and parallax positioning — v1.9.7 */
#bridal .eyebrow{text-transform:none!important}
#bridal .bridal-photo{object-position:center 35%}
.healthy-skin-parallax{background-position:center 30%!important}
@media(max-width:980px){.healthy-skin-parallax{background-position:center 28%!important}}
@media(max-width:680px){.healthy-skin-parallax{background-position:58% 24%!important}.bridal-photo{height:520px!important;object-position:center 30%!important}}

/* Bridal spacing, clean logo, and service CTA refinements — v1.9.8 */
.site-header .brand,
.site-header .brand img,
.editorial-logo-wrap,
.editorial-logo-wrap img{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.site-header .brand:before,
.site-header .brand:after,
.editorial-logo-wrap:before,
.editorial-logo-wrap:after,
.editorial-logo-glow,
.brand-glow{
  display:none!important;
  content:none!important;
}
.site-header .brand img{
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.48))!important;
}
#bridal .eyebrow{margin-bottom:12px}
#bridal h2{margin-bottom:14px}
#bridal h2 + p{margin-top:0;margin-bottom:28px;line-height:1.75}
#bridal .btn{margin-top:0}



/* Website-ready bridal portrait — v1.9.9 */
#bridal .bridal-photo{object-position:center 38%;image-rendering:auto}
@media(max-width:980px){#bridal .bridal-photo{height:580px;object-position:center 34%}}
@media(max-width:680px){#bridal .bridal-photo{height:520px!important;object-position:center 30%!important}}


/* Real client before-and-after gallery — v2.0.0 */
.before-after-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px;margin-left:auto;margin-right:auto}
.before-after-card{overflow:hidden}
.before-after-images{display:grid;grid-template-columns:1fr 1fr;gap:0}
.before-after-image{aspect-ratio:3/4;overflow:hidden;background:#1d1d1d}
.before-after-image img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.before-after-caption{text-align:center}
@media(max-width:820px){.before-after-grid{grid-template-columns:1fr}.before-after-image{aspect-ratio:4/5}}
@media(max-width:520px){.before-after-images{grid-template-columns:1fr 1fr}.before-after-image{aspect-ratio:3/4}}


/* Homepage information band and organized footer — v2.0.1 */
.opulence-info-band{background:#211711;color:#fff;padding:100px 0 92px;border-top:1px solid rgba(212,170,84,.28)}
.opulence-difference{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:end;padding-bottom:58px;margin-bottom:52px;border-bottom:1px solid rgba(255,255,255,.13)}
.opulence-difference h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,4vw,4.8rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}
.opulence-difference-copy p{margin:0 0 22px;color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.8}
.light-link{color:#e7c06d}
.opulence-info-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:22px}
.opulence-info-card{padding:30px;border:1px solid rgba(212,170,84,.25);border-radius:18px;background:rgba(255,255,255,.035)}
.info-kicker{display:block;margin-bottom:14px;color:#d4aa54;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.opulence-info-card h3{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:400}
.opulence-info-card p{margin:0 0 18px;color:rgba(255,255,255,.72);line-height:1.75}
.opulence-info-card>a,.opulence-info-card p a{color:#fff}
.opulence-info-card>a{font-weight:800;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.hours-list{display:grid;gap:8px}
.hours-list div{display:flex;justify-content:space-between;gap:20px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem}
.hours-list span{color:rgba(255,255,255,.65)}
.hours-list strong{font-weight:700;text-align:right}
.site-footer{background:#0d0907;padding:78px 0 24px;color:#fff}
.footer-grid-organized{grid-template-columns:1.45fr .85fr .95fr 1.05fr;gap:48px}
.footer-logo{width:240px;max-height:120px;object-fit:contain;object-position:left center;margin:0 0 22px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.42))}
.footer-intro{max-width:370px;margin:0 0 22px;color:rgba(255,255,255,.66);line-height:1.7}
.footer-contact-lines{display:grid;gap:8px;color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.55}
.footer-title{margin-bottom:20px;color:#d4aa54;font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.footer-links{display:grid;gap:13px}
.footer-links a,.footer-links span{color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.45;transition:color .2s ease,transform .2s ease}
.footer-links a:hover{color:#fff;transform:translateX(3px)}
.footer-cta-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:58px;padding:28px 30px;border:1px solid rgba(212,170,84,.32);border-radius:18px;background:linear-gradient(135deg,rgba(212,170,84,.11),rgba(255,255,255,.025))}
.footer-cta-row>div{display:grid;gap:5px}
.footer-cta-kicker{color:#d4aa54;font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.footer-cta-row strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:400}
.footer-bottom{color:rgba(255,255,255,.48);font-size:.8rem}
@media(max-width:1050px){.opulence-difference{grid-template-columns:1fr;gap:28px}.opulence-info-grid{grid-template-columns:1fr 1fr}.hours-card{grid-column:1/-1}.footer-grid-organized{grid-template-columns:1.3fr 1fr 1fr}.footer-grid-organized>div:last-child{grid-column:2/4}}
@media(max-width:720px){.opulence-info-band{padding:76px 0 70px}.opulence-info-grid,.footer-grid-organized{grid-template-columns:1fr}.hours-card,.footer-grid-organized>div:last-child{grid-column:auto}.footer-cta-row{align-items:flex-start;flex-direction:column}.footer-cta-row .btn{width:100%}.footer-bottom{gap:12px;flex-direction:column}.footer-logo{width:220px}}


/* Appointment policies and scrolled header — v2.0.2 */
.site-header.scrolled{background:#0d0907!important;box-shadow:0 10px 30px rgba(0,0,0,.36);border-bottom:1px solid rgba(212,170,84,.22)}
.policy-section{background:#f7f3ed;padding:100px 0;color:#211711;border-top:1px solid rgba(183,139,59,.18)}
.policy-heading{max-width:760px;margin:0 auto 42px;text-align:center}
.policy-heading h2{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,4.5vw,4.9rem);font-weight:400;line-height:1.04}
.policy-heading p{margin:0;color:#6e6259;line-height:1.75}
.policy-notice{display:flex;align-items:center;gap:20px;max-width:900px;margin:0 auto 28px;padding:22px 26px;border:1px solid rgba(183,139,59,.42);border-radius:16px;background:#fffaf0;box-shadow:0 12px 30px rgba(47,31,22,.06)}
.policy-icon{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#211711;color:#d4aa54;font-size:1.2rem}
.policy-notice strong{display:block;margin-bottom:4px;font-family:Georgia,'Times New Roman',serif;font-size:1.3rem}
.policy-notice p{margin:0;color:#6e6259}
.policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.policy-card{padding:24px;border:1px solid rgba(33,23,17,.12);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(47,31,22,.07)}
.policy-card h3{margin:0 0 18px;font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;font-weight:400}
.policy-card p{margin:0 0 14px;color:#665b53;line-height:1.72}
.policy-card strong{color:#211711}
.policy-emphasis{margin-top:20px!important;padding-top:16px;border-top:1px solid rgba(183,139,59,.25);color:#36271f!important;font-weight:700}
.policy-download{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:32px;padding:24px 36px;border-radius:18px;background:#211711;color:#fff}
.policy-download-kicker{display:block;margin-bottom:8px;color:#d4aa54;font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.policy-download h3{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,2.5vw,2.3rem);font-weight:400}
.policy-download p{margin:0;color:rgba(255,255,255,.68)}
@media(max-width:980px){.policy-grid{grid-template-columns:1fr 1fr}.policy-card:last-child{grid-column:1/-1}}
@media(max-width:680px){.policy-section{padding:76px 0}.policy-grid{grid-template-columns:1fr}.policy-card:last-child{grid-column:auto}.policy-notice{align-items:flex-start}.policy-download{align-items:flex-start;flex-direction:column;padding:28px}.policy-download .btn{width:100%}}


/* Friday special announcement marquee — v2.0.5 */
.promo-marquee{
  position:fixed;
  z-index:2100;
  top:0;
  left:0;
  right:0;
  height:30px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(90deg,#b9832f,#e2bd6a,#b9832f);
  color:#17100c;
  border-bottom:1px solid rgba(255,255,255,.35);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.promo-marquee-track{
  display:flex;
  width:max-content;
  white-space:nowrap;
  animation:promoMarquee 28s linear infinite;
  will-change:transform;
}
.promo-marquee-group{
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:34px;
  padding-right:34px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.promo-marquee-group span{display:inline-block}
.promo-separator{font-size:.58rem}
@keyframes promoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.promo-marquee:hover .promo-marquee-track{animation-play-state:paused}
.utility-bar{top:30px}
.site-header{top:77px}
body.admin-bar .promo-marquee{top:32px}
body.admin-bar .utility-bar{top:62px}
body.admin-bar .site-header{top:109px}
@media(prefers-reduced-motion:reduce){
  .promo-marquee-track{animation:none;transform:none}
  .promo-marquee-group{min-width:100vw;justify-content:center}
  .promo-marquee-group:nth-child(2),
  .promo-marquee-group span:nth-child(n+3){display:none}
}
@media(max-width:980px){
  body.admin-bar .promo-marquee{top:46px}
  body.admin-bar .utility-bar{top:76px}
  body.admin-bar .site-header{top:123px}
}
@media(max-width:680px){
  .promo-marquee{height:28px}
  .promo-marquee-track{animation-duration:22s}
  .promo-marquee-group{gap:24px;padding-right:24px;font-size:.60rem;letter-spacing:.11em}
  .promo-separator{font-size:.50rem}
  .utility-bar{top:28px}
  .site-header{top:70px}
  body.admin-bar .promo-marquee{top:46px}
  body.admin-bar .utility-bar{top:74px}
  body.admin-bar .site-header{top:116px}
}


/* Final header color refinements — v2.0.10 */
/* Gift Card, Membership Packages, crown, email and Instagram icons in white. */
.utility-bar,
.utility-links,
.utility-links a,
.utility-links:before,
.utility-social,
.utility-social a{
  color:#fff!important;
}
.utility-social a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.12);
}

/* Smooth dark radial opacity behind the floating logo. */
.site-header .brand:before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:1;
  left:-8%;
  right:-8%;
  top:2%;
  bottom:2%;
  border:0!important;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(8,6,5,.88) 0%,
    rgba(8,6,5,.68) 34%,
    rgba(8,6,5,.34) 57%,
    rgba(8,6,5,0) 78%);
  filter:blur(10px);
  pointer-events:none;
}
.site-header .brand img{
  position:relative;
  z-index:2;
}

/* Bronze Friday marquee. */
.promo-marquee{
  background:linear-gradient(90deg,#7a461f 0%,#b87333 48%,#8d5524 100%)!important;
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.28);
}

/* Corrected marquee and parallax positioning — v2.0.12 */
/* Match the marquee box exactly to the primary gold button treatment. */
html body .promo-marquee{
  background:linear-gradient(135deg,#e7c06d,#c48d35)!important;
  color:#111!important;
  border-bottom:1px solid rgba(255,255,255,.35)!important;
}

/* Move the parallax photograph lower so the model's face remains visible. */
html body .healthy-skin-parallax{
  background-position:center 8%!important;
}
@media(max-width:980px){
  html body .healthy-skin-parallax{background-position:center 6%!important}
}
@media(max-width:680px){
  html body .healthy-skin-parallax{background-position:58% 4%!important}
}

/* Opulence service detail modal */
button.service-menu-item{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(45,33,28,.16);font:inherit;text-align:left;cursor:pointer}
.opulence-service-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.opulence-service-modal.is-open{display:flex}
.opulence-service-modal-backdrop{position:absolute;inset:0;background:rgba(18,12,10,.76);backdrop-filter:blur(5px)}
.opulence-service-modal-panel{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:linear-gradient(145deg,#fffdf9,#f6eee3);border:1px solid rgba(197,149,74,.45);box-shadow:0 30px 90px rgba(0,0,0,.35);padding:clamp(30px,5vw,58px);border-radius:4px}
.opulence-modal-close{position:absolute;top:14px;right:18px;border:0;background:transparent;font-size:34px;line-height:1;color:#2d211c;cursor:pointer}
.opulence-modal-eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:10px}
.opulence-service-modal h2{margin:0 45px 4px 0;font-size:clamp(2rem,4vw,3.3rem)}
.opulence-modal-price{font-size:1.35rem;color:var(--gold-dark);font-weight:700;margin-bottom:20px}
.opulence-modal-description{font-size:1.05rem;line-height:1.75;color:#55453d}
.opulence-modal-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}
.opulence-modal-detail{padding:18px;background:rgba(255,255,255,.72);border:1px solid rgba(197,149,74,.22)}
.opulence-modal-detail strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--gold-dark);margin-bottom:7px}
.opulence-modal-detail span{display:block;line-height:1.55;color:#493b34}
.opulence-modal-book{width:100%;text-align:center;justify-content:center}
.opulence-modal-note{text-align:center;font-size:.78rem;color:#76665e;margin:12px 0 0}
body.opulence-modal-open{overflow:hidden}
@media(max-width:680px){.opulence-service-modal{padding:12px}.opulence-service-modal-panel{padding:34px 22px}.opulence-modal-details{grid-template-columns:1fr}.opulence-service-modal h2{font-size:2rem}}

/* v2.0.20: improve service popup contrast */
#opulence-modal-title,.opulence-service-modal h2{color:#241914 !important;text-shadow:none !important;opacity:1 !important;}

/* Bridal page — v2.0.20 */
.bridal-page{background:#fffdf9;color:#2c211d}
.bridal-hero-page{min-height:76vh;background-size:cover;background-position:center 30%;display:flex;align-items:center;color:#fff;padding:150px 0 90px}
.bridal-hero-copy{max-width:760px}.bridal-hero-copy h1{color:#fff;font-size:clamp(3rem,7vw,6.4rem);line-height:.98;margin:.15em 0 .25em}.bridal-hero-copy p{font-size:1.18rem;max-width:650px;color:rgba(255,255,255,.9)}
.bridal-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn-outline-light{border:1px solid rgba(255,255,255,.8);color:#fff;background:transparent}.btn-outline-light:hover{background:#fff;color:#241914}
.bridal-note-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(40px,7vw,90px);align-items:center}.bridal-note-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.bridal-note-section blockquote{font-family:var(--font-display,Georgia,serif);font-size:1.45rem;border-left:3px solid #c59a52;padding-left:24px;margin:28px 0;color:#5a4031}.bridal-signature{display:block;color:#9b6e2d;letter-spacing:.04em}
.centered{text-align:center}.section-lead{max-width:780px;margin:0 auto 34px}.bridal-intro-band{background:#f5eee5}.bridal-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.bridal-badges span{border:1px solid rgba(151,107,47,.35);padding:12px 18px;background:#fff;font-size:.84rem;text-transform:uppercase;letter-spacing:.1em}
.bridal-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.bridal-feature{padding:32px 26px;border:1px solid rgba(157,115,60,.2);background:#fff}.bridal-feature>span{font-family:Georgia,serif;font-size:2.3rem;color:#c59a52}.bridal-feature h3{margin:10px 0;color:#2c211d}.bridal-feature p{margin:0}
.bridal-timeline-section{background:#241914;color:#fff}.bridal-timeline-section h2{color:#fff}.bridal-timeline{max-width:900px;margin:40px auto 0;position:relative}.bridal-timeline:before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:1px;background:rgba(197,154,82,.45)}.timeline-item{display:grid;grid-template-columns:56px 1fr;gap:28px;padding:0 0 42px;position:relative}.timeline-marker{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#c59a52;color:#241914;font-weight:700;z-index:1}.timeline-item small{color:#dcb878;text-transform:uppercase;letter-spacing:.12em}.timeline-item h3{color:#fff;margin:6px 0}.timeline-item p{color:rgba(255,255,255,.75);margin:0}
.bridal-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.bridal-service-card{padding:34px 28px;background:linear-gradient(145deg,#fff,#f4e9dd);border:1px solid rgba(197,154,82,.28);min-height:220px}.bridal-service-card h3{color:#2c211d}.bridal-services-cta{margin-top:36px}
.bridal-prep-section{background:#f5eee5}.bridal-prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.prep-card{padding:36px;background:#fff;border:1px solid rgba(197,154,82,.26)}.prep-card-dark{background:#2b1e19;color:#fff}.prep-card-dark h3{color:#fff}.prep-card ul{margin:18px 0 0;padding-left:20px}.prep-card li{margin:10px 0}
.bridal-faq-list{max-width:900px;margin:35px auto 0}.bridal-faq-list details{border-bottom:1px solid rgba(80,55,43,.2);padding:20px 0}.bridal-faq-list summary{font-size:1.15rem;font-weight:700;cursor:pointer;color:#2c211d}.bridal-faq-list p{padding-right:40px}
.bridal-final-cta{background-size:cover;background-position:center;padding:110px 0;color:#fff}.bridal-final-cta h2{color:#fff;font-size:clamp(2.4rem,5vw,4.8rem)}.bridal-final-cta p{color:rgba(255,255,255,.85)}
@media(max-width:980px){.bridal-feature-grid,.bridal-service-grid{grid-template-columns:repeat(2,1fr)}.bridal-note-grid{grid-template-columns:1fr}.bridal-note-photo{max-width:600px}}
@media(max-width:680px){.bridal-hero-page{min-height:68vh;padding-top:120px;background-position:58% center}.bridal-feature-grid,.bridal-service-grid,.bridal-prep-grid{grid-template-columns:1fr}.bridal-hero-actions{flex-direction:column;align-items:flex-start}.bridal-hero-copy h1{font-size:2.8rem}}

/* Bridal gallery integration — v2.0.20 */
.bridal-section-image{max-width:920px;margin:52px auto 0}.bridal-section-image img,.bridal-wide-image img,.bridal-timeline-image img,.bridal-prep-image img,.bridal-faq-image img{display:block;width:100%;object-fit:cover}
.bridal-section-image img{aspect-ratio:16/8;border-radius:2px}.bridal-wide-image{margin-top:52px}.bridal-wide-image img{height:560px;object-position:center 28%}
.bridal-timeline-image{max-width:940px;margin:28px auto 0}.bridal-timeline-image img{height:520px;object-position:center 52%}
.bridal-service-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}.bridal-service-gallery img{width:100%;height:560px;object-fit:cover}.bridal-service-gallery img:first-child{object-position:center 36%}.bridal-service-gallery img:last-child{object-position:center 30%}
.bridal-prep-image{grid-column:1/-1;margin-top:6px}.bridal-prep-image img{height:620px;object-position:center 42%}
.bridal-faq-image{max-width:900px;margin:46px auto 0}.bridal-faq-image img{height:560px;object-position:center 38%}
.bridal-final-cta{background-position:center 66%}
@media(max-width:980px){.bridal-wide-image img,.bridal-timeline-image img,.bridal-service-gallery img,.bridal-prep-image img,.bridal-faq-image img{height:480px}}
@media(max-width:680px){.bridal-section-image{margin-top:34px}.bridal-section-image img{aspect-ratio:4/5}.bridal-wide-image img{height:430px;object-position:center 24%}.bridal-timeline-image img{height:430px}.bridal-service-gallery{grid-template-columns:1fr}.bridal-service-gallery img{height:460px}.bridal-prep-image img,.bridal-faq-image img{height:450px}.bridal-final-cta{background-position:center 58%}}


/* Bridal refinements — v2.0.20 */
.bridal-hero-page{
  min-height:82vh;
  align-items:flex-end;
  background-position:center 48%;
  padding:150px 0 72px;
}
.bridal-hero-copy{
  max-width:690px;
  margin-left:0;
  text-align:left;
}
.bridal-hero-copy .eyebrow{margin-bottom:10px}
.bridal-hero-copy h1{
  max-width:660px;
  font-size:clamp(2.8rem,6vw,5.7rem);
  line-height:1.01;
  margin:.1em 0 .2em;
}
.bridal-hero-copy p{max-width:570px;margin-bottom:0}

/* Keep the Glow With Confidence image lower in its frame so faces stay visible. */
.bridal-section-image img{
  object-position:center 24%;
  min-height:460px;
}

/* Cleaner, higher presentation for Why Brides Choose Opulence. */
.bridal-wide-image{
  overflow:hidden;
  box-shadow:0 18px 45px rgba(35,23,18,.14);
}
.bridal-wide-image img{
  height:600px;
  object-position:center 20%;
  transform:scale(1.015);
  filter:contrast(1.03) saturate(1.03) brightness(1.02);
}

/* New mirror image for bridal preparation. */
.bridal-prep-image img{
  height:650px;
  object-position:center 38%;
  filter:contrast(1.02) brightness(1.02);
}

/* Brighter and higher final call-to-action image. */
.bridal-final-cta{
  background-position:center 74%;
  padding:120px 0;
}
.bridal-final-cta::before{display:none}

@media(max-width:980px){
  .bridal-hero-page{background-position:center 45%;padding-bottom:64px}
  .bridal-wide-image img{height:500px}
  .bridal-prep-image img{height:520px}
  .bridal-final-cta{background-position:center 70%}
}
@media(max-width:680px){
  .bridal-hero-page{
    min-height:72vh;
    align-items:flex-end;
    background-position:56% 44%;
    padding:120px 0 46px;
  }
  .bridal-hero-copy{max-width:92%}
  .bridal-hero-copy h1{font-size:2.65rem}
  .bridal-section-image img{min-height:0;object-position:center 22%}
  .bridal-wide-image img{height:440px;object-position:center 18%}
  .bridal-prep-image img{height:470px;object-position:center 34%}
  .bridal-final-cta{background-position:center 68%;padding:90px 0}
}


/* Bridal polish — v2.0.21 */
.bridal-hero-page{
  min-height:86vh;
  align-items:flex-end;
  background-position:center 64%!important;
  padding:160px 0 64px;
}
.bridal-hero-copy{
  width:min(680px,92%);
  max-width:680px;
  margin:0 auto 0 0;
  padding:28px 30px 30px;
  text-align:left;
  background:linear-gradient(90deg,rgba(18,12,10,.76),rgba(18,12,10,.24) 78%,transparent);
  border-left:3px solid var(--gold);
}
.bridal-hero-copy h1{max-width:620px;margin:6px 0 14px;line-height:1.02}
.bridal-hero-copy p{max-width:560px;line-height:1.65}
.bridal-hero-actions{margin-top:24px}

/* Lower the photograph inside the frame so both faces remain visible. */
.bridal-section-image{overflow:hidden}
.bridal-section-image img{
  object-position:center 10%!important;
  transform:translateY(2%);
}

/* Cleaner presentation with no artificial enlargement. */
.bridal-wide-image img{
  height:590px;
  object-position:center 30%!important;
  transform:none!important;
  filter:none!important;
  image-rendering:auto;
}

/* The newly supplied mirror photograph. */
.bridal-prep-image img{
  object-position:center 42%!important;
  filter:none!important;
}

/* Raise and clarify the closing image. */
.bridal-final-cta{
  background-position:center 84%!important;
}

@media(max-width:980px){
  .bridal-hero-page{background-position:center 60%!important;padding-bottom:56px}
  .bridal-hero-copy{padding:24px 24px 26px}
  .bridal-wide-image img{height:500px;object-position:center 28%!important}
  .bridal-final-cta{background-position:center 80%!important}
}
@media(max-width:680px){
  .bridal-hero-page{min-height:78vh;background-position:54% 58%!important;padding:120px 0 34px}
  .bridal-hero-copy{width:94%;max-width:94%;padding:20px 18px 22px;background:linear-gradient(90deg,rgba(18,12,10,.82),rgba(18,12,10,.34))}
  .bridal-hero-copy h1{font-size:2.45rem}
  .bridal-section-image img{object-position:center 8%!important;transform:none}
  .bridal-wide-image img{height:430px;object-position:center 26%!important}
  .bridal-prep-image img{height:470px;object-position:center 38%!important}
  .bridal-final-cta{background-position:center 78%!important}
}


/* Bridal refinements — v2.0.22 */
/* Match the homepage hero: left aligned, vertically centered, no boxed panel. */
.bridal-hero-page{
  min-height:86vh;
  align-items:center!important;
  background-position:center 48%!important;
  padding:150px 0 70px!important;
}
.bridal-hero-copy{
  width:auto!important;
  max-width:700px!important;
  margin:0!important;
  padding:170px 0 0!important;
  background:none!important;
  border-left:0!important;
  text-align:left!important;
}
.bridal-hero-copy h1{
  max-width:680px!important;
  font-size:clamp(4rem,7vw,7.2rem)!important;
  line-height:.94!important;
  margin:0 0 24px!important;
}
.bridal-hero-copy p{
  max-width:650px!important;
  font-size:clamp(1.05rem,1.5vw,1.3rem)!important;
  line-height:1.65!important;
  margin:0 0 30px!important;
}
/* The template overlay is lighter so the bridal photograph stays bright. */
.bridal-hero-page{background-blend-mode:normal}

/* New high-resolution bridal-party photograph. */
.bridal-wide-image img{
  object-position:center 38%!important;
  filter:none!important;
}

/* Lower the closing photograph within its frame to keep faces in view. */
.bridal-final-cta{
  background-position:center 42%!important;
}

@media(max-width:980px){
  .bridal-hero-page{background-position:center 46%!important;padding:120px 0 55px!important}
  .bridal-hero-copy{padding-top:180px!important;max-width:620px!important}
  .bridal-final-cta{background-position:center 40%!important}
}
@media(max-width:680px){
  .bridal-hero-page{min-height:76vh;background-position:57% 44%!important;padding:110px 0 36px!important}
  .bridal-hero-copy{width:94%!important;max-width:94%!important;padding:150px 0 0!important;background:none!important}
  .bridal-hero-copy h1{font-size:clamp(3rem,15vw,4.5rem)!important}
  .bridal-hero-copy p{font-size:1rem!important;line-height:1.55!important}
  .bridal-wide-image img{height:430px;object-position:center 34%!important}
  .bridal-final-cta{background-position:center 38%!important}
}


/* Bridal hero typography and spacing — v2.0.23 */
.bridal-hero-copy{
  box-sizing:border-box;
  padding-left:clamp(58px,7vw,118px)!important;
}
.bridal-hero-copy .bridal-hero-eyebrow{
  font-family:var(--script-font,'Snell Roundhand','Segoe Script','Brush Script MT',cursive)!important;
  font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  font-weight:500!important;
  color:var(--gold)!important;
  margin:0 0 16px!important;
  text-shadow:0 3px 12px rgba(0,0,0,.55);
}
.bridal-hero-copy h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3.55rem,6.25vw,6.85rem)!important;
  line-height:.94!important;
  font-weight:400!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  margin:0 0 24px!important;
}
.bridal-hero-copy p{
  font-size:clamp(.98rem,1.3vw,1.2rem)!important;
  line-height:1.65!important;
  max-width:620px!important;
  margin:0 0 30px!important;
}
@media(max-width:980px){
  .bridal-hero-copy{padding-left:clamp(32px,5vw,58px)!important}
}
@media(max-width:680px){
  .bridal-hero-copy{padding-left:22px!important;padding-right:18px!important}
  .bridal-hero-copy .bridal-hero-eyebrow{font-size:1.55rem!important;margin-bottom:12px!important}
  .bridal-hero-copy h1{font-size:clamp(2.95rem,14.5vw,4.5rem)!important}
}

/* Client Gallery page */
.client-gallery-page{background:#fbf7f1;color:#2d211c}.client-gallery-hero{position:relative;min-height:760px;background-size:cover;background-position:center 44%;display:flex;align-items:center}.client-gallery-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,5,.78) 0%,rgba(8,6,5,.48) 42%,rgba(8,6,5,.06) 76%)}.client-gallery-hero-copy{position:relative;z-index:2;max-width:720px;padding-top:175px}.client-gallery-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(4.7rem,7.1vw,7.8rem);line-height:.92;margin:0 0 28px;color:#fff;letter-spacing:0}.client-gallery-hero p{font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.75;max-width:650px;margin:0 0 30px;color:rgba(255,255,255,.94)}.client-gallery-intro{text-align:center;padding:100px 0 54px}.client-gallery-intro h2,.client-gallery-cta h2{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;margin:.15em 0 .3em}.client-gallery-intro p{max-width:760px;margin:0 auto;color:#705f56;line-height:1.8}.client-gallery-showcase{padding:20px 0 110px}.gallery-slider{position:relative;max-width:1180px;margin:0 auto}.gallery-slider-stage{position:relative;height:min(72vh,760px);min-height:540px;border-radius:24px;overflow:hidden;background:#17110e;box-shadow:0 24px 70px rgba(55,37,27,.22)}.gallery-slide{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#17110e;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .75s ease,visibility .75s ease,transform 1.1s ease;cursor:zoom-in}.gallery-slide.active{opacity:1;visibility:visible;transform:scale(1);z-index:2}.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;background:#17110e}.gallery-slide-caption{position:absolute;left:28px;right:28px;bottom:24px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:12px;background:rgba(12,8,6,.66);backdrop-filter:blur(8px);color:#fff;text-align:left}.gallery-slide-caption strong{font-family:Georgia,serif;font-weight:400;font-size:1.12rem}.gallery-slide-caption small{letter-spacing:.16em;color:var(--gold)}.gallery-slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(15,10,8,.58);color:#fff;font-size:42px;line-height:.8;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}.gallery-slider-arrow:hover{background:var(--gold);color:#1c120c}.gallery-slider-prev{left:22px}.gallery-slider-next{right:22px}.gallery-slider-controls{max-width:1180px;margin:22px auto 16px;display:flex;align-items:center;gap:18px}.gallery-slider-progress{height:3px;flex:1;background:rgba(112,95,86,.2);overflow:hidden}.gallery-slider-progress span{display:block;height:100%;width:0;background:var(--gold)}.gallery-slider-toggle{border:0;background:transparent;color:#5e4b40;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;cursor:pointer}.gallery-filmstrip{display:flex;gap:12px;max-width:1180px;margin:0 auto;padding:6px 2px 14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.gallery-thumb{flex:0 0 112px;height:82px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#ddd;opacity:.58;cursor:pointer;scroll-snap-align:center;transition:.25s}.gallery-thumb.active{opacity:1;border-color:var(--gold);transform:translateY(-3px)}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.client-gallery-script{display:block;font-family:'Allura','Brush Script MT',cursive;color:var(--gold);font-size:clamp(2rem,4vw,3.7rem);line-height:1;margin-bottom:8px}.client-gallery-cta{text-align:center;padding:110px 20px;background:linear-gradient(135deg,#17100d,#3a2417);color:#fff}.client-gallery-cta p{max-width:660px;margin:0 auto 30px;color:rgba(255,255,255,.8);line-height:1.8}.client-gallery-lightbox{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:55px 85px}.client-gallery-lightbox.open{display:flex}.client-gallery-lightbox img{max-width:min(92vw,1500px);max-height:88vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.5)}.client-gallery-close,.client-gallery-prev,.client-gallery-next{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;border-radius:999px}.client-gallery-close{top:20px;right:24px;width:48px;height:48px;font-size:34px;line-height:1}.client-gallery-prev,.client-gallery-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:46px;line-height:.8}.client-gallery-prev{left:20px}.client-gallery-next{right:20px}.gallery-lightbox-open{overflow:hidden}.client-gallery-empty{text-align:center;padding:80px 0}.client-gallery-page .reveal{opacity:1;transform:none}
@media(max-width:980px){.client-gallery-hero{min-height:690px;background-position:center 42%}.client-gallery-hero-copy{padding-top:170px}.gallery-slider-stage{height:620px;min-height:0}.gallery-slider-arrow{width:50px;height:50px}.gallery-thumb{flex-basis:100px;height:74px}}
@media(max-width:680px){.client-gallery-hero{min-height:720px;background-position:52% center}.client-gallery-hero-shade{background:linear-gradient(0deg,rgba(8,6,5,.9),rgba(8,6,5,.12) 70%)}.client-gallery-hero-copy{padding:180px 0 50px}.client-gallery-hero h1{font-size:clamp(3.4rem,17vw,5rem)}.gallery-slider-stage{height:560px;border-radius:16px}.gallery-slide-caption{left:14px;right:14px;bottom:14px}.gallery-slider-arrow{width:44px;height:44px;font-size:36px}.gallery-slider-prev{left:8px}.gallery-slider-next{right:8px}.gallery-thumb{flex-basis:88px;height:68px}.client-gallery-lightbox{padding:60px 14px}.client-gallery-prev,.client-gallery-next{width:44px;height:44px;font-size:38px}.client-gallery-prev{left:8px}.client-gallery-next{right:8px}}

/* Client Gallery refinement — v2.0.26 */
.client-gallery-hero{min-height:760px;background-position:center 31%;align-items:center}
.client-gallery-hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.46) 0%,rgba(5,5,5,.34) 37%,rgba(5,5,5,.06) 70%,rgba(5,5,5,.08) 100%)}
.client-gallery-hero-copy{max-width:700px;padding-top:170px}
.client-gallery-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.55rem,6.25vw,6.85rem);line-height:.94;font-weight:400;margin:0 0 24px}
.client-gallery-hero p{font-size:clamp(.98rem,1.3vw,1.2rem);line-height:1.65;max-width:620px;margin:0 0 30px}
.client-gallery-intro h2,.client-gallery-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,3.9rem);line-height:1.08;font-weight:400;margin:.15em 0 .3em}
.client-gallery-script{font-size:clamp(1.8rem,3vw,2.8rem)}
.client-gallery-cta{padding:88px 20px}
.client-gallery-showcase{overflow:hidden;padding:28px 0 105px}
.opulence-carousel{position:relative}
.opulence-carousel-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:38px max(8vw,90px) 50px}
.opulence-carousel-viewport::-webkit-scrollbar{display:none}
.opulence-carousel-track{display:flex;align-items:center;gap:24px;width:max-content}
.opulence-carousel-card{position:relative;flex:0 0 clamp(280px,28vw,430px);height:clamp(390px,49vw,610px);padding:0;border:0;border-radius:18px;overflow:hidden;background:#17110e;box-shadow:0 18px 48px rgba(55,37,27,.16);scroll-snap-align:center;cursor:zoom-in;transform:scale(.9);opacity:.7;transition:transform .45s ease,opacity .45s ease,box-shadow .45s ease}
.opulence-carousel-card.is-active{transform:scale(1.04);opacity:1;box-shadow:0 28px 70px rgba(55,37,27,.25)}
.opulence-carousel-card img{width:100%;height:100%;object-fit:cover;display:block}
.opulence-carousel-caption{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:rgba(12,8,6,.58);backdrop-filter:blur(7px);color:#fff}
.opulence-carousel-caption strong{font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:400}
.opulence-carousel-caption small{color:var(--gold);letter-spacing:.14em}
.opulence-carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(15,10,8,.62);color:#fff;font-size:40px;line-height:.8;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}
.opulence-carousel-arrow:hover{background:var(--gold);color:#1c120c}
.opulence-carousel-prev{left:12px}.opulence-carousel-next{right:12px}
.opulence-carousel-status{text-align:center;margin-top:-20px;color:#705f56;letter-spacing:.18em;font-size:.8rem}
@media(max-width:980px){.client-gallery-hero{min-height:690px;background-position:center 27%}.client-gallery-hero-copy{padding-top:210px}.opulence-carousel-viewport{padding-left:70px;padding-right:70px}.opulence-carousel-card{flex-basis:clamp(270px,44vw,390px)}}
@media(max-width:680px){.client-gallery-hero{min-height:720px;background-position:54% 24%}.client-gallery-hero-shade{background:linear-gradient(0deg,rgba(5,5,5,.86) 0%,rgba(5,5,5,.26) 58%,rgba(5,5,5,.08) 100%)}.client-gallery-hero-copy{padding:195px 0 48px}.client-gallery-hero h1{font-size:clamp(3.2rem,16vw,5rem)}.client-gallery-intro h2,.client-gallery-cta h2{font-size:clamp(2.1rem,10vw,3.15rem)}.client-gallery-cta{padding:72px 18px}.opulence-carousel-viewport{padding:25px 42px 42px}.opulence-carousel-track{gap:16px}.opulence-carousel-card{flex-basis:78vw;height:108vw;max-height:560px;transform:scale(.94)}.opulence-carousel-card.is-active{transform:scale(1)}.opulence-carousel-arrow{width:44px;height:44px;font-size:34px}.opulence-carousel-prev{left:4px}.opulence-carousel-next{right:4px}}

/* Client Gallery endless loop and homepage-aligned hero — v2.0.28 */
.client-gallery-hero{background-position:center 38%;}
.client-gallery-hero-copy{width:var(--container);max-width:none;margin-inline:auto;padding-top:180px;}
.client-gallery-hero-copy > *{max-width:720px;}
.client-gallery-hero h1{font-size:clamp(4.7rem,7.1vw,7.8rem);line-height:.92;margin:0 0 28px;}
.client-gallery-hero p{font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.75;max-width:650px;}
.opulence-carousel{overflow:hidden;}
.opulence-carousel-viewport{overflow:hidden;padding:38px 0 50px;}
.opulence-carousel-track{display:flex;align-items:center;gap:24px;width:max-content;animation:opulenceGalleryLoop 190s linear infinite;will-change:transform;}
.opulence-carousel:hover .opulence-carousel-track,.opulence-carousel:focus-within .opulence-carousel-track{animation-play-state:paused;}
.opulence-carousel-group{display:flex;align-items:center;gap:24px;flex:none;}
.opulence-carousel-card{flex:0 0 clamp(280px,28vw,430px);transform:scale(.96);opacity:.9;}
.opulence-carousel-card:hover,.opulence-carousel-card:focus-visible{transform:scale(1.02);opacity:1;box-shadow:0 28px 70px rgba(55,37,27,.25);z-index:2;}
.opulence-carousel-arrow{display:none!important;}
.opulence-carousel-status{display:none;}
@keyframes opulenceGalleryLoop{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 12px))}}
@media(max-width:980px){
  .client-gallery-hero{background-position:center 35%;}
  .client-gallery-hero-copy{width:var(--container);padding-top:210px;}
  .opulence-carousel-track,.opulence-carousel-group{gap:18px;}
  @keyframes opulenceGalleryLoop{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
}
@media(max-width:680px){
  .client-gallery-hero{background-position:48% 30%;}
  .client-gallery-hero-copy{width:var(--container);padding:195px 0 48px;}
  .client-gallery-hero h1{font-size:clamp(3.2rem,16vw,5rem);}
  .opulence-carousel-viewport{padding:25px 0 42px;}
  .opulence-carousel-track,.opulence-carousel-group{gap:14px;}
  .opulence-carousel-card{flex-basis:78vw;height:108vw;max-height:560px;transform:scale(.97);}
  @keyframes opulenceGalleryLoop{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
}
@media(prefers-reduced-motion:reduce){.opulence-carousel-track{animation:none;}}

/* Client Gallery yacht hero and slower gallery loop — v2.0.28 */
.client-gallery-hero{background-position:center 46%;}
@media(max-width:980px){.client-gallery-hero{background-position:56% 42%;}}
@media(max-width:680px){.client-gallery-hero{background-position:62% 34%;}}


/* Client Gallery face framing and slower loop — v2.0.30 */
.client-gallery-hero{background-position:center 29%;}
.opulence-carousel-track{animation-duration:280s;}
@media(max-width:980px){.client-gallery-hero{background-position:56% 27%;}}
@media(max-width:680px){.client-gallery-hero{background-position:62% 22%;}}

/* Bride Gallery — v2.0.30 */
.bride-gallery-hero{background-position:center 34%;}
.bride-gallery-page .opulence-carousel-track{animation-duration:300s;}
.bride-gallery-cta{background:linear-gradient(135deg,#17100d,#3a2417);}
@media(max-width:980px){.bride-gallery-hero{background-position:center 31%;}}
@media(max-width:680px){.bride-gallery-hero{background-position:55% 25%;}.bridal-hero-actions{gap:10px}.bridal-hero-actions .btn{font-size:.82rem;padding:12px 16px}}

/* Dynamic Contact Page — v2.0.31 */
.op-contact-page{background:#f8f3eb;color:#261d19}.op-contact-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(8,7,6,.62),rgba(8,7,6,.12)),url('assets/images/gallery/gallery_contact.jpg') center 38%/cover no-repeat;padding:190px 0 82px;color:#fff}.op-contact-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.58) 0%,rgba(8,7,6,.28) 48%,rgba(8,7,6,.04) 100%)}.op-contact-hero-content{position:relative;z-index:1;max-width:720px;margin-left:auto;margin-right:auto;width:min(100% - 40px,1200px)}.op-contact-script,.op-contact-page .section-script{display:block;font-family:'Allura','Brush Script MT',cursive;color:#c99a3d;font-size:clamp(2rem,4vw,3.7rem);line-height:1;margin-bottom:12px}.op-contact-hero h1{font-family:Georgia,serif;font-size:clamp(3.4rem,7vw,6.4rem);line-height:.96;letter-spacing:-.035em;margin:0 0 22px;max-width:720px}.op-contact-hero p{font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75;max-width:660px;margin:0}.op-contact-main{padding:100px 0 120px}.op-contact-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:70px;align-items:start}.op-contact-details{position:sticky;top:150px}.op-contact-details h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4.2vw,4.35rem);line-height:1.04;margin:8px 0 22px}.op-contact-details>p{color:#6d5b50;line-height:1.85;font-size:1.02rem}.op-contact-card-list{display:grid;gap:14px;margin:34px 0}.op-contact-card{display:flex;gap:16px;align-items:center;padding:18px 20px;background:#fff;border:1px solid rgba(49,36,28,.1);border-radius:16px;color:#261d19;text-decoration:none;box-shadow:0 12px 34px rgba(58,39,29,.06);transition:transform .24s ease,border-color .24s ease}.op-contact-card:hover{transform:translateY(-3px);border-color:rgba(187,139,54,.55)}.op-contact-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d5ad59,#a87524);color:#111;font-size:1.2rem;flex:0 0 44px}.op-contact-card small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#9a7a48;font-size:.67rem;margin-bottom:4px}.op-contact-card strong{font-size:.96rem;line-height:1.45}.op-contact-book{margin-top:4px}.op-contact-form-wrap{background:#fff;border:1px solid rgba(49,36,28,.1);border-radius:24px;padding:42px;box-shadow:0 22px 60px rgba(58,39,29,.1)}.op-contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.op-contact-form label{display:block;font-size:.77rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:#4b3c34}.op-contact-form label>span{color:#b18433}.op-contact-form input:not([type=checkbox]),.op-contact-form select,.op-contact-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #d8cec5;border-radius:11px;background:#fcfaf7;color:#261d19;padding:14px 15px;font:inherit;font-size:.96rem;text-transform:none;letter-spacing:0;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.op-contact-form input:focus,.op-contact-form select:focus,.op-contact-form textarea:focus{border-color:#b58a38;box-shadow:0 0 0 3px rgba(181,138,56,.14)}.op-contact-form textarea{resize:vertical;min-height:155px}.op-contact-form .wide{grid-column:1/-1}.op-contact-consent{display:flex!important;align-items:flex-start;gap:11px;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;line-height:1.55;color:#6b5a50!important}.op-contact-consent input{margin-top:4px;accent-color:#b58a38}.op-contact-consent b{color:#b18433}.op-contact-submit{margin-top:26px;min-width:190px;border:0;cursor:pointer}.op-contact-privacy{font-size:.78rem;color:#8a786e;line-height:1.55;margin:16px 0 0}.op-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.op-contact-alert{padding:16px 18px;border-radius:12px;margin-bottom:24px;line-height:1.55}.op-contact-alert.success{background:#edf7ef;border:1px solid #a9d5b1;color:#285c31}.op-contact-alert.error{background:#fff0ef;border:1px solid #e1b1ad;color:#7b2d28}
@media(max-width:900px){.op-contact-grid{grid-template-columns:1fr;gap:48px}.op-contact-details{position:static}.op-contact-main{padding:80px 0 95px}.op-contact-hero{min-height:58vh;background-position:center 32%}.op-contact-form-wrap{padding:32px}}
@media(max-width:620px){.op-contact-hero{min-height:520px;padding:155px 0 58px;background-position:62% 28%}.op-contact-hero-content{width:min(100% - 30px,1200px)}.op-contact-form-grid{grid-template-columns:1fr}.op-contact-form .wide{grid-column:auto}.op-contact-form-wrap{padding:24px 18px;border-radius:18px}.op-contact-main{padding:62px 0 78px}.op-contact-card{padding:16px}.op-contact-submit{width:100%}}


/* Contact page refinements — v2.0.32 */
.op-contact-hero{
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:0;
  background-image:url('assets/images/about-studio.jpg');
  background-size:cover;
  background-position:center 42%;
  background-repeat:no-repeat;
}
.op-contact-hero-overlay{
  background:linear-gradient(90deg,rgba(6,6,6,.86) 0%,rgba(6,6,6,.64) 35%,rgba(6,6,6,.22) 66%,rgba(6,6,6,.28) 100%);
}
.op-contact-hero-content{
  position:relative;
  z-index:2;
  width:var(--container);
  max-width:none;
  margin-inline:auto;
  padding-top:180px;
}
.op-contact-hero-content>*{max-width:720px}
.op-contact-script{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:1rem;
  line-height:1.2;
  margin:0 0 18px;
}
.op-contact-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(4.7rem,7.1vw,7.8rem);
  line-height:.92;
  letter-spacing:0;
  margin:0 0 28px;
}
.op-contact-hero p{
  font-size:clamp(1.05rem,1.5vw,1.32rem);
  line-height:1.75;
  max-width:650px;
  margin:0;
}
.op-contact-page .section-script{
  font-size:clamp(1.65rem,2.5vw,2.35rem);
  margin-bottom:10px;
}
.op-contact-details h2{
  font-size:clamp(2.2rem,3.25vw,3.25rem);
  line-height:1.08;
}
.op-contact-details>p{font-size:1rem}
.op-contact-card strong{font-size:.95rem}
.op-contact-form label{font-size:.76rem}
.op-contact-form input:not([type=checkbox]),.op-contact-form select,.op-contact-form textarea{font-size:.95rem}
@media(max-width:900px){
  .op-contact-hero{min-height:760px;background-position:center 38%}
  .op-contact-hero-content{padding-top:165px}
}
@media(max-width:620px){
  .op-contact-hero{min-height:720px;background-position:58% 34%}
  .op-contact-hero-content{width:var(--container);padding-top:145px}
  .op-contact-hero h1{font-size:clamp(3.4rem,17vw,5rem)}
  .op-contact-script{font-size:.82rem}
  .op-contact-details h2{font-size:clamp(2rem,10vw,2.7rem)}
}


/* Contact hero workspace image — v2.0.38 */
.op-contact-hero{
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:0;
  background-image:url('assets/images/contact-hero-workspace.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.op-contact-hero-overlay{
  background:linear-gradient(90deg,rgba(5,5,5,.82) 0%,rgba(5,5,5,.62) 37%,rgba(5,5,5,.14) 70%,rgba(5,5,5,.10) 100%);
}
.op-contact-hero-content{
  position:relative;
  z-index:2;
  width:var(--container);
  max-width:none;
  margin-inline:auto;
  padding-top:170px;
}
.op-contact-hero-content>*{max-width:700px}
.op-contact-script{
  display:block;
  font-family:'Allura','Brush Script MT','Segoe Script',cursive;
  color:var(--gold);
  font-size:clamp(1.75rem,2.6vw,2.7rem);
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  line-height:1;
  margin:0 0 12px;
}
.op-contact-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(3.55rem,6.25vw,6.85rem);
  line-height:.94;
  font-weight:400;
  letter-spacing:0;
  margin:0 0 24px;
}
.op-contact-hero p{
  font-size:clamp(.98rem,1.3vw,1.2rem);
  line-height:1.65;
  max-width:620px;
  margin:0;
}
@media(max-width:980px){
  .op-contact-hero{min-height:760px;background-position:center center}
  .op-contact-hero-content{padding-top:210px}
}
@media(max-width:680px){
  .op-contact-hero{min-height:720px;background-position:62% center}
  .op-contact-hero-content{padding-top:195px}
  .op-contact-hero h1{font-size:clamp(2.95rem,14.5vw,4.5rem)}
  .op-contact-script{font-size:clamp(1.55rem,8vw,2.1rem)}
}

/* Contact script typography alignment — v2.0.38 */
.op-contact-script,
.op-contact-page .section-script{
  font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
  line-height:1!important;
  margin-bottom:12px!important;
}
@media(max-width:680px){
  .op-contact-script,
  .op-contact-page .section-script{
    font-size:1.55rem!important;
  }
}

/* Contact gold script font alignment — v2.0.38 */
.op-contact-script,
.op-contact-page .section-script{
  font-family:var(--script-font,'Snell Roundhand','Segoe Script','Brush Script MT',cursive)!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}


/* Contact hero approved office image — v2.0.39 */
.op-contact-hero{
  background-image:url('assets/images/contact-hero-office.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.op-contact-hero-overlay{
  background:linear-gradient(90deg,
    rgba(7,7,7,.62) 0%,
    rgba(7,7,7,.50) 34%,
    rgba(7,7,7,.28) 62%,
    rgba(7,7,7,.18) 100%);
}
@media(max-width:980px){
  .op-contact-hero{background-position:center center;}
  .op-contact-hero-overlay{
    background:linear-gradient(90deg,rgba(7,7,7,.64) 0%,rgba(7,7,7,.46) 48%,rgba(7,7,7,.22) 100%);
  }
}
@media(max-width:680px){
  .op-contact-hero{background-position:58% center;}
  .op-contact-hero-overlay{
    background:linear-gradient(90deg,rgba(7,7,7,.72) 0%,rgba(7,7,7,.54) 55%,rgba(7,7,7,.28) 100%);
  }
}

/* Awards & Media — v2.0.42 */
.awards-media-page{background:#fff;color:#17130f}.awards-hero{position:relative;min-height:520px;display:flex;align-items:center;background:linear-gradient(115deg,#17120e 0%,#3c2d20 48%,#b38a58 100%);overflow:hidden}.awards-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 40%,rgba(226,189,128,.32),transparent 30%),linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.05))}.awards-hero:after{content:"✦";position:absolute;right:8%;top:50%;transform:translateY(-50%);font-size:260px;line-height:1;color:rgba(255,255,255,.07)}.awards-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.68) 0%,rgba(5,4,3,.32) 52%,rgba(5,4,3,.12) 100%)}.awards-hero-content{position:relative;z-index:2;max-width:800px;color:#fff}.awards-hero .section-eyebrow,.light-heading .section-eyebrow{color:#d8b477}.awards-hero h1{font-size:clamp(48px,7vw,92px);line-height:.98;margin:14px 0 24px;font-weight:500;letter-spacing:-.03em}.awards-hero p{max-width:700px;font-size:19px;line-height:1.75;color:rgba(255,255,255,.9)}.section-pad{padding:95px 0}.section-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:#a47a42}.awards-intro{background:#fbf8f3}.awards-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.awards-intro h2,.section-heading h2,.awards-cta h2{font-size:clamp(34px,4.5vw,58px);line-height:1.12;margin:16px 0 0;font-weight:500;letter-spacing:-.025em}.awards-intro p{font-size:18px;line-height:1.85;color:#5e554c;margin:0}.section-heading{max-width:760px;margin:0 auto 55px}.section-heading.centered{text-align:center}.section-heading p{font-size:17px;line-height:1.75;color:#6a6057}.award-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.award-card{background:#fff;border:1px solid #e8dfd2;box-shadow:0 18px 50px rgba(38,27,17,.08);transition:transform .3s ease,box-shadow .3s ease}.award-card:hover{transform:translateY(-7px);box-shadow:0 25px 60px rgba(38,27,17,.14)}.award-image-wrap{position:relative;aspect-ratio:1/1;background:#f6f0e7;display:flex;align-items:center;justify-content:center;overflow:hidden}.award-image-wrap img{width:100%;height:100%;object-fit:contain;padding:20px;position:relative;z-index:2;background:#fff}.award-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background:linear-gradient(145deg,#17130f,#5b432c);color:#fff}.award-fallback span{font-size:36px;color:#d8b477;margin-bottom:14px}.award-fallback strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.award-card-copy{padding:22px 22px 25px}.award-year{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a47a42;font-weight:700}.award-card h3{font-size:21px;margin:7px 0 6px;font-weight:600}.award-card p{margin:0;color:#776b61;font-size:14px}.media-features{background:#15120f;color:#fff}.light-heading h2{color:#fff}.light-heading p{color:rgba(255,255,255,.7)}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.media-card{background:#211c17;border:1px solid rgba(216,180,119,.22);overflow:hidden}.media-card-image{display:flex;position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#2c241d,#8b6844);align-items:center;justify-content:center;overflow:hidden}.media-card-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;transition:transform .45s ease}.media-card:hover .media-card-image img{transform:scale(1.04)}.media-image-fallback{position:absolute;text-align:center;color:#f0d6a6;font-family:Georgia,serif;font-size:28px;line-height:1.15}.media-card-copy{padding:28px}.media-source{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#d8b477;font-weight:700}.media-card h3{font-size:25px;line-height:1.2;margin:10px 0 13px}.media-card p{color:rgba(255,255,255,.68);line-height:1.7;margin-bottom:24px}.media-read-link{color:#efd5a5;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700;text-decoration:none}.media-read-link:hover{color:#fff}.awards-cta{background:#efe3d1}.awards-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.awards-cta-inner>div{max-width:750px}.awards-cta p{font-size:17px;line-height:1.7;color:#64584c;max-width:670px}.awards-cta .btn{white-space:nowrap}
@media(max-width:1050px){.award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-grid{grid-template-columns:1fr 1fr}.awards-intro-grid{gap:45px}}
@media(max-width:760px){.awards-hero{min-height:440px}.awards-hero:after{font-size:150px;right:-10%}.section-pad{padding:68px 0}.awards-intro-grid,.media-grid{grid-template-columns:1fr}.awards-intro-grid{gap:24px}.award-grid{grid-template-columns:1fr 1fr;gap:14px}.award-card-copy{padding:18px 16px}.award-card h3{font-size:18px}.awards-cta-inner{display:block}.awards-cta .btn{margin-top:20px}.media-card-copy{padding:24px}}
@media(max-width:480px){.award-grid{grid-template-columns:1fr}.awards-hero h1{font-size:48px}.awards-hero p{font-size:16px}.awards-hero{min-height:400px}}


/* Header, homepage Awards button, and Awards hero refinements — v2.0.43 */
.site-header .header-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  min-height:48px;
  padding:0 22px;
  line-height:1.15;
  flex:0 0 auto;
  white-space:nowrap;
  position:relative;
  z-index:6;
}
.site-header .main-nav{min-width:0;gap:24px}
.hero-awards-btn{border-color:rgba(255,255,255,.82);color:#fff;background:rgba(0,0,0,.12)}
.hero-awards-btn:hover{background:#fff;color:#241914;border-color:#fff}

/* Match the Awards banner typography to the other interior pages and lower it below the header. */
.awards-hero{
  min-height:560px;
  align-items:flex-end;
  padding:0 0 78px;
}
.awards-hero-content{max-width:760px}
.awards-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(3rem,5.2vw,5.8rem);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.02em;
  margin:12px 0 20px;
}
.awards-hero p{
  max-width:680px;
  font-size:clamp(1rem,1.25vw,1.15rem);
  line-height:1.7;
}
@media(max-width:1200px){
  .site-header .main-nav{gap:16px;font-size:.76rem}
  .site-header .header-book{min-width:154px;padding:0 17px;font-size:.78rem}
}
@media(max-width:980px){
  .site-header .header-book{display:none}
  .awards-hero{min-height:500px;padding-bottom:60px}
}
@media(max-width:680px){
  .hero-actions{gap:10px}
  .hero-actions .btn{padding-left:17px;padding-right:17px}
  .awards-hero{min-height:460px;padding-bottom:48px}
  .awards-hero h1{font-size:clamp(2.7rem,13vw,4rem)}
  .awards-hero p{font-size:.98rem}
}


/* Awards gold script typography alignment — v2.0.44 */
.awards-media-page .section-eyebrow{
  font-family:var(--script-font,'Snell Roundhand','Segoe Script','Brush Script MT',cursive)!important;
  font-size:clamp(1.35rem,2vw,2rem)!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  font-weight:500!important;
  color:var(--gold)!important;
  display:inline-block;
  margin-bottom:12px;
}
@media(max-width:680px){
  .awards-media-page .section-eyebrow{font-size:1.55rem!important;}
}


/* Awards section heading typography alignment — v2.0.45 */
.awards-media-page .awards-intro h2,
.awards-media-page .section-heading h2,
.awards-media-page .awards-cta h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.3rem,4vw,3.9rem);
  line-height:1.08;
  font-weight:400;
  letter-spacing:0;
}
@media(max-width:680px){
  .awards-media-page .awards-intro h2,
  .awards-media-page .section-heading h2,
  .awards-media-page .awards-cta h2{
    font-size:clamp(2rem,10vw,2.8rem);
    line-height:1.08;
  }
}


/* Site-wide warm bronze CTA buttons — v2.0.46 */
:root{--opulence-bronze:#b57a3a;--opulence-bronze-dark:#925d27}
.btn,
.site-header .header-book,
.op-contact-submit{
  background:linear-gradient(135deg,var(--opulence-bronze),var(--opulence-bronze-dark))!important;
  border-color:var(--opulence-bronze)!important;
  color:#fff!important;
  transition:background .28s ease,border-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease;
}
.btn:hover,
.btn:focus-visible,
.site-header .header-book:hover,
.site-header .header-book:focus-visible,
.op-contact-submit:hover,
.op-contact-submit:focus-visible{
  background:#050505!important;
  border-color:#050505!important;
  color:#fff!important;
}


/* Opulence v2.0.49 — final CTA and marquee refinements */
html body .promo-marquee{
  background:#b87333!important;
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.28)!important;
}
