/* E-Learning Mastery Gateway: legal and information pages (prefix p-).
   Terms, privacy, cookies, contact, session guide, inside a lesson, the gateway. Tokens come from site.css. */

/* =====================================================================
   Shared by these pages
   ===================================================================== */
.p-list{margin:0 0 1rem;padding-left:var(--p-indent,0)}
.p-list li{position:relative;padding:.3rem 0 .3rem 1.25rem;line-height:1.65}
.p-list li::before{content:"";position:absolute;left:0;top:1.05em;width:.55rem;height:1px;background:var(--glow)}
.p-list--flush{padding-left:0}

.p-tablewrap{margin:1.2rem 0 1.6rem;border-top:1px solid var(--line-strong)}
.p-table{font-size:.95rem;line-height:1.55}
.p-table tbody th{font-family:var(--font-body);font-size:.95rem;font-weight:600;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--text);white-space:normal;vertical-align:top;border-bottom:1px solid var(--line);padding:.9rem 1rem}
.p-table td{padding:.9rem 1rem}
.p-table thead th{background:transparent}
.p-table a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:1px}
.p-table a:hover{color:var(--glow);text-decoration-color:var(--glow)}
.p-table__sub{display:block;margin-top:.3rem;font-weight:400;font-size:.9rem;color:var(--muted)}
.p-table code{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--glow);word-break:break-all}
.p-kind{display:block;margin-top:.45rem;font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}

@media (max-width:719px){
  .p-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  .p-table,.p-table tbody,.p-table tr,.p-table th,.p-table td{display:block;width:100%}
  .p-table tr{padding:1rem 0;border-bottom:1px solid var(--line-strong)}
  .p-table tbody th,.p-table td{border:0;padding:.35rem 0}
  .p-table td::before{content:attr(data-label);display:block;margin-bottom:.1rem;font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
}

/* =====================================================================
   Legal documents: terms, privacy, cookies
   ===================================================================== */
.p-dochead{--glow-bleed:rgba(240,166,58,.06);padding-block:clamp(40px,6vw,84px) clamp(32px,4.5vw,60px);border-bottom:1px solid var(--line);background-color:var(--panel);background-image:radial-gradient(70% 120% at 100% 0,var(--glow-bleed),transparent 60%)}
.p-dochead__in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:end}
.p-dochead h1{margin:.6rem 0 1rem}
.p-dochead .lede{margin:0}
.p-short{border-top:1px solid var(--line-strong);padding-top:.9rem}
.p-short__h{margin:0 0 .4rem;color:var(--glow)}
.p-short li{position:relative;padding:.6rem 0 .6rem 1.3rem;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.5;color:var(--muted)}
.p-short li::before{content:"";position:absolute;left:0;top:1.05em;width:6px;height:6px;background:var(--glow)}

.p-docgrid{--p-indent:3.2rem;display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding-block:clamp(36px,6vw,88px)}
.p-rail{position:sticky;top:calc(var(--header-h) + 28px);align-self:start;padding-top:.9rem;border-top:1px solid var(--line-strong)}
.p-rail__k{margin:0;color:var(--dim)}
.p-rail__t{margin:.5rem 0 .3rem;font-family:var(--font-head);font-weight:600;font-size:1.2rem;line-height:1.2;color:var(--text)}
.p-rail__d{margin:0 0 1rem;color:var(--muted)}
.p-rail__n{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted)}

