@font-face{font-family:NotoSerifSC;font-style:normal;font-weight:300;font-display:swap;src:url(./assets/NotoSerifSC-Light.woff2) format("woff2")}@font-face{font-family:NotoSerifSC;font-style:normal;font-weight:400;font-display:swap;src:url(./assets/NotoSerifSC-Regular.woff2) format("woff2")}@font-face{font-family:NotoSerifSC;font-style:normal;font-weight:600;font-display:swap;src:url(./assets/NotoSerifSC-SemiBold.woff2) format("woff2")}@font-face{font-family:NotoSerifSC;font-style:normal;font-weight:900;font-display:swap;src:url(./assets/NotoSerifSC-Black.woff2) format("woff2")}@font-face{font-family:TitleBrush;src:url(./assets/title-font.woff2) format("woff2"),url(./assets/ZiYueMaoBiLiShu-2.ttf) format("truetype");font-display:swap}:root{--paper: #f8f6f1;--paper-deep: #f2efe8;--ink: #26231e;--ink-soft: #55504a;--ink-faint: #8b857b;--line: rgba(38, 35, 30, .15);--seal: #8c3f2b;--c-spring: #2f5d50;--c-summer: #8c3f2b;--c-autumn: #6b4f3a;--c-winter: #2e4a62;--accent: var(--c-winter);--rail-w: 92px;--serif: "NotoSerifSC", "Noto Serif SC", "Songti SC", serif;--brush: "TitleBrush", "NotoSerifSC", "Noto Serif SC", serif}[data-season=spring]{--accent: var(--c-spring)}[data-season=summer]{--accent: var(--c-summer)}[data-season=autumn]{--accent: var(--c-autumn)}[data-season=winter]{--accent: var(--c-winter)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{font-family:var(--serif);background:radial-gradient(1200px 800px at 85% -10%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),repeating-linear-gradient(0deg,transparent 0 2px,rgba(38,35,30,.012) 2px 3px),repeating-linear-gradient(90deg,transparent 0 3px,rgba(38,35,30,.01) 3px 4px),linear-gradient(var(--paper),var(--paper-deep));color:var(--ink);line-height:1.95;letter-spacing:.07em;-webkit-font-smoothing:antialiased}a{color:inherit}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail-w);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,transparent);z-index:10}.rail-top{display:flex;flex-direction:column;align-items:center;gap:18px}.rail-brand{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--brush);font-size:34px;letter-spacing:.18em;text-decoration:none;line-height:1}.rail-seal{display:grid;place-items:center;width:30px;height:30px;color:#fdf9f0;background:var(--accent);font-size:16px;font-weight:900;border-radius:4px;box-shadow:0 1px #26231e40 inset}.rail-nav{display:flex;flex-direction:column;gap:22px}.rail-nav a{display:grid;place-items:center;width:40px;padding:10px 0;font-size:13px;letter-spacing:.15em;writing-mode:vertical-rl;text-orientation:upright;text-decoration:none;color:var(--ink-soft);border:1px dashed rgba(38,35,30,.34);border-radius:20px;transition:color .3s,border-color .3s,background .3s}.rail-nav a:hover,.rail-nav a:focus-visible{color:var(--accent);border:1px solid var(--accent)}.rail-nav a.is-current{color:var(--paper);background:var(--accent);border:1px solid var(--accent)}.rail-term{writing-mode:vertical-rl;text-orientation:upright;font-size:12px;letter-spacing:.4em;color:var(--accent)}main{margin-left:var(--rail-w)}.hero{min-height:100vh;display:flex;flex-direction:column;border-bottom:1px solid var(--line);scroll-snap-align:start}.hero-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.hero-copy{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,60px);padding:60px clamp(24px,5vw,70px);border-right:1px solid var(--line)}.kicker{writing-mode:vertical-rl;text-orientation:upright;align-self:flex-start;font-size:13px;letter-spacing:.55em;color:var(--accent)}.big-vert{writing-mode:vertical-rl;text-orientation:upright;font-size:clamp(40px,6.5vw,84px);font-weight:600;letter-spacing:.24em;line-height:1.6}.big-vert .dot{display:inline-block;width:.3em;height:.3em;margin:.34em auto;background:var(--accent);border-radius:50%}.hero-note{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:60px clamp(24px,5vw,70px) 80px}.hero-note p{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft)}.cta{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;margin-top:24px;padding:14px 34px;font-size:15px;letter-spacing:.3em;text-decoration:none;color:var(--paper);background:var(--accent);border-radius:2px;transition:background .3s,gap .3s,opacity .3s}.cta:hover,.cta:focus-visible{background:var(--ink);gap:22px}.hero-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px clamp(24px,5vw,70px);border-top:1px solid var(--line);font-size:13px;letter-spacing:.3em;color:var(--ink-faint)}.blk{position:relative;display:grid;grid-template-columns:minmax(120px,200px) minmax(0,660px);align-content:center;gap:clamp(26px,5vw,70px);min-height:100vh;padding:clamp(70px,11vh,120px) clamp(24px,6vw,80px);border-bottom:1px solid var(--line);scroll-snap-align:start}.blk-no{position:absolute;top:26px;right:clamp(24px,6vw,80px);font-size:13px;letter-spacing:.5em;color:var(--ink-faint)}.blk-head h2{font-size:clamp(44px,5.5vw,68px);font-weight:600;line-height:1.2}.blk-sub{display:block;margin-top:12px;font-size:13px;letter-spacing:.4em;color:var(--accent)}.blk-lead{font-size:clamp(19px,2vw,23px);font-weight:600;margin-bottom:24px;letter-spacing:.1em}.blk-body>p{color:var(--ink-soft)}.blk-body>p+p{margin-top:16px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:#fdfbf680}.card{padding:34px 26px 30px;transition:background .35s}.card+.card{border-left:1px solid var(--line)}.card:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.card-no{display:block;font-size:13px;letter-spacing:.4em;color:var(--accent);margin-bottom:20px}.card h3{font-size:22px;font-weight:600;letter-spacing:.3em;margin-bottom:14px}.card p{font-size:14.5px;color:var(--ink-soft)}.price-list{max-width:520px;margin:0 auto}.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0}.price-row+.price-row{border-top:1px dashed var(--line)}.price-row dt{font-size:16px;font-weight:400}.price-row dd{font-size:22px;font-weight:600;color:var(--accent);margin:0}.price-row dd small{font-size:13px;font-weight:400;color:var(--ink-soft)}.price-inquire{font-size:14px!important;font-weight:400!important;color:var(--ink-soft)!important}.steps{list-style:none;counter-reset:step}.steps li{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:baseline;padding:20px 0}.steps li+li{border-top:1px dashed var(--line)}.steps strong{font-size:24px;font-weight:600;color:var(--accent);position:relative}.steps strong:after{counter-increment:step;content:counter(step,cjk-ideographic);position:absolute;top:-.9em;left:2px;font-size:10px;letter-spacing:.2em;color:var(--ink-faint);font-weight:400}.steps span{color:var(--ink-soft);font-size:15.5px}.gate{max-width:560px}.g-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}.g-row dd{overflow-wrap:anywhere}.g-row dt{color:var(--ink-faint);letter-spacing:.3em}.g-row a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}.gate-note{margin-top:28px;font-size:13.5px;letter-spacing:.24em;color:var(--ink-faint)}.contact-pair{display:flex;gap:clamp(48px,8vw,96px);align-items:flex-start}.contact-item{display:flex;flex-direction:column;gap:10px}.contact-label{font-size:13px;letter-spacing:.3em;color:var(--ink-faint)}.qr-img{display:block;width:180px;height:180px;object-fit:contain}.contact-hint{font-size:12px;letter-spacing:.2em;color:var(--ink-faint)}.contact-value{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;font-size:16px}.contact-addr{font-size:16px;color:var(--ink-soft);white-space:nowrap}.hero-since{font-size:14px;letter-spacing:.2em;color:var(--ink-faint);margin-top:-24px}.hero-desc{font-size:clamp(14px,1.3vw,16px);color:var(--ink-soft);line-height:1.9}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:32px clamp(24px,6vw,80px) 40px;font-size:13px;letter-spacing:.24em;color:var(--ink-faint)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:860px){html{scroll-snap-type:none}:root{--rail-w: 60px}.rail{padding:18px 0}.rail-top{gap:12px}.rail-brand{font-size:24px;letter-spacing:.14em}.rail-seal{width:22px;height:22px;font-size:12px;border-radius:3px}.rail-nav{gap:14px}.rail-nav a{width:32px;padding:8px 0;font-size:11px}.rail-term{font-size:10px;letter-spacing:.3em}.hero-grid{grid-template-columns:1fr}.hero-copy{border-right:none;border-bottom:1px solid var(--line);padding:42px 20px;min-height:62vh}.big-vert{font-size:clamp(34px,10vw,52px)}.hero-note{padding:42px 22px 56px;gap:30px}.blk{grid-template-columns:minmax(0,1fr);gap:20px;min-height:100vh;padding:56px 20px}.blk-no{top:18px;right:20px}.blk-head h2{display:inline;font-size:36px}.blk-sub{display:inline;margin-left:12px}.cards{grid-template-columns:1fr}.card+.card{border-left:none;border-top:1px solid var(--line)}.contact-pair{flex-direction:column;gap:28px}.hero-foot,.foot{padding-left:20px;padding-right:20px}}
