/* Shared visual direction: ink, paper and one red accent. */
:root{--bg:#111;--fg:#f6f5f2;--red:#ee3434;--line:#333;--muted:#bfbfbb}body{background:#080808;color:var(--fg)}.site-header{background:#111;border-color:#333}.brand{font-family:Pre,sans-serif;font-size:26px;font-weight:650;letter-spacing:-.06em}.brand span{font-size:11px;font-weight:400;letter-spacing:.05em;margin-left:12px;color:#a3a3a0}.main-nav{gap:28px}.main-nav a{font-size:14px;font-weight:450;color:#bcbcb8}.main-nav a[aria-current=page],.main-nav a.active{color:#fff;border-bottom:2px solid var(--red)}.main-nav a.active:after{display:none}.account{font-weight:450;font-size:13px;color:#ddd}.skip{position:fixed;top:-100px;z-index:30;background:white;color:black;padding:16px}.skip:focus{top:0}.course-tabs{display:flex;gap:24px;overflow:auto;white-space:nowrap;padding:19px 24px;border-bottom:1px solid #333;font-size:12px}.course-tabs a{color:#aaa}.course-tabs .selected{color:#fff}.course-tabs small{font-size:10px;margin-left:5px}.editorial-hero{padding-top:35px}.eyebrow{font-size:12px;font-weight:500;color:#bcbcb8;line-height:1.5;letter-spacing:0}.editorial-hero>.eyebrow{display:flex;justify-content:space-between;margin:0 24px 32px}.hero-premise{font-size:14px;font-weight:450;margin:0 24px 14px;color:#dededb}.editorial-hero h1{font-size:clamp(45px,12.5vw,61px);font-weight:600;letter-spacing:-.055em;line-height:1.12;margin:0 24px 28px}.period{color:var(--red)}.hero-photo{position:relative}.hero-photo .rin-portrait{margin:0;aspect-ratio:1/1.05}.photo-credit{position:absolute;bottom:20px;left:24px;font-size:10px;line-height:1.5;letter-spacing:.09em;color:#fff;text-shadow:0 1px 8px #000}.hero-summary{padding:27px 24px 30px}.hero-summary h2{font-size:24px;font-weight:600;letter-spacing:-.045em;margin:0 0 14px}.hero-summary>p{font-size:15px;line-height:1.85;color:#c7c7c3;margin:0}.course-facts{display:flex;gap:16px;align-items:center;margin:28px 0 20px;font-size:12px;color:#bbb}.course-facts strong{margin-left:auto;font-weight:600;font-size:20px;color:#fff}.primary-link{display:flex;align-items:center;justify-content:space-between;background:#eb3232;color:#fff;border:0;border-radius:3px;width:100%;padding:18px 20px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}.primary-link span{font-size:22px}.hero-summary .entry-caption{font-size:12px;text-align:center;margin-top:12px;color:#aaa}.question-list{padding:45px 24px 55px;border-top:1px solid #333}.question-list h2{font-size:29px;font-weight:550;line-height:1.45;letter-spacing:-.045em;margin:22px 0 35px}.question-list ol{list-style:none;padding:0;margin:0 0 32px}.question-list li{display:flex;gap:22px;padding:25px 0;border-top:1px solid #333}.question-list li>span{font-size:12px;color:#92928f;padding-top:5px}.question-list h3{font-size:19px;font-weight:550;letter-spacing:-.03em;margin:0 0 10px}.question-list li p{font-size:14px;line-height:1.8;color:#bfbfbb;margin:0}.under-link{display:inline-block;border-bottom:1px solid #999;padding-bottom:8px;font-size:13px;font-weight:500}.instructor-note{background:#eeede8;color:#181818;padding:43px 24px 45px}.instructor-note .eyebrow{color:#555}.instructor-title{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #bbb;padding:20px 0}.instructor-title h2{font-size:68px;font-weight:500;letter-spacing:-.07em;margin:0;line-height:1}.instructor-title span{font-size:12px;color:#555}.instructor-note>p:not(.eyebrow){font-size:24px;line-height:1.55;font-weight:450;letter-spacing:-.04em;margin:28px 0}.next-classes{padding:40px 24px 55px}.catalog-title{font-size:29px;line-height:1.45;letter-spacing:-.045em;font-weight:550;margin:19px 0 30px}.course-grid{display:grid;gap:12px}.course-tile{display:block;min-height:226px;padding:20px;background:#1a1718;border:1px solid #393134;position:relative;transition:border-color .18s,transform .18s,background-color .18s}.course-tile:hover{border-color:#ff398c;background:#22191c;transform:translateY(-2px)}.course-tile-active{background:linear-gradient(145deg,#2b151b,#161214);border-color:#ff398c}.course-tile-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;color:#d38c9f}.course-tile strong{display:block;font-size:28px;line-height:1.18;letter-spacing:-.06em;font-weight:600;margin-top:28px}.course-tile p{font-size:13px;line-height:1.7;color:#bdb4b2;margin:19px 0 30px}.tile-link{font-size:12px;color:#f39bbd;position:absolute;left:20px;bottom:20px}.footer{background:#111;color:#aaa;border-color:#333;font-size:12px}.footer .brand{font-family:Pre,sans-serif}.footer .draft{font-size:11px;margin-top:28px;color:#969690}.subpage h1{font-weight:550;letter-spacing:-.04em}.subpage h2{font-weight:550}.subpage p{color:#ccc}.kicker,.proposal{color:#bbb!important}.solid{background:#eb3232;border-radius:3px;font-weight:550}.instructor-name{border-color:#333}.footer-links{flex-wrap:wrap;gap:16px}a,button{transition:background-color .18s,color .18s}a:hover{color:#fff}.instructor-note a:hover{color:#a92323}.primary-link:hover,.solid:hover{background:#c92727}.primary-link:active,button:active{transform:translateY(1px)}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}.auth-main{min-height:75svh;padding:45px 24px 65px}.auth-step{display:flex;gap:20px;font-size:12px;color:#aaa;margin:36px 0}.auth-step .current{color:white;border-bottom:1px solid #ee3434;padding-bottom:8px}.auth-main h1{font-size:37px;font-weight:550;letter-spacing:-.045em;line-height:1.3;margin:0 0 18px}.auth-copy{font-size:15px;line-height:1.85;color:#bbb}.provider{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;padding:19px;border-radius:3px;margin-top:12px;border:1px solid #555;font-size:15px;font-weight:550}.provider.google{background:white;color:#202020}.provider.kakao{background:#fee500;color:#191919;border-color:#fee500}.provider-mark{font-size:19px;font-weight:700}.auth-actions{margin:38px 0 24px}.auth-notice{font-size:12px;line-height:1.8;color:#aaa;border-top:1px solid #333;padding-top:20px}.auth-status{font-size:14px;line-height:1.7;color:#fff;background:#242424;padding:16px;border-left:2px solid #ee3434;margin:20px 0}.auth-status:empty{display:none}.age-symbol{width:74px;height:74px;display:grid;place-items:center;border:2px solid #ee3434;border-radius:50%;font-size:31px;font-weight:500;margin:28px 0}.auth-main .back-link{margin-bottom:10px}.auth-main button:disabled{opacity:.55;cursor:wait}.auth-main .under-link{margin-top:24px}.legal-copy h2{font-size:20px;margin-top:32px}.legal-copy p{font-size:14px;line-height:1.8;color:#ccc}

/* Pink and silver release */
:root{--red:#ff398c;--fg:#f2f3f7} .editorial-hero h1,.hero-summary h2{font-weight:750}.editorial-hero h1{color:#f2f3f7;background:linear-gradient(115deg,#fff 5%,#ced2dc 38%,#ff91c2 68%,#ff398c 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.primary-link,.solid{background:#ff398c;color:#160910;font-weight:750}.primary-link:hover,.solid:hover{background:#ff73ad}.hero-premise{color:#f0c4da;font-weight:600}.instructor-note{background:#e3e5eb}.period{color:#ff398c}

/* Responsive layout: keep the narrow editorial rhythm on phones and open it up on desktop. */
@media (min-width: 768px) {
  body { background: #050506; }
  .site-header, main, .footer { max-width: 1180px; }
  .topbar, .main-nav { max-width: 1040px; margin-inline: auto; }
  .topbar, .main-nav { padding-inline: 0; }
  .course-tabs { max-width: 1040px; margin-inline: auto; padding-inline: 0; }
  .editorial-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); column-gap:72px; padding:88px 80px 104px; }
  .editorial-hero>.eyebrow { grid-column:1/-1; margin:0 0 40px; }
  .hero-premise { grid-column:1; margin-inline:0; }
  .editorial-hero>h1 { grid-column:1; margin-inline:0; font-size:clamp(58px,6vw,86px); }
  .hero-photo { grid-column:2; grid-row:2/span 3; align-self:stretch; }
  .hero-photo .rin-portrait { aspect-ratio:4/5; height:100%; }
  .hero-summary { grid-column:1; padding:0; align-self:end; }
  .hero-summary h2 { font-size:30px; }
  .hero-summary>p { max-width:28rem; }
  .question-list { padding:96px 80px 108px; }
  .question-list ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 38px; }
  .question-list li { min-width:0; }
  .question-list h2 { font-size:42px; }
  .instructor-note { padding:88px 80px; display:grid; grid-template-columns:1fr 1fr; column-gap:80px; align-items:end; }
  .instructor-note>.eyebrow { grid-column:1/-1; }
  .instructor-title { grid-column:1; }
  .instructor-note>p:not(.eyebrow) { grid-column:2; margin:0; }
  .instructor-note>.under-link { grid-column:2; justify-self:start; margin-top:28px; }
  .next-classes { padding:86px 80px 100px; }
  .course-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .catalog-title { font-size:42px; }
  .footer { padding-inline:80px; }
}
@media (min-width:1180px) {
  .editorial-hero { padding-inline:112px; }
  .question-list,.instructor-note,.next-classes { padding-inline:112px; }
  .footer { padding-inline:112px; }
}
