:root{
  --bg:#f8f2f5;
  --text:#241d23;
  --muted:#6f6871;
  --primary:#b2368f;
  --primary-dark:#8d266f;
  --surface:rgba(255,255,255,.82);
  --shadow:0 24px 70px rgba(51,22,44,.10);
  --shadow-soft:0 12px 30px rgba(51,22,44,.08);
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(236,191,216,.45), transparent 26%),
    linear-gradient(180deg,#fcf7f8 0%, #ffffff 100%);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.bg{
  position:fixed;border-radius:999px;filter:blur(80px);pointer-events:none;z-index:-2;opacity:.65;
}
.bg-a{width:320px;height:320px;left:-100px;top:80px;background:rgba(199,89,161,.24)}
.bg-b{width:420px;height:420px;right:-120px;top:0;background:rgba(255,225,238,.72)}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:60;padding:14px 0 18px;backdrop-filter:blur(14px);
}
.nav-shell{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.94);
  box-shadow:var(--shadow-soft);border-radius:22px;padding:12px 18px;
}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{width:72px;height:72px;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(178,54,143,.16)}
.brand-text strong{display:block;font-size:1.05rem;line-height:1.1}
.brand-text span{display:block;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:28px;font-weight:700;color:#514852}
.nav a:hover{color:var(--primary)}
.menu-toggle{display:none;border:0;background:transparent;font-size:1.7rem;cursor:pointer}

.hero{
  min-height:calc(100vh - 96px);
  display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:18px 0 84px;
}
.glass{
  background:var(--surface);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--shadow);border-radius:34px;
}
.hero-copy{padding:38px}
.eyebrow{
  display:inline-flex;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.88);
  color:var(--primary-dark);border:1px solid rgba(178,54,143,.14);font-size:.96rem;font-weight:800;
}
.eyebrow-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.22)}
.hero h1,.section-head h2,.breakfast-copy h2,.contact-left h2,.contact-right h3,.story-copy h2{
  font-family:'Playfair Display',serif;line-height:.95;letter-spacing:-.03em;margin:18px 0;
}
.hero h1{font-size:clamp(3.3rem,7vw,6rem)}
.hero h1 span{color:var(--primary)}
.lead{font-size:1.18rem;line-height:1.7;color:#403740}
.sublead{color:var(--muted);line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 24px;border-radius:18px;
  font-weight:800;transition:transform .2s ease, box-shadow .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 18px 36px rgba(178,54,143,.28)}
.btn-secondary{background:rgba(255,255,255,.96);border:1px solid rgba(36,29,35,.08)}
.btn-light{background:#fff;color:var(--primary-dark)}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34)}
.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.fact-card{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.98);box-shadow:var(--shadow-soft);border-radius:22px;padding:20px}
.fact-card strong{display:block;color:var(--primary-dark);font-size:1.14rem;margin-bottom:8px}
.fact-card span{color:var(--muted);line-height:1.55}
.hero-frame{position:relative;min-height:760px}
.hero-main{width:100%;height:100%;min-height:760px;object-fit:cover;border-radius:40px;box-shadow:var(--shadow)}
.hero-float{
  position:absolute;width:210px;height:270px;object-fit:cover;border-radius:24px;border:6px solid rgba(255,255,255,.84);
  box-shadow:0 24px 54px rgba(34,22,30,.18)
}
.float-left{left:-22px;bottom:30px}
.float-right{right:-22px;top:40px}

.section{padding:84px 0}
.alt-section{background:linear-gradient(180deg, rgba(252,247,249,.95), rgba(255,255,255,.74))}
.section-head{max-width:900px;margin-bottom:28px}
.section-head.split{max-width:unset;display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:end}
.section-head h2,.breakfast-copy h2,.story-copy h2,.contact-left h2,.contact-right h3{font-size:clamp(2.35rem,4vw,4rem)}
.section-head p,.highlight-copy p,.breakfast-copy p,.story-copy p,.contact-right p,.contact-left>p,.mini-card p{color:var(--muted);line-height:1.75}

.highlight-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.highlight-card{
  grid-column:span 4;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.96);
  box-shadow:var(--shadow-soft);border-radius:28px;transition:transform .2s ease, box-shadow .2s ease;
}
.highlight-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(51,22,44,.10)}
.highlight-card.wide{grid-column:span 12}
.highlight-card img{width:100%;height:320px;object-fit:cover}
.highlight-card.wide img{height:500px}
.highlight-copy{padding:22px}
.highlight-copy h3{margin:0 0 10px;font-size:1.22rem}

