:root { --ice:#dff8ff; --blue:#0057ff; --navy:#06162d; --acid:#a8ff2a; --white:#f7fcff; --font-display:"Space Grotesk",sans-serif; --font-mono:"Space Mono",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ice); color:var(--navy); font-family:var(--font-display), sans-serif; }
main { --ice:#dff8ff; --blue:#0057ff; --navy:#06162d; --acid:#a8ff2a; --white:#f7fcff; background:var(--ice); color:var(--navy); transition:background-color .35s,color .35s; }
main.alternate-palette { --ice:#fff0cf; --blue:#ff3d00; --navy:#2a0920; --acid:#ff79c6; --white:#fffaf0; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--acid); color:var(--navy); }

.site-header { height:78px; display:flex; justify-content:space-between; align-items:stretch; border-bottom:3px solid var(--navy); position:sticky; top:0; z-index:20; background:rgba(223,248,255,.96); }
.logo { font-weight:800; font-size:24px; letter-spacing:-1.5px; display:flex; align-items:center; padding:0 28px; }
.logo span { color:var(--blue); }
nav { display:flex; }
nav a,nav .nav-contact-button { font:700 12px var(--font-mono); padding:0 24px; display:flex; align-items:center; border:0; border-left:2px solid var(--navy); background:transparent; color:inherit; cursor:pointer; }
nav a:hover,nav .nav-contact-button:hover { background:var(--navy); color:var(--ice); }
nav .nav-cta,nav .nav-contact-button { background:var(--acid); }

.contact-modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(6,22,45,.72); backdrop-filter:blur(5px); }
.contact-modal-backdrop[hidden] { display:none; }
.contact-modal { width:min(100%,720px); max-height:calc(100vh - 40px); overflow:auto; padding:26px; border:3px solid var(--navy); background:var(--ice); color:var(--navy); box-shadow:12px 12px 0 var(--blue); }
.contact-modal-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:15px; border-bottom:2px solid var(--navy); font:700 11px var(--font-mono); }
.contact-modal-top button { width:42px; height:42px; border:2px solid var(--navy); background:var(--acid); color:var(--navy); font:700 28px/1 var(--font-display); cursor:pointer; }
.contact-modal h2 { margin:40px 0; font-size:clamp(50px,8vw,92px); line-height:.75; letter-spacing:-.075em; }
.contact-modal h2 i { color:var(--blue); }
.contact-modal form { display:grid; gap:18px; }
.contact-modal label { display:grid; gap:7px; font:700 10px var(--font-mono); letter-spacing:.08em; }
.contact-modal input,.contact-modal textarea { width:100%; border:2px solid var(--navy); border-radius:0; padding:13px; background:var(--white); color:var(--navy); font:600 16px var(--font-display); resize:vertical; }
.contact-modal input:focus,.contact-modal textarea:focus { outline:4px solid var(--acid); }
.modal-submit { display:flex; justify-content:space-between; padding:18px; border:3px solid var(--navy); background:var(--navy); color:var(--white); font:700 12px var(--font-mono); cursor:pointer; box-shadow:6px 6px 0 var(--blue); }
.contact-modal>p { margin:22px 0 0; font:400 10px/1.5 var(--font-mono); }

.hero { min-height:calc(100vh - 78px); padding:24px 28px 32px; display:flex; flex-direction:column; position:relative; overflow:hidden; border-bottom:3px solid var(--navy); background:linear-gradient(135deg,var(--ice) 0 64%,color-mix(in srgb,var(--blue) 22%,var(--ice)) 64%); transition:background .35s,color .35s,border-color .35s; }
.hero-kicker { display:flex; justify-content:space-between; font:700 11px var(--font-mono); letter-spacing:.08em; }
.hero h1 { font-size:clamp(74px,13.2vw,210px); line-height:.76; letter-spacing:-.085em; margin:9vh 0 52px; max-width:1400px; font-weight:800; position:relative; z-index:2; }
.hero h1 em { color:var(--blue); font-style:italic; -webkit-text-stroke:3px var(--navy); text-shadow:7px 7px 0 var(--navy); }
.ice-mark { position:absolute; right:4%; top:20%; color:var(--white); font-size:clamp(140px,26vw,430px); line-height:1; transform:rotate(14deg); text-shadow:0 0 0 3px var(--blue); opacity:.8; }
.hero-bottom { display:grid; grid-template-columns:minmax(0,1fr) minmax(520px,1.05fr); align-items:stretch; gap:40px; border-top:2px solid var(--navy); padding-top:24px; position:relative; z-index:2; }
.hero-intro { display:flex; flex-direction:column; gap:16px; align-self:end; max-width:760px; }
.hero-intro p { margin:0; font-size:clamp(16px,1.45vw,22px); font-weight:600; line-height:1.25; }
.hero-intro p:first-child { font-size:clamp(20px,2vw,30px); line-height:1.12; font-weight:800; letter-spacing:-.025em; }
.hero-actions { display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:1fr auto; gap:10px; }
.hero-action { appearance:none; color:inherit; text-align:left; font:inherit; position:relative; min-height:144px; padding:18px 52px 18px 18px; border:3px solid var(--navy); display:flex; flex-direction:column; justify-content:space-between; cursor:pointer; transition:transform .16s,box-shadow .16s,background-color .35s,color .35s,border-color .35s; }
.hero-action:hover,.hero-action:focus-visible { transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--navy); outline:none; }
.hero-action strong { max-width:90%; font-size:clamp(18px,1.65vw,25px); line-height:.95; letter-spacing:-.04em; }
.hero-action>span { max-width:88%; font:400 11px/1.35 var(--font-mono); }
.hero-action b { position:absolute; right:16px; top:12px; font-size:23px; }
.express-action { background:var(--blue); color:var(--white); }
.talk-action { background:var(--acid); color:var(--navy); transform:rotate(1deg); }
.talk-action:hover,.talk-action:focus-visible { transform:rotate(1deg) translate(-4px,-4px); }
.click-action { grid-column:1/-1; min-height:68px; flex-direction:row; align-items:center; background:var(--navy); color:var(--white); }
.click-action>span { margin-right:30px; }
.alternate-palette .click-action b { animation:spin .45s ease-out; }
@keyframes spin { to { transform:rotate(180deg) scale(1.25); } }

