@font-face{font-family:"Lilita One";src:url(fonts/lilitaone.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Nunito";src:url(fonts/nunito.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Kaushan Script";src:url(fonts/kaushanscript.woff2) format("woff2");font-display:swap}
:root{--mint:#8fd6da;--mint-d:#74c3c9;--cream:#f6e7c4;--paper:#fff8e8;--navy:#1f2547;--mag:#b3347f;--yel:#f0c23c;--blue:#1a5a96;--green:#0f4a24;--mag2:#9a2468;--r:18px;--bar-h:0px;--head-h:72px;
--display:"Lilita One","Arial Rounded MT Bold",system-ui,sans-serif;--body:"Nunito","Trebuchet MS",system-ui,sans-serif;--script:"Kaushan Script","Brush Script MT",cursive}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--head-h) + 14px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mint);color:var(--navy);font:500 clamp(16px,1.05vw + 8px,20px)/1.6 var(--body);overflow-x:clip;padding-bottom:var(--bar-h);
background-image:radial-gradient(1200px 700px at 85% -10%,rgba(255,248,232,.55),transparent 60%),radial-gradient(900px 600px at -10% 40%,rgba(116,195,201,.9),transparent 65%)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:.005em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.2rem,4.2vw,4rem)}
h3{font-size:clamp(1.3rem,1.6vw,1.7rem);line-height:1.1}
p{margin:0 0 1em;text-wrap:pretty}
.wrap{width:min(100% - 40px,1280px);margin-inline:auto}
@media(min-width:1900px){.wrap{width:min(100% - 80px,1560px)}body{font-size:21px}}
.script{font-family:var(--script);color:var(--green)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--mag);outline-offset:3px}
/* buttons: window sticker */
.btn{display:inline-flex;align-items:center;gap:.55em;min-height:48px;padding:.55em 1.3em;border:3px solid var(--navy);border-radius:999px;background:var(--paper);color:var(--navy);font:400 1.1rem/1 var(--display);letter-spacing:.02em;text-decoration:none;box-shadow:0 4px 0 var(--navy);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;cursor:pointer}
.btn:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 7px 0 var(--navy)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--navy)}
.btn.mag{background:var(--mag);color:#fff}
.btn.yel{background:var(--yel)}
.btn svg{width:1.15em;height:1.15em;flex:none}
/* header */
.head{position:sticky;top:0;z-index:50;height:var(--head-h);background:rgba(143,214,218,.92);backdrop-filter:blur(8px);border-bottom:3px solid var(--navy)}
.head .wrap{height:100%;display:flex;align-items:center;gap:18px}
.logo{font:400 1.9rem/.9 var(--display);color:var(--blue);text-decoration:none;text-shadow:2px 2px 0 var(--mag);letter-spacing:.01em;display:grid;flex:none}
.logo small{font:800 .52rem/1 var(--body);letter-spacing:.28em;color:var(--navy);text-shadow:none;text-transform:uppercase;margin-top:5px}
.tags{display:flex;gap:6px;margin:0 auto;padding:0;list-style:none}
.tags a{display:block;padding:.32em .8em;font:800 .78rem/1.2 var(--body);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:var(--navy);background:var(--c,var(--paper));border-radius:3px;transform:rotate(var(--t,0deg));box-shadow:1px 2px 0 rgba(31,37,71,.35);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.tags li:nth-child(1){--c:#f5b8d4;--t:-1.5deg}.tags li:nth-child(2){--c:#bfe3f5;--t:1deg}.tags li:nth-child(3){--c:#fbe58a;--t:-1deg}.tags li:nth-child(4){--c:#c6ebc3;--t:1.5deg}
.tags li:nth-child(5){--c:#e0c9f2;--t:-1deg}.tags li:nth-child(6){--c:#f5b8d4;--t:1deg}.tags li:nth-child(7){--c:#bfe3f5;--t:-1.5deg}.tags li:nth-child(8){--c:#fbe58a;--t:1deg}
.tags a:hover,.tags a[aria-current]{transform:rotate(0) translateY(-3px)}
.hact{display:flex;gap:10px;align-items:center;flex:none}
.hact .btn{min-height:42px;font-size:1rem;padding:.4em 1em}
.lang{display:inline-grid;grid-template-columns:1fr 1fr;border:3px solid var(--navy);border-radius:999px;background-color:var(--paper);font:800 .8rem/1 var(--body);letter-spacing:.08em;flex:none;overflow:hidden}
.lang{background-image:linear-gradient(var(--navy),var(--navy));background-repeat:no-repeat;background-size:50% 100%;background-position:0 0;transition:background-position .35s cubic-bezier(.22,1,.36,1)}
.lang.es{background-position:100% 0}
.lang a{position:relative;z-index:1;display:grid;place-items:center;min-width:42px;min-height:34px;padding:0 .4em;text-decoration:none;color:var(--navy)}
.lang a[aria-current]{color:#fff}
.menu-btn,.bar,.sheet{display:none}
@media(max-width:1060px){
 :root{--head-h:60px;--bar-h:68px}
 .tags,.hact .btn{display:none}
 .head .wrap{justify-content:space-between}
 .logo{font-size:1.6rem}
 .bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;position:fixed;inset:auto 0 0 0;z-index:60;box-sizing:border-box;height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding:8px 10px env(safe-area-inset-bottom);background:var(--navy);border-top:3px solid var(--navy)}
 .bar .btn{justify-content:center;min-height:44px;padding:.3em .5em;font-size:1rem;box-shadow:none;width:100%}
 .bar .btn:hover,.bar .btn:active{transform:none;box-shadow:none}
 .sheet{position:fixed;left:10px;right:10px;bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 6px);z-index:59;background:var(--paper);border:3px solid var(--navy);border-radius:var(--r);padding:12px;display:none;box-shadow:0 10px 0 rgba(31,37,71,.35)}
 .sheet.open{display:block}
 .sheet ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .sheet a{display:block;padding:.7em .9em;border-radius:4px;background:var(--c);font:800 .9rem/1.2 var(--body);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transform:rotate(var(--t))}
 .sheet li:nth-child(1){--c:#f5b8d4;--t:-1deg}.sheet li:nth-child(2){--c:#bfe3f5;--t:1deg}.sheet li:nth-child(3){--c:#fbe58a;--t:1deg}.sheet li:nth-child(4){--c:#c6ebc3;--t:-1deg}
 .sheet li:nth-child(5){--c:#e0c9f2;--t:-1deg}.sheet li:nth-child(6){--c:#f5b8d4;--t:1deg}.sheet li:nth-child(7){--c:#bfe3f5;--t:1deg}.sheet li:nth-child(8){--c:#fbe58a;--t:-1deg}
}
/* hero */
.hero{position:relative;padding:clamp(28px,5vw,72px) 0 clamp(36px,5vw,70px)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,70px);align-items:center}
.chip{display:inline-flex;align-items:center;gap:.6em;padding:.35em 1em;border:3px solid var(--navy);border-radius:999px;background:var(--paper);font:800 .85rem/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase}
.chip i{width:.8em;height:.8em;border-radius:50%;background:#aaa;flex:none}
.chip.open i{background:#1f9d55;box-shadow:0 0 0 4px rgba(31,157,85,.25)}
.hero h1{font-size:clamp(3.4rem,10.4vw,9.4rem);color:var(--blue);text-shadow:4px 4px 0 var(--mag),8px 8px 0 var(--navy);margin:.2em 0 .22em;line-height:.9;letter-spacing:.01em}
.hero h1 .l{display:inline-block;transform-origin:50% 100%;animation:drop .9s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(var(--i)*55ms + 150ms)}
.hero h1 .w{display:inline-block;white-space:nowrap}
.hero h1 .sub{display:block;font-size:.42em;color:var(--navy);text-shadow:3px 3px 0 var(--yel);margin-top:.2em}
@keyframes drop{0%{transform:translateY(-1.4em) scaleY(1.25) scaleX(.85);opacity:0}55%{opacity:1}70%{transform:translateY(0) scaleY(.78) scaleX(1.14)}85%{transform:translateY(-.08em) scaleY(1.06) scaleX(.97)}100%{transform:none}}
.hero .lede{font-size:clamp(1.1rem,1.5vw,1.5rem);max-width:30em;font-weight:600}
.hero .lede b{font-weight:800}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.4em}
.pretzel{font:400 1.05rem/1.3 var(--script);color:var(--green);margin-top:1.4em;display:flex;align-items:center;gap:.6em}
.pretzel::before{content:"";width:46px;height:8px;background:#9c6a3a;border-radius:4px;transform:rotate(-12deg);box-shadow:inset 0 0 0 1px #6f4723;flex:none}
.frame{position:relative;margin:0;transform:rotate(2deg);border:5px solid var(--navy);border-radius:28px;background:var(--paper);box-shadow:12px 12px 0 var(--navy);overflow:hidden;animation:rise 1s .3s cubic-bezier(.22,1,.36,1) both}
.frame img{width:100%;aspect-ratio:1/1.02;object-fit:cover}
.frame figcaption{position:absolute;left:12px;bottom:12px;background:var(--yel);border:3px solid var(--navy);border-radius:10px;padding:.2em .7em;font:400 1rem/1.2 var(--display);transform:rotate(-3deg)}
@keyframes rise{from{transform:translateY(40px) rotate(6deg);opacity:0}to{transform:rotate(2deg);opacity:1}}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.frame{max-width:520px;margin:10px auto 0;box-shadow:8px 8px 0 var(--navy)}}
/* ticker */
.ticker{background:var(--navy);color:var(--cream);border-block:3px solid var(--navy);overflow:hidden;white-space:nowrap}
.ticker div{display:inline-flex;gap:0;animation:tick 55s linear infinite;padding:.7em 0}
.ticker span{font:400 1.25rem/1 var(--display);letter-spacing:.04em;padding:0 1.1rem;display:inline-flex;align-items:center;gap:2.2rem}
.ticker span::after{content:"";width:.7em;height:.7em;border-radius:50%;background:var(--c,var(--yel))}
.ticker span:nth-child(4n+1){--c:#f5b8d4}.ticker span:nth-child(4n+2){--c:#bfe3f5}.ticker span:nth-child(4n+3){--c:var(--yel)}
@keyframes tick{to{transform:translateX(-50%)}}
/* sections */
section{position:relative;padding:clamp(56px,8vw,120px) 0}
.kick{display:inline-block;font:800 .8rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;background:var(--navy);color:var(--cream);padding:.55em .9em;border-radius:4px;transform:rotate(-1.5deg);margin-bottom:1.1rem}
/* builder */
.build{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:clamp(24px,5vw,90px);align-items:start}
.cupbox{position:sticky;top:calc(var(--head-h) + 20px);display:grid;place-items:center;padding:clamp(16px,2vw,30px);border:5px solid var(--navy);border-radius:32px;background:var(--paper);box-shadow:10px 10px 0 var(--navy)}

.cupbox svg{position:relative;width:min(100%,360px);height:auto;max-height:68vh}
.cupbox figcaption{position:relative;font:400 1.5rem/1 var(--script);color:var(--green);margin-top:.4rem}
#gl1,#gl2,#gl3,#gpr{transition:none;will-change:transform}
#gl1{transform:translateY(calc((1 - var(--l1,1))*70px));opacity:var(--l1,1)}
#gl2{transform:translateY(calc((1 - var(--l2,1))*70px));opacity:var(--l2,1)}
#gl3{transform:translateY(calc((1 - var(--l3,1))*-120px));opacity:var(--l3,1)}
#gpr{transform:translate(calc((1 - var(--l4,1))*30px),calc((1 - var(--l4,1))*-140px)) rotate(calc((1 - var(--l4,1))*25deg));opacity:var(--l4,1);transform-origin:200px 160px}
.step{min-height:min(40vh,380px);padding:1.2rem 0 2rem;display:flex;flex-direction:column;justify-content:center}
.step:first-child{min-height:0;justify-content:flex-start;padding-top:0}
.step .n{font:400 clamp(3.4rem,7vw,6rem)/.8 var(--display);color:var(--mag2);text-shadow:3px 3px 0 var(--navy)}
.step h3{margin:.3em 0 .4em;font-size:clamp(1.6rem,2.6vw,2.4rem)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:.4rem 0 0;padding:0;list-style:none}
.chips button{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.35em 1em .35em .5em;border:3px solid var(--navy);border-radius:999px;background:var(--paper);font:800 .95rem/1 var(--body);color:var(--navy);cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.chips button i{width:1.5em;height:1.5em;border-radius:50%;background:var(--sw);border:2px solid var(--navy);flex:none}
.chips button:hover{transform:translateY(-2px) rotate(-1deg)}
.chips button[aria-pressed=true]{background:var(--yel);box-shadow:0 3px 0 var(--navy)}
@media(max-width:860px){.build{grid-template-columns:1fr}.cupbox{position:relative;top:0;padding:10px;border-radius:22px;box-shadow:6px 6px 0 var(--navy)}.cupbox svg{max-height:34vh}.step{min-height:0;padding:1rem 0}}
/* board */
.board{margin-top:clamp(50px,7vw,100px);background:#fffdf6;border:6px solid var(--navy);border-radius:10px;box-shadow:12px 12px 0 var(--navy);padding:clamp(18px,3vw,44px);position:relative}
.board::before{content:"";position:absolute;inset:0 0 auto 0;height:18px;background:linear-gradient(90deg,#c0c4cc,#eef0f3,#c0c4cc);border-bottom:3px solid var(--navy)}
.board>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 30px;padding-top:22px;margin-bottom:1.4rem}
.board>header p{margin:0;font-weight:700;max-width:36em}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,30px)}
.col h3{font-size:1.5rem;margin-bottom:.15em}
.col .note{display:block;font:800 .72rem/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.8rem;color:var(--navy);opacity:.75}
.col ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.col li{padding:.28em .7em;background:var(--sc);font:800 .86rem/1.25 var(--body);letter-spacing:.03em;text-transform:uppercase;border-radius:2px;box-shadow:1px 2px 0 rgba(31,37,71,.28);transform:translateX(var(--x,0)) rotate(var(--r,0deg))}
.col:nth-child(1){--sc:#f7b4d2}.col:nth-child(2){--sc:#c3e8bf}.col:nth-child(3){--sc:#e1cbf3}.col:nth-child(4){--sc:#b6e0f5}
.col li:nth-child(3n+1){--r:-.6deg;--x:2px}.col li:nth-child(3n+2){--r:.5deg;--x:-2px}.col li:nth-child(3n){--r:-.3deg}
@supports(animation-timeline:view()){.col li{animation:strip linear both;animation-timeline:view();animation-range:entry 0% entry 70%}@keyframes strip{from{transform:translateX(-26px) rotate(-3deg)}to{transform:translateX(var(--x,0)) rotate(var(--r,0deg))}}}
.board .fine{margin:1.4rem 0 0;font-weight:700;font-size:.95rem;padding-top:1rem;border-top:2px dashed var(--navy)}
@media(max-width:980px){.cols{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cols{grid-template-columns:1fr}}
.treats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(40px,6vw,80px)}
.treat{background:var(--paper);border:4px solid var(--navy);border-radius:var(--r);overflow:hidden;box-shadow:6px 6px 0 var(--navy);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.treat:hover{transform:translateY(-6px) rotate(-1deg)}
.treat img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:4px solid var(--navy)}
.treat div{padding:14px 16px 18px}.treat p{margin:.4em 0 0;font-size:.95rem;line-height:1.45}
@media(max-width:1000px){.treats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.treats{grid-template-columns:1fr}}
/* about */
.about{background:var(--cream);border-block:5px solid var(--navy);background-image:repeating-linear-gradient(45deg,transparent 0 46px,rgba(214,178,124,.38) 46px 49px),repeating-linear-gradient(-45deg,transparent 0 46px,rgba(214,178,124,.38) 46px 49px)}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,90px);align-items:center}
.about h2{margin-bottom:.5em}.about .big{font:400 clamp(1.5rem,2.4vw,2.4rem)/1.15 var(--display);color:var(--mag);margin:0 0 1em}
.tl{list-style:none;margin:1.8rem 0 0;padding:0 0 0 30px;border-left:5px solid var(--navy);display:grid;gap:1.4rem}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-43px;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--yel);border:4px solid var(--navy)}
.tl b{display:block;font:400 1.8rem/1 var(--display);color:var(--blue);text-shadow:2px 2px 0 var(--mag)}
.collage{position:relative;aspect-ratio:1/1;min-height:360px}
.collage img{position:absolute;border:5px solid var(--navy);border-radius:14px;background:var(--paper);object-fit:cover;box-shadow:7px 7px 0 var(--navy)}
.collage .c1{inset:0 22% 30% 0;width:78%;height:70%;transform:rotate(-3deg)}
.collage .c2{right:0;top:26%;width:44%;height:46%;transform:rotate(4deg)}
.collage .c3{left:6%;bottom:0;width:50%;height:40%;transform:rotate(2deg)}
.collage .note{position:absolute;right:4%;bottom:3%;max-width:48%;background:var(--yel);border:3px solid var(--navy);padding:.5em .8em;font:400 1rem/1.25 var(--script);transform:rotate(-3deg);box-shadow:4px 4px 0 var(--navy)}
@media(max-width:860px){.about .wrap{grid-template-columns:1fr}}
/* gallery */
.gal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px 40px;margin-bottom:1.6rem}
.gal-head .script{font-size:clamp(1.6rem,3vw,2.6rem)}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,270px);gap:clamp(10px,1.2vw,18px);grid-auto-flow:dense}
.mosaic button{position:relative;padding:0;border:4px solid var(--navy);border-radius:14px;overflow:hidden;background:var(--paper);cursor:zoom-in;box-shadow:5px 5px 0 var(--navy);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.mosaic button:hover{transform:translateY(-4px) rotate(-.8deg)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .w img{object-position:50% 30%}
.mosaic .t{grid-row:span 2}.mosaic .w{grid-column:span 2}.mosaic .b{grid-column:span 2;grid-row:span 2}
.mosaic button span{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);background:var(--paper);border:2px solid var(--navy);border-radius:8px;padding:.15em .6em;font:800 .75rem/1.3 var(--body);letter-spacing:.04em;text-transform:uppercase}
@media(max-width:860px){.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(130px,34vw,220px)}.mosaic .b,.mosaic .w{grid-column:span 2}}
dialog.lb{border:0;background:transparent;padding:0;max-width:100vw;max-height:100vh;width:100%;height:100%}
dialog.lb::backdrop{background:rgba(20,24,50,.92)}
.lb .in{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:56px 16px 70px}
.lb img{max-width:min(94vw,1300px);max-height:calc(100vh - 140px);object-fit:contain;border:5px solid var(--paper);border-radius:14px;background:var(--paper)}
.lb .cap{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:var(--cream);font-weight:800}
.lb .x,.lb .pv,.lb .nx{position:absolute;min-width:48px;min-height:48px;border:3px solid var(--navy);border-radius:999px;background:var(--yel);font:400 1.3rem/1 var(--display);cursor:pointer}
.lb .x{top:10px;right:12px}.lb .pv{left:12px;top:50%}.lb .nx{right:12px;top:50%}
/* reviews */
.rev{background:var(--navy);color:var(--cream)}
.rev .wrap{display:grid;grid-template-columns:minmax(260px,.62fr) 2fr;gap:clamp(24px,4vw,70px);align-items:start}
.score{position:sticky;top:calc(var(--head-h) + 24px)}
.score .num{font:400 clamp(6rem,14vw,12rem)/.8 var(--display);color:var(--yel);text-shadow:5px 5px 0 var(--mag)}
.score .stars{color:var(--yel);font-size:2rem;letter-spacing:.1em;margin:.2em 0}
.score p{max-width:18em}
.rev .btn{margin-top:.5rem}
.tickets{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
.tk{margin:0;background:var(--paper);color:var(--navy);padding:22px 22px 18px 34px;border-radius:6px;position:relative;box-shadow:6px 6px 0 var(--mag);transform:rotate(var(--r,0deg));background-image:radial-gradient(circle at 13px 50%,var(--navy) 0 5px,transparent 5.5px);background-size:26px 26px;background-repeat:repeat-y;background-position:0 8px}
.tk:nth-child(odd){--r:-.7deg}.tk:nth-child(even){--r:.6deg}
.tk blockquote{margin:0 0 .9em;font-size:1rem;line-height:1.55}
.tk figcaption{display:flex;justify-content:space-between;gap:10px;font:800 .8rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;border-top:2px dashed var(--navy);padding-top:.7em}
.tk .st{color:#8a5600;letter-spacing:.1em}
.tk.wide{grid-column:1/-1}
.tk em{font-style:normal;font-size:.78rem;opacity:.7;display:block;margin-top:.6em}
@media(max-width:900px){.rev .wrap{grid-template-columns:1fr}.score{position:static}.tickets{grid-template-columns:1fr}}
/* contact */
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:stretch}
.sign{background:var(--cream);border:5px solid var(--navy);border-radius:var(--r);padding:clamp(22px,3vw,44px);box-shadow:10px 10px 0 var(--navy);background-image:repeating-linear-gradient(45deg,transparent 0 40px,rgba(214,178,124,.4) 40px 43px),repeating-linear-gradient(-45deg,transparent 0 40px,rgba(214,178,124,.4) 40px 43px)}
.sign h2{font-size:clamp(2rem,3.4vw,3.2rem)}
.sign address{font-style:normal;font-weight:800;margin:.8em 0 1.2em;font-size:1.1rem}
.sign address a{display:block}
.hours{list-style:none;margin:0 0 1.4em;padding:0;background:var(--paper);border:3px solid var(--navy);border-radius:12px;overflow:hidden}
.hours li{display:flex;justify-content:space-between;gap:12px;padding:.5em 1em;font-weight:700;font-variant-numeric:tabular-nums}
.hours li+li{border-top:2px dashed rgba(31,37,71,.35)}
.hours li.today{background:var(--yel);font-weight:800}
.hours li.closed span:last-child{color:var(--mag)}
.soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.2em}
.soc a{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.3em 1em;border:3px solid var(--navy);border-radius:999px;background:var(--paper);font:800 .9rem/1 var(--body);text-decoration:none}
.soc svg{width:1.3em;height:1.3em}
.mapbox{border:5px solid var(--navy);border-radius:var(--r);overflow:hidden;box-shadow:10px 10px 0 var(--navy);display:flex;flex-direction:column;background:var(--paper);min-height:420px}
.mapbox iframe{border:0;flex:1;width:100%;min-height:360px}
.mapbox p{margin:0;padding:.8em 1.1em;font-weight:700;border-top:4px solid var(--navy);font-size:.95rem}
@media(max-width:900px){.contact .wrap{grid-template-columns:1fr}}
/* faq */
.faq .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,70px);align-items:start}
.faq h2{margin-bottom:.6em}
details.q{background:var(--paper);border:4px solid var(--navy);border-radius:14px;margin-bottom:12px;box-shadow:4px 4px 0 var(--navy)}
details.q summary{cursor:pointer;list-style:none;padding:.9em 3em .9em 1.1em;font:400 1.25rem/1.2 var(--display);position:relative}
details.q summary::-webkit-details-marker{display:none}
details.q summary::after{content:"+";position:absolute;right:1em;top:50%;transform:translateY(-50%);font:400 1.8rem/1 var(--display);color:var(--mag);transition:transform .3s}
details.q[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details.q .a{padding:0 1.1em 1em}details.q .a p:last-child{margin:0}
.aside{position:sticky;top:calc(var(--head-h) + 24px);background:var(--yel);border:5px solid var(--navy);border-radius:var(--r);box-shadow:8px 8px 0 var(--navy);overflow:hidden;transform:rotate(1.2deg)}
.aside img{width:100%;aspect-ratio:1/1;object-fit:cover;border-bottom:5px solid var(--navy)}
.aside div{padding:18px 20px 22px}.aside p{margin:.4em 0 1em}
@media(max-width:900px){.faq .wrap{grid-template-columns:1fr}.aside{position:static;max-width:460px}}
/* blog */
.blog{background:var(--mint-d);border-top:5px solid var(--navy)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,34px);margin-top:1.6rem}
.post{background:var(--paper);border:4px solid var(--navy);border-radius:var(--r);overflow:hidden;box-shadow:6px 6px 0 var(--navy);display:flex;flex-direction:column}
.post img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:4px solid var(--navy)}
.post .in{padding:16px 18px 18px;flex:1}
.post time{font:800 .72rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mag)}
.post h3{margin:.4em 0 .5em}
.post details summary{cursor:pointer;font-weight:800;color:var(--blue);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:flex;align-items:center}
.post details p{font-size:.97rem;margin:.6em 0}
@media(max-width:980px){.posts{grid-template-columns:1fr}.post{display:grid;grid-template-columns:.9fr 1.4fr}.post img{height:100%;aspect-ratio:auto;border-bottom:0;border-right:4px solid var(--navy)}}
@media(max-width:620px){.post{display:flex}.post img{height:auto;aspect-ratio:16/10;border-right:0;border-bottom:4px solid var(--navy)}}
/* footer */
.foot{background:var(--navy);color:var(--cream);padding:clamp(50px,7vw,100px) 0 40px;text-align:center}
.foot .big{font:400 clamp(3rem,10vw,9rem)/.95 var(--script);color:var(--yel);text-shadow:4px 4px 0 var(--mag)}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:2rem 0 1.2rem}
.foot nav a{font:800 .85rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.8em 0;min-height:44px;display:inline-flex;align-items:center}
.foot small{display:block;opacity:.8;font-weight:600}
.foot a:hover{color:var(--yel)}
.foot .row{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:center;margin-bottom:1rem;font-weight:700}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ticker div{animation:none!important;flex-wrap:wrap;white-space:normal}.hero h1 .l{animation:none}}
.wrap>*{min-width:0}
@media(max-width:860px){.about .wrap{grid-template-columns:minmax(0,1fr)}.collage{margin:0 12px 12px}}
