/* Roni Gozali – course pages (catalog, course, player, account, my courses).
   Same language as the landing page: Bricolage display type, DM Sans body, sage actions, sun details, stone surfaces. */

:root{ --rgc-nav:5.4rem; --rgc-r:1.6rem; }
.rgc{ display:block; padding-top:var(--rgc-nav); min-height:70vh; }
.rgc .rgc-i{ width:1.1em; height:1.1em; flex:none; }
.rgc-muted{ display:inline-flex; align-items:center; gap:.4rem; color:var(--mute); font-size:.95rem; }
.rgc-lead{ color:var(--mute); font-size:clamp(1.05rem,1.35vw,1.22rem); line-height:1.55; max-width:36em; }
.rgc-crumb{ display:inline-flex; align-items:center; gap:.45rem; color:var(--mute); font-size:.9rem; text-decoration:none; transition:color .2s; }
.rgc-crumb:hover{ color:var(--ink); }
.rgc .kicker{ color:var(--sun-deep); }
.rgc-bar{ display:block; height:6px; border-radius:99px; background:var(--stone); overflow:hidden; }
.rgc-bar i{ display:block; height:100%; border-radius:99px; background:var(--sage); transition:width .6s var(--ease); }
.btn.is-off{ opacity:.55; pointer-events:none; }

/* nav: account link (course pages only) */
.rgc-acct{ display:inline-flex; align-items:center; gap:.45rem; font-size:.92rem; text-decoration:none; opacity:.85; white-space:nowrap; }
.rgc-acct:hover{ opacity:1; }
.rgc-acct .rgc-i{ width:1.15em; height:1.15em; }
@media (max-width:520px){ .nav .rgc-acct span{ display:none; } .nav .btn{ padding-inline:1rem; } }

/* ── intro (catalog / my courses) ── */
.rgc-intro{ display:grid; gap:1.1rem; padding-block:clamp(2.5rem,7vw,5.5rem) clamp(2rem,4vw,3rem); }
.rgc-intro h1.disp{ font-size:clamp(3rem,9vw,7.2rem); }
.rgc-intro.is-row{ grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:1.5rem 3rem; }
.rgc-intro.is-row > div:first-child{ display:grid; gap:1.1rem; }
.rgc-account-links{ display:flex; flex-wrap:wrap; gap:.4rem; }
.rgc-account-links a{ padding:.55rem 1rem; border:1px solid var(--line); border-radius:999px; font-size:.9rem; text-decoration:none; transition:border-color .2s; }
.rgc-account-links a:hover{ border-color:var(--ink); }