.express-strip { scroll-margin-top:78px; display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:30px; padding:22px 28px; background:var(--acid); border-bottom:3px solid var(--navy); font:700 12px var(--font-mono); }
.express-strip>span { font-size:18px; }
.express-strip p { margin:0; text-align:center; }
.express-strip b { color:var(--blue); margin:0 16px; }
.express-strip a { border-bottom:2px solid var(--navy); padding-bottom:4px; }

.manifesto { background:var(--navy); color:var(--white); padding:90px 28px; display:grid; grid-template-columns:150px 1fr 230px; gap:30px; align-items:end; }
.eyebrow,.index { font:700 11px var(--font-mono); letter-spacing:.1em; }
.manifesto-copy p { font-weight:800; font-size:clamp(42px,7vw,108px); line-height:.9; letter-spacing:-.06em; margin:0; }
.manifesto-copy .outline { color:transparent; -webkit-text-stroke:2px var(--ice); }
.side-note { font:400 13px/1.5 var(--font-mono); max-width:210px; }
.side-note strong { color:var(--acid); }

.sense { padding:100px 28px 0; background:var(--navy); color:var(--white); }
.sense-title { display:grid; grid-template-columns:150px 1fr; }
.section-label { display:flex; flex-direction:column; gap:8px; font:700 11px var(--font-mono); letter-spacing:.08em; }
.sense h2 { font-size:clamp(64px,11vw,172px); line-height:.78; letter-spacing:-.075em; margin:0 0 34px; }
.sense h2 i { color:var(--acid); }
.method-intro { max-width:760px; margin:0 0 70px; font:700 clamp(15px,1.7vw,24px)/1.3 var(--font-mono); }
.services { border-top:3px solid var(--ice); }
.services article { display:grid; grid-template-columns:150px minmax(250px,.72fr) 1.28fr; gap:28px; align-items:center; padding:34px 0; border-bottom:2px solid var(--ice); transition:.2s; }
.services article:hover { background:var(--acid); color:var(--navy); padding-left:20px; padding-right:20px; }
.services article>span { font:700 12px var(--font-mono); }
.services .method-letter { font:800 clamp(64px,8vw,116px)/.8 var(--font-display); color:var(--acid); }
.services article:hover .method-letter { color:var(--blue); }
.services h3 { display:flex; flex-direction:column; font-size:clamp(28px,4vw,56px); letter-spacing:-.05em; line-height:.9; margin:0; }
.services h3 small { margin-bottom:8px; font:700 10px var(--font-mono); letter-spacing:.12em; color:var(--acid); }
.services article:hover h3 small { color:var(--blue); }
.method-copy { display:grid; grid-template-columns:minmax(180px,.72fr) 1.28fr; gap:28px; align-items:start; }
.services p { font:400 clamp(14px,1.1vw,17px)/1.55 var(--font-mono); margin:0; max-width:620px; }
.services .definition { font-size:clamp(13px,1vw,15px); opacity:.82; }
.services .definition strong { display:block; font-size:clamp(15px,1.1vw,17px); text-transform:uppercase; margin-bottom:5px; }