.p-doc{counter-reset:sec;min-width:0}
.p-doc>.p-sec>:not(.p-tablewrap){max-width:calc(70ch + var(--p-indent))}
.p-sec{counter-increment:sec;counter-reset:cl;margin-top:clamp(28px,4vw,48px);padding-top:clamp(28px,4vw,48px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px)}
.p-sec:first-child{margin-top:0;padding-top:0;border-top:0}
.p-sec h2{display:flex;align-items:baseline;gap:.95rem;margin-bottom:1.15rem;font-size:clamp(1.4rem,1.1rem + 1vw,1.8rem);line-height:1.18;text-wrap:balance}
.p-sec h2::before{content:counter(sec,decimal-leading-zero);flex:none;min-width:1.6rem;font-family:var(--font-mono);font-weight:500;font-size:.85rem;letter-spacing:.08em;color:var(--glow)}
.p-cl{counter-increment:cl;position:relative;margin-bottom:1rem;padding-left:var(--p-indent);line-height:1.74;color:var(--text)}
.p-cl::before{content:counter(sec) "." counter(cl);position:absolute;left:0;top:.3em;font-family:var(--font-mono);font-weight:500;font-size:.78rem;line-height:1.4;letter-spacing:.04em;color:var(--dim)}
.p-doc .p-list li{color:var(--text)}
.p-doc strong{color:var(--text)}
.p-doc code{font-family:var(--font-mono);font-size:.9em;font-weight:500;color:var(--glow);background:rgba(240,166,58,.08);padding:.05em .35em;border-radius:2px}
.p-doc .p-table code{background:none;padding:0}

.p-facts{margin:.4rem 0 1.4rem var(--p-indent);border-top:1px solid var(--line-strong)}
.p-facts>div{display:grid;grid-template-columns:minmax(7.5rem,10rem) minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.p-facts dt{font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding-top:.2em}
.p-facts dd{margin:0;color:var(--text);overflow-wrap:anywhere}

.p-defs{margin:.3rem 0 .5rem;padding-left:var(--p-indent)}
.p-defs>div{padding:1rem 0;border-top:1px solid var(--line)}
.p-defs>div:last-child{border-bottom:1px solid var(--line)}
.p-defs dt{margin-bottom:.35rem;font-family:var(--font-head);font-weight:600;font-size:1.05rem;color:var(--text)}
.p-defs dd{margin:0;line-height:1.65;color:var(--muted)}

@media (max-width:1019px){
  .p-dochead__in{grid-template-columns:minmax(0,1fr);align-items:start}
  .p-docgrid{grid-template-columns:minmax(0,1fr);gap:28px}
  .p-rail{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem 1.5rem;align-items:baseline}
  .p-rail__k{grid-column:1/-1}
  .p-rail__t{margin:0}
  .p-rail__d{margin:0}
  .p-rail__n{grid-column:1/-1;margin-top:.5rem}
}
@media (max-width:560px){
  .p-docgrid{--p-indent:2.6rem}
  .p-facts>div{grid-template-columns:minmax(0,1fr);gap:.1rem}
  .p-rail{grid-template-columns:minmax(0,1fr)}
}

/* =====================================================================
   Contact
   ===================================================================== */
.p-cthero{padding-block:clamp(40px,7vw,96px);border-bottom:1px solid var(--line);background-color:var(--panel);background-image:radial-gradient(60% 100% at 0 100%,rgba(240,166,58,.07),transparent 60%)}
.p-cthero__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,72px);align-items:stretch}
.p-cthero__main h1{margin:.6rem 0 1.1rem}
.p-cthero__main .lede{margin-bottom:2rem}
.p-cthero__label{margin:0;color:var(--dim)}
.p-mail{margin:.3rem 0 1.5rem;font-family:var(--font-head);font-weight:700;font-size:clamp(1.02rem,.3rem + 3.3vw,2.1rem);line-height:1.15;letter-spacing:-.01em}
.p-mail a{color:var(--text);text-decoration:underline;text-decoration-color:var(--glow);text-decoration-thickness:2px;text-underline-offset:.22em}
.p-mail a:hover{color:var(--glow)}
.p-cthero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.p-copied{min-width:7ch;color:var(--ok)}

