:root{--black:#000;--white:#fff;--red:#e0001b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 6%;border-bottom:1px solid var(--white);position:relative;z-index:2}.brand{position:relative;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:167px;height:76px;flex-shrink:0}.brand-text{z-index:1;display:flex;flex-direction:column;font:italic 900 23px/.79 'Exo 2',Arial,sans-serif;letter-spacing:-.065em;transform:skewX(-7deg);text-shadow:2px 2px 0 var(--black)}.brand-text span:last-child{margin-left:37px}.brand-strike{position:absolute;width:51px;height:65px;left:57px;top:6px;background:var(--red);clip-path:polygon(0 0,43% 0,100% 100%,40% 36%)}.nav{display:flex;align-items:center;gap:44px}.nav a,.header-instagram,.footer>a:last-child{font:700 12px 'Exo 2',Arial,sans-serif;letter-spacing:.1em;text-decoration:none}.nav a:hover,.header-instagram:hover,.footer>a:last-child:hover{color:var(--red)}.header-instagram{border:1px solid var(--white);padding:13px 19px}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:1fr 1fr;padding:0 6%;overflow:hidden}.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:75px 0 110px}.eyebrow{display:flex;align-items:center;gap:10px;font:700 11px 'Exo 2',Arial,sans-serif;letter-spacing:.17em}.red-square,.white-square{width:8px;height:8px;background:var(--red);display:inline-block}.white-square{background:var(--white)}h1,h2,h3,p{margin-top:0}.hero h1,.section-heading h2,.visit h2,.statement h2{font-family:'Exo 2',Arial,sans-serif;font-weight:900;font-style:italic;letter-spacing:-.06em;text-transform:uppercase}.hero h1{font-size:clamp(62px,7vw,116px);line-height:.91;margin:38px 0 29px}.hero h1 span{display:block;white-space:nowrap}.red,.section-heading h2 span,.visit h2 span{color:var(--red)}.hero-subtitle{font-size:16px;line-height:1.8;margin-bottom:33px}.hero-actions,.visit-actions{display:flex;gap:11px;flex-wrap:wrap}.button{min-height:53px;display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;text-decoration:none;font:800 12px 'Exo 2',Arial,sans-serif;letter-spacing:.06em;text-align:center;transition:background .18s,color .18s,border-color .18s}.button-red{background:var(--red);border:2px solid var(--red);color:var(--white)}.button-red:hover{background:var(--white);border-color:var(--white);color:var(--black)}.button-outline{border:2px solid var(--white);background:var(--black);color:var(--white)}.button-outline:hover{background:var(--white);color:var(--black)}.hero-art{position:relative;min-width:0;display:flex;align-items:center;justify-content:center}.hero-bolt{position:absolute;width:70%;height:84%;background:var(--red);clip-path:polygon(16% 0,54% 0,100% 100%,47% 39%);transform:rotate(-8deg)}.orbit{position:absolute;border:1px solid var(--white);border-radius:50%;width:min(40vw,530px);aspect-ratio:1}.orbit-two{width:min(32vw,410px)}.art-type{z-index:1;display:flex;flex-direction:column;font:italic 900 clamp(45px,5.3vw,86px)/.78 'Exo 2',Arial,sans-serif;letter-spacing:-.075em;transform:skewX(-8deg);text-shadow:4px 4px 0 var(--black)}.art-type span:last-child{margin-left:22%}.art-caption{position:absolute;bottom:90px;right:0;font:700 10px 'Exo 2',Arial,sans-serif;letter-spacing:.18em;writing-mode:vertical-rl}.hero-index{position:absolute;left:6%;bottom:36px;font:700 10px 'Exo 2',Arial,sans-serif;letter-spacing:.14em;display:flex;align-items:center;gap:12px}.hero-index span{width:38px;height:1px;background:var(--white)}.ticker{background:var(--red);padding:17px 0;overflow:hidden}.ticker div{width:max-content;font:italic 900 17px 'Exo 2',Arial,sans-serif;letter-spacing:.08em;white-space:nowrap;transform:translateX(-10px)}.ticker span{font-size:9px;margin:0 22px}.section{padding:105px 6%}.section-top{border-top:1px solid var(--white);display:flex;justify-content:space-between;gap:15px;padding-top:15px;font:700 10px 'Exo 2',Arial,sans-serif;letter-spacing:.14em}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:65px}.section-heading h2,.visit h2{font-size:clamp(58px,6.8vw,100px);line-height:.93;margin:22px 0 0}.section-heading>p{max-width:325px;font-size:14px;line-height:1.8;margin:0 0 8px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:75px}.menu-block{border-top:3px solid var(--red);padding:24px 0 0}.menu-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--white);padding-bottom:16px}.menu-num{color:var(--red);font:800 12px 'Exo 2',Arial,sans-serif}.menu-head h3{font:italic 900 clamp(23px,2.3vw,34px) 'Exo 2',Arial,sans-serif;margin:0;letter-spacing:-.03em}.menu-block ul{list-style:none;padding:8px 0 0;margin:0}.menu-block li{padding:10px 0;border-bottom:1px solid var(--white);font-size:14px;font-weight:500}.menu-note{font-size:11px;line-height:1.6;margin:28px 0 0}.statement{position:relative;background:var(--red);color:var(--white);padding:95px 6%;overflow:hidden}.statement-content{position:relative;z-index:1}.statement h2{font-size:clamp(46px,5.6vw,86px);line-height:1;margin:25px 0}.statement h2 span{color:var(--black)}.statement-content>p:last-child{max-width:410px;line-height:1.8;font-size:14px;margin-bottom:0}.statement-mark{position:absolute;right:7%;top:-35%;width:30%;height:180%;background:var(--black);clip-path:polygon(0 0,32% 0,100% 100%,30% 41%)}.visit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;margin-top:75px}.visit-details{padding-top:10px}.detail{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--white)}.detail span{font:800 10px 'Exo 2',Arial,sans-serif;letter-spacing:.14em;color:var(--red)}.detail p{font-size:16px;line-height:1.7;margin:12px 0 0}.footer{border-top:1px solid var(--white);padding:25px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{font:700 10px 'Exo 2',Arial,sans-serif;letter-spacing:.12em;margin:0}.brand-footer{width:150px}@media(max-width:800px){.header{height:78px;padding:0 5%;gap:10px}.brand{width:125px;height:65px}.brand-text{font-size:18px}.brand-text span:last-child{margin-left:28px}.brand-strike{width:42px;height:54px;left:42px;top:6px}.nav{gap:18px}.nav a{font-size:10px}.nav a:nth-child(2){display:none}.header-instagram{padding:11px;font-size:10px}.hero{grid-template-columns:1fr;min-height:unset;padding:0 5%}.hero-copy{padding:75px 0 28px}.hero h1{font-size:clamp(53px,11vw,82px)}.hero-subtitle{font-size:14px}.hero-art{min-height:330px;margin-bottom:40px}.orbit{width:min(75vw,320px)}.orbit-two{width:min(58vw,245px)}.hero-bolt{height:96%;width:70%}.art-type{font-size:clamp(46px,10vw,72px)}.art-caption{bottom:20px;right:10px}.hero-index{bottom:20px}.section{padding:70px 5%}.section-heading{display:block;margin-top:45px}.section-heading h2,.visit h2{font-size:clamp(54px,12vw,80px)}.section-heading>p{margin-top:25px}.menu-grid{grid-template-columns:1fr;gap:36px;margin-top:48px}.statement{padding:70px 5%}.statement h2{font-size:clamp(39px,8vw,65px)}.statement-mark{right:-30%;width:65%}.statement-content{max-width:90%}.visit-grid{grid-template-columns:1fr;gap:45px;margin-top:45px}.footer{padding:25px 5%;flex-wrap:wrap}.footer p{display:none}}@media(max-width:380px){.header-instagram{display:none}.hero h1{font-size:49px}.hero-actions .button{padding-left:17px;padding-right:17px}.section-top{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Menu and movement */
.header,.footer{border:0}
.section-heading{margin-top:0}
.visit-grid{margin-top:0}
.ticker-track{display:flex;width:max-content;animation:ticker-right 85s linear infinite}
.ticker .ticker-group{flex:none;width:max-content;transform:none;font:italic 900 17px 'Exo 2',Arial,sans-serif;letter-spacing:.08em;white-space:nowrap}
@keyframes ticker-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.menu-hint{margin:55px 0 0;font-size:13px;line-height:1.6}
.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 24px;margin-top:24px}
.menu-block{border:0;padding:0;background:var(--black)}
.menu-block summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:20px 23px;font:italic 900 clamp(20px,2vw,27px) 'Exo 2',Arial,sans-serif;letter-spacing:-.03em}
.menu-block summary::-webkit-details-marker{display:none}
.menu-block summary::after{content:'+';color:var(--red);font:400 28px/1 Manrope,Arial,sans-serif}
.menu-block[open] summary::after{content:'−'}
.menu-block summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.menu-block ul{padding:0 23px 20px}
.menu-block li{border:0;padding:8px 0;display:flex;justify-content:space-between;gap:20px;line-height:1.5}
.menu-price{flex-shrink:0;font-weight:800;white-space:nowrap}
.detail{border:0}
@media(max-width:800px){.section-heading{margin-top:0}.menu-grid{grid-template-columns:1fr;gap:10px;margin-top:20px}.menu-hint{margin-top:38px}.visit-grid{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

@media(max-width:380px){.header-instagram{display:inline-block;padding:8px;font-size:9px}.nav{gap:10px}.brand{width:112px}}

/* Compact menu previews and brand details */
.header-socials{display:flex;align-items:center;gap:8px}
.header-socials a{white-space:nowrap}
.brand-text,.art-type{color:var(--black);-webkit-text-stroke:1.5px var(--white);paint-order:stroke fill;text-shadow:none}
.art-type{-webkit-text-stroke:4px var(--white)}
.menu-grid{gap:34px 40px}
.menu-block h3{margin:0;padding:20px 23px 8px;font:italic 900 clamp(20px,2vw,27px) 'Exo 2',Arial,sans-serif;letter-spacing:-.03em}
.menu-block ul{padding:0 23px}
.menu-more summary{display:inline-flex;justify-content:flex-start;gap:0;margin:10px 23px 0;padding:10px 0;color:var(--white);font:800 11px 'Exo 2',Arial,sans-serif;letter-spacing:.08em;border-bottom:2px solid var(--red)}
.menu-more summary::after,.menu-more[open] summary::after{content:none}
.menu-more[open] summary{margin-bottom:10px}
.visit{padding-bottom:20px}
.footer{padding-top:0;padding-bottom:25px}
@media(max-width:800px){
  .header{height:auto;min-height:78px;flex-wrap:wrap;gap:0 12px;padding-top:5px;padding-bottom:12px}
  .header-socials{margin-left:auto;gap:6px}
  .header-socials a{padding:10px;font-size:9px}
  .nav{order:3;justify-content:center;width:100%;padding-top:8px}
  .nav a:nth-child(2){display:inline}
  .menu-grid{gap:28px}
  .menu-block h3{padding-left:0;padding-right:0}
  .menu-block ul{padding-left:0;padding-right:0}
  .menu-more summary{margin-left:0;margin-right:0}
  .visit{padding-bottom:16px}
  .footer{padding-top:0}
}
@media(max-width:380px){.header-socials a{padding:8px 6px;font-size:9px}.nav{gap:22px}}

.menu-more .less-label,.menu-more[open] .more-label{display:none}
.menu-more[open] .less-label{display:inline}

/* Page navigation and layouts */
.header{position:sticky;top:0;z-index:20;background:var(--black)}
.nav a[aria-current="page"]{color:var(--red)}
html{scroll-padding-top:120px}
.brand-text{-webkit-text-stroke:2.4px var(--white)}
.art-type{-webkit-text-stroke:7px var(--white)}
.hero-stage{min-height:calc(100svh - 100px);display:flex;flex-direction:column}
.hero-stage .hero{flex:1;min-height:0}
.hero-stage .ticker{flex:none}
.home-ending{min-height:calc(100svh - 100px);display:flex;flex-direction:column}
.home-ending .statement{flex:1;display:flex;align-items:center;padding-top:45px;padding-bottom:45px}
.home-ending .visit{flex:1;padding-top:45px;padding-bottom:25px}
.home-ending .detail{padding-bottom:10px;margin-bottom:12px}
.home-ending .detail p{margin-top:6px}
.home-ending .visit h2{font-size:clamp(48px,5.2vw,80px)}
.home-ending .statement h2{font-size:clamp(40px,5vw,72px)}
.menu-section{padding-top:85px}
.gelato-note{padding:0 23px;margin:0 0 8px;font-size:12px;line-height:1.5}
.about-page{padding:95px 6% 105px}
.about-intro h1,.about-copy h2{font:italic 900 clamp(54px,7vw,105px)/.93 'Exo 2',Arial,sans-serif;letter-spacing:-.06em;margin:25px 0;text-transform:uppercase}
.about-intro h1 span,.about-copy h2 span{color:var(--red)}
.about-intro>p:last-child{font-size:16px;line-height:1.7}
.about-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8%;margin-top:85px}
.about-photo img{display:block;width:100%;height:auto;max-height:730px;object-fit:cover}
.about-copy h2{font-size:clamp(40px,4.2vw,65px)}
.about-copy>p:not(.eyebrow){max-width:530px;line-height:1.8;font-size:15px}
@media(max-width:800px){
 html{scroll-padding-top:140px}
 .hero-stage{min-height:calc(100svh - 110px)}
 .hero-stage .hero{flex:1}
 .home-ending{min-height:0}
 .home-ending .statement,.home-ending .visit{padding:55px 5%}
 .home-ending .visit{padding-bottom:20px}
 .gelato-note{padding:0}
 .about-page{padding:65px 5% 75px}
 .about-story{grid-template-columns:1fr;gap:40px;margin-top:50px}
 .about-photo img{max-height:550px}
}

/* Contact section and quieter page introductions */
.visit{background:var(--red);color:var(--white);padding-bottom:45px}
.visit-title{display:flex;flex-direction:column;align-items:flex-start}
.visit-title h2{margin-top:0;font-size:clamp(48px,5.2vw,80px)}
.visit-title .brand-footer{margin-top:auto}
.visit h2 span,.visit .detail span{color:var(--black)}
.visit .brand-strike{background:var(--black)}
.visit .button-red{background:var(--black);border-color:var(--black)}
.visit .button-red:hover{background:var(--white);border-color:var(--white);color:var(--black)}
.visit .button-outline{background:var(--red)}
.visit .button-outline:hover{background:var(--white);color:var(--black)}
.statement{background:var(--black)}
.statement h2 span{color:var(--red)}
.statement-mark{background:var(--red)}
.menu-section .menu-grid{margin-top:55px}
.about-story{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}
.about-photo img{max-width:480px;max-height:600px}
@media(max-width:800px){
 .visit{padding-bottom:45px}
 .visit-title .brand-footer{margin-top:28px}
 .home-ending .visit{padding-bottom:45px}
 .menu-section .menu-grid{margin-top:40px}
 .about-story{grid-template-columns:1fr}
 .about-photo img{max-width:390px;max-height:none}
}

/* Red introductions on the menu and about pages */
.menu-section{padding:0 0 105px}
.menu-section .section-heading{background:var(--red);padding:70px 6%;margin:0}
.menu-section .section-heading h2{margin-top:0}
.menu-section .section-heading h2 span{color:var(--black)}
.menu-section .menu-grid,.menu-section .menu-note{margin-left:6%;margin-right:6%}
.about-page{padding:0 0 105px}
.about-intro{background:var(--red);padding:70px 6%}
.about-intro h1{margin-top:0}
.about-intro h1 span{color:var(--black)}
.about-intro>p:last-child{margin-bottom:0}
.about-story{margin-left:6%;margin-right:6%}
@media(max-width:800px){
 .menu-section{padding:0 0 70px}
 .menu-section .section-heading{padding:55px 5%}
 .menu-section .menu-grid,.menu-section .menu-note{margin-left:5%;margin-right:5%}
 .about-page{padding:0 0 75px}
 .about-intro{padding:55px 5%}
 .about-story{margin-left:5%;margin-right:5%}
}

.menu-example{font:500 12px Manrope,Arial,sans-serif;letter-spacing:0}

/* Contact text and section transitions */
.visit .detail span{font-size:13px;letter-spacing:.1em;-webkit-text-stroke:.7px var(--white);paint-order:stroke fill}
.visit .detail p{font-size:18px;font-weight:700;-webkit-text-stroke:1px var(--black);paint-order:stroke fill}
.visit{position:relative}
.page-menu .section-heading,.page-about .about-intro{position:relative}
.page-menu .section-heading::after,.page-about .about-intro::after{content:"";position:absolute;top:100%;right:10%;width:clamp(110px,15vw,210px);height:64px;background:var(--red);clip-path:polygon(0 0,65% 0,100% 100%,50% 28%);pointer-events:none}
.page-menu .visit::before,.page-about .visit::before{content:"";position:absolute;bottom:100%;right:10%;width:clamp(110px,15vw,210px);height:64px;background:var(--red);clip-path:polygon(0 0,48% 72%,65% 100%,100% 100%);pointer-events:none}
@media(max-width:800px){
 .visit .detail span{font-size:12px}
 .visit .detail p{font-size:17px}
 .page-menu .section-heading::after,.page-about .about-intro::after,.page-menu .visit::before,.page-about .visit::before{height:42px;right:6%;width:110px}
}

/* High-contrast contact information */
.visit-details{background:var(--black);padding:28px}
.visit .detail span{color:var(--white);font-size:13px;-webkit-text-stroke:0}
.visit .detail p{color:var(--white);font-size:18px;font-weight:600;-webkit-text-stroke:0}
.visit .button-red{background:var(--white);border-color:var(--white);color:var(--black)}
.visit .button-red:hover{background:var(--black);border-color:var(--white);color:var(--white)}
.visit .button-outline{background:var(--black)}
@media(max-width:800px){.visit-details{padding:24px}.visit .detail p{font-size:17px}}

/* Heading alignment and readable introductions */
.statement h2{line-height:1.16;text-align:left}
.statement-content>p{text-align:left}
.menu-section .section-heading>p,.about-intro>p:last-child{background:var(--black);color:var(--white);padding:22px 24px;max-width:325px;font-size:14px;line-height:1.8;margin:0}
.about-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.about-intro h1{margin:0}
@media(max-width:800px){
 .menu-section .section-heading>p{margin-top:25px}
 .about-intro{display:block}
 .about-intro>p:last-child{margin-top:25px}
}

.menu-section .section-heading>p,.about-intro>p:last-child{font:italic 600 18px/1.6 'Exo 2',Arial,sans-serif;max-width:380px}
.statement-content{width:fit-content;max-width:100%}
.statement-content>p:last-child{max-width:650px;margin:0;font:italic 600 18px/1.6 'Exo 2',Arial,sans-serif;text-align:left}
@media(max-width:800px){
 .menu-section .section-heading>p,.about-intro>p:last-child,.statement-content>p:last-child{font-size:17px}
}

/* Mobile navigation and touch targets */
@media(max-width:800px){
 .header{padding-bottom:0}
 .header-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
 .nav{padding-top:0}
 .nav a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
 .nav a:nth-child(2){display:inline-flex}
 .hero-copy{padding-top:40px;padding-bottom:20px}
 .hero-art{min-height:clamp(210px,32vh,290px);margin-bottom:12px}
 .hero-art .orbit-one{width:min(64vw,275px)}
 .hero-art .orbit-two{width:min(49vw,210px)}
 .menu-more summary{min-height:44px;align-items:center}
 .menu-block li{font-size:16px}
 html{scroll-padding-top:145px}
}

/* Balance the mobile header: compact brand and socials, full-width navigation. */
@media(max-width:800px){
 .header .brand{width:105px;height:60px}
 .header .brand-text{font-size:16px}
 .header .brand-text span:last-child{margin-left:25px}
 .header .brand-strike{width:37px;height:48px;left:35px;top:6px}
 .header-socials a{padding:8px 7px;font-size:8px}
 .nav{justify-content:space-between;gap:4px}
 .nav a{font-size:clamp(10px,2.8vw,12px)}
}

/* Keep the first mobile screen compact instead of stretching it to the viewport. */
@media(max-width:800px){
 .hero-stage{min-height:calc(100svh - 110px)}
 .hero-stage .hero{flex:1;grid-template-rows:auto 1fr}
 .hero-stage .hero-bolt{height:min(96%, 290px)}
 .hero-copy{padding-top:8px}
 .hero h1{margin-top:12px}
}
