/* =============================================================
   Trinity Radionics - Premium Theme
   Replaces app.css for all PUBLIC + MEMBER pages.
   Admin keeps using app.css separately.
   ============================================================= */

/* ----- 1. Self-hosted font ----- */
@font-face{
  font-family:"TrinityRadionicsSerif";
  src:
    url("/assets/fonts/trinityradionics-serif.woff2") format("woff2"),
    url("/assets/fonts/trinityradionics-serif.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* ----- 2. Tokens ----- */
:root{
  --obsidian:#0a0710;
  --obsidian-2:#110b16;
  --plate:#140d1a;
  --plate-2:#1c1322;
  --ink:#08050c;
  --gold:#a8893f;
  --gold-bright:#c8a35a;
  --gold-soft:#e0cf9d;
  --gold-dim:#6e5a2b;
  --gold-faint:#3a2f17;
  --vermilion:#b8392a;
  --ivory:#d4cab0;
  --ivory-dim:#8a8170;
  --ivory-faint:#5b5444;
  --warning:#c8a35a;
  --danger:#b8392a;
  --glow-gold:rgba(200,163,90,.28);
  --glow-gold-soft:rgba(168,137,63,.12);
  --glow-vermilion:rgba(184,57,42,.16);

  --serif:"TrinityRadionicsSerif","Cormorant Garamond","EB Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --tracking-label:0.18em;
  --tracking-mark:0.32em;

  --hairline:0.5px solid var(--gold-dim);
  --hairline-faint:0.5px solid var(--gold-faint);

  --r-sm:2px;
  --r-md:3px;
  --r-card:4px;

  --pad-page:clamp(16px,3vw,40px);
  --pad-card:clamp(14px,2vw,22px);

  --shadow-engraved:inset 0 0 0 0.5px var(--gold-dim);
  --shadow-premium:0 18px 48px rgba(0,0,0,.34),0 0 26px var(--glow-gold-soft),inset 0 1px 0 rgba(212,202,176,.06);
  --shadow-premium-hover:0 24px 58px rgba(0,0,0,.42),0 0 34px var(--glow-gold),inset 0 1px 0 rgba(212,202,176,.08);
  --shadow-luxury:0 28px 80px rgba(0,0,0,.48),0 0 46px rgba(168,137,63,.16),0 0 1px rgba(224,207,157,.34);
}

/* ----- 3. Reset / globals ----- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
html{background:var(--obsidian);color:var(--ivory);font-family:var(--serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18% -8%,rgba(200,163,90,0.16) 0%,transparent 34%),
    radial-gradient(circle at 82% 6%,rgba(184,57,42,0.09) 0%,transparent 28%),
    radial-gradient(circle at 50% 100%,rgba(168,137,63,0.09) 0%,transparent 46%),
    linear-gradient(180deg,#0a0710 0%,#08050c 100%),
    var(--obsidian);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--gold-bright)}
::selection{background:var(--vermilion);color:var(--ivory)}
button{font-family:var(--serif);cursor:pointer;background:none;border:0;color:inherit}
input,textarea,select{font-family:var(--serif)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:1px solid var(--gold-bright);
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(200,163,90,.14);
}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--obsidian);color:var(--gold);padding:8px 14px;z-index:200}
.skip-link:focus{left:8px;top:8px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ----- 4. Typography primitives ----- */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:500;font-style:italic;color:var(--ivory);margin:0 0 .4em;letter-spacing:.005em;text-shadow:0 0 18px rgba(212,202,176,.08)}
h1{font-size:clamp(2.35rem,5.4vw,3.05rem);line-height:1.04}
h2{font-size:2rem;line-height:1.15}
h3{font-size:1.35rem;line-height:1.25}
@media (max-width:600px){
  h1{font-size:2.05rem}
  h2{font-size:1.65rem}
  h3{font-size:1.18rem}
  .witness-prompt .wordmark-line{font-size:2.15rem}
}
p{margin:0 0 1em;color:var(--ivory)}
.muted{color:var(--ivory-dim)}
.small-note,small{font-size:.78rem;color:var(--ivory-dim);letter-spacing:.04em}
.kicker,.label{font-style:normal;font-size:.7rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim)}
.mark{font-style:normal;font-size:.65rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--gold-dim)}
strong{font-weight:500}
em,i{font-style:italic}
hr{border:0;border-top:var(--hairline);margin:2.5rem 0}

/* Drop-cap on long-form pages: opt-in via .trinityradionics-prose */
.trinityradionics-prose{max-width:62ch}
.trinityradionics-prose>p:first-of-type::first-letter{
  font-size:3.6em;line-height:.85;float:left;padding:.05em .12em 0 0;
  color:var(--gold);font-style:italic;
}
.static-page-intro{
  max-width:780px;
  margin-inline:auto;
  text-align:center;
}
.static-page-prose{
  max-width:780px;
  margin:0 auto;
  padding:clamp(1.15rem,3.2vw,2rem);
  border:0.5px solid rgba(168,137,63,.46);
  border-radius:var(--r-card);
  background:
    radial-gradient(circle at 50% 0%,rgba(224,207,157,.075),transparent 18rem),
    linear-gradient(145deg,rgba(28,19,34,.72),rgba(10,7,16,.92));
  box-shadow:var(--shadow-premium);
}
.static-page-prose>p:first-of-type::first-letter{
  font-size:inherit;
  line-height:inherit;
  float:none;
  padding:0;
  color:inherit;
  font-style:inherit;
}
.static-page-prose h2{
  margin-top:1.35rem;
  padding-top:1rem;
  border-top:var(--hairline-faint);
  font-size:clamp(1.25rem,2.8vw,1.75rem);
  line-height:1.12;
}
.static-page-prose h2:first-of-type{margin-top:1rem}
.static-page-prose p{
  color:var(--ivory-dim);
  line-height:1.58;
}
.static-page-prose ul{
  margin:.6rem 0 0;
  padding-left:1.15rem;
  color:var(--ivory-dim);
}
.practitioner-manual-hero .actions{margin-top:1.1rem}
.practitioner-manual-summary{margin-bottom:2rem}
.practitioner-manual-summary .frame h2{
  font-size:1.2rem;
  line-height:1.18;
  margin-bottom:.45rem;
}
.practitioner-manual-body{
  max-width:860px;
}
.practitioner-manual-body h2{
  scroll-margin-top:7rem;
}
.practitioner-manual-body h3{
  margin-top:1.1rem;
  font-size:1.2rem;
  color:var(--gold-soft);
}
.practitioner-manual-body ol,
.practitioner-manual-body ul{
  margin:.55rem 0 1rem;
}
.practitioner-manual-body li{
  margin:.18rem 0;
  color:var(--ivory-dim);
}
.practitioner-manual-body hr{
  margin:1.6rem 0;
  border-top:var(--hairline-faint);
}
.practitioner-manual-download{
  max-width:860px;
  margin:2rem auto 0;
}
.home-practice-copy>p:first-of-type::first-letter{
  font-size:3.55em;
  line-height:.78;
  float:left;
  padding:.08em .12em 0 0;
  color:var(--gold-bright);
  font-style:italic;
  text-shadow:0 0 18px rgba(200,163,90,.22),0 2px 18px rgba(0,0,0,.45);
}

/* ----- 5. Engraved frame helper -----
   Use .frame on any container that should look like a plate or page block. */
.frame{
  background:
    linear-gradient(145deg,rgba(34,23,40,.95),rgba(16,10,23,.985) 52%,rgba(10,7,16,.98)),
    radial-gradient(circle at 24% 0%,rgba(224,207,157,.08),transparent 38%);
  border:var(--hairline);
  border-radius:var(--r-card);
  padding:var(--pad-card);
  position:relative;
  box-shadow:var(--shadow-luxury);
}
.frame::before{
  content:"";position:absolute;inset:6px;border:var(--hairline-faint);border-radius:calc(var(--r-card) - 1px);pointer-events:none;
}
.frame::after{
  content:"";position:absolute;inset:0;border-radius:var(--r-card);pointer-events:none;
  background:
    linear-gradient(145deg,rgba(224,207,157,.11),transparent 35%,rgba(184,57,42,.07)),
    linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%);
  opacity:.85;
}
.frame>*{position:relative;z-index:1}

/* Section divider with center diamond */
.divider{display:flex;align-items:center;gap:1rem;margin:2.4rem 0;color:var(--gold-dim)}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--gold-dim);opacity:.7}
.divider .lozenge{width:8px;height:8px;background:transparent;border:0.5px solid var(--gold);transform:rotate(45deg);position:relative}
.divider .lozenge::after{content:"";position:absolute;inset:1.5px;background:var(--vermilion)}
.divider .text{font-size:.7rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim)}

/* ----- 6. Layout shell ----- */
.site-shell{display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%}
.site-main{flex:1;width:100%;max-width:1180px;min-width:0;margin:0 auto;padding:var(--pad-page);overflow-x:hidden}

/* Header */
.site-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--pad-page);
  border-bottom:var(--hairline-faint);
  position:sticky;top:0;background:rgba(10,7,16,.9);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 20px rgba(168,137,63,.08);
  z-index:50;
}
.site-header .brand{display:flex;align-items:center;gap:14px;color:var(--ivory)}
.site-header .seal{width:38px;height:38px;flex:0 0 38px;animation:seal-rotate 180s linear infinite;filter:drop-shadow(0 0 10px var(--glow-gold))}
@media (prefers-reduced-motion:reduce){.seal{animation:none}}
@keyframes seal-rotate{to{transform:rotate(360deg)}}
.site-header .wordmark{font-size:1.25rem;font-style:italic;letter-spacing:.02em}
.site-header .wordmark small{display:block;font-style:normal;font-size:.55rem;letter-spacing:var(--tracking-mark);color:var(--ivory-dim);margin-top:2px}

