/* Final visual rebuild for Cloudflare Pages: all decorative artwork is local raster PNG. */
:root{
  --ivory:#fbf7ee;
  --paper:#fffaf2;
  --royal-navy:#0b2146;
  --oxford-blue:#071a37;
  --teal:#08777b;
  --teal-dark:#055b61;
  --baby-pink:#efb8c6;
  --gold:#b48a45;
  --ink:#26343b;
}
html,body{background-color:var(--ivory)}
body{
  background-image:linear-gradient(rgba(251,247,238,.965),rgba(251,247,238,.965)),url('assets/ivory-paper.jpg') !important;
  background-size:auto,520px auto !important;
  background-repeat:repeat !important;
}
/* Remove the Pantone bar from the deployed site. */
.palette-strip{display:none!important}
.site-header{background:var(--royal-navy)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.nav-wrap{min-height:72px!important}
.brand-mark{border-color:var(--baby-pink)!important}
.brand-text,.script,.page-title,h1,h2{font-family:'Great Vibes','Segoe Script','Brush Script MT',cursive!important}
.nav-links a{letter-spacing:.11em!important}
/* Kill the old generated line art completely. */
body::before,body::after,.hero::before,.hero::after,.page-hero::after,.site-footer::before{background-image:none!important;content:none!important}
/* Rich raster floral decoration. */
.hero{min-height:690px!important;padding:5.4rem 1.25rem 4.6rem!important;isolation:isolate;background:transparent!important}
.hero::before,.hero::after{content:''!important;display:block!important;position:absolute!important;z-index:-1!important;pointer-events:none!important;background-image:url('assets/floral-jewel.png')!important;background-repeat:no-repeat!important;background-size:contain!important;width:330px!important;height:560px!important;opacity:1!important;aspect-ratio:auto!important}
.hero::before{left:-6px!important;bottom:-8px!important;background-position:left bottom!important}
.hero::after{right:-6px!important;top:-3px!important;transform:scaleX(-1) rotate(-3deg)!important;background-position:left top!important}
.hero-content{max-width:860px!important;padding:2.2rem 1rem!important;position:relative!important;z-index:2!important}
.hero h1{font-size:clamp(4.6rem,8vw,7.9rem)!important;line-height:.86!important;color:var(--royal-navy)!important;text-shadow:0 2px 0 rgba(255,255,255,.75)!important}
.hero h1 span{display:block!important}
.hero h1 .amp{font-size:.58em!important;color:var(--teal)!important;margin:.12em 0!important}
.hero .kicker{color:var(--gold)!important}
.hero-meta{color:var(--royal-navy)!important;letter-spacing:.17em!important}
.hero .script{color:var(--teal)!important;font-size:1.8rem!important}
/* Lace corners use a real PNG from the approved mock-up rather than SVG paths. */
.section,.page-hero,.panel,.card,.feature-link,.menu-category,.guest-card{position:relative}
.page-hero,.section.compact:first-of-type{overflow:hidden}
.page-hero::before,.section.compact:first-of-type::before{
  content:'';position:absolute;left:0;top:0;width:210px;height:145px;pointer-events:none;z-index:0;
  background:url('assets/lace-pink.png') left top/contain no-repeat;opacity:.68;
}
.page-hero > *,.section.compact:first-of-type > *{position:relative;z-index:1}
/* Subtle floral accents on content pages. */
.page-hero::after{content:''!important;display:block!important;position:absolute!important;right:-22px!important;bottom:-70px!important;width:210px!important;height:300px!important;background:url('assets/floral-jewel.png') left bottom/contain no-repeat!important;transform:scaleX(-1)!important;opacity:.92!important;pointer-events:none!important}
.panel::after,.menu-category::after,.guest-card::after{
  content:'';position:absolute;right:-12px;bottom:-16px;width:105px;height:145px;background:url('assets/floral-jewel.png') left bottom/contain no-repeat;transform:scaleX(-1);opacity:.15;pointer-events:none;
}
.panel,.card,.feature-link,.menu-category,.guest-card{background:rgba(255,252,245,.88)!important;border-color:rgba(13,33,71,.13)!important;box-shadow:0 14px 38px rgba(13,33,71,.08)!important}
.btn{background:var(--teal)!important;border-color:var(--teal)!important}
.btn.secondary,.btn.ghost{color:var(--royal-navy)!important;border-color:rgba(13,33,71,.3)!important}
.site-footer{background:var(--royal-navy)!important}
.site-footer::after{content:'';position:absolute;left:0;bottom:0;width:240px;height:125px;background:url('assets/lace-pink.png') left bottom/contain no-repeat;filter:saturate(.4) brightness(1.55);opacity:.25;pointer-events:none}
@media(max-width:900px){
 .hero{min-height:620px!important}
 .hero::before,.hero::after{width:225px!important;height:390px!important;opacity:.9!important}
 .hero h1{font-size:clamp(4rem,13vw,6.2rem)!important}
 .page-hero::after{width:150px!important;height:210px!important}
}
@media(max-width:620px){
 .hero{min-height:560px!important;padding:4.4rem 1rem 3.8rem!important}
 .hero::before{left:-70px!important;opacity:.72!important}
 .hero::after{right:-80px!important;opacity:.65!important}
 .hero-content{padding:1.2rem .4rem!important}
 .hero .script{font-size:1.45rem!important}
}
