

:root{
  color-scheme: light dark;

  --bg:#F7F5F0;
  --panel:#FFFFFF;
  --surface-soft:#EFECE4;
  --surface-muted:#E2DDD2;
  --band:#EFECE4;

  --paper:#F7F5F0; --sheet:#FFFFFF; --stage:#091121;

  --txt:#14213D;
  --dim:#46536B;
  --faint:#5B6880;

  --accent:#1A2E66;
  --accent-strong:#0F1D45;
  --accent-mid:#6E86C2;
  --accent-soft:#E4ECFB;
  --accent-fill:#1A2E66;
  --on-accent:#FFFFFF;

  --support:#2F6FA3;

  --line:#D5CFC3;
  --line-ui:#7A869C;
  --line-strong:#1D2A4A;

  --status-live:#1A2E66;
  --status-progress-fg:#7A4E00;
  --status-progress-bg:#FBF1DC;
  --status-self-fg:#46536B;
  --status-self-bg:#EEF3FC;

  --logo-mono:#46536B;
  --focus:#1A2E66;

  --viz-1:#1A2E66;
  --viz-2:#2F6FA3;
  --viz-3:#2A8C7C;
  --viz-4:#8A5BB0;

  --font-sans:'Pretendard Variable','Pretendard',system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  --fs-display:clamp(2.5rem, 1.6rem + 3.7vw, 4rem);
  --fs-h1:clamp(1.875rem, 1.49rem + 1.58vw, 2.75rem);
  --fs-h2:clamp(1.625rem, 1.31rem + 1.3vw, 2.375rem);
  --fs-h3:clamp(1.125rem, 1.04rem + 0.34vw, 1.3125rem);
  --fs-body:1rem;
  --fs-body-lg:1.0625rem;
  --fs-small:0.875rem;

  --lh-display:1.1; --lh-h1:1.2; --lh-h2:1.3; --lh-h3:1.35; --lh-body:1.65; --lh-small:1.45;
  --fw-body:450; --fw-medium:550; --fw-bold:700;

  --fs-stat:var(--fs-display); --fs-lead:var(--fs-body); --fs-label:var(--fs-small); --fs-caption:var(--fs-small);
  --fw-heavy:var(--fw-bold);
  --lh-tight:var(--lh-display); --lh-head:var(--lh-h2); --lh-ui:var(--lh-small);

  --ls-display:-0.03em; --ls-head:-0.02em; --ls-body:-0.005em; --ls-label:0.01em;

  --fw-head:800; --ls-h2:-0.025em;
  --ls-wordmark:-0.015em; --ls-wordmark-ko:0.185em;
  --num:tabular-nums lining-nums;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px; --sp-10:128px;
  --section-y:clamp(64px, 40px + 6vw, 128px);
  --stack-head:clamp(24px, 16px + 2vw, 48px);

  --container:1200px;
  --container-wide:1360px;
  --gutter:16px;
  --col-gap:16px;
  --cols:4;
  --measure:38em;

  --radius:0;
  --edge-strong:6px;
  --edge-regular:2px;
  --hair:1px;
  --shadow:none;

  --ratio-shot:16 / 10;
  --ratio-mobile:9 / 19.5;
  --ratio-cover:3 / 4;

  --dur-fast:120ms; --dur:200ms; --dur-slow:320ms;
  --ease:cubic-bezier(.2,.0,.0,1);

  --z-header:20; --z-popover:30; --z-skip:40;
}

@media (min-width:768px){
  :root{ --gutter:24px; --col-gap:24px; --cols:8; }
}
@media (min-width:1024px){
  :root{ --gutter:40px; --col-gap:24px; --cols:12; --fs-body:var(--fs-body-lg); }
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B1222; --panel:#121B2F; --surface-soft:#17223A; --surface-muted:#1F2C48; --band:#17223A;
    --paper:#0B1222; --sheet:#121B2F;
    --txt:#E8EDF6;
    --dim:#A7B2C7;
    --faint:#8A96AD;
    --accent:#9DB4F0;
    --accent-strong:#C5D3F8;
    --accent-mid:#4C67B0;
    --accent-soft:#22345F;
    --accent-fill:#2A4396;
    --on-accent:#FFFFFF;
    --support:#7DB2DE;
    --line:#2B3953; --line-ui:#6A7895 ; --line-strong:#C9D3E6;
    --status-progress-fg:#F2C774; --status-progress-bg:#2A2110;
    --status-self-fg:#A7B2C7; --status-self-bg:#17223A;
    --logo-mono:#C9D3E6; --focus:#9DB4F0;
    --viz-1:#C9D6F7; --viz-2:#4F8FD6; --viz-3:#4FB8A2; --viz-4:#B48DE0;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1222; --panel:#121B2F; --surface-soft:#17223A; --surface-muted:#1F2C48; --band:#17223A;
  --paper:#0B1222; --sheet:#121B2F;
  --txt:#E8EDF6; --dim:#A7B2C7; --faint:#8A96AD;
  --accent:#9DB4F0; --accent-strong:#C5D3F8; --accent-mid:#4C67B0; --accent-soft:#22345F;
  --accent-fill:#2A4396; --on-accent:#FFFFFF; --support:#7DB2DE;
  --line:#2B3953; --line-ui:#6A7895; --line-strong:#C9D3E6;
  --status-progress-fg:#F2C774; --status-progress-bg:#2A2110;
  --status-self-fg:#A7B2C7; --status-self-bg:#17223A;
  --logo-mono:#C9D3E6; --focus:#9DB4F0;
  --viz-1:#C9D6F7; --viz-2:#4F8FD6; --viz-3:#4FB8A2; --viz-4:#B48DE0;
}

html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--txt);
  font-family:var(--font-sans); font-size:var(--fs-body); font-weight:var(--fw-body);
  line-height:var(--lh-body); letter-spacing:var(--ls-body);
  word-break:keep-all; overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
.num, [data-num]{ font-variant-numeric:var(--num); font-weight:var(--fw-bold); }
:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}



@font-face{
  font-family:'Pretendard Variable';
  src:url('/assets/fonts/pretendard.c2694925.woff2') format('woff2-variations'), url('/assets/fonts/pretendard.c2694925.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
}

:root{
  --header-h:calc(var(--sp-7) + var(--sp-2));
  --bar-h:0.72em;
  --tap:calc(var(--sp-7) - var(--sp-1));
}
@media (min-width:1024px){ :root{ --header-h:var(--sp-8); } }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-padding-top:calc(var(--header-h) + var(--sp-4)); }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{ margin:0; }

:where(ul[class],ol[class]){ list-style:none; padding:0; }
h1,h2,h3,h4{ font-weight:var(--fw-bold); letter-spacing:var(--ls-head); text-wrap:balance; text-align:left; }
h1{ font-size:var(--fs-h1); line-height:var(--lh-h1); }
h2{ font-size:var(--fs-h2); line-height:var(--lh-h2); }
h3,h4{ font-size:var(--fs-h3); line-height:var(--lh-h3); }
p,li,dd{ text-wrap:pretty; }
img,video,svg{ display:block; max-width:100%; }
img,video{ height:auto; }
button,input,select{ font:inherit; color:inherit; letter-spacing:inherit; }
button{ cursor:pointer; }
table{ border-collapse:collapse; }
a{ color:var(--support); text-underline-offset:0.2em; text-decoration-thickness:var(--hair); }
a:hover{ text-decoration-thickness:var(--edge-regular); }
::selection{ background:var(--accent-soft); color:var(--txt); }

.t-display{ font-size:var(--fs-display); line-height:var(--lh-display); font-weight:var(--fw-bold); letter-spacing:var(--ls-display); }
.t-h1{ font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); }
.t-h2{ font-size:var(--fs-h2); line-height:var(--lh-h2); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); }
.t-h3{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); }
.t-body{ font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-body); letter-spacing:var(--ls-body); }
.t-small{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-body); letter-spacing:var(--ls-label); }

.num .unit, .unit{ font-size:max(0.5em, var(--fs-small)); font-weight:var(--fw-medium); margin-left:0.08em; letter-spacing:0; }

:is(h1,h2,h3,h4) .unit, :is(h1,h2,h3,h4) .num .unit{ font-size:1em; font-weight:inherit; margin-left:0; }
.num-inline{ font-variant-numeric:var(--num); }

.l-container, .l-wide{ width:100%; margin-inline:auto; padding-inline:var(--gutter); }
.l-container{ max-width:calc(var(--container) + 2 * var(--gutter)); }
.l-wide{ max-width:calc(var(--container-wide) + 2 * var(--gutter)); }
.l-grid{ display:grid; grid-template-columns:repeat(var(--cols), minmax(0, 1fr)); column-gap:var(--col-gap); row-gap:var(--sp-5); }
.s{ padding-block:var(--section-y); }
.s--soft{ background:var(--surface-soft); }
.s--invert{ background:var(--accent-fill); color:var(--on-accent); }
.s--invert :focus-visible{ outline-color:var(--on-accent); }
.s--invert a{ color:var(--on-accent); }

:is(#top, #testimonials, #work, #events, #influencer){ background:var(--paper); }
:is(#clients, #services, #press, #education, #books-oss){ background:var(--sheet); --panel:var(--paper); --surface-soft:var(--paper); }
#method{
  background:var(--accent-fill); color:var(--on-accent);
  --txt:var(--on-accent); --accent:var(--on-accent); --support:var(--on-accent);
  --dim:color-mix(in srgb, var(--on-accent) 80%, var(--accent-fill));
  --faint:color-mix(in srgb, var(--on-accent) 68%, var(--accent-fill));
  --panel:color-mix(in srgb, var(--on-accent) 7%, var(--accent-fill));
  --line:color-mix(in srgb, var(--on-accent) 24%, var(--accent-fill));
  --line-strong:color-mix(in srgb, var(--on-accent) 60%, var(--accent-fill));
}
#method :focus-visible{ outline-color:var(--on-accent); }

.c-section-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:var(--sp-3) var(--sp-6); margin-bottom:var(--stack-head); }

.c-section-head__text{ max-width:48rem; min-width:0; }
.c-section-head__title{ font-size:var(--fs-h2); line-height:var(--lh-h2); word-break:keep-all; font-weight:var(--fw-head); letter-spacing:var(--ls-h2); }

:is(#clients, #testimonials, #services, #method, #work, #events, #education, #influencer, #books-oss, #press, #contact) h2[id$="-title"]{
  font-weight:var(--fw-head); letter-spacing:var(--ls-h2);
}
.c-section-head__lead{ margin-top:var(--sp-4); max-width:var(--measure); font-size:var(--fs-body); font-weight:var(--fw-body); line-height:var(--lh-body); color:var(--dim); text-wrap:pretty; }
.c-section-head__more{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); white-space:nowrap; min-height:var(--tap); display:inline-flex; align-items:center; }
.s--invert .c-section-head__lead{ color:var(--on-accent); }

.c-chip{
  display:inline-flex; align-items:center; height:calc(var(--sp-5) - var(--hair) * 2); padding-inline:var(--sp-2);
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1; letter-spacing:var(--ls-label); border-radius:var(--radius); white-space:nowrap; vertical-align:middle;
}
.c-chip--progress{ color:var(--status-progress-fg); background:var(--status-progress-bg); }
.c-chip--self{ color:var(--status-self-fg); background:var(--status-self-bg); }

.c-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  min-height:var(--tap); padding:var(--sp-2) var(--sp-5); border:var(--hair) solid transparent; border-radius:var(--radius);
  font-size:var(--fs-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); line-height:var(--lh-small);
  text-decoration:none; white-space:nowrap; transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.c-btn--primary{ background:var(--accent-fill); color:var(--on-accent); }
.c-btn--primary:hover{ background:var(--accent-strong); color:var(--on-accent); }
:root[data-theme="dark"] .c-btn--primary:hover{ background:var(--accent-mid); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .c-btn--primary:hover{ background:var(--accent-mid); } }
.c-btn--ghost{ background:transparent; color:var(--accent); border-color:var(--line-ui); }
.c-btn--ghost:hover{ background:var(--accent-soft); }
.c-btn--on-invert, .s--invert .c-btn--on-invert{ background:var(--on-accent); color:var(--accent-fill); }
.c-btn--on-invert:hover, .s--invert .c-btn--on-invert:hover{ background:var(--accent-soft); color:var(--accent-fill); }

.c-ext{ overflow-wrap:anywhere; }
.c-note{ margin-top:var(--sp-6); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
.c-note summary{ cursor:pointer; min-height:var(--tap); display:inline-flex; align-items:center; }
.c-note > :not(summary){ margin-top:var(--sp-2); max-width:var(--measure); }
.s--invert .c-note{ color:var(--on-accent); }
.c-frame{ aspect-ratio:var(--ratio-shot); outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1); background:var(--panel); overflow:hidden; }
.c-frame > img, .c-frame > video{ width:100%; height:100%; object-fit:cover; object-position:top; }