.primary-nav{
  display:flex;align-items:center;gap:.16rem;
  position:relative;
  padding:5px 7px;
  border:var(--hairline-faint);
  border-radius:var(--r-md);
  background:
    linear-gradient(145deg,rgba(28,19,34,.62),rgba(10,7,16,.76)),
    radial-gradient(circle at 16% 0%,rgba(200,163,90,.14),transparent 42%),
    radial-gradient(circle at 84% 100%,rgba(127,199,178,.08),transparent 38%);
  box-shadow:0 12px 32px rgba(0,0,0,.26),0 0 26px rgba(168,137,63,.1),inset 0 1px 0 rgba(224,207,157,.06);
}
.primary-nav::before{
  content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(168,137,63,.22),transparent);
  pointer-events:none;
}
.primary-nav a,.primary-nav button{
  display:inline-flex;align-items:center;gap:.42rem;position:relative;isolation:isolate;
  min-height:36px;
  font-style:italic;font-size:.95rem;color:var(--ivory-dim);
  padding:.38rem .55rem;border:0;transition:color .2s,transform .25s ease,text-shadow .25s ease;
}
.primary-nav a::before,.primary-nav button::before{
  content:"";position:absolute;inset:2px;z-index:-1;
  border:0.5px solid transparent;
  border-radius:var(--r-sm);
  background:linear-gradient(145deg,rgba(224,207,157,.05),rgba(184,57,42,.045));
  opacity:0;
  transition:opacity .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.primary-nav a::after,.primary-nav button::after{
  content:"";position:absolute;left:.55rem;right:.55rem;bottom:2px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;transform:scaleX(.35);
  transition:opacity .25s ease,transform .25s ease;
}
.primary-nav a:hover,.primary-nav button:hover{color:var(--ivory);transform:translateY(-1px);text-shadow:0 0 12px rgba(224,207,157,.14)}
.primary-nav a:hover::before,.primary-nav button:hover::before,.primary-nav a.active::before{opacity:1;border-color:rgba(168,137,63,.38);box-shadow:0 0 18px rgba(168,137,63,.12),inset 0 1px 0 rgba(224,207,157,.08)}
.primary-nav a:hover::after,.primary-nav button:hover::after,.primary-nav a.active::after{opacity:1;transform:scaleX(1)}
.primary-nav a.active{color:var(--gold)}
.primary-nav .nav-form{display:inline}
.primary-nav .nav-label{white-space:nowrap}
.nav-icon-wrap{position:relative;display:inline-grid;place-items:center}
.nav-count{
  position:absolute;
  top:-.34rem;
  right:-.38rem;
  min-width:1rem;
  height:1rem;
  padding:0 .2rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ivory);
  background:var(--vermilion);
  border:0.5px solid rgba(224,207,157,.5);
  box-shadow:0 0 0 1px rgba(10,7,16,.88),0 0 12px rgba(184,57,42,.42);
  font-size:.54rem;
  line-height:1;
  letter-spacing:0;
  font-style:normal;
  font-weight:700;
  z-index:2;
}