.p-chatpanel{display:flex;flex-direction:column;gap:1rem;padding:clamp(20px,3vw,32px);border:1px solid var(--line-strong);border-top:2px solid var(--glow);border-radius:var(--r);background:var(--panel-2)}
.p-chatpanel h2{font-size:clamp(1.4rem,1.1rem + .9vw,1.8rem)}
.p-chatpanel p{color:var(--muted);font-size:.97rem;line-height:1.62}
.p-chatpanel .btn{align-self:flex-start;margin-top:auto}
.p-chatpanel__icon{position:relative;display:grid;place-items:center;width:56px;height:56px;color:var(--glow)}
.p-chatpanel__icon svg{position:relative;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.p-chatpanel__icon i{position:absolute;inset:0;border:1px solid var(--glow);border-radius:50%;opacity:0;animation:p-ping 3.6s ease-out infinite}
.p-chatpanel__icon i:nth-of-type(2){animation-delay:1.2s}
.p-chatpanel__icon i:nth-of-type(3){animation-delay:2.4s}

.p-routes{padding-block:clamp(48px,7vw,96px)}
.p-routes__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;margin-bottom:clamp(24px,4vw,40px)}
.p-routes__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong)}
.p-routes__list li{position:relative;padding:1.5rem clamp(16px,2.4vw,32px) 1.8rem 0;border-right:1px solid var(--line)}
.p-routes__list li+li{padding-left:clamp(16px,2.4vw,32px)}
.p-routes__list li:last-child{border-right:0}
.p-routes__n{display:block;margin-bottom:.6rem;color:var(--glow)}
.p-routes__list h3{margin-bottom:.7rem}
.p-routes__list p{color:var(--muted);line-height:1.66}

.p-include{padding-block:clamp(48px,7vw,96px);border-top:1px solid var(--line)}
.p-include__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,6vw,96px)}
.p-include__intro{align-self:start;position:sticky;top:calc(var(--header-h) + 24px)}
.p-include__intro h2{margin-bottom:1rem}
.p-include__note{margin-top:1.4rem;font-size:.92rem;color:var(--muted)}
.p-include__list{border-top:1px solid var(--line-strong);counter-reset:inc}
.p-include__list li{display:grid;grid-template-columns:minmax(5.5rem,7.5rem) minmax(0,1fr);gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);line-height:1.62}
.p-include__k{color:var(--glow);padding-top:.25em}

.p-reply{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--line)}
.p-reply h2{margin-bottom:clamp(28px,4vw,48px)}
.p-reply__line{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.p-reply__line::before{content:"";position:absolute;left:0;right:0;top:7px;border-top:1px solid var(--line-strong)}
.p-reply__line::after{content:"";position:absolute;left:0;top:6px;width:90px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--glow));animation:p-signal 7s linear infinite}
.p-reply__line li{position:relative;padding-top:2.2rem}
.p-reply__dot{position:absolute;left:0;top:0;width:15px;height:15px;border:1px solid var(--glow);border-radius:50%;background:var(--panel)}
.p-reply__line li:first-child .p-reply__dot{background:var(--glow)}
.p-reply__line .mono{display:block;margin-bottom:.35rem;color:var(--dim)}
.p-reply__line h3{margin-bottom:.5rem;font-size:1.2rem}
.p-reply__line p{color:var(--muted);font-size:.95rem;line-height:1.62}
.p-reply__fine{max-width:62ch;margin-top:clamp(28px,4vw,48px);padding-top:1.2rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}

@media (max-width:899px){
  .p-cthero__grid{grid-template-columns:minmax(0,1fr)}
  .p-routes__list{grid-template-columns:minmax(0,1fr)}
  .p-routes__list li,.p-routes__list li+li{padding:1.3rem 0 1.5rem;border-right:0;border-bottom:1px solid var(--line)}
  .p-include__grid{grid-template-columns:minmax(0,1fr)}
  .p-include__intro{position:static}
  .p-reply__line{grid-template-columns:minmax(0,1fr);gap:28px}
  .p-reply__line::before{left:7px;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid var(--line-strong)}
  .p-reply__line::after{display:none}
  .p-reply__line li{padding:0 0 0 2.2rem}
  .p-reply__dot{top:.15rem}
}
@media (max-width:480px){
  .p-include__list li{grid-template-columns:minmax(0,1fr);gap:.2rem}
}

/* =====================================================================
   Session guide
   ===================================================================== */
