:root{
  --ink-900:#06120E;
  --ink-800:#0B1F18;
  --ink-700:#123027;
  --white:#F3F7F2;
  --grey:#9BAAA3;
  --line:#43554E;
  --orange:#FF6A1A;
  --orange-soft:#FF9A5C;
  --yellow:#FFD23F;
  --red:#FF3B30;
  --paper:#E6DFCE;

  --font-display:"Archivo Narrow","Barlow Condensed","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-head:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;

  --rail-w:76px;
  --rail-w-open:288px;
  --topbar-h:64px;
  --gutter:clamp(16px,3.2vw,34px);
  --maxw:1480px;
  --dur:170ms;
  --ease:cubic-bezier(.22,.72,.18,1);
  --rule:1px solid var(--line);
  --z-rail:60;
  --z-drawer:70;
  --z-progress:90;
  --z-skip:200;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ol,ul,figure,blockquote,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
::selection{background:var(--orange);color:#08110D}
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--orange);outline-offset:3px}

html.nav-open{overflow:hidden}

body{
  min-height:100vh;
  background:var(--ink-900);
  color:var(--white);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.16;letter-spacing:-.01em;color:var(--white)}
h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,9vw,7.5rem);line-height:.92;letter-spacing:-.03em}
h2{font-size:clamp(1.75rem,3.4vw,3rem);letter-spacing:-.02em;line-height:1.06}
h3{font-size:1.25rem}
h4{font-size:1rem}
p{color:var(--grey)}
strong,b{color:var(--white);font-weight:700}
small{font-size:.78rem}
hr{border:0}

#main-content{display:block;scroll-margin-top:calc(var(--topbar-h) + 12px)}

.wrap{width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto}
.section{padding-block:clamp(40px,6vw,88px)}
.stack{display:flex;flex-direction:column;gap:16px}
.rule{height:1px;background:var(--line);border:0;margin:0}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,48px)}
@media (min-width:900px){.split{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}}