.nav-icon{
  --nav-a:#d9bf6a;
  --nav-b:#b8392a;
  --nav-c:#7fc7b2;
  width:1.32rem;height:1.32rem;display:inline-grid;place-items:center;flex:0 0 auto;
  position:relative;
  filter:drop-shadow(0 0 8px rgba(168,137,63,.22));
  transition:transform .25s ease,filter .25s ease,opacity .25s ease;
  opacity:.9;
}
.nav-icon::before{
  content:"";position:absolute;inset:0;border:0.5px solid rgba(168,137,63,.38);
  transform:rotate(45deg) scale(.76);
  background:linear-gradient(145deg,rgba(200,163,90,.11),rgba(10,7,16,.22));
  box-shadow:0 0 12px rgba(168,137,63,.12),inset 0 1px 0 rgba(224,207,157,.08);
}
.nav-icon svg{display:block;width:78%;height:78%;overflow:visible;position:relative;z-index:1}
.nav-icon .i-a,.nav-icon .i-b,.nav-icon .i-c{
  fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;
}
.nav-icon .i-a{stroke:var(--nav-a)}
.nav-icon .i-b{stroke:var(--nav-b)}
.nav-icon .i-c{stroke:var(--nav-c)}
.nav-icon-home{--nav-a:#e0cf9d;--nav-b:#c8a35a;--nav-c:#b8392a}
.nav-icon-library{--nav-a:#d9bf6a;--nav-b:#8fc9c0;--nav-c:#b8392a}
.nav-icon-purchased{--nav-a:#c8a35a;--nav-b:#8fc9c0;--nav-c:#e0cf9d}
.nav-icon-practice{--nav-a:#8fc9c0;--nav-b:#c8a35a;--nav-c:#b8392a}
.nav-icon-saved{--nav-a:#c8a35a;--nav-b:#b8392a;--nav-c:#e0cf9d}
.nav-icon-collections{--nav-a:#b88bd9;--nav-b:#c8a35a;--nav-c:#8fc9c0}
.nav-icon-request{--nav-a:#e0cf9d;--nav-b:#b8392a;--nav-c:#c8a35a}
.nav-icon-donate{--nav-a:#d66a5c;--nav-b:#c8a35a;--nav-c:#8fc9c0}
.nav-icon-login{--nav-a:#8fc9c0;--nav-b:#e0cf9d;--nav-c:#c8a35a}
.nav-icon-cart{--nav-a:#e0cf9d;--nav-b:#d66a5c;--nav-c:#b8392a}
.nav-icon-admin{--nav-a:#c8a35a;--nav-b:#b88bd9;--nav-c:#b8392a}
.nav-icon-logout{--nav-a:#b8392a;--nav-b:#c8a35a;--nav-c:#e0cf9d}
.primary-nav a:hover .nav-icon,.primary-nav button:hover .nav-icon,.primary-nav a.active .nav-icon{
  opacity:1;
  transform:scale(1.08) rotate(-2deg);
  filter:drop-shadow(0 0 10px rgba(200,163,90,.32));
}

@media (max-width:1040px){
  .primary-nav{gap:.08rem;padding:4px 5px}
  .primary-nav a,.primary-nav button{font-size:.84rem;gap:.32rem;padding:.34rem .42rem}
  .nav-icon{width:1.18rem;height:1.18rem}
}

@media (max-width:760px){
  .home-access-panel{grid-template-columns:1fr;text-align:left;margin:1.1rem 0 1.8rem}
  .home-access-actions{grid-template-columns:1fr;justify-content:flex-start;gap:.6rem}
  .home-access-actions a{width:100%;overflow-wrap:anywhere}
}

/* Mobile dock */
.mobile-dock{display:none}
.nav-toggle{display:none}

@media (max-width:980px){
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;background:linear-gradient(180deg,rgba(10,7,16,.98),rgba(20,13,26,.98));border-bottom:var(--hairline-faint);padding:1.1rem var(--pad-page) 1.4rem;gap:.35rem;box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 24px rgba(168,137,63,.1)}
  .primary-nav.is-open{display:flex}
  .primary-nav a,.primary-nav button{width:100%;padding:.68rem 0;gap:.7rem}
  .primary-nav .nav-icon{width:1.25rem;height:1.25rem}
  .nav-toggle{display:inline-flex;flex-direction:column;gap:5px;width:36px;height:30px;align-items:center;justify-content:center;border:0.5px solid var(--gold-dim);border-radius:var(--r-sm)}
  .nav-toggle span{display:block;width:18px;height:0.5px;background:var(--gold)}

  .mobile-dock{
    display:flex;justify-content:space-around;
    position:fixed;bottom:0;left:0;right:0;
    background:rgba(10,7,16,.94);border-top:var(--hairline-faint);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    box-shadow:0 -10px 32px rgba(0,0,0,.38),0 0 20px rgba(168,137,63,.1);
    padding:10px 4px calc(10px + env(safe-area-inset-bottom));z-index:50;
  }
  .mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:46px;font-style:italic;font-size:.78rem;color:var(--ivory-dim);text-align:center;padding:4px 5px;letter-spacing:.02em;white-space:nowrap}
  .mobile-dock .nav-icon{width:1.18rem;height:1.18rem;filter:drop-shadow(0 0 8px rgba(168,137,63,.24))}
  .mobile-dock .nav-label{display:block;line-height:1.1}
  .mobile-dock .nav-count{
    top:-.3rem;
    right:-.3rem;
    min-width:.94rem;
    height:.94rem;
    font-size:.5rem;
  }
  .mobile-dock a.active{color:var(--gold)}
  .mobile-dock a.active .nav-icon{filter:drop-shadow(0 0 11px rgba(200,163,90,.42));transform:translateY(-1px) scale(1.08)}
  .site-main{padding-bottom:calc(var(--pad-page) + 82px)}
  .site-footer{
    padding-bottom:calc(6.4rem + env(safe-area-inset-bottom));
  }
  .site-footer nav{
    gap:.75rem 1.1rem;
    line-height:1.35;
  }
  .site-footer nav a{
    display:inline-block;
  }
}

/* Footer */
.site-footer{
  border-top:var(--hairline-faint);
  margin-top:2.35rem;padding:1.65rem var(--pad-page) 2.7rem;
  display:flex;flex-direction:column;gap:1.2rem;
  font-size:.85rem;color:var(--ivory-dim);
  position:relative;
}
.site-footer .marginalia{font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase}
.site-footer .footnote-disclaimer{font-style:italic;max-width:62ch;line-height:1.55}
.site-footer nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.site-footer nav a{font-style:italic;color:var(--ivory-dim)}
.site-footer nav a:hover{color:var(--ivory)}

/* Pendulum in the corner of the footer */
.pendulum{position:absolute;right:var(--pad-page);top:1.6rem;width:3px;height:50px}
.pendulum .pivot{position:absolute;left:50%;top:0;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold-dim)}
.pendulum .swing{position:absolute;left:50%;top:0;transform-origin:top center;animation:swing 3.4s ease-in-out infinite;width:0.5px;height:46px;background:var(--gold)}
.pendulum .swing::after{content:"";position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 1.2px var(--vermilion)}
@keyframes swing{0%,100%{transform:translateX(-50%) rotate(-9deg)}50%{transform:translateX(-50%) rotate(9deg)}}
@media (prefers-reduced-motion:reduce){.pendulum .swing{animation:none;transform:translateX(-50%)}}
@media (max-width:840px){.pendulum{display:none}}

/* ----- 7. Hero (witness well) ----- */
.witness-stage{display:grid;place-items:center;min-height:60vh;padding:4rem 0 3rem;position:relative;isolation:isolate}
.witness-stage::before{
  content:"";position:absolute;width:min(620px,94vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(200,163,90,.13),rgba(184,57,42,.05) 44%,transparent 68%);
  filter:blur(8px);z-index:-1;
}
.witness-well{position:relative;width:min(420px,80vw);aspect-ratio:1;display:grid;place-items:center}
.witness-well svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 18px var(--glow-gold))}
.witness-well .well-label{font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim);position:absolute;left:50%;bottom:-1.6rem;transform:translateX(-50%);white-space:nowrap}
.witness-well form{position:relative;z-index:2;width:60%;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.witness-well input[type=text]{
  width:100%;background:transparent;border:0;border-bottom:0.5px solid var(--gold-dim);
  color:var(--ivory);font-size:1.1rem;font-style:italic;text-align:center;padding:.4rem .2rem;outline:none;
}
.witness-well input::placeholder{color:var(--ivory-faint);font-style:italic}
.witness-well input:focus{border-bottom-color:var(--gold);box-shadow:0 10px 22px -20px var(--glow-gold)}
.witness-well .submit{
  font-style:italic;font-size:.9rem;color:var(--gold);letter-spacing:.04em;
  padding:.3rem .6rem;border:0;
}
.witness-prompt{margin-top:2.4rem;text-align:center}
.witness-prompt .wordmark-line{font-size:2.8rem;font-style:italic;color:var(--ivory);text-shadow:0 0 22px rgba(212,202,176,.12),0 0 34px rgba(168,137,63,.1)}
.witness-prompt .wordmark-mark{font-size:.7rem;letter-spacing:var(--tracking-mark);color:var(--ivory-dim);margin-top:.4rem;text-transform:uppercase}
.home-sigil-stage{min-height:clamp(430px,58vh,620px);padding:2.4rem 0 3.3rem}
.brand-sigil{width:min(540px,82vw);container-type:inline-size}
.brand-sigil-text{
  position:absolute;
  left:50%;
  top:68%;
  z-index:2;
  display:grid;
  gap:.03em;
  width:48%;
  text-align:center;
  transform:translate(-50%,-50%);
  color:rgba(224,207,157,.76);
  font-size:clamp(.94rem,2.25vw,1.38rem);
  line-height:.9;
  font-style:italic;
  letter-spacing:.055em;
  overflow-wrap:normal;
  text-shadow:
    0 0 10px rgba(212,202,176,.1),
    0 0 22px rgba(168,137,63,.12),
    0 2px 14px rgba(0,0,0,.5);
  pointer-events:none;
}
.brand-sigil-text span:last-child{color:rgba(200,163,90,.78)}
.brand-sigil .well-label{bottom:-2.1rem}
@supports (font-size:1cqw){
  .brand-sigil-text{font-size:clamp(.94rem,5cqw,1.45rem)}
}
.home-access-panel{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:clamp(1rem,3vw,2rem);
  align-items:center;
  margin:1.35rem 0 2.2rem;
  padding:clamp(1.2rem,3vw,2rem);
}
.home-access-panel h2{
  font-size:clamp(1.7rem,4vw,2.45rem);
  margin-bottom:.22em;
}
.home-access-panel p{
  max-width:34rem;
  margin-bottom:0;
}
.home-access-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(170px,1fr));
  align-items:center;
  gap:.72rem;
}
.home-access-actions a{min-width:0}
.access-action{
  display:grid;
  grid-template-columns:2rem minmax(0,1fr);
  align-items:center;
  gap:.68rem;
  min-height:3.25rem;
  padding:.56rem .72rem;
  position:relative;
  isolation:isolate;
  color:var(--ivory-dim);
  font-size:.94rem;
  font-style:italic;
  border:0.5px solid rgba(110,90,43,.82);
  border-radius:var(--r-md);
  background:
    linear-gradient(145deg,rgba(224,207,157,.06),rgba(184,57,42,.04)),
    rgba(10,7,16,.26);
  box-shadow:0 12px 28px rgba(0,0,0,.24),0 0 18px rgba(168,137,63,.08),inset 0 1px 0 rgba(224,207,157,.07);
  transition:color .22s ease,border-color .22s ease,box-shadow .25s ease,transform .25s ease;
}
.access-action::before{
  content:"";position:absolute;inset:5px;border:0.5px solid rgba(58,47,23,.8);border-radius:calc(var(--r-md) - 1px);z-index:-1;
}
.access-action::after{
  content:"\2192";
  justify-self:end;
  grid-column:2;
  grid-row:1;
  color:var(--vermilion);
  font-style:normal;
  text-shadow:0 0 12px rgba(184,57,42,.2);
  transition:transform .22s ease,color .22s ease;
}
.access-action:hover{
  color:var(--ivory);
  border-color:rgba(200,163,90,.95);
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(0,0,0,.34),0 0 26px rgba(200,163,90,.15),inset 0 1px 0 rgba(224,207,157,.12);
}
.access-action:hover::after{transform:translateX(3px);color:#d54c39}
.access-action-primary{
  color:var(--gold-bright);
  border-color:rgba(200,163,90,.88);
  background:
    linear-gradient(145deg,rgba(200,163,90,.13),rgba(184,57,42,.065)),
    rgba(10,7,16,.34);
}
.access-icon{
  --access-a:#e0cf9d;
  --access-b:#c8a35a;
  --access-c:#7fc7b2;
  width:2rem;height:2rem;display:grid;place-items:center;position:relative;
  filter:drop-shadow(0 0 10px rgba(168,137,63,.2));
}
.access-icon::before{
  content:"";position:absolute;inset:2px;border:0.5px solid rgba(168,137,63,.52);
  transform:rotate(45deg);
  background:linear-gradient(145deg,rgba(200,163,90,.14),rgba(10,7,16,.14));
  box-shadow:0 0 14px rgba(168,137,63,.14),inset 0 1px 0 rgba(224,207,157,.08);
}
.access-icon svg{width:72%;height:72%;position:relative;z-index:1;overflow:visible}
.access-icon .i-a,.access-icon .i-b,.access-icon .i-c{
  fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;
}
.access-icon .i-a{stroke:var(--access-a)}
.access-icon .i-b{stroke:var(--access-b)}
.access-icon .i-c{stroke:var(--access-c)}
.access-icon-account{--access-a:#e0cf9d;--access-b:#c8a35a;--access-c:#b8392a}
.access-icon-login{--access-a:#8fc9c0;--access-b:#e0cf9d;--access-c:#c8a35a}
.access-icon-browse{--access-a:#d9bf6a;--access-b:#8fc9c0;--access-c:#b8392a}
.access-icon-request{--access-a:#e0cf9d;--access-b:#b8392a;--access-c:#c8a35a}
.access-label{
  display:block;
  grid-column:2;
  grid-row:1;
  align-self:center;
  min-width:0;
  padding-right:1.05rem;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  line-height:1.12;
}
@media (max-width:980px){
  .home-access-panel{
    grid-template-columns:1fr;
    text-align:left;
    overflow:hidden;
  }
  .home-access-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .home-access-actions a{
    width:100%;
    min-width:0;
  }
}
@media (max-width:640px){
  .home-access-actions{grid-template-columns:1fr}
}
.home-hero{
  margin:0;
  min-height:clamp(260px,42vh,460px);
  display:grid;
  place-content:center;
  gap:.9rem;
  position:relative;
  isolation:isolate;
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:8% 8% 0;
  z-index:-1;
  background:radial-gradient(circle,rgba(200,163,90,.15),rgba(184,57,42,.06) 42%,transparent 68%);
  filter:blur(14px);
}
.home-hero .wordmark-line{font-size:clamp(3rem,8vw,5.4rem)}

/* ----- 8. Plate (the card tile) ----- */
.plate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.6rem;margin:2rem 0}
.plate{
  position:relative;background:linear-gradient(145deg,rgba(28,19,34,.94),rgba(15,9,22,.98));border:var(--hairline);border-radius:var(--r-card);
  padding:14px;display:flex;flex-direction:column;gap:10px;
  box-shadow:var(--shadow-premium);
  transition:transform .35s ease,border-color .25s ease,box-shadow .35s ease;
  content-visibility:auto;
  contain-intrinsic-size:620px;
}
.plate::before{content:"";position:absolute;inset:6px;border:var(--hairline-faint);border-radius:calc(var(--r-card) - 1px);pointer-events:none}
.plate:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-premium-hover)}
.plate>*{position:relative;z-index:1}
.plate .plate-no{font-size:.6rem;letter-spacing:var(--tracking-mark);text-align:center;color:var(--ivory-dim);text-transform:uppercase;padding:4px 0 6px;border-bottom:var(--hairline-faint)}
.plate .plate-image{aspect-ratio:3/4;background:var(--obsidian-2);overflow:hidden;display:grid;place-items:center;border:0.5px solid var(--gold-faint);box-shadow:inset 0 0 28px rgba(0,0,0,.38),0 0 18px rgba(168,137,63,.08)}
.plate .plate-image img{width:100%;height:100%;object-fit:contain;background:#f8f2e6;transition:transform .8s ease}
.plate:hover .plate-image img{transform:scale(1.03)}
.plate .plate-image.empty{aspect-ratio:3/4;background-image:repeating-linear-gradient(45deg,var(--gold-faint) 0 1px,transparent 1px 6px);font-style:italic;color:var(--gold-dim);font-size:.85rem}
.plate .plate-title{font-style:italic;font-size:1.15rem;text-align:center;margin:.3rem 0 .15rem;color:var(--ivory)}
.plate .plate-meta{font-size:.62rem;letter-spacing:var(--tracking-mark);text-align:center;color:var(--ivory-dim);text-transform:uppercase}
.plate .plate-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:stretch;margin-top:auto;padding-top:.7rem;border-top:var(--hairline-faint);font-size:.78rem;letter-spacing:.04em}
.plate .plate-actions a,.plate .plate-actions button,.plate .plate-actions .secondary{display:flex;align-items:center;min-height:2.1rem;line-height:1.25;color:var(--gold);font-style:italic}
.plate .plate-actions>:last-child{justify-content:flex-end;text-align:right}
.plate .plate-actions .secondary{color:var(--ivory-dim);font-style:normal;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.65rem}
.plate .plate-actions .secondary:hover{color:var(--ivory)}

/* Saved badge */
.plate .ribbon{position:absolute;top:6px;right:6px;font-size:.55rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--vermilion);z-index:2}
.plate .premium-ribbon{
  left:6px;right:auto;
  color:var(--gold-soft);
  background:rgba(14,9,19,.82);
  border:var(--hairline-faint);
  border-radius:999px;
  padding:.22rem .42rem;
  box-shadow:0 0 18px rgba(168,137,63,.18);
}
.premium-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:.3rem 0 .45rem;
  padding:.28rem .62rem;
  border:var(--hairline-faint);
  border-radius:999px;
  color:var(--gold-soft);
  font-size:.62rem;
  letter-spacing:var(--tracking-mark);
  text-transform:uppercase;
  background:rgba(168,137,63,.08);
  box-shadow:0 0 18px rgba(168,137,63,.14);
}
.premium-lock-panel,.premium-status,.premium-portal{margin:2rem 0}
.premium-lock-panel h2,.premium-status h2,.premium-portal h2{font-size:clamp(1.55rem,3vw,2.25rem)}
.premium-tier-grid .tier .amount{font-size:1.45rem}
.premium-unlock-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
  max-width:42rem;
  margin:1.25rem 0 .5rem;
}
.premium-unlock-options.single-option{
  grid-template-columns:minmax(0,30rem);
}
.card-unlock-tier{
  display:block;
  width:min(30rem,100%);
  margin:0;
}
.premium-tier-button{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.32rem;
  width:100%;
  min-height:0;
  padding:1rem 1.1rem .95rem;
  border:var(--hairline);
  border-radius:calc(var(--r-card) - 2px);
  background:
    linear-gradient(145deg,rgba(26,45,75,.92),rgba(13,24,43,.97)),
    radial-gradient(circle at 50% 0,rgba(168,137,63,.16),transparent 55%);
  color:var(--ivory);
  cursor:pointer;
  box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);
  transition:border-color .2s,box-shadow .25s,transform .25s,background .25s;
  font-family:var(--serif);
  text-align:center;
}
.premium-tier-button:hover,
.premium-tier-button:focus-visible{
  border-color:rgba(214,178,101,.86);
  box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 22px rgba(168,137,63,.16),inset 0 0 0 1px rgba(255,255,255,.04);
  transform:translateY(-1px);
}
.premium-tier-button-secondary{
  background:
    linear-gradient(145deg,rgba(31,28,40,.92),rgba(14,10,18,.97)),
    radial-gradient(circle at 50% 0,rgba(212,202,176,.1),transparent 55%);
}
.premium-cart-button{
  border-color:rgba(214,178,101,.82);
}
.premium-tier-price{
  color:var(--gold);
  font-size:clamp(1.18rem,3.4vw,1.42rem);
  line-height:1.1;
  font-style:italic;
  letter-spacing:.1em;
}
.premium-tier-action{
  color:var(--ivory);
  font:700 clamp(.9rem,2.8vw,1.08rem)/1.25 var(--serif);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.premium-tier-duration{
  color:var(--gold-soft);
  font:700 .56rem/1.2 var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:.18rem;
}
.premium-tier-note{
  color:rgba(212,202,176,.72);
  font-size:.74rem;
  line-height:1.35;
  font-style:italic;
}
.premium-portal{
  max-width:min(54rem,100%);
}
.premium-portal .kicker,
.premium-portal h2,
.premium-portal>p{
  max-width:42rem;
}
.premium-portal .premium-note{
  max-width:42rem;
}
.premium-return-panel{max-width:42rem}

.premium-cart-empty{max-width:42rem}
.premium-cart-panel,.premium-order-panel{max-width:58rem}
.premium-cart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.95rem;
  padding-bottom:.85rem;
  border-bottom:var(--hairline-faint);
}
.premium-cart-head h2{
  margin:.1rem 0 0;
  font-size:clamp(1.8rem,4.2vw,2.5rem);
  line-height:1.08;
}
.premium-cart-total{
  min-width:9rem;
  text-align:right;
}
.premium-cart-total span,
.premium-cart-price span{
  display:block;
  color:var(--ivory-dim);
  font:600 .6rem/1.3 var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.premium-cart-total strong,
.premium-cart-price strong{
  display:block;
  margin-top:.25rem;
  color:var(--gold);
  font-size:1.35rem;
  font-style:italic;
  letter-spacing:.08em;
}
.premium-cart-list{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin:.95rem 0;
}
.premium-cart-row{
  display:grid;
  grid-template-columns:4.7rem minmax(0,1fr) minmax(7.5rem,max-content) auto;
  gap:.85rem;
  align-items:center;
  padding:.65rem 0;
  border-bottom:var(--hairline-faint);
}
.premium-cart-thumb{
  display:block;
  aspect-ratio:3/4;
  border:var(--hairline-faint);
  background:rgba(224,207,157,.04);
  overflow:hidden;
}
.premium-cart-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.premium-cart-copy h3{
  margin:.12rem 0 .08rem;
  font-size:clamp(1.3rem,3.4vw,1.8rem);
  line-height:1.02;
}
.premium-cart-copy .muted{line-height:1.25}
.premium-cart-price{
  text-align:right;
}
.premium-cart-price strong{
  font-size:1.18rem;
  letter-spacing:.05em;
}
.premium-cart-actions{
  padding-top:.25rem;
  gap:.6rem;
}

/* Locked variant */
.plate.locked{opacity:.55}
.plate.locked .plate-image{background:repeating-linear-gradient(45deg,var(--gold-faint) 0 1px,transparent 1px 8px)}

/* ----- 9. Single card detail ----- */
.trinityradionics-card-detail{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:2.4rem;align-items:start;margin-top:1rem}
@media (max-width:760px){.trinityradionics-card-detail{grid-template-columns:1fr}}
.trinityradionics-card-detail .display-plate{
  width:100%;max-width:460px;justify-self:center;
  background:linear-gradient(145deg,rgba(28,19,34,.94),rgba(15,9,22,.98));border:var(--hairline);border-radius:var(--r-card);padding:18px;position:relative;
  box-shadow:var(--shadow-premium-hover);
}
.trinityradionics-card-detail .display-plate::before{content:"";position:absolute;inset:8px;border:var(--hairline-faint);border-radius:calc(var(--r-card) - 1px);pointer-events:none}
.trinityradionics-card-detail .display-plate img{display:block;position:relative;z-index:1;width:100%;height:auto;max-height:min(68vh,560px);object-fit:contain;background:var(--obsidian-2)}
.trinityradionics-card-detail .marginalia{display:flex;flex-direction:column;gap:1.4rem}
.trinityradionics-card-detail .breadcrumb{font-style:italic;font-size:.85rem;color:var(--ivory-dim)}
.trinityradionics-card-detail .breadcrumb a{color:var(--gold)}
.trinityradionics-card-detail h1{
  margin-bottom:.2em;
  font-size:clamp(1.95rem,4.8vw,3.2rem);
  line-height:.98;
  overflow-wrap:anywhere;
}
.trinityradionics-card-detail .meta-row{display:flex;flex-wrap:wrap;gap:1rem;font-size:.65rem;letter-spacing:var(--tracking-mark);color:var(--ivory-dim);text-transform:uppercase;border-top:var(--hairline-faint);border-bottom:var(--hairline-faint);padding:.6rem 0}
.trinityradionics-card-detail .meta-row .vermilion{color:var(--vermilion)}
.trinityradionics-card-detail .actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:.6rem}

/* ----- 10. Buttons / actions / forms (in Trinity Radionics voice) -----
   Buttons are italic words with thin underlines, not pill shapes.
   Use .btn for emphasis, .link for plain text actions.            */
.btn{
  display:inline-flex;align-items:center;gap:.4rem;
  font-style:italic;font-size:1rem;color:var(--gold);
  padding:.55rem 0;border-bottom:0.5px solid var(--gold-dim);
  background:transparent;
  text-shadow:0 0 12px rgba(200,163,90,.14);
  transition:color .2s ease,border-color .2s ease;
}
.btn::after{content:"\2192";font-style:normal;color:var(--vermilion);transition:transform .2s ease}
.btn:hover{color:var(--ivory);border-bottom-color:var(--gold)}
.btn:hover::after{transform:translateX(3px)}
.btn.secondary{color:var(--ivory-dim);border-bottom-color:var(--ivory-faint)}
.btn.secondary::after{display:none}
.btn.secondary:hover{color:var(--ivory)}
.btn.danger{color:var(--vermilion);border-bottom-color:var(--vermilion)}
.btn.danger::after{display:none}
.btn.danger:hover{color:#d54c39}
.btn.block{
  width:100%;justify-content:center;
  padding:.92rem 1rem;
  border:0.5px solid var(--gold-dim);
  background:
    linear-gradient(145deg,rgba(200,163,90,.11),rgba(184,57,42,.055)),
    rgba(10,7,16,.36);
  box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 20px rgba(168,137,63,.08),inset 0 1px 0 rgba(224,207,157,.08);
  transition:color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease;
}
.btn.block:hover{
  transform:translateY(-1px);
  border-color:var(--gold);
  box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 28px rgba(200,163,90,.18),inset 0 1px 0 rgba(224,207,157,.12);
}

.link{font-style:italic;color:var(--gold);border-bottom:0.5px solid transparent;transition:border-color .2s}
.link:hover{border-bottom-color:var(--gold)}

button[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}

.actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center}

/* Forms */
.trinityradionics-form{display:flex;flex-direction:column;gap:1.25rem;max-width:48rem}
.trinityradionics-form label{display:flex;flex-direction:column;gap:.42rem;font-style:italic;font-size:.95rem;color:var(--ivory)}
.trinityradionics-form .label-mark{font-style:normal;font-size:.62rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim)}
.trinityradionics-form input:not([type]),.trinityradionics-form input[type=text],.trinityradionics-form input[type=email],.trinityradionics-form input[type=password],.trinityradionics-form input[type=number],.trinityradionics-form input[type=search],.trinityradionics-form input[type=url],.trinityradionics-form input[type=tel],.trinityradionics-form select,.trinityradionics-form textarea{
  width:100%;
  min-height:48px;
  background:
    linear-gradient(180deg,rgba(17,11,22,.98),rgba(9,6,13,.98)),
    var(--obsidian-2);
  border:0.5px solid rgba(110,90,43,.62);
  border-bottom-color:var(--gold-dim);
  color:var(--ivory);font-size:1rem;font-family:var(--serif);font-style:italic;
  padding:.72rem .86rem;border-radius:var(--r-sm);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
  box-shadow:inset 0 0 20px rgba(0,0,0,.28),0 1px 0 rgba(224,207,157,.04);
}
.trinityradionics-form input:focus,.trinityradionics-form select:focus,.trinityradionics-form textarea:focus{
  border-color:var(--gold);
  box-shadow:inset 0 0 18px rgba(0,0,0,.22),0 0 0 1px rgba(200,163,90,.16),0 0 24px rgba(168,137,63,.16);
}
.trinityradionics-form input::placeholder,.trinityradionics-form textarea::placeholder{color:rgba(212,202,176,.52);font-style:italic}
.trinityradionics-form input:not([type]):-webkit-autofill,
.trinityradionics-form input:-webkit-autofill,
.trinityradionics-form input:-webkit-autofill:hover,
.trinityradionics-form input:-webkit-autofill:focus,
.trinityradionics-form textarea:-webkit-autofill,
.trinityradionics-form select:-webkit-autofill{
  -webkit-text-fill-color:var(--ivory)!important;
  caret-color:var(--ivory);
  -webkit-box-shadow:0 0 0 1000px #100a16 inset,0 0 0 1px rgba(200,163,90,.28),0 0 24px rgba(168,137,63,.16)!important;
  box-shadow:0 0 0 1000px #100a16 inset,0 0 0 1px rgba(200,163,90,.28),0 0 24px rgba(168,137,63,.16)!important;
  border-color:var(--gold-dim);
  transition:background-color 9999s ease-in-out 0s,color 9999s ease-in-out 0s;
}
.trinityradionics-form textarea{min-height:8rem;resize:vertical;line-height:1.55}
.trinityradionics-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.trinityradionics-form .request-family-field{grid-column:1 / -1}
.trinityradionics-form .request-family-field select{min-width:0}
@media (max-width:600px){.trinityradionics-form .form-grid{grid-template-columns:1fr}}
.trinityradionics-form .field-help{font-size:.72rem;color:var(--ivory-dim);font-style:italic;margin-top:.25rem}
.trinityradionics-form fieldset{
  border:0.5px solid rgba(110,90,43,.58);
  border-radius:var(--r-sm);
  padding:1.05rem 1.1rem;
  margin:.2rem 0 0;
  min-inline-size:0;
  background:linear-gradient(145deg,rgba(10,7,16,.36),rgba(28,19,34,.3));
  box-shadow:inset 0 1px 0 rgba(224,207,157,.04);
}
.trinityradionics-form fieldset legend{padding:0 .65rem;font-style:normal;font-size:.65rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim)}
.trinityradionics-form fieldset label.inline{flex-direction:row;align-items:center;gap:.72rem;font-size:.95rem;line-height:1.45}
.trinityradionics-form fieldset label.terms-line{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:.9rem;
  font-size:1rem;
}
.trinityradionics-form fieldset .terms-text{display:block;min-width:0}
.trinityradionics-form fieldset .terms-text a{display:inline}
.trinityradionics-form input[type=radio],.trinityradionics-form input[type=checkbox]{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  margin:.15rem 0 0;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  border:0.5px solid var(--gold-dim);
  background:linear-gradient(145deg,rgba(17,11,22,.95),rgba(8,5,12,.98));
  box-shadow:inset 0 0 12px rgba(0,0,0,.32),0 0 12px rgba(168,137,63,.08);
}
.trinityradionics-form input[type=radio]{border-radius:50%}
.trinityradionics-form input[type=checkbox]{border-radius:2px}
.trinityradionics-form input[type=radio]::before,.trinityradionics-form input[type=checkbox]::before{
  content:"";
  width:8px;
  height:8px;
  transform:scale(0);
  transition:transform .16s ease;
  background:var(--gold-bright);
  box-shadow:0 0 12px rgba(200,163,90,.38);
}
.trinityradionics-form input[type=radio]::before{border-radius:50%}
.trinityradionics-form input[type=checkbox]::before{border-radius:1px}
.trinityradionics-form input[type=radio]:checked::before,.trinityradionics-form input[type=checkbox]:checked::before{transform:scale(1)}
.trinityradionics-form .actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:.6rem}