.p-gdhero{padding-block:clamp(40px,7vw,96px) clamp(36px,5vw,64px);border-bottom:1px solid var(--line);background-color:var(--panel)}
.p-gdhero__top h1{margin:.6rem 0 1rem}
.p-ribbon{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(32px,5vw,64px)}
.p-ribbon li{position:relative;padding:1.2rem clamp(12px,1.6vw,22px) 0 0;border-top:2px solid var(--line-strong)}
.p-ribbon li+li{padding-left:clamp(12px,1.6vw,22px)}
.p-ribbon li::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--glow);transform-origin:0 50%;animation:p-ribbon 9s linear infinite;animation-delay:calc(var(--i,0) * 1.4s)}
.p-ribbon li:nth-child(1){--i:0}.p-ribbon li:nth-child(2){--i:1}.p-ribbon li:nth-child(3){--i:2}.p-ribbon li:nth-child(4){--i:3}.p-ribbon li:nth-child(5){--i:4}
.p-ribbon__n{display:block;color:var(--glow)}
.p-ribbon__h{margin:.35rem 0 .55rem;font-size:clamp(1.3rem,1.1rem + .5vw,1.6rem)}
.p-ribbon p{font-size:.93rem;line-height:1.6;color:var(--muted)}

.p-email{padding-block:clamp(48px,7vw,104px)}
.p-email__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,6vw,96px);align-items:start}
.p-email__text h2{margin-bottom:1rem}
.p-email__text>p{margin-bottom:1.1rem;max-width:60ch;color:var(--muted);font-size:1.05rem}
.p-email__text .p-list{max-width:60ch}
.p-clock{padding:clamp(20px,3vw,32px);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel)}
.p-clock>.mono{margin:0;color:var(--dim)}
.p-clock__big{margin:.5rem 0 1.4rem;font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,1.3rem + 2.6vw,3.3rem);line-height:1;letter-spacing:-.015em;color:var(--glow)}
.p-clock__eq{height:52px;margin-bottom:1.2rem}
.p-clock__fine{font-size:.92rem;color:var(--muted)}

.p-devices{padding-block:clamp(48px,7vw,96px);border-block:1px solid var(--line);background:var(--panel)}
.p-devices h2{margin-bottom:.8rem}
.p-devices .lede{margin-bottom:clamp(24px,4vw,44px)}
.p-devices__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.p-device{padding:clamp(18px,2.4vw,30px);background:var(--bg)}
.p-device svg{width:72px;height:50px;margin-bottom:1.1rem;fill:none;stroke:var(--glow);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.p-device:hover svg{transform:translateY(-4px)}
.p-device h3{margin-bottom:.5rem;font-size:1.2rem}
.p-device p{font-size:.95rem;line-height:1.62;color:var(--muted)}
.p-device--note{background:var(--glow-tint)}

.p-access{padding-block:clamp(48px,7vw,104px)}
.p-access__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,6vw,96px);align-items:center}
.p-access__grid h2{margin-bottom:1rem}
.p-access__grid p{margin-bottom:1rem;max-width:56ch;color:var(--muted);font-size:1.05rem}
.p-access__grid strong{color:var(--text)}
.p-months{padding:clamp(18px,3vw,32px);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel)}
.p-months__ticks{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;height:64px;align-items:stretch}
.p-months__ticks i{display:block;border-radius:1px;background:var(--line-strong);animation:p-tick 12s linear infinite;animation-delay:calc(var(--i,0) * .5s)}
.p-months__ticks i.on{background:var(--glow)}
.p-months__rail{position:relative;height:2px;margin:1.3rem 0 .9rem;background:var(--line-strong)}
.p-months__knob{position:absolute;left:0;top:-7px;width:16px;height:16px;border-radius:50%;background:var(--glow);box-shadow:var(--glow-ring);animation:p-fader 12s linear infinite}
.p-months__labels{display:flex;justify-content:space-between;color:var(--muted)}

.p-trouble{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--line);background:var(--panel)}
.p-trouble__head{max-width:60ch;margin-bottom:clamp(24px,4vw,44px)}
.p-trouble__head h2{margin-bottom:.8rem}
.p-trouble__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,6vw,96px)}
.p-trouble__list>div{padding:1.3rem 0 1.5rem;border-top:1px solid var(--line-strong)}
.p-trouble__list dt{margin-bottom:.5rem;font-family:var(--font-head);font-weight:600;font-size:1.12rem;line-height:1.25;color:var(--text)}
.p-trouble__list dd{margin:0;font-size:.97rem;line-height:1.66;color:var(--muted)}
.p-trouble__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,3vw,36px)}

