:root{--pink: #E8AFB6;--pink-deep: #C77280;--pink-pale: #FCE0E4;--gold: #C8A46A;--gold-deep: #8E723E;--aqua: #9CC9D6;--cream: #FDF7F2;--paper: #F8E8E5;--ink: #3B2A30;--mute: #8C7A7F;--rule: #EAD8D2;--shadow-sm: 0 2px 8px rgba(199, 114, 128, .08);--shadow-md: 0 8px 28px rgba(199, 114, 128, .12)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Quicksand,Noto Sans JP,sans-serif;color:var(--ink);background:var(--cream);line-height:1.85;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Cormorant Garamond,"Noto Serif JP",serif;font-weight:500;letter-spacing:.02em;line-height:1.4}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}.site-header{position:sticky;top:0;background:#fdf7f2f5;backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);z-index:100}.header-inner{max-width:1200px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{line-height:1.2}.brand-en{display:block;font-family:Cormorant Garamond,serif;font-size:26px;color:var(--pink-deep);letter-spacing:.05em;font-weight:500}.brand-jp{display:block;font-size:10px;letter-spacing:.2em;color:var(--gold-deep);margin-top:2px}.nav{display:flex;align-items:center;gap:28px}.nav a{font-family:Quicksand,sans-serif;font-size:13px;color:var(--ink);font-weight:500;letter-spacing:.1em;transition:color .2s}.nav a:hover{color:var(--pink-deep)}.nav .nav-cta{background:var(--pink-deep);color:#fff;padding:10px 22px;border-radius:999px;font-weight:600;letter-spacing:.1em}.nav .nav-cta:hover{background:var(--pink);color:#fff}.nav-toggle{display:none;background:none;border:none;width:36px;height:36px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:var(--pink-deep);transition:transform .3s,opacity .3s}.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-footer{background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);color:var(--ink);padding:64px 28px 28px;margin-top:80px;border-top:1px solid var(--rule)}.footer-inner{max-width:1080px;margin:0 auto 32px;display:grid;grid-template-columns:1.2fr 1.5fr 1fr;gap:40px}.footer-brand .footer-name{font-family:Cormorant Garamond,serif;font-size:28px;color:var(--pink-deep);margin-bottom:8px;font-weight:500}.footer-brand .footer-tag{font-size:12px;color:var(--gold-deep);letter-spacing:.15em}.footer-info p{font-size:13px;margin-bottom:6px;color:var(--mute)}.footer-info a{color:var(--pink-deep);text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{font-family:Quicksand,sans-serif;font-size:13px;letter-spacing:.1em;color:var(--mute)}.footer-links a:hover{color:var(--pink-deep)}.footer-copy{text-align:center;font-size:11px;color:var(--gold-deep);padding-top:20px;border-top:1px solid var(--rule)}.intro-overlay{position:fixed;inset:0;background:var(--cream);z-index:9999;display:flex;align-items:center;justify-content:center}#intro-canvas{max-width:90vw;max-height:90vh}.intro-skip{position:absolute;top:24px;right:24px;background:transparent;border:1px solid var(--pink-deep);color:var(--pink-deep);padding:8px 16px;font-size:11px;cursor:pointer;font-family:Quicksand,sans-serif;letter-spacing:.2em;border-radius:999px}.intro-skip:hover{background:var(--pink-deep);color:var(--cream)}.container{max-width:1080px;margin:0 auto;padding:0 28px}.narrow{max-width:720px}.section{padding:80px 0}.section-eyebrow{font-family:Quicksand,sans-serif;font-size:11px;letter-spacing:.3em;color:var(--gold-deep);text-align:center;margin-bottom:16px}.section-title{font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:clamp(28px,4.5vw,42px);text-align:center;margin-bottom:16px;color:var(--pink-deep);font-weight:500}.section-lead{text-align:center;color:var(--mute);margin-bottom:48px;font-size:14px}@media(max-width:820px){.nav-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:24px;gap:16px;border-bottom:1px solid var(--rule);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.footer-inner{grid-template-columns:1fr;gap:24px}.section{padding:60px 0}}