/* Inline single-button forms (favorite save / remove) */
.inline-form{display:inline}

/* Filter bar */
.filter-bar{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1rem 1.5rem;align-items:end;
  border-top:var(--hairline-faint);border-bottom:var(--hairline-faint);
  padding:1.4rem 0;margin:1.4rem 0 2rem;
}
.filter-bar label{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem;font-style:italic;color:var(--ivory)}
.filter-bar .label-mark{font-style:normal;font-size:.62rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim)}
.filter-bar input,.filter-bar select{width:100%;background:transparent;border:0;border-bottom:0.5px solid var(--gold-dim);color:var(--ivory);font-style:italic;padding:.4rem .2rem;outline:none}
.trinityradionics-form select option,.filter-bar select option{background:#100a16;color:var(--ivory)}
.filter-bar input:focus,.filter-bar select:focus{border-bottom-color:var(--gold)}
.filter-bar .submit{align-self:end}

/* Compact live library controls */
.filter-bar{
  grid-template-columns:repeat(auto-fit,minmax(min(136px,100%),1fr));
  gap:.72rem .9rem;
  padding:1rem;
  border:0.5px solid rgba(168,137,63,.52);
  border-radius:var(--r-card);
  background:
    radial-gradient(circle at 14% 0%,rgba(224,207,157,.08),transparent 15rem),
    linear-gradient(145deg,rgba(28,19,34,.86),rgba(12,8,17,.96));
  box-shadow:var(--shadow-premium);
}
.filter-bar label{gap:.18rem;min-width:0}
.filter-bar .label-mark{font-size:.56rem;letter-spacing:.16em}
.filter-bar input,.filter-bar select{
  min-height:40px;
  padding:.44rem .15rem .38rem;
  font-size:.88rem;
}
.filter-bar .filter-submit{display:none}
@media (min-width:1100px){
  .filter-bar{grid-template-columns:minmax(190px,1.35fr) repeat(5,minmax(124px,1fr))}
}

/* Active filter chips */
.filter-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.4rem}
.filter-chip{
  font-size:.7rem;letter-spacing:var(--tracking-label);text-transform:uppercase;
  border:0.5px solid var(--gold-dim);padding:.35rem .7rem;border-radius:99px;
  color:var(--ivory-dim);font-style:normal;
}
.filter-chip:hover{color:var(--ivory);border-color:var(--gold)}
.filter-chip strong{font-weight:400;color:var(--vermilion);margin-left:.5rem}

