
:root{
  --cream:#fff7ec; --cream2:#fff1df; --pink:#d4145a; --pink-dark:#a70f45;
  --teal:#177f99; --brown:#6a4028; --ink:#171717; --white:#fff;
  --shadow:0 16px 45px rgba(95,49,38,.12); --radius:24px; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button{font:inherit}
.container{width:min(var(--max),calc(100% - 32px));margin:auto}
.topbar{background:var(--pink);color:white;text-align:center;padding:8px 16px;font-weight:800;letter-spacing:.03em;font-size:.9rem}.topbar a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,247,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,20,90,.12)}
.nav{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;min-height:142px;gap:4px 20px;padding:9px 0}.brand{width:100%;justify-content:center}
.brand{display:flex;align-items:center;gap:10px;font-weight:1000}.brand-logo{width:122px;height:108px;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 18px rgba(73,36,20,.16))}.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--pink);display:grid;place-items:center;color:#fff;font-size:1.3rem;box-shadow:0 6px 20px rgba(212,20,90,.25)}
.brand span{color:var(--pink)} .brand small{display:block;color:var(--teal);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.navlinks{display:flex;gap:24px;align-items:center;font-weight:800}.navlinks a:hover,.navlinks a.active{color:var(--pink)}
.menu-toggle{display:none;border:0;background:none;font-size:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:900;border:2px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--pink);color:#fff;box-shadow:0 8px 24px rgba(212,20,90,.22)}.btn-secondary{background:#fff;color:var(--teal);border-color:var(--teal)}
.hero{padding:62px 0 48px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px}.eyebrow{color:var(--teal);font-weight:1000;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}.hero h1{font-size:clamp(2.7rem,7vw,5.7rem);line-height:.93;margin:.2em 0 .22em;color:var(--pink);letter-spacing:-.055em}.hero h1 span{display:block;color:var(--teal)}.hero p{font-size:1.14rem;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-card{position:relative;background:linear-gradient(145deg,#fff,#ffe9ef);border-radius:36px;box-shadow:var(--shadow);padding:28px;min-height:520px;display:grid;place-items:center;border:1px solid rgba(212,20,90,.12)}
.hero-card:before,.hero-card:after{content:'♥';position:absolute;color:rgba(212,20,90,.18);font-size:5rem}.hero-card:before{top:20px;right:30px}.hero-card:after{bottom:18px;left:28px;font-size:3.5rem}.mascot{width:min(100%,470px);border-radius:30px;mix-blend-mode:multiply;animation:mrsEntrance 5s cubic-bezier(.2,.75,.2,1) 1 both;transform-origin:50% 75%}
@keyframes mrsEntrance{0%{opacity:0;transform:translateX(70%) rotate(8deg) scale(.85)}18%{opacity:1;transform:translateX(0) rotate(-5deg) scale(1.03)}34%{transform:rotate(5deg) translateY(-6px)}50%{transform:rotate(-5deg) translateY(2px)}66%{transform:rotate(3deg) translateY(-4px)}82%{transform:rotate(-2deg) translateY(0)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.mascot{animation:none}.btn{transition:none}}
.section{padding:72px 0}.section.alt{background:#fff}.section-head{text-align:center;max-width:760px;margin:0 auto 34px}.section-head h2{font-size:clamp(2rem,5vw,3.6rem);margin:.1em 0;color:var(--pink);letter-spacing:-.04em}.section-head p{font-size:1.05rem}.kicker{color:var(--teal);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards.feature-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:940px}.cards.feature-three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(106,64,40,.08)}.card-media{aspect-ratio:3/2;height:auto;width:100%;object-fit:contain;object-position:center;background:linear-gradient(145deg,#fffaf4,#ffeaf1);padding:8px}.card-body{padding:20px}.card h3{margin:0 0 6px;color:var(--teal);font-size:1.3rem}.price{color:var(--pink);font-weight:1000;font-size:1.2rem}
.baked-media{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(145deg,#fffaf4,#ffeaf1)}.baked-media img{width:100%;aspect-ratio:3/2;object-fit:contain;padding:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.panel{background:linear-gradient(145deg,#fff,#fff2e5);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.panel h2,.panel h3{color:var(--pink)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:0;list-style:none}.checks li:before{content:'♥';color:var(--pink);margin-right:8px}.big-callout{background:var(--teal);color:white;border-radius:30px;padding:36px;box-shadow:var(--shadow)}.big-callout h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin:0 0 16px}.big-callout .price{color:white;font-size:1.8rem}.big-callout img{border-radius:22px;margin-top:22px;width:100%;aspect-ratio:3/2;object-fit:contain;object-position:center;background:#fffaf4}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hours{display:grid;grid-template-columns:1fr auto;gap:8px 20px}.muted{color:#655b55}.notice{padding:14px 16px;border-radius:14px;background:#fff4c8;border:1px solid #eed47a;color:#614d00;font-weight:650}
.page-hero{padding:54px 0 30px}.page-hero h1{font-size:clamp(2.8rem,7vw,5rem);color:var(--pink);margin:.15em 0;letter-spacing:-.05em}.page-hero p{font-size:1.08rem;max-width:760px}
.menu-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.menu-box{background:#fff;border-radius:22px;padding:24px;box-shadow:var(--shadow);border-top:5px solid var(--pink)}.menu-box.teal{border-top-color:var(--teal)}.menu-box h2{margin:0 0 12px;color:var(--pink)}.menu-box.teal h2{color:var(--teal)}.menu-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed #e7d5c6}.menu-row:last-child{border-bottom:0}.menu-row strong:last-child{white-space:nowrap;color:var(--pink)}.menu-list{padding-left:18px}.menu-list li{margin:4px 0}.menu-note{font-size:.9rem;color:#665b54;margin-top:12px}
.board-grid{display:grid;gap:28px}.board{background:#fff;border-radius:20px;padding:14px;box-shadow:var(--shadow)}.board a{display:block}.board img{border-radius:13px;width:100%;height:auto;object-fit:contain}.board-note{text-align:center;margin:10px 0 2px;color:var(--teal);font-weight:850;font-size:.95rem}
.cta{background:linear-gradient(120deg,var(--pink),#e83879);color:#fff;border-radius:32px;padding:42px;text-align:center}.cta h2{font-size:clamp(2rem,5vw,3.5rem);margin:0 0 12px}.cta .btn{background:#fff;color:var(--pink)}
.reward-hero{padding:62px 0;background:linear-gradient(120deg,#fff2f7,#effcfd)}.reward-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}.reward-hero h1{font-size:clamp(3rem,7vw,5.5rem);line-height:.95;color:var(--pink);margin:.18em 0}.reward-hero p{font-size:1.12rem;max-width:680px}.reward-badge{background:linear-gradient(145deg,var(--pink),#ef4a84);color:#fff;border-radius:30px;padding:34px;text-align:center;box-shadow:var(--shadow)}.reward-badge strong{display:block;font-size:clamp(3rem,8vw,5.5rem);line-height:1}.reward-badge span{display:block;font-size:1.25rem;font-weight:900;margin-top:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{background:#fff;border-radius:22px;padding:25px;box-shadow:var(--shadow);border-top:5px solid var(--teal)}.step-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;font-weight:1000;margin-bottom:14px}.step h3{color:var(--pink);font-size:1.3rem;margin:0 0 7px}.reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.reward-card{background:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow);border:1px solid rgba(106,64,40,.08)}.reward-card h2{color:var(--pink);font-size:2rem;margin:0 0 8px}.reward-card .reward-value{color:var(--teal);font-size:1.35rem;font-weight:1000}
footer{background:#351f17;color:#fff;padding:40px 0 22px;margin-top:50px}footer .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}footer h3{color:#ff8ab6}footer a{display:block;margin:7px 0;color:#f8eadd}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:18px;font-size:.85rem;color:#decfc7}
.badge{display:inline-flex;border-radius:999px;padding:7px 11px;background:#ffe0eb;color:var(--pink-dark);font-weight:900;font-size:.82rem}.social-row{display:flex;gap:10px;flex-wrap:wrap}.social-pill{border:1px solid #ead3c4;border-radius:999px;padding:9px 12px;background:#fff;font-weight:800}
@media(max-width:900px){.hero-grid,.split,.visit-grid,.reward-hero-grid{grid-template-columns:1fr}.hero-card{min-height:auto}.cards{grid-template-columns:repeat(2,1fr)}.menu-layout{grid-template-columns:1fr}.steps{grid-template-columns:1fr}footer .foot-grid{grid-template-columns:1fr 1fr}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 24px;box-shadow:0 14px 28px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-toggle{display:block}}
@media(max-width:820px){.cards.feature-three{grid-template-columns:1fr}}
@media(max-width:560px){.brand-logo{width:84px;height:76px}.cards,.cards.feature-two,.cards.feature-three,.reward-grid{grid-template-columns:1fr}.hero{padding-top:38px}.hero-card{padding:18px}.section{padding:54px 0}.checks{grid-template-columns:1fr}footer .foot-grid{grid-template-columns:1fr}.topbar{font-size:.78rem}.brand-title{font-size:.9rem}}

.affogato-menu img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:14px;margin:8px 0 14px}.affogato-menu .menu-note{line-height:1.5}
