/* ============================================================================
   Deus Intus · Editorial v3 — premium editorial override layer
   Load AFTER design-system.css. Implements the v003 directive:
   fewer cards/borders/glows, open editorial grid, 8pt spacing,
   reduced gold, teal as occasional accent, image-led composition.
   ========================================================================== */

:root{
  --di-ink:#0A0D12;
  --di-paper:#F4F0E8;
  --di-gold:#B8963B;           /* desaturated antique gold, reduced usage */
  --di-gold-dim:rgba(184,150,59,0.45);
  --di-aqua:#7FC4BF;
  --di-rule:rgba(244,240,232,0.16);
  --v3-max:960px;
}

body{
  background:var(--di-ink);
  color:#E9E4DA;
  font-family:var(--di-font-body);
  font-weight:300;
  letter-spacing:0;
}
.wrap{max-width:var(--v3-max);padding:0 24px 96px}

a{color:var(--di-aqua);text-decoration:none}
a:hover{color:var(--di-gold)}

/* ---------- kill the old ornament ---------- */
.di-header::before,.di-header::after,
.di-flame,.di-flame::before,.di-flame::after{display:none !important}
.di-result-card{box-shadow:none !important;border-radius:0 !important;background:transparent !important;border:none !important;border-top:1px solid var(--di-gold-dim) !important;padding:48px 0 0 !important}
.q{background:transparent !important;border:none !important;border-radius:0 !important;box-shadow:none !important;border-top:1px solid var(--di-rule) !important;padding:32px 0 8px !important;margin:0 !important}
.di-progress span{border-radius:0;height:2px;width:32px;background:rgba(244,240,232,0.14)}
.di-progress span.on{background:var(--di-gold)}
.di-progress{gap:8px;margin:40px 0 0}