.u-sr{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.c-skip{
  position:absolute; left:var(--sp-4); top:var(--sp-2); z-index:var(--z-skip); transform:translateY(-200%);
  padding:var(--sp-2) var(--sp-4); background:var(--accent-fill); color:var(--on-accent); font-weight:var(--fw-bold); text-decoration:none;
}
.c-skip:focus{ transform:none; }

.c-header{ position:sticky; top:0; z-index:var(--z-header); background:var(--bg); }
.c-header__inner{
  display:flex; flex-wrap:wrap; align-items:center; column-gap:var(--sp-3);
  max-width:calc(var(--container-wide) + 2 * var(--gutter)); margin-inline:auto; padding-inline:var(--gutter); min-height:var(--header-h);
}
.c-header__brand{ display:inline-flex; align-items:center; min-height:var(--tap); margin-right:auto; color:var(--txt); text-decoration:none; }
.c-header__mark{ height:calc(var(--sp-4) + var(--sp-1)); width:auto; aspect-ratio:649 / 87; fill:currentColor; }
.c-header__bar{ fill:var(--accent); }
.c-header__mark-text{ font-weight:var(--fw-bold); letter-spacing:var(--ls-wordmark); border-left:var(--edge-strong) solid var(--accent); padding-left:var(--sp-2); }
.c-header__toggle{
  order:3; min-height:var(--tap); min-width:var(--tap); padding-inline:var(--sp-3); background:transparent; border:var(--hair) solid var(--line-ui); border-radius:var(--radius);
  font-size:var(--fs-small); font-weight:var(--fw-bold); color:var(--txt);
}
.c-header__toggle[aria-expanded="true"]{ border-color:var(--accent); }
.c-header__cta{ order:2; padding-inline:var(--sp-4); }
.c-header__nav{ order:4; flex-basis:100%; }
.c-header__list{ display:flex; flex-wrap:wrap; gap:0 var(--sp-5); }
.c-header__link{
  display:inline-flex; align-items:center; min-height:var(--tap); color:var(--txt); text-decoration:none;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
}
.c-header__link:hover{ text-decoration:underline; text-decoration-thickness:var(--hair); }
.c-header__link[aria-current="page"]{ color:var(--accent); text-decoration:underline; text-decoration-thickness:var(--edge-regular); }

.c-header[data-js]:not([data-open]) .c-header__nav{ display:none; }
.c-header[data-js] .c-header__list{ flex-direction:column; padding-block:var(--sp-2) var(--sp-4); }
.c-header[data-js] .c-header__link{ font-size:var(--fs-body); width:100%; border-top:var(--hair) solid var(--line); }

@media (min-width:768px){
  .c-header__toggle{ display:none; }
  .c-header__nav, .c-header[data-js]:not([data-open]) .c-header__nav{ display:block; order:1; flex-basis:auto; margin-right:var(--sp-5); }
  .c-header[data-js] .c-header__list{ flex-direction:row; padding:0; }
  .c-header[data-js] .c-header__link{ font-size:var(--fs-small); width:auto; border-top:0; }
  .c-header__cta{ order:2; }
}

.c-footer{ padding-block:var(--sp-8) var(--sp-7); background:var(--paper); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-footer__inner{ display:grid; gap:var(--sp-5); grid-template-columns:minmax(0, 1fr); }
.c-footer__name{ color:var(--txt); font-weight:var(--fw-bold); }
.c-footer__biz, .c-footer__updated{ font-size:var(--fs-small); color:var(--faint); }
.c-footer__mail a{ color:var(--support); }
.c-footer__label{ font-size:var(--fs-small); color:var(--faint); margin-bottom:var(--sp-1); }
.c-footer__channels ul{ display:flex; flex-wrap:wrap; gap:0 var(--sp-5); list-style:none; padding:0; margin:0; }
.c-footer__channels a{ display:inline-flex; align-items:center; min-height:var(--tap); color:var(--dim); }
@media (min-width:1024px){
  .c-footer__inner{ grid-template-columns:repeat(3, minmax(0, 1fr)); align-items:start; }
  .c-footer__updated{ justify-self:end; }
}

.p-404__title{ font-size:var(--fs-h1); line-height:var(--lh-h1); max-width:var(--measure); }
.p-404__links{ display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-top:var(--sp-6); }

.c-footer__copy{ margin:0; color:var(--dim); font-size:var(--fs-small); line-height:var(--lh-small, 1.45); }



.c-header__brand{ gap:0; }
.c-brand{
  display:inline-flex; align-items:baseline;
  font-size:calc(var(--sp-4) + var(--sp-1));
  line-height:1; color:var(--txt);
  font-kerning:normal; white-space:nowrap;
}
.c-brand__gn{ font-weight:800; letter-spacing:-0.02em; }
.c-brand__works{ font-weight:400; letter-spacing:0.035em; margin-left:0.04em; }



.c-edu [data-g="coach"]{ --g:var(--edu-g-coach); }
.c-edu [data-g="class"]{ --g:var(--edu-g-class); }
.c-edu [data-g="online"]{ --g:var(--edu-g-online); }
.c-edu [data-g="event"]{ --g:var(--edu-g-event); }

.c-edu{ width:100%; border-collapse:collapse; }
.c-edu [hidden]{ display:none; }

.c-edu__head{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.c-edu__head th{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label);
  color:var(--dim); text-align:left; padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;
}

.c-edu__year th{
  display:flex; align-items:baseline; gap:var(--sp-3);
  text-align:left; padding:var(--sp-7) 0 var(--sp-2);
}
.c-edu__group:first-of-type .c-edu__year th{ padding-top:0; }
.c-edu__year-num{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
.c-edu__year-count{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); font-weight:var(--fw-medium); }
.c-edu__year-count .num{ font-weight:var(--fw-bold); }

.c-edu__row{
  display:flex; flex-direction:column; gap:var(--sp-1);
  padding:var(--sp-4) 0; border-bottom:var(--hair) solid var(--line);
}
.c-edu__row > *{ padding:0; text-align:left; font-weight:var(--fw-body); }
.c-edu__date{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1) var(--sp-3); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-edu__date .num{ font-weight:var(--fw-medium); }
.c-edu__kind{ display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-edu__kind::before{ content:""; width:calc(var(--sp-2) + var(--hair) * 2); height:calc(var(--sp-2) + var(--hair) * 2); background:var(--g); flex:none; }

.c-edu__title{ font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:var(--ls-body); color:var(--txt); text-wrap:pretty; }
.c-edu__org{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1) var(--sp-2); margin-bottom:var(--sp-1);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
}
.c-edu__org-name{ font-weight:var(--fw-medium); color:var(--txt); }
.c-edu__logo{
  display:block; height:calc((var(--sp-4) + var(--sp-1)) * var(--logo-scale, 1)); aspect-ratio:var(--logo-ratio, 4);
  max-width:calc(var(--sp-9) - var(--sp-2)); background:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
.c-edu__logo--type{ display:none; }
.c-edu__via{ color:var(--faint); }
.c-edu__title-text{ font-weight:var(--fw-bold); }
.c-edu__live{
  display:inline-flex; align-items:center; gap:var(--sp-1); margin-left:var(--sp-2); vertical-align:baseline;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--status-progress-fg); white-space:nowrap;
}
.c-edu__live::before{ content:""; width:var(--sp-2); height:var(--sp-2); border-radius:50%; background:currentColor; }
.c-edu__case{
  margin-left:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
  color:var(--support); text-decoration:none; white-space:nowrap;
}
.c-edu__case::after{ content:" →"; }
.c-edu__case:hover{ color:var(--accent); text-decoration:underline; text-underline-offset:0.2em; }

.c-edu__aud{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-edu__aud:empty{ display:none; }
.c-edu__dur{ display:none; }

.c-edu__more{ margin:var(--sp-6) 0 0; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-medium); }
.c-edu__more a{ color:var(--support); text-underline-offset:0.2em; }

@media (min-width:1024px){
  .c-edu{ table-layout:fixed; }
  .c-edu__head{ position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; }
  .c-edu__head th{
    position:sticky; top:var(--header-h, 0); z-index:1; background:var(--surface-soft);
    padding-block:var(--sp-3);
  }
  .c-edu__head th:first-child{ padding-left:var(--sp-3); }
  .c-edu__head th:nth-child(1){ width:16%; }
  .c-edu__head th:nth-child(2){ width:58%; }
  .c-edu__head th:nth-child(3){ width:26%; }

  .c-edu__year th{ display:table-cell; }
  .c-edu__year-count{ margin-left:var(--sp-3); }
  .c-edu__group:first-of-type .c-edu__year th{ padding-top:var(--sp-6); }

  .c-edu__row{ display:table-row; padding:0; }
  .c-edu__row > *{
    display:table-cell; vertical-align:top; padding:var(--sp-4) var(--sp-5) var(--sp-4) 0;
    border-bottom:var(--hair) solid var(--line);
  }
  .c-edu__date{ font-size:var(--fs-body); line-height:var(--lh-body); color:var(--txt); }
  .c-edu__date .num{ display:block; }
  .c-edu__kind{ display:flex; margin-top:var(--sp-1); }
  .c-edu__aud:empty{ display:table-cell; }
  .c-edu__dur{ display:block; margin-top:var(--sp-1); color:var(--faint); }
  .c-edu [hidden]{ display:none; }
}

.c-edu-page__head{ margin-bottom:var(--sp-8); }
.c-edu-page__title{
  margin:0; max-width:var(--measure);
  font-size:var(--fs-h1); font-weight:var(--fw-bold); line-height:var(--lh-h1); letter-spacing:var(--ls-head);
  text-wrap:balance; word-break:keep-all;
}
.c-edu-page__stats{ display:flex; flex-wrap:wrap; gap:var(--sp-5) var(--sp-8); margin:var(--sp-6) 0 0; }
.c-edu-page__stats > div{ display:flex; flex-direction:column-reverse; gap:var(--sp-1); }
.c-edu-page__stats dt{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-edu-page__stats dd{ margin:0; font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:var(--ls-head); color:var(--txt); }

.c-edu-page__tl{ margin-bottom:var(--sp-8); }
.c-edu-page__count{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2) var(--sp-3); margin:0 0 var(--sp-3);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
}
.c-edu-page__count [data-filter-label]{ font-weight:var(--fw-medium); color:var(--txt); }
.c-edu-page__reset{
  min-height:var(--tap); padding:0; background:transparent; border:0; cursor:pointer;
  font:inherit; font-weight:var(--fw-medium); color:var(--support); text-decoration:underline; text-underline-offset:0.2em;
}
.c-edu-page__reset[hidden]{ display:none; }



.c-tl, .c-edu{
  --edu-g-coach:var(--accent);
  --edu-g-class:var(--support);
  --edu-g-online:var(--accent-mid);
  --edu-g-event:var(--status-progress-fg);
}
.c-tl{
  --tl-block:10px; --tl-gap:2px;
  margin:0; display:grid; gap:var(--sp-5); align-items:end;
}
.c-tl--lg{ --tl-block:14px; --tl-gap:3px; }
:root[data-theme="dark"] :is(.c-tl, .c-edu){ --edu-g-coach:var(--accent-strong); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) :is(.c-tl, .c-edu){ --edu-g-coach:var(--accent-strong); } }

.c-tl__band{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(var(--tl-n), minmax(0, 1fr)); column-gap:var(--tl-gap);
  align-items:end;
}
.c-tl__month{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }
.c-tl__stack{
  display:flex; flex-direction:column-reverse; gap:var(--tl-gap);
  min-height:calc(var(--tl-peak) * (var(--tl-block) + var(--tl-gap)));
  padding-bottom:var(--tl-gap); border-bottom:var(--hair) solid var(--line-strong);
}
.c-tl__month--future .c-tl__stack{ border-bottom-style:dashed; border-bottom-color:var(--line-ui); background:color-mix(in srgb, var(--line) 22%, transparent); }
.c-tl__tick{ display:block; height:var(--tl-block); background:var(--tl-c); }
.c-tl__tick[data-g="coach"], .c-tl__group[data-g="coach"]{ --tl-c:var(--edu-g-coach); }
.c-tl__tick[data-g="class"], .c-tl__group[data-g="class"]{ --tl-c:var(--edu-g-class); }
.c-tl__tick[data-g="online"], .c-tl__group[data-g="online"]{ --tl-c:var(--edu-g-online); }
.c-tl__tick[data-g="event"], .c-tl__group[data-g="event"]{ --tl-c:var(--edu-g-event); }
.c-tl__tick--progress{ background:transparent; box-shadow:inset 0 0 0 var(--edge-regular) var(--tl-c); }

.c-tl__label{
  display:flex; flex-direction:column; align-items:flex-start;
  font-size:var(--fs-small); line-height:var(--lh-small); font-variant-numeric:var(--num); color:var(--faint);
  white-space:nowrap;
}
.c-tl__year{ min-height:calc(var(--fs-small) * var(--lh-small)); font-weight:var(--fw-bold); color:var(--txt); }

@media (max-width:767.98px){
  .c-tl__month:nth-child(even) .c-tl__m{ visibility:hidden; }
}

.c-tl__groups{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5); }
.c-tl__group{
  display:flex; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim);
}
.c-tl__swatch{ width:var(--tl-block); height:var(--tl-block); background:var(--tl-c); flex:none; }
.c-tl__group--progress .c-tl__swatch{ background:transparent; box-shadow:inset 0 0 0 var(--edge-regular) var(--txt); }
.c-tl__count{ font-weight:var(--fw-bold); color:var(--txt); }

@media (min-width:1024px){
  .c-tl{ grid-template-columns:minmax(0, 1fr) auto; column-gap:var(--sp-7); }
  .c-tl__groups{ flex-direction:column; gap:var(--sp-2); padding-bottom:calc(var(--lh-small) * var(--fs-small) * 2 + var(--sp-2)); }
  .c-tl__count{ margin-left:auto; padding-left:var(--sp-5); }
}

.c-tl__toggle{
  display:flex; align-items:center; gap:var(--sp-2); min-height:var(--tap); margin:0 calc(var(--sp-2) * -1); padding:0 var(--sp-2); white-space:nowrap;
  font:inherit; color:inherit; text-align:left; background:transparent; border:0; border-radius:var(--radius); cursor:pointer;
}
.c-tl__toggle:hover{ background:var(--surface-soft); }
.c-tl__toggle[aria-pressed="true"]{ background:var(--accent-soft); color:var(--txt); font-weight:var(--fw-bold); }
.c-tl__tick{ transition:opacity var(--dur-fast) var(--ease); }
.c-tl[data-active] .c-tl__tick{ opacity:0.15; }
.c-tl[data-active="coach"] .c-tl__tick[data-g="coach"],
.c-tl[data-active="class"] .c-tl__tick[data-g="class"],
.c-tl[data-active="online"] .c-tl__tick[data-g="online"],
.c-tl[data-active="event"] .c-tl__tick[data-g="event"]{ opacity:1; }
@media (min-width:1024px){
  .c-tl__toggle{ width:calc(100% + var(--sp-4)); }
  .c-tl__toggle .c-tl__count{ margin-left:auto; padding-left:var(--sp-5); }
}



.c-filter{
  display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-3);
  margin-bottom:var(--sp-6);
}
.c-filter[hidden]{ display:none; }
@media (min-width:1024px){
  .c-filter{ grid-template-columns:minmax(0,1fr) auto; column-gap:var(--sp-6); align-items:end; }
}

.c-filter__axes{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }

.c-filter__group{
  display:flex; flex-wrap:wrap; align-items:center; column-gap:var(--sp-2); row-gap:0;
  margin:0; padding:0; border:0; min-width:0;
}
.c-filter__axis, .c-filter__label{
  flex:0 0 100%; margin:0; padding:0;
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small);
  letter-spacing:var(--ls-label); color:var(--dim);
}
@media (min-width:768px){
  .c-filter__group{ flex-wrap:wrap; }
  .c-filter__axis, .c-filter__label{ flex:0 0 calc(var(--sp-9) - var(--sp-2)); }
}

.c-filter__chip{
  appearance:none; background:none; border:0; margin:0;
  padding:var(--sp-1) 0; cursor:pointer;
  font:inherit; color:inherit;
}
.c-filter__chip > span{
  display:inline-flex; align-items:center;
  min-height:calc(var(--sp-6) + var(--sp-1));
  padding:0 var(--sp-3);
  border:var(--hair) solid var(--line-ui); border-radius:var(--radius);
  background:var(--panel); color:var(--txt);
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small);
  letter-spacing:var(--ls-label); white-space:nowrap;
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.c-filter__chip:hover > span{ background:var(--surface-muted); }
.c-filter__chip[aria-pressed="true"] > span{
  background:var(--accent-fill); border-color:var(--accent-fill); color:var(--on-accent);
}
.c-filter__chip:focus-visible{ outline:none; }
.c-filter__chip:focus-visible > span{ outline:var(--edge-regular) solid var(--focus); outline-offset:var(--edge-regular); }

.c-filter__count{
  margin:0; justify-self:end;
  font-size:var(--fs-small); font-weight:var(--fw-medium); color:var(--dim); line-height:var(--lh-small);
  white-space:nowrap;
}
.c-filter__count .num{ font-size:var(--fs-h3); line-height:var(--lh-h3); color:var(--txt); }
.c-filter__count .unit{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--txt); }

.c-filter__chip:not(:has(> span)){
  display:inline-flex; align-items:center; margin-block:var(--sp-1);
  min-height:calc(var(--sp-7) - var(--sp-1)); padding:0 var(--sp-3);
  border:var(--hair) solid var(--line-ui); border-radius:var(--radius);
  background:var(--panel); color:var(--txt);
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small); white-space:nowrap;
}
.c-filter__chip:not(:has(> span)):hover{ background:var(--surface-muted); }
.c-filter__chip:not(:has(> span))[aria-pressed="true"]{
  background:var(--accent-fill); border-color:var(--accent-fill); color:var(--on-accent);
}
.c-filter__chip:not(:has(> span)):focus-visible{ outline:var(--edge-regular) solid var(--focus); outline-offset:var(--edge-regular); }

.c-filter-empty{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-4);
  padding:var(--sp-6) var(--sp-4); background:var(--panel);
}
.c-filter-empty[hidden]{ display:none; }
.c-filter-empty p{ margin:0; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-medium); }
.c-filter-empty button{
  appearance:none; cursor:pointer; font:inherit;
  min-height:calc(var(--sp-7) - var(--sp-1)); padding:0 var(--sp-4);
  border:var(--hair) solid var(--line-ui); border-radius:var(--radius);
  background:var(--panel); color:var(--txt);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
}
.c-filter-empty button:hover{ background:var(--surface-muted); }



.c-org-page__head{ max-width:var(--measure); }
.c-org-page__title{
  margin:0;
  font-size:var(--fs-h1); font-weight:var(--fw-bold); line-height:var(--lh-h1); letter-spacing:var(--ls-head);
  text-wrap:balance; word-break:keep-all;
}
.c-org-page__lead{ margin:var(--sp-4) 0 0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--dim); }

.c-org-wall{ margin-top:var(--sp-8); display:grid; gap:var(--sp-5); }
.c-org-wall__tier{ display:grid; gap:var(--sp-3); }
.c-org-wall__label{
  margin:0; display:flex; align-items:baseline; gap:var(--sp-2);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); color:var(--dim);
}
.c-org-wall__label a{ color:inherit; text-decoration:none; }
.c-org-wall__label a:hover{ color:var(--accent); text-decoration:underline; text-underline-offset:0.2em; }
.c-org-wall__label .num{ color:var(--faint); }
.c-org-wall__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--sp-2) var(--sp-4);
}
.c-org-wall__cell{
  display:flex; align-items:center; justify-content:center; height:var(--sp-7); padding:var(--sp-1);
  color:var(--txt); text-decoration:none;
  transition:background-color var(--dur-fast) var(--ease);
}
.c-org-wall__cell:hover{ background:var(--accent-soft); }
.c-org-wall__logo{
  display:block; width:100%; max-width:calc(var(--sp-10) - var(--sp-5)); height:calc(var(--sp-6) * var(--logo-scale, 1)); max-height:100%;
  background:var(--logo-mono);
  -webkit-mask:var(--logo) center / contain no-repeat; mask:var(--logo) center / contain no-repeat;
}
.c-org-wall__logo--type{
  width:auto; height:auto; max-width:none; background:none; -webkit-mask:none; mask:none;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--dim); text-align:center; word-break:keep-all; text-wrap:balance;
}
@media (min-width:768px){
  .c-org-wall__grid{ grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .c-org-wall__cell{ height:var(--sp-8); padding:var(--sp-2); }
}
@media (min-width:1024px){
  .c-org-wall__tier{ grid-template-columns:repeat(12, minmax(0, 1fr)); column-gap:var(--col-gap); align-items:start; }
  .c-org-wall__label{ grid-column:1 / span 2; min-height:var(--sp-8); align-items:center; }
  .c-org-wall__grid{ grid-column:3 / span 10; }
}

.c-org-tier{ margin-top:var(--sp-9); scroll-margin-top:var(--sp-9); }
.c-org-tier__title{
  display:flex; align-items:baseline; gap:var(--sp-3); margin:0;
  font-size:var(--fs-h2); font-weight:var(--fw-bold); line-height:var(--lh-h2); letter-spacing:var(--ls-head);
}
.c-org-tier__count{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); }
.c-org-tier__count .num{ font-weight:var(--fw-bold); }
.c-org-tier__list, .c-org-tier__lines{ list-style:none; margin:var(--sp-5) 0 0; padding:0; }
.c-org-tier__list + .c-org-tier__lines{ margin-top:0; }

.c-org__title, .c-org-line__title{ color:var(--txt); text-decoration:none; text-wrap:pretty; }
a.c-org__title:hover, a.c-org-line__title:hover{ color:var(--accent); text-decoration:underline; text-underline-offset:0.2em; }
.c-org__tag{
  margin-left:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold);
  color:var(--support); white-space:nowrap;
}
.c-org__live{
  display:inline-flex; align-items:center; gap:var(--sp-1); margin-left:var(--sp-2);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--status-progress-fg); white-space:nowrap;
}
.c-org__live::before{ content:""; width:var(--sp-2); height:var(--sp-2); border-radius:50%; background:currentColor; }

.c-org{
  padding:var(--sp-6) 0; border-top:var(--hair) solid var(--line-ui);
  display:grid; gap:var(--sp-4); scroll-margin-top:var(--sp-9);
}
.c-org:target, .c-org-line:target{ background:var(--accent-soft); }
.c-org__id{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-1); }
.c-org__logo-box{ margin-bottom:var(--sp-2); max-width:100%; }
.c-org__logo, .c-org-line__logo{
  display:block; height:calc(var(--sp-5) * var(--logo-scale, 1)); aspect-ratio:var(--logo-ratio, 4);
  max-width:100%; background:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
.c-org__logo--type, .c-org-line__logo--type{ display:none; }
.c-org__name{ margin:0; font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head); }
.c-org__count{ margin:0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-org__foot{ margin:0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }

.c-org__items{ list-style:none; margin:0; padding:0; }
.c-org__item{
  display:grid; grid-template-columns:auto 1fr; column-gap:var(--sp-3); row-gap:var(--sp-1);
  align-items:baseline; padding:var(--sp-3) 0; border-top:var(--hair) solid var(--line);
}
.c-org__item:first-child{ border-top:0; padding-top:0; }
.c-org__date{ grid-row:span 2; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-body); color:var(--dim); }
.c-org__what{ font-weight:var(--fw-medium); }
.c-org__type{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }

.c-org-line{
  display:grid; grid-template-columns:minmax(0, 1fr) auto; column-gap:var(--sp-4); row-gap:var(--sp-1); align-items:baseline;
  padding:var(--sp-4) 0; border-top:var(--hair) solid var(--line); scroll-margin-top:var(--sp-9);
}
.c-org-line__logo-box{ display:none; }
.c-org-line__name{ margin:0; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-bold); }
.c-org-line__foot{ display:block; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-body); color:var(--faint); }
.c-org-line__what{ grid-column:1; margin:0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-org-line__date{ margin-right:var(--sp-3); font-weight:var(--fw-body); }
.c-org-line__title{ color:var(--dim); }
.c-org-line__count{ grid-column:2; grid-row:1; margin:0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); white-space:nowrap; }

@media (min-width:1024px){
  .c-org{ grid-template-columns:repeat(12, minmax(0, 1fr)); column-gap:var(--col-gap); }
  .c-org__id{ grid-column:1 / span 4; }
  .c-org__items{ grid-column:5 / span 8; }
  .c-org__item{ grid-template-columns:7ch 1fr auto; }
  .c-org__date{ grid-row:auto; }
  .c-org__type{ text-align:right; white-space:nowrap; }

  .c-org-line{ grid-template-columns:repeat(12, minmax(0, 1fr)); column-gap:var(--col-gap); align-items:center; padding:var(--sp-3) 0; }
  .c-org-line__logo-box{ display:block; grid-column:1 / span 2; }
  .c-org-line__name{ grid-column:3 / span 2; }
  .c-org-line__what{ grid-column:5 / span 7; font-size:var(--fs-body); line-height:var(--lh-body); }
  .c-org-line__count{ grid-column:12; grid-row:auto; text-align:right; }
  .c-org-line__logo{ height:calc(var(--sp-5) * var(--logo-scale, 1)); }
}


.c-player{ margin:0; position:relative; }
.c-player__frame{ overflow:hidden; background:var(--panel); }
.c-player__frame > video,
.c-player__frame > img{
  display:block; width:100%; height:100%; object-fit:cover; object-position:top center;
}
.c-player__bar{ position:absolute; right:var(--sp-2); bottom:var(--sp-2); }
.c-player__toggle{
  appearance:none; min-height:var(--tap); min-width:var(--tap); padding:0 var(--sp-3);
  border:var(--hair) solid var(--line-ui); border-radius:var(--radius); background:var(--panel); color:var(--txt);
  font:inherit; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); white-space:nowrap;
  cursor:pointer; transition:background-color var(--dur) var(--ease);
}
.c-player__toggle:hover{ background:var(--surface-muted); }
.c-player__toggle[hidden]{ display:none; }



@keyframes c-reveal-rise{
  from{ opacity:0; transform:translateY(var(--sp-5)) scale(.96); }
  to{ opacity:1; transform:none; }
}

@media (prefers-reduced-motion:no-preference){
  .c-reveal-rise{
    animation:c-reveal-rise calc(var(--dur) * 2.5) var(--ease) both;
    transform-origin:50% 100%;
  }
  .c-reveal-rise:nth-child(2){ animation-delay:calc(var(--dur) * .5); }
  .c-reveal-rise:nth-child(3){ animation-delay:var(--dur); }
  .c-reveal-rise:nth-child(4){ animation-delay:calc(var(--dur) * 1.5); }

  .c-reveal{ opacity:0; transform:translateY(var(--sp-4)); }
  .c-reveal.c-reveal--in{
    opacity:1; transform:none;
    transition:opacity calc(var(--dur) * 2.25) var(--ease), transform calc(var(--dur) * 2.25) var(--ease);
  }
}



.c-work-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr;
  column-gap:var(--col-gap); row-gap:var(--sp-6);
  transition:opacity var(--dur) var(--ease);
}
.c-work-grid.is-updating{ opacity:0; }
@media (min-width:768px){ .c-work-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:var(--sp-7); } }
@media (min-width:1024px){ .c-work-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }

.c-work-card{ display:flex; min-width:0; }
.c-work-card[hidden]{ display:none; }

.c-work-card__link{
  display:flex; flex-direction:column; flex:1; min-width:0;
  background:var(--panel); color:var(--txt); text-decoration:none;
}

.c-work-card__media{
  display:grid; aspect-ratio:var(--ratio-shot); overflow:hidden;
  background:var(--surface-soft);
}
.c-work-card__media > *{ grid-area:1 / 1; min-width:0; min-height:0; }
.c-work-card__media img{
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}

.c-work-card__figure{
  align-self:end; justify-self:start; padding:var(--sp-4);
  display:flex; flex-direction:column; gap:var(--sp-1);
}
.c-work-card__figure .num{
  font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:var(--ls-display); color:var(--txt);
}
.c-work-card__figure-label{ font-size:var(--fs-small); font-weight:var(--fw-medium); color:var(--dim); line-height:var(--lh-small); }

.c-work-card__body{
  display:flex; flex-direction:column; gap:var(--sp-2); flex:1;
  padding:var(--sp-4) var(--sp-4) var(--sp-5);
}
.c-work-card__meta{
  margin:0; font-size:var(--fs-small); font-weight:var(--fw-medium);
  line-height:var(--lh-small); letter-spacing:var(--ls-label); color:var(--dim);
}
.c-work-card__title{
  margin:0; font-size:var(--fs-h3); font-weight:var(--fw-bold);
  line-height:var(--lh-h3); letter-spacing:var(--ls-head);
  text-wrap:balance; text-decoration-thickness:var(--hair); text-underline-offset:.18em;
}
.c-work-card__link:hover .c-work-card__title,
.c-work-card__link:focus-visible .c-work-card__title{ text-decoration-line:underline; }

.c-work-card__foot{
  margin-top:auto; padding-top:var(--sp-2);
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:var(--sp-2);
}
.c-work-card__metric{
  margin:0; display:flex; align-items:baseline; gap:var(--sp-2);
  font-size:var(--fs-small); color:var(--dim); line-height:var(--lh-small);
}
.c-work-card__metric .num{ font-size:var(--fs-h3); line-height:var(--lh-h3); letter-spacing:var(--ls-head); color:var(--txt); }
.c-work-card__metric .unit{ color:var(--txt); }
.c-work-card__foot .c-chip{ align-self:center; }