.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--orange)}
.meta-mono{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.lead{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.8;color:var(--grey)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.72rem 1.15rem;border:1px solid var(--line);border-radius:0;
  background:transparent;color:var(--white);
  font-family:var(--font-head);font-size:.9rem;font-weight:600;letter-spacing:.02em;line-height:1;
  cursor:pointer;text-align:center;white-space:nowrap;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.btn:hover{background:rgba(255,106,26,.12);border-color:var(--orange);color:var(--white)}
.btn--primary{background:var(--orange);border-color:var(--orange);color:#08110D}
.btn--primary:hover{background:var(--orange-soft);border-color:var(--orange-soft);color:#08110D}
.btn--ghost{color:var(--grey)}
.btn--ghost:hover{color:var(--white)}
.btn--block{width:100%}

.breadcrumb{padding-top:18px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem}
.breadcrumb__item{display:flex;align-items:center;gap:.6rem}
.breadcrumb__item + .breadcrumb__item::before{content:"/";color:var(--line)}
.breadcrumb__link{color:var(--grey);transition:color var(--dur)}
.breadcrumb__link:hover{color:var(--orange-soft)}
.breadcrumb__item[aria-current="page"]{color:var(--white)}

.card{position:relative;display:block;background:var(--ink-800);border:var(--rule);padding:clamp(18px,2.4vw,26px);transition:background var(--dur) var(--ease)}
.card::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform var(--dur) var(--ease)}
.card:hover{background:var(--ink-700)}
.card:hover::before{transform:scaleY(1)}
.card__title{font-family:var(--font-head);font-weight:700;font-size:1.08rem;letter-spacing:-.01em;color:var(--white)}
.card__meta{margin-top:6px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.card__body{margin-top:10px;font-size:.94rem;color:var(--grey)}

.panel{background:var(--ink-700);border:var(--rule);padding:clamp(18px,2.4vw,28px)}

.chip{display:inline-flex;align-items:center;gap:6px;padding:.36rem .72rem;border:1px solid var(--line);background:transparent;color:var(--grey);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:color var(--dur),border-color var(--dur),background var(--dur)}
.chip:hover{color:var(--white);border-color:var(--orange-soft)}
.chip--active,.chip[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#08110D}

.badge{display:inline-flex;align-items:center;gap:6px;padding:.2rem .5rem;border:1px solid var(--line);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.badge--orange{color:var(--orange);border-color:var(--orange)}
.badge--yellow{color:var(--yellow);border-color:var(--yellow)}
.badge--red{color:var(--red);border-color:var(--red)}

.table-wrap{overflow-x:auto;border:var(--rule);background:var(--ink-800)}
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);text-align:left;padding:10px 12px;background:var(--ink-700);border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:12px;border-bottom:1px solid rgba(67,85,78,.45);color:var(--white);vertical-align:middle}
.table tbody tr{transition:background var(--dur)}
.table tbody tr:hover{background:rgba(255,106,26,.06)}
.table .is-mono{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em}

.media-frame{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;border:var(--rule);border-radius:0;background:linear-gradient(135deg,var(--ink-700),var(--ink-900))}
.media-frame > img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.04)}
.media-frame--wide{aspect-ratio:21/9}
.media-frame--tall{aspect-ratio:4/5}
.media-frame--square{aspect-ratio:1/1}
.media-frame__caption{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;background:linear-gradient(to top,rgba(6,18,14,.94),rgba(6,18,14,0));font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.media-frame--paper{background:var(--paper);background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 1px,transparent 1px 9px)}
.paper{background:var(--paper);color:#1A1F1A;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.045) 0 1px,transparent 1px 6px)}
.paper p,.paper h2,.paper h3{color:#1A1F1A}

.reveal-on [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal-on [data-reveal][data-revealed]{opacity:1;transform:none}

.skip-link{
  position:fixed;left:8px;top:8px;z-index:var(--z-skip);
  transform:translateY(-260%);
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1rem;border-radius:0;
  background:var(--orange);color:#08110D;
  font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:transform var(--dur) var(--ease);
}
.skip-link:focus,.skip-link:focus-visible{transform:none}

.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-progress);pointer-events:none}
.progress__bar{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--orange);box-shadow:0 0 10px rgba(255,106,26,.6)}

.site-header{
  position:fixed;top:0;left:0;bottom:0;z-index:var(--z-rail);
  width:var(--rail-w);
  background:var(--ink-800);
  border-right:var(--rule);
  overflow:hidden;
  transition:width var(--dur) var(--ease);
}
.site-header:hover,.site-header:focus-within{width:var(--rail-w-open)}

.rail{display:flex;flex-direction:column;height:100%;min-height:0;padding:14px 0 18px;gap:4px}

.rail__brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:0 17px 14px;margin-bottom:6px;border-bottom:1px solid rgba(67,85,78,.5)}
.rail__mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:var(--orange);color:#08110D;font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:-.04em;line-height:1}
.rail__brandtext{display:flex;flex-direction:column;min-width:0;white-space:nowrap;opacity:0;transform:translateX(-6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.rail__name{font-family:var(--font-head);font-weight:700;font-size:1rem;letter-spacing:.02em;color:var(--white);line-height:1.3}
.rail__note{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}

.nav-toggle{display:none;align-items:center;gap:10px;padding:.55rem .72rem;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--white);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color var(--dur),border-color var(--dur)}
.nav-toggle:hover{border-color:var(--orange);color:var(--orange-soft)}
.nav-toggle__bars{display:flex;flex-direction:column;gap:4px;width:16px}
.nav-toggle__bars span{display:block;height:1px;background:currentColor;transition:transform var(--dur) var(--ease)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:first-child{transform:translateY(2.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:last-child{transform:translateY(-2.5px) rotate(-45deg)}
.nav-toggle__text{line-height:1}

.site-nav{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:8px}

.rail__status{display:flex;align-items:center;gap:8px;padding:0 18px 12px;margin-bottom:6px;border-bottom:1px solid rgba(67,85,78,.5);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--grey);white-space:nowrap;opacity:0;transition:opacity var(--dur) var(--ease)}
.rail__dot{flex:0 0 6px;width:6px;height:6px;background:var(--orange);box-shadow:0 0 0 3px rgba(255,106,26,.16)}
.rail__season{overflow:hidden;text-overflow:clip}

.site-nav__list{display:flex;flex-direction:column;gap:2px}
.site-nav__link{position:relative;display:flex;align-items:center;gap:12px;padding:.62rem 17px;border-left:2px solid transparent;color:var(--grey);font-size:.9rem;line-height:1.4;overflow:hidden;transition:color var(--dur),background var(--dur),border-color var(--dur)}
.site-nav__link:hover{color:var(--white);background:rgba(255,106,26,.08)}
.site-nav__num{flex:0 0 20px;font-family:var(--font-mono);font-size:.64rem;font-weight:700;letter-spacing:.06em;color:var(--line);transition:color var(--dur)}
.site-nav__label{flex:0 0 auto;white-space:nowrap;opacity:0;transform:translateX(-6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.site-nav__link:hover .site-nav__num{color:var(--orange-soft)}
.site-nav__link[aria-current="page"]{color:var(--white);background:rgba(255,106,26,.1);border-left-color:var(--orange)}
.site-nav__link[aria-current="page"] .site-nav__num{color:var(--orange)}

.rail__actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:16px 17px 0;opacity:0;transition:opacity var(--dur) var(--ease)}
.rail__meta{padding:12px 17px 0;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--line);white-space:nowrap;opacity:0;transition:opacity var(--dur) var(--ease)}

.site-header:hover .rail__brandtext,
.site-header:focus-within .rail__brandtext,
.site-header:hover .rail__status,
.site-header:focus-within .rail__status,
.site-header:hover .site-nav__label,
.site-header:focus-within .site-nav__label,
.site-header:hover .rail__actions,
.site-header:focus-within .rail__actions,
.site-header:hover .rail__meta,
.site-header:focus-within .rail__meta{opacity:1;transform:none}

@media (min-width:1080px){
  body{padding-left:var(--rail-w);transition:padding-left var(--dur) var(--ease)}
}
@media (min-width:1080px){
  @supports selector(:has(*)){
    body:has(.site-header:hover),
    body:has(.site-header:focus-within){padding-left:var(--rail-w-open)}
  }
}

.site-footer{position:relative;margin-top:clamp(48px,7vw,96px);background:var(--ink-800);border-top:var(--rule);overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,rgba(67,85,78,.4) 1px,transparent 1px),linear-gradient(0deg,rgba(67,85,78,.4) 1px,transparent 1px);background-size:72px 72px;opacity:.14}
.footer__inner{position:relative;z-index:1;width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto;padding:clamp(32px,4.5vw,64px) 0 24px}

.footer__top{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px)}
@media (min-width:900px){.footer__top{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr)}}

.footer__brandblock{display:block;min-width:0}
.footer__brand{display:inline-flex;align-items:center;gap:12px}
.footer__mark{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;background:var(--orange);color:#08110D;font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.04em;line-height:1}
.footer__wordmark{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em;line-height:1;color:var(--white)}
.footer__summary{margin-top:14px;max-width:36ch;font-size:.95rem;line-height:1.7;color:var(--grey)}
.footer__stamp{margin-top:12px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}

.footer__contactblock{display:grid;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(67,85,78,.6)}
.footer__contactitem{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:.9rem;color:var(--grey)}
.footer__contactlabel{min-width:44px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--line)}
.footer__contactvalue{color:var(--white);word-break:break-all}
.footer__copy{display:inline-flex;align-items:center;padding:.24rem .55rem;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--grey);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color var(--dur),border-color var(--dur),background var(--dur)}
.footer__copy:hover{color:var(--orange);border-color:var(--orange)}
.footer__copy[data-copied="true"]{background:var(--yellow);border-color:var(--yellow);color:#08110D}

.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:clamp(20px,3vw,40px)}
.footer__col{display:block;min-width:0}
.footer__coltitle{margin-bottom:12px;font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--line)}
.footer__list{display:grid;gap:8px}
.footer__link{position:relative;display:inline-block;padding-left:0;color:var(--grey);font-size:.92rem;line-height:1.5;transition:color var(--dur),padding-left var(--dur)}
.footer__link::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}
.footer__link:hover{color:var(--white);padding-left:14px}
.footer__link:hover::before{transform:scaleX(1)}
.footer__status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--grey)}
.footer__status::before{content:"";flex:0 0 6px;width:6px;height:6px;background:var(--orange)}
.footer__status--warn::before{background:var(--yellow)}

