:root,:root[data-theme]{--color-base-100:#F7F3EE;--color-base-200:#EEE6DC;--color-base-300:#D9CEC0;--color-base-content:#231F1E;--color-primary:#8C3F36;--color-primary-content:#FFF8F2;--color-accent:#8C3F36;--color-accent-content:#FFF8F2;--color-neutral:#2A2322;--color-neutral-content:#F4ECE4;--radius-box:2px;--radius-field:2px;--radius-selector:2px;--font-display:"Cormorant Garamond",Georgia,serif;--font-sans:"Jost",system-ui,sans-serif;--ink-soft:#5B514D;--step--1:clamp(.875rem,.86rem + .1vw,.94rem);--step-0:clamp(1rem,.96rem + .2vw,1.125rem);--step-1:clamp(1.25rem,1.15rem + .5vw,1.5rem);--step-2:clamp(1.5rem,1.3rem + 1vw,2rem);--step-3:clamp(1.9rem,1.5rem + 2vw,2.9rem);--step-5:clamp(2.75rem,1.8rem + 5vw,5.25rem);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--section:clamp(3rem,2rem + 4vw,5.5rem);--container:72rem;--measure:65ch;--ginta-accent:#8C3F36;--ginta-accent-ink:#FFF8F2;--ginta-radius:2px}
html{scroll-padding-top:72px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--color-base-100);color:var(--color-base-content);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.55;overflow-wrap:break-word}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.kh-wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--sp-5)}
.kh-head{position:sticky;top:0;z-index:30;background:var(--color-base-100);border-bottom:1px solid var(--color-base-300)}
.kh-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:60px}
.kh-brand{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);letter-spacing:.02em;white-space:nowrap;color:inherit;text-decoration:none}
.kh-head__right{display:flex;align-items:center;gap:var(--sp-4)}
.kh-links{display:none;gap:var(--sp-5)}
.kh-links a,.kh-menu nav a,.kh-foot a{color:inherit;text-decoration:none}
.kh-links a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase}
.kh-links a:hover,.kh-foot a:hover{text-decoration:underline}
.kh-links a[aria-current="page"]{color:var(--color-primary)}
.kh-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer}
.kh-menu summary::-webkit-details-marker{display:none}
.kh-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;background:var(--color-base-100);border-bottom:1px solid var(--color-base-300);padding:var(--sp-3) var(--sp-5) var(--sp-5)}
.kh-menu nav a{display:flex;align-items:center;min-height:44px}
@media(min-width:768px){.kh-links{display:flex}.kh-menu{display:none}.kh-brand{font-size:var(--step-2)}}
.kh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-5);background:var(--color-primary);color:var(--color-primary-content);font-weight:500;border:1px solid var(--color-primary);border-radius:2px;text-decoration:none;white-space:nowrap}
.kh-btn:hover{filter:brightness(1.1)}
.kh-btn--quiet{background:transparent;color:var(--color-base-content);border-color:var(--color-base-content)}
.kh-btn--quiet:hover{background:var(--color-base-200);filter:none}
.kh-btn--light{background:var(--color-neutral-content);color:var(--color-neutral);border-color:var(--color-neutral-content)}
.kh-section{padding-block:var(--section)}
.kh-section--tint{background:var(--color-base-200)}
.kh-section--dark{background:var(--color-neutral);color:var(--color-neutral-content)}
.kh-hero{padding-block:var(--sp-6) var(--section)}
.kh-hero__grid{display:grid;gap:var(--sp-6);align-items:center}
@media(min-width:768px){.kh-hero__grid{grid-template-columns:1fr 1fr;gap:var(--sp-7)}}
.kh-h1{font-size:var(--step-5);line-height:1;font-weight:500}
.kh-h2{font-size:var(--step-3);line-height:1.1;font-weight:500;margin-bottom:var(--sp-5)}
.kh-jp{display:block;font-family:"Noto Serif JP",serif;font-size:var(--step-1);font-weight:400;letter-spacing:.12em;color:var(--color-primary);margin-top:var(--sp-3)}
.kh-lead{font-size:var(--step-1);line-height:1.45;max-width:var(--measure);color:var(--ink-soft);margin-top:var(--sp-5)}
.kh-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}
.kh-hero__img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}
.kh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
@media(min-width:768px){.kh-grid{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.kh-grid img,.kh-about img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}
.kh-about{display:grid;gap:var(--sp-6);align-items:start}
@media(min-width:768px){.kh-about{grid-template-columns:1fr 1fr;gap:var(--sp-7)}}
.kh-prose p{max-width:var(--measure)}
.kh-prose p+p{margin-top:var(--sp-4)}
.kh-band{display:grid;gap:var(--sp-5);align-items:center}
@media(min-width:768px){.kh-band{grid-template-columns:1fr auto}}
.kh-band p{max-width:var(--measure)}
.kh-contact{display:grid;gap:var(--sp-6)}
@media(min-width:768px){.kh-contact{grid-template-columns:1fr 1.2fr;gap:var(--sp-7)}}
.kh-contact__list{display:grid;gap:var(--sp-3);margin-top:var(--sp-5)}
.kh-contact__list a{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:44px;color:inherit}
.kh-icon{width:1.25em;height:1.25em;flex:none}
.kh-pagehead{padding-block:var(--sp-7) var(--sp-5)}
.kh-pagehead .kh-lead{margin-top:var(--sp-4)}
.kh-shopnote{margin-top:var(--sp-6);color:var(--ink-soft)}
.kh-shopnote a,.kh-prose a,.legal a{color:var(--color-primary)}
.legal{max-width:var(--measure)}
.legal h2,.kh-prose h2{font-family:var(--font-display);font-size:var(--step-2);font-weight:600;margin-top:var(--sp-6);margin-bottom:var(--sp-3)}
.legal p,.legal li{margin-top:var(--sp-3)}
.kh-prose ul{margin-top:var(--sp-3);padding-left:var(--sp-5);list-style:disc}
.kh-meta{margin-top:var(--sp-6);color:var(--ink-soft);font-size:var(--step--1)}
.kh-foot{background:var(--color-neutral);color:var(--color-neutral-content);padding-block:var(--sp-7)}
.kh-foot__row{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);justify-content:space-between;align-items:center}
.kh-foot nav{display:flex;flex-wrap:wrap;gap:0 var(--sp-5)}
.kh-foot nav a,.kh-foot__row>a{display:inline-flex;align-items:center;min-height:44px}
.kh-foot small{display:block;margin-top:var(--sp-5);font-size:var(--step--1);opacity:.8}