.c-work-card__made{ margin:0; color:var(--dim); text-wrap:pretty; }

.c-work-head{ align-items:flex-end; }
.c-work-head__title{ margin:0; max-width:24em; }
.c-work-head__note{
  margin:0; max-width:22em; font-size:var(--fs-small); line-height:var(--lh-small);
  color:var(--dim); word-break:keep-all; text-wrap:pretty;
}

.c-work-grid--bento{ row-gap:var(--sp-7); }
.c-work-tile{ display:flex; min-width:0; }
.c-work-tile__link{ display:flex; flex-direction:column; gap:var(--sp-4); flex:1; min-width:0; color:var(--txt); text-decoration:none; }

.c-work-tile__media{
  position:relative; aspect-ratio:var(--ratio-shot); overflow:hidden; background:var(--surface-soft);
}
.c-work-tile__media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
.c-work-tile__media img, .c-work-tile__media video{
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
  transition:transform var(--dur-slow) var(--ease);
}
.c-work-tile__media--focus img{ transform:scale(var(--fs)); transform-origin:var(--fx) var(--fy); }

.c-work-tile__body{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }
.c-work-tile__meta{
  margin:0; display:flex; align-items:center; gap:var(--sp-3); min-height:var(--sp-5);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim);
}
.c-work-tile__logo{
  display:block; flex:none; height:var(--sp-5); width:calc(var(--sp-5) * var(--logo-ratio) * var(--logo-scale, 1)); max-width:60%;
  background:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
.c-work-tile__logo--type{ width:auto; height:auto; background:none; color:var(--txt); font-weight:var(--fw-bold); }
.c-work-tile__org{ color:var(--txt); font-weight:var(--fw-bold); }
.c-work-tile__title{
  margin:0; font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold);
  letter-spacing:var(--ls-head); word-break:keep-all; text-wrap:balance;
  text-decoration-thickness:var(--hair); text-underline-offset:.18em;
}
.c-work-tile__link:hover .c-work-tile__title, .c-work-tile__link:focus-visible .c-work-tile__title{ text-decoration-line:underline; }
.c-work-tile__made{ margin:0; max-width:var(--measure); color:var(--dim); word-break:keep-all; text-wrap:pretty; }
.c-work-tile--lead .c-work-tile__title{ font-size:var(--fs-h2); line-height:var(--lh-h2); }

@media (min-width:768px){
  .c-work-grid--bento{ column-gap:var(--col-gap); }
  .c-work-grid--bento > .c-work-tile--lead, .c-work-grid--bento > :nth-child(2){ grid-column:1 / -1; }
  .c-work-grid--bento > :nth-child(2) .c-work-tile__media{ aspect-ratio:21 / 9; }
}
@media (min-width:1024px){
  .c-work-grid--bento{ grid-template-columns:repeat(4, minmax(0, 1fr)); row-gap:var(--sp-7); }
  .c-work-grid--bento > .c-work-tile--lead{ grid-column:1 / span 2; grid-row:1 / span 2; }
  .c-work-grid--bento > :nth-child(2){ grid-column:3 / span 2; }
}
@media (prefers-reduced-motion:reduce){ .c-work-tile__media img{ transition:none; } }

.c-work-self{ margin-top:var(--sp-9); }
.c-work-self__head{
  margin:0 0 var(--sp-5); font-size:var(--fs-h3); line-height:var(--lh-h3);
  font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt);
}
.c-work-self__list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr; gap:var(--sp-6) var(--col-gap);
}
.c-work-self__item{ display:flex; min-width:0; }
.c-work-self__link{
  display:flex; flex-direction:column; flex:1; min-width:0; gap:var(--sp-1);
  color:var(--txt); text-decoration:none;
}
.c-work-self__thumb{
  position:relative; display:block; margin-bottom:var(--sp-3);
  aspect-ratio:var(--ratio-shot); overflow:hidden; background:var(--surface-soft);
}
.c-work-self__thumb::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
.c-work-self__thumb img{
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
  transition:transform var(--dur-slow) var(--ease);
}
.c-work-self__link:hover .c-work-self__thumb img{ transform:scale(1.02); }
.c-work-self__label{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
  letter-spacing:var(--ls-label); color:var(--dim);
}
.c-work-self__title{
  font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-head);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  text-underline-offset:.18em; text-decoration-thickness:var(--hair);
}
.c-work-self__link:hover .c-work-self__title, .c-work-self__link:focus-visible .c-work-self__title{ text-decoration-line:underline; }
@media (min-width:768px){ .c-work-self__list{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (min-width:1024px){ .c-work-self__list{ grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion:reduce){ .c-work-self__thumb img{ transition:none; } }

.c-work-tile__media video{ object-position:center; }
.c-work-tile--lead .c-work-tile__media video{ transform:scale(1.22); }



.c-work-detail__crumb{
  padding-block:var(--sp-5) var(--sp-3);
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small); color:var(--dim);
}
.c-work-detail__crumb a{ color:var(--dim); text-underline-offset:.18em; }
.c-work-detail__crumb a:hover{ color:var(--txt); }

.c-work-detail__head{
  display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-6) var(--col-gap);
  padding-block:var(--sp-5) var(--sp-7);
}
@media (min-width:1024px){
  .c-work-detail__head{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); column-gap:var(--sp-9); align-items:start; }
  .c-work-detail__head > .c-work-detail__stats{ grid-column:1 / -1; }
}
.c-work-detail__title{
  margin:0; max-width:20em;
  font-size:var(--fs-h1); font-weight:var(--fw-bold); line-height:var(--lh-h1);
  letter-spacing:var(--ls-head); text-wrap:balance;
}
.c-work-detail__meta{
  margin:var(--sp-4) 0 0; display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1) var(--sp-2);
  font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small);
  letter-spacing:var(--ls-label); color:var(--dim);
}
.c-work-detail__meta .num{ font-weight:inherit; }
.c-work-detail__sep{ color:var(--faint); }
.c-work-detail__footnote{ margin:var(--sp-2) 0 0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }

.c-work-detail__body{
  display:flex; flex-direction:column; gap:var(--sp-9);
  padding-block:0 var(--section-y);
}
.c-work-detail__body > *{ min-width:0; }
.c-work-detail__f1 .c-player{ margin:0; }
.c-work-detail__actions{ margin:0; display:flex; flex-wrap:wrap; gap:var(--sp-3); }

.c-work-detail__f1 + .c-work-detail__actions{ margin-top:calc(var(--sp-4) - var(--sp-9)); }

.c-work-detail__h{
  margin:0 0 var(--sp-3);
  font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head);
}

.c-work-detail__brief{ margin:0; display:flex; flex-direction:column; gap:var(--sp-5); }
.c-work-detail__brief div{ display:flex; flex-direction:column; gap:var(--sp-1); }
.c-work-detail__brief dt{ font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small); letter-spacing:var(--ls-label); color:var(--dim); }
.c-work-detail__brief dd{
  margin:0; max-width:var(--measure);
  font-size:var(--fs-h3); font-weight:var(--fw-medium); line-height:var(--lh-h3); letter-spacing:var(--ls-head); text-wrap:pretty;
}
@media (min-width:1024px){ .c-work-detail__brief{ padding-top:var(--sp-2); } }

.c-work-detail__stats{
  margin:0; display:grid; grid-template-columns:repeat(var(--stat-n, 3), minmax(0,1fr));
  gap:var(--sp-5) var(--col-gap); padding-top:var(--sp-5);
}
@media (min-width:1024px){ .c-work-detail__stats{ grid-template-columns:repeat(var(--stat-n, 3), minmax(0,14rem)); column-gap:var(--sp-9); } }
.c-work-detail__stat{ display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:var(--sp-1); min-width:0; }
.c-work-detail__stat dt{ font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small); color:var(--dim); }
.c-work-detail__stat dd{ margin:0; }
.c-work-detail__stat .num{ font-size:var(--fs-h1); font-weight:var(--fw-bold); line-height:var(--lh-h1); letter-spacing:var(--ls-display); }

.c-work-detail__spread{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sp-2); }

.c-zoom{ position:relative; display:block; aspect-ratio:var(--z-ar); }
.c-zoom__view{
  position:absolute; inset:0; overflow:hidden;
  background:var(--panel); outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
.c-zoom .c-zoom__img{
  position:absolute; left:var(--z-x); top:var(--z-y);
  width:var(--z-w); max-width:none; height:auto;
}
.c-zoom__mark{

  --ring:var(--sp-4);
  position:absolute; left:var(--z-mx); top:var(--z-my); z-index:1;
  width:var(--ring); height:var(--ring); margin:calc(var(--ring) / -2) 0 0 calc(var(--ring) / -2);
  border:var(--edge-regular) solid var(--accent-fill); border-radius:50%;
  box-shadow:0 0 0 var(--hair) color-mix(in srgb, var(--on-accent) 80%, transparent), inset 0 0 0 var(--hair) color-mix(in srgb, var(--on-accent) 80%, transparent);
}
@media (min-width:1024px){ .c-zoom__mark{ --ring:calc(var(--sp-5) - var(--sp-1)); } }
.c-zoom__lead, .c-zoom__stem{ display:none; }

.c-scene-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-8); }
.c-scene{ display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-4); }
.c-scene__note{ margin:0; max-width:var(--measure); }
.c-scene__note-in{ display:flex; flex-direction:column; gap:var(--sp-1); }
.c-scene__note strong{ font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head); }
.c-scene__note-in > span{ color:var(--dim); text-wrap:pretty; }
@media (min-width:1024px){
  .c-scene-list{ gap:var(--sp-9); }
  .c-scene{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); column-gap:var(--sp-7); }
  .c-scene--flip{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); }
  .c-scene--flip > .c-zoom{ grid-column:2; grid-row:1; }
  .c-scene--flip > .c-scene__note{ grid-column:1; grid-row:1; text-align:end; }
  .c-scene__note{ position:relative; max-width:none; }
  .c-scene__note-in{ position:absolute; inset-inline:0; top:clamp(0px, calc(var(--z-ly) - var(--sp-4)), calc(100% - 8em)); }
  .c-scene--flip .c-scene__note-in{ align-items:flex-end; }

  .c-scene .c-zoom__stem{
    display:block; position:absolute; z-index:1; width:0; left:var(--z-mx);
    top:min(var(--z-my), var(--z-ly)); bottom:calc(100% - max(var(--z-my), var(--z-ly)));
    border-left:var(--hair) solid var(--accent-fill);
    box-shadow:0 0 0 var(--hair) color-mix(in srgb, var(--on-accent) 70%, transparent);
  }
  .c-scene .c-zoom__lead{
    display:block; position:absolute; top:var(--z-ly); z-index:1; height:0;
    left:var(--z-mx); right:calc(var(--sp-2) - var(--sp-7));
    border-top:var(--hair) solid var(--accent-fill);
    box-shadow:0 0 0 var(--hair) color-mix(in srgb, var(--on-accent) 70%, transparent);
  }
  .c-scene--flip .c-zoom__lead{ left:calc(var(--sp-2) - var(--sp-7)); right:calc(100% - var(--z-mx)); }
}

.c-work-detail__feature-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-6); }
.c-work-detail__feature{ display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-3); align-items:start; }
@media (min-width:768px){
  .c-work-detail__feature{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--col-gap); align-items:center; }
  .c-work-detail__feature--text{ grid-template-columns:minmax(0,1fr); }
}
.c-work-detail__feature-shot{ display:block; aspect-ratio:var(--ratio-shot); overflow:hidden; background:var(--panel); }
.c-work-detail__feature-shot img,
.c-work-detail__shot img{
  display:block; width:100%; height:100%; object-fit:cover; object-position:top center;
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
.c-work-detail__feature-text h3{
  margin:0; font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head);
}
.c-work-detail__feature-text p{ margin:var(--sp-2) 0 0; color:var(--dim); max-width:var(--measure); }

.c-work-detail__shots{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:minmax(0,1fr); gap:var(--col-gap); align-items:start;
}
@media (min-width:768px){ .c-work-detail__shots{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1024px){
  .c-work-detail__shots.has-mobile{ grid-template-columns:repeat(2, minmax(0,1fr)) minmax(0,.55fr); }
  .c-work-detail__shots.has-mobile .c-work-detail__shot--mobile{ grid-column:3; grid-row:1 / span 2; }
}
.c-work-detail__shot a{ display:block; aspect-ratio:var(--ratio-shot); overflow:hidden; background:var(--panel); }
.c-work-detail__shot--mobile{ max-width:calc(var(--sp-10) * 2); }
.c-work-detail__shot--mobile a{ aspect-ratio:var(--ratio-mobile); }
@media (min-width:1024px){ .c-work-detail__shot--mobile{ max-width:none; } }

.c-work-detail__stack{
  margin:0; display:flex; flex-wrap:wrap; gap:var(--sp-1) var(--sp-4);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
}
.c-work-detail__stack-label{ font-weight:var(--fw-medium); color:var(--txt); }
.c-work-detail__f1 ~ .c-work-detail__stack, .c-work-detail__scenes + .c-work-detail__stack{ margin-top:calc(var(--sp-6) - var(--sp-9)); }

@media (min-width:1024px){ .c-work-detail__cards.c-work-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.c-work-detail__cards + .c-work-detail__links{ margin-top:var(--sp-6); }
.c-work-detail__links{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-3); }
@media (min-width:768px){ .c-work-detail__links{ grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:var(--col-gap); } }
.c-work-detail__links li{ display:flex; flex-direction:column; gap:var(--sp-1); }
.c-work-detail__kind{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
.c-work-detail__kind.num{ font-weight:inherit; }
.c-work-detail__links a{ color:var(--support); font-weight:var(--fw-medium); text-underline-offset:.18em; }

.c-work-detail__pager{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--col-gap); }
.c-work-detail__page{ display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; color:var(--txt); text-decoration:none; }
.c-work-detail__page span{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
.c-work-detail__page strong{ font-weight:var(--fw-bold); }
.c-work-detail__page:hover strong{ text-decoration:underline; text-underline-offset:.18em; }
.c-work-detail__page--next{ text-align:end; }

.c-work-detail__flow{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-1); counter-reset:flow;
}
.c-work-detail__flow li{
  display:flex; align-items:baseline; gap:var(--sp-3);
  padding:var(--sp-2) var(--sp-4); background:var(--panel);
}
.c-work-detail__flow .num{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); font-weight:inherit; }
.c-work-detail__flow li span:last-child{ font-weight:var(--fw-bold); }
@media (min-width:768px){
  .c-work-detail__flow{ grid-template-columns:repeat(auto-fit, minmax(0,1fr)); grid-auto-flow:column; }
  .c-work-detail__flow li{
    flex-direction:column; gap:var(--sp-1);
    padding:var(--sp-3) var(--sp-4);
  }
}
.c-work-detail__children .c-work-grid{ margin-top:var(--sp-2); }

