@font-face{font-family:KouzanBrush;src:url(/fonts/KouzanBrushFont.otf) format("opentype");font-weight:400;font-display:swap}:root{--washi: #f5ebd4;--washi-light: #faf3e3;--washi-shadow: #e8dabe;--sumi: #1b1b1c;--sumi-soft: #33333a;--shu: #d0342c;--shu-deep: #a81f1a;--shu-light: #f26a5f;--ai: #1f3c6e;--ai-deep: #0f2347;--kin: #c9a961;--kin-deep: #a8872e;--sakura: #f4c2c2;--matcha: #7b8f5e;--text: var(--sumi);--text-muted: rgba(27, 27, 28, .6);--rule: rgba(27, 27, 28, .18);--rule-strong: rgba(27, 27, 28, .42);--grid-max: 1200px;--gutter: clamp(20px, 4vw, 56px);--display: "KouzanBrush", "Hiragino Mincho ProN", "Yu Mincho", serif;--serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "MS Mincho", serif;--serif-italic: "Hiragino Mincho ProN", "Yu Mincho", serif;--fs-meta: 11px;--fs-caption: 13px;--fs-body: 15px;--fs-lead: 18px;--fs-h3: 22px;--fs-h2: 32px;--fs-h1: clamp(72px, 16vw, 200px);--fs-numeral: clamp(48px, 10vw, 96px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--serif);font-size:var(--fs-body);line-height:1.85;color:var(--text);background-color:var(--washi);background-image:url(/washi-bg.jpg);background-repeat:repeat;background-size:480px;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(27,27,28,.05),transparent 60%),radial-gradient(ellipse 60% 80% at 100% 100%,rgba(31,60,110,.04),transparent 60%)}a{color:inherit;text-decoration:none;transition:color .16s ease}a:hover{color:var(--shu-deep)}.page{position:relative;min-height:100vh;display:flex;flex-direction:column;z-index:1}.page-header{position:sticky;top:0;z-index:50;padding:16px var(--gutter);background:#f5ebd4db;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--rule)}.page-header-inner{max-width:var(--grid-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--gutter)}.page-header-logo{font-family:var(--display);font-size:24px;letter-spacing:.06em;color:var(--sumi)}.page-header-logo:hover{color:var(--shu-deep)}.page-header-meta{display:flex;gap:24px;font-family:var(--serif);font-size:var(--fs-meta);letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted)}.page-main{flex:1}.page-footer{margin-top:auto;padding:56px var(--gutter) 40px;border-top:1px solid var(--rule);background:#e8dabe57;font-size:var(--fs-caption);color:var(--text-muted)}.page-footer-inner{max-width:var(--grid-max);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}.page-footer-mark{font-family:var(--display);font-size:28px;color:var(--sumi);letter-spacing:.06em;line-height:1}.page-footer-mark span{display:block;font-family:var(--serif);font-size:var(--fs-meta);letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);margin-top:8px;font-weight:400}.page-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;font-size:var(--fs-caption)}.page-footer-links a{color:var(--sumi);border-bottom:1px solid var(--rule);padding-bottom:2px}.page-footer-links a:hover{border-bottom-color:var(--shu)}.hero{position:relative;min-height:84vh;padding:120px var(--gutter) 80px;overflow:hidden;border-bottom:1px solid var(--rule)}.hero-grid{position:relative;z-index:2;max-width:var(--grid-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--gutter);align-items:end}.hero-kanji{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;z-index:1;font-family:var(--display);font-size:clamp(420px,78vw,1100px);line-height:.82;color:#1b1b1c0b;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;transform:translate(8%,-2%)}.hero-eyebrow{display:flex;align-items:center;gap:16px;font-size:var(--fs-meta);letter-spacing:.42em;text-transform:uppercase;color:var(--shu-deep);margin-bottom:32px;animation:rise .7s 80ms cubic-bezier(.2,.8,.2,1) both}.hero-eyebrow:before{content:"";display:block;width:32px;height:1px;background:var(--shu)}.hero-title{font-family:var(--display);font-size:var(--fs-h1);line-height:.94;letter-spacing:.04em;font-weight:400;margin:0 0 24px;color:var(--sumi);text-shadow:0 1px 0 rgba(245,235,212,.6),0 0 28px rgba(27,27,28,.06)}.hero-title-char{display:inline-block;animation:brushDrop .9s cubic-bezier(.2,.8,.2,1) both}.hero-title-char:nth-child(1){animation-delay:.22s}.hero-title-char:nth-child(2){animation-delay:.32s}.hero-title-char:nth-child(3){animation-delay:.42s}.hero-title-char:nth-child(4){animation-delay:.52s}.hero-title-char:nth-child(5){animation-delay:.62s}.hero-rule{width:88px;height:2px;background:var(--sumi);margin:8px 0 28px;transform-origin:left;animation:ruleSlide .6s .72s cubic-bezier(.2,.8,.2,1) both}.hero-tagline{font-family:var(--serif);font-size:var(--fs-lead);max-width:30em;color:var(--sumi-soft);letter-spacing:.04em;line-height:1.85;margin:0 0 56px;animation:rise .8s .88s cubic-bezier(.2,.8,.2,1) both}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;animation:rise .8s 1.04s cubic-bezier(.2,.8,.2,1) both}.hero-cta-button{position:relative;display:inline-flex;align-items:center;gap:12px;padding:18px 28px;font-family:var(--serif);font-size:var(--fs-caption);letter-spacing:.32em;text-transform:uppercase;color:var(--washi-light);background:var(--sumi);border:1px solid var(--sumi);border-radius:0;transition:background .2s ease,color .2s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.hero-cta-button:after{content:"→";font-family:var(--serif);letter-spacing:0;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.hero-cta-button:hover{background:var(--shu-deep);border-color:var(--shu-deep);color:var(--washi-light);transform:translateY(-2px)}.hero-cta-button:hover:after{transform:translate(4px)}.hero-cta-button[aria-disabled=true]{opacity:.78;cursor:not-allowed}.hero-aside{position:relative;display:flex;align-items:flex-end;gap:28px;animation:rise .8s 1.2s cubic-bezier(.2,.8,.2,1) both}.hero-vertical{writing-mode:vertical-rl;font-family:var(--serif);font-size:var(--fs-meta);letter-spacing:.6em;color:var(--sumi-soft);text-transform:none;height:12em;display:flex;align-items:flex-start;padding:4px 0;border-left:1px solid var(--rule)}.hero-stamp{width:84px;height:84px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--shu);color:var(--washi-light);font-family:var(--display);font-size:42px;letter-spacing:0;transform:rotate(-8deg);box-shadow:0 8px 28px #a81f1a52;border:3px double rgba(245,235,212,.85);outline:1px solid var(--shu-deep);outline-offset:0}.hero-stamp:after{content:"";position:absolute;inset:4px;border:1px dashed rgba(245,235,212,.5);pointer-events:none}@media(max-width:720px){.hero{min-height:auto;padding:64px var(--gutter) 56px}.hero-grid{grid-template-columns:1fr}.hero-aside{margin-top:24px;align-items:center}.hero-kanji{transform:translate(15%,-2%);font-size:clamp(360px,95vw,720px);opacity:.55}}.floating-pieces{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}@keyframes floatPieceUp{0%{transform:translate3d(0,100vh,0) rotate(var(--initial-rotate, 0deg));opacity:0}18%{opacity:.28}82%{opacity:.28}to{transform:translate3d(0,-110vh,0) rotate(calc(var(--initial-rotate, 0deg) + 160deg));opacity:0}}.floating-piece{position:absolute;bottom:-20vh;animation-name:floatPieceUp;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 6px 18px rgba(90,62,27,.22));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;mix-blend-mode:multiply}@media(prefers-reduced-motion:reduce){.floating-piece{animation:none;display:none}}.section{padding:120px var(--gutter);position:relative}.section--soft{background:#e8dabe52;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.section-inner{max-width:var(--grid-max);margin:0 auto}.section-eyebrow{display:flex;align-items:center;gap:16px;font-size:var(--fs-meta);letter-spacing:.42em;text-transform:uppercase;color:var(--shu-deep);margin-bottom:24px}.section-eyebrow:before{content:"";display:block;width:32px;height:1px;background:var(--shu)}.section-heading{font-family:var(--display);font-size:var(--fs-h2);line-height:1.2;letter-spacing:.04em;font-weight:400;margin:0 0 56px;color:var(--sumi);max-width:16em}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border-top:1px solid var(--sumi)}.feature{position:relative;padding:36px 28px 32px;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);transition:background .22s ease}.feature:hover{background:#faf3e399}.feature-numeral{font-family:var(--serif-italic);font-style:italic;font-size:var(--fs-numeral);font-weight:400;line-height:1;color:var(--shu);letter-spacing:-.02em;margin:0 0 24px}.feature-title{font-family:var(--display);font-size:var(--fs-h3);font-weight:400;letter-spacing:.04em;margin:0 0 12px;color:var(--sumi)}.feature-body{font-size:var(--fs-caption);color:var(--sumi-soft);line-height:1.85;margin:0}@media(max-width:720px){.feature{border-right:none}}.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gutter);align-items:start}.about-quote{position:relative;font-family:var(--serif-italic);font-style:italic;font-size:clamp(20px,2.6vw,28px);line-height:1.7;color:var(--sumi);letter-spacing:.02em;padding-left:28px;border-left:2px solid var(--shu)}.about-body{font-family:var(--serif);font-size:var(--fs-body);color:var(--sumi-soft);line-height:1.95}.about-body p+p{margin-top:18px}.about-links{margin-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--sumi)}.about-link{display:flex;align-items:center;justify-content:space-between;padding:24px 4px 22px;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:var(--fs-body);color:var(--sumi);letter-spacing:.04em;transition:color .2s ease,padding-left .22s cubic-bezier(.2,.8,.2,1)}.about-link:after{content:"→";color:var(--shu);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.about-link:hover{color:var(--shu-deep);padding-left:12px}.about-link:hover:after{transform:translate(6px)}@media(max-width:720px){.about-grid{grid-template-columns:1fr}.about-quote{padding-left:18px}}.legal{padding:96px var(--gutter) 120px}.legal-inner{max-width:760px;margin:0 auto}.legal-eyebrow{display:flex;align-items:center;gap:16px;font-size:var(--fs-meta);letter-spacing:.42em;text-transform:uppercase;color:var(--shu-deep);margin-bottom:18px}.legal-eyebrow:before{content:"";width:32px;height:1px;background:var(--shu)}.legal-title{font-family:var(--display);font-size:clamp(40px,6vw,56px);line-height:1.1;font-weight:400;letter-spacing:.04em;margin:0 0 12px;color:var(--sumi)}.legal-meta{font-size:var(--fs-meta);letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);margin:0 0 56px}.legal-section{margin:0}.legal-section h2{font-family:var(--display);font-size:var(--fs-h3);font-weight:400;letter-spacing:.04em;margin:56px 0 16px;padding-top:32px;border-top:1px solid var(--rule);color:var(--sumi)}.legal-section h2:first-of-type{border-top:none;padding-top:0;margin-top:0}.legal-section p,.legal-section li{font-size:var(--fs-body);color:var(--sumi);line-height:1.95}.legal-section ol,.legal-section ul{padding-left:24px}.legal-section li{margin:8px 0}.legal-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:var(--fs-body)}.legal-table th,.legal-table td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}.legal-table th{width:30%;font-family:var(--display);font-weight:400;letter-spacing:.04em;color:var(--sumi);background:#e8dabe66}.placeholder{display:inline-block;font-family:var(--serif);font-size:.9em;color:var(--shu-deep);background:#d0342c14;padding:1px 8px;border:1px dashed rgba(208,52,44,.4);letter-spacing:.02em}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes brushDrop{0%{opacity:0;transform:translateY(-32px) rotate(-2deg);filter:blur(4px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}@keyframes ruleSlide{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.hero-eyebrow,.hero-title-char,.hero-rule,.hero-tagline,.hero-cta,.hero-aside{animation:none}}
