:root{--cream:#f2e6d8;--brown:#593e2e;--olive:#555934;--tan:#bf9b7a;--terracotta:#8c5b3e;--sand:color-mix(in srgb, var(--cream) 75%, var(--tan));--ink:var(--brown);--font-body:"Times New Roman", Times, serif;--font-heading:"Times New Roman", Times, serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);margin:0;font-size:18px;line-height:1.45}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:6px;outline:3px solid}a:hover{text-underline-offset:6px;text-decoration:underline}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--font-heading);margin:0;font-style:italic;font-weight:400;line-height:1.12}h1{letter-spacing:-.025em;font-size:clamp(3rem,6vw,6rem)}h2{letter-spacing:-.02em;font-size:clamp(2.2rem,3.6vw,3.5rem)}h3{margin-bottom:.8rem;font-size:1.6rem}.container{width:min(1200px,100% - 96px);margin-inline:auto}.header-band{background:var(--cream);color:var(--olive)}.site-header{justify-content:space-between;align-items:center;gap:30px;padding-block:18px;display:flex}.brand{flex-shrink:0;display:inline-flex}.brand-logo{aspect-ratio:726/672;background:currentColor;width:92px;display:block;-webkit-mask:url(/brand/koharu-logo.png) 50%/contain no-repeat;mask:url(/brand/koharu-logo.png) 50%/contain no-repeat}nav{gap:38px;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;display:flex}.hero{isolation:isolate;min-height:min(760px,84svh);color:var(--cream);background:var(--brown);align-items:center;display:flex;position:relative}.hero-image{object-fit:cover;object-position:center 53%;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,#1d1611d1 0%,#1d161194 48%,#1d16111f 100%);position:absolute;inset:0}.hero-copy{padding-block:88px}.hero-copy>p{max-width:410px;margin-top:28px;font-size:1.125rem}.actions{flex-wrap:wrap;align-items:center;gap:30px;margin-top:32px;display:flex}.button{background:var(--terracotta);color:var(--cream);font:400 .9rem/1.15 var(--font-body);text-transform:uppercase;box-shadow:none;border:0;border-radius:0;padding:4px 8px;display:inline-block;position:relative}.button:after{content:"";position:absolute;inset:-10px 0}.hero .button{background:var(--terracotta);color:var(--cream)}.button:hover,.hero .button:hover{background:var(--brown);color:var(--cream);text-decoration:none}.text-link{text-transform:uppercase;text-underline-offset:3px;font-size:.9rem;text-decoration:underline}.placeholder{background:var(--tan);min-height:260px;color:var(--brown);text-align:center;place-items:center;padding:24px;display:grid}.placeholder span{background:var(--cream);padding:6px 12px;font-size:1rem}.section{padding-block:88px}.section-heading{justify-content:space-between;align-items:center;gap:28px;margin-bottom:42px;display:flex}.section-kanji{letter-spacing:.08em;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif CJK JP,serif;font-size:clamp(3rem,5vw,5rem);line-height:1.2}.section-favourites{background:var(--cream);color:var(--brown)}.section-story{background:var(--sand);color:var(--brown)}.section-favourites .section-heading,.section-moments .section-heading{color:var(--olive)}.menu-band{background:var(--olive);color:var(--cream)}.section-moments{background:var(--cream);color:var(--brown)}.section-visit{background:var(--sand);color:var(--brown)}.section-story .section-kanji,.section-visit .section-kanji{color:var(--brown)}.favourites-grid,.menu-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.favourites-grid h3{margin-top:14px;margin-bottom:10px}.favourites-grid p{max-width:320px;font-size:1.125rem}.favourites-grid .placeholder{aspect-ratio:6/5;min-height:0}.hero-image,.placeholder{box-shadow:none;border:0;border-radius:0}.split-layout{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.split-layout .placeholder{min-height:370px}.prose{max-width:440px}.prose h3{margin-bottom:26px;font-size:clamp(2rem,3vw,3rem)}.editorial-note{margin:26px 0 0;font-size:.9rem}.section-intro{margin:-12px 0 36px;font-size:1.125rem}.menu-grid{margin-top:38px}.menu-grid h3{margin-bottom:22px;font-size:1.75rem}.menu-grid ul{margin:0;padding:0;list-style:none}.menu-grid li{padding-block:8px;font-size:1.125rem}.moments-grid{grid-template-columns:1.4fr 1fr;gap:32px;display:grid}.moments-grid .placeholder{min-height:350px}.visit-details{margin:30px 0}.visit-details>div{grid-template-columns:120px 1fr;gap:22px;padding-block:14px;font-size:.95rem;display:grid}dt{font-weight:600}dd{margin:0}.footer-band{background:var(--brown);color:var(--cream)}.site-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-block:42px;display:flex}.site-footer .brand-logo{width:110px}.site-footer p{margin:18px 0 0;font-size:.9rem}.site-footer small{font-size:.85rem}.skip-link{background:var(--cream);color:var(--brown);z-index:10;padding:10px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}@media (max-width:760px){.container{width:calc(100% - 40px)}.site-header{gap:20px;padding-block:14px}.brand-logo{width:70px}nav{gap:20px;font-size:.85rem}.hero{min-height:78svh}.hero-copy{padding-block:70px}.hero-copy>p{max-width:340px}.hero-shade{background:#1d1611ab}.hero-image{object-position:58% center}.section{padding-block:56px}.section-heading{gap:18px;margin-bottom:32px}.section-heading h2{max-width:280px}.section-kanji{flex-shrink:0;font-size:2.8rem}.favourites-grid,.split-layout,.menu-grid,.moments-grid{grid-template-columns:1fr;gap:32px}.split-layout .placeholder,.moments-grid .placeholder{min-height:280px}.prose{max-width:none}.site-footer{align-items:flex-start}.site-footer small{flex-basis:100%}}@media (max-width:380px){nav{gap:14px;font-size:.8rem}.brand-logo{width:60px}.section-kanji{font-size:2.25rem}h2{font-size:2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.section-photo{background:var(--olive);min-height:350px;position:relative;overflow:hidden}.section-photo img{object-fit:cover}.favourites-grid .section-photo{aspect-ratio:6/5;min-height:0}.split-layout .section-photo{min-height:420px}@media (max-width:760px){.section-photo,.split-layout .section-photo{min-height:300px}}.cafe-map{background:var(--tan);margin:0;position:relative;overflow:hidden}.cafe-map svg{object-fit:cover;width:100%;height:370px;display:block}.cafe-map figcaption{background:var(--cream);width:fit-content;color:var(--brown);padding:6px 10px;font-size:.85rem;position:absolute;bottom:16px;left:16px;right:16px}@media (max-width:760px){.cafe-map svg{aspect-ratio:600/440;height:auto}}