@media (min-width:768px){
  .c-work-detail__shots.has-mobile.is-single{ grid-template-columns:minmax(0,1fr) minmax(0,.29fr); }
  .c-work-detail__shots.has-mobile.is-single .c-work-detail__shot--mobile{ grid-column:auto; grid-row:auto; max-width:none; }
}



#books-oss .bo-logo{
  display:block; flex:none; max-width:100%; background:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
#books-oss .bo-logo--type{
  width:auto; height:auto; background:none;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--logo-mono); letter-spacing:var(--ls-label);
}

#books-oss .bo-books{ display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--sp-8) var(--sp-6); }
#books-oss .bo-book{ display:flex; flex-direction:column; min-width:0; }
#books-oss .bo-book__stage{
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:5 / 4; background:var(--panel);
}
#books-oss .bo-book__obj{ position:relative; display:block; height:80%; aspect-ratio:var(--ratio-cover); }
#books-oss .bo-book__cover{
  display:block; width:100%; height:100%; object-fit:cover;

  box-shadow:
    0 1px 2px color-mix(in srgb, var(--stage) 22%, transparent),
    0 14px 28px -10px color-mix(in srgb, var(--stage) 38%, transparent),
    0 32px 56px -28px color-mix(in srgb, var(--stage) 30%, transparent);
}

#books-oss .bo-book__obj::before,
#books-oss .bo-book__obj::after{ content:""; position:absolute; top:0; bottom:0; pointer-events:none; }
#books-oss .bo-book__obj::before{ left:0; width:3%; background:color-mix(in srgb, var(--stage) 14%, transparent); }
#books-oss .bo-book__obj::after{ left:3%; width:var(--hair); background:color-mix(in srgb, var(--on-accent) 45%, transparent); }
@media (prefers-reduced-motion:no-preference){
  #books-oss .bo-book__obj{ transition:transform var(--dur-slow) var(--ease); }
  #books-oss .bo-book__stage:hover .bo-book__obj,
  #books-oss .bo-book__stage:focus-visible .bo-book__obj{ transform:translateY(calc(-1 * var(--sp-2))); }
}

#books-oss .bo-book__body{ margin-top:var(--sp-5); display:flex; flex-direction:column; }
#books-oss .bo-book__series{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); letter-spacing:var(--ls-label); }
#books-oss .bo-book__title{ margin-top:var(--sp-1); font-size:var(--fs-h3); line-height:var(--lh-h3); word-break:keep-all; }
#books-oss .bo-book__facts{ margin-top:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
#books-oss .bo-book__facts .num{ font-weight:var(--fw-bold); color:var(--txt); }

#books-oss .bo-book__quotes{ margin-top:var(--sp-5); display:grid; gap:var(--sp-5); }
#books-oss .bo-quote__text{ font-size:var(--fs-body); line-height:var(--lh-body); color:var(--txt); max-width:var(--measure); word-break:keep-all; }
#books-oss .bo-quote__by{ margin-top:var(--sp-1); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
#books-oss .bo-quote__name{ font-weight:var(--fw-bold); color:var(--txt); margin-right:var(--sp-1); }

#books-oss .bo-book__buy{ margin-top:var(--sp-4); display:flex; flex-wrap:wrap; column-gap:var(--sp-5); }
#books-oss .bo-book__buy a,
#books-oss .bo-course__facts a{ display:inline-flex; align-items:center; min-height:var(--tap); font-weight:var(--fw-medium); }

#books-oss .bo-courses{ margin-top:var(--section-y); }
#books-oss .bo-thumb{ display:block; aspect-ratio:40 / 21; overflow:hidden; background:var(--panel); }
#books-oss .bo-thumb__img{ display:block; width:100%; height:100%; object-fit:cover; }
#books-oss a.bo-thumb:hover .bo-thumb__img{ opacity:0.92; }

#books-oss .bo-feature{ display:grid; grid-template-columns:minmax(0, 1fr); background:var(--panel); }
#books-oss .bo-feature__body{ padding:var(--sp-5) var(--sp-4) var(--sp-6); display:flex; flex-direction:column; min-width:0; }
#books-oss .bo-course__platform{ display:flex; align-items:center; min-height:var(--sp-6); }
#books-oss .bo-feature__name{ margin-top:var(--sp-3); font-size:var(--fs-h3); line-height:var(--lh-h3); word-break:keep-all; }
#books-oss .bo-course__facts{
  margin-top:var(--sp-1); display:flex; flex-wrap:wrap; align-items:center; column-gap:var(--sp-1);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
}
#books-oss .bo-course__facts .num{ font-weight:var(--fw-bold); color:var(--txt); }
#books-oss .bo-feature__label{
  margin-top:var(--sp-6); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--txt); letter-spacing:var(--ls-label);
}
#books-oss .bo-adopts{ margin-top:var(--sp-3); display:grid; gap:var(--sp-4); }
#books-oss .bo-adopt{ display:flex; align-items:center; gap:var(--sp-4); }
#books-oss .bo-adopt__mark{ flex:none; width:calc(var(--sp-9) - var(--sp-4)); display:flex; align-items:center; }
#books-oss .bo-adopt__text{ display:flex; flex-direction:column; min-width:0; }
#books-oss .bo-adopt__line{ font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--txt); }
#books-oss .bo-adopt__line .c-chip{ margin-left:var(--sp-2); }
#books-oss .bo-adopt__sub{ margin-top:var(--sp-1); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }

#books-oss .bo-course-list{ margin-top:var(--sp-7); display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--sp-5) var(--col-gap); }
#books-oss .bo-course{ display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, 3fr); gap:var(--sp-3); align-items:start; align-content:start; min-width:0; }
#books-oss .bo-course__body{ display:flex; flex-direction:column; min-width:0; }
#books-oss .bo-course .bo-course__platform{ min-height:var(--sp-5); }
#books-oss .bo-course__name{
  margin-top:var(--sp-1); font-size:var(--fs-body); line-height:var(--lh-h3); font-weight:var(--fw-bold); word-break:keep-all;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden;
}
#books-oss .bo-course__name a{ color:var(--txt); text-decoration:none; }
#books-oss .bo-course__name a:hover,
#books-oss .bo-course__name a:focus-visible{ text-decoration:underline; text-underline-offset:0.18em; }

@media (min-width:768px){
  #books-oss .bo-books{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #books-oss .bo-course-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); row-gap:var(--sp-6); }
  #books-oss .bo-course{ grid-template-columns:minmax(0, 1fr); gap:var(--sp-3); }
  #books-oss .bo-course__name{ font-size:var(--fs-h3); }
  #books-oss .bo-feature__body{ padding:var(--sp-6); }
}
@media (min-width:1024px){
  #books-oss .bo-books{ column-gap:var(--sp-7); }
  #books-oss .bo-book__stage{ aspect-ratio:4 / 3; }
  #books-oss .bo-feature{ grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); align-items:center; }
  #books-oss .bo-feature__body{ padding:var(--sp-4) var(--sp-6); justify-content:center; }
  #books-oss .bo-course-list{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}



#contact{
  --cta-err:#B42318;
}
:root[data-theme="dark"] #contact{ --cta-err:#F4A08F; }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) #contact{ --cta-err:#F4A08F; } }

#contact .cta{
  display:grid; gap:var(--sp-7);
  padding:clamp(28px, 12px + 4.4vw, 80px) clamp(20px, 8px + 3.6vw, 80px);
  background:var(--sheet); color:var(--txt);
}
#contact .cta :focus-visible{ outline-color:var(--focus); }
#contact .cta a{ color:var(--support); }

#contact .cta__title{
  margin:0; color:var(--txt);
  font-size:var(--fs-h2); font-weight:var(--fw-bold); line-height:var(--lh-h2); letter-spacing:var(--ls-head);
  word-break:keep-all; text-wrap:balance;
}
#contact .cta__sub{
  margin-top:var(--sp-4); max-width:var(--measure);
  font-size:var(--fs-body); font-weight:var(--fw-body); line-height:var(--lh-body); color:var(--dim);
  word-break:keep-all; text-wrap:balance;
}

#contact .cta__form[hidden], #contact .cta__done[hidden]{ display:none; }
#contact .cta__legend{ margin:0 0 var(--sp-5); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
#contact .cta__req{ margin-left:0.15em; color:var(--accent); font-weight:var(--fw-bold); }
#contact .cta__grid{ display:grid; gap:var(--sp-5); }
#contact .cta__field{ display:grid; gap:var(--sp-2); min-width:0; margin:0; padding:0; border:0; }
#contact .cta__label{
  padding:0; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); color:var(--dim);
}
#contact .cta__input{
  width:100%; min-height:calc(var(--tap) + var(--sp-1)); padding:var(--sp-3) var(--sp-4);
  font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-body); color:var(--txt);
  background:var(--paper); border:0; border-radius:var(--radius);
  box-shadow:inset 0 calc(var(--hair) * -1) 0 var(--line-ui);
  transition:box-shadow var(--dur) var(--ease), background-color var(--dur) var(--ease);
  -webkit-appearance:none; appearance:none;
}
#contact .cta__textarea{ min-height:calc(var(--sp-10) + var(--sp-4)); resize:vertical; font-family:inherit; }
#contact .cta__input:hover{ box-shadow:inset 0 calc(var(--hair) * -1) 0 var(--txt); }
#contact .cta__input:focus{ outline:none; background:var(--sheet); box-shadow:inset 0 0 0 var(--hair) var(--line-ui), inset 0 calc(var(--edge-regular) * -1) 0 var(--accent); }
#contact .cta__input:focus-visible{ outline:none; }
#contact .cta__input[aria-invalid="true"]{ box-shadow:inset 0 calc(var(--edge-regular) * -1) 0 var(--cta-err); }
#contact .cta__err{ margin:0; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--cta-err); }
#contact .cta__err:empty{ display:none; }

#contact .cta__chips{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
#contact .cta__chip{ position:relative; display:inline-flex; }
#contact .cta__chip input{ position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; }
#contact .cta__chip span{
  display:inline-flex; align-items:center; min-height:var(--tap); padding-inline:var(--sp-4);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--txt);
  background:var(--paper); box-shadow:inset 0 0 0 var(--hair) var(--line-ui);
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);
  pointer-events:none;
}
#contact .cta__chip:hover span{ box-shadow:inset 0 0 0 var(--hair) var(--txt); }
#contact .cta__chip input:checked + span{ background:var(--accent-fill); color:var(--on-accent); box-shadow:none; }
#contact .cta__chip input:focus-visible + span{ outline:var(--edge-regular) solid var(--focus); outline-offset:var(--edge-regular); }
#contact .cta__field--interests[aria-invalid="true"] .cta__chip span{ box-shadow:inset 0 0 0 var(--hair) var(--cta-err); }

#contact .cta__consent{ margin-top:var(--sp-6); display:grid; gap:var(--sp-2); }
#contact .cta__check{
  display:inline-flex; align-items:center; gap:var(--sp-3); min-height:var(--tap); cursor:pointer;
  font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-medium);
}
#contact .cta__check input{ flex:none; width:20px; height:20px; margin:0; accent-color:var(--accent-fill); cursor:pointer; }
#contact .cta__check input[aria-invalid="true"]{ outline:var(--edge-regular) solid var(--cta-err); outline-offset:var(--edge-regular); }
#contact .cta__consent-sum{ margin:0; padding-left:calc(20px + var(--sp-3)); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); word-break:keep-all; }
#contact .cta__consent-more{ padding-left:calc(20px + var(--sp-3)); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
#contact .cta__consent-more summary{
  display:inline-flex; align-items:center; min-height:var(--tap); cursor:pointer; font-weight:var(--fw-medium); color:var(--support);
  text-decoration:underline; text-underline-offset:0.2em; text-decoration-thickness:var(--hair);
}
#contact .cta__terms{ margin:var(--sp-2) 0 0; padding:var(--sp-4); background:var(--paper); display:grid; gap:var(--sp-2); }
#contact .cta__terms div{ display:grid; grid-template-columns:5.5em 1fr; gap:var(--sp-3); }
#contact .cta__terms dt{ font-weight:var(--fw-medium); color:var(--txt); }
#contact .cta__terms dd{ margin:0; word-break:keep-all; }
#contact .cta__consent > .cta__err{ padding-left:calc(20px + var(--sp-3)); }

#contact .cta__hp{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }

#contact .cta__submit{ margin-top:var(--sp-6); display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-3) var(--sp-5); }
#contact .cta__btn{ min-height:calc(var(--tap) + var(--sp-3)); padding-inline:var(--sp-7); font-size:var(--fs-body); }
#contact .cta__btn[aria-busy="true"]{ opacity:.72; cursor:progress; }
#contact .cta__status{ margin:0; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); }
#contact .cta__status[data-tone="error"]{ color:var(--cta-err); }
#contact .cta__status:empty{ display:none; }

#contact .cta__done{ display:grid; gap:var(--sp-3); align-content:center; min-height:calc(var(--sp-10) * 2); padding:var(--sp-6); background:var(--paper); }
#contact .cta__done:focus{ outline:none; }
#contact .cta__done-title{ margin:0; font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
#contact .cta__done-title::before{
  content:''; display:block; width:var(--sp-6); height:var(--edge-strong); margin-bottom:var(--sp-4); background:var(--accent);
}
#contact .cta__done-line{ margin:0; max-width:var(--measure); font-size:var(--fs-body); line-height:var(--lh-body); color:var(--dim); word-break:keep-all; }
#contact .cta__nojs{ margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--dim); }