.p-first{padding-block:clamp(48px,7vw,104px)}
.p-first h2{margin-bottom:.8rem}
.p-first .lede{margin-bottom:clamp(20px,3vw,36px)}
.p-table--shelves tbody th{width:34%}
.p-table--shelves td:nth-child(3){white-space:nowrap}
.p-table--shelves td:nth-child(4){font-family:var(--font-head);font-weight:700;color:var(--glow);white-space:nowrap}

@media (max-width:1099px){
  .p-ribbon{grid-template-columns:minmax(0,1fr)}
  .p-ribbon li,.p-ribbon li+li{padding:1.1rem 0 1.4rem}
  .p-ribbon li::before{animation-delay:calc(var(--i,0) * 1.4s)}
  .p-devices__row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .p-email__grid,.p-access__grid{grid-template-columns:minmax(0,1fr)}
  .p-trouble__list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .p-devices__row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:719px){
  .p-table--shelves td:nth-child(3),.p-table--shelves td:nth-child(4){white-space:normal}
  .p-table--shelves tbody th{width:100%}
}

/* =====================================================================
   Inside a lesson
   ===================================================================== */
.p-lshero{padding-block:clamp(40px,7vw,96px) clamp(32px,5vw,56px);border-bottom:1px solid var(--line);background-color:var(--panel)}
.p-lshero h1{margin:.6rem 0 1rem}
.p-lshero__in{max-width:900px}

.p-path{padding-block:clamp(48px,7vw,104px)}
.p-path__list{--gut:clamp(28px,4vw,56px);position:relative;display:grid;gap:clamp(44px,7vw,96px);padding-left:var(--gut)}
.p-path__list::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:var(--line-strong)}
.p-path__list::after{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:3px;border-radius:2px;background-image:linear-gradient(180deg,transparent 0,transparent 42%,var(--glow) 50%,transparent 58%,transparent 100%);background-size:100% 300%;background-position:0 100%;animation:p-flow 9s linear infinite}
.p-station{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,64px);align-items:start}
.p-station::before{content:"";position:absolute;left:calc(5px - var(--gut));top:.35rem;width:11px;height:11px;border:1px solid var(--glow);border-radius:50%;background:var(--glow);box-shadow:0 0 14px rgba(240,166,58,.45);transition:background .5s,box-shadow .5s}
html.js .p-station:not(.in)::before{background:var(--bg);box-shadow:none}
.p-station__n{display:block;margin-bottom:.5rem;color:var(--glow)}
.p-station h3{margin-bottom:.8rem;font-size:clamp(1.45rem,1.15rem + 1vw,2rem)}
.p-station__text p{color:var(--muted);line-height:1.7;max-width:46ch}

.p-mock{margin:0;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);overflow:hidden}
.p-mock figcaption{padding:.65rem 1rem;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.45;color:var(--dim)}
.p-mock__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted)}

.p-units li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:.2rem .8rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.p-units li:last-child{border-bottom:0}
.p-units__tick{width:14px;height:14px;border:1px solid var(--line-strong);border-radius:50%}
.p-units__t{font-size:.97rem;line-height:1.35;color:var(--text)}
.p-units__m{color:var(--muted);white-space:nowrap}
.p-units .is-done .p-units__tick{border-color:var(--ok);background:var(--ok);background-image:linear-gradient(135deg,transparent 45%,var(--bg) 46%,var(--bg) 58%,transparent 59%);}
.p-units .is-done .p-units__t{color:var(--muted)}
.p-units .is-now{background:var(--glow-tint);box-shadow:inset 3px 0 0 var(--glow)}
.p-units .is-now .p-units__tick{border-color:var(--glow);background:var(--glow);box-shadow:0 0 12px rgba(240,166,58,.5)}
.p-units .is-now .p-units__t{font-weight:600}

