:root{--bg:#f3f0e7;--ink:#111;--lime:#b7ff00;--line:rgba(17,17,17,.25);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans JP",sans-serif;font-size:16px;line-height:1.6}a{color:inherit}.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-180%);background:#111;color:#fff;padding:10px 14px;font-weight:800;text-decoration:none;border:2px solid var(--lime)}.skip-link:focus{transform:translateY(0)}
.nav{height:72px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(243,240,231,.96);backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid var(--ink)}.logo{font-weight:900;font-size:24px;text-decoration:none;letter-spacing:-1px}.logo span{color:var(--lime)}.navlinks{display:flex;gap:clamp(18px,2vw,30px)}.navlinks a{font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.navlinks a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:7px}.menu-btn{display:none;background:none;border:0;font-weight:900;cursor:pointer}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.hero,.pagehead,.split,.editorial,.story,.menu-feature,.menulists,.gallery,.newslist,.access,.faq-layout,.news-feature,.access-gallery{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.hero{padding:56px 0 72px}.pagehead{padding:72px 0 32px}.kicker,.eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em}.hero h1{display:flex;gap:.16em;align-items:baseline;flex-wrap:wrap;font-size:clamp(76px,10.5vw,150px);line-height:.78;letter-spacing:-.075em;margin:42px 0 42px}.hero h1 span{display:inline}.hero h1 span:last-child{color:var(--lime)}.pagehead h1{font-size:clamp(64px,8.5vw,124px);line-height:.84;letter-spacing:-.065em;margin:28px 0 18px;max-width:100%}
.hero-grid,.split,.menu-feature,.access{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:48px;align-items:center}.photo,.fullphoto,.mapfake{background:#d8d8d0;position:relative;overflow:hidden}.photo{min-height:0;aspect-ratio:4/3}.hero-grid .photo{aspect-ratio:4/3}.hero-copy{font-size:clamp(22px,2.2vw,34px);font-weight:800;line-height:1.08}.hero-copy .jp{font-size:18px;font-weight:500;line-height:1.6;margin-bottom:24px}.ticker{overflow:hidden;background:var(--lime);border-block:1px solid var(--ink);padding:10px 0;font-size:clamp(22px,2.8vw,38px);font-weight:900;white-space:nowrap}.ticker div{animation:ticker 24s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}
.split{padding:96px 0;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.split.reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.split h2,.editorial h2,.cta h2{font-size:clamp(52px,6.6vw,94px);line-height:.86;letter-spacing:-.06em;margin:16px 0 26px}.split p{max-width:540px;line-height:1.8}.arrow{display:inline-block;margin-top:20px;font-weight:900;font-size:13px}.fullphoto{width:min(var(--max),calc(100% - 48px));margin:32px auto 0;min-height:0;aspect-ratio:16/7.5;display:flex;align-items:flex-end;padding:48px}.fullphoto h2{font-size:clamp(42px,5.5vw,80px);line-height:.92;color:#fff;margin:12px 0}.editorial,.story{padding:96px 0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;font-size:18px;line-height:1.8}.cta{background:#111;color:var(--bg);padding:88px max(24px,calc((100vw - var(--max))/2))}.cta p{color:var(--lime);font-weight:900}.cta a{font-weight:900}.cta h2{max-width:900px}.lead{font-size:clamp(28px,4vw,54px);line-height:1.18;letter-spacing:-.035em;max-width:980px}.story>p:last-child{max-width:760px;line-height:2}
.menu-feature{padding:24px 0 52px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.menu-feature h2,.menulists h2{font-size:32px}.menulists{padding:72px 0 88px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.menulists dl,.menu-feature dl{margin:0}.menulists dt,.menu-feature dt{font-weight:800;border-top:1px solid;padding-top:14px}.menulists dd,.menu-feature dd{text-align:right;margin:-18px 0 18px}.note{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:0 0 72px;font-size:12px}.menu-visuals{width:min(var(--max),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#111;border:1px solid #111}.menu-shot{margin:0;background:#111;color:var(--bg);overflow:hidden}.menu-shot img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.menu-shot figcaption{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;font-size:11px;font-weight:800;letter-spacing:.03em}
.gallery{padding:24px 0 72px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.gallery .tall{grid-row:span 2;min-height:0;aspect-ratio:4/5}.gallery .photo:not(.tall){aspect-ratio:16/10}.news-feature{padding:16px 0 52px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:44px;align-items:end}.news-feature img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.news-feature blockquote{margin:0;font-size:clamp(30px,3.8vw,54px);font-weight:900;line-height:.98;letter-spacing:-.05em}.news-feature blockquote small{display:block;margin-top:18px;font-size:11px;letter-spacing:.12em;color:#6f9900}.newslist{padding:0 0 88px}.newslist article{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:36px;border-top:1px solid var(--line);padding:26px 0}.newslist h2{margin:0;font-size:22px;line-height:1.25}.newslist p{margin:0}
.access{padding:20px 0 48px;align-items:stretch}.mapfake{background:var(--lime);display:grid;place-items:center;aspect-ratio:4/3}.mapfake span{font-size:16px;font-weight:800;text-align:center}.access>div:last-child{padding:36px;font-size:17px;line-height:1.9;border:1px solid var(--ink)}.access-gallery{padding:0 0 88px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}.access-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.faq-layout{padding:20px 0 88px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:64px;align-items:start}.faq{padding:0;max-width:none}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{font-size:20px;font-weight:800;cursor:pointer}.faq p{line-height:1.8}.faq-visual{margin:0;position:sticky;top:96px}.faq-visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.faq-visual figcaption{padding-top:10px;font-size:11px;font-weight:800;letter-spacing:.08em}
footer{padding:72px max(24px,calc((100vw - var(--max))/2)) 32px;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--ink);gap:40px}.footer-mark{font-size:clamp(64px,9vw,126px);font-weight:900;letter-spacing:-.07em;line-height:.8}.muted{opacity:.6;font-size:12px}.demo-badge{position:fixed;right:14px;bottom:14px;z-index:30;background:#111;color:var(--bg);padding:8px 10px;font-size:10px;font-weight:800;letter-spacing:.08em;border:1px solid var(--lime);pointer-events:none;max-width:calc(100vw - 16px);text-align:center}
.photo,.fullphoto{background-size:cover;background-position:center}.ph-hero{background-image:linear-gradient(0deg,rgba(0,0,0,.08),rgba(0,0,0,0)),url('../images/hero-desktop.webp');background-position:center 32%}.ph-drink{background-image:url('../images/signature-lime-cloud.webp')}.ph-menu{background-image:url('../images/menu-cookie.webp')}.ph-about{background-image:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.02)),url('../images/about-music.webp')}.ph-space{background-image:url('../images/space-interior.webp')}.ph-space1{background-image:none}.ph-space2{background-image:url('../images/space-terrace.webp')}.ph-space3{background-image:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.02)),url('../images/about-wall.webp')}.ph-people{background:radial-gradient(circle at 76% 28%,var(--lime) 0 9%,transparent 9.2%),radial-gradient(circle at 18% 78%,rgba(183,255,0,.35) 0 8%,transparent 8.2%),repeating-linear-gradient(90deg,transparent 0 9.5%,rgba(255,255,255,.06) 9.5% 9.7%),linear-gradient(135deg,#111 0 58%,#262626 58% 100%);isolation:isolate}.ph-people::before{content:"SIDE B";position:absolute;right:40px;top:36px;font-size:clamp(70px,12vw,170px);font-weight:900;letter-spacing:-.09em;line-height:.75;color:transparent;-webkit-text-stroke:1px rgba(243,240,231,.28);z-index:0}.ph-people::after{content:"COFFEE / MUSIC / TOKYO";position:absolute;right:40px;bottom:32px;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.18em;z-index:0}.ph-people>div{position:relative;z-index:1;color:var(--bg)}
img{max-width:100%;height:auto}.hero-grid>*,.split>*,.menu-feature>*,.access>*,.columns>*,.menulists>*,.gallery>*,.newslist article>*,footer>*{min-width:0}
@media(min-width:761px) and (max-width:1100px){.nav{padding-inline:24px}.navlinks{gap:16px}.navlinks a{font-size:11px}.hero,.pagehead,.split,.editorial,.story,.menu-feature,.menulists,.gallery,.newslist,.access,.faq-layout,.news-feature,.access-gallery{width:calc(100% - 48px)}.hero-grid,.split,.menu-feature,.access{gap:32px}.pagehead h1{font-size:clamp(62px,9vw,98px)}}
@media(max-width:760px){body{font-size:15px}.nav{height:64px;padding:0 16px}.menu-btn{display:block;min-width:44px;min-height:44px}.navlinks{position:fixed;inset:64px 0 auto 0;background:var(--lime);display:none;flex-direction:column;padding:22px 20px 28px;border-bottom:1px solid var(--ink);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}.navlinks.open{display:flex}.navlinks a{font-size:22px;min-height:44px;display:flex;align-items:center}.hero,.pagehead,.split,.editorial,.story,.menu-feature,.menulists,.gallery,.newslist,.access,.faq-layout,.news-feature,.access-gallery{width:calc(100% - 32px)}.hero{padding:38px 0 56px}.pagehead{padding:48px 0 20px}.hero h1{font-size:clamp(62px,20vw,86px);line-height:.82;margin:28px 0 28px}.pagehead h1{font-size:clamp(48px,13.5vw,70px);line-height:.88;margin:20px 0}.hero-grid,.split,.menu-feature,.access,.columns,.menulists{grid-template-columns:1fr;gap:28px}.hero-grid .photo,.photo{aspect-ratio:4/3}.hero-copy{font-size:24px;padding:0}.hero-copy .jp{font-size:16px;margin-bottom:16px}.ticker{padding:8px 0;font-size:22px}.ticker div{animation-duration:16s}.split,.editorial,.story{padding:64px 0}.split.reverse .photo{order:2}.split h2,.editorial h2,.cta h2{font-size:clamp(44px,12vw,62px);line-height:.9}.fullphoto{width:calc(100% - 32px);margin:16px auto 0;aspect-ratio:4/5;padding:24px}.fullphoto h2{font-size:clamp(38px,10.5vw,52px)}.ph-people::before{right:16px;top:20px;font-size:clamp(64px,23vw,100px)}.ph-people::after{right:16px;bottom:18px;max-width:70%;text-align:right}.columns{font-size:15px}.cta{padding:64px 16px}.menu-feature{padding:12px 0 36px}.menu-visuals{width:calc(100% - 32px);grid-template-columns:1fr}.menu-shot img{aspect-ratio:16/10}.menulists{padding:56px 0 64px}.note{width:calc(100% - 32px);padding-bottom:56px}.gallery{padding:12px 0 56px;grid-template-columns:1fr}.gallery .tall{grid-row:auto;aspect-ratio:4/3}.gallery .photo:not(.tall){aspect-ratio:4/3}.news-feature{padding:8px 0 36px;grid-template-columns:1fr;gap:24px}.newslist{padding:0 0 64px}.newslist article{grid-template-columns:1fr;gap:6px;padding:20px 0}.newslist h2{font-size:20px}.access{padding:8px 0 32px}.mapfake{aspect-ratio:4/3}.access>div:last-child{padding:24px;font-size:15px}.access-gallery{padding:0 0 64px;grid-template-columns:1fr}.faq-layout{padding:8px 0 64px;grid-template-columns:1fr;gap:36px}.faq summary{font-size:18px}.faq-visual{position:static;max-width:440px}.faq-visual img{aspect-ratio:4/3;object-position:center 38%}footer{padding:56px 16px 28px;display:block}.footer-mark{font-size:clamp(62px,21vw,92px);margin-bottom:28px}.demo-badge{right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.ticker div{animation:none}}


/* v2.1 IMAGE QUALITY GATE: never render AI source crops above native CSS dimensions. */
:root{--max:1080px}
.hero-grid{grid-template-columns:minmax(0,628px) minmax(260px,1fr);justify-content:space-between}
.ph-hero{max-width:628px;width:100%;aspect-ratio:628/300;background-size:100% 100%;background-position:center}
.ph-drink{max-width:292px;width:100%;aspect-ratio:292/300;background-size:100% 100%;justify-self:end}
.ph-space{max-width:508px;width:100%;aspect-ratio:508/206;background-size:100% 100%;justify-self:start}
.fullphoto.ph-about{width:286px;max-width:calc(100% - 48px);aspect-ratio:286/206;min-height:0;padding:0;background-size:100% 100%}
.menu-feature{grid-template-columns:minmax(0,252px) minmax(260px,1fr);justify-content:center}
.menu-feature .ph-menu{max-width:252px;width:100%;aspect-ratio:252/206;background-size:100% 100%}
.menu-visuals{grid-template-columns:296px 314px 260px;justify-content:center;gap:20px;background:transparent;border:0}
.menu-shot{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.menu-shot img{width:auto;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain;margin:0 auto}
.gallery{grid-template-columns:351px 222px;justify-content:center;align-items:start}
.gallery .photo{width:100%;min-height:0;background-size:100% 100%}
.gallery .tall{grid-row:auto;aspect-ratio:351/218;max-width:351px;background-image:linear-gradient(135deg,#111 0 60%,#b7ff00 60% 63%,#222 63% 100%)}
.ph-space2{max-width:351px;aspect-ratio:351/218}
.ph-space3{max-width:222px;aspect-ratio:222/206}
.news-feature{grid-template-columns:252px minmax(0,1fr);justify-content:center;max-width:820px}
.news-feature img{width:252px;height:auto;aspect-ratio:auto;object-fit:contain}
.access-gallery{grid-template-columns:212px 211px;justify-content:center;align-items:start}
.access-gallery img{width:auto;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain}
.faq-layout{grid-template-columns:minmax(0,1fr) 275px;max-width:900px}
.faq-visual{max-width:275px}
.faq-visual img{width:275px;height:auto;aspect-ratio:auto;object-fit:contain}

@media(max-width:760px){
  .hero-grid,.split,.menu-feature,.access,.columns,.menulists{grid-template-columns:1fr}
  .ph-hero{max-width:225px;aspect-ratio:225/218;background-image:linear-gradient(0deg,rgba(0,0,0,.06),rgba(0,0,0,0)),url('../images/faq-togo.webp');background-size:100% 100%;margin-inline:auto}
  .ph-drink{max-width:292px;justify-self:center;margin-inline:auto}
  .ph-space{max-width:508px;margin-inline:auto}
  .fullphoto.ph-about{width:286px;max-width:calc(100% - 32px)}
  .menu-feature{grid-template-columns:1fr}.menu-feature .ph-menu{margin-inline:auto}
  .menu-visuals{grid-template-columns:1fr;justify-items:center;background:transparent}.menu-shot{width:max-content;max-width:100%}
  .gallery{grid-template-columns:1fr;justify-items:center}.gallery .tall,.ph-space2,.ph-space3{width:100%}
  .news-feature{grid-template-columns:1fr;justify-items:center}.news-feature blockquote{max-width:520px}
  .access-gallery{grid-template-columns:1fr;justify-items:center}
  .faq-layout{grid-template-columns:1fr;max-width:none}.faq-visual{margin-inline:auto}
}