@media (min-width:768px){
  #contact .cta__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:var(--sp-5); row-gap:var(--sp-5); }
  #contact .cta__field--interests, #contact .cta__field--message{ grid-column:1 / -1; }
}
@media (min-width:1024px){
  #contact .cta{ grid-template-columns:4fr 7fr; gap:var(--sp-9); align-items:start; }
  #contact .cta__intro{ position:sticky; top:calc(var(--header-h) + var(--sp-6)); }
}
@media (prefers-reduced-motion:reduce){
  #contact .cta__input, #contact .cta__chip span{ transition:none; }
}



#education .edu-head{ margin-bottom:var(--stack-head); }
#education .edu-head__title{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--sp-2) var(--sp-5); margin:0; }
#education .edu-head__fig{
  font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:var(--ls-display); font-weight:var(--fw-bold); color:var(--accent);
}
#education .edu-head__fig .unit{ font-size:var(--fs-h2); }
#education .edu-head__label{
  max-width:22em; font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt);
  word-break:keep-all;
}

#education .edu-reps{ list-style:none; margin:var(--sp-8) 0 0; padding:0; border-bottom:var(--hair) solid var(--line); }
#education .edu-rep{
  display:grid; gap:var(--sp-2) var(--col-gap);
  padding-block:var(--sp-5); border-top:var(--hair) solid var(--line);
}
#education .edu-rep:first-child{ border-top-color:var(--line-strong); }
#education .edu-rep__org{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-1); min-width:0; }
#education .edu-rep__logo{
  display:block; height:var(--sp-5);
  height:calc(var(--sp-5) * var(--logo-scale, 1) * min(1.4, sqrt(4 / var(--logo-ratio, 4)))); aspect-ratio:var(--logo-ratio, 4); max-width:min(100%, 11rem);
  background:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
#education .edu-rep__logo--type{
  height:auto; aspect-ratio:auto; background:none; -webkit-mask:none; mask:none;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--dim);
}
#education .edu-rep__course{ display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; }
#education .edu-rep__title{
  font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt);
  word-break:keep-all; text-wrap:pretty;
}
#education .edu-rep__steps{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
#education .edu-rep__aud{
  display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-1);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); text-wrap:pretty;
}
#education .edu-rep__progress{ font-weight:var(--fw-bold); color:var(--status-progress-fg); }
#education .edu-rep__progress::before{
  content:""; display:inline-block; width:var(--sp-2); height:var(--sp-2); margin-right:var(--sp-2); vertical-align:0.1em; background:currentColor;
}

#education .edu-more .num{ font-weight:inherit; }
#education .edu-more{ margin:var(--sp-5) 0 0; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); }
#education .edu-more a{ display:inline-flex; align-items:center; gap:var(--sp-2); min-height:var(--tap); color:var(--accent); text-decoration:none; }
#education .edu-more a:hover{ text-decoration:underline; text-decoration-thickness:var(--hair); }

@media (min-width:1024px){
  #education .edu-rep{ grid-template-columns:repeat(12, minmax(0, 1fr)); align-items:start; }
  #education .edu-rep__org{ grid-column:1 / span 3; }
  #education .edu-rep__course{ grid-column:4 / span 6; }
  #education .edu-rep__aud{ grid-column:10 / -1; padding-top:0.15em; }
}



#events .ev-role{
  display:block; margin-bottom:var(--sp-1);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--accent);
}

#events .ev-hero{ position:relative; margin:0; overflow:hidden; background:var(--stage); aspect-ratio:4 / 5; }
#events .ev-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; }
#events .ev-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, color-mix(in srgb, var(--stage) 92%, transparent) 0%, color-mix(in srgb, var(--stage) 55%, transparent) 38%, transparent 70%);
}
#events .ev-hero__cap{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  display:flex; flex-direction:column; gap:var(--sp-2);
  padding:var(--sp-5); color:var(--on-accent);
}
#events .ev-hero__cap p{ margin:0; }
#events .ev-hero__name{
  margin:0 0 var(--sp-1); max-width:16em;
  font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); word-break:keep-all;
}
#events .ev-hero__name .ev-role{ color:inherit; opacity:.86; }
#events .ev-hero__meta{ font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-medium); font-variant-numeric:var(--num); opacity:.86; }
#events .ev-hero__line{
  margin:var(--sp-4) 0 0; max-width:var(--measure);
  font-size:var(--fs-body); line-height:var(--lh-body); color:var(--dim);
}

#events .ev-more{ display:grid; gap:var(--sp-3); margin:var(--sp-6) 0 0; }
#events .ev-more__item{ margin:0; aspect-ratio:3 / 2; overflow:hidden; background:var(--stage); }
#events .ev-more__item img{ display:block; width:100%; height:100%; object-fit:cover; }

#events .ev-list{ list-style:none; margin:var(--sp-8) 0 0; padding:0; display:grid; gap:var(--sp-7); }
#events .ev-row{ display:grid; gap:var(--sp-4); align-items:start; }
#events .ev-row__media{ aspect-ratio:var(--ratio-shot); overflow:hidden; background:var(--stage); }
#events .ev-row__media img{ display:block; width:100%; height:100%; object-fit:cover; object-position:left center; }
#events .ev-row__body{ display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }
#events .ev-row__body p{ margin:0; }
#events .ev-row__name{
  margin:0; font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt);
}
#events .ev-row__meta{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); font-variant-numeric:var(--num);
}
#events .ev-scale{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--txt); font-variant-numeric:var(--num); }
#events .ev-scale .num{ font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:var(--ls-head); }
#events .ev-scale__label{ margin-left:var(--sp-2); font-weight:var(--fw-medium); color:var(--dim); }
#events .ev-row__line{ font-size:var(--fs-body); line-height:var(--lh-body); color:var(--dim); max-width:var(--measure); }

#events .ev-next{
  display:grid; grid-template-columns:auto minmax(0, 1fr); align-items:baseline; gap:var(--sp-1) var(--sp-5);
  margin:var(--sp-8) 0 0; padding-top:var(--sp-5); border-top:var(--hair) solid var(--line-strong);
}
#events .ev-next__label{
  grid-column:1 / -1;
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--status-progress-fg);
}
#events .ev-next__label::before{
  content:""; display:inline-block; width:var(--sp-2); height:var(--sp-2); margin-right:var(--sp-2); vertical-align:0.1em;
  background:currentColor;
}
#events .ev-next__date{ font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
#events .ev-next__body{ display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; }
#events .ev-next__name{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
#events .ev-next__name .ev-role{ display:inline; margin:0 var(--sp-2) 0 0; }
#events .ev-next__place{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); font-variant-numeric:var(--num); }

@media (min-width:768px){
  #events .ev-hero{ aspect-ratio:16 / 9; }
  #events .ev-hero__cap{ padding:var(--sp-7); }
  #events .ev-more{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--col-gap); }
  #events .ev-row{ grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:var(--col-gap) var(--sp-6); }
}
@media (min-width:1024px){
  #events .ev-hero{ aspect-ratio:21 / 9; }
  #events .ev-hero__cap{ padding:var(--sp-8); max-width:66%; }
  #events .ev-hero__line{ margin-top:var(--sp-5); }

  #events .ev-list{ max-width:calc((100% - 2 * var(--col-gap)) * 2 / 3 + var(--col-gap)); }

  #events .ev-next{ grid-template-columns:calc((100% - 2 * var(--col-gap)) * 2 / 3 * 5 / 12) minmax(0, 1fr); column-gap:var(--sp-6); }
}


#top{
  padding-block:var(--sp-6) var(--sp-8);
}
#top .top__inner{ display:flex; flex-direction:column; gap:var(--sp-7); }

#top .top__head{ display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--sp-5); }
#top .top__title{
  margin:0;
  font-size:var(--fs-display); line-height:var(--lh-display); font-weight:var(--fw-head);
  letter-spacing:var(--ls-display); color:var(--txt);
  word-break:keep-all; overflow-wrap:break-word; text-wrap:balance;
}
#top .top__line{ display:block; }

#top .top__label{
  grid-column:1 / -1; margin:0 0 calc(var(--sp-3) - var(--sp-5));
  font-size:var(--fs-body); line-height:var(--lh-small); letter-spacing:var(--ls-label);
  font-weight:var(--fw-medium); color:var(--dim);
  word-break:keep-all;
}
#top .top__label-lead{ color:var(--accent); font-weight:var(--fw-bold); }
#top .top__label-sep{ color:var(--faint); }
#top .top__aside{ display:flex; flex-direction:column; gap:var(--sp-5); min-width:0; }
#top .top__sub{
  margin:0; max-width:var(--measure);
  font-size:var(--fs-body); font-weight:var(--fw-body); line-height:var(--lh-body);
  letter-spacing:var(--ls-body); color:var(--dim);
  word-break:keep-all; text-wrap:pretty;
}
#top .top__sub .num{ color:var(--txt); }

#top .top__stats{ display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5); margin:0; }
#top .top__stat{ display:flex; align-items:baseline; gap:var(--sp-2); min-width:0; }
#top .top__stat-value{
  order:-1; margin:0;
  font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold);
  letter-spacing:var(--ls-head); color:var(--txt); font-variant-numeric:var(--num);
}
#top .top__stat-value .unit{ font-weight:var(--fw-bold); }
#top .top__stat-label{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
  letter-spacing:var(--ls-label); color:var(--dim); white-space:nowrap;
}

@media (max-width:767px){
  #top .top__stats{ display:grid; grid-template-columns:repeat(3, minmax(0, auto)); justify-content:start; column-gap:var(--sp-5); }
  #top .top__stat{ flex-direction:column; align-items:flex-start; gap:0; }
  #top .top__stat-label{ white-space:normal; word-break:keep-all; }
}
#top .top__cta{ display:flex; flex-wrap:wrap; gap:var(--sp-3); }
#top .top__btn{
  min-height:calc(var(--tap) + var(--sp-2)); padding-inline:var(--sp-6);
  font-size:var(--fs-body); line-height:var(--lh-small);
}
@media (max-width:767px){
  #top .top__cta{ display:grid; grid-template-columns:minmax(0, 1fr); }
}
#top .top__btn-meta{
  font-size:var(--fs-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); color:var(--faint);
}

#top .top__cases{
  margin:0;
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--sp-6) var(--col-gap);
}
#top .top-case{ min-width:0; }
#top .top-case__link{
  display:flex; flex-direction:column; gap:var(--sp-2); height:100%;
  color:var(--txt); text-decoration:none;
}
#top .top-case__frame{
  display:block; position:relative; overflow:hidden;
  aspect-ratio:var(--ratio-shot); background:var(--stage);
  margin-bottom:var(--sp-1);
}
#top .top-case__frame > img,
#top .top-case__frame > video{
  display:block; width:100%; height:100%; object-fit:cover; object-position:top;
  transition:transform var(--dur-slow) var(--ease);
}

#top .top-case__frame > .top-case__video--loop{ object-position:center; transform:scale(1.08); }
#top .top-case__link:hover .top-case__frame > *,
#top .top-case__link:focus-visible .top-case__frame > *{ transform:scale(1.12); }
#top .top-case__link:hover .top-case__frame > img,
#top .top-case__link:focus-visible .top-case__frame > img{ transform:scale(1.03); }
#top .top-case__link:hover .top-case__title,
#top .top-case__link:focus-visible .top-case__title{ text-decoration:underline; text-underline-offset:0.15em; text-decoration-thickness:var(--hair); }

#top .top-case__who{
  display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp-1) var(--sp-3);
  min-height:var(--sp-5);
}
#top .top-case__logo{
  display:inline-block; height:calc(var(--sp-4) * var(--logo-scale, 1));
  aspect-ratio:var(--logo-ratio, 4); width:auto; max-width:60%;
  background-color:var(--logo-mono);
  -webkit-mask:var(--logo) left center / contain no-repeat; mask:var(--logo) left center / contain no-repeat;
}
#top .top-case__logo--type,
#top .top-case__org{
  height:auto; aspect-ratio:auto; max-width:none; background:none; -webkit-mask:none; mask:none;
  font-size:var(--fs-small); font-weight:var(--fw-bold); line-height:var(--lh-small); color:var(--dim);
}
#top .top-case__title{
  font-size:var(--fs-body); font-weight:var(--fw-bold);
  line-height:var(--lh-h3); letter-spacing:var(--ls-head);
  font-variant-numeric:var(--num); word-break:keep-all; text-wrap:balance;
}

#top .top__band{ display:grid; gap:var(--sp-4); }
#top .top__band-label{
  margin:0; font-size:var(--fs-small); font-weight:var(--fw-medium);
  line-height:var(--lh-small); letter-spacing:var(--ls-label); color:var(--faint);
}
#top .top__logos{
  margin:0; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:var(--sp-5) var(--sp-4); align-items:center; justify-items:start;
  --band-h:var(--sp-4);
}
#top .top__logo-item{ display:flex; align-items:center; min-width:0; max-width:100%; }
#top .top__logo{
  display:block; max-width:100%;
  height:calc(var(--band-h) * var(--logo-scale, 1));
  aspect-ratio:var(--logo-ratio, 4); width:auto;
  background-color:var(--logo-mono);
  -webkit-mask:var(--logo) center / contain no-repeat; mask:var(--logo) center / contain no-repeat;
}
@supports (height:calc(1px * sqrt(4))){
  #top .top__logo{ height:calc(var(--band-h) * min(1.5, sqrt(4 / var(--logo-ratio, 4))) * var(--logo-scale, 1)); }
}
#top .top__logo--type{
  height:auto; aspect-ratio:auto; background:none; -webkit-mask:none; mask:none;
  font-size:var(--fs-small); font-weight:var(--fw-bold); line-height:var(--lh-small); color:var(--logo-mono);
}

@media (max-width:767px){
  #top .top__logos{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--sp-5) var(--sp-5); --band-h:var(--sp-5); }
  #top .top__logo-item:nth-child(n+7){ display:none; }
}

@media (min-width:768px){
  #top{ padding-block-start:var(--sp-8); }
  #top .top__logos{ --band-h:calc(var(--sp-4) + var(--sp-1)); }
}

@media (min-width:1024px){

  #top{ padding-block:var(--sp-8) var(--sp-8); }
  #top .top__inner{ gap:var(--sp-6); }

  #top .top__head{
    grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
    column-gap:var(--sp-8); align-items:end;
  }
  #top .top__aside{ padding-bottom:var(--sp-1); }

  #top .top__cases{ grid-template-columns:minmax(0, 3fr) repeat(3, minmax(0, 2fr)); align-items:start; }
  #top .top-case:first-child .top-case__title{ font-size:var(--fs-h3); }
  #top .top__band{ grid-template-columns:auto minmax(0, 1fr); align-items:center; column-gap:var(--sp-8); }
  #top .top__logos{
    display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:var(--sp-7);
    --band-h:var(--sp-5);
  }
  #top .top__logo-item{ flex:0 1 auto; }
}

