:root{
--primary:#0A7F4C;--primary-hover:#086A3F;--accent:#D2F55A;--accent-hover:#E2FB86;--dark:#061A17;--light:#F5F6F1;--white:#FFFFFF;--deep:#0F2A2C;--mist:#E9EEF5;--paper:#F3EFE6;
--ink:#131A1F;--ink-deep:#F5F6F1;--ink-light:#131A1F;--ink-mist:#131A1F;--ink-paper:#1A1714;--mute-dark:rgba(245,246,241,.72);--mute-light:#5B6569;--mute-mist:#4E5967;--mute-paper:#6A6157;
--line:rgba(19,26,31,.12);--line-dark:rgba(245,246,241,.18);--control-line:#7B8689;--focus:#0A7F4C;--focus-dark:#D2F55A;--glass:rgba(245,246,241,.07);--glass-card:rgba(245,246,241,.08);
--f-head:"Sora",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
--f-body:"Albert Sans",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
--f-mono:"SF Mono","JetBrains Mono",Menlo,Consolas,-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Microsoft YaHei",monospace;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.3125rem;--text-xl:1.75rem;--text-section:3rem;--text-display:clamp(2rem,5vw,4.25rem);--text-reading:1.5rem;
--lh-tight:1.15;--lh-heading:1.2;--lh-ui:1.3;--lh-body:1.6;--lh-code:1.7;--tracking-head:-.01em;--tracking-label:.12em;
--space-0:0;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--space-8:8rem;--space-field:.5rem;--space-close:8rem;--hero-top:7rem;--hero-crumb-top:3rem;--crumb-after:1.5rem;
--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:48px;--sp-6:64px;--sp-7:96px;--sp-8:128px;
--gutter:1.5rem;--width-narrow:48rem;--width-standard:75rem;--width-wide:87.5rem;--radius-sm:4px;--radius-in:12px;--radius-card:20px;--radius-pill:999px;--r-btn:4px;--r-card:20px;--r-in:12px;
--shadow:none;--shadow-menu:0 12px 28px rgba(6,26,23,.16);--duration:200ms;--ease:cubic-bezier(.2,.7,.2,1);--header-z:100;--header-height:5rem;--icon-size:1.25rem;--icon-stroke:1.8;--stage-height:28rem;
--hero-gradient:linear-gradient(180deg,rgba(6,26,23,0) 48%,#061A17 92%),linear-gradient(118deg,#061A17 0%,#0A7F4C 34%,#073B2C 58%,#0A7F4C 78%,#061A17 100%);
--photo-overlay:linear-gradient(90deg,rgba(6,26,23,.88) 0%,rgba(6,26,23,.45) 45%,rgba(6,26,23,0) 75%);
--close-gradient:radial-gradient(70% 90% at 50% 120%,rgba(10,127,76,.55),rgba(10,127,76,0) 70%);
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--space-3))}
body{margin:0;font-family:var(--f-body);font-size:var(--text-base);line-height:var(--lh-body);background:var(--dark);color:var(--ink)}
main{overflow-x:clip}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--f-head);font-weight:400;letter-spacing:var(--tracking-head);overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--lh-tight);font-weight:300}
h2{font-size:var(--text-section);line-height:var(--lh-heading);font-weight:300}
h3{font-size:var(--text-lg);line-height:var(--lh-heading)}
h4{font-size:var(--text-md);line-height:var(--lh-ui)}
h5{font-size:var(--text-base);line-height:var(--lh-ui)}
h6{font-size:var(--text-sm);line-height:var(--lh-ui)}
p,li,dt,dd,label{font-size:var(--text-base);line-height:var(--lh-body)}
small{font-size:var(--text-xs);line-height:var(--lh-ui)}
figcaption{font-size:var(--text-sm);line-height:var(--lh-body)}
blockquote{font-size:var(--text-xl);line-height:var(--lh-heading)}
code,kbd,samp{font-family:var(--f-mono);font-size:var(--text-sm);line-height:var(--lh-code);font-variant-numeric:tabular-nums}
th,td{font-size:var(--text-sm);line-height:var(--lh-body)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;letter-spacing:inherit}
button{cursor:pointer}
button,input,select,textarea{font-size:var(--text-base);line-height:var(--lh-ui)}
button{border:0}
img,svg{vertical-align:middle}
img{max-width:100%}
svg{flex-shrink:0}
ul,ol{padding:0;list-style:none}
input,textarea,select{min-width:0;max-width:100%}
textarea{resize:vertical}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{font-size:var(--text-base);line-height:var(--lh-body)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
::selection{background:var(--accent);color:var(--dark)}
.container,.wrap{width:min(var(--width-standard),calc(100% - var(--gutter)*2));margin-inline:auto}
.container-narrow{width:min(var(--width-narrow),calc(100% - var(--gutter)*2));margin-inline:auto}
.container-wide{width:min(var(--width-wide),calc(100% - var(--gutter)*2));margin-inline:auto}
.grid{display:grid;gap:var(--space-3)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--space-3);align-items:stretch}
.grid>*,.grid-2>*,.grid-3>*,.grid-auto>*,.flex>*{min-width:0}
.flex{display:flex;gap:var(--space-2);align-items:center}
.stack{display:flex;flex-direction:column;gap:var(--space-3)}
.mono,.data{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.text-xs{font-size:var(--text-xs);line-height:var(--lh-ui)}
.text-sm{font-size:var(--text-sm);line-height:var(--lh-body)}
.text-base{font-size:var(--text-base);line-height:var(--lh-body)}
.text-md{font-size:var(--text-md);line-height:var(--lh-body)}
.text-center{text-align:center}
.text-start{text-align:start}
.mt-1{margin-top:var(--space-1)}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}
.mt-6{margin-top:var(--space-6)}
.gap-1{gap:var(--space-1)}
.gap-2{gap:var(--space-2)}
.gap-3{gap:var(--space-3)}
.gap-4{gap:var(--space-4)}
.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:var(--space-2);left:var(--gutter);z-index:200;background:var(--white);color:var(--dark);padding:var(--space-2) var(--space-3);transform:translateY(-200%)}
.skip-link:focus{transform:none}
:where(.s-dark,.s-deep) a:focus-visible{outline-color:var(--focus-dark)}
:where(.s-dark){background:#061A17;color:#F5F6F1;--line:rgba(245,246,241,.18)}
:where(.s-deep){background:#0F2A2C;color:#F5F6F1;--line:rgba(245,246,241,.18)}
:where(.s-light){background:#F5F6F1;color:#131A1F;--line:rgba(19,26,31,.12)}
:where(.s-mist){background:#E9EEF5;color:#131A1F;--line:rgba(19,26,31,.12)}
:where(.s-paper){background:#F3EFE6;color:#1A1714;--line:rgba(26,23,20,.12)}
:where(.s-dark,.s-deep) .mute{color:#B8C5C1}
:where(.s-light) .mute{color:#5B6569}
:where(.s-mist) .mute{color:#4E5967}
:where(.s-paper) .mute{color:#6A6157}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(var(--space-3));transition:opacity 650ms var(--ease),transform 650ms var(--ease)}
.reveal.reveal-left.is-pending{transform:translateX(calc(var(--space-3)*-1))}
.reveal.reveal-right.is-pending{transform:translateX(var(--space-3))}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:64rem){
:root{--text-section:2.5rem;--space-8:6rem;--space-close:6rem;--hero-top:5rem}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
:root{--gutter:1rem;--text-section:2rem;--space-7:4rem;--space-8:4rem;--space-close:4rem;--hero-top:4rem}
.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.reveal.is-pending,.reveal.reveal-left.is-pending,.reveal.reveal-right.is-pending{opacity:1;transform:none}
}
