:root{--ink:#141414;--muted:#697078;--line:#dfe3e6;--accent:#1559d6;--paper:#fff;--wash:#f1f3f2;--lime:#b9dd42;--serif:'Noto Serif JP',serif;--sans:Inter,'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);word-break:normal;word-break:auto-phrase;line-break:strict;overflow-wrap:break-word;text-wrap:pretty;line-height:1.75}a{color:inherit}img{display:block;max-width:100%;height:auto;object-fit:cover}.site-header{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:5}.logo{font-weight:700;letter-spacing:.08em;text-decoration:none}.nav{display:flex;gap:25px;font-size:.8rem}.nav a{text-decoration:none}.eyebrow,.kicker{font:500 .72rem/1.2 monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}main{max-width:1440px;margin:0 auto}.section{padding:clamp(70px,10vw,150px) clamp(20px,7vw,110px);border-bottom:1px solid var(--line)}.hero{min-height:78vh;display:grid;align-items:end;grid-template-columns:1.1fr .9fr;gap:clamp(30px,8vw,130px);padding-top:clamp(80px,12vw,170px)}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(3.1rem,8vw,8.5rem)/1.02 var(--serif);letter-spacing:-.06em;max-width:900px}h2{font:600 clamp(2rem,4vw,4.7rem)/1.1 var(--serif);letter-spacing:-.04em}h3{font-size:1.15rem;line-height:1.35}.lede{font-size:clamp(1.1rem,1.8vw,1.5rem);max-width:34rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--ink);text-decoration:none;font-weight:600}.button.primary{background:var(--ink);color:#fff}.button.accent{background:var(--accent);border-color:var(--accent);color:#fff}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,100px);align-items:start}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:var(--paper);padding:28px}.card strong{display:block;font-size:1.15rem}.price{font:500 .9rem monospace;color:var(--muted)}.menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.menu-item{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.menu-item[hidden]{display:none}.tag{display:inline-block;color:var(--accent);font:500 .7rem monospace;letter-spacing:.1em;margin-bottom:8px}.photo{width:100%;aspect-ratio:4/3;background:#e7eaeb;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{border-top:2px solid var(--ink);padding-top:14px}.stat b{display:block;font-size:2rem}.quote{font:400 clamp(1.7rem,3.5vw,3.5rem)/1.35 var(--serif);max-width:850px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:600}.map-card{border:1px solid var(--line);padding:clamp(22px,4vw,48px);background:var(--wash)}.footer{padding:70px clamp(20px,7vw,110px);display:flex;justify-content:space-between;gap:30px}.mobile-bar{display:none}.sample-note{position:relative;z-index:6;background:#111;color:#fff;padding:7px 20px;font-size:.68rem;text-align:center;letter-spacing:.08em}.dialog{border:1px solid var(--ink);padding:32px;max-width:430px}.dialog::backdrop{background:#0008}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.filter{border:1px solid var(--line);background:var(--paper);padding:9px 14px;cursor:pointer}.filter.active{background:var(--ink);color:#fff}.dark{--paper:#111;--ink:#f7f7f4;--muted:#b4b8b5;--line:#3b3f3c;--wash:#1c211e}.dark .site-header{background:#111}.dark .photo{background:#343a36}.cool{--paper:#edf1f0;--wash:#fff;--accent:#7ba82b}.cool .section:nth-child(even){background:#fff}.vertical-label{writing-mode:vertical-rl;letter-spacing:.2em}.journal-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:1px;background:var(--line)}.journal-grid>*{background:var(--paper)}
@media(max-width:700px){.site-header{padding:18px 20px}.nav{gap:16px;font-size:.72rem}.nav a:nth-child(2),.nav button{display:none}.hero,.split,.journal-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:58px}.section{padding:70px 20px}.grid,.stats{grid-template-columns:1fr}.menu-list{grid-template-columns:1fr}.footer{display:block;padding-bottom:105px}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:8;background:var(--paper);border-top:1px solid var(--line);padding:8px 10px;gap:8px}.mobile-bar a,.mobile-bar button{min-height:44px;border:0;background:none;color:inherit;text-decoration:none;font:600 .72rem var(--sans)}.photo{aspect-ratio:16/10}h1{font-size:clamp(2.8rem,14vw,5rem)}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
.concept-hikari-editorial{--accent:#173f32}.concept-hikari-editorial .hero{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);align-items:center}.concept-hikari-editorial .hero figure{margin:0 0 -70px}.concept-hikari-editorial .hero .photo{aspect-ratio:3/4}.concept-hikari-editorial #today{padding-left:clamp(20px,18vw,270px)}.concept-hikari-editorial #story{background:#111;color:#fff}.concept-hikari-editorial #story .eyebrow{color:#aebbb5}

.concept-daily-status{--ink:#071b46;--muted:#476083;--line:#b8c9e8;--accent:#064ce7;--wash:#eef4ff;--serif:var(--sans)}.concept-daily-status .site-header{border-bottom:4px solid var(--accent)}.concept-daily-status .hero{min-height:62vh;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);align-items:center;background:#fff}.concept-daily-status .hero h1{font-family:var(--sans);font-weight:800;letter-spacing:-.075em}.concept-daily-status .hero .photo{aspect-ratio:16/10;border:12px solid var(--wash)}.concept-daily-status .business-line{font:700 clamp(.85rem,1.5vw,1.1rem)/1.7 monospace;color:var(--accent);border-block:1px solid var(--line);padding:16px 0}.concept-daily-status #menu{background:var(--accent);color:#fff}.concept-daily-status #menu .eyebrow,.concept-daily-status #menu .price{color:#dfe8ff}.concept-daily-status #menu .filter{border-color:#fff;background:transparent;color:#fff}.concept-daily-status #menu .filter.active{background:#fff;color:var(--accent)}.concept-daily-status #menu .menu-list,.concept-daily-status #menu .menu-item{border-color:#7fa4f4}.concept-daily-status .stats{background:var(--wash);padding:24px}

.concept-shiro-craft{--ink:#151413;--muted:#736d68;--line:#292724;--accent:#b33227;--wash:#f5f5f3}.concept-shiro-craft .site-header{border-bottom:1px solid var(--ink)}.concept-shiro-craft .logo::after{content:"  白と墨";color:var(--accent);font:500 .68rem monospace}.concept-shiro-craft .hero{position:relative;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);align-items:center;border-bottom:8px solid var(--ink)}.concept-shiro-craft .hero .eyebrow{position:absolute;right:24px;top:90px;writing-mode:vertical-rl;color:var(--accent)}.concept-shiro-craft .hero .photo{filter:grayscale(1);aspect-ratio:5/4;border:1px solid var(--ink)}.concept-shiro-craft h1{font-weight:500;letter-spacing:-.08em}.concept-shiro-craft h2{font-weight:500}.concept-shiro-craft #story{display:grid;grid-template-columns:.32fr 1.68fr;gap:8vw}.concept-shiro-craft #story::before{content:"焙煎";writing-mode:vertical-rl;font:500 clamp(3rem,8vw,8rem)/1 var(--serif);color:var(--accent)}.concept-shiro-craft .card{border-top:3px solid var(--ink)}

.concept-local-journal{--ink:#102d22;--muted:#527064;--line:#b8cbc2;--accent:#17633f;--wash:#edf6f1;--serif:Georgia,'Noto Serif JP',serif}.concept-local-journal .site-header{background:var(--ink);color:#fff;border:0}.concept-local-journal .button.primary{background:var(--accent);border-color:var(--accent)}.concept-local-journal .hero{grid-template-columns:minmax(0,.7fr) minmax(500px,1.3fr);align-items:center}.concept-local-journal .hero h1{font-size:clamp(3.6rem,7vw,7.2rem)}.concept-local-journal .hero figure{margin:0}.concept-local-journal .hero .photo{aspect-ratio:16/11}.concept-local-journal #journal{background:var(--wash)}.concept-local-journal #journal .grid{grid-template-columns:1.3fr .7fr}.concept-local-journal #journal article:first-child{padding:clamp(32px,6vw,80px)}.concept-local-journal #community{padding-inline:clamp(20px,3vw,48px)}.concept-local-journal #community .photo{aspect-ratio:16/7}.concept-local-journal .card{border-radius:0}.concept-local-journal .tag{color:var(--accent)}

.concept-roast-lab{--paper:#edf1f0;--ink:#101412;--muted:#4f5d56;--line:#b8c1bc;--accent:#5d8f12;--wash:#fff;--serif:var(--sans)}.concept-roast-lab .site-header{background:#101412;color:#fff;border-bottom-color:#101412}.concept-roast-lab .hero{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);align-items:center}.concept-roast-lab .hero h1{font-family:var(--sans);font-weight:800;letter-spacing:-.07em}.concept-roast-lab .hero .photo{border:1px solid var(--ink);aspect-ratio:1/1}.concept-roast-lab #bean-finder{background:#101412;color:#fff;display:grid;grid-template-columns:.65fr 1fr;gap:28px 7vw}.concept-roast-lab #bean-finder h2{grid-column:1/-1}.concept-roast-lab #bean-finder select{min-height:58px;padding:0 18px;border:2px solid #c7f36b;background:#101412;color:#fff;font:600 1rem var(--sans)}.concept-roast-lab .bean-result{border-left:8px solid #c7f36b;padding:18px 24px;background:#1c241f}.concept-roast-lab #menu{background:#fff}.concept-roast-lab .menu-item{font-family:monospace}.concept-roast-lab .stat{border-top-color:var(--accent)}

.concept-afterglow{--paper:#111;--ink:#f7f7f4;--muted:#b4b8b5;--line:#3b3f3c;--wash:#1c211e;--accent:#dfad62}.concept-afterglow .site-header{background:#111}.concept-afterglow .hero{min-height:94vh;position:relative;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);align-items:center;overflow:hidden}.concept-afterglow .hero figure{margin:0}.concept-afterglow .hero .photo{aspect-ratio:4/5;filter:brightness(.78) contrast(1.08)}.concept-afterglow .hero h1{font-weight:400;letter-spacing:-.08em}.concept-afterglow .button.primary{background:#f7f7f4;color:#111;border-color:#f7f7f4}.concept-afterglow #seasonal{background:#f2efe9;color:#111}.concept-afterglow #seasonal .eyebrow{color:#7a5b2e}.concept-afterglow #menu{border-top:1px solid #716046}.concept-afterglow .photo{background:#262626}.concept-afterglow .card{background:#171717}.concept-afterglow .tag{color:var(--accent)}

@media(max-width:700px){.concept-hikari-editorial .hero,.concept-daily-status .hero,.concept-shiro-craft .hero,.concept-local-journal .hero,.concept-roast-lab .hero,.concept-afterglow .hero{grid-template-columns:1fr}.concept-hikari-editorial .hero figure{margin:24px 0 0}.concept-hikari-editorial .hero .photo,.concept-daily-status .hero .photo,.concept-shiro-craft .hero .photo,.concept-local-journal .hero .photo,.concept-roast-lab .hero .photo,.concept-afterglow .hero .photo{aspect-ratio:16/10;border-width:0}.concept-daily-status .hero{padding-top:58px}.concept-shiro-craft .hero .eyebrow{position:static;writing-mode:horizontal-tb}.concept-shiro-craft #story{display:block}.concept-shiro-craft #story::before{display:block;writing-mode:horizontal-tb;font-size:3rem;margin-bottom:30px}.concept-local-journal #journal .grid{grid-template-columns:1fr}.concept-local-journal #community .photo{aspect-ratio:16/10}.concept-roast-lab #bean-finder{display:block}.concept-roast-lab #bean-finder select{width:100%;margin:18px 0}.concept-afterglow .hero{min-height:auto}}
@media(max-width:900px){.concept-local-journal .hero,.concept-local-journal #journal .grid{grid-template-columns:1fr}.concept-local-journal .hero .photo{aspect-ratio:16/10}}
.headline-line{display:block;white-space:nowrap}
.keep-phrase{white-space:nowrap}
@media(min-width:701px){.concept-hikari-editorial .hero h1{font-size:clamp(3.2rem,6vw,6.8rem)}.concept-daily-status .hero h1,.concept-shiro-craft .hero h1,.concept-local-journal .hero h1{font-size:clamp(3.1rem,5vw,5.8rem)}.concept-roast-lab .hero h1,.concept-afterglow .hero h1{font-size:clamp(3.2rem,6vw,6.8rem)}}
@media(max-width:700px){.hero h1{font-size:clamp(2.45rem,12vw,3.4rem)}}