@media (prefers-reduced-motion:reduce){
  #top .top-case__frame > img,
  #top .top-case__frame > video{ transition:none; }
  #top .top-case__link:hover .top-case__frame > .top-case__video--loop,
  #top .top-case__link:focus-visible .top-case__frame > .top-case__video--loop{ transform:scale(1.08); }
  #top .top-case__link:hover .top-case__frame > img,
  #top .top-case__link:focus-visible .top-case__frame > img{ transform:none; }
}



#influencer .inf-kicker{
  margin:0 0 var(--sp-3);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--dim);
}

#influencer .inf-reach{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--sp-5) var(--sp-7);
}
#influencer .inf-reach__item{ display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; }
#influencer .inf-reach__v .num{ font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
#influencer .inf-reach__item--lead .inf-reach__v .num{ font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:var(--ls-display); color:var(--accent); }
#influencer .inf-reach__l{ font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-medium); color:var(--txt); }
#influencer .inf-reach__l a{ color:var(--txt); }
#influencer .inf-reach__sub{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }

#influencer .inf-label{
  margin:var(--sp-9) 0 var(--sp-5);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--dim);
}

#influencer .inf-pcs{
  list-style:none; margin:0; padding:0;
  display:grid; gap:var(--sp-8) var(--col-gap);
}
#influencer .inf-pc{ display:flex; flex-direction:column; min-width:0; }
#influencer .inf-pc__link{
  display:flex; flex-direction:column; gap:var(--sp-4);
  color:var(--txt); text-decoration:none;
}
#influencer .inf-pc__head{
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
  min-height:var(--sp-7);
}
#influencer .inf-pc__brand{ display:inline-flex; align-items:center; gap:var(--sp-2); color:var(--txt); }
#influencer .inf-pc__logo{ height:calc(var(--sp-6) + var(--sp-2)); width:auto; flex:none; }
#influencer .inf-pc__brand .gs-bg{ fill:var(--txt); }
#influencer .inf-pc__brand .gs-fg{ fill:var(--sheet); }
#influencer .inf-pc__logo + .inf-pc__word{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); }
#influencer .inf-pc__brand:has(.inf-pc__word) .inf-pc__logo{ height:calc(var(--sp-5) + var(--sp-1)); }
#influencer .inf-pc__date{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); white-space:nowrap; }

#influencer .inf-pc__shot{
  display:block;
  padding:var(--sp-4); background:var(--panel);
}
#influencer .inf-pc__img{ width:100%; }

#influencer .inf-pc__what{
  font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head);
  text-wrap:pretty; word-break:keep-all;
}
#influencer .inf-pc__link:hover .inf-pc__what,
#influencer .inf-pc__link:focus-visible .inf-pc__what{ text-decoration:underline; text-underline-offset:0.18em; text-decoration-thickness:var(--hair); }

#influencer .inf-pc__more{
  margin-top:calc(var(--sp-1) * -1);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim);
}
#influencer .inf-pc__link:hover .inf-pc__more,
#influencer .inf-pc__link:focus-visible .inf-pc__more{ color:var(--accent); }

#influencer .inf-label--more{ margin-top:var(--sp-9); }
#influencer .inf-more__list{ list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-5); }
#influencer .inf-more__group{ display:grid; gap:var(--sp-3); }
#influencer .inf-more__brand{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head); color:var(--txt); }
#influencer .inf-more__items{ list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-3); }
#influencer .inf-more__item{ display:grid; gap:var(--sp-1); font-size:var(--fs-body); line-height:var(--lh-body); }
#influencer .inf-more__what{ color:var(--txt); text-wrap:pretty; }
#influencer .inf-more__what a{ color:var(--txt); text-decoration:none; }
#influencer .inf-more__what a:hover, #influencer .inf-more__what a:focus-visible{ text-decoration:underline; text-decoration-thickness:var(--hair); }
#influencer .inf-more__meta{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }
#influencer .inf-collab{
  margin:var(--sp-6) 0 0; max-width:var(--measure);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
}

@media (min-width:768px){
  #influencer .inf-reach{ column-gap:var(--sp-9); }
  #influencer .inf-pcs{ grid-template-columns:repeat(2, minmax(0,1fr)); }

  #influencer .inf-pc{ display:grid; grid-row:span 4; grid-template-rows:subgrid; row-gap:var(--sp-4); }
  #influencer .inf-pc__link{ display:grid; grid-row:span 4; grid-template-rows:subgrid; row-gap:var(--sp-4); }
  #influencer .inf-pc__more{ align-self:start; }
  #influencer .inf-more__group{ grid-template-columns:minmax(0,3fr) minmax(0,9fr); column-gap:var(--col-gap); align-items:baseline; }
  #influencer .inf-more__item{ grid-template-columns:minmax(0,1fr) auto; align-items:baseline; column-gap:var(--sp-5); }
}
@media (min-width:1024px){
  #influencer .inf-pcs{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}


#clients{
  --logo-box:var(--sp-7);
  --logo-knockout:var(--sheet);
}
#clients .clients__rows{ display:grid; row-gap:var(--sp-7); }
#clients .clients__row{ display:grid; row-gap:var(--sp-3); }
#clients .clients__label{
  margin:0;
  font-size:var(--fs-small); font-weight:var(--fw-medium);
  line-height:var(--lh-small); letter-spacing:var(--ls-label); color:var(--dim);
}
#clients .clients__row:first-child .clients__label{ color:var(--txt); }
#clients .clients__logos{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); grid-auto-flow:row dense;
  gap:var(--sp-4) var(--sp-2);
  margin:0; padding:0; list-style:none;
}

#clients .clients__item{ display:contents; }

#clients .clients__cell{
  display:grid; grid-template-columns:minmax(0,1fr); align-content:start; justify-items:center; row-gap:var(--sp-1);
  inline-size:100%; block-size:100%; min-width:0;
  margin:0; padding:var(--sp-1);
  border:0; border-radius:var(--radius); background:transparent;
  color:var(--logo-mono); font:inherit; text-align:center; cursor:pointer;
}
#clients .clients__mark{
  display:flex; align-items:center; justify-content:center;
  inline-size:100%; block-size:var(--logo-box);
}
#clients .clients__mono,
#clients .clients__color{
  display:block; max-inline-size:100%;
  block-size:calc(var(--logo-box) * 0.64 * var(--logo-scale, 1));
  inline-size:auto; object-fit:contain;
}
#clients .clients__svg{ display:block; block-size:100%; inline-size:auto; max-inline-size:100%; overflow:hidden; }

#clients .clients__mark--color .clients__mono{ display:none; }
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) #clients .clients__mark--color .clients__mono{ display:block; }
  :root:not([data-theme="light"]) #clients .clients__mark--color .clients__color{ display:none; }
}
:root[data-theme="dark"] #clients .clients__mark--color .clients__mono{ display:block; }
:root[data-theme="dark"] #clients .clients__mark--color .clients__color{ display:none; }
#clients .clients__word{
  font-size:var(--fs-small); font-weight:var(--fw-bold);
  line-height:var(--lh-small); letter-spacing:var(--ls-head);
  color:currentColor; text-wrap:balance;
}
#clients .clients__cell:is(:hover, :focus-visible, [aria-expanded="true"]) .clients__word{ color:var(--txt); }

#clients .clients__pop:not([hidden]){
  display:grid; row-gap:var(--sp-1); grid-column:1 / -1;
  margin:0; padding:var(--sp-4);
  background:var(--panel); border:var(--hair) solid var(--line-ui);
}
#clients .clients__pop p{ margin:0; }
#clients .clients__headline{ font-weight:var(--fw-medium); color:var(--txt); }
#clients .clients__period{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
  font-variant-numeric:var(--num);
}
#clients .clients__link{
  justify-self:start; padding-block:var(--sp-2);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--support);
}

@media (min-width:768px){
  #clients .clients__logos{ grid-template-columns:repeat(var(--logo-cols, 6), minmax(0,1fr)); }
}
@media (min-width:1024px){
  #clients .clients__word{ font-size:var(--fs-body); line-height:var(--lh-body); }
}
@media (min-width:1024px) and (hover:hover){
  #clients .clients__logos{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-5) var(--sp-6); }
  #clients .clients__item{ display:block; position:relative; flex:0 1 auto; min-width:0; }
  #clients .clients__cell{ inline-size:auto; }
  #clients .clients__mark{ inline-size:auto; }
  #clients .clients__pop:not([hidden]){
    position:absolute; inset-block-start:100%; inset-inline-start:0; z-index:var(--z-popover);
    inline-size:calc(var(--measure) / 2);
  }
  #clients .clients__pop.is-flip{ inset-inline-start:auto; inset-inline-end:0; }
}

#clients .clients__svg [data-knock]{ fill:var(--logo-knockout, var(--sheet)); }
#clients .clients__mono--mask{
  aspect-ratio:var(--logo-ar);
  background-color:currentColor;
  -webkit-mask:var(--logo-src) center / contain no-repeat;
  mask:var(--logo-src) center / contain no-repeat;
}

.has-logo-color{ --logo-pos:left center; }
.top__logo.has-logo-color, .c-org-wall__logo.has-logo-color{ --logo-pos:center; }
:root[data-theme="light"] .has-logo-color{
  background:var(--logo-c) var(--logo-pos) / contain no-repeat !important;
  -webkit-mask:none !important; mask:none !important;
}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .has-logo-color{
    background:var(--logo-c) var(--logo-pos) / contain no-repeat !important;
    -webkit-mask:none !important; mask:none !important;
  }
}


#method .method__fig{
  margin:0;
  --mi-ink:var(--txt); --mi-dim:var(--dim); --mi-faint:var(--faint); --mi-line:var(--line-strong);
  --mi-chip:var(--on-accent); --mi-chiptxt:var(--accent-fill);
}
#method .method__fig svg{ display:block; width:100%; height:auto; overflow:visible; }
#method .method__fig a.mi-case:focus-visible{ outline:2px solid var(--on-accent); outline-offset:4px; }
#method .method__fig-wide{ display:none; }
#method .method__fig-narrow{ max-width:400px; }

@media (min-width:1100px){
  #method .method__fig-wide{ display:block; }
  #method .method__fig-narrow{ display:none; }
}



#network .nw-hero{ padding-bottom:var(--sp-7); }
#network .nw-hero__kicker{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); color:var(--dim); }
#network .nw-hero__title{ margin-top:var(--sp-3); font-size:var(--fs-h1); font-weight:var(--fw-bold); line-height:var(--lh-h1); letter-spacing:var(--ls-head); }
#network .nw-hero__lead{ margin-top:var(--sp-4); max-width:var(--measure); font-size:var(--fs-body); font-weight:var(--fw-body); line-height:var(--lh-body); color:var(--dim); }
#network .nw-index ol{ list-style:none; margin:var(--sp-7) 0 0; padding:0; display:grid; grid-template-columns:minmax(0, 1fr); }
#network .nw-index li{ border-bottom:1px solid var(--line); }
#network .nw-index__link{
  display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:baseline; gap:var(--sp-3);
  min-height:var(--tap); padding-block:var(--sp-3); color:var(--txt); text-decoration:none;
}
#network .nw-index__link:hover .nw-index__label{ text-decoration:underline; text-decoration-thickness:var(--hair); }
#network .nw-index__no{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); font-variant-numeric:var(--num); color:var(--faint); }
#network .nw-index__label{ font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-bold); }
#network .nw-index .num{ font-size:var(--fs-h3); line-height:var(--lh-h3); }

#network .nw-group__label{ display:flex; gap:var(--sp-2); margin-bottom:var(--sp-2); padding-left:calc(var(--edge-strong) + var(--sp-3)); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--dim); }
#network .nw-group__no{ font-variant-numeric:var(--num); color:var(--faint); }
#network .nw-sub{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--dim); }

#network .nw-tags{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--sp-2); }
#network .nw-tags li{
  display:inline-flex; align-items:center; min-height:calc(var(--sp-6) - var(--sp-1)); padding-inline:var(--sp-2);
  border:1px solid var(--line-ui); font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:var(--lh-small); color:var(--dim);
}
#network .nw-links{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 var(--sp-5); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); }
#network .nw-links a{ display:inline-flex; align-items:center; min-height:var(--tap); }
#network .nw-together ul, #network .nw-highlights ul{ margin:var(--sp-2) 0 0; padding-left:1.1em; display:grid; gap:var(--sp-1); font-size:var(--fs-small); line-height:var(--lh-small); }
#network .nw-together li::marker, #network .nw-highlights li::marker{ color:var(--faint); }

#network .nw-comms{ display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--col-gap); }
#network .nw-comm{ display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-6) var(--sp-5); background:var(--panel); }
#network .nw-comm__role{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--accent); }
#network .nw-comm__name{ font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head); }
#network .nw-comm__en{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); color:var(--faint); white-space:nowrap; }
#network .nw-comm__tagline{ font-size:var(--fs-body); font-weight:var(--fw-medium); line-height:var(--lh-body); }
#network .nw-comm__desc{ max-width:var(--measure); color:var(--dim); }
#network .nw-events{ list-style:none; margin:var(--sp-2) 0 var(--sp-2); padding:0; }
#network .nw-event{ display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:var(--sp-1) var(--sp-4); align-items:center; padding-block:var(--sp-4); border-bottom:1px solid var(--line); }
#network .nw-event__when{ grid-column:1 / -1; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); font-variant-numeric:var(--num); color:var(--dim); }
#network .nw-event__label{ font-weight:var(--fw-bold); color:var(--txt); }
#network .nw-event__title{ font-weight:var(--fw-bold); }
#network .nw-event__place{ display:block; margin-top:var(--sp-1); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-body); color:var(--dim); }
#network .nw-event__stat{ display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
#network .nw-event__stat .num{ font-size:var(--fs-h2); line-height:var(--lh-h2); }
#network .nw-event__stat-label{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }

