.site-header{
  --nav-beige:#f5eadc;
  --mobile-nav-top:72px;
  height:86px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 4vw;
  position:sticky;
  top:0;
  background:#fffefbfa;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid #e8e1e8;
  z-index:120;
  overflow:visible;
}
.site-header nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px)}
.nav-right{justify-content:flex-end}
.site-header nav a{color:var(--nav-beige);text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;position:relative}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--pink);transition:.25s}
.site-header nav a:hover:after,.site-header nav a.active:after{right:0}
.site-header .logo{display:flex;align-items:center;justify-content:center;padding:0 8px;background:transparent!important;border-radius:0;text-decoration:none;transition:transform .2s}
.site-header .logo img{display:block;width:auto;height:80px;max-width:150px;object-fit:contain}
.site-header .logo:hover{transform:scale(1.06) rotate(-1deg)}
.menu,.mobile-nav{display:none}
body.mobile-nav-open{overflow:hidden}
footer a{color:#fff;text-decoration:none}
.footer-logo{font-size:25px;font-weight:900;color:#f5eadc}
.footer-logo span{color:var(--pink)}
.subpage{min-height:70vh}
.page-hero{padding:100px 8vw 85px;background:var(--cream);text-align:center}
.page-hero h1{font-size:clamp(54px,7vw,95px);margin:22px auto}
.page-hero p{font-size:19px;line-height:1.7;max-width:700px;margin:auto}
.content-grid,.voucher,.contact-grid{padding:90px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.content-grid h2,.voucher h2,.contact-grid h2{font-size:48px}
.content-grid p,.voucher p{line-height:1.8}
.decor-card{height:430px;background:var(--pink);border-radius:45px;color:#fff;font-size:50px;display:grid;place-items:center;text-align:center;box-shadow:25px 25px var(--lav)}
.decor-card strong{font-size:55px}
.voucher-card{aspect-ratio:1.6;background:linear-gradient(135deg,#ff72aa,#c8b9ff);border:8px solid var(--ink);border-radius:28px;padding:35px;display:flex;flex-direction:column;justify-content:space-between}
.voucher-card b{font-size:45px}
.contact-form{padding:35px;background:var(--cream);border-radius:28px}

@media(max-width:1000px){
  .site-header{
    height:72px;
    width:100%;
    max-width:100vw;
    grid-template-columns:1fr auto 1fr;
    padding:0 18px;
    overflow:visible;
  }
  .site-header nav{display:none}
  .site-header .logo{grid-column:2;padding:0 6px}
  .site-header .logo img{height:66px;max-width:112px}
  .site-header .menu{
    display:grid;
    place-items:center;
    justify-self:end;
    grid-column:3;
    width:46px;
    height:46px;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--ink);
    color:var(--nav-beige);
    font-size:30px;
    line-height:1;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    z-index:122;
  }
  .mobile-nav{
    display:none;
    position:fixed;
    top:var(--mobile-nav-top,72px);
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - var(--mobile-nav-top,72px) - env(safe-area-inset-bottom,0px));
    padding:16px 18px calc(22px + env(safe-area-inset-bottom,0px));
    background:#fffefb;
    box-shadow:0 16px 28px #201a3226;
    z-index:121;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-sizing:border-box;
    overscroll-behavior:contain;
  }
  .mobile-nav.open{
    display:grid;
    gap:10px;
  }
  .mobile-nav a{
    display:block;
    padding:15px 18px;
    border-radius:14px;
    background:var(--ink);
    color:#fff!important;
    -webkit-text-fill-color:#fff;
    text-align:center;
    text-decoration:none;
    font-weight:850;
    font-size:16px;
    max-width:100%;
    overflow-wrap:anywhere;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .content-grid,.voucher,.contact-grid{grid-template-columns:1fr}
  .page-hero{padding:65px 22px}
  .page-hero h1{font-size:clamp(44px,13vw,68px)}
  .content-grid,.voucher,.contact-grid{padding:55px 22px;gap:45px}
  .content-grid h2,.voucher h2,.contact-grid h2{font-size:38px}
  .voucher-card{padding:24px}
  .voucher-card b{font-size:34px}
}

@media(max-width:420px){
  .site-header{padding:0 12px}
  .site-header .logo{padding:0 4px}
  .site-header .logo img{height:62px;max-width:104px}
  .site-header .menu{width:42px;height:42px;font-size:27px}
  .mobile-nav{padding:12px 12px calc(18px + env(safe-area-inset-bottom,0px))}
  .mobile-nav a{padding:14px}
  .decor-card{height:320px}
  .decor-card strong{font-size:42px}
}