/* ---------- editorial hero ---------- */
.v3-hero{position:relative;margin:0 -24px;min-height:520px;display:flex;align-items:flex-end}
.v3-hero-media{position:absolute;inset:0;overflow:hidden}
.v3-hero-media image-slot{width:100%;height:100%}
.v3-hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top, rgba(10,13,18,0.96) 0%, rgba(10,13,18,0.45) 42%, rgba(10,13,18,0.15) 100%)}
.v3-hero-text{position:relative;z-index:2;padding:0 48px 56px;max-width:640px;pointer-events:none}
.v3-hero-text .btn,.v3-hero-text a{pointer-events:auto}
.v3-flame{height:56px;width:auto;display:block;margin-bottom:24px;opacity:0.92}
.v3-eyebrow{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--di-aqua);margin-bottom:16px}
.v3-hero h1,.v3-hero .di-title{font-family:var(--di-font-display);font-size:clamp(44px,7vw,72px);line-height:1.04;letter-spacing:0.01em;color:#F4F0E8;text-align:left;margin:0 0 16px}
.v3-hero .di-sub{font-family:var(--di-font-accent);font-style:italic;font-size:19px;color:rgba(233,228,218,0.85);text-align:left;letter-spacing:0;margin:0}
.di-mark{display:none}

/* ---------- editorial section headings ---------- */
.section-no{font-size:11px;letter-spacing:0.22em;color:var(--di-gold);text-align:left;margin:64px 0 8px}
.view h2.di-title{text-align:left !important;font-size:38px !important;font-family:var(--di-font-display);letter-spacing:0.01em;line-height:1.1;margin:0 0 8px}
.lead{font-family:var(--di-font-accent);font-style:italic;font-size:20px;text-align:left;color:rgba(233,228,218,0.8);max-width:520px;margin:32px 0 40px}

/* ---------- questions: large editorial type ---------- */
.q-label{font-size:11px;letter-spacing:0.16em;color:rgba(233,228,218,0.5)}
.q-text{font-family:var(--di-font-display);font-size:24px;line-height:1.3;color:#F4F0E8;letter-spacing:0.01em;margin:8px 0 24px;max-width:600px}
textarea,input[type=text],input[type=email],input[type=date],select{
  background:transparent;border:none;border-bottom:1px solid var(--di-rule);border-radius:0;
  color:#F4F0E8;font-size:17px;padding:8px 0;transition:border-color .3s}
textarea:focus,input:focus,select:focus{border-color:var(--di-aqua);outline:none}
select option{background:#11161E}

/* options: thin-rule tiles, square */
.opt{background:transparent;border:1px solid var(--di-rule);border-radius:0;transition:border-color .3s,background .3s}
.opt:hover{border-color:rgba(244,240,232,0.4)}
.opt.sel{background:rgba(127,196,191,0.07);border-color:var(--di-aqua);box-shadow:none}
.chip{border-radius:0;border:1px solid var(--di-rule);background:transparent}
.chip:hover{border-color:var(--di-gold-dim)}

/* ---------- buttons: restrained editorial ---------- */
.btn{background:#F4F0E8;color:#0A0D12;border:none;border-radius:0;
  font-size:13px;letter-spacing:0.12em;padding:16px 32px;min-height:48px;box-shadow:none;transition:opacity .3s}
.btn:hover{opacity:0.85;box-shadow:none;transform:none}
.btn.ghost{background:transparent;color:#E9E4DA;border:1px solid var(--di-rule)}
.btn.ghost:hover{border-color:rgba(244,240,232,0.5)}

/* ---------- result composition ---------- */
.rc-eyebrow{text-align:left !important;color:var(--di-aqua);letter-spacing:0.18em;font-size:12px}
.di-result-card h2{text-align:left;font-family:var(--di-font-display);font-size:34px;letter-spacing:0.01em}
.state-line,.band-line{text-align:left;font-size:19px}
.rule-line{border:none;border-left:2px solid var(--di-gold-dim);border-radius:0;background:transparent;text-align:left;padding:8px 0 8px 24px;margin:32px 0}
.rc-decree{text-align:left !important;border-top:1px solid var(--di-rule) !important}
.block{border:none;border-top:1px solid var(--di-rule);border-radius:0;background:transparent;padding:16px 0}
.block .min{border-radius:0;background:transparent;border:1px solid var(--di-gold-dim);color:var(--di-gold)}
.meta-grid{border-top:1px solid var(--di-rule);padding-top:24px}
.meta-grid .k{color:rgba(233,228,218,0.5);letter-spacing:0.12em}
.statement{border:none;border-left:2px solid var(--di-gold-dim);border-radius:0;background:transparent;text-align:left;padding:8px 0 8px 24px}
.return{border:none;border-radius:0;background:rgba(127,196,191,0.05);text-align:left;padding:24px}
.score-num{text-align:left;font-size:96px}
.di-optin{border:none;border-top:1px solid var(--di-rule);border-radius:0;background:transparent;text-align:left;padding:40px 0 0}
.di-optin p{text-align:left}
.footer{border-top:1px solid var(--di-rule);margin-top:96px;padding-top:40px}

/* ---------- supporting image band ---------- */
.v3-band{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;margin:64px -24px}
.v3-band .cell{position:relative;min-height:280px}
.v3-band .cell image-slot{width:100%;height:100%}
.v3-band .cap{position:absolute;left:16px;bottom:12px;z-index:2;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(244,240,232,0.55);pointer-events:none}
@media(max-width:640px){.v3-band{grid-template-columns:1fr}}

/* ---------- vault / history ---------- */
.v3-vault{margin-top:80px;border-top:1px solid var(--di-rule);padding-top:40px}
.v3-vault h3{font-family:var(--di-font-display);font-size:24px;letter-spacing:0.01em;color:#F4F0E8;margin:0 0 8px}
.v3-vault .v-sub{font-family:var(--di-font-accent);font-style:italic;color:rgba(233,228,218,0.6);font-size:15px;margin:0 0 24px}
.v3-vault .v-item{display:flex;gap:24px;align-items:baseline;border-top:1px solid var(--di-rule);padding:16px 0;font-size:14px}
.v3-vault .v-date{min-width:120px;color:rgba(233,228,218,0.45);font-size:12px;letter-spacing:0.08em}
.v3-vault .v-main{flex:1;color:#E9E4DA}
.v3-vault .v-score{color:var(--di-gold);font-family:var(--di-font-display);font-size:20px}
.v3-vault .v-pattern{border-left:2px solid var(--di-aqua);padding:8px 0 8px 24px;margin:24px 0;color:rgba(233,228,218,0.85);font-family:var(--di-font-accent);font-style:italic;font-size:16px}
.v3-vault .v-cross{font-size:13px;color:rgba(233,228,218,0.55);margin-top:16px}
.v3-trend{display:flex;align-items:flex-end;gap:8px;height:64px;margin:24px 0 8px}
.v3-trend i{display:block;width:24px;background:rgba(244,240,232,0.14)}
.v3-trend i.hi{background:var(--di-aqua)}
.v3-trend-cap{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(233,228,218,0.4)}

/* ---------- motion: slow, controlled ---------- */
@media(prefers-reduced-motion:no-preference){
  .view.active{animation:v3in 0.9s cubic-bezier(.22,.61,.36,1)}
  @keyframes v3in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* ---------- dark PDF variant ---------- */
body.pp-dark .pp{background:#0A0D12 !important;color:#EFEAE0 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.pp-dark .pp *{color:#EFEAE0 !important;border-color:rgba(239,234,224,0.3) !important}
body.pp-dark .pp .pp-kicker, body.pp-dark .pp .c-edition{color:#B8963B !important}