.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:clamp(28px,4vw,48px);padding-top:16px;border-top:var(--rule);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--grey)}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;color:var(--grey)}
.footer__legal .footer__link{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em}
.footer__icp{color:var(--grey)}
.footer__note{flex-basis:100%;color:var(--line)}

@media (max-width:1079px){
  body{padding-left:0;padding-top:var(--topbar-h)}
  .site-header{width:100%;height:var(--topbar-h);bottom:auto;border-right:0;border-bottom:var(--rule);overflow:visible;background:var(--ink-800);transition:none}
  .site-header:hover,.site-header:focus-within{width:100%}
  .rail{flex-direction:row;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 12px 0 10px;gap:10px}
  .rail__brand{padding:0;margin:0;border-bottom:0;gap:10px}
  .rail__mark{flex-basis:36px;width:36px;height:36px;font-size:.92rem}
  .rail__brandtext{opacity:1;transform:none}
  .rail__name{font-size:.95rem}
  .rail__note{font-size:.54rem;letter-spacing:.1em}
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:fixed;top:var(--topbar-h);left:0;z-index:var(--z-drawer);
    width:min(88vw,340px);
    height:calc(100vh - var(--topbar-h));
    height:calc(100dvh - var(--topbar-h));
    display:flex;flex-direction:column;flex:0 0 auto;
    padding:16px 0 24px;overflow-y:auto;
    background:var(--ink-800);border-top:var(--rule);border-right:var(--rule);
    box-shadow:24px 0 48px rgba(0,0,0,.45);
    transform:translateX(-102%);visibility:hidden;
    transition:transform var(--dur) var(--ease),visibility 0s linear var(--dur);
  }
  .site-nav[data-open]{transform:none;visibility:visible;transition:transform var(--dur) var(--ease),visibility 0s}
  .rail__status{opacity:1;padding:0 18px 12px}
  .site-nav__label{opacity:1;transform:none}
  .site-nav__link{padding:.78rem 18px;font-size:.95rem}
  .rail__actions{opacity:1;margin-top:auto;padding:18px 18px 0;gap:10px}
  .rail__meta{opacity:1;padding:12px 18px 0}
  .footer__bottom{align-items:flex-start}
}

@media (max-width:520px){
  .rail__note{display:none}
  .nav-toggle{padding:.5rem .6rem;font-size:.6rem;letter-spacing:.12em}
  .footer__contactitem{font-size:.86rem}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;transition-delay:0s !important}
  .reveal-on [data-reveal]{opacity:1;transform:none}
  .site-nav{transition:none !important}
}