.p-frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000}
.p-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,18,23,.85),rgba(14,18,23,.25) 60%,rgba(14,18,23,.35))}
.p-frame__play{position:absolute;z-index:2;left:50%;top:46%;display:grid;place-items:center;width:68px;height:68px;margin:-34px 0 0 -34px;border:1px solid var(--glow);border-radius:50%;background:rgba(14,18,23,.6);animation:p-pulse 2.8s ease-in-out infinite}
.p-frame__play svg{width:28px;height:28px;fill:var(--glow);margin-left:3px}
.p-frame__eq{position:absolute;z-index:2;left:0;right:0;bottom:0;height:44px;padding:0 14px 10px}
.p-scrub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.85rem 1rem;color:var(--muted)}
.p-scrub__track{--v:40%;position:relative;height:4px;border-radius:2px;background:var(--line-strong)}
.p-scrub__fill{position:absolute;left:0;top:0;bottom:0;width:var(--v);border-radius:2px;background:var(--glow);transition:width 1.6s cubic-bezier(.2,.7,.2,1) .2s}
.p-scrub__knob{position:absolute;top:50%;left:var(--v);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--text);transition:left 1.6s cubic-bezier(.2,.7,.2,1) .2s}
html.js .p-station:not(.in) .p-scrub__fill{width:0}
html.js .p-station:not(.in) .p-scrub__knob{left:0}

.p-mock__split{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.p-mock__pane{display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1rem 1.4rem;color:var(--muted)}
.p-mock__pane--you{border-left:1px solid var(--line);background:var(--bg)}
.p-pause{display:flex;justify-content:center;gap:7px;margin-top:.6rem}
.p-pause i{display:block;width:9px;height:32px;border-radius:2px;background:var(--glow)}
.p-steps{position:relative;display:grid}
.p-steps span{display:grid;grid-template-columns:repeat(16,minmax(0,1fr))}
.p-steps i{display:block;aspect-ratio:1;padding:1.5px;background-clip:content-box;background-color:var(--panel-2)}
.p-steps i.on{background-color:var(--glow)}
.p-steps__head{position:absolute;top:-2px;bottom:-2px;left:0;width:6.25%;border:1px solid var(--text);border-radius:2px;animation:p-head 4.8s steps(16) infinite}

.p-task{padding:clamp(18px,3vw,30px);background:var(--glow-tint);border-left:3px solid var(--glow)}
.p-task__k{margin:0 0 .7rem;color:var(--glow)}
.p-task__q{margin:0 0 1.2rem;font-size:1.12rem;line-height:1.5;color:var(--text)}
.p-task__box{padding:.9rem 1rem;border:1px dashed var(--line-strong);border-radius:var(--r);background:rgba(14,18,23,.45)}
.p-task__box span{display:block;height:9px;margin-bottom:.7rem;border-radius:2px;background:var(--line-strong)}
.p-task__box span+span{width:58%}
.p-task__box::after{content:"";display:block;width:2px;height:18px;background:var(--glow);animation:p-blink 1.1s steps(1) infinite}

.p-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem 1rem;padding:clamp(18px,3vw,30px)}
.p-next .mono{color:var(--muted)}
.p-next__t{grid-column:1;font-family:var(--font-head);font-weight:600;font-size:1.3rem;line-height:1.2;color:var(--text)}
.p-next__m{grid-column:1}
.p-next__go{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--glow);border-radius:50%;font-size:1.3rem;color:var(--glow);animation:p-nudge 2.4s ease-in-out infinite}

.p-gets{padding-block:clamp(48px,7vw,104px);border-block:1px solid var(--line)}
.p-gets__head{max-width:60ch;margin-bottom:clamp(24px,4vw,40px)}
.p-gets__head h2{margin-bottom:.8rem}
.p-table--gets tbody th{width:19%}
.p-table--gets td:nth-child(2){background:rgba(240,166,58,.05);border-left:2px solid var(--glow)}
.p-table--gets td:nth-child(3){color:var(--muted)}