/* ----- 11. Page-specific layouts ----- */
.library-search-band{
  margin:.15rem 0 .95rem;
  padding:.38rem 0 .28rem;
  border-top:var(--hairline-faint);
  border-bottom:var(--hairline-faint);
}
.library-search-shell{
  display:flex;
  flex-direction:column;
  gap:.16rem;
  max-width:min(34rem,100%);
}
.library-search-shell .label-mark{
  font-size:.56rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ivory-dim);
}
.library-search-shell input{
  min-height:2.2rem;
  padding:.34rem 0 .3rem;
  font-size:clamp(1.04rem,2.2vw,1.35rem);
  color:var(--ivory);
  border:0;
  border-bottom:0.5px solid rgba(168,137,63,.62);
  background:transparent;
}
.library-search-shell input::placeholder{color:rgba(138,129,112,.84)}
.library-search-shell input:focus{border-bottom-color:var(--gold)}
.page-intro{margin:1.4rem 0 2rem}
.page-intro .kicker{margin-bottom:.6rem;display:block}
.page-intro h1{margin-bottom:.38em;font-size:clamp(2rem,7.2vw,3rem);line-height:1.05}
.page-intro p{max-width:54ch;color:var(--ivory-dim)}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin:2rem 0 1.4rem}
.section-head h2{margin-bottom:.3em}
.section-head p{margin:0;color:var(--ivory-dim);max-width:48ch}

.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem}
.feature-row .frame h2{font-size:1.15rem;margin-bottom:.25em}
.feature-row .frame .kicker{display:block;margin-bottom:.6rem}
.archive-context-row{margin:-.4rem 0 2rem}
.archive-context-row .frame,.seo-card-notes .frame{padding:1.1rem 1.15rem}
.archive-context-row .frame h2,.seo-card-notes .frame h3{font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.12}
.archive-context-row .frame p,.seo-card-notes .frame p{font-size:.94rem;line-height:1.55}

/* Practice page */
.practice-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1.1rem;
  margin-top:2rem;
}
.practice-card{
  display:flex;
  flex-direction:column;
  gap:.8rem;
  padding:1.15rem;
}
.practice-card h3{
  font-size:clamp(1.05rem,1.4vw,1.22rem);
  line-height:1.12;
  margin:0;
}
.practice-card ul{
  margin:0;
  padding-left:1.1rem;
  color:var(--ivory-dim);
  font-size:.92rem;
  line-height:1.45;
  font-style:italic;
}
.practice-card li{margin:.42rem 0}