.ticker { overflow:hidden; background:var(--blue); color:white; border-block:3px solid var(--navy); padding:17px 0; }
.ticker div { width:max-content; animation:marquee 28s linear infinite; }
.ticker span { font:700 14px var(--font-mono); margin-right:36px; }
.ticker b { color:var(--acid); margin-left:36px; }
@keyframes marquee { to { transform:translateX(-35%); } }

.about { display:grid; grid-template-columns:1fr 2fr; padding:100px 28px; gap:40px; background:var(--ice); }
.about-copy h2 { font-size:clamp(56px,9vw,130px); line-height:.78; letter-spacing:-.07em; margin:0 0 50px; }
.about-copy h2 span { color:var(--blue); }
.about-copy>p { max-width:820px; font-size:clamp(16px,1.35vw,21px); font-weight:600; line-height:1.35; }
.about-copy .about-signoff { margin-top:38px; color:var(--blue); font-size:clamp(28px,3.5vw,52px); font-weight:800; line-height:.9; letter-spacing:-.055em; }
.credentials { display:flex; flex-wrap:wrap; gap:8px; margin-top:45px; }
.credentials span { border:2px solid var(--navy); padding:9px 12px; font:700 11px var(--font-mono); background:var(--white); }
.profile-link { display:inline-flex; gap:12px; margin-top:30px; padding-bottom:6px; border-bottom:2px solid var(--navy); font:700 12px var(--font-mono); }

.contact { background:var(--acid); padding:90px 28px; border-top:3px solid var(--navy); position:relative; }
.contact h2 { font-size:clamp(68px,12vw,180px); line-height:.78; letter-spacing:-.08em; margin:55px 0 40px; }
.contact h2 span { color:var(--blue); -webkit-text-stroke:3px var(--navy); }
.contact>p:not(.eyebrow) { font:700 16px/1.5 var(--font-mono); max-width:620px; }
.contact-button { display:flex; justify-content:space-between; align-items:center; width:min(100%,650px); margin-top:45px; padding:22px; border:3px solid var(--navy); background:var(--navy); color:white; font:700 13px var(--font-mono); box-shadow:8px 8px 0 var(--blue); }
.contact-button:hover { transform:translate(4px,4px); box-shadow:4px 4px 0 var(--blue); }

footer { display:grid; grid-template-columns:1.1fr 1fr 1fr .8fr; align-items:end; gap:30px; background:var(--navy); color:white; padding:55px 28px; }
footer .logo { padding:0; font-size:30px; }
footer p { font:400 11px/1.6 var(--font-mono); margin:0; }
.footer-contact a { display:inline-block; border-bottom:1px solid transparent; }
.footer-contact a:hover { border-bottom-color:var(--acid); color:var(--acid); }

