/* Home page only — closely follows the client-approved Oct 9 Legacy mockup.
   Existing secondary pages intentionally unchanged until individually reviewed. */
body:has(.approved-hero){font-family:Georgia,'Times New Roman',serif;background:#050506}
body:has(.approved-hero) .container{width:min(calc(100% - 46px),1260px)}
body:has(.approved-hero) .site-header{position:relative;top:auto;height:74px;background:#050506;border-color:rgba(230,222,216,.35);backdrop-filter:none}
body:has(.approved-hero) .nav-inner{max-width:1180px;padding:0 24px}
body:has(.approved-hero) .brand img{width:143px;height:65px}
body:has(.approved-hero) .site-nav{gap:38px}
body:has(.approved-hero) .site-nav a{font:normal 17px Georgia,serif;text-transform:none;letter-spacing:0;padding:10px 0;color:#f7f3ee}
body:has(.approved-hero) .nav-cta{border-radius:1px;min-width:145px;min-height:37px;padding:8px 20px;background:#080808;border:1px solid #dcd9d5;color:#f9f9f8;box-shadow:none;font:normal 12px Georgia,serif;letter-spacing:.08em}
body:has(.approved-hero) .nav-cta .icon{display:none}
body:has(.approved-hero) .site-nav a:after{bottom:4px}
body:has(.approved-hero) .btn-outline{border-radius:1px;font:normal 14px Georgia,serif;letter-spacing:.12em}
body:has(.approved-hero) .btn:not(.nav-cta):not(.btn-outline){font:normal 14px Georgia,serif;letter-spacing:.1em}
body:has(.approved-hero) .eyebrow{font:normal 13px Georgia,serif;letter-spacing:.22em;color:#ded9d4}
body:has(.approved-hero) h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
/* Hero: supplied logo exactly, with original approved floral/candle border photography */
.approved-hero{position:relative;min-height:440px;height:440px;background:#050505 url('home-hero-florals.webp') center center/100% 100% no-repeat;border-bottom:1px solid #6b6663}
.approved-hero.swirl-area::before{z-index:0;opacity:.38;background-size:cover;mix-blend-mode:screen}
.approved-hero.swirl-area::after{z-index:0;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 23%,rgba(0,0,0,.14) 76%,transparent 100%)}
.approved-hero .hero-inner{z-index:1;position:relative;width:min(90%,870px);padding:12px 0 20px}
.approved-hero .hero-logo{width:min(100%,790px)}
.approved-hero .hero-logo img{max-width:100%;animation:logo-reveal 1.65s ease-out both;filter:drop-shadow(0 0 12px rgba(255,255,255,.08))}
.approved-hero .hero-logo::after{animation:logo-sweep 2.8s 1s ease-out both}
.approved-hero .hero-scroll{height:31px;width:31px;border:none;margin:-10px auto 0}
.approved-hero .hero-scroll svg{width:22px;height:22px;stroke-width:1.5}
/* About: centered title, description left, six small icon details right, as approved */
.approved-about{padding:26px 0 34px;border-bottom:1px solid #77706c;position:relative;overflow:hidden}
.approved-about:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(56,54,53,.12),transparent 55%),repeating-linear-gradient(20deg,transparent 0 130px,rgba(202,190,185,.015) 132px,transparent 136px 220px);pointer-events:none}
.approved-about .approved-about-heading{position:relative;text-align:center;margin-bottom:14px}
.approved-about .approved-about-heading h2{font-size:clamp(30px,3.25vw,46px);line-height:1.2;margin:3px 0 0;color:#f2efef}
.approved-about .about-grid{position:relative;grid-template-columns:1.04fr 1fr;gap:60px;align-items:start}
.approved-about .about-copy{padding:0 0 0 18px}
.approved-about .about-copy p{font:normal clamp(15px,1.37vw,18px)/1.44 Georgia,serif;color:#eee;margin:0 0 16px}
.approved-about .about-copy .lead{color:#eee}
.approved-about .about-copy .btn{min-width:300px;min-height:44px;margin:3px 0 0}
.approved-about .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 21px}
.approved-about .feature-item{gap:12px;padding:8px 0 11px;min-height:83px}
.approved-about .feature-item:nth-last-child(-n+2){border-bottom:0}
.approved-about .feature-icon{width:54px;height:54px;border-color:#d2c4af;box-shadow:0 0 4px rgba(210,180,127,.22)}
.approved-about .feature-icon svg{width:27px;height:27px;color:#f3f2ef}
.approved-about .feature-item h3{font:normal clamp(11px,1.13vw,15px) Georgia,serif;letter-spacing:0;color:#f8f8f6}
.approved-about .feature-item p{font:normal clamp(10px,1vw,13px)/1.35 Georgia,serif;letter-spacing:0;color:#cfcac7;margin:4px 0 0}
/* Testimonial panel using candlelit floral edges of approved version */
.approved-reviews{padding:23px 0 22px;min-height:232px;position:relative;background:#0b0808 url('home-review-candles.webp') center center/100% 100% no-repeat;border-bottom:1px solid #a79b90}
.approved-reviews::before,.approved-reviews::after{display:none}
.approved-reviews .container{position:relative}
.approved-reviews h2{font:italic normal clamp(33px,3.65vw,47px) Georgia,serif;margin:3px 0 2px}
.approved-reviews .review-widget{min-height:103px;max-width:680px}
.approved-reviews .review-placeholder{font:italic 23px/1.4 Georgia,serif;margin:4px 0}
.approved-reviews .review-note{font:normal 13px/1.4 Georgia,serif;color:#d3cdca}
.approved-reviews .pending-review-stars{font:normal 21px Georgia,serif;color:#eed39a;letter-spacing:.14em}
.approved-reviews .review-quote{font:italic 24px/1.32 Georgia,serif}
.approved-reviews .review-attribution{font:normal 13px Georgia,serif}
.approved-reviews .review-stars{color:#fbd55f}
/* Approved gallery is a SHORT strip with exactly four pictures */
body:has(.approved-hero) .gallery-section{padding:17px 0 18px;border-bottom:1px solid #86796b}
body:has(.approved-hero) .gallery-section .section-header{margin-bottom:13px}
body:has(.approved-hero) .gallery-section h2{font-size:clamp(28px,3.4vw,41px);margin:3px 0 0;color:#f5f2f0}
body:has(.approved-hero) .gallery-preview{gap:8px}
body:has(.approved-hero) .photo-tile{aspect-ratio:2.11;border-color:rgba(220,209,197,.62)}
body:has(.approved-hero) .photo-tile .caption{display:none}
body:has(.approved-hero) .gallery-footer{margin-top:11px}
body:has(.approved-hero) .gallery-footer .btn{min-height:39px;min-width:266px;padding:7px 17px}
body:has(.approved-hero) .gallery-footer .icon{display:none}
body:has(.approved-hero) .demo-note{font:normal 11px/1.2 Arial,sans-serif;margin:7px auto 0;color:#b9b1b2}
/* CTA using approved flower/candle borders */
body:has(.approved-hero) .approved-cta{background:#060606 url('home-cta-roses.webp') center center/100% 100% no-repeat;min-height:194px;padding:24px 0;display:flex;align-items:center}
body:has(.approved-hero) .approved-cta.swirl-area::before{opacity:.3}
body:has(.approved-hero) .approved-cta .container{display:grid;grid-template-columns:1.3fr 1fr;column-gap:20px;align-items:center;max-width:1050px}
body:has(.approved-hero) .approved-cta h2{grid-column:1;font:italic normal clamp(43px,4.4vw,61px)/1 Georgia,serif;margin:0;text-align:center}
body:has(.approved-hero) .approved-cta p{grid-column:1;color:#f4f0ec;font:normal 15px/1.5 Georgia,serif;letter-spacing:.11em;margin:8px 0 0;text-align:center;max-width:630px}
body:has(.approved-hero) .approved-cta .btn{grid-column:2;grid-row:1 / span 2;justify-self:center;min-width:235px;min-height:51px;background:linear-gradient(#fcfcfc,#cbcacb);color:#141414}
/* Matching clean bottom line, official logo, menu, socials and italic slogan */
body:has(.approved-hero) .site-footer{border-top:1px solid #77746f}
body:has(.approved-hero) .footer-main{min-height:100px;gap:24px}
body:has(.approved-hero) .footer-logo{width:145px;flex-shrink:0}
body:has(.approved-hero) .footer-nav{gap:22px}
body:has(.approved-hero) .footer-nav a{font:normal 13px Georgia,serif;color:#efefee;text-transform:none;letter-spacing:0}
body:has(.approved-hero) .social-link{height:34px;width:34px;color:#f2f2f2}
body:has(.approved-hero) .footer-tagline{border-left:1px solid #8a8886;white-space:nowrap;padding-left:19px;font:italic normal 15px Georgia,serif;color:#ece8e4;margin:0}
body:has(.approved-hero) .footer-bottom{font-size:10px;padding:9px 0}
@media(max-width:960px){
  .approved-about .about-grid{gap:22px}
  .approved-about .about-copy{padding:0}
  .approved-about .feature-item{gap:8px}
  .approved-about .feature-icon{width:46px;height:46px}
  body:has(.approved-hero) .site-nav{gap:18px}
  body:has(.approved-hero) .site-nav a{font-size:14px}
  body:has(.approved-hero) .footer-tagline{display:none}
}
@media(max-width:760px){
  body:has(.approved-hero) .site-header{height:70px}
  body:has(.approved-hero) .site-nav{gap:0}
  body:has(.approved-hero) .site-nav a{font:normal 17px Georgia,serif;padding:14px 18px}
  body:has(.approved-hero) .brand img{height:60px;width:132px}
  body:has(.approved-hero) .container{width:min(calc(100% - 32px),540px)}
  .approved-hero{min-height:320px;height:320px;background-size:auto 100%;background-position:center center}
  .approved-hero .hero-inner{width:97%;padding:20px 0}
  .approved-hero .hero-logo{width:96%}
  .approved-hero .hero-scroll{margin:2px auto 0}
  .approved-about{padding:28px 0}
  .approved-about .approved-about-heading{margin-bottom:20px}
  .approved-about .approved-about-heading h2{font-size:31px}
  .approved-about .about-grid{display:block}
  .approved-about .about-copy p{font-size:16px;line-height:1.5}
  .approved-about .feature-grid{margin-top:20px;gap:0 14px}
  .approved-about .feature-item{min-height:86px}
  .approved-about .feature-item h3{font-size:12px}
  .approved-about .feature-item p{font-size:11px}
  .approved-about .about-copy .btn{width:100%;max-width:310px}
  .approved-reviews{min-height:224px;padding:30px 0;background-size:auto 100%}
  .approved-reviews h2{font-size:32px}
  .approved-reviews .review-placeholder{font-size:19px}
  body:has(.approved-hero) .gallery-section h2{font-size:29px}
  body:has(.approved-hero) .gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body:has(.approved-hero) .photo-tile{aspect-ratio:1.86}
  body:has(.approved-hero) .approved-cta{min-height:230px;background-size:auto 100%;padding:30px 0}
  body:has(.approved-hero) .approved-cta .container{display:flex;flex-direction:column;gap:12px}
  body:has(.approved-hero) .approved-cta h2{font-size:38px}
  body:has(.approved-hero) .approved-cta p{font-size:12px;margin:0}
  body:has(.approved-hero) .approved-cta .btn{min-height:43px}
  body:has(.approved-hero) .footer-main{flex-wrap:wrap;justify-content:center;padding:16px 0;gap:15px}
  body:has(.approved-hero) .footer-logo{width:130px}
  body:has(.approved-hero) .footer-nav{justify-content:center;width:100%}
  body:has(.approved-hero) .footer-nav a{font-size:13px}
}
/* Keep decorative SVG light sweeps from creating phantom sideways scrolling. */
html,body{overflow-x:clip}
@media(max-width:760px){.approved-hero{background-size:100% 100%}.approved-reviews{background-size:100% 100%}body:has(.approved-hero) .approved-cta{background-size:100% 100%}}
/* Thin curved gold light traces from the approved artwork, behind the real silver logo. */
.approved-hero.swirl-area::before{background-image:url('hero-gold-sweeps.svg');background-position:center;background-size:100% 100%;opacity:.9;mix-blend-mode:screen}
@media(max-width:760px){
 .approved-reviews{background-image:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.87) 17%,rgba(0,0,0,.88) 84%,rgba(0,0,0,.05)),url('home-review-candles.webp')}
 body:has(.approved-hero) .approved-cta{background-image:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.55) 17%,rgba(0,0,0,.55) 85%,rgba(0,0,0,.1)),url('home-cta-roses.webp')}
}


/* Gold-swirled approved hero artwork now replaces the isolated-logo/black-square reveal.
   The user's selected composition stays intact; only translucent light trails move above it. */
.gold-animated-hero{height:auto!important;min-height:0!important;aspect-ratio:1672 / 941;background:#050505!important;position:relative;overflow:hidden;border-bottom:1px solid #a97c48}
.gold-animated-hero::before,.gold-animated-hero::after{display:none!important}
.gold-hero-stage{position:absolute;inset:0;overflow:hidden;isolation:isolate}
.gold-hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;animation:gold-scene-appear 1.15s ease-out both;pointer-events:none}
.gold-swirl-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none;mix-blend-mode:screen}
.gold-swirl-overlay .trail-glow{stroke:#ffd38a;stroke-width:14;opacity:.50;filter:url(#goldBlur);stroke-dasharray:260 2500;animation:glowing-orbit 6.2s linear infinite}
.gold-swirl-overlay .trail-primary{stroke:url(#goldLine);stroke-width:4;opacity:.82;stroke-dasharray:245 2500;animation:glowing-orbit 6.2s linear infinite}
.gold-swirl-overlay .trail-secondary{stroke:#ffc46a;stroke-width:2.3;opacity:.38;stroke-dasharray:150 2500;animation:glowing-orbit 7.5s linear infinite}
.gold-swirl-overlay .trail-secondary.reverse{animation-direction:reverse}
.gold-swirl-overlay .bottom{animation-duration:6.8s;animation-delay:-2.9s}
.gold-animated-hero .hero-scroll{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);z-index:3;margin:0;background:rgba(0,0,0,.45);border-radius:50%;width:28px;height:28px}
@keyframes gold-scene-appear{from{opacity:0;filter:brightness(.55)}to{opacity:1;filter:brightness(1)}}
@keyframes glowing-orbit{from{stroke-dashoffset:2700}to{stroke-dashoffset:0}}
@media(max-width:760px){.gold-animated-hero{height:auto!important;min-height:0!important;aspect-ratio:1672 / 941;background-size:contain!important}.gold-animated-hero .hero-scroll{width:19px;height:19px;bottom:1%}.gold-animated-hero .hero-scroll svg{height:13px;width:13px}}
@media(prefers-reduced-motion:reduce){.gold-swirl-overlay{display:none}.gold-hero-backdrop{animation:none}}

/* Approved transparent-image animation revision: silver Legacy logo and gold swirls are a
   genuinely transparent PNG, with no opaque black rectangle around the artwork. */
.gold-animated-hero {
  background: #050506 url('home-hero-florals.webp') center center / cover no-repeat !important;
  height: clamp(370px, 38vw, 660px) !important;
  min-height: 370px !important;
  aspect-ratio: auto;
  border-bottom: 1px solid rgba(229,207,166,.55);
}
.gold-animated-hero::before {
  content: ''; display:block !important; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.14) 20%,rgba(0,0,0,.03) 55%,rgba(0,0,0,.13) 85%,rgba(0,0,0,.08));
  pointer-events:none; z-index:0;
}
.gold-hero-stage { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; isolation:isolate; }
.gold-hero-backdrop {
  position:relative; inset:auto; width:min(100%, 1480px); height:100%;
  object-fit:contain; z-index:1;
  opacity:1; will-change:opacity,transform,filter;
  animation:legacy-transparent-reveal 2.1s cubic-bezier(.15,.55,.24,1) both,
            legacy-logo-shimmer 7s ease-in-out 2.1s infinite alternate;
  filter:drop-shadow(0 0 14px rgba(255,188,91,.24));
}
.gold-swirl-overlay {z-index:2; opacity:.95;}
.gold-swirl-overlay .trail-glow {stroke-dasharray:240 2600; stroke-width:10; opacity:.36; animation-duration:5.5s}
.gold-swirl-overlay .trail-primary {stroke-dasharray:200 2600; stroke-width:3; opacity:.79; animation-duration:5.5s}
.gold-swirl-overlay .trail-secondary {stroke-dasharray:180 2700; stroke-width:2.3; opacity:.42; animation-duration:7.6s}
.gold-swirl-overlay .sparklets {opacity:.82;}
@keyframes legacy-transparent-reveal {
  0% {opacity:0; transform:scale(.93); filter:brightness(.34) drop-shadow(0 0 0 transparent)}
  55% {opacity:.9; transform:scale(.985); filter:brightness(.88) drop-shadow(0 0 10px rgba(255,192,100,.08))}
  100% {opacity:1; transform:scale(1); filter:brightness(1) drop-shadow(0 0 14px rgba(255,188,91,.24))}
}
@keyframes legacy-logo-shimmer {
  0%,100% {filter:brightness(.97) drop-shadow(0 0 13px rgba(255,178,65,.18))}
  55% {filter:brightness(1.08) drop-shadow(0 0 23px rgba(255,194,98,.36))}
}
@media(max-width:760px) {
  .gold-animated-hero {height: min(65vw, 320px) !important; min-height: 205px !important;
    background-position:center center !important; background-size:auto 100% !important; }
  .gold-hero-backdrop { width:100%; height:100%; }
  .gold-swirl-overlay {width:100%;height:100%;}
}
@media(prefers-reduced-motion:reduce) {
  .gold-hero-backdrop {animation:none;opacity:1;transform:none;filter:none;}
  .gold-swirl-overlay {display:none;}
}
/* Fix sizing of the transparent PNG inside the responsive hero: avoid intrinsic-height overflow. */
.gold-animated-hero {height:clamp(450px,49vw,730px) !important; min-height:450px !important;}
.gold-hero-stage {display:flex; align-items:center; justify-content:center;}
.gold-hero-backdrop {width:100%;height:100%;max-height:100%;min-width:0;min-height:0;align-self:center;object-fit:contain;}
@media(max-width:760px){.gold-animated-hero {height:min(65vw,320px) !important;min-height:205px !important;}}
