:root{--ink:#172329;--blue:#16243e;--deep:#0d172a;--cream:#f4f0e8;--paper:#faf8f3;--sage:#9da99b;--gold:#c2a778;--line:rgba(23,35,41,.16);--serif:"Noto Serif TC",serif;--sans:"Noto Sans TC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;padding:0 5vw;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.4s}.site-header.scrolled{height:72px;background:rgba(250,248,243,.94);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:500 21px var(--serif)}.brand b,.brand small{display:block}.brand b{font:500 17px var(--serif);letter-spacing:.15em}.brand small{font-size:8px;letter-spacing:.2em;margin-top:2px}.nav{display:flex;align-items:center;gap:32px;font-size:13px;letter-spacing:.08em}.nav>a:not(.nav-cta){position:relative}.nav>a:not(.nav-cta):after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:1px;background:currentColor;transition:.3s}.nav>a:hover:after{width:100%}.nav-cta{border:1px solid currentColor;padding:9px 19px;border-radius:99px}.menu-toggle{display:none;background:0;border:0;color:inherit}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;display:flex;align-items:center;padding:110px 9vw 60px;color:#fff;background:linear-gradient(90deg,rgba(7,13,28,.94),rgba(13,23,44,.7) 55%,rgba(45,36,55,.35)),url("assets/night-sky.webp") center/cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,23,42,.42),transparent 40%)}.hero-glow{position:absolute;width:430px;height:430px;border-radius:50%;right:8%;top:18%;background:radial-gradient(circle,rgba(211,187,157,.23),transparent 70%);filter:blur(8px)}.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow,.section-label{font-size:11px;letter-spacing:.3em;font-weight:500}.hero h1{font:400 clamp(44px,6.2vw,86px)/1.35 var(--serif);letter-spacing:.05em;margin:25px 0 28px}.hero h1 em,.intro h2 em{font-style:normal;color:#d7c0a2}.hero-copy{max-width:610px;font-size:17px;letter-spacing:.06em;line-height:2}.actions{display:flex;gap:32px;align-items:center;margin-top:40px}.button{display:inline-flex;gap:30px;align-items:center;padding:16px 24px;border:1px solid transparent;letter-spacing:.08em;font-size:14px;transition:.3s}.button:hover{transform:translateY(-3px)}.primary{background:var(--cream);color:var(--deep)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:5px}.hero-note{position:absolute;z-index:2;right:6vw;bottom:65px;width:220px;border-top:1px solid rgba(255,255,255,.35);padding-top:13px}.hero-note span{font:italic 13px var(--serif);color:#cdb89c}.hero-note p{font-size:11px;letter-spacing:.12em;line-height:1.8}.scroll{position:absolute;z-index:2;bottom:55px;left:3vw;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em;display:flex;align-items:center;gap:12px}.scroll i{height:50px;width:1px;background:rgba(255,255,255,.5)}.section{padding:130px 8vw}.section-label{display:flex;align-items:center;gap:15px;color:#65746f}.section-label i{height:1px;width:50px;background:currentColor}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;margin:50px 0 100px}.intro h2,.about h2,.service h2,.testimonials h2,.journal h2,.faq h2,.closing h2{font:400 clamp(34px,4vw,57px)/1.55 var(--serif);letter-spacing:.05em;margin:0}.intro-grid>div p{margin:0 0 20px;font-size:15px}.path-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.path-card{padding:35px 34px 40px;border-right:1px solid var(--line);transition:.4s}.path-card:last-child{border:0}.path-card:hover{background:#eee9df;transform:translateY(-8px)}.path-card>span{font-size:9px;letter-spacing:.24em;color:#75827d}.path-card h3{font:500 26px var(--serif);margin:28px 0 15px}.path-card p{font-size:13px;min-height:78px}.path-card b{font-size:11px;letter-spacing:.08em}.about{padding:0;display:grid;grid-template-columns:1fr 1fr;background:#e9e5dc}.about-art{min-height:860px;background:linear-gradient(180deg,rgba(15,26,49,.35),rgba(15,26,49,.85)),url("assets/night-sky.webp") center/cover;position:relative;display:flex;align-items:flex-end;padding:70px;color:#fff;overflow:hidden}.moon{position:absolute;width:280px;height:280px;border-radius:50%;top:18%;left:calc(50% - 140px);background:radial-gradient(circle at 40% 38%,#fff 0,#e9ded1 34%,#c7b8b2 60%,#7e7180 100%);box-shadow:0 0 90px rgba(255,239,217,.35);opacity:.82}.about-art blockquote{position:relative;font:400 20px/2 var(--serif);margin:0}.about-content{padding:100px 8vw 80px}.about-content h2{margin:25px 0}.about-content p{font-size:14px}.about-content .lead{font:400 18px/2 var(--serif)}.stats{display:flex;gap:60px;border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.stats div{display:flex;flex-direction:column}.stats strong{font:400 36px var(--serif)}.stats sup{font-size:18px}.stats span{font-size:10px;letter-spacing:.1em}.service{background:var(--deep);color:#eef0ed}.service-head{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end}.service-head .section-label{grid-column:1/-1}.section-label.light{color:#aeb8b5}.service-head>p{font-size:14px;color:#bac1c1}.topics{display:flex;align-items:center;gap:40px;margin:70px 0 35px;border-top:1px solid rgba(255,255,255,.15);padding-top:30px}.topics>span{font-size:10px;letter-spacing:.2em;color:#9da9a8}.topics ul{list-style:none;display:flex;gap:12px;padding:0;margin:0;flex-wrap:wrap}.topics li{border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:7px 18px;font-size:11px}.process{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.process article{padding:45px 35px;border-right:1px solid rgba(255,255,255,.18)}.process article:last-child{border:0}.process span{font:italic 18px var(--serif);color:#c4a978}.process h3{font:400 23px var(--serif);margin:35px 0 15px}.process p{font-size:12px;color:#b8c0c1}.service-action{display:flex;justify-content:space-between;align-items:center;margin-top:45px}.service-action p{font-size:12px}.warm{background:#c8ad81;color:#10192c}.testimonials{text-align:center;background:#f2efe8}.testimonials .section-label{justify-content:center}.testimonials h2{margin:25px 0 65px}.quote-stage{display:flex;align-items:center;justify-content:center;gap:5vw}.quote-stage button{border:0;background:transparent;font-size:25px;color:#7d8985;cursor:pointer}.quotes{width:min(780px,70vw);min-height:210px}.quotes blockquote{display:none;margin:0}.quotes blockquote.active{display:block;animation:fade .6s}.quotes p{font:400 clamp(21px,2.4vw,31px)/1.9 var(--serif)}.quotes cite{font-style:normal;font-size:11px;letter-spacing:.15em}.dots{display:flex;gap:9px;justify-content:center}.dots button{width:27px;height:2px;border:0;background:#bbb;cursor:pointer}.dots button.active{background:var(--ink)}.journal-head{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end}.journal-head h2{margin-top:25px}.journal-head>p{font-size:14px}.articles{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article{padding:37px;background:#ece8df;min-height:350px;display:flex;flex-direction:column;transition:.4s}.article:nth-child(2){background:#dfe4df}.article:nth-child(3){background:#e5dedb}.article:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(23,35,41,.1)}.article>span{font-size:10px;letter-spacing:.16em}.article h3{font:500 24px/1.65 var(--serif);margin:45px 0 10px}.article p{font-size:12px}.article button{margin-top:auto;align-self:flex-start;border:0;border-bottom:1px solid;background:transparent;padding:0 0 5px;cursor:pointer;font-size:11px}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;background:#e8e5dc}.faq-head h2{margin-top:25px}.faq-head>p{font-size:13px}.accordion details{border-top:1px solid rgba(23,35,41,.25);padding:23px 0}.accordion details:last-child{border-bottom:1px solid rgba(23,35,41,.25)}summary{cursor:pointer;list-style:none;font:400 16px var(--serif);display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font:300 24px var(--sans);transition:.3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{font-size:13px;padding-right:50px;color:#53605f}.closing{min-height:680px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(10,18,35,.72),rgba(10,18,35,.92)),url("assets/night-sky.webp") center/cover;padding:90px 20px}.closing h2{margin:20px 0}.closing p:not(.eyebrow){font-size:13px}.closing .button{margin-top:24px}footer{padding:55px 7vw;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px;background:#0a1324;color:#c7cdca}footer p{font-size:10px;letter-spacing:.1em}.footer-brand{color:#fff}.article-modal{border:0;padding:0;width:min(720px,calc(100% - 32px));max-height:85vh;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0008}.article-modal::backdrop{background:rgba(7,13,28,.75);backdrop-filter:blur(6px)}.modal-close{position:absolute;right:22px;top:15px;background:0;border:0;font-size:28px;cursor:pointer}.modal-body{padding:70px 9%;overflow:auto}.modal-body .tag{font-size:10px;letter-spacing:.2em;color:#75827d}.modal-body h2{font:500 clamp(28px,4vw,42px)/1.55 var(--serif);margin:18px 0}.modal-body .subtitle{font:400 17px/1.8 var(--serif);border-bottom:1px solid var(--line);padding-bottom:25px}.modal-body p{font-size:14px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.site-header{height:72px;padding:0 22px}.nav{position:fixed;inset:72px 0 auto;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 25px 25px;transform:translateY(-130%);transition:.35s;box-shadow:0 10px 30px #0002}.nav.open{transform:none}.nav a{padding:15px;border-bottom:1px solid var(--line)}.menu-toggle{display:block;width:38px;height:38px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:7px}.hero{padding:100px 7vw 80px}.hero-note,.scroll{display:none}.intro-grid,.about,.service-head,.journal-head,.faq{grid-template-columns:1fr}.path-cards,.process,.articles{grid-template-columns:1fr}.path-card,.process article{border-right:0;border-bottom:1px solid var(--line)}.path-card p{min-height:0}.about-art{min-height:600px}.about-content{padding:80px 8vw}.service-head>p{max-width:570px}.service-action{align-items:flex-start;gap:20px}.articles{gap:14px}.article{min-height:280px}.faq{gap:55px}footer{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-brand{justify-content:center}}
@media(max-width:580px){.section{padding:90px 24px}.brand b{font-size:14px}.hero{min-height:700px}.hero h1{font-size:42px}.hero-copy{font-size:14px}.actions{align-items:flex-start;flex-direction:column;gap:22px}.intro-grid{margin:35px 0 65px;gap:35px}.intro h2,.about h2,.service h2,.testimonials h2,.journal h2,.faq h2,.closing h2{font-size:32px}.about-art{min-height:500px;padding:36px 25px}.moon{width:210px;height:210px;left:calc(50% - 105px)}.about-art blockquote{font-size:15px}.about-content{padding:75px 24px}.stats{gap:30px}.stats strong{font-size:29px}.topics{align-items:flex-start;flex-direction:column;gap:15px}.topics ul{gap:8px}.service-action{flex-direction:column}.quote-stage{gap:12px}.quotes{width:72vw;min-height:260px}.quotes p{font-size:19px}.journal-head{gap:30px}.faq{padding:90px 24px}.accordion details p{padding:0}.closing{min-height:600px}.modal-body{padding:65px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.article>a{margin-top:auto;align-self:flex-start;border-bottom:1px solid;padding-bottom:5px;font-size:11px}
.category-filters{display:flex;gap:10px;flex-wrap:wrap;margin:45px 0 25px}.category-filters button{border:1px solid rgba(23,35,41,.22);border-radius:99px;background:transparent;color:var(--ink);padding:8px 18px;font-size:11px;letter-spacing:.06em;cursor:pointer;transition:.25s}.category-filters button:hover,.category-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.article[hidden]{display:none}
@media(max-width:580px){.category-filters{margin:35px 0 20px;gap:8px}.category-filters button{padding:7px 13px}}
/* Mobile readability: larger type, airier lines, and comfortable touch targets. */
@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:16px;line-height:1.9}
  .nav{font-size:16px;line-height:1.5}
  .nav a{min-height:48px;display:flex;align-items:center}
  .eyebrow,.section-label{font-size:12px;letter-spacing:.2em}
  .hero-copy{font-size:16px;line-height:1.9;letter-spacing:.025em}
  .button{min-height:50px;padding:14px 20px;font-size:15px;justify-content:space-between}
  .text-link{font-size:15px}
  .intro-grid>div p,.about-content p,.journal-head>p,.faq-head>p{font-size:16px;line-height:2}
  .about-content .lead{font-size:19px;line-height:2}
  .path-card p,.process p,.service-head>p,.service-action p{font-size:15px;line-height:1.9}
  .path-card b,.article>a{font-size:14px}
  .topics>span,.topics li{font-size:13px}
  .topics li{padding:9px 16px}
  .quotes cite{font-size:13px}
  .article>span{font-size:12px}
  .article h3{font-size:25px;line-height:1.6}
  .article p{font-size:15px;line-height:1.9}
  summary{font-size:17px;line-height:1.75;min-height:48px;align-items:center}
  .accordion details p{font-size:16px;line-height:2}
  .closing p:not(.eyebrow){font-size:16px;line-height:1.9}
  footer p{font-size:12px;line-height:1.8}
  .category-filters button{min-height:44px;padding:9px 15px;font-size:13px}
}
@media(max-width:380px){
  .hero h1{font-size:36px;line-height:1.45}
  .intro h2,.about h2,.service h2,.testimonials h2,.journal h2,.faq h2,.closing h2{font-size:29px;line-height:1.55}
  .brand small{letter-spacing:.12em}
}