.p-notes{padding-block:clamp(48px,7vw,104px)}
.p-notes h2{margin-bottom:clamp(24px,4vw,44px)}
.p-notes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,48px)}
.p-notes__grid>div{padding-left:clamp(14px,2vw,24px);border-left:1px solid var(--line-strong)}
.p-notes__big{margin:0 0 .5rem;font-family:var(--font-head);font-weight:700;font-size:clamp(2.6rem,2rem + 3vw,4.4rem);line-height:1;letter-spacing:-.02em;color:var(--glow)}
.p-notes__grid .mono{margin:0 0 .6rem;color:var(--text)}
.p-notes__grid p:last-child{color:var(--muted);line-height:1.65}
.p-notes__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,4vw,48px)}

@media (max-width:899px){
  .p-station{grid-template-columns:minmax(0,1fr);gap:20px}
  .p-notes__grid{grid-template-columns:minmax(0,1fr)}
  .p-notes__grid>div{padding-block:.4rem}
}
@media (max-width:719px){
  .p-table--gets tbody th{width:100%}
  .p-table--gets td:nth-child(2){border-left:0;background:none}
  .p-units li{grid-template-columns:18px minmax(0,1fr)}
  .p-units__m{grid-column:2;white-space:normal}
}

/* =====================================================================
   The Gateway
   ===================================================================== */
.p-gwhero{padding-block:clamp(40px,7vw,96px);border-bottom:1px solid var(--line);background-color:var(--panel);background-image:radial-gradient(55% 90% at 85% 10%,rgba(240,166,58,.09),transparent 60%)}
.p-gwhero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,6vw,96px);align-items:center}
.p-gwhero h1{margin:.6rem 0 1.2rem}
.p-gwhero .lede{margin-bottom:1.2rem}
.p-gwhero__text>p:last-child{max-width:56ch;color:var(--muted)}
.p-gwhero__img{margin:0;justify-self:end;width:min(100%,440px)}
.p-gwhero__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--line-strong)}

.p-sells{padding-block:clamp(48px,7vw,112px)}
.p-sells__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,6vw,96px)}
.p-sells__head{align-self:start;position:sticky;top:calc(var(--header-h) + 24px)}
.p-sells__head h2{margin-bottom:1rem}
.p-sells__body>p{max-width:62ch;margin-bottom:1.6rem;font-size:1.08rem;line-height:1.7;color:var(--muted)}
.p-shelves{margin:0 0 1.8rem;border-bottom:1px solid var(--line)}
.p-shelves a{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.5rem 1.4rem;padding:1.15rem 0;border-top:1px solid var(--line);transition:padding-left .3s cubic-bezier(.2,.7,.2,1)}
.p-shelves__name{font-family:var(--font-head);font-weight:600;font-size:1.15rem;line-height:1.25;color:var(--text)}
.p-shelves__lead{font-size:.95rem;line-height:1.6;color:var(--muted)}
.p-shelves a:hover{padding-left:.7rem;box-shadow:inset 2px 0 0 var(--glow)}
.p-shelves a:hover .p-shelves__name{color:var(--glow)}

.p-band{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(380px,62vh,620px);overflow:hidden;background:var(--bg)}
.p-band__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;animation:p-drift 30s ease-in-out infinite alternate}
.p-band__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(14,18,23,.93),rgba(14,18,23,.7) 60%,rgba(14,18,23,.62))}
.p-band__in{padding-block:clamp(48px,8vw,104px)}
.p-band__q{max-width:16ch;margin-top:.8rem;font-size:clamp(2.1rem,1.2rem + 3.8vw,4.4rem);line-height:1.05}

.p-trade{padding-block:clamp(44px,6vw,88px)}
.p-trade__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,6vw,96px)}
.p-trade__col{padding-top:1rem;border-top:1px solid var(--line-strong)}
.p-trade__col .mono{margin:0 0 .8rem;color:var(--glow)}
.p-trade__col+.p-trade__col .mono{color:var(--muted)}
.p-trade__col p:last-child{max-width:46ch;font-size:1.12rem;line-height:1.7;color:var(--text)}