/* Services menu */
.menu-page { background:var(--navy); }
.menu-site-header .nav-cta { min-width:185px; }
.menu-hero { min-height:calc(100vh - 78px); padding:24px 28px 36px; position:relative; overflow:hidden; display:flex; flex-direction:column; background:var(--ice); border-bottom:3px solid var(--navy); }
.menu-hero::after { content:""; position:absolute; width:42vw; height:42vw; right:-12vw; top:10%; border:3px solid var(--blue); border-radius:50%; box-shadow:0 0 0 24px var(--ice),0 0 0 27px var(--blue),0 0 0 52px var(--ice),0 0 0 55px var(--blue); opacity:.28; }
.menu-hero-top { position:relative; z-index:2; display:flex; justify-content:space-between; font:700 11px var(--font-mono); letter-spacing:.08em; }
.menu-hero h1 { position:relative; z-index:2; margin:auto 0 62px; font-size:clamp(90px,16vw,245px); line-height:.68; letter-spacing:-.09em; }
.menu-hero h1 em { color:var(--blue); font-style:italic; -webkit-text-stroke:3px var(--navy); text-shadow:7px 7px 0 var(--navy); }
.menu-stamp { position:absolute; z-index:3; right:9%; top:28%; width:140px; aspect-ratio:1; display:grid; place-items:center; text-align:center; border:3px solid var(--navy); border-radius:50%; background:var(--acid); font:700 13px/1.15 var(--font-mono); transform:rotate(12deg); box-shadow:7px 7px 0 var(--blue); }
.menu-hero-bottom { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; border-top:3px solid var(--navy); padding-top:22px; }
.menu-hero-bottom h2 { margin:0; font-size:clamp(28px,4vw,58px); line-height:.88; letter-spacing:-.055em; }
.menu-hero-bottom p { margin:0; max-width:650px; justify-self:end; font:700 clamp(15px,1.5vw,21px)/1.35 var(--font-mono); }

.price-board { display:grid; grid-template-columns:repeat(3,1fr); background:var(--blue); color:var(--white); border-bottom:3px solid var(--navy); }
.price-board>div { min-height:210px; padding:24px 28px; display:flex; flex-direction:column; border-right:3px solid var(--navy); }
.price-board>div:last-child { border-right:0; background:var(--acid); color:var(--navy); }
.price-board span { font:700 10px var(--font-mono); letter-spacing:.1em; }
.price-board strong { margin:auto 0 8px; font-size:clamp(40px,5vw,76px); line-height:.8; letter-spacing:-.065em; }
.price-board b { font:700 15px var(--font-mono); }

.consultation-special { display:grid; grid-template-columns:150px 1.1fr .9fr; gap:30px; padding:72px 28px; background:var(--ice); border-bottom:3px solid var(--navy); }
.consult-label { align-self:start; width:112px; height:112px; display:grid; place-items:center; padding:10px; background:var(--acid); border:3px solid var(--navy); border-radius:50%; text-align:center; font:700 12px var(--font-mono); transform:rotate(-8deg); }
.menu-number { margin:0 0 10px; font:700 12px var(--font-mono); color:var(--blue); }
.consultation-special h2 { max-width:720px; margin:0 0 20px; font-size:clamp(46px,7vw,105px); line-height:.78; letter-spacing:-.07em; }
.consultation-special>div:nth-child(2)>p:last-child { max-width:680px; font-size:clamp(17px,1.6vw,23px); font-weight:600; line-height:1.25; }
.consult-price { border:3px solid var(--navy); padding:22px; display:flex; flex-direction:column; background:var(--white); box-shadow:10px 10px 0 var(--blue); }
.consult-price span { font:700 11px var(--font-mono); }
.consult-price strong { margin:22px 0; color:var(--blue); font-size:clamp(58px,8vw,112px); line-height:.7; letter-spacing:-.07em; }
.consult-price p { margin:auto 0 0; font:400 13px/1.5 var(--font-mono); }
.consult-book { display:flex; justify-content:space-between; margin-top:22px; padding-top:12px; border-top:2px solid var(--navy); font:700 11px var(--font-mono); }

