/* The original centred hero, with full-width scenes and no location navigation. */
.brand{display:block;line-height:1}
.brand-logo{width:270px;height:auto;max-width:none}
.site-header{height:140px;gap:26px}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:20px;line-height:1.4;font-weight:600;color:var(--cream)}
.header-phone small{font-size:12px;line-height:1.5;font-weight:400;color:var(--gold)}
.header-phone>svg{display:none}
.site-footer .brand-logo{width:245px}
.hero{height:auto;padding:0 0 64px;isolation:isolate;background:#173a34;overflow:hidden}
.hero-copy{position:relative;z-index:3;display:block;text-align:center;max-width:1100px;margin:0 auto;padding:30px 24px 0}
.hero .eyebrow{display:flex;justify-content:center;align-items:center;gap:22px;color:#efcc9e;font-size:18px;line-height:1.6;letter-spacing:.11em;margin:0 0 24px}
.hero .eyebrow:before,.hero .eyebrow:after{content:'';height:1px;width:42px;background:#ddbd8a80}
.hero h1{font-size:clamp(62px,5.65vw,92px);line-height:1.01;letter-spacing:-.025em;margin:0 0 27px;color:#f0d5b0;text-shadow:0 3px 25px #071b1744}
.hero h1 em{color:#efcc9e}
.hero-intro{max-width:680px;margin:auto}
.hero-description{font-size:16px;line-height:1.8;color:#d5dfd4;margin:0 0 26px}
.hero-buttons{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:30px;margin:0}
.hero-buttons .button{font-size:14px;min-height:56px;padding:15px 28px}
.hero-buttons .text-link{font-size:14px;min-height:44px}
.hero-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:1672/941;margin:20px 0 0;container-type:inline-size;overflow:hidden}
.hero-locations,.hero-location,.hero-confetti{position:absolute;inset:0;width:100%;height:100%}
.hero-locations{z-index:0;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 4%,#000 95%,transparent)}
.hero-location{max-width:none;object-fit:fill;opacity:0;transition:opacity 850ms ease-in-out}
.hero-location.is-active{opacity:1}
.hero-plaque{position:absolute;z-index:2;left:6.8%;top:73.1%;width:19.6%;height:12.2%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#58371d;text-align:center;font-family:var(--serif);line-height:1;overflow:hidden;transform:rotate(-3deg);pointer-events:none}
.hero-plaque-greeting{font-size:2.25cqw;font-weight:600;line-height:.95;letter-spacing:-.02em}
.hero-plaque-signature{display:block;max-width:94%;font-size:.93cqw;font-weight:600;line-height:1.15;margin-top:.35cqw;overflow-wrap:anywhere;text-wrap:balance}
.hero-plaque.is-long .hero-plaque-greeting{font-size:1.95cqw}
.hero-plaque.is-long .hero-plaque-signature{font-size:.85cqw;line-height:1.1;margin-top:.2cqw}
.scene-visualization{position:absolute;z-index:3;right:3%;bottom:4%;color:#fff3e4;text-shadow:0 1px 4px #102b26;font-size:9px;line-height:1.5;pointer-events:none}
.hero-confetti{z-index:2;overflow:hidden;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent)}
.confetti-piece{position:absolute;top:-25px;left:var(--x);width:var(--w);height:var(--h);background:var(--piece-color);border-radius:1px;opacity:0;animation:festive-fall var(--duration) linear var(--delay) infinite}
.confetti-piece.is-tinsel{background:linear-gradient(90deg,#9e7338,#ffe7b2,#c09752);border-radius:2px}
@keyframes festive-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg) rotateY(0deg)}12%{opacity:var(--opacity)}85%{opacity:var(--opacity)}100%{opacity:0;transform:translate3d(var(--drift),65cqw,0) rotate(300deg) rotateY(600deg)}}
.scene-paused .confetti-piece{animation-play-state:paused}
.hero-bottom{bottom:20px;align-items:center;font-size:11px;gap:18px}
.hero-bottom>span{gap:10px}
.hero-ornament{width:22px;height:22px;object-fit:contain}
.scene-pause-accessible{position:absolute;z-index:6;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.scene-pause-accessible:focus-visible{width:auto;height:auto;right:24px;bottom:65px;clip-path:none;margin:0;padding:12px 20px;border-radius:40px;background:var(--cream);color:var(--deep);min-height:44px}
@media(max-width:1500px){.header-actions .button{display:none}}
@media(max-width:1200px){.brand-logo{width:240px}.desktop-nav{gap:20px}.hero h1{font-size:72px}.hero .eyebrow{font-size:16px}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header{height:120px}.header-actions{margin-left:auto}.hero-copy{padding-top:26px}}
@media(max-width:800px){.hero h1{font-size:62px}.hero-description{font-size:15px}.hero .eyebrow{font-size:14px}.hero .eyebrow:before,.hero .eyebrow:after{width:25px}.hero-bottom{font-size:10px}}
@media(max-width:650px){
  .site-header{height:157px;padding:14px 19px 10px;gap:4px 14px;display:grid;grid-template-columns:1fr 44px;grid-template-rows:80px auto}
  .brand-logo{width:180px}
  .header-actions{grid-column:1/-1;grid-row:2;margin:0;justify-content:center}
  .header-phone{width:auto;height:auto;align-items:center;justify-content:center;border:0;border-radius:0;font-size:19px;min-height:46px}
  .header-phone small{font-size:11px}
  .header-phone>span{display:block}
  .menu-toggle{grid-column:2;grid-row:1;width:44px;height:44px}
  .hero{padding-bottom:60px}
  .hero-copy{padding:25px 20px 0}
  .hero .eyebrow{font-size:12px;line-height:1.65;max-width:290px;margin:0 auto 20px;letter-spacing:.08em}
  .hero .eyebrow:before,.hero .eyebrow:after{display:none}
  .hero h1{font-size:clamp(42px,10.8vw,59px);line-height:1.02;margin-bottom:22px}
  .hero-description{font-size:14px;line-height:1.8;max-width:340px;margin:0 auto 21px}
  .hero-copy-break{display:none}
  .hero-buttons{flex-direction:column;gap:4px}
  .hero-buttons .button{font-size:12px;min-height:50px;padding:12px 24px}
  .hero-buttons .text-link{font-size:12px;min-height:44px}
  .hero-stage{margin-top:14px}
  .hero-plaque-signature{font-size:1.05cqw}
  .scene-visualization{font-size:7px;right:3%;bottom:4%}
  .hero-bottom{justify-content:center;left:14px;right:14px;bottom:20px;font-size:9px}
  .hero-bottom>a{display:none}
  .hero-ornament{width:18px;height:18px}
  .site-footer .brand-logo{width:245px}
}
@media(max-width:370px){.site-header{padding:0 13px;gap:8px}.brand-logo{width:168px}.hero-copy{padding-left:16px;padding-right:16px}.hero h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){.hero-location{transition:none}.confetti-piece{display:none}}