.p-principles{padding-block:clamp(48px,7vw,112px);background:var(--panel);border-top:1px solid var(--line)}
.p-principles h2{margin-bottom:clamp(24px,4vw,48px)}
.p-index{border-bottom:1px solid var(--line-strong)}
.p-index li{position:relative;display:grid;grid-template-columns:minmax(4.5rem,9.5rem) minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(12px,3vw,48px);align-items:start;padding:clamp(22px,3vw,40px) 0}
.p-index li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-strong);transform-origin:0 50%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
html.js .p-index li:not(.in)::before{transform:scaleX(0)}
.p-index__n{font-family:var(--font-head);font-weight:700;font-size:clamp(3rem,2rem + 5vw,6.5rem);line-height:.85;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px var(--glow);transition:color .4s}
.p-index li:hover .p-index__n{color:var(--glow)}
.p-index h3{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);padding-top:.35rem}
.p-index p{padding-top:.5rem;max-width:52ch;color:var(--muted);line-height:1.7}

.p-gwend{padding-block:clamp(44px,6vw,88px)}
.p-gwend__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,6vw,96px);align-items:center}
.p-gwend h2{margin-bottom:.8rem}
.p-gwend p{max-width:56ch;color:var(--muted);font-size:1.05rem}
.p-gwend__act{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

@media (max-width:899px){
  .p-gwhero__grid,.p-sells__grid,.p-trade__grid,.p-gwend__grid{grid-template-columns:minmax(0,1fr)}
  .p-gwhero__img{justify-self:start;width:min(100%,360px)}
  .p-sells__head{position:static}
  .p-gwend__act{justify-content:flex-start}
  .p-index li{grid-template-columns:minmax(0,1fr)}
  .p-index__n{font-size:3.4rem}
}
@media (max-width:600px){
  .p-shelves a{grid-template-columns:minmax(0,1fr)}
}

/* =====================================================================
   Motion
   ===================================================================== */
@keyframes p-ping{0%{transform:scale(.55);opacity:.6}100%{transform:scale(1.9);opacity:0}}
@keyframes p-signal{0%{transform:translateX(-100px)}100%{transform:translateX(calc(100vw))}}
@keyframes p-ribbon{0%{opacity:1;transform:scaleX(0)}12%{opacity:1;transform:scaleX(1)}68%{opacity:1;transform:scaleX(1)}88%,100%{opacity:0;transform:scaleX(1)}}
@keyframes p-tick{0%,100%{background-color:var(--line-strong)}2%,46%{background-color:var(--glow)}50%{background-color:var(--line-strong)}}
@keyframes p-fader{0%{left:0}100%{left:calc(100% - 16px)}}
@keyframes p-flow{from{background-position:0 100%}to{background-position:0 0}}
@keyframes p-head{from{transform:translateX(0)}to{transform:translateX(1600%)}}
@keyframes p-blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes p-drift{from{transform:scale(1)}to{transform:scale(1.08) translateX(-1.2%)}}
@keyframes p-pulse{0%,100%{box-shadow:0 0 0 1px rgba(240,166,58,.35),0 0 12px rgba(240,166,58,.12)}50%{box-shadow:0 0 0 1px rgba(240,166,58,.9),0 0 30px rgba(240,166,58,.32)}}
@keyframes p-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

@media (prefers-reduced-motion:reduce){
  .p-chatpanel__icon i,.p-reply__line::after,.p-ribbon li::before,.p-months__ticks i,.p-months__knob,.p-path__list::after,
  .p-steps__head,.p-task__box::after,.p-band__img,.p-frame__play,.p-next__go,.p-clock__eq i,.p-frame__eq i{animation:none!important}
  .p-chatpanel__icon i{display:none}
  .p-ribbon li::before{opacity:1;transform:none}
  .p-months__knob{left:calc(100% - 16px)}
  .p-path__list::after{display:none}
  .p-steps__head{display:none}
  .p-scrub__fill,.p-scrub__knob,.p-index li::before,.p-station::before,.p-shelves a,.p-device svg,.p-index__n{transition:none!important}
}