.breakfast-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center}
.bullet-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.bullet-list li{
  padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(178,54,143,.10);box-shadow:var(--shadow-soft)
}
.bullet-list li::before{content:"✓";font-weight:800;color:var(--primary);margin-right:10px}
.stack-wrap{position:relative;min-height:680px}
.stack-main{width:100%;height:100%;min-height:680px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}
.stack-small{
  position:absolute;width:210px;height:250px;object-fit:cover;border-radius:22px;border:6px solid rgba(255,255,255,.84);box-shadow:0 20px 46px rgba(34,22,30,.16)
}
.stack-small.top{right:-18px;top:34px}
.stack-small.bottom{left:-18px;bottom:34px}

.dessert-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
.dessert-feature img{width:100%;height:620px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.dessert-list{display:grid;gap:18px}
.mini-card{
  display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;background:rgba(255,255,255,.94);border-radius:24px;
  padding:14px;border:1px solid rgba(255,255,255,.96);box-shadow:var(--shadow-soft)
}
.mini-card img{width:100%;height:150px;object-fit:cover;border-radius:18px}
.mini-card h3{margin:0 0 6px;font-size:1.12rem}

.story-section{background:linear-gradient(180deg, rgba(250,246,248,.96), rgba(255,255,255,.7))}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.story-visual img{width:100%;height:560px;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}
.story-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.story-box{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.98);box-shadow:var(--shadow-soft);border-radius:20px;padding:18px}
.story-box strong{display:block;color:var(--primary-dark);margin-bottom:8px}
.story-box span{color:var(--muted);line-height:1.5}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:16px}
.gallery-item{overflow:hidden;border-radius:24px;box-shadow:var(--shadow-soft)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}

.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:26px}
.contact-left{background:linear-gradient(135deg,#8f276f,#b3368f);color:#fff;border-radius:32px;padding:34px;box-shadow:var(--shadow)}
.contact-left p,.contact-left strong{color:rgba(255,255,255,.97)}
.contact-info{display:grid;gap:18px;margin:26px 0}
.contact-info strong{display:block;opacity:.84;margin-bottom:6px;font-size:.92rem}
.contact-info p{margin:0;font-size:1.12rem;font-weight:700;line-height:1.45}
.contact-right{
  background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.98);box-shadow:var(--shadow-soft);border-radius:32px;padding:34px
}
.contact-right h3{font-family:'Inter',system-ui,sans-serif;font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.02em;margin-top:0}
.hours{background:rgba(255,255,255,.94);border:1px solid rgba(36,29,35,.08);border-radius:22px;padding:14px 16px}
.hours div{display:flex;justify-content:space-between;gap:18px;padding:10px 0}
.hours span:last-child{font-weight:800}
.notes-grid{display:grid;grid-template-columns:.92fr 1fr;gap:16px;margin-top:18px}
.mini-box{border-radius:20px;padding:18px 16px;background:#f1e6ee}
.note-box{background:rgba(255,255,255,.96);border:1px solid rgba(36,29,35,.08)}
.mini-box span{display:block;font-size:.84rem;text-transform:uppercase;letter-spacing:.16em;color:var(--primary-dark);font-weight:800;margin-bottom:8px}
.mini-box strong{font-size:1.95rem}
.note-box p{margin:0}

.footer{padding:30px 0 44px;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid rgba(36,29,35,.08);padding-top:22px}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-logo{width:66px;height:66px;object-fit:cover;border-radius:14px}
.footer-brand strong{display:block}
.footer-brand span{display:block;color:var(--muted);margin-top:4px}

@media (max-width:1120px){
  .hero,.breakfast-grid,.dessert-grid,.story-grid,.contact-grid,.section-head.split{grid-template-columns:1fr}
  .highlight-card{grid-column:span 6}
  .highlight-card.wide{grid-column:span 12}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .hero-frame{min-height:620px}
  .hero-main{min-height:620px}
}
@media (max-width:860px){
  .nav{
    display:none;position:absolute;left:16px;right:16px;top:calc(100% + 10px);flex-direction:column;align-items:flex-start;gap:16px;
    background:rgba(255,255,255,.97);border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)
  }
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{min-height:auto;padding-top:14px}
  .hero-copy{padding:28px}
  .fact-grid,.notes-grid,.story-boxes,.gallery-grid{grid-template-columns:1fr}
  .hero-float,.stack-small{display:none}
  .dessert-feature img,.stack-main,.story-visual img{height:420px;min-height:420px}
  .mini-card{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:620px){
  .brand-text{display:none}
  .brand-logo{width:68px;height:68px}
  .hero h1{font-size:2.9rem}
  .btn{width:100%}
  .highlight-card,.highlight-card.wide{grid-column:span 12}
  .highlight-card img,.highlight-card.wide img{height:280px}
  .section{padding:62px 0}
  .contact-left,.contact-right{padding:24px}
}