/* Public archive thumbnail navigation */
.public-archive-filter{
  grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(136px,1fr));
  margin-top:.4rem;
}
.category-thumb-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:1rem;
  margin:1.6rem 0 2.4rem;
}
.category-thumb-card{
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr;
  min-width:0;
  overflow:hidden;
  border:0.5px solid rgba(168,137,63,.54);
  border-radius:var(--r-card);
  background:
    radial-gradient(circle at 24% 0%,rgba(224,207,157,.12),transparent 8rem),
    linear-gradient(145deg,rgba(28,19,34,.94),rgba(8,5,12,.98));
  box-shadow:var(--shadow-premium);
  color:var(--ivory);
  min-height:100%;
  content-visibility:auto;
  contain-intrinsic-size:420px;
}
.category-thumb-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(200,163,90,.16),transparent 34%,rgba(184,57,42,.08));
  opacity:.42;
  transition:opacity .25s ease;
}
.category-thumb-card:hover{
  transform:translateY(-2px);
  border-color:var(--gold);
  box-shadow:var(--shadow-premium-hover);
}
.category-thumb-card:focus-within{
  border-color:var(--gold-bright);
  box-shadow:var(--shadow-premium-hover);
}
.category-thumb-card:hover::after{opacity:.72}
.category-thumb-media{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  margin:.55rem .55rem 0;
  overflow:hidden;
  border:0.5px solid rgba(168,137,63,.45);
  background:rgba(8,5,12,.72);
  z-index:1;
  transition:border-color .25s ease,filter .25s ease;
}
.category-thumb-media:hover{border-color:var(--gold-bright);filter:brightness(1.04)}
.category-thumb-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter:sepia(.1) contrast(1.04);
}
.category-thumb-empty{
  display:grid;
  place-items:center;
  min-height:100%;
  color:var(--ivory-dim);
  font-style:italic;
}
.category-thumb-copy{
  position:relative;
  z-index:1;
  display:grid;
  gap:.35rem;
  padding:.85rem .8rem .95rem;
  color:var(--ivory);
}
.category-thumb-copy:hover strong{color:var(--gold-soft)}
.category-thumb-copy .kicker{font-size:.56rem;letter-spacing:.18em}
.category-thumb-copy strong{
  display:block;
  color:var(--ivory);
  font-size:clamp(1rem,1.12vw,1.15rem);
  line-height:1.08;
  font-style:italic;
  overflow-wrap:anywhere;
}
.category-thumb-copy small{
  color:var(--ivory-dim);
  font-size:.72rem;
  line-height:1.25;
  font-style:italic;
}
@media (max-width:760px){
  .public-archive-filter{grid-template-columns:1fr 1fr}
  .public-archive-filter label:first-child{grid-column:1 / -1}
  .category-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
  .category-thumb-media{margin:.42rem .42rem 0}
  .category-thumb-copy{padding:.7rem .62rem .78rem}
  .category-thumb-copy .kicker{font-size:.5rem;letter-spacing:.15em}
  .category-thumb-copy small{font-size:.66rem}
}
@media (max-width:360px){
  .category-thumb-grid{grid-template-columns:1fr}
}

.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2.4rem}
@media (max-width:880px){.two-col{grid-template-columns:1fr}}

/* Stat strip on member home */
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;border-top:var(--hairline-faint);border-bottom:var(--hairline-faint);margin:1.6rem 0 2.4rem}
.stat-strip .stat{padding:1rem 1.2rem;border-right:var(--hairline-faint);text-align:left}
.stat-strip .stat:last-child{border-right:0}
.stat-strip .stat strong{display:block;font-size:1.8rem;font-style:italic;color:var(--gold)}
.stat-strip .stat span{font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim)}

/* Compact card-row list */
.row-list{display:flex;flex-direction:column;border-top:var(--hairline-faint)}
.row-list > a,.row-list > .row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .2rem;border-bottom:var(--hairline-faint);color:var(--ivory)}
.row-list > a:hover{color:var(--gold)}
.row-list .row-title{font-style:italic}
.row-list .row-meta{font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim)}

/* Empty state */
.empty-state{
  border:var(--hairline-faint);border-radius:var(--r-card);
  padding:3rem 2rem;text-align:center;color:var(--ivory-dim);font-style:italic;
  background:linear-gradient(145deg,rgba(28,19,34,.56),rgba(10,7,16,.68));
  box-shadow:0 16px 36px rgba(0,0,0,.22),0 0 22px rgba(168,137,63,.07);
}
.empty-state h2{font-size:1.4rem;margin-bottom:.4em}

/* Flash messages */
.flash{
  border:var(--hairline);border-left:2px solid var(--gold);
  background:var(--obsidian-2);padding:.9rem 1.2rem;font-style:italic;color:var(--ivory);
  margin:0 0 1.4rem;
  box-shadow:0 10px 26px rgba(0,0,0,.22),0 0 18px rgba(168,137,63,.08);
}
.flash.success{border-left-color:var(--gold-bright)}
.flash.error{border-left-color:var(--vermilion);color:var(--ivory)}

.cart-inline-toast{
  position:fixed;
  right:16px;
  bottom:calc(80px + env(safe-area-inset-bottom));
  z-index:120;
  max-width:min(92vw,420px);
  padding:.68rem .92rem;
  border:0.5px solid rgba(168,137,63,.72);
  border-radius:var(--r-sm);
  background:
    radial-gradient(circle at 14% 0%,rgba(224,207,157,.13),transparent 7rem),
    linear-gradient(145deg,rgba(28,19,34,.94),rgba(10,7,16,.98));
  color:var(--ivory);
  font-style:italic;
  box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 26px rgba(168,137,63,.2);
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.cart-inline-toast.show{
  opacity:1;
  transform:translateY(0);
}
.cart-inline-toast.error{
  border-color:rgba(184,57,42,.78);
  box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 26px rgba(184,57,42,.2);
}

/* Help / safety note */
.safe-note{
  border:var(--hairline-faint);border-left:2px solid var(--vermilion);
  padding:.9rem 1.2rem;margin:1.2rem 0;color:var(--ivory-dim);font-size:.85rem;font-style:italic;
  background:linear-gradient(90deg,rgba(184,57,42,.08),rgba(20,13,26,.62));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

/* Download group */
.download-group{margin:1.4rem 0;border-top:var(--hairline-faint);padding-top:1rem}
.download-group h3{font-size:.9rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-style:normal;color:var(--ivory-dim);margin-bottom:.6rem}
.download-list{display:flex;flex-direction:column;gap:.4rem}
.download-list .download-row{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(11rem,max-content);gap:1rem;align-items:center;font-style:italic;padding:.5rem 0;border-bottom:var(--hairline-faint);color:var(--ivory)}
.download-list .download-row.locked{color:var(--ivory-faint)}
.download-list .download-row .file-meta{justify-self:end;text-align:right;font-style:normal;font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim);line-height:1.35}

/* Luminous actions and card download vault */
.action-orbit,
.luxury-action-row,
.trinityradionics-card-detail .actions{
  gap:.72rem;
}
.actions .btn,
.action-orbit .btn,
.luxury-action-row .btn,
.trinityradionics-card-detail .actions .btn{
  min-height:46px;
  padding:.7rem 1rem;
  border:0.5px solid rgba(168,137,63,.72);
  border-radius:var(--r-sm);
  background:
    radial-gradient(circle at 18% 0%,rgba(224,207,157,.12),transparent 7rem),
    linear-gradient(145deg,rgba(34,23,40,.9),rgba(12,8,17,.96));
  box-shadow:0 16px 32px rgba(0,0,0,.28),0 0 22px rgba(168,137,63,.14),inset 0 1px 0 rgba(224,207,157,.08);
}
.actions .btn.secondary,
.action-orbit .btn.secondary,
.luxury-action-row .btn.secondary{
  color:var(--ivory);
  border-color:rgba(212,202,176,.28);
}
.actions .btn.danger,
.action-orbit .btn.danger{
  color:#e46a57;
  border-color:rgba(184,57,42,.72);
  box-shadow:0 16px 32px rgba(0,0,0,.28),0 0 22px rgba(184,57,42,.14);
}
.action-orbit .inline-form,
.luxury-action-row .inline-form,
.trinityradionics-card-detail .actions .inline-form{
  display:inline-block;
  width:auto;
}
.action-orbit .inline-form .btn,
.luxury-action-row .inline-form .btn,
.trinityradionics-card-detail .actions .inline-form .btn{
  width:auto;
  justify-content:center;
}
.trinityradionics-card-detail .actions .luxury-login-link{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 1rem;
  border:0.5px solid rgba(212,202,176,.28);
  border-radius:var(--r-sm);
  color:var(--ivory);
  background:
    radial-gradient(circle at 18% 0%,rgba(224,207,157,.1),transparent 7rem),
    linear-gradient(145deg,rgba(42,32,48,.78),rgba(12,8,17,.94));
  box-shadow:0 16px 32px rgba(0,0,0,.24),inset 0 1px 0 rgba(224,207,157,.08);
}
.trinityradionics-card-detail .actions .luxury-login-link:hover{
  border-color:rgba(168,137,63,.68);
  color:var(--gold-bright);
}
.trinityradionics-card-detail .meta-row{
  gap:.55rem;
  align-items:center;
}
.trinityradionics-card-detail .meta-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.35rem;
  padding:.42rem .72rem;
  border:0.5px solid rgba(168,137,63,.32);
  border-radius:var(--r-sm);
  color:var(--ivory-dim);
  background:linear-gradient(145deg,rgba(224,207,157,.055),rgba(12,8,17,.18));
  line-height:1.1;
  text-align:center;
}
.trinityradionics-card-detail .meta-row a[aria-current="page"]{
  color:var(--ivory);
  border-color:rgba(168,137,63,.72);
  box-shadow:inset 0 0 0 1px rgba(168,137,63,.12);
}
.trinityradionics-card-detail .meta-row a:hover{color:var(--gold-bright);border-color:rgba(168,137,63,.66)}
.trinityradionics-card-detail .meta-row a.vermilion{
  margin-left:auto;
  color:var(--gold-soft);
  border-color:rgba(168,137,63,.42);
  background:linear-gradient(145deg,rgba(168,137,63,.08),rgba(12,8,17,.2));
}
#file-downloads{scroll-margin-top:6rem}
.download-vault{margin-top:3rem}
.download-vault h2{font-size:clamp(1.7rem,3.2vw,2.45rem)}
.download-vault .download-group{
  margin:1.1rem 0;
  padding:1rem 0 0;
  border-top:0.5px solid rgba(168,137,63,.42);
}
.download-vault .download-list{gap:.55rem}
.download-vault .download-row{
  min-height:3.25rem;
  padding:.75rem .85rem;
  border:0.5px solid rgba(168,137,63,.24);
  background:linear-gradient(90deg,rgba(224,207,157,.055),rgba(12,8,17,.18));
  box-shadow:inset 0 1px 0 rgba(224,207,157,.04);
}
.download-vault .download-row:hover{
  border-color:rgba(168,137,63,.62);
  color:var(--gold-soft);
  box-shadow:0 0 24px rgba(168,137,63,.12),inset 0 1px 0 rgba(224,207,157,.08);
}
.request-submit-row{justify-content:center;margin-top:1.4rem}
.request-page,
.request-page .two-col,
.request-page .trinityradionics-form,
.request-page .frame,
.request-page .safe-note,
.request-page .request-history-list,
.request-page .request-history-card,
.request-page .request-history-head,
.request-page .request-file-actions{
  min-width:0;
  max-width:100%;
}
.request-page h1,
.request-page h2,
.request-page h3,
.request-page p,
.request-page .safe-note,
.request-page .field-help,
.request-page .request-status-line,
.request-page .request-history-meta dd{
  overflow-wrap:anywhere;
}
.request-card-form{max-width:none;width:100%;min-width:0}
.request-card-form label,
.request-card-form fieldset{
  min-width:0;
  min-inline-size:0;
  max-width:100%;
}
.request-card-form fieldset legend{
  max-width:calc(100% - .7rem);
  white-space:normal;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.request-card-form input:not([type]),
.request-card-form input[type=text],
.request-card-form select,
.request-card-form textarea{
  max-width:100%;
  min-width:0;
}
.request-card-form fieldset label.inline{
  min-width:0;
  align-items:flex-start;
  overflow-wrap:anywhere;
}
.request-submit-row .btn{
  max-width:100%;
  min-width:0;
  flex-wrap:wrap;
  justify-content:center;
  text-align:center;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.request-history-shortcut{display:flex;justify-content:flex-start;margin:1rem 0 1.15rem}
.request-history-jump{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  max-width:100%;
  min-height:2.65rem;
  padding:.68rem 1.18rem;
  border:0.5px solid rgba(168,137,63,.72);
  background:
    linear-gradient(135deg,rgba(54,34,39,.72),rgba(17,9,19,.94)),
    radial-gradient(circle at 12% 0%,rgba(224,207,157,.12),transparent 42%);
  color:var(--gold);
  text-decoration:none;
  box-shadow:0 16px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(224,207,157,.08);
}
.request-history-jump:hover{border-color:rgba(224,207,157,.72);color:var(--ivory)}
.request-history-jump span{font-size:.94rem;font-style:italic}
.request-history-jump small{
  font-size:.56rem;
  letter-spacing:var(--tracking-label);
  text-transform:uppercase;
  color:var(--ivory-dim);
  white-space:nowrap;
}
.request-credit-panel{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .7rem;
  width:max-content;
  max-width:100%;
  padding:.46rem .65rem;
  margin:1.05rem auto .25rem;
  border-left:1px solid rgba(207,71,58,.75);
  color:var(--ivory-dim);
  background:rgba(224,207,157,.035);
}
.request-credit-panel .kicker{font-size:.5rem}
.request-credit-panel strong{
  color:var(--ivory);
  font-size:.92rem;
  font-style:italic;
  font-weight:400;
}
.request-credit-panel span:last-child{font-size:.76rem;line-height:1.35}
.request-history-list{display:grid;gap:1rem;margin-top:1.35rem}
.request-history-card{
  display:grid;
  gap:1rem;
  padding:1.05rem 1.15rem;
}
.request-history-head{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:1.25rem;align-items:start}
.request-status-line{
  display:block;
  color:var(--ivory-dim);
  font-size:.6rem;
  letter-spacing:var(--tracking-label);
  text-transform:uppercase;
}
.request-history-card h3{margin:.28rem 0 0;font-size:1.25rem;line-height:1.15}
.request-history-meta{display:grid;gap:.45rem;margin:0}
.request-history-meta div{display:grid;grid-template-columns:minmax(0,1fr);gap:.18rem;align-items:baseline;padding-bottom:.35rem;border-bottom:var(--hairline-faint);text-align:right}
.request-history-meta dt{font-size:.62rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim)}
.request-history-meta dd{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory)}
.request-file-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.65rem}
.request-file-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  min-height:4.55rem;
  padding:.78rem .85rem;
  border:0.5px solid rgba(168,137,63,.72);
  background:rgba(196,156,64,.035);
  color:var(--ivory);
  text-decoration:none;
  min-width:0;
  max-width:100%;
}
.request-file-link:hover{border-color:rgba(224,207,157,.78);color:var(--gold);background:rgba(196,156,64,.065)}
.request-file-link span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;overflow-wrap:anywhere}
.request-file-link small{font-size:.58rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ivory-dim);white-space:nowrap}
.request-history-empty{margin:0}
.request-history-delete{display:flex;justify-content:flex-end;margin:.15rem 0 0}
.paypal-return-popup .site-header,
.paypal-return-popup .site-footer,
.paypal-return-popup .mobile-dock{display:none}
.paypal-return-popup .site-main{min-height:100vh;display:grid;place-items:center;padding:2rem}

