:root{
  --red:#003366; --red-40:#00336666; --pink:#FFD700;
  --beige:#FAF3E0; --beige-deep:#FAF3E0; --card:#00336626;
  --ink:#003366; --grey:#3c3c3c; --white:#fff;
  --gold:#FFD700; --green-dark:#003366;
  --head:"Playfair Display",Georgia,serif; --body:"Bitter",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background-color:var(--beige-deep);background-image:url("assets/img/68e51a287f8e1edda7688562_9281a17d-e2a0-44dc-a16d-e40ecc5bbf79-copy-2.webp");background-size:1000px;background-repeat:repeat;color:var(--ink);font-family:var(--body);font-size:1.05rem;font-weight:300;line-height:1.6}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;mix-blend-mode:multiply;opacity:.9;
  background-image:url("assets/img/68e51a287f8e1edda768850e_PaperStructureMediumNew.webp");
  background-size:500px;background-repeat:repeat}
img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}
h1,h2,h3{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
.page{position:relative;z-index:2;width:min(113.75rem,calc(100% - 4rem));margin:2rem auto;border:3px solid var(--red);background:var(--beige-deep);padding:3rem 1.5rem 2rem;overflow:hidden;transform-origin:50% 200rem;transition:translate .55s cubic-bezier(.544,.001,.17,1.03),rotate .55s cubic-bezier(.544,.001,.17,1.03);animation:page-in .9s cubic-bezier(.22,1,.36,1) both;filter:drop-shadow(-2px 2px 3px #0006)}
.page::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:multiply;background-image:url("assets/img/68e51a287f8e1edda768850e_PaperStructureMediumNew.webp");background-size:500px;background-repeat:repeat}
@keyframes page-in{from{opacity:0;transform:translate3d(10rem,-10rem,0) rotate(-8deg)}to{opacity:1;transform:none}}
body.menu-open{overflow:hidden}
body.menu-open .page{translate:min(26rem,72vw) -1rem;rotate:2deg;cursor:pointer}
.wrap{padding:0 1rem}
.divider{background:var(--red-40);height:2px;width:100%;margin:2.5rem 0}
.divider-v{background:var(--red-40);width:2px;align-self:stretch}
h1,h2,h3,h4{font-family:var(--head);color:var(--red);text-transform:uppercase;line-height:1;font-weight:700}
h1{font-size:clamp(3rem,12.5vw,11rem);letter-spacing:-3px}
h2{font-size:clamp(2.4rem,9vw,8rem);letter-spacing:-2px}
h3{font-size:clamp(1.8rem,6vw,4.5rem);letter-spacing:-1px}
h4{font-size:1.4rem;letter-spacing:0}
em{font-style:italic}
.meta-tag{font-family:var(--head);color:var(--red);text-transform:uppercase;font-weight:700;font-size:1.3rem;white-space:nowrap}
.redbox{background:var(--red);color:#fff;padding:1.2rem 1rem;overflow-wrap:break-word}
.split .redbox h2,.about-team .redbox h2{font-size:clamp(1.8rem,3.5vw,3.2rem)}
.redbox .meta-tag{color:#fff}
.redbox h2,.redbox h3{color:#fff}
.rule-w{background:#fff;height:1px;width:100%}
.dropcap{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;
  font-family:var(--head);font-weight:700;font-size:3.2rem;width:4.2rem;height:4.2rem;margin-right:.5rem;transform:translateY(8px)}
.lead{font-size:1.2rem;line-height:1.7}
.btn{display:inline-block;min-width:12rem;text-align:center;color:var(--red);text-transform:uppercase;
  font-family:var(--head);font-weight:700;font-size:1.25rem;border:1px solid var(--red-40);padding:.9rem 1.2rem;position:relative;overflow:hidden;background:transparent;cursor:pointer}
.btn span{position:relative;z-index:1}
.btn::after{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .3s ease}
.btn:hover::after{transform:translateY(0)}
.btn:hover{color:#fff}
.btn:hover span{color:#fff}
.nav{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.logo-card{border:3px solid var(--red);background:var(--beige);padding:.6rem 1.4rem;text-align:center}
.logo-card strong{font-family:var(--head);color:var(--red);font-size:1.6rem;letter-spacing:2px;display:block;line-height:1}
.logo-card small{font-family:var(--head);color:var(--red);font-size:.7rem;letter-spacing:4px}
.nav-right{display:flex;gap:1rem;align-items:center}
.menu-dot{width:5rem;height:5rem;border-radius:50%;background:var(--red);color:var(--beige);border:none;
  font-family:var(--head);font-weight:700;font-size:.85rem;cursor:pointer;transition:transform .3s}
.menu-dot:hover{transform:rotate(-8deg) scale(.95)}
.reserve-pill{border:2.5px solid var(--red);border-radius:50px;padding:.7rem 1.4rem;color:var(--red);
  font-family:var(--head);font-weight:700;background:var(--beige)}
.overlay{position:fixed;inset:0;z-index:1;pointer-events:none}
.overlay-card{position:absolute;left:2rem;top:10vh;width:min(28rem,86vw);height:auto;max-height:80vh;background:var(--beige);border-top:2px solid var(--red);border-bottom:2px solid var(--red);filter:drop-shadow(-2px 2px 3px #0006);padding:2rem 2rem 2.5rem;overflow:visible;pointer-events:auto;display:flex;flex-direction:column}
.overlay-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--beige-deep);border-top:2px solid var(--red);border-bottom:2px solid var(--red);transform:translate(12px,10px) rotate(1.5deg);filter:drop-shadow(-2px 2px 3px #0006)}
.overlay-card::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:multiply;background-image:url("assets/img/68e51a287f8e1edda768850e_PaperStructureMediumNew.webp");background-size:500px;background-repeat:repeat}
.menu-panel-title{color:var(--ink);font-weight:600;font-size:1rem}
.overlay-card nav{display:flex;flex-direction:column;gap:.4rem;margin-top:2rem}
.overlay-card nav a{font-family:var(--head);font-size:2.4rem;font-weight:700;text-transform:uppercase;line-height:1.15;color:var(--ink);display:block}
.overlay-card nav a:hover,.overlay-card nav a[aria-current="page"]{color:var(--red)}
.overlay-close{position:absolute;top:1.5rem;right:1.5rem;background:var(--red);color:#fff;border:none;border-radius:2px;
  width:1.5rem;height:1.5rem;font-size:.9rem;line-height:1;cursor:pointer}
.hero{position:relative;text-align:left}
.stamp{position:absolute;z-index:5;top:-2.5rem;right:1rem;width:9rem;transform:rotate(8deg)}
.marquee{overflow:hidden;white-space:nowrap;border-top:2px solid var(--red-40);border-bottom:2px solid var(--red-40);padding:.5rem 0}
.marquee-track{display:inline-flex;align-items:center;gap:2rem;animation:slide 18s linear infinite}
.marquee-track h1{font-size:clamp(3rem,13vw,10rem)}
.marquee-track img{width:3rem}
.bodoni{font-family:"BodoniFLF","Playfair Display",Georgia,serif!important;font-weight:700}
@keyframes slide{to{transform:translateX(-50%)}}
.hero-sub{text-align:right;padding-right:4rem;color:var(--red);font-style:italic;margin:.8rem 0}
.hero-fig{position:relative}
.hero-fig img{width:100%;height:min(70vh,560px);object-fit:cover;border:1px solid var(--red)}
.hero-cap{position:absolute;left:2rem;bottom:2rem;background:var(--ink);color:#fff;max-width:26rem;padding:1rem;font-size:1.1rem}
.split{display:grid;grid-template-columns:1fr 2px .55fr;gap:1.5rem;align-items:start}
.center{text-align:center}
.mt{margin-top:1.5rem}.mb{margin-bottom:1.5rem}
.dish-img{width:75%;display:block;margin:0 auto}
.phone-img{width:70%;display:block;margin:0 auto}
.tel{font-family:var(--head);color:var(--red);font-size:1.8rem;font-weight:600}
.kv{display:flex;flex-direction:column;gap:.3rem;text-align:center}
.kv strong{text-transform:uppercase}
.cardboard{border:2px solid var(--red-40);padding:.5rem;background:transparent}
.cardboard-in{border:1px solid var(--red-40);background:var(--card);padding:2rem;height:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.grid3{display:grid;grid-template-columns:1fr 2px 1fr 2px 1fr;gap:2rem;align-items:start}
.split>*,.grid2>*,.grid3>*,.menu-cols>*,.philo-game>*,.about-team>*,.footer-grid>*,.posts>*,.team>*,.team2>*,.gallery>*,.shop3>*,.horo>*,.dish>*,.copy>*{min-width:0}
.dish h4,.post h3{overflow-wrap:break-word}
.grid3 h2{font-size:clamp(2rem,4vw,4rem);overflow-wrap:break-word}
.shop3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.prod{background:var(--card);padding:1rem;text-align:center}
.prod img{height:180px;object-fit:contain}
.prod strong{color:var(--red);display:block;margin-top:.5rem}
.stamp-edge{height:14px;background:
  linear-gradient(45deg,var(--pink) 25%,transparent 25%,transparent 75%,var(--pink) 75%) 0 0/14px 14px,
  linear-gradient(-45deg,var(--pink) 25%,transparent 25%,transparent 75%,var(--pink) 75%) 7px 0/14px 14px}
.book-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
form.book{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;margin-top:1.5rem}
.field{display:flex;flex-direction:column}
.field label{font-family:var(--head);color:var(--red);text-transform:uppercase;font-weight:500;
  background:var(--beige-deep);border:1px solid var(--red-40);padding:2px 12px;align-self:flex-start;margin:0 0 -.8rem 1rem;z-index:1}
.field input{background:var(--card);border:1px solid #e6e6e6;padding:1.6rem 1.2rem 1rem;font-size:1.05rem;font-family:var(--body);width:100%}
.field input:focus{outline:2px solid var(--red-40)}
.form-ok{display:none;border:2px solid var(--red-40);padding:1.5rem;margin-top:1rem;text-align:center}
.footer{border:3px solid var(--red);padding:3rem 2rem 1.5rem;margin-top:2rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}
.footer h4{font-size:1rem;margin-bottom:.6rem}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.footer ul a{text-transform:uppercase;font-size:.85rem}
.footer ul a:hover{color:var(--red)}
.copy{display:block;text-align:center;border-top:1px solid #e6e6e6;margin-top:2rem;padding-top:1rem;font-size:.85rem}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.team figure{text-align:center}
.team img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--red)}
.team figcaption strong{font-family:var(--head);color:var(--red);display:block}
.menu-cols{display:grid;grid-template-columns:1fr 2px 1fr;gap:3rem}
.dish{display:grid;grid-template-columns:1fr 3.5rem;gap:.5rem;margin-bottom:1.8rem}
.dish h4{font-size:1.35rem}
.dish .price{font-family:var(--head);color:var(--red);font-weight:700}
.dish p{grid-column:1/-1}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery img{width:100%;height:260px;object-fit:cover;border:1px solid var(--red)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.post{border:1px solid var(--red-40);background:var(--beige)}
.post img{width:100%;height:220px;object-fit:cover}
.post div{padding:1.2rem}
.post h3{font-size:1.6rem}
.horo{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;text-align:center}
.horo img{width:100%;height:150px;object-fit:contain}
.game{display:grid;grid-template-columns:repeat(8,1fr);max-width:34rem;border-bottom:1px solid var(--ink)}
.gcell{aspect-ratio:1;border:1px solid var(--ink);border-bottom:none;border-right:none;background:transparent;font-family:var(--body);font-size:1.4rem;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.gcell:nth-child(8n){border-right:1px solid var(--ink)}
.gcell::before{content:"";position:absolute;width:68%;height:68%;border-radius:50%;background:var(--red);transform:scale(0);opacity:0;transition:transform .25s ease,opacity .25s ease}
.gcell span{position:relative;z-index:1}
.gcell.hit::before{transform:scale(1);opacity:1}
.gcell.hit span{color:#fff;font-weight:600}
.about-team{display:grid;grid-template-columns:1fr 2px 26vw;gap:2.5rem;align-items:start}
.team2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.team2 img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--red)}
.team2 figcaption strong{font-weight:600;display:block;margin-top:.5rem}
.fun-panel{display:flex;flex-direction:column}
.fun-panel .illustration{width:80%;display:block;margin:1rem auto}
.fun-div{display:flex;align-items:center;gap:.75rem;margin:1rem 0}
.fun-div::before,.fun-div::after{content:"";height:2px;background:var(--red);flex:1}
.fun-div span{width:.9rem;height:.9rem;background:var(--red);transform:rotate(45deg);flex:none}
.philo-game{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.philo-center{text-align:center}
.philo-center .wheat{width:12vw;min-width:8rem;max-width:14rem}
.footer ul a{display:flex;align-items:center;gap:.5rem}
.footer ul a::before{content:"";width:.6rem;height:.6rem;background:var(--red);transform:rotate(45deg);flex:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:900px){
  .split,.grid2,.menu-cols,.about-team,.philo-game{grid-template-columns:1fr}
  .divider-v{display:none}
  .grid3{grid-template-columns:1fr}
  .shop3,.posts,.team,.gallery{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .horo{grid-template-columns:repeat(3,1fr)}
  form.book{grid-template-columns:1fr}
  .hero-cap{position:static;max-width:none;margin-top:.5rem}
  .hero-sub{padding-right:1rem}
  .stamp{width:6rem;top:-1.5rem}
}
@media(max-width:560px){.shop3,.posts,.team,.team2,.gallery{grid-template-columns:1fr}.page{padding:1.5rem .8rem;width:calc(100% - 2rem);margin:1rem auto}
  .meta-tag{white-space:normal}
  .nav{align-items:center;gap:.5rem}
  .menu-dot{width:3.5rem;height:3.5rem;font-size:.7rem;flex:none}
  .logo-card{padding:.4rem .8rem;min-width:0}
  .logo-card strong{font-size:1.1rem}
  .reserve-pill{padding:.5rem .9rem;font-size:.8rem;flex:none}
  .overlay-card nav a{font-size:clamp(1.5rem,8vw,2.4rem)}
  .tel{font-size:clamp(1.2rem,6vw,1.8rem);overflow-wrap:break-word}
  .hero-cap{font-size:1rem;overflow-wrap:break-word}
  form.book{gap:1rem}
  .btn{min-width:0;width:100%}
  .book-head h2{font-size:clamp(1.8rem,9vw,2.4rem)}
  .dropcap{font-size:2.2rem;width:3rem;height:3rem}
  .philo-center .wheat{width:40vw}
  .horo{grid-template-columns:repeat(2,1fr)}
  .gallery img{height:200px}
  .post img{height:180px}
}
