:root{
  --font-heading:"Bricolage Grotesque",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans KR",sans-serif;
  --font-body:"IBM Plex Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans KR",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --ink:#11182a;
  --body:#46505f;
  --muted:#596371;
  --primary:#2946a3;
  --primary-hover:#203985;
  --accent:#006c93;
  --success:#28785c;
  --white:#ffffff;
  --surface:#fafafc;
  --sand:#f5f2ed;
  --sand-ink:#302b27;
  --slate:#f2f5f8;
  --slate-ink:#24313b;
  --rose:#f7f1f4;
  --rose-ink:#352934;
  --sage:#f2f6f1;
  --sage-ink:#253229;
  --night:#070b24;
  --night-card:#111731;
  --line:#e1e3e8;
  --line-dark:rgba(218,224,240,.17);
  --input-line:#b8bec8;
  --shadow:0 16px 38px rgba(17,24,42,.09);
  --shadow-soft:0 8px 22px rgba(17,24,42,.07);
  --radius-sm:.5rem;
  --radius-md:.75rem;
  --radius-lg:1.25rem;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-7:7.5rem;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-md:1.125rem;
  --text-lg:1.5rem;
  --text-sub:1.25rem;
  --text-xl:2rem;
  --text-display:clamp(3rem,6vw,4.25rem);
  --leading-tight:1.15;
  --leading-body:1.65;
  --container-narrow:46rem;
  --container-standard:75rem;
  --container-wide:86rem;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --header-height:4.5rem;
  --hero-pad:clamp(4.5rem,8vw,7rem);
  --hero-pad-crumb:2.5rem;
  --section-pad:clamp(5rem,9vw,7.5rem)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--body);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink);font-family:var(--font-heading);font-weight:600;line-height:var(--leading-tight);overflow-wrap:anywhere}
h1{font-size:var(--text-display);letter-spacing:-.055em}
h2{font-size:clamp(2.25rem,4.5vw,3.25rem);letter-spacing:-.045em}
h3{font-size:var(--text-sub);letter-spacing:-.02em}
h4{font-size:var(--text-lg)}
h5{font-size:var(--text-md)}
h6{font-size:var(--text-base)}
p{margin:0;font-size:var(--text-base);line-height:var(--leading-body)}
li{font-size:var(--text-base);line-height:var(--leading-body)}
small{font-size:var(--text-xs);line-height:1.5}
figcaption{font-size:var(--text-sm);line-height:1.55}
blockquote{margin:0;font-size:var(--text-md);line-height:1.55}
code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}
pre{margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7}
th,td{font-size:var(--text-sm);line-height:1.5}
dt{font-size:var(--text-sm);font-weight:650;line-height:1.5}
dd{margin:0;font-size:var(--text-sm);line-height:1.6}
label{font-size:var(--text-sm);font-weight:600;line-height:1.4}
::selection{background:#dce5f8;color:var(--ink)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent);outline-offset:3px}
.u-container,.u-container-wide,.u-container-narrow{width:min(100% - 2 * var(--gutter),var(--container-standard));margin-inline:auto}
.u-container-wide{max-width:var(--container-wide)}
.u-container-narrow{max-width:var(--container-narrow)}
.u-grid{display:grid;gap:var(--space-3);min-width:0}
.u-grid>*{min-width:0}
.u-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.u-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.u-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.u-stack{display:flex;flex-direction:column;align-items:flex-start}
.u-stack-xs{gap:var(--space-1)}
.u-stack-sm{gap:var(--space-2)}
.u-stack-md{gap:var(--space-3)}
.u-stack-lg{gap:var(--space-4)}
.u-flow>*+*{margin-top:var(--space-2)}
.u-flow-lg>*+*{margin-top:var(--space-3)}
.u-section{padding-block:var(--section-pad)}
.u-section-surface{background:var(--surface);color:var(--body)}
.u-section-sand{background:var(--sand);color:var(--sand-ink)}
.u-section-slate{background:var(--slate);color:var(--slate-ink)}
.u-section-rose{background:var(--rose);color:var(--rose-ink)}
.u-section-sage{background:var(--sage);color:var(--sage-ink)}
.u-section-night{background:#070b24;color:#c8cede}
.u-section-night h1,.u-section-night h2,.u-section-night h3,.u-section-night h4{color:#ffffff}
.u-section-night p,.u-section-night li{color:#aeb7cd}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-muted{color:var(--muted)}
.u-center{text-align:center;align-items:center}
.u-center .c-kicker{margin-inline:auto}
.u-center .c-actions{justify-content:center}
.u-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}
[hidden]{display:none!important}
@media(max-width:64rem){
  .u-grid-3,.u-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
  .u-grid-2,.u-grid-3,.u-grid-4{grid-template-columns:1fr}
  :root{--section-pad:4.5rem;--hero-pad:4rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