/* Account */
.account-primary-actions{
  margin-bottom:2rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,max-content));
}
.account-library-panel{max-width:46rem}
.account-controls{margin-bottom:2rem}
.account-controls>summary,
.support-details>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
}
.account-controls>summary::-webkit-details-marker,
.support-details>summary::-webkit-details-marker{display:none}
.account-controls>summary strong,
.support-details>summary span{
  display:block;
  font-size:1.25rem;
  font-style:italic;
  color:var(--ivory);
}
.account-controls>summary em,
.support-details>summary em{
  color:var(--gold);
  border-bottom:0.5px solid var(--gold-dim);
}
.account-controls[open]>summary em::before,
.support-details[open]>summary em::before{content:"Close";font-style:italic;font-size:.95rem}
.account-controls[open]>summary em,
.support-details[open]>summary em{font-size:0}
.account-controls-body{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:var(--hairline-faint);
}
.account-control-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:var(--hairline-faint);
}

/* Support */
.support-details{
  max-width:48rem;
  margin:0 0 1.4rem;
  padding:.95rem 1rem;
  border:var(--hairline-faint);
  background:rgba(12,8,17,.58);
}
.support-details .trinityradionics-prose{margin-top:1rem;font-size:.92rem}
.support-details.support-details-bottom{
  max-width:48rem;
  margin:2rem 0 0;
  padding:.45rem 0 0;
  border:0;
  border-top:var(--hairline-faint);
  background:transparent;
  box-shadow:none;
  font-size:.86rem;
}
.support-details.support-details-bottom>summary{padding:.25rem 0;opacity:.86}
.support-details.support-details-bottom>summary span{font-size:.96rem}
.support-details.support-details-bottom .trinityradionics-prose{font-size:.84rem}
.support-portal{
  max-width:48rem;
  margin:1.4rem 0 2rem;
}
.donation-dialog[hidden]{display:none}
.donation-dialog{
  position:fixed;
  inset:0;
  z-index:260;
  display:grid;
  place-items:center;
  padding:clamp(14px,4vw,34px);
}
.donation-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,3,9,.76);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.donation-panel{
  width:min(720px,100%);
  max-height:min(86vh,780px);
  overflow:auto;
  padding:clamp(1.35rem,4vw,2.4rem);
}
.donation-close{
  position:absolute;
  top:.8rem;
  right:.9rem;
  width:2.4rem;
  height:2.4rem;
  color:var(--gold-soft);
  border:0.5px solid rgba(168,137,63,.42);
  background:rgba(10,7,16,.72);
  font-size:1.25rem;
}
.tier-grid.donation-tier-grid,.tier-grid.premium-tier-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:1.4rem 0}
.tier .amount{
  border:0;
  background:transparent;
  color:var(--gold);
  font:inherit;
  font-size:1.8rem;
  cursor:pointer;
}
.donation-custom-form{max-width:none}
.donation-gratitude,.premium-note{
  margin:1rem 0 0;
  padding-top:.9rem;
  border-top:var(--hairline-faint);
  color:var(--ivory-dim);
  font-size:.86rem;
  font-style:italic;
}
.donation-gratitude strong,.premium-note strong{color:var(--gold-soft);font-weight:400}
body.has-donation-dialog{overflow:hidden}

/* Auth pages - luxury centered card */
.auth-stage{
  display:grid;
  place-items:center;
  min-height:68vh;
  padding:clamp(1.4rem,4vw,3.2rem) 0;
}
.auth-stage .frame{
  width:min(640px,100%);
  padding:clamp(1.7rem,4.8vw,3.4rem);
}
.auth-stage h1{
  font-size:clamp(2.25rem,6vw,3.05rem);
  line-height:1;
  margin-bottom:.32em;
  text-align:center;
}
.auth-stage .kicker{display:block;text-align:center;margin-bottom:1rem}
.auth-stage .auth-copy{
  text-align:center;
  font-style:italic;
  max-width:28rem;
  margin:0 auto 1.6rem;
  color:rgba(212,202,176,.76);
}
.auth-stage .trinityradionics-form{gap:1.18rem}
.auth-stage .trinityradionics-form .form-grid{gap:1.3rem}
.auth-stage .trinityradionics-form .actions{margin-top:.85rem}
.auth-stage .footnote{
  text-align:center;
  margin:1.55rem auto 0;
  color:var(--ivory-dim);
  font-size:.95rem;
  font-style:italic;
  border-top:var(--hairline-faint);
  padding-top:1.35rem;
}
.auth-stage .auth-return-note{
  max-width:30rem;
  margin:.15rem auto 1.15rem;
  border:0.5px solid rgba(168,137,63,.48);
  border-left:1px solid rgba(224,207,157,.78);
  padding:.68rem .95rem;
  color:var(--ivory-dim);
  font-size:.84rem;
  font-style:italic;
  background:linear-gradient(90deg,rgba(224,207,157,.055),rgba(20,13,26,.64));
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}