#network .nw-lineup{ margin-top:var(--sp-7); }
#network .nw-lineup__head{ display:flex; flex-wrap:wrap; gap:var(--sp-3); align-items:baseline; font-size:var(--fs-small); line-height:var(--lh-small); font-variant-numeric:var(--num); color:var(--faint); }
#network .nw-lineup__list{ list-style:none; margin:var(--sp-3) 0 0; padding:0; }
#network .nw-slot{
  display:grid; grid-template-columns:calc(var(--sp-8) - var(--sp-2)) minmax(0, 1fr); gap:var(--sp-1) var(--sp-3);
  padding:var(--sp-3) var(--sp-2); border-bottom:1px solid var(--line);
}
#network .nw-slot[data-self]{ background:var(--accent-soft); }
#network .nw-slot__time{ grid-row:span 2; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); font-variant-numeric:var(--num); color:var(--dim); padding-top:var(--sp-1); }
#network .nw-slot__code{ display:none; }
#network .nw-slot__who{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); font-weight:var(--fw-bold); }
#network .nw-slot__us{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--accent); }
#network .nw-slot__session{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }

#network .nw-cards{ margin-top:var(--sp-7); display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--col-gap); }
#network .nw-card{ display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-5); background:var(--panel); }
#network .nw-card__role, #network .nw-feature__role{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); }
#network .nw-card__name{ font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); }
#network .nw-card__alias, #network .nw-feature__alias, #network .nw-roster__alias{ font-weight:var(--fw-medium); color:var(--faint); }
#network .nw-card__alias{ font-size:var(--fs-small); line-height:var(--lh-small); white-space:nowrap; }
#network .nw-card__summary{ font-size:var(--fs-small); line-height:var(--lh-small); }
#network .nw-card .nw-together{ margin-top:auto; padding-top:var(--sp-3); border-top:1px solid var(--line); }

#network .nw-feature{ display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--sp-6); padding:var(--sp-6) var(--sp-5); background:var(--panel); }
#network .nw-feature__id{ display:flex; flex-direction:column; gap:var(--sp-3); }
#network .nw-feature__name{ font-size:var(--fs-h3); font-weight:var(--fw-bold); line-height:var(--lh-h3); letter-spacing:var(--ls-head); }
#network .nw-feature__alias{ display:block; margin-top:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); letter-spacing:var(--ls-label); }
#network .nw-feature__summary{ max-width:var(--measure); }
#network .nw-feature__body{ display:flex; flex-direction:column; gap:var(--sp-5); }
#network .nw-stats{ margin:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(calc(var(--sp-9) + var(--sp-6)), 1fr)); gap:var(--sp-4) var(--col-gap); }
#network .nw-stat{ display:flex; flex-direction:column-reverse; gap:var(--sp-1); }
#network .nw-stat dt{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
#network .nw-stat dd{ margin:0; }
#network .nw-stat .num{ font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:var(--ls-head); white-space:nowrap; }

#network .nw-roster{ margin-top:var(--sp-7); }
#network .nw-roster .num{ font-size:var(--fs-small); line-height:var(--lh-small); }
#network .nw-roster__list{ list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 var(--col-gap); }
#network .nw-roster__list li{ display:flex; flex-direction:column; gap:var(--sp-1); padding-block:var(--sp-3); border-bottom:1px solid var(--line); }
#network .nw-roster__name{ font-weight:var(--fw-bold); }
#network .nw-roster__alias{ font-size:var(--fs-small); line-height:var(--lh-small); }
#network .nw-roster__role{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); }

#network .nw-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--sp-3); padding-block:var(--sp-6); font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
#network .nw-foot a{ display:inline-flex; align-items:center; min-height:var(--tap); }

#network .nw-login{ min-height:calc(100vh - var(--header-h) * 3); display:flex; align-items:center; }
#network .nw-login__panel{ max-width:calc(var(--sp-10) * 3.5); margin-inline:auto; padding:var(--sp-7) var(--sp-5); background:var(--panel); }
#network .nw-login__kicker{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--dim); }
#network .nw-login__title{ margin-top:var(--sp-2); font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); }
#network .nw-login__form{ display:flex; flex-direction:column; gap:var(--sp-3); margin-top:var(--sp-6); }
#network .nw-login__label{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); }
#network .nw-login__input{
  min-height:var(--tap); padding-inline:var(--sp-3); border:1px solid var(--line-ui); border-radius:var(--radius); background:var(--bg);
  font-size:var(--fs-h3); line-height:var(--lh-h3); font-variant-numeric:var(--num); letter-spacing:var(--ls-head);
}
#network .nw-login__input:focus-visible{ border-color:var(--focus); }
#network .nw-login__error{ font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--status-progress-fg); }
#network .nw-login__submit{ margin-top:var(--sp-2); }

@media (min-width:768px){
  #network .nw-comms{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #network .nw-cards{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #network .nw-roster__list{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  #network .nw-index ol{ grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:var(--col-gap); }
  #network .nw-slot{ grid-template-columns:calc(var(--sp-8) - var(--sp-2)) calc(var(--sp-9) - var(--sp-2)) minmax(0, 14fr) minmax(0, 26fr); align-items:baseline; }
  #network .nw-slot__time{ grid-row:auto; padding-top:0; }
  #network .nw-slot__code{ display:block; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--faint); }
  #network .nw-slot__session{ font-size:var(--fs-body); line-height:var(--lh-body); color:var(--txt); }
  #network .nw-login__panel{ padding:var(--sp-8) var(--sp-7); }
}
@media (min-width:1024px){
  #network .nw-index ol{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  #network .nw-index li{ border-bottom:0; padding-inline:0 var(--sp-4); }
  #network .nw-index li:last-child{ border-right:0; }
  #network .nw-index__link{ grid-template-columns:auto minmax(0, 1fr); grid-template-rows:auto auto; padding-block:var(--sp-4); }
  #network .nw-index .num{ grid-column:1 / -1; font-size:var(--fs-display); line-height:var(--lh-display); }
  #network .nw-cards{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  #network .nw-roster__list{ grid-template-columns:repeat(5, minmax(0, 1fr)); }
  #network .nw-feature{ grid-template-columns:5fr 7fr; gap:var(--sp-8); padding:var(--sp-7); }
  #network .nw-comm{ padding:var(--sp-7) var(--sp-6); }
}



#press .pr-head{ display:flex; flex-direction:column; gap:var(--sp-3); margin-bottom:var(--stack-head); }
#press .pr-head__title{ font-size:var(--fs-h2); line-height:var(--lh-h2); word-break:keep-all; }
#press .pr-head__by{ margin:0; font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); color:var(--dim); }

#press .pr-list{ list-style:none; margin:0; padding:0; border-bottom:var(--hair) solid var(--line); }
#press .pr-item{
  display:grid; grid-template-columns:6rem minmax(0, 1fr);
  grid-template-areas:"src body" ". role";
  align-items:first baseline; gap:var(--sp-4) var(--col-gap);
  padding-block:var(--sp-5); border-top:var(--hair) solid var(--line);
}
#press .pr-item:first-child{ border-top-color:var(--line-strong); }
#press .pr-item p{ margin:0; }

#press .pr-item__src{ grid-area:src; display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; }
#press .pr-item__date{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium); font-variant-numeric:var(--num); color:var(--faint);
  white-space:nowrap;
}
#press .pr-item__outlet{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--txt);
  word-break:keep-all;
}

#press .pr-item__body{ grid-area:body; display:flex; flex-direction:column; gap:var(--sp-2); min-width:0; }
#press .pr-item__title{
  margin:0; max-width:var(--measure);
  font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-bold); letter-spacing:var(--ls-head);
  word-break:keep-all; text-wrap:pretty;
}
#press .pr-item--pin .pr-item__title{ max-width:28em; font-size:var(--fs-h2); line-height:var(--lh-h2); }
#press .pr-item__link{ color:var(--txt); text-decoration:none; }
#press .pr-item__link:hover{ color:var(--accent); text-decoration:underline; text-decoration-thickness:var(--hair); }
#press .pr-item__also{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--faint); }
#press .pr-item__also-link{ color:var(--dim); text-decoration:none; }
#press .pr-item__also-link:hover{ color:var(--support); text-decoration:underline; text-decoration-thickness:var(--hair); }

#press .pr-item__role{ grid-area:role; display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; }
#press .pr-item__co{
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label); color:var(--accent);
}
#press .pr-item__as{
  font-size:var(--fs-body); line-height:var(--lh-small); font-weight:var(--fw-bold); color:var(--txt);
  word-break:keep-all; text-wrap:pretty;
}
#press .pr-item__who{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim); word-break:keep-all; }

@media (min-width:768px){
  #press .pr-item{ grid-template-columns:8rem minmax(0, 1fr); }
}
@media (min-width:1024px){

  #press .pr-item{
    grid-template-columns:6.5rem 8.5rem minmax(0, 1fr) 17rem;
    grid-template-areas:"date outlet body role";
    padding-block:var(--sp-6);
  }
  #press .pr-item__src{ display:contents; }
  #press .pr-item__date{ grid-area:date; }
  #press .pr-item__outlet{ grid-area:outlet; }
}


#services .services__list{ list-style:none; margin:0; padding:0; }
#services .services-row{
  display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--sp-4);
  padding-block:var(--sp-6);
}
#services .services-row + .services-row{ border-top:var(--hair) solid var(--line); }
#services .services-row:first-child{ padding-top:0; }
#services .services-row:last-child{ padding-bottom:0; }

#services .services-row__name{
  margin:0; font-size:var(--fs-h2); line-height:var(--lh-h2); font-weight:var(--fw-bold);
  letter-spacing:var(--ls-head); word-break:keep-all; text-wrap:balance;
}
#services .services-row__text{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-2); min-width:0; }
#services .services-row__line{
  margin:0; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-body);
  color:var(--txt); word-break:keep-all; text-wrap:pretty; max-width:var(--measure);
}
#services .services-row__refs{
  margin:0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--dim);
  word-break:keep-all; text-wrap:pretty; max-width:var(--measure);
}
#services .services-row__more{
  margin-top:var(--sp-2); font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-medium);
  color:var(--support); text-decoration:none; min-height:var(--tap); display:inline-flex; align-items:center; gap:var(--sp-1);
}
#services .services-row__more:hover{ text-decoration:underline; }

#services .services-row__obj{ min-width:0; }
#services .services-row__shot{
  aspect-ratio:32 / 15; overflow:hidden; background:var(--panel);
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
#services .services-row__shot img{ width:100%; height:100%; object-fit:cover; display:block; }

#services .services-shelf{
  display:grid; grid-template-columns:repeat(2, minmax(0, 33fr)) minmax(0, 25fr); gap:var(--sp-3);
  aspect-ratio:32 / 15; align-items:stretch;
}
#services .services-shelf__cover{ min-height:0; }
#services .services-shelf__cover img{
  width:100%; height:100%; object-fit:cover; display:block;
  outline:var(--hair) solid var(--line); outline-offset:calc(var(--hair) * -1);
}
#services .services-shelf__vod{ display:grid; grid-template-rows:repeat(3, minmax(0, 1fr)); gap:var(--sp-2); min-height:0; }
#services .services-shelf__thumb{ min-height:0; overflow:hidden; background:var(--panel); }
#services .services-shelf__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

@media (min-width:1024px){
  #services .services-row{
    grid-template-columns:repeat(12, minmax(0, 1fr)); column-gap:var(--col-gap); align-items:start;
  }
  #services .services-row__name{ grid-column:1 / span 4; }
  #services .services-row__text{ grid-column:5 / span 4; padding-top:var(--sp-2); }
  #services .services-row__obj{ grid-column:9 / span 4; }
}



#testimonials figure, #testimonials blockquote, #testimonials p{ margin:0; }

#testimonials .ts-pair{ display:grid; gap:var(--sp-7); }

#testimonials .ts-lead__quote p{
  font-size:var(--fs-h2); line-height:var(--lh-h2); font-weight:var(--fw-medium); letter-spacing:var(--ls-head); color:var(--dim);
  text-wrap:pretty;
}
#testimonials .ts-lead__quote strong{ font-weight:var(--fw-bold); color:var(--txt); }
#testimonials .ts-lead__more{
  display:inline-block; margin-top:var(--sp-4);
  font-size:var(--fs-small); line-height:var(--lh-small); font-weight:var(--fw-bold); letter-spacing:var(--ls-label);
  color:var(--support); text-decoration:none;
}
#testimonials .ts-lead__more:hover{ text-decoration:underline; }

#testimonials .ts-side{ list-style:none; margin:0; padding:0; display:grid; border-top:var(--hair) solid var(--line); }
#testimonials .ts-item{ padding-block:var(--sp-5); border-top:var(--hair) solid var(--line); }
#testimonials .ts-item:first-child{ border-top:0; }
#testimonials .ts-item__quote p{
  font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-medium); color:var(--txt);
  text-wrap:pretty;
}

#testimonials .ts-lead__by,
#testimonials .ts-item__by{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--sp-1) var(--sp-3);
  font-size:var(--fs-small); line-height:var(--lh-small); letter-spacing:var(--ls-label);
}
#testimonials .ts-lead__by{ margin-top:var(--sp-5); }
#testimonials .ts-item__by{ margin-top:var(--sp-3); }
#testimonials .ts-lead__org,
#testimonials .ts-item__org{ font-weight:var(--fw-bold); color:var(--txt); }
#testimonials .ts-lead__who,
#testimonials .ts-item__who{ font-weight:var(--fw-medium); color:var(--dim); }
#testimonials .ts-lead__ctx,
#testimonials .ts-item__ctx{ flex-basis:100%; color:var(--faint); }
#testimonials .ts-lead__ctx a,
#testimonials .ts-item__ctx a{ color:inherit; text-decoration:none; }
#testimonials .ts-lead__ctx a:hover,
#testimonials .ts-item__ctx a:hover{ color:var(--support); text-decoration:underline; }

@media (min-width:1024px){
  #testimonials .ts-pair{ grid-template-columns:7fr 5fr; gap:0; align-items:start; }
  #testimonials .ts-lead{ padding-right:var(--col-gap); }
  #testimonials .ts-side{ padding-left:var(--col-gap); border-top:0; border-left:var(--hair) solid var(--line); }
  #testimonials .ts-item:first-child{ padding-top:0; }
}
