:root{--ink:#1d1b22;--cream:#faf5ee;--blush:#f3e4e1;--gold:#8a6a1f;--gold-lt:#d9b862;--rose:#a93a55;--rose-dk:#8d2e47}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.7}
h1,h2,h3,.navbar-brand,.display-h{font-family:'Cormorant Garamond',Georgia,serif}
a{color:var(--rose-dk)}
img{max-width:100%}

/* nav */
.br-nav{background:var(--ink);padding:.45rem 0}
.br-nav .navbar-brand{font-size:1.55rem;font-weight:700;color:#fff;letter-spacing:.02em;margin-right:1rem}
.br-nav-logo{height:44px;width:44px}
.br-nav .nav-link{color:rgba(255,255,255,.85);font-size:.92rem;letter-spacing:.04em;white-space:nowrap}
.br-nav .nav-link:hover{color:var(--gold-lt)}
.btn-rose{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:500;letter-spacing:.03em}
.btn-rose:hover{background:var(--rose-dk);border-color:var(--rose-dk);color:#fff}
@media(max-width:1199.98px){.br-nav .navbar-brand{font-size:1.35rem}.br-nav .nav-link{font-size:.85rem;padding-left:.45rem;padding-right:.45rem}}
@media(max-width:991.98px){.br-nav .nav-item.ms-lg-2{margin:.5rem 0}}

/* hero: compact, curved bottom, cool slate wash */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;padding:5rem 0 7rem;background:url('img/hero.webp') center/cover no-repeat;clip-path:ellipse(120% 100% at 50% 0);}
.hero-overlay{position:absolute;inset:0;background:
 radial-gradient(ellipse 75% 65% at 50% 48%,rgba(0,0,0,.35) 0%,rgba(0,0,0,.04) 100%),
 linear-gradient(to bottom,rgba(0,0,0,.30) 0%,rgba(0,0,0,.10) 45%,rgba(0,0,0,.45) 100%),
 rgba(40,55,75,.22)}
.hero-content{max-width:760px;padding:2.5rem 1.75rem;border-radius:18px;background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:#fff}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;font-weight:500;color:#fff;margin-bottom:.75rem;text-shadow:0 0 3px rgba(0,0,0,1),0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.05;color:#fff;text-shadow:0 0 4px rgba(0,0,0,1),0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-subtitle{font-size:1.15rem;margin:1.1rem auto .6rem;max-width:560px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,1),0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero-tagline{font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:1.6rem;text-shadow:0 0 3px rgba(0,0,0,1),0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.9)}

/* shared */
.section{padding:6.5rem 0}
.kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.78rem;font-weight:600;color:var(--gold);margin-bottom:.6rem}
.kicker.light{color:var(--gold-lt)}
.display-h{font-size:clamp(2.2rem,4.5vw,3.3rem);font-weight:600;line-height:1.1}

/* about */
.about{background:var(--cream)}
.pull{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;line-height:1.35;color:var(--gold);border-left:3px solid var(--gold-lt);padding-left:1.25rem;margin-top:1.75rem}
.lead-copy{font-size:1.2rem}
.offer-list{margin-top:1.75rem}
.offer-list li{padding:.55rem 0;border-top:1px solid rgba(29,27,34,.12)}
.offer-list i{color:var(--rose);margin-right:.75rem}

/* menu */
.menu{background:var(--blush)}
.menu-photo{width:100%;height:auto;border-radius:200px 200px 16px 16px;box-shadow:0 20px 50px rgba(29,27,34,.18)}
.menu-h{font-size:1.8rem;font-weight:700;margin-bottom:1rem}
.menu-list{list-style:none;padding:0;margin:0}
.menu-list li{display:flex;align-items:baseline;gap:.6rem;padding:.55rem 0;font-size:1.1rem}
.menu-list .dots{flex:1;border-bottom:2px dotted rgba(29,27,34,.3);transform:translateY(-4px)}
.menu-list .price{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.6rem;color:var(--rose-dk)}
.cat-list{list-style:none;padding:0;margin:0}
.cat-list li{padding:.4rem 0;border-bottom:1px solid rgba(29,27,34,.12)}
.cat-list li::before{content:"\2022";color:var(--rose);margin-right:.6rem}
.note{margin-top:1.75rem;font-size:.95rem}

/* custom cakes */
.cakes{background:var(--ink);color:#e9e4dd}
.cakes-intro{max-width:560px}
.occasion{height:100%;padding:2rem 1.5rem;text-align:center;border:1px solid rgba(217,184,98,.35);border-radius:14px}
.occasion i{font-size:2rem;color:var(--gold-lt)}
.occasion h3{font-size:1.7rem;font-weight:700;color:#fff;margin:.6rem 0 .3rem}
.occasion p{margin:0}
.cake-grid img,.gallery img{width:100%;height:auto;display:block;border-radius:10px}

/* gallery */
.gallery{background:var(--cream)}

/* visit */
.visit{background:var(--blush)}
.info-row{display:flex;gap:1.1rem;margin-bottom:1.6rem}
.info-row>i{font-size:1.5rem;color:var(--rose);line-height:1.3}
.info-row h3{font-size:1.4rem;font-weight:700;margin-bottom:.15rem}
.info-row p{margin:0}
.hours{border-collapse:collapse}
.hours td{padding:.15rem 1.5rem .15rem 0}
.map-wrap{height:100%;min-height:380px;border-radius:14px;overflow:hidden;box-shadow:0 12px 36px rgba(29,27,34,.15)}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* footer */
.br-footer{background:var(--ink);color:#cfc9c0;padding:4rem 0 2.5rem}
.footer-logo{width:110px;height:auto}
.footer-name{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;color:#fff;margin:.25rem 0 0}
.footer-addr{margin-bottom:1.25rem}
.br-footer a{color:var(--gold-lt);text-decoration:none}
.br-footer a:hover{color:#fff}
.footer-links{margin-bottom:1rem}
.footer-links li{margin:0 .6rem}
.social a{font-size:1.5rem;margin:0 .6rem}
.footer-fine{font-size:.8rem;opacity:.7;margin:1.5rem 0 1.25rem}
.powered{display:inline-block;padding:.5rem 1.1rem;border:1px solid rgba(217,184,98,.45);border-radius:999px;font-size:.85rem;color:#fff!important}
.powered:hover{background:rgba(217,184,98,.15)}

@media(max-width:575.98px){
 .section{padding:4.5rem 0}
 .hero{min-height:auto;padding:3.5rem 0 5.5rem}
 .hero-content{padding:2rem 1.1rem}
 .cake-grid{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem}
 .menu-list li{font-size:1rem}
}
.row.g-5{--bs-gutter-x:1.5rem}
@media(min-width:992px){.row.g-5{--bs-gutter-x:3rem}}