/* Donate / support tiers */
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2rem 0}
.tier{
  background:linear-gradient(145deg,rgba(28,19,34,.94),rgba(15,9,22,.98));border:var(--hairline);border-radius:var(--r-card);
  padding:1.4rem 1rem;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s,transform .25s,box-shadow .25s;
  font-family:var(--serif);
  box-shadow:var(--shadow-premium);
}
.tier:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-premium-hover)}
.tier.featured{border-color:var(--gold);box-shadow:var(--shadow-premium-hover)}
.tier .amount{font-size:1.8rem;font-style:italic;color:var(--gold)}
.tier .name{font-size:.62rem;letter-spacing:var(--tracking-mark);text-transform:uppercase;color:var(--ivory-dim)}
.donation-tier-grid .tier{padding:0}
.donation-tier-button{
  width:100%;
  min-height:8.6rem;
  padding:1.4rem 1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  text-align:center;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.donation-tier-button .tier-copy{
  font-size:.75rem;
  font-style:italic;
}
.donation-tier-button:focus-visible{
  outline:1px solid var(--gold-bright);
  outline-offset:-6px;
  box-shadow:inset 0 0 0 4px rgba(200,163,90,.12);
}

/* Breadcrumb */
.breadcrumb{display:flex;gap:.6rem;font-size:.85rem;color:var(--ivory-dim);font-style:italic;margin-bottom:1rem}
.breadcrumb a{color:var(--gold)}

/* ----- 12. Print rules - when a card detail is printed ----- */
@media print{
  body{background:#fff;color:#000}
  .site-header,.site-footer,.mobile-dock,.btn,.actions,.filter-bar,.filter-chips{display:none!important}
  .trinityradionics-card-detail{grid-template-columns:1fr}
  .frame{border:0.5px solid #000}
  .frame::before{display:none}
}

@media (max-width:600px){
  .site-main{width:100%;max-width:100%;padding-left:12px;padding-right:12px}
  .divider{gap:.55rem;margin:2rem 0;min-width:0}
  .divider .text{
    min-width:0;
    max-width:64vw;
    font-size:.58rem;
    letter-spacing:.16em;
    line-height:1.25;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .site-header{padding:14px var(--pad-page)}
  .site-header .seal{width:34px;height:34px;flex-basis:34px}
  .site-header .wordmark{font-size:1.05rem}
  .site-header .wordmark small{font-size:.5rem}
  .home-sigil-stage{min-height:clamp(350px,50vh,470px);padding:1.6rem 0 2.7rem}
  .brand-sigil{width:min(360px,76vw)}
  .brand-sigil-text{top:68.5%;width:52%;font-size:clamp(.92rem,4.2vw,1.08rem)}
  .home-access-panel{grid-template-columns:1fr;text-align:left;margin:1.1rem 0 1.8rem}
  .home-access-actions{
    display:grid;
    grid-template-columns:1fr;
    justify-content:flex-start;
    gap:.55rem;
  }
  .home-access-actions a{width:100%;overflow-wrap:anywhere}
  .access-action{min-height:3rem}
  .actions{flex-direction:column;align-items:flex-start;gap:.65rem}
  .request-page .safe-note{padding:.82rem .9rem}
  .request-card-form{gap:1rem}
  .request-card-form fieldset{padding:.92rem .82rem}
  .request-card-form fieldset legend{padding:0 .35rem;letter-spacing:.13em}
  .request-card-form fieldset label.inline{font-size:.9rem;line-height:1.35}
  .request-credit-panel{
    width:100%;
    display:grid;
    justify-items:center;
    text-align:center;
    margin:1rem 0 .25rem;
    padding:.62rem .72rem;
  }
  .request-credit-panel span:last-child{font-size:.72rem;overflow-wrap:anywhere}
  .request-submit-row .btn{font-size:.95rem;padding-left:.72rem;padding-right:.72rem}
  .request-history-shortcut{width:100%}
  .request-history-jump{
    width:100%;
    flex-wrap:wrap;
    gap:.35rem .7rem;
    padding:.68rem .72rem;
    text-align:center;
  }
  .request-history-jump small{white-space:normal}
  .request-history-card{padding:.95rem .82rem}
  .auth-stage .actions{align-items:center}
  .auth-stage .frame{width:100%;padding:1.7rem 1.25rem}
  .auth-stage h1{font-size:2.2rem}
  .auth-stage .auth-copy{font-size:.95rem;margin-bottom:1.25rem}
  .auth-stage .auth-return-note{font-size:.8rem;padding:.62rem .75rem;margin-bottom:1rem}
  .trinityradionics-form fieldset label.terms-line{grid-template-columns:20px minmax(0,1fr);font-size:.95rem}
  .plate-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1rem}
  .plate{padding:11px}
  .plate .plate-title{font-size:1.02rem}
  .row-list > a,.row-list > .row{align-items:flex-start;gap:.55rem}
  .row-list .row-meta{text-align:right;overflow-wrap:anywhere}
  .request-history-head{grid-template-columns:1fr;gap:.7rem}
  .request-history-meta div{text-align:left}
  .request-history-delete{justify-content:flex-start}
  .request-file-actions{grid-template-columns:1fr}
  .request-file-link{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:.35rem;min-height:0}
  .request-file-link small{white-space:normal}
  .download-list .download-row{align-items:flex-start;gap:.7rem}
  .download-list .download-row .file-meta{text-align:right}
  .feature-row{grid-template-columns:1fr}
  .tier-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
  .premium-unlock-options{grid-template-columns:1fr;max-width:100%}
  .card-unlock-tier{width:100%}
  .premium-cart-head{display:grid;gap:.85rem}
  .premium-cart-total{text-align:left}
  .premium-cart-row{
    grid-template-columns:4.2rem minmax(0,1fr);
    gap:.75rem;
    align-items:start;
  }
  .premium-cart-price,
  .premium-cart-row .inline-form{
    grid-column:2;
    text-align:left;
  }
  .premium-cart-row .inline-form .btn{
    min-height:40px;
    padding:.56rem .8rem;
  }
  .filter-bar{
    grid-template-columns:1fr 1fr;
    gap:.58rem;
    padding:.72rem;
    margin:1rem 0 1.2rem;
  }
  .filter-bar label:first-child{grid-column:1 / -1}
  #libraryFilters label:first-child{grid-column:auto}
  .filter-bar input,.filter-bar select{min-height:36px;font-size:.82rem}
  .filter-bar .label-mark{font-size:.5rem}
  .actions .btn,.action-orbit .btn,.luxury-action-row .btn,.trinityradionics-card-detail .actions .btn{
    width:100%;
    justify-content:center;
    min-height:44px;
  }
  .action-orbit,.luxury-action-row,.trinityradionics-card-detail .actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:.58rem;
  }
  .action-orbit .inline-form,
  .luxury-action-row .inline-form,
  .trinityradionics-card-detail .actions .inline-form,
  .action-orbit .inline-form .btn,
  .luxury-action-row .inline-form .btn,
  .trinityradionics-card-detail .actions .inline-form .btn{width:100%}
  .trinityradionics-card-detail .actions .luxury-login-link{width:100%}
  .trinityradionics-card-detail .meta-row{gap:.45rem}
  .trinityradionics-card-detail h1{font-size:clamp(1.9rem,8.4vw,2.9rem)}
  .trinityradionics-card-detail .meta-row a{font-size:.58rem}
  .download-vault{padding:1rem}
  .download-vault .download-row{padding:.7rem}
  .account-controls>summary,.support-details>summary{align-items:flex-start}
  .tier-grid.donation-tier-grid,.tier-grid.premium-tier-grid{grid-template-columns:1fr}
  .donation-panel{max-height:88vh}
}

@media (max-width:420px){
  html{font-size:17px}
  .home-sigil-stage{min-height:clamp(330px,48vh,430px);padding:1.3rem 0 2.35rem}
  .brand-sigil{width:min(320px,78vw)}
  .brand-sigil-text{top:69%;width:56%;font-size:clamp(.88rem,4.4vw,1rem);letter-spacing:.035em}
  .home-access-actions{grid-template-columns:1fr;align-items:flex-start}
  .witness-well{width:min(340px,88vw)}
  .witness-well form{width:66%}
  .mobile-dock{width:100%;max-width:100vw;overflow:hidden}
  .mobile-dock a{flex:1 1 0;min-height:48px;font-size:clamp(.74rem,3.2vw,.82rem);padding:7px 2px;overflow:hidden}
  .mobile-dock .nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .site-footer nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    justify-content:center;
    justify-items:center;
    column-gap:.7rem;
    row-gap:.58rem;
    max-width:21rem;
  }
  .site-footer nav a{min-width:4.6rem;text-align:center}
  .site-footer nav a:last-child:nth-child(3n+1){grid-column:2}
  .filter-bar{grid-template-columns:1fr 1fr}
  .plate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
  .plate{padding:8px;gap:7px}
  .plate .plate-no{font-size:.48rem;letter-spacing:.22em}
  .plate .plate-title{
    min-height:2.5em;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.86rem;
    line-height:1.18;
  }
  .plate .plate-meta{
    min-height:2.35em;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.48rem;
    line-height:1.2;
    letter-spacing:.22em;
  }
  .plate .plate-actions{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(2.05rem,auto));font-size:.66rem;gap:.2rem}
  .plate .plate-actions>:last-child{justify-content:flex-start;text-align:left}
  .stat-strip .stat{padding:.9rem .8rem}
  .row-list > a,.row-list > .row{flex-direction:column}
  .row-list .row-meta,.download-list .download-row .file-meta{text-align:left}
  .download-list .download-row{grid-template-columns:1fr;gap:.28rem}
  .download-list .download-row .file-meta{justify-self:start}
  .trinityradionics-card-detail h1{font-size:clamp(1.72rem,8vw,2.35rem)}
}

@supports not ((backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px))){
  .site-header,.mobile-dock{background:#0a0710}
}

@media (max-width:980px){
  .site-footer{
    padding-bottom:calc(8rem + env(safe-area-inset-bottom))!important;
  }
  .site-footer nav{
    gap:.72rem 1rem;
    line-height:1.35;
  }
  .site-footer nav a{
    display:inline-block;
  }
}

@supports not (aspect-ratio:1 / 1){
  .witness-well{height:min(420px,80vw)}
  .witness-stage::before{height:min(620px,94vw)}
  .plate .plate-image{height:clamp(210px,68vw,420px)}
  .trinityradionics-card-detail .display-plate img{height:auto;max-height:clamp(300px,70vh,540px)}
}
