@font-face{font-family:'Beatrice';src:url('assets/fonts/Beatrice-Medium.ttf');font-weight:500;font-display:swap}
@font-face{font-family:'Rons Modgic';src:url('assets/fonts/RonsModgic.ttf');font-display:swap}

:root{
  --red:#EE2340;
  --blush:#FDD8D8;
  --blush-tile:#FFD8D8;
  --blush-light:#FFE1E2;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blush)}
a{color:var(--red);text-decoration:none}
a:hover{opacity:.75}
img{display:block}

.page{background:var(--blush);color:var(--red);font-family:'Beatrice',sans-serif;font-weight:500;min-height:100vh}

.eyebrow{font-size:15px;letter-spacing:.12em}

.btn{display:inline-block;background:var(--red);color:var(--blush);padding:16px 32px;border-radius:999px;font-size:17px}
.btn-sm{padding:12px 24px}
.btn-inv{background:var(--blush);color:var(--red)}

/* top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 48px;gap:24px;flex-wrap:wrap}
.logo-sm{mix-blend-mode:multiply;width:130px;height:auto}
.topbar nav{display:flex;gap:32px;font-size:17px;flex-wrap:wrap;align-items:center}

/* hero */
.hero{margin:0 48px;border:2px solid var(--red);position:relative;height:820px;overflow:hidden;
  background:repeating-conic-gradient(from 0deg at 50% 78%,var(--red) 0deg .5deg,transparent .5deg 4deg)}
.arch{position:absolute;left:0;right:0;margin:0 auto;bottom:-2px;border:2px solid var(--red);border-bottom:0;border-radius:999px 999px 0 0}
.arch-1{top:32px;width:min(78%,860px);background:var(--blush)}
.arch-2{top:50px;width:calc(min(78%,860px) - 36px)}
.arch-3{top:68px;width:calc(min(78%,860px) - 72px);background:var(--blush);display:flex;flex-direction:column;align-items:center;padding-top:150px;text-align:center}
.logo-lg{mix-blend-mode:multiply;width:360px;height:360px;object-fit:cover;margin:-60px 0 -50px;max-width:100%}
.kicker{font-size:15px;letter-spacing:.12em;text-transform:uppercase}
.hero h1{font-weight:500;font-size:34px;line-height:1.2;margin:22px 40px 28px;max-width:560px;text-wrap:balance}

/* services */
.services{padding:112px 48px 40px;text-align:center}
.services h2{font-weight:500;font-size:48px;margin:16px 0 56px;letter-spacing:.02em}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;max-width:1200px;margin:0 auto}
.service{display:flex;flex-direction:column;align-items:center;gap:8px}
.tile{width:100%;aspect-ratio:1;background:var(--blush-tile);border:2px solid var(--red);border-radius:999px 999px 0 0;overflow:hidden}
.tile img{width:100%;height:100%;object-fit:cover}
.service h3{font-weight:500;font-size:22px;letter-spacing:.04em;margin:8px 0 0}
.service p{font-size:16px;max-width:220px;margin:0;text-wrap:pretty}

/* menu */
.menu{margin:96px 48px 0;border:2px solid var(--red);background:var(--blush-light);padding:72px 24px;text-align:center}
.drinks{display:flex;flex-direction:column;gap:44px;margin-top:48px}
.drink-name{font-size:44px;letter-spacing:.03em}
.drink-mix{font-size:20px;margin-top:10px}
.copa{mix-blend-mode:multiply;width:180px;height:180px;margin:40px auto 0}

/* cta */
.cta{margin:96px 48px 0;background:var(--red);color:var(--blush);padding:80px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.cta h2{font-weight:500;font-size:56px;margin:0;letter-spacing:.02em;text-wrap:balance}

/* footer */
footer{padding:56px 48px 48px;text-align:center;font-size:18px;line-height:1.7}
.tagline{margin-top:20px;font-size:16px}

/* tablet: keep logo and nav on one row */
@media (max-width:820px){
  .topbar{padding:16px 24px}
  .logo-sm{width:110px}
  .topbar nav{gap:20px;font-size:16px}
  .hero,.menu,.cta{margin-left:24px;margin-right:24px}
  .services{padding-left:24px;padding-right:24px}
}

/* small screens */
@media (max-width:640px){
  .topbar,.services,footer{padding-left:20px;padding-right:20px}
  .hero,.menu,.cta{margin-left:20px;margin-right:20px}
  .logo-link,.topbar .btn{display:none}
  .topbar{justify-content:center}
  .topbar nav{gap:16px;font-size:15px;justify-content:center}
  .hero{height:600px}
  .arch-1{top:20px;width:94%}
  .arch-2{top:34px;width:calc(94% - 24px)}
  .arch-3{top:48px;width:calc(94% - 48px);padding-top:90px}
  .arch-3 .btn{padding:14px 24px;font-size:16px;white-space:nowrap}
  .logo-lg{width:260px;height:260px}
  .hero h1{font-size:24px;margin:16px 20px 20px}
  .services h2{font-size:36px}
  .drink-name{font-size:28px}
  .drink-mix{font-size:16px}
  .cta h2{font-size:34px}
}
