/* Restrained boutique typography and softly rounded links.
   Original space background and Canvas motion remain unchanged. */
:root {
  --background:#080b1b; --foreground:#f4efe7; --card:#101527;
  --card-foreground:#f4efe7; --muted-foreground:#b9b6b4;
  --border:#dfd1b52e; --primary:#eee5d7; --primary-foreground:#151a29;
  --radius:12px; --paper:var(--background); --panel:var(--card);
  --ink:var(--foreground); --muted:var(--muted-foreground); --line:var(--border);
}
body { background:var(--background); }
.site-header { border-bottom-color:#e0d2b922; }
.brand strong { font-weight:500; letter-spacing:.055em; }
.brand small { color:#b3ada7; letter-spacing:.24em; }
.brand-symbol { border:0; box-shadow:none; }
.share-button { border:0; border-radius:0; background:transparent; color:#d9d0c1; box-shadow:none; }
.course-title-wrap { border:0; padding-left:0; }
.course-title-wrap h1 { color:#eae2d6; font-family:var(--serif); font-weight:400; letter-spacing:.08em; }
.site-footer { border-top-color:#e0d2b922; color:#a5a0a2; }

.link-column .link-index { color:#d6cbbb; font-size:11px; font-weight:500; letter-spacing:.055em; margin-left:0; margin-right:0; }
.link-index::after { display:none; }
.link-column .store-link::before,.link-column .social-link::before,.link-column .coaching-link::before { display:none; }
.link-column .store-link,.link-column .social-link,.link-column .coaching-link {
  box-shadow:none; background:#0e1426f0; border:1px solid #d7cbb440;
  border-radius:var(--radius); color:var(--card-foreground);
  transition:background-color .2s,border-color .2s;
}
.link-column .social-icon,.link-column .coaching-icon { background:none; border:0; box-shadow:none; border-radius:0; color:#d6c9b5; }
.link-column .social-copy strong,.link-column .coaching-link strong { font-weight:400; letter-spacing:.03em; }
.link-column .pending-label { background:none; border:0; padding:0; color:#aaa7aa; font-size:10px; font-weight:400; letter-spacing:.04em; }
.link-column .social-arrow,.link-column .coaching-link>.icon { color:#c5b9a5; }

/* Each store is an independent full-width destination, without a surrounding card. */
.link-column .store-links { gap:8px; border:0; border-radius:0; background:none; overflow:visible; }
.link-column .store-link { border:1px solid #ddceb18f; border-radius:var(--radius); background:#141a2cf5; color:#f7f0e5; padding-inline:22px; }
.link-column .store-link>span:not(.sr-only) { flex-direction:column-reverse; align-items:flex-start; gap:2px; }
.link-column .store-link strong { font-size:20px; font-weight:400; line-height:1.25; letter-spacing:.045em; }
.link-column .store-link small { color:#b4aca4; font-size:10px; line-height:1.2; letter-spacing:.035em; }
.link-column .store-link>.icon:first-child { width:24px; height:24px; color:#e2d5bf; }
.link-column .store-link>.icon:last-of-type { border:0; border-radius:0; padding:0; width:14px; height:14px; color:#c5b9a5; }

.link-column .media-row { gap:8px; border:0; border-radius:0; background:none; overflow:visible; }
.link-column .media-row .social-link { border-color:transparent; border-bottom-color:#d7cbb44a; background:#0b1123c7; }
.link-column .lecture-link { background:#0d1325f2; }
.link-column .lecture-link .social-copy strong { font-size:18px; }
.link-column .coaching-link { background:#0d1325b8; border-color:#d7cbb440; }
.link-column .coaching-link strong { font-size:15px; letter-spacing:.07em; }
.link-column .store-link:focus-visible,.link-column .social-link:focus-visible,.link-column .coaching-link:focus-visible { outline:2px solid #eddfc7; outline-offset:3px; }
.link-column .store-link:active,.link-column .social-link[href]:active,.link-column .coaching-link[href]:active { transform:none; }
@media(hover:hover) and (pointer:fine) {
  .link-column .store-link[href]:hover { transform:none; border-color:#f4e9d3; background:#232a3a; box-shadow:none; }
  .link-column .social-link[href]:hover,.link-column .coaching-link[href]:hover { transform:none; background:#202738; border-color:#d7cbb4a0; box-shadow:none; }
  .share-button:hover { transform:none; background:#ffffff08; }
}

/* Use the space recovered from the removed tabs for the mascot, not empty padding. */
@media(min-width:860px) {
  .brand strong { font-size:21px; }
  .main-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); column-gap:64px; }
  .intro { padding-right:0; }
  .companion-art { --portrait-size:clamp(240px,23vw,300px); width:100%; height:calc(var(--portrait-size) + 36px); margin-top:74px; }
  .mascot-float { width:var(--portrait-size); height:var(--portrait-size); left:50%; top:18px; margin-left:calc(var(--portrait-size) / -2); }
  .stage-glow { width:100%; height:calc(var(--portrait-size) + 32px); top:0; }
}
@media(min-width:860px) and (width < 1100px) {
  .main-grid { column-gap:40px; }
  .link-column .store-link { padding-inline:18px; }
}
@media(width < 860px) {
  /* Reserve one CSS pixel for fractional svh at non-integer display scaling. */
  body { min-height:calc(100svh - 1px); }
  .site-shell { height:calc(100svh - 1px); }
  .site-header { min-height:46px; height:46px; }
  .site-footer { min-height:14px; height:14px; padding-block:0; }
  .intro { justify-content:center; }
  .companion-art { --portrait-size:clamp(100px,calc(100svh - 628px),240px); width:min(300px,100%); margin-top:38px; }
  .stage-glow { width:100%; }
  .link-column .link-index { font-size:11px; letter-spacing:.055em; }
  .link-column .store-links { gap:6px; }
  .link-column .store-link { padding-inline:18px; }
  .link-column .store-link strong { font-size:18px; }
  .link-column .lecture-link .social-copy strong { font-size:17px; }
  .link-column .coaching-link strong { font-size:14px; }
  .link-column .media-row { gap:7px; }
  .link-column .radio-row .social-copy strong { font-size:11px; letter-spacing:0; }
  .link-column .radio-row .pending-label { font-size:9px; }
}
@media(width < 860px) and (max-height:760px) {
  .companion-art { --portrait-size:clamp(90px,calc(100svh - 542px),184px); margin-top:32px; }
  .link-column .store-link strong { font-size:17px; }
  .link-column .store-link small { font-size:9px; }
}
@media(width < 860px) and (max-height:640px) {
  .main-grid { padding-block:3px; }
  .companion-art { --portrait-size:clamp(58px,calc(100svh - 474px),168px); margin-top:28px; }
  .link-column .link-index { font-size:10px; }
  .link-column .store-links { gap:4px; }
  .link-column .store-link strong { font-size:16px; }
  .link-column .store-link small { font-size:8px; }
  .link-column .radio-row .social-copy strong { font-size:10px; }
  .link-column .radio-row .pending-label,.link-column .pending-label { font-size:8px; }
}
@media(width < 860px) and (max-height:580px) {
  .intro-top { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
}
@media(width < 860px) and (max-height:550px) {
  .companion-art { margin-top:12px; }
  .link-column { gap:2px; }
}
@media(min-width:600px) and (width < 860px) and (min-height:900px) {
  .site-header { min-height:72px; height:72px; }
  .site-footer { min-height:32px; height:32px; padding-block:5px; }
  .companion-art { --portrait-size:clamp(156px,calc(100svh - 744px),292px); width:min(360px,100%); margin-top:46px; }
}
@media(prefers-reduced-motion:reduce) {
  .link-column .store-link,.link-column .social-link,.link-column .coaching-link { transition:none; }
}

/* Editorial polish: numbered sections, a clear live/pending distinction and a
   composed title block. Only transform, opacity and colours transition. */
:root {
  --gold:#d8c29c; --gold-line:#d8c29c3d;
  --latin-serif:"Didot","Bodoni 72",Georgia,"Times New Roman",serif;
  --latin-sans:"Helvetica Neue","Segoe UI","Hiragino Sans",Arial,sans-serif;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
}
.course-eyebrow,.intro-text { display:none; }
.course-title-wrap h1 { color:#f3ece0; }
.course-english { display:block; margin-top:4px; font:400 8px/1.4 var(--latin-sans); letter-spacing:.34em; color:#bcae97; }

.link-column .link-index { gap:9px; }
.link-index-no { font:italic 400 12px/1 var(--latin-serif); letter-spacing:.02em; color:var(--gold); }
.link-column .link-index::after { display:block; content:""; flex:1; height:1px; background:linear-gradient(90deg,var(--gold-line),transparent 80%); }

.link-column a.store-link,.link-column a.social-link,.link-column a.coaching-link {
  overflow:hidden; border:1px solid #ddcfb36b;
  background:linear-gradient(180deg,#ffffff0a,#ffffff00 60%),#10162af5;
}
.link-column a.store-link::after,.link-column a.social-link::after,.link-column a.coaching-link::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,#fff1d814 50%,transparent 70%);
  transform:translateX(-100%); transition:transform .9s var(--ease-out-expo);
}
.link-column a .icon:last-of-type,.link-column a .social-arrow { transition:transform .35s var(--ease-out-expo); }
.link-column .store-link strong,.link-column .social-copy strong { font-family:var(--latin-sans); }

.link-column .is-pending.store-link,.link-column .is-pending.social-link,.link-column .media-row .is-pending.social-link {
  cursor:default; border:1px solid #ffffff12; background:#0a0f1e99;
}
.link-column .is-pending .social-icon { color:#9b958e; }
.link-column .is-pending .social-copy strong { color:#cbc4b9; }
.link-column .pending-label { color:#a0988c; letter-spacing:.14em; }

@media(hover:hover) and (pointer:fine) {
  .link-column a.store-link[href]:hover,.link-column a.social-link[href]:hover,.link-column a.coaching-link[href]:hover {
    border-color:#f1e4cbd9; background:linear-gradient(180deg,#ffffff10,#ffffff00 60%),#171e33;
  }
  .link-column a[href]:hover::after { transform:translateX(100%); }
  .link-column a[href]:hover .icon:last-of-type,.link-column a[href]:hover .social-arrow { transform:translate(2px,-2px); }
}
.link-column a.store-link[href]:active,.link-column a.social-link[href]:active,.link-column a.coaching-link[href]:active { background:#0c1222; }

@media(min-width:860px) {
  .course-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:18px; font:400 10px/1 var(--latin-sans); letter-spacing:.34em; color:var(--gold); }
  .course-eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
  .course-title-wrap h1 { font-size:clamp(26px,2.6vw,36px); line-height:1.35; letter-spacing:.1em; }
  .course-english { margin-top:12px; font-size:10px; }
  .intro-text { display:block; max-width:24em; margin-top:22px; padding-top:20px; border-top:1px solid var(--gold-line); font-size:13px; line-height:2.1; letter-spacing:.06em; color:#bdb5aa; }
  .companion-art { margin-top:20px; }
}
@media(width < 860px) {
  .course-title-wrap h1 { font-size:19px; letter-spacing:.12em; }
  .companion-art { margin-top:26px; }
}
@media(width < 860px) and (max-height:760px) {
  .course-english { display:none; }
  .course-title-wrap h1 { font-size:16px; letter-spacing:.08em; }
}
@media(prefers-reduced-motion:reduce) {
  .link-column a::after,.link-column a .icon,.link-column a .social-arrow { transition:none; }
}