.menu-list { padding:100px 28px 0; background:var(--white); }
.menu-list-heading { display:grid; grid-template-columns:150px 1fr .65fr; gap:30px; align-items:end; margin-bottom:82px; }
.menu-list-heading>span,.specials-heading>span,.express-board>div>span { align-self:start; font:700 11px var(--font-mono); letter-spacing:.1em; }
.menu-list-heading h2,.specials-heading h2 { margin:0; font-size:clamp(66px,11vw,170px); line-height:.72; letter-spacing:-.08em; }
.menu-list-heading h2 i { color:var(--blue); }
.menu-list-heading p,.specials-heading p { margin:0; font:700 14px/1.5 var(--font-mono); }
.menu-item { border-top:3px solid var(--navy); }
.menu-item:last-child { border-bottom:3px solid var(--navy); }
.menu-item>summary::-webkit-details-marker,.special-card>summary::-webkit-details-marker { display:none; }
.menu-item-title { min-height:132px; display:flex; gap:18px; align-items:center; padding:28px 0; list-style:none; cursor:pointer; }
.menu-item-title:hover h2 { color:var(--blue); }
.menu-item-title .menu-number { flex:none; margin-bottom:7px; }
.menu-item-title h2 { flex:none; max-width:720px; margin:0; font-size:clamp(32px,4.4vw,66px); line-height:.85; letter-spacing:-.06em; }
.dot-leader { flex:1; margin-bottom:8px; border-bottom:3px dotted var(--navy); }
.express-badge { flex:none; padding:8px 10px; background:var(--acid); border:2px solid var(--navy); font:700 10px var(--font-mono); transform:rotate(1deg); }
.accordion-mark { flex:none; width:48px; height:48px; display:grid; place-items:center; border:2px solid var(--navy); background:var(--ice); font:700 28px/1 var(--font-display); transition:transform .2s,background .2s; }
.menu-item[open] .accordion-mark { transform:rotate(45deg); background:var(--acid); }
.menu-item-content { padding:0 0 70px; }
.dish-description { max-width:820px; margin:24px 0 40px 52px; font-size:clamp(17px,1.55vw,22px); font-weight:600; line-height:1.3; }
.portion-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-left:52px; }
.portion-card { min-height:300px; padding:22px; border:2px solid var(--navy); background:var(--ice); }
.portion-solid { background:color-mix(in srgb,var(--blue) 13%,var(--ice)); }
.portion-special { background:var(--navy); color:var(--white); }
.portion-heading { display:flex; justify-content:space-between; align-items:baseline; gap:15px; border-bottom:2px solid currentColor; padding-bottom:12px; margin-bottom:18px; }
.portion-heading h3 { margin:0; font-size:clamp(23px,2.6vw,38px); line-height:.9; letter-spacing:-.05em; }
.portion-heading span { flex:none; font:700 12px var(--font-mono); }
.portion-card ul { list-style:none; padding:0; margin:0; }
.portion-card li { position:relative; padding:7px 0 7px 19px; border-bottom:1px dotted currentColor; font:400 12px/1.45 var(--font-mono); }
.portion-card li::before { content:"✳"; position:absolute; left:0; color:var(--blue); }
.portion-card p { margin:0; font:400 13px/1.55 var(--font-mono); }
.linked-portion { display:flex; flex-direction:column; transition:transform .16s,box-shadow .16s; }
.linked-portion:hover,.linked-portion:focus-visible { transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--blue); outline:none; }
.portion-link-label { display:block; margin-top:auto; padding-top:22px; font:700 11px var(--font-mono); text-decoration:underline; text-underline-offset:4px; }

