:root{color-scheme:dark;--night:#080f1c;--paper:#f2efdf;--muted:#a4acb5;--gold:#d7c49a;--line:rgba(219,227,236,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0;background:var(--night);color:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:2px}
::selection{background:#b6a47b;color:#080f1c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--paper);color:var(--night);padding:12px 20px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:absolute;z-index:3;top:0;left:0;width:100%;padding:38px 5.4%;display:flex;align-items:center;justify-content:space-between}
.wordmark{font-size:21px;font-weight:600;letter-spacing:.16em;display:flex;align-items:center;gap:8px}
.brand-star{font-size:14px;color:var(--gold);font-weight:400;margin-top:-9px}
nav{display:flex;gap:38px;align-items:center;font-size:13px;letter-spacing:.03em}
nav a{padding:8px 0;opacity:.84;transition:opacity .2s}
nav a:hover{opacity:1}
.nav-arrow{display:inline-block;margin-left:9px;color:var(--gold)}
.hero{position:relative;min-height:720px;height:100svh;max-height:1200px;overflow:hidden;isolation:isolate;background:#080f1c}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,10,22,.25),rgba(4,10,22,.04) 60%,rgba(8,15,28,.08) 82%,#080f1c 100%)}
.hero-copy{position:absolute;left:5%;right:5%;top:28%;text-align:center}
h1{margin:0;font-family:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:400;letter-spacing:-.035em;text-shadow:0 2px 28px rgba(2,8,19,.28)}
.dream-line{display:block;font-size:clamp(68px,7.5vw,116px);line-height:1.12;white-space:nowrap}
.journey-line{display:block;font-size:clamp(40px,4.5vw,68px);line-height:1.25;margin-top:16px;letter-spacing:-.025em;color:#e2e3df}
.meteor{display:inline-block;position:relative;width:.76em;height:.82em;vertical-align:-.04em;margin-left:.015em;animation:meteor-arrive 2.1s cubic-bezier(.16,1,.3,1) both}
.meteor-star{display:block;position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 14px rgba(245,221,159,.3))}
.meteor-tail{position:absolute;left:52%;top:45%;width:2.15em;height:1px;transform:rotate(-34deg);transform-origin:left center;background:linear-gradient(90deg,rgba(255,235,181,.9),rgba(219,207,171,.45) 25%,transparent);box-shadow:0 0 8px rgba(248,221,157,.18);animation:tail-glimmer 7s ease-in-out 2.1s infinite}
.slogan-dot{font-size:.7em;margin-left:.02em;color:#e5d6b3}
.twinkle{position:absolute;width:2px;height:2px;background:#ecf1ed;border-radius:50%;box-shadow:0 0 7px #e9ebff;animation:twinkle 5s ease-in-out infinite;opacity:.12}
.scroll-cue{position:absolute;bottom:27px;left:calc(50% - 22px);width:44px;height:44px;display:grid;place-items:center}
.scroll-cue span{width:1px;height:26px;background:linear-gradient(180deg,rgba(218,224,231,.06),rgba(218,224,231,.55));position:relative}
.scroll-cue span:after{content:"";position:absolute;bottom:0;left:-3px;width:6px;height:6px;border-right:1px solid #b0b7bf;border-bottom:1px solid #b0b7bf;transform:rotate(45deg)}
.details{max-width:1200px;padding:0 64px;margin:0 auto}
.section-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.about{padding:116px 0 96px}
.section-label{display:flex;align-items:center;gap:14px;align-self:start;padding-top:9px}
.section-label h2{font-size:13px;letter-spacing:.09em;font-weight:400;margin:0}
.tiny-star{font-size:14px;color:var(--gold)}
.about-heading{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.5;letter-spacing:.06em;margin:0 0 31px}
.mobile-break{display:none}
.about-body{font-size:15px;line-height:2.05;color:#c4c9ce;margin:0 0 17px;max-width:640px;letter-spacing:.025em}
.about-body.secondary{color:#9fa9b6}
.about-english{font-size:13px;line-height:1.95;letter-spacing:.005em;color:#8f9ba9;max-width:610px;margin:28px 0 0}
.contact{padding:69px 0 100px;border-top:1px solid var(--line)}
.email-link{display:inline-flex;align-items:center;gap:28px;max-width:100%;font-family:"Iowan Old Style","Baskerville",Georgia,serif;font-size:clamp(26px,3vw,43px);line-height:1.3;letter-spacing:-.025em;transition:color .25s}
.email-link svg{width:27px;height:27px;stroke:var(--gold);stroke-width:1.2;fill:none;flex:none;transition:transform .25s}
.email-link:hover{color:var(--gold)}
.email-link:hover svg{transform:translate(3px,-3px)}
.contact-meta{display:flex;justify-content:space-between;gap:24px;margin-top:23px;max-width:510px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.english-name{margin-left:10px;color:#8a96a6;font-size:11px}
.site-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 5.4%;padding:31px 0 33px;border-top:1px solid var(--line);font-size:10px;line-height:1.9;letter-spacing:.035em;color:#8e99a7}
.site-footer p{margin:0}
.footer-company p:first-child{font-size:11px;margin-bottom:4px;color:#b1bac5;letter-spacing:.1em}
.footer-end{text-align:right}
.footer-end a{display:inline-block;color:#c3cad2;font-size:11px;margin-bottom:4px}
.footer-end a span{margin-left:8px}
@keyframes meteor-arrive{0%{opacity:0;transform:translate(200px,-135px) scale(.55)}30%{opacity:1}100%{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes tail-glimmer{0%,100%{opacity:.45}50%{opacity:.9}}
@keyframes twinkle{0%,100%{opacity:.12;transform:scale(.7)}50%{opacity:.75;transform:scale(1.2)}}
@media(min-width:1700px){.hero-copy{top:30%}}
@media(max-width:850px){.details{padding:0 42px}.section-layout{grid-template-columns:150px minmax(0,1fr);gap:30px}.about{padding:92px 0 76px}.contact{padding:58px 0 76px}.hero{min-height:680px}.hero-copy{top:30%}.dream-line{font-size:clamp(56px,9vw,76px)}.journey-line{font-size:clamp(32px,5.6vw,46px)}.meteor-tail{width:1.6em}.email-link{gap:16px}}
@media(max-width:600px){html{scroll-padding-top:24px}.site-header{padding:26px 25px}.wordmark{font-size:17px;gap:4px}.brand-star{font-size:11px}nav{gap:23px;font-size:12px}.nav-arrow{display:none}.hero{min-height:620px;max-height:1000px}.hero-art{object-position:50% 62%}.hero-copy{top:29%;left:20px;right:20px}.dream-line{font-size:clamp(44px,10.7vw,64px)}.journey-line{font-size:clamp(27px,6.65vw,39px);margin-top:15px}.meteor-tail{width:1.4em}.details{padding:0 27px}.section-layout{grid-template-columns:1fr;gap:29px}.about{padding:68px 0 60px}.section-label{padding-top:0;gap:10px}.section-label h2{font-size:12px}.tiny-star{font-size:12px}.about-heading{font-size:29px;margin-bottom:23px;letter-spacing:.035em}.about-body{font-size:14px;line-height:2}.about-english{font-size:12px;line-height:1.9;margin-top:23px}.contact{padding:39px 0 65px}.email-link{font-size:clamp(27px,7.2vw,38px);gap:17px}.email-link svg{width:23px;height:23px}.contact-meta{font-size:11px;margin-top:20px;gap:14px}.english-name{margin-left:7px}.site-footer{margin:0 27px;padding:26px 0 29px;display:block;font-size:9px}.footer-company p:first-child{font-size:10px}.footer-end{text-align:left;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer-end a{font-size:10px;margin:0}.scroll-cue{bottom:19px}}
@media(max-width:400px){.mobile-break{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.meteor,.meteor-tail,.twinkle{animation:none}.twinkle{opacity:.35}a,.email-link svg{transition:none}}
