:root{--brand-brown: #5e4739;--brand-brown-deep: #3d2c20;--brand-brown-soft: #8a6e5c;--brand-teal: #b9dbe0;--brand-teal-deep: #6e9da3;--brand-cream: #faf5ec;--brand-white: #ffffff;--c-bg: var(--brand-cream);--c-text: var(--brand-brown-deep);--c-text-soft: var(--brand-brown);--c-text-mute: var(--brand-brown-soft);--c-line: #e2d4be;--c-primary: var(--brand-brown);--c-primary-hover: var(--brand-brown-deep);--font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-serif-en: "Cormorant Garamond", "EB Garamond", "Hiragino Mincho ProN", serif;--font-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-feature-settings:"palt";line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}em{font-style:normal;font-family:var(--font-serif);color:var(--brand-brown-deep);font-weight:700;background:linear-gradient(transparent 62%,var(--brand-teal) 62%);padding:0 4px}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.site-header{position:fixed;top:0;left:0;right:0;background:#faf5eceb;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--c-line);z-index:50}.site-header-inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand-logo img{height:40px;width:auto;display:block}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-family:var(--font-serif);font-weight:700;font-size:14px;color:var(--c-text)}.nav-links a:hover{color:var(--c-primary)}.nav-cta{background:var(--c-primary);color:#fff!important;padding:10px 22px;border-radius:999px;font-family:var(--font-serif-en)!important;font-weight:700!important;letter-spacing:.12em!important;font-size:13px!important}.nav-cta:hover{background:var(--brand-brown-deep)}@media(max-width:720px){.brand-logo img{height:30px}.nav-links a:not(.nav-cta){display:none}}@keyframes heartPop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes logoSoft{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scrollHint{0%{transform:scaleY(0);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom;opacity:.4}}.intro{min-height:100vh;display:grid;place-items:center;padding:96px 24px;background:var(--brand-cream);position:relative;overflow:hidden}.intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 50% 30%,rgba(185,219,224,.25),transparent 70%);pointer-events:none}.intro-stage{text-align:center;position:relative;z-index:1;display:grid;gap:36px;justify-items:center}.intro-heart{width:56px;height:56px;color:var(--brand-teal-deep);opacity:0;animation:heartPop 1.2s cubic-bezier(.34,1.56,.64,1) .2s forwards}.intro-heart svg{width:100%;height:100%;display:block;animation:heartbeat 2.4s ease-in-out 1.4s infinite}.intro-text{font-family:var(--font-serif);font-weight:700;font-size:clamp(34px,7vw,64px);line-height:1.55;letter-spacing:.06em;margin:0;color:var(--brand-brown-deep)}.intro-text .line{display:block;opacity:0;animation:fadeUp .9s cubic-bezier(.22,1,.36,1) forwards}.intro-text .line-1{animation-delay:.9s}.intro-text .line-2{animation-delay:1.6s}.intro-text .line-3{animation-delay:2.3s}.intro-logo{margin-top:12px;opacity:0;animation:logoSoft 1.4s cubic-bezier(.22,1,.36,1) 3.2s forwards;display:flex;flex-direction:column;align-items:center;gap:10px}.intro-logo img{height:clamp(64px,9vw,96px);width:auto}.intro-by{font-family:var(--font-serif);font-weight:600;font-size:13px;letter-spacing:.16em;color:var(--brand-brown)}.scroll-cue{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:fadeUp 1s ease 4.4s forwards}.scroll-label{font-family:var(--font-serif-en);font-style:italic;font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--brand-brown)}.scroll-line{display:block;width:1px;height:56px;background:var(--brand-brown);animation:scrollHint 2s ease-in-out infinite 5s}.about{padding:140px 24px;background:var(--brand-cream)}.about-inner{max-width:720px;margin:0 auto;text-align:center}.about-lead{font-family:var(--font-serif);font-weight:700;font-size:clamp(20px,3vw,28px);line-height:1.95;letter-spacing:.06em;color:var(--brand-brown-deep);margin:0 0 48px}.about-body{font-size:15.5px;line-height:2.15;color:var(--brand-brown-deep);margin:0;font-weight:500;letter-spacing:.02em}@media(max-width:720px){.about{padding:80px 20px}.about-lead{margin-bottom:36px}.about-body{font-size:14.5px;text-align:left}}.gallery{padding:0 0 140px;background:var(--brand-cream)}.gallery-grid{max-width:1280px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:220px;gap:16px}.gallery-item{margin:0;position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{position:absolute;left:16px;bottom:14px;padding:6px 12px;background:#faf5eceb;font-family:var(--font-serif);font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--brand-brown-deep)}.gallery-item-1{grid-column:span 4;grid-row:span 2}.gallery-item-2,.gallery-item-3{grid-column:span 2;grid-row:span 1}.gallery-item-4{grid-column:span 6;grid-row:span 2}@media(max-width:820px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4{grid-column:span 2;grid-row:span 1}}.access{padding:130px 24px;background:var(--brand-brown-deep);color:#fff}.access-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center}.access-eyebrow{font-family:var(--font-serif-en);font-style:italic;font-weight:700;font-size:14px;letter-spacing:.32em;color:var(--brand-teal);margin-bottom:18px;text-transform:uppercase}.access-store{font-family:var(--font-serif);font-weight:700;font-size:24px;margin-bottom:14px;letter-spacing:.04em;color:#fff}.access-addr{font-size:15px;color:#ffffffe0;margin-bottom:32px;line-height:2;font-weight:500}.access-ctas{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.access-map{width:100%;aspect-ratio:16/11;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.access-map iframe{width:100%;height:100%;border:0}@media(max-width:820px){.access{padding:80px 20px}.access-inner{grid-template-columns:1fr;gap:32px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 30px;border-radius:999px;font-family:var(--font-serif);font-weight:700;font-size:14.5px;letter-spacing:.06em;cursor:pointer;border:none;transition:transform .12s,background .12s,color .12s;text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:11px 24px;font-size:13px}.btn-primary{background:var(--brand-teal);color:var(--brand-brown-deep)}.btn-primary:hover{background:#fff}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}.btn-ghost:hover{background:#fff;color:var(--brand-brown-deep);border-color:#fff}footer{background:var(--brand-cream);color:var(--brand-brown);padding:64px 0 48px;text-align:center}.footer-logo{height:44px;width:auto;margin:0 auto 14px}.footer-tag{font-family:var(--font-serif);font-size:14px;color:var(--brand-brown-deep);letter-spacing:.08em;margin-bottom:28px;font-weight:700}.footer-meta{font-family:var(--font-serif-en);font-style:italic;font-size:12px;color:var(--brand-brown-soft);letter-spacing:.06em}