.house-specials { padding:105px 28px; background:var(--navy); color:var(--white); }
.specials-heading { display:grid; grid-template-columns:150px 1fr .65fr; gap:30px; align-items:end; margin-bottom:80px; }
.specials-heading h2 i { color:var(--acid); }
.special-card { border:3px solid var(--ice); background:var(--blue); box-shadow:12px 12px 0 var(--acid); margin-bottom:42px; }
.special-card.inverted { background:var(--acid); color:var(--navy); box-shadow:12px 12px 0 var(--blue); }
.special-card>summary { min-height:120px; padding:26px 30px; display:grid; grid-template-columns:150px 1fr auto 48px; gap:22px; align-items:center; list-style:none; cursor:pointer; font:700 11px var(--font-mono); letter-spacing:.08em; }
.special-card>summary strong { font:800 clamp(24px,3.2vw,46px)/.9 var(--font-display); letter-spacing:-.05em; }
.special-card>summary b { white-space:nowrap; }
.special-card>summary i { width:48px; height:48px; display:grid; place-items:center; border:2px solid currentColor; font:700 28px/1 var(--font-display); font-style:normal; transition:transform .2s; }
.special-card[open]>summary { border-bottom:2px solid currentColor; }
.special-card[open]>summary i { transform:rotate(45deg); }
.special-card-content { padding:0 30px 30px; }
.special-card h3 { margin:55px 0 34px; font-size:clamp(58px,9.5vw,145px); line-height:.73; letter-spacing:-.08em; }
.special-description { max-width:800px; font-size:clamp(21px,2.4vw,34px); font-weight:700; line-height:1.12; }
.special-detail { display:grid; grid-template-columns:1fr 1fr; gap:45px; margin:52px 0 34px; padding-top:24px; border-top:2px solid currentColor; }
.special-detail ul { list-style:none; padding:0; margin:0; }
.special-detail li { padding:9px 0; border-bottom:1px dotted currentColor; font:700 12px/1.4 var(--font-mono); }
.special-detail li::before { content:"+ "; }
.special-note { max-width:780px; font:400 13px/1.55 var(--font-mono); }

.express-board { scroll-margin-top:78px; min-height:520px; padding:85px 28px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:60px; align-items:center; position:relative; overflow:hidden; background:var(--acid); border-bottom:3px solid var(--navy); }
.express-board h2 { margin:22px 0 0; font-size:clamp(64px,10.5vw,160px); line-height:.72; letter-spacing:-.08em; }
.express-board h2 i { color:var(--blue); }
.express-board>div:not(.express-star) { min-width:0; position:relative; z-index:2; }
.express-copy { max-width:560px; justify-self:end; }
.express-copy p { font:700 clamp(15px,1.5vw,21px)/1.45 var(--font-mono); }
.express-star { position:absolute; right:-3%; top:-16%; color:var(--white); font-size:clamp(280px,40vw,600px); line-height:1; opacity:.25; }

.menu-order { padding:100px 28px; background:var(--ice); }
.menu-order h2 { margin:48px 0 35px; font-size:clamp(68px,11vw,168px); line-height:.75; letter-spacing:-.08em; }
.menu-order h2 span { color:var(--blue); -webkit-text-stroke:3px var(--navy); }
.menu-order>p:not(.eyebrow) { font:700 16px var(--font-mono); }
.menu-order small { display:block; max-width:760px; margin-top:48px; font:400 10px/1.5 var(--font-mono); }