/* ── course cards ── */
.rgc-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr)); gap:clamp(1rem,2.4vw,2rem); padding-bottom:clamp(4rem,9vw,7rem); }
.rgc-card{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--rgc-r); background:var(--paper); overflow:hidden; text-decoration:none; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
@media (hover:hover){ .rgc-card:hover{ transform:translateY(-4px); border-color:transparent; box-shadow:0 30px 60px -34px rgba(31,37,35,.45); } .rgc-card:hover .rgc-card-ph img{ transform:scale(1.04); } }
.rgc-card.is-ended{ opacity:.75; }
.rgc-card-ph{ position:relative; margin:0; aspect-ratio:5/4; background:linear-gradient(160deg,var(--stone),#E8DDCF); overflow:hidden; }
.rgc-card-ph img{ width:100%; height:100%; max-width:none; object-fit:cover; transition:transform .8s var(--ease); }
.rgc-flag{ position:absolute; top:1rem; left:1rem; padding:.42rem .85rem; border-radius:999px; background:var(--sun); color:var(--night); font:600 .74rem/1 var(--body); letter-spacing:.14em; text-transform:uppercase; }
.rgc-flag.is-dark{ background:var(--ink); color:var(--paper); }
.rgc-card-b{ flex:1; display:flex; flex-direction:column; gap:.7rem; padding:1.4rem 1.5rem 1.4rem; }
.rgc-card-b h2{ font:600 clamp(1.45rem,2vw,1.75rem)/1.05 var(--display); letter-spacing:-.03em; }
.rgc-card-b > p{ color:var(--mute); font-size:.97rem; }
.rgc-card-f{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); }
.rgc-go{ display:inline-flex; align-items:center; gap:.4rem; color:var(--sage-deep); font-weight:500; font-size:.95rem; }
.rgc-go .rgc-i{ transition:transform .3s var(--ease); }
.rgc-card:hover .rgc-go .rgc-i{ transform:translateX(3px); }
.rgc-mini-prog{ display:flex; align-items:center; gap:.6rem; flex:1; max-width:12rem; font-size:.88rem; color:var(--mute); }
.rgc-mini-prog .rgc-bar{ flex:1; }

.rgc-price{ font:600 1.3rem/1 var(--display); letter-spacing:-.02em; color:var(--ink); }
.rgc-price s{ font-size:.75em; color:var(--mute-2); font-weight:400; margin-right:.25em; }
.rgc-price-big .rgc-price{ font-size:clamp(1.8rem,3vw,2.4rem); }

.rgc-facts{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; color:var(--mute); font-size:.95rem; }
.rgc-facts li{ display:inline-flex; align-items:center; gap:.45rem; }
.rgc-facts .rgc-i{ color:var(--sun-deep); }
.rgc-facts.is-small{ font-size:.86rem; gap:.4rem 1rem; }

.rgc-empty{ grid-column:1/-1; display:grid; justify-items:center; gap:1rem; padding:clamp(3rem,8vw,5.5rem) 1.5rem; border-radius:2rem; background:var(--stone); text-align:center; }
.rgc-empty h2{ font:500 clamp(1.8rem,3.5vw,2.6rem)/1 var(--display); letter-spacing:-.035em; }
.rgc-empty p{ color:var(--mute); max-width:28em; }
.rgc-empty-ic{ display:grid; place-items:center; width:4rem; height:4rem; border-radius:50%; background:var(--paper); color:var(--sun-deep); }
.rgc-empty-ic .rgc-i{ width:1.6rem; height:1.6rem; }

/* ── course page ── */
.rgc-hero{ padding-block:clamp(1.5rem,4vw,3rem) clamp(3rem,7vw,5.5rem); }
.rgc-hero-g{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.rgc-hero-copy{ display:grid; gap:1.3rem; justify-items:start; }
.rgc-hero-copy h1.disp{ font-size:clamp(2.8rem,6.6vw,5.8rem); }
.rgc-hero-copy .cta-row{ margin-top:.4rem; }
.rgc-note{ color:var(--mute-2); font-size:.88rem; }
.rgc-hero-media{ margin:0; aspect-ratio:4/5; border-radius:2rem; overflow:hidden; background:linear-gradient(160deg,var(--stone),#E8DDCF); }
.rgc-hero-media img{ width:100%; height:100%; max-width:none; object-fit:cover; }
.rgc-hero-media.is-video{ aspect-ratio:16/10; background:var(--night); }
.rgc-hero-media .rgc-video-el{ display:block; width:100%; height:100%; border:0; object-fit:cover; }
.rgc-hero-media:empty{ display:none; }
.rgc-progress{ display:grid; gap:.55rem; width:min(100%,26rem); }
.rgc-progress-t{ display:flex; justify-content:space-between; gap:1rem; font-size:.92rem; color:var(--mute); }
.rgc-progress-t b{ color:var(--ink); font-weight:500; }
.rgc-progress.is-small{ width:100%; gap:.4rem; }
.rgc-progress.is-small .rgc-progress-t{ font-size:.82rem; }

.rgc-body{ display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,22rem); gap:clamp(2rem,5vw,5rem); align-items:start; padding-bottom:clamp(4rem,9vw,7rem); }
.rgc-body-main{ display:grid; gap:clamp(3rem,6vw,4.5rem); min-width:0; }
.rgc-block{ display:grid; gap:1.5rem; }
.rgc .rgc-h2{ font-size:clamp(2rem,4.2vw,3.2rem); }
.rgc-h2-row{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1.5rem; }
.rgc-h2-row span{ color:var(--mute); font-size:.95rem; }
.rgc-learn{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2rem; }
.rgc-learn li{ display:grid; grid-template-columns:1.8rem minmax(0,1fr); gap:.8rem; align-items:start; }
.rgc-learn .rgc-i{ width:1.8rem; height:1.8rem; padding:.38rem; border-radius:50%; background:var(--sage-tint); color:var(--sage-deep); }
.rgc-req{ border-top:0; padding-top:0; }
.rgc-prose{ max-width:42em; color:#3A413F; font-size:1.05rem; }
.rgc-prose > * + *{ margin-top:1em; }
.rgc-prose h3,.rgc-prose h4{ font:600 1.4rem/1.15 var(--display); letter-spacing:-.025em; color:var(--ink); margin-top:1.6em; }
.rgc-prose h4{ font-size:1.15rem; }
.rgc-prose ul,.rgc-prose ol{ padding-left:1.3em; }
.rgc-prose li + li{ margin-top:.35em; }
.rgc-prose a{ color:var(--sage-deep); text-underline-offset:.2em; }
.rgc-prose blockquote{ margin:1.4em 0; padding:.2em 0 .2em 1.2em; border-left:3px solid var(--sun); font:400 1.3rem/1.35 var(--display); letter-spacing:-.02em; color:var(--ink); }
.rgc-prose img{ border-radius:1rem; height:auto; }

/* curriculum */
.rgc-curriculum{ border-top:1px solid var(--line); }
.rgc-mod{ border-bottom:1px solid var(--line); }
.rgc-mod summary{ list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto 1.6rem; align-items:center; gap:1rem; padding-block:1.15rem; }
.rgc-mod summary::-webkit-details-marker{ display:none; }
.rgc-mod summary::after{ content:""; width:1.6rem; height:1.6rem; background:linear-gradient(var(--ink),var(--ink)) center / .8rem 1.5px no-repeat, linear-gradient(var(--ink),var(--ink)) center / 1.5px .8rem no-repeat; transition:transform .35s var(--ease); }
.rgc-mod[open] summary::after{ transform:rotate(45deg); }
.rgc-mod-t{ font:600 1.22rem/1.2 var(--display); letter-spacing:-.02em; }
.rgc-mod summary small{ color:var(--mute); font-size:.86rem; }
.rgc-ls{ list-style:none; margin:0; padding:0 0 1rem; display:grid; gap:.15rem; }
.rgc-l{ display:grid; grid-template-columns:2.1rem minmax(0,1fr) auto; align-items:center; gap:.85rem; padding:.7rem .75rem; border-radius:.9rem; text-decoration:none; color:var(--ink); transition:background-color .2s; }
.rgc-l:hover{ background:var(--stone); }
.rgc-l-ic{ display:grid; place-items:center; width:2.1rem; height:2.1rem; border-radius:50%; background:var(--stone); color:var(--sage); }
.rgc-l-ic .rgc-i{ width:.95rem; height:.95rem; }
.rgc-l-t{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .6rem; min-width:0; }
.rgc-l-t b{ font-weight:400; font-size:.98rem; }
.rgc-l-d{ color:var(--mute-2); font-size:.85rem; font-variant-numeric:tabular-nums; }
.rgc-l.is-locked, .rgc-l.is-drip{ color:var(--mute); }
.rgc-l.is-locked .rgc-l-ic, .rgc-l.is-drip .rgc-l-ic{ background:transparent; border:1px solid var(--line); color:var(--mute-2); }
.rgc-l.is-done .rgc-l-ic{ background:var(--sage); color:#fff; }
.rgc-l.is-current{ background:var(--sage-tint); }
.rgc-l.is-current .rgc-l-ic{ background:var(--sage); color:#fff; }
.rgc-l.is-current b{ font-weight:500; }
.rgc-tag{ display:inline-flex; align-items:center; height:1.35rem; padding:0 .55rem; border-radius:999px; background:var(--sun); color:var(--night); font:600 .66rem/1 var(--body); font-style:normal; letter-spacing:.12em; text-transform:uppercase; }
.rgc-tag.is-big{ height:1.6rem; padding:0 .75rem; font-size:.72rem; margin-bottom:.7rem; }

/* side card */
.rgc-body-side{ position:sticky; top:calc(var(--rgc-nav) + 1rem); }
.rgc-side-card{ border:1px solid var(--line); border-radius:var(--rgc-r); overflow:hidden; background:var(--paper); box-shadow:0 30px 60px -44px rgba(31,37,35,.5); }
.rgc-side-card > img{ width:100%; aspect-ratio:16/10; object-fit:cover; max-width:none; }
.rgc-side-in{ display:grid; gap:.9rem; padding:1.5rem; }
.rgc-side-k{ font:500 .74rem/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--mute-2); }
.rgc-side-big{ font:600 2.4rem/1 var(--display); letter-spacing:-.04em; }
.rgc-side-big .rgc-price{ font-size:inherit; }
.rgc-side-cta .btn{ width:100%; }
.rgc-includes{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; color:var(--mute); font-size:.94rem; }
.rgc-includes li{ display:flex; align-items:center; gap:.65rem; }
.rgc-includes .rgc-i{ color:var(--sage); }
.rgc-includes.is-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.6rem; margin-top:.6rem; }

/* ── player ── */
.rgc-player{ display:grid; grid-template-columns:minmax(17rem,22rem) minmax(0,1fr); padding-top:var(--rgc-nav); min-height:100svh; }
.rgc-pl-side{ position:sticky; top:var(--rgc-nav); height:calc(100svh - var(--rgc-nav)); overflow-y:auto; overscroll-behavior:contain; border-right:1px solid var(--line); background:#FCFAF6; }
.rgc-pl-side-h{ position:relative; display:grid; gap:.8rem; padding:1.4rem 1.4rem 1.2rem; border-bottom:1px solid var(--line); }
.rgc-pl-course{ font:600 1.35rem/1.08 var(--display); letter-spacing:-.025em; }
.rgc-curriculum.is-side{ border-top:0; padding:0 .7rem 3rem; }
.rgc-curriculum.is-side .rgc-mod summary{ padding:1rem .7rem; grid-template-columns:minmax(0,1fr) auto 1.2rem; gap:.6rem; }
.rgc-curriculum.is-side .rgc-mod summary::after{ width:1.2rem; height:1.2rem; background-size:.65rem 1.5px, 1.5px .65rem; }
.rgc-curriculum.is-side .rgc-mod-t{ font-size:1.02rem; }
.rgc-curriculum.is-side .rgc-mod summary small{ font-size:.78rem; }
.rgc-curriculum.is-side .rgc-ls{ padding-bottom:.7rem; }
.rgc-curriculum.is-side .rgc-l{ grid-template-columns:1.75rem minmax(0,1fr) auto; gap:.65rem; padding:.55rem .6rem; }
.rgc-curriculum.is-side .rgc-l-ic{ width:1.75rem; height:1.75rem; }
.rgc-curriculum.is-side .rgc-l-t b{ font-size:.9rem; line-height:1.3; }
.rgc-curriculum.is-side .rgc-l-d{ font-size:.78rem; }
.rgc-side-x, .rgc-side-open{ display:none; }
.rgc-scrim{ display:none; }

.rgc-pl-main{ min-width:0; width:100%; max-width:68rem; padding:1.4rem clamp(1rem,4vw,3.5rem) clamp(4rem,8vw,6rem); display:grid; gap:1.6rem; align-content:start; }
.rgc-pl-top{ display:flex; align-items:center; gap:1rem; color:var(--mute); font-size:.88rem; }
.rgc-video{ position:relative; aspect-ratio:16/9; border-radius:1.4rem; overflow:hidden; background:var(--night); box-shadow:0 40px 80px -50px rgba(14,13,12,.8); }
.rgc-video .rgc-video-el{ position:absolute; inset:0; width:100%; height:100%; border:0; background:var(--night); }
.rgc-pl-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; }
.rgc-pl-head > div{ display:grid; justify-items:start; gap:.5rem; }
.rgc-pl-title{ font:500 clamp(2rem,4.2vw,3.4rem)/.95 var(--display); letter-spacing:-.04em; }
.rgc-done-btn{ border-color:var(--line); color:var(--ink); background:var(--paper); }
.rgc-done-btn .rgc-i{ width:1.1em; height:1.1em; }
.rgc-done-btn.is-done{ background:var(--sage-tint); border-color:transparent; color:var(--sage-deep); }
.rgc-done-btn.is-busy{ opacity:.6; pointer-events:none; }

.rgc-files{ display:grid; gap:.6rem; max-width:42em; }
.rgc-files-h{ font:500 .8rem/1 var(--body); letter-spacing:.22em; text-transform:uppercase; color:var(--mute-2); margin-bottom:.3rem; }
.rgc-file{ display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto; align-items:center; gap:1rem; padding:.8rem 1rem .8rem .8rem; border:1px solid var(--line); border-radius:1rem; text-decoration:none; transition:border-color .2s, background-color .2s; }
.rgc-file:hover{ border-color:var(--sage); background:var(--sage-tint); }
.rgc-file-ic{ display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:.75rem; background:var(--stone); color:var(--sun-deep); }
.rgc-file-t{ display:grid; min-width:0; }
.rgc-file-t b{ font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rgc-file-t small{ color:var(--mute); font-size:.82rem; }
.rgc-file-d{ color:var(--sage); }

.rgc-upsell{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem 2rem; padding:1.6rem 1.8rem; border-radius:var(--rgc-r); background:var(--stone); }
.rgc-upsell-k{ font:600 1.4rem/1.1 var(--display); letter-spacing:-.025em; margin-bottom:.3rem; }
.rgc-upsell p:not(.rgc-upsell-k){ color:var(--mute); }

.rgc-locked{ display:grid; justify-items:center; gap:1.1rem; padding:clamp(2.5rem,7vw,5rem) clamp(1.2rem,5vw,4rem); border-radius:2rem; background:var(--stone); text-align:center; }
.rgc-locked-ic{ display:grid; place-items:center; width:4.2rem; height:4.2rem; border-radius:50%; background:var(--paper); color:var(--sun-deep); box-shadow:0 18px 40px -22px rgba(31,37,35,.45); margin-bottom:.4rem; }
.rgc-locked-ic .rgc-i{ width:1.6rem; height:1.6rem; }
.rgc-locked h1.disp{ font-size:clamp(2.4rem,5.4vw,4.4rem); }
.rgc-locked .rgc-lead{ max-width:30em; }
.rgc-locked .cta-row{ justify-content:center; margin-top:.4rem; }

.rgc-pl-nav{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.rgc-pl-prev, .rgc-pl-next{ display:flex; align-items:center; gap:.9rem; padding:1rem 1.2rem; border:1px solid var(--line); border-radius:1.1rem; text-decoration:none; min-width:0; transition:border-color .2s, transform .3s var(--ease); }
.rgc-pl-prev:hover, .rgc-pl-next:hover{ border-color:var(--ink); }
.rgc-pl-next{ grid-column:2; justify-content:flex-end; text-align:right; }
.rgc-pl-prev span, .rgc-pl-next span{ display:grid; min-width:0; }
.rgc-pl-prev small, .rgc-pl-next small{ color:var(--mute-2); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
.rgc-pl-prev b, .rgc-pl-next b{ font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rgc-pl-prev .rgc-i, .rgc-pl-next .rgc-i{ color:var(--sage); }

/* ── account ── */
.rgc-auth{ padding-top:var(--rgc-nav); }
.rgc-auth-g{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:calc(100svh - var(--rgc-nav)); }
.rgc-auth-ph{ position:relative; margin:0; overflow:hidden; background:var(--stone); }
.rgc-auth-ph img{ position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.rgc-auth-ph::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(14,13,12,0) 45%,rgba(14,13,12,.62)); }
.rgc-auth-ph figcaption{ position:absolute; z-index:1; left:clamp(1.5rem,4vw,3.5rem); right:clamp(1.5rem,4vw,3.5rem); bottom:clamp(1.5rem,4vw,3.2rem); display:grid; gap:.6rem; color:var(--on-night); font:400 clamp(1.2rem,1.8vw,1.6rem)/1.25 var(--display); letter-spacing:-.02em; max-width:28em; }
.rgc-auth-ph .sig-roni{ background:var(--on-night); clip-path:none; animation:none; margin:0; height:clamp(3rem,5vw,4rem); }
.rgc-auth-box{ display:grid; align-content:center; gap:1.2rem; width:100%; max-width:31rem; margin:0 auto; padding:clamp(2.5rem,6vw,4rem) var(--pad); }
.rgc-auth-box h1.disp{ font-size:clamp(2.6rem,5vw,4rem); }
.rgc-auth-tabs{ position:relative; display:inline-flex; justify-self:start; padding:.3rem; border-radius:999px; background:var(--stone); margin-bottom:.6rem; }
.rgc-auth-tabs a{ padding:.65rem 1.3rem; border-radius:999px; font-size:.95rem; font-weight:500; text-decoration:none; color:var(--mute); transition:color .2s, background-color .2s; }
.rgc-auth-tabs a[aria-current]{ background:var(--sage); color:#fff; }
.rgc-form{ display:grid; gap:1rem; margin-top:.4rem; }
.rgc-in{ display:grid; gap:.4rem; }
.rgc-in span{ font-size:.86rem; font-weight:500; color:var(--ink); }
.rgc-in small{ color:var(--mute-2); font-size:.8rem; }
.rgc-in input{ width:100%; height:3.3rem; padding:0 1.1rem; border:1px solid var(--line); border-radius:1rem; background:#FCFBF9; color:var(--ink); font:400 1rem var(--body); transition:border-color .2s, box-shadow .2s, background-color .2s; }
.rgc-in input:focus{ outline:none; background:#fff; border-color:var(--sage); box-shadow:0 0 0 4px var(--sage-tint); }
.rgc-form-row{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem; font-size:.9rem; }
.rgc-form-row a, .rgc-fine a{ color:var(--sage-deep); text-underline-offset:.2em; }
.rgc-remember{ display:inline-flex; align-items:center; gap:.5rem; color:var(--mute); cursor:pointer; }
.rgc-remember input{ width:1.05rem; height:1.05rem; accent-color:var(--sage); }
.rgc-submit{ width:100%; margin-top:.4rem; }
.rgc-fine{ color:var(--mute-2); font-size:.84rem; text-align:center; }
.rgc-alert{ padding:.9rem 1.1rem; border-radius:1rem; background:var(--sage-tint); color:var(--sage-deep); font-size:.94rem; }
.rgc-alert.is-err{ background:#FBEDEA; color:#8C3B2C; }
.rgc-alert p + p{ margin-top:.3rem; }
.rgc-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* footer */
.rgc-footer{ border-top:1px solid var(--line); }
.rgc-footer .foot{ margin-top:0; border-top:0; padding-block:1.6rem 2rem; }
.rgc-footer-links{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }

/* ── responsive ── */
@media (max-width:960px){
  .rgc-hero-g, .rgc-body{ grid-template-columns:minmax(0,1fr); }
  .rgc-hero-media{ aspect-ratio:16/11; order:-1; }
  .rgc-body-side{ position:static; }
  .rgc-player{ grid-template-columns:minmax(0,1fr); }
  .rgc-pl-side{ position:fixed; z-index:40; top:0; bottom:0; left:0; height:100%; width:min(23rem,88vw); transform:translateX(-102%); transition:transform .4s var(--ease); box-shadow:20px 0 60px -30px rgba(0,0,0,.4); }
  .rgc-player.is-side .rgc-pl-side{ transform:none; }
  .rgc-pl-side-h{ padding-top:calc(env(safe-area-inset-top,0px) + 1.4rem); }
  .rgc-side-x{ display:grid; place-items:center; position:absolute; top:calc(env(safe-area-inset-top,0px) + 1rem); right:1rem; width:2.4rem; height:2.4rem; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); cursor:pointer; }
  .rgc-side-open{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--ink); font:500 .9rem var(--body); cursor:pointer; }
  .rgc-scrim{ position:fixed; inset:0; z-index:39; background:rgba(14,13,12,.4); opacity:0; pointer-events:none; transition:opacity .3s; display:block; }
  .rgc-player.is-side .rgc-scrim{ opacity:1; pointer-events:auto; }
  .rgc-auth-g{ grid-template-columns:minmax(0,1fr); min-height:0; }
  .rgc-auth-ph{ height:clamp(14rem,38vh,22rem); }
  .rgc-auth-ph figcaption{ font-size:1.1rem; }
}
@media (max-width:640px){
  .rgc-intro.is-row{ grid-template-columns:minmax(0,1fr); }
  .rgc-learn{ grid-template-columns:minmax(0,1fr); }
  .rgc-pl-nav{ grid-template-columns:minmax(0,1fr); }
  .rgc-pl-next{ grid-column:1; }
  .rgc-pl-top .rgc-pl-pos{ display:none; }
  .rgc-video{ margin-inline:calc(var(--pad) * -1 + .25rem); border-radius:1rem; }
  .rgc-auth-ph figcaption .sig-roni{ display:none; }
}
