:root{--bg:#f7f4ee;--surface:#fffdf8;--surface-2:#efeae0;--text:#1f1d1a;--muted:#655f57;--line:#ddd6c8;--accent:#9a3b2e;--accent-soft:#ead3cc;--heading:"Fraunces","Noto Serif TC",serif;--body:"Inter","Noto Sans TC",sans-serif;--radius:4px;--radius-lg:12px;--shadow:none;--container:1120px;--ease:cubic-bezier(.22,1,.36,1);--fast:180ms;--base:360ms;--slow:600ms}
html[data-theme="morning"]{--bg:#fbf7f1;--surface:#fffdfa;--surface-2:#f4ece1;--text:#3a3330;--muted:#7a6e66;--line:#eadfd4;--accent:#c8775a;--accent-soft:#f3d9cc;--heading:"Fraunces","Noto Serif TC",serif;--radius:24px;--radius-lg:40px;--shadow:0 12px 36px rgb(58 51 48/.08)}
html[data-theme="studio"]{--bg:#fafaf8;--surface:#fff;--surface-2:#f1f1ee;--text:#18181b;--muted:#6b6b70;--line:#e4e4e0;--accent:#2f5d50;--accent-soft:#e3ece8;--heading:"Inter","Noto Sans TC",sans-serif;--radius:12px;--radius-lg:20px;--shadow:0 1px 2px rgb(0 0 0/.04),0 8px 24px rgb(0 0 0/.05)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.8;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{overflow:hidden}.site-nav{width:min(calc(100% - 40px),var(--container));height:72px;margin:auto;display:flex;align-items:center;gap:36px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-weight:600}.brand-mark{color:var(--accent);font-size:10px}.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a,.quiet-link,.footer a{color:var(--muted);transition:color var(--fast),transform var(--fast)}.desktop-nav a:hover,.quiet-link:hover,.footer a:hover{color:var(--accent)}.nav-cta{padding:9px 16px;border:1px solid var(--text);border-radius:999px;font-size:14px;transition:background var(--fast),color var(--fast),transform var(--fast)}.nav-cta:hover{background:var(--text);color:var(--bg);transform:translateY(-1px)}
.section{width:min(calc(100% - 40px),var(--container));margin:0 auto;padding:clamp(72px,9vw,128px) 0}.hero{min-height:78vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(48px,7vw,96px)}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--accent);margin:0 0 18px}.hero h1,.section h2,.index-hero h1{font-family:var(--heading);font-weight:600;letter-spacing:-.025em;line-height:1.12;margin:0}.hero h1{font-size:clamp(44px,6vw,76px);max-width:14ch}.lede{font-size:clamp(17px,2vw,20px);max-width:55ch;color:var(--muted);margin:28px 0}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.button{min-height:48px;padding:10px 20px;border-radius:999px;display:inline-flex;align-items:center;gap:12px;transition:all var(--fast) var(--ease);font-weight:600}.button.primary{background:var(--text);color:var(--bg)}html[data-theme="morning"] .button.primary{background:var(--accent);color:white}.button.primary:hover{background:var(--accent);transform:translateY(-2px)}.button.primary span{transition:transform var(--fast)}.button.primary:hover span{transform:translateX(4px)}.button.text{padding-inline:4px;color:var(--muted)}.microcopy{margin-top:26px;font-size:13px;color:var(--muted)}.hero-art{min-height:520px;display:grid;place-items:center}.art-frame{position:relative;width:min(100%,430px);aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.art-orb{position:absolute;width:75%;aspect-ratio:1;right:-18%;top:9%;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--accent-soft),transparent 68%);filter:blur(1px)}.art-line{position:absolute;left:12%;right:12%;top:64%;height:1px;background:var(--line);box-shadow:0 16px 0 var(--line),0 32px 0 var(--line),0 48px 0 var(--line)}.art-note{position:absolute;left:12%;bottom:10%;font-family:var(--heading);font-size:clamp(34px,5vw,58px)}html[data-theme="paper"] .art-frame{border-radius:2px;background:linear-gradient(rgba(154,59,46,.04) 1px,transparent 1px),var(--surface);background-size:100% 28px}html[data-theme="morning"] .art-frame{border:0;box-shadow:var(--shadow);background:linear-gradient(145deg,#fff9f4,#f7e5db)}html[data-theme="morning"] .art-orb{animation:breathe 9s ease-in-out infinite;background:radial-gradient(circle at 35% 30%,#f8c9a8,#e9c8d8 55%,transparent 70%)}html[data-theme="studio"] .art-frame{background:linear-gradient(135deg,var(--surface) 0 62%,var(--accent-soft) 62%)}
.section h2{font-size:clamp(34px,4vw,52px);max-width:18ch}.section-heading{margin-bottom:48px}.section-heading.row{display:flex;justify-content:space-between;gap:24px;align-items:end}.topic-grid,.service-grid,.feeling-grid{display:grid;gap:18px}.topic-grid,.service-grid{grid-template-columns:repeat(3,1fr)}.topic-grid article,.service-card,.feeling-grid>div{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 80%,transparent);transition:transform var(--base) var(--ease),box-shadow var(--base),border-color var(--base)}.topic-grid article:hover,.service-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.topic-grid span,.num{font-size:12px;color:var(--accent);letter-spacing:.1em}.topic-grid h3,.service-card h3{font-family:var(--heading);font-size:24px;line-height:1.25;margin:36px 0 10px}.topic-grid p,.service-card p,.feeling-grid p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.feature-card h3{font:600 clamp(26px,3vw,38px)/1.25 var(--heading);margin:12px 0}.feature-card>p:not(.meta){color:var(--muted)}.visual-placeholder{aspect-ratio:16/10;background:var(--surface-2);border-radius:var(--radius);display:flex;align-items:flex-end;padding:22px;border:1px solid var(--line);font:500 48px var(--heading);color:var(--accent)}.meta{font-size:12px;letter-spacing:.08em;color:var(--accent);margin-top:18px}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:38px 1fr 22px;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.article-row small{display:block;color:var(--muted);margin-bottom:4px}.article-row strong{font-family:var(--heading);font-size:20px;line-height:1.35}.arrow{transition:transform var(--fast)}.article-row:hover .arrow{transform:translate(3px,-3px)}.about-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(42px,7vw,92px);align-items:center}.portrait-placeholder{aspect-ratio:4/5;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--accent-soft));display:grid;place-items:end start;padding:24px;color:var(--muted);border:1px solid var(--line)}.about-split>div:last-child>p{max-width:54ch;color:var(--muted)}.credentials{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.credentials span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:13px}.newsletter,.booking{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.newsletter h2,.booking h2{margin-inline:auto}.newsletter>p:not(.eyebrow),.booking p{color:var(--muted)}.fake-form{margin:28px auto 0;display:flex;max-width:560px;gap:10px}.fake-form input{flex:1;border:1px solid var(--line);background:var(--surface);padding:13px 16px;border-radius:999px;color:var(--text)}.fake-form button{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:13px 20px}.empathy{text-align:center}.empathy h2{margin:auto;max-width:24ch}.feeling-grid{grid-template-columns:repeat(4,1fr);margin-top:48px;text-align:left}.feeling-grid>div{background:var(--surface-2);border:0}.feeling-grid span{font:600 12px var(--body);color:var(--accent)}.service-card small{display:block;color:var(--muted);margin:24px 0 12px}.service-card a{color:var(--accent);font-weight:600}.steps{list-style:none;padding:0;margin:46px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps li{padding:28px;border-top:1px solid var(--line)}.steps li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;font-weight:600}.steps h3{font:600 22px var(--heading);margin:26px 0 8px}.steps p{color:var(--muted)}.faq{max-width:820px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:600;font-size:18px}.faq details p{color:var(--muted);max-width:62ch}.booking{display:flex;justify-content:space-between;text-align:left;gap:48px;align-items:end}.booking h2{margin:0}.booking-actions{display:flex;gap:16px;flex-shrink:0}.footer{width:min(calc(100% - 40px),var(--container));margin:0 auto;padding:64px 0 32px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:30px;color:var(--muted)}.footer strong{color:var(--text)}.footer p{margin:4px 0}.footer-links{display:flex;gap:20px}.footer small{grid-column:1/-1}.mobile-sticky{display:none}
[data-reveal]{opacity:0;transform:translateY(14px)}[data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease);transition-delay:calc(var(--i,0)*80ms)}@keyframes breathe{50%{transform:scale(1.08) translate(-3%,2%)}}
.demo-index{width:min(calc(100% - 40px),1180px);margin:auto}.index-hero{padding:110px 0 80px;max-width:850px}.index-hero h1{font-size:clamp(48px,7vw,86px)}.index-hero>p:last-child{font-size:20px;color:var(--muted);max-width:64ch}.matrix-group{padding:56px 0 88px;border-top:1px solid var(--line)}.matrix-heading{display:grid;grid-template-columns:54px 1fr;gap:20px;margin-bottom:36px}.matrix-heading>span{font:600 36px var(--heading);color:var(--accent)}.matrix-heading h2{margin:0;font:600 32px var(--heading)}.matrix-heading p{color:var(--muted);max-width:68ch}.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.demo-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:transform var(--base) var(--ease),box-shadow var(--base)}.demo-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgb(0 0 0/.08)}.demo-card small{color:var(--muted)}.demo-card h3{font:600 32px var(--heading);margin:8px 0}.demo-card p{color:var(--muted);min-height:58px}.demo-card b{font-size:14px}.demo-swatch{height:150px;border-radius:12px;margin-bottom:24px;position:relative;overflow:hidden}.demo-swatch span{position:absolute;border-radius:999px}.demo-swatch span:nth-child(1){width:62%;height:62%;left:8%;top:12%}.demo-swatch span:nth-child(2){width:32%;height:32%;right:8%;bottom:12%}.demo-swatch span:nth-child(3){width:40%;height:6px;left:10%;bottom:15%}.theme-paper .demo-swatch{background:#f7f4ee;border:1px solid #ddd6c8}.theme-paper .demo-swatch span:nth-child(1){border:1px solid #1f1d1a}.theme-paper .demo-swatch span:nth-child(2),.theme-paper .demo-swatch span:nth-child(3){background:#9a3b2e}.theme-morning .demo-swatch{background:#fbf7f1}.theme-morning .demo-swatch span:nth-child(1){background:#f8c9a8}.theme-morning .demo-swatch span:nth-child(2){background:#e9c8d8}.theme-morning .demo-swatch span:nth-child(3){background:#c8775a}.theme-studio .demo-swatch{background:#f1f1ee}.theme-studio .demo-swatch span:nth-child(1){background:#fff;border:1px solid #e4e4e0}.theme-studio .demo-swatch span:nth-child(2),.theme-studio .demo-swatch span:nth-child(3){background:#2f5d50}.index-footer{padding:42px 0 72px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;letter-spacing:.08em}
@media(max-width:850px){.desktop-nav{display:none}.site-nav{width:calc(100% - 32px)}.hero{grid-template-columns:1fr;min-height:auto;padding-top:72px}.hero-art{min-height:auto}.art-frame{width:min(82vw,420px)}.topic-grid,.service-grid,.steps{grid-template-columns:1fr}.feeling-grid{grid-template-columns:1fr 1fr}.feature-grid,.about-split{grid-template-columns:1fr}.about-split .portrait-placeholder{max-width:520px;width:100%}.section-heading.row,.booking{align-items:flex-start;flex-direction:column;display:flex}.demo-grid{grid-template-columns:1fr}.mobile-sticky{display:flex;position:fixed;z-index:30;left:14px;right:14px;bottom:14px;justify-content:space-between;background:var(--text);color:var(--bg);padding:13px 18px;border-radius:999px;box-shadow:0 10px 35px rgb(0 0 0/.18)}}
@media(max-width:560px){body{font-size:16px}.section{width:calc(100% - 36px);padding:72px 0}.site-nav{height:64px}.brand span:last-child{font-size:14px}.nav-cta{font-size:12px;padding:7px 12px}.hero h1{font-size:42px}.hero-art{padding-top:10px}.feeling-grid{grid-template-columns:1fr}.fake-form{flex-direction:column}.footer{width:calc(100% - 36px);grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.booking-actions{width:100%;flex-direction:column}.button.primary{justify-content:center}.index-hero{padding-top:76px}.matrix-heading{grid-template-columns:38px 1fr}.matrix-heading>span{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}

/* V1.5: Botanical Calm / 植感 */
html[data-theme="botanical"]{--bg:#f4f6ee;--surface:#fbfcf7;--surface-2:#e9efdf;--text:#273a2e;--muted:#59685a;--line:#cdd9ca;--accent:#52775a;--accent-soft:#dae7cd;--heading:"Fraunces","Noto Serif TC",serif;--radius:18px;--radius-lg:32px;--shadow:0 9px 28px rgb(54 86 58/.07)}
.theme-botanical .demo-swatch{background:#f4f6ee;border:1px solid #cdd9ca}
.theme-botanical .demo-swatch span:nth-child(1){background:#d9e6cf}
.theme-botanical .demo-swatch span:nth-child(2),.theme-botanical .demo-swatch span:nth-child(3){background:#52775a}
html[data-theme="botanical"] .art-frame{background:linear-gradient(135deg,#fbfcf7,#dae7cd 75%);border-color:#b5c9b4}
html[data-theme="botanical"] .button.primary{background:var(--accent);color:white}