@media (max-width:760px) {
  .site-header { height:64px; }
  .logo { padding:0 16px; font-size:19px; }
  nav a { display:none; }
  nav .nav-cta,nav .nav-contact-button { display:flex; padding:0 12px; }
  .hero { min-height:760px; padding:18px 16px 24px; }
  .hero-kicker span:last-child { display:none; }
  .hero h1 { font-size:18.5vw; line-height:.8; margin:70px 0 40px; padding-right:10px; }
  .hero h1 em { display:inline-block; padding-right:.08em; -webkit-text-stroke:1.5px var(--navy); text-shadow:4px 4px 0 var(--navy); }
  .hero-bottom { grid-template-columns:1fr; }
  .hero-actions { grid-template-columns:1fr; }
  .hero-action { min-height:128px; }
  .talk-action { transform:none; }
  .talk-action:hover,.talk-action:focus-visible { transform:translate(-4px,-4px); }
  .click-action { grid-column:auto; min-height:66px; }
  .express-strip { grid-template-columns:1fr; gap:12px; padding:20px 16px; }
  .express-strip p { text-align:left; line-height:1.8; }
  .express-strip b { margin:0 8px; }
  .manifesto { padding:65px 16px; grid-template-columns:1fr; }
  .manifesto-copy p { font-size:12.5vw; }
  .side-note { margin-top:25px; }
  .sense { padding:70px 16px 0; }
  .sense-title { grid-template-columns:1fr; gap:30px; }
  .sense h2 { font-size:18vw; margin-bottom:34px; }
  .method-intro { margin-bottom:50px; }
  .services article { grid-template-columns:48px 1fr; gap:12px; }
  .method-copy { grid-column:2; grid-template-columns:1fr; gap:16px; }
  .about { grid-template-columns:1fr; padding:70px 16px; }
  .about-copy h2 { font-size:18vw; }
  .contact { padding:70px 16px; }
  .contact h2 span { -webkit-text-stroke:1.5px var(--navy); }
  .menu-site-header nav a { display:none; }
  .menu-site-header nav .nav-cta,.menu-site-header nav .nav-contact-button { display:flex; min-width:0; padding:0 12px; }
  .menu-hero { min-height:720px; padding:18px 16px 28px; }
  .menu-hero-top span:last-child { display:none; }
  .menu-hero h1 { font-size:28vw; margin:120px 0 70px; }
  .menu-hero h1 em { -webkit-text-stroke:1.5px var(--navy); text-shadow:4px 4px 0 var(--navy); }
  .menu-stamp { width:92px; right:8%; top:25%; font-size:9px; box-shadow:4px 4px 0 var(--blue); }
  .menu-hero-bottom { grid-template-columns:1fr; }
  .price-board { grid-template-columns:1fr; }
  .price-board>div { min-height:145px; border-right:0; border-bottom:3px solid var(--navy); }
  .consultation-special { grid-template-columns:1fr; padding:60px 16px; }
  .consult-label { width:88px; height:88px; }
  .consult-price { margin:8px 8px 8px 0; }
  .menu-list,.house-specials { padding:70px 16px 0; }
  .menu-list-heading,.specials-heading { grid-template-columns:1fr; gap:24px; margin-bottom:55px; }
  .menu-list-heading h2,.specials-heading h2 { font-size:19vw; }
  .menu-item-title { min-height:108px; padding:24px 0; }
  .menu-item-title { flex-wrap:wrap; gap:10px; }
  .menu-item-title h2 { flex:1 1 calc(100% - 42px); font-size:10vw; }
  .dot-leader { display:none; }
  .express-badge { margin-left:42px; }
  .accordion-mark { margin-left:auto; width:40px; height:40px; }
  .menu-item-content { padding-bottom:56px; }
  .dish-description { margin:22px 0 30px 42px; }
  .portion-grid { grid-template-columns:1fr; margin-left:42px; }
  .portion-card { min-height:0; }
  .house-specials { padding-bottom:72px; }
  .special-card { box-shadow:7px 7px 0 var(--acid); }
  .special-card.inverted { box-shadow:7px 7px 0 var(--blue); }
  .special-card>summary { min-height:110px; padding:18px; grid-template-columns:1fr 40px; }
  .special-card>summary>span,.special-card>summary>b { display:none; }
  .special-card>summary i { width:40px; height:40px; }
  .special-card-content { padding:0 18px 18px; }
  .special-card h3 { font-size:17vw; margin-top:42px; }
  .special-detail { grid-template-columns:1fr; gap:0; }
  .express-board { min-height:620px; padding:70px 16px; grid-template-columns:1fr; gap:34px; align-content:center; }
  .express-board h2 { font-size:18vw; }
  .menu-order { padding:70px 16px; }
  .menu-order h2 span { -webkit-text-stroke:1.5px var(--navy); }
  footer { grid-template-columns:1fr; padding:45px 16px; }
}

@media (min-width:761px) and (max-width:1080px) {
  .express-board { grid-template-columns:1fr; gap:34px; }
  .express-board h2 { font-size:clamp(76px,13vw,126px); }
  .express-copy { justify-self:start; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ticker div { animation:none; } }
