/* Portfolio Haus — Tools stylesheet (V1.1, refinement pass)
   Loaded only on /tools/ pages via the extra_css hook in _layouts/default.html.
   System: navy + cream + gold base, coral as working accent, wine reserved for
   risk, magenta only as the high-pressure state on navy. Signature motif: the
   Haus Signal, a pressure reading built from Haus Line ticks. */

/* ---------- Tool hero ---------- */
.tool-hero{background:var(--navy);color:var(--cream);padding:84px 0 60px;}
.tool-hero .eyebrow{color:var(--gold);}
.tool-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);margin:14px 0 0;max-width:820px;line-height:1.06;}
.tool-hero .tool-sub{
  font-family:"Crimson Pro",serif;font-style:italic;font-size:1.16rem;
  color:var(--cream-dim);max-width:620px;margin:20px 0 0;
}
.tool-hero .tool-promise{
  font-family:"Crimson Pro",serif;font-style:italic;font-size:1.02rem;
  color:var(--gold);max-width:600px;margin:22px 0 0;
  border-left:2px solid var(--gold);padding-left:16px;
}
.private-badge{
  display:inline-block;border:1px solid var(--gold);color:var(--gold);
  font-family:"Big Shoulders",sans-serif;font-size:0.72rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;padding:5px 12px;
  border-radius:2px;margin-bottom:16px;
}
.hero-use{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.78rem;
  letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,237,224,0.55);
  margin:26px 0 0;
}
.hero-use b{color:var(--gold);font-weight:700;}

/* ---------- Transit line (landing signature) ----------
   A message leaving the building: steady, then strained, then gone. */
.transit-line{display:flex;align-items:center;gap:5px;margin:30px 0 0;max-width:420px;}
.transit-line span{display:block;height:3px;flex:1;background:var(--gold);}
.transit-line span.t-mid{background:var(--coral);}
.transit-line span.t-off{background:rgba(245,237,224,0.14);}
.transit-caption{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.72rem;
  letter-spacing:0.14em;text-transform:uppercase;color:rgba(245,237,224,0.5);
  margin:10px 0 0;
}

/* ---------- Tools landing ---------- */
.tool-feature{
  background:var(--navy);color:var(--cream);padding:44px;
  border-top:3px solid var(--gold);display:flex;flex-direction:column;gap:14px;
  margin-top:30px;
}
@media (max-width:560px){.tool-feature{padding:30px 22px;}}
.tool-feature h3{font-size:1.7rem;}
.tool-feature .tagline{font-family:"Crimson Pro",serif;font-style:italic;color:var(--gold);font-size:1.1rem;margin:0;}
.tool-feature .desc{color:var(--cream-dim);font-size:1.02rem;margin:0;max-width:620px;}
.tool-feature .tool-meta{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.8rem;
  letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,237,224,0.55);margin:0;
}
.tool-feature .cta-row{margin-top:12px;}

.tool-tag{
  display:inline-block;font-family:"Big Shoulders",sans-serif;font-weight:700;
  font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;
  padding:4px 11px;border-radius:2px;margin-bottom:4px;align-self:flex-start;
}
.tool-tag.public{background:var(--gold);color:var(--navy);}
.tool-tag.private{background:transparent;color:var(--wine);border:1px solid var(--wine);}

.tool-index{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;}
@media (max-width:720px){.tool-index{grid-template-columns:1fr;}}
.index-card{
  background:#FBF6EC;border:1px solid rgba(28,26,46,0.12);
  border-top:3px solid var(--wine);padding:26px 26px 24px;
  display:flex;flex-direction:column;gap:10px;
}
.index-card h3{font-size:1.16rem;letter-spacing:0.01em;}
.index-card .index-line{font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);font-size:0.98rem;margin:0;}
.index-card .index-use{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.74rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);
  margin:auto 0 0;padding-top:12px;
}
.tools-quiet{max-width:660px;color:var(--ink-soft);font-size:1rem;}
.tools-quiet strong{color:var(--navy);}
.tools-map{margin:24px 0 0;padding:0;list-style:none;max-width:660px;}
.tools-map li{
  display:flex;gap:12px;align-items:baseline;padding:9px 0;
  border-top:1px solid rgba(28,26,46,0.1);font-size:0.98rem;color:var(--ink-soft);
}
.tools-map li:last-child{border-bottom:1px solid rgba(28,26,46,0.1);}
.tools-map b{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);
  min-width:150px;flex-shrink:0;
}

/* ---------- Shared tool shell ---------- */
.tool-body{background:var(--cream);}
.tool-frame{max-width:760px;margin:0 auto;}
.tool-panel{
  background:#FBF6EC;border:1px solid rgba(28,26,46,0.12);
  padding:38px;border-top:3px solid var(--gold);
}
@media (max-width:560px){.tool-panel{padding:26px 20px;}}

.meta-row{
  display:flex;gap:8px 22px;flex-wrap:wrap;margin:0 0 24px;
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.76rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);
}
.signal-legend{display:flex;gap:6px 18px;flex-wrap:wrap;margin:20px 0 26px;padding:0;list-style:none;}
.signal-legend li{
  display:flex;align-items:center;gap:8px;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--navy);
}
.signal-legend li::before{content:"";display:block;width:18px;height:3px;background:var(--gold);}
.signal-legend li.lg-mid::before{background:var(--coral);}
.signal-legend li.lg-high::before{background:var(--wine);}

/* ---------- Progress: ten Haus ticks, one per question ---------- */
.tool-progress{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.tool-progress .count{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--coral);white-space:nowrap;
}
.progress-cells{display:flex;gap:4px;flex:1;}
.progress-cells span{display:block;height:3px;flex:1;background:rgba(28,26,46,0.12);transition:background .3s ease;}
.progress-cells span.done{background:var(--gold);}
.progress-cells span.now{background:var(--coral);}
.progress-track{flex:1;height:2px;background:rgba(28,26,46,0.12);position:relative;}
.progress-track .progress-fill{
  position:absolute;left:0;top:0;bottom:0;background:var(--gold);
  transition:width .35s ease;
}

/* ---------- Quiz ---------- */
.quiz-dim{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.74rem;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--coral);margin:0 0 10px;
}
.quiz-question{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:1.42rem;
  color:var(--navy);margin:0 0 6px;letter-spacing:-0.01em;line-height:1.22;
}
.quiz-note{font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);font-size:0.98rem;margin:0 0 24px;}
.quiz-options{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;}
.quiz-option{
  display:block;width:100%;text-align:left;cursor:pointer;
  background:var(--cream);border:1px solid rgba(28,26,46,0.15);border-left:3px solid transparent;
  padding:16px 18px;font-family:"Crimson Pro",serif;font-size:1.04rem;color:var(--navy);
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
  line-height:1.45;
}
.quiz-option:hover{border-left-color:var(--coral);background:#FFF9EF;transform:translateX(2px);}
.quiz-option.selected{border-left-color:var(--gold);background:#FFF9EF;}
.quiz-back{
  background:none;border:none;cursor:pointer;padding:0;margin-top:24px;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);
}
.quiz-back:hover{color:var(--coral);}
.quiz-back[hidden]{display:none;}
@keyframes qfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.q-anim{animation:qfade .28s ease;}

/* ---------- Haus Signal (signature motif) ---------- */
.signal-check{margin:26px 0 6px;}
.signal-label{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.74rem;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--coral);margin:0 0 14px;
}
.signal-row{display:grid;grid-template-columns:110px 1fr 110px;align-items:center;gap:14px;padding:7px 0;}
@media (max-width:560px){.signal-row{grid-template-columns:86px 1fr;} .signal-row .signal-state{grid-column:2;margin-top:-2px;}}
.signal-name{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);
}
.signal-ticks{display:flex;gap:4px;}
.signal-ticks span{display:block;height:3px;flex:1;max-width:36px;background:rgba(28,26,46,0.12);}
.signal-ticks span.on-low{background:var(--gold);}
.signal-ticks span.on-mid{background:var(--coral);}
.signal-ticks span.on-high{background:var(--wine);}
.signal-state{
  font-family:"Crimson Pro",serif;font-style:italic;font-size:0.86rem;color:var(--ink-soft);text-align:right;
}
@media (max-width:560px){.signal-state{text-align:left;}}

/* Navy variant, used inside the result badge */
.signal-check.on-navy .signal-label{color:var(--gold);}
.signal-check.on-navy .signal-name{color:var(--cream);}
.signal-check.on-navy .signal-ticks span{background:rgba(245,237,224,0.16);}
.signal-check.on-navy .signal-ticks span.on-low{background:var(--gold);}
.signal-check.on-navy .signal-ticks span.on-mid{background:var(--coral);}
.signal-check.on-navy .signal-ticks span.on-high{background:#C2185B;}
.signal-check.on-navy .signal-state{color:var(--cream-dim);}

/* ---------- Result: the payoff ---------- */
.result-wrap{display:none;}
.result-wrap.active{display:block;animation:qfade .32s ease;}
.result-badge{
  background:var(--navy);color:var(--cream);
  padding:38px;border-top:3px solid var(--gold);margin:-38px -38px 30px;
}
@media (max-width:560px){.result-badge{padding:28px 20px;margin:-26px -20px 24px;}}
.result-kicker{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;
}
.result-title{font-size:clamp(1.9rem,4.6vw,2.6rem);color:var(--cream);margin:0;line-height:1.05;}
.result-plain{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.92rem;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--coral);margin:12px 0 0;
}
.result-tagline{font-family:"Crimson Pro",serif;font-style:italic;font-size:1.14rem;color:var(--cream-dim);margin:14px 0 0;max-width:560px;}
.result-badge .signal-check{margin:28px 0 0;padding-top:22px;border-top:1px solid rgba(245,237,224,0.14);}

.tool-panel > .result-badge{border-top:none;}
.result-lead,.result-section p.result-lead{font-size:1.05rem;color:var(--navy);margin:0;max-width:640px;}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:22px;padding-top:4px;}
@media (max-width:640px){.result-grid{grid-template-columns:1fr;}}
.result-section{margin-top:22px;padding-top:18px;border-top:1px solid rgba(28,26,46,0.12);}
.result-section.first{border-top:none;padding-top:0;margin-top:0;}
.result-section h4{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--coral);margin:0 0 8px;
}
.result-section p{color:var(--navy);font-size:0.99rem;margin:0;}
.result-section.risk{border-top:none;background:var(--wine);color:var(--cream);padding:20px 22px;margin-top:28px;}
.result-section.risk h4{color:var(--gold);}
.result-section.risk p{color:var(--cream);}
.stabilize-callout{
  border-top:none;border-left:3px solid var(--gold);background:#FFF9EF;
  padding:18px 22px;margin-top:24px;
}
.stabilize-callout h4{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--navy);margin:0 0 8px;
}
.stabilize-callout p{color:var(--navy);font-size:0.99rem;margin:0;}
.result-next{
  background:var(--navy);color:var(--cream);padding:28px;margin-top:30px;
  border-top:3px solid var(--gold);
}
.result-next h4{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;
}
.result-next .offer-name{font-family:"Big Shoulders",sans-serif;font-weight:800;font-size:1.34rem;margin:0 0 8px;}
.result-next p{color:var(--cream-dim);font-size:0.98rem;margin:0 0 18px;}

/* ---------- Toolbar (copy / download / email) ---------- */
.tool-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.btn-tool{
  display:inline-block;padding:11px 20px;font-family:"Big Shoulders",sans-serif;
  font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  text-decoration:none;border-radius:2px;border:2px solid var(--navy);
  color:var(--navy);background:transparent;cursor:pointer;transition:all .2s ease;
}
.btn-tool:hover{background:var(--navy);color:var(--cream);}
.btn-tool.primary{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.btn-tool.primary:hover{background:#f0bd45;border-color:#f0bd45;}
@media (max-width:480px){.tool-actions .btn-tool{width:100%;text-align:center;}}
.action-confirm{
  font-family:"Crimson Pro",serif;font-style:italic;font-size:0.9rem;
  color:var(--ink-soft);margin:10px 0 0;min-height:1.3em;
}

/* ---------- Retake / restart ---------- */
.tool-restart{margin-top:20px;}
.tool-restart button{
  background:none;border:none;cursor:pointer;padding:0;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);
}
.tool-restart button:hover{color:var(--coral);}

/* ---------- Brief / form tools ---------- */
.form-step{display:none;}
.form-step.active{display:block;animation:qfade .28s ease;}
.form-step-title{
  font-family:"Big Shoulders",sans-serif;font-weight:800;font-size:1.34rem;
  color:var(--navy);margin:0 0 4px;
}
.form-step-note{font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);font-size:0.96rem;margin:0 0 24px;}
.field{margin-bottom:20px;}
.field label{
  display:block;font-family:"Big Shoulders",sans-serif;font-weight:700;
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--navy);margin-bottom:7px;
}
.field .hint{
  display:block;font-family:"Crimson Pro",serif;font-style:italic;font-weight:400;
  font-size:0.88rem;color:var(--ink-soft);text-transform:none;letter-spacing:0;margin-top:3px;
}
.field input[type="text"],.field input[type="date"],.field select,.field textarea{
  width:100%;box-sizing:border-box;background:var(--cream);
  border:1px solid rgba(28,26,46,0.2);border-radius:2px;
  padding:12px 14px;font-family:"Crimson Pro",serif;font-size:1rem;color:var(--navy);
}
.field textarea{min-height:92px;resize:vertical;line-height:1.5;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);
}
.field .field-error{
  display:none;font-family:"Crimson Pro",serif;font-style:italic;
  font-size:0.86rem;color:var(--wine);margin-top:5px;
}
.field.has-error .field-error{display:block;}
.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--wine);}
.rate-group{display:flex;gap:8px;flex-wrap:wrap;}
.rate-group label{
  flex:1;min-width:120px;margin:0;cursor:pointer;text-align:left;
  background:var(--cream);border:1px solid rgba(28,26,46,0.15);border-left:3px solid transparent;
  padding:11px 12px;font-family:"Crimson Pro",serif;font-size:0.92rem;font-weight:400;
  text-transform:none;letter-spacing:0;color:var(--navy);line-height:1.35;
  transition:border-color .15s ease,background .15s ease;
}
.rate-group label:hover{border-left-color:var(--coral);background:#FFF9EF;}
.rate-group input{position:absolute;opacity:0;width:1px;height:1px;}
.rate-group label.checked{border-left-color:var(--gold);background:#FFF9EF;}
.rate-group input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px;}
.check-group label{
  display:block;margin:0 0 8px;cursor:pointer;font-family:"Crimson Pro",serif;
  font-size:0.98rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--navy);
}
.check-group input{margin-right:9px;accent-color:#C2185B;}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px;flex-wrap:wrap;}

/* ---------- Brief output ---------- */
.brief-output{display:none;}
.brief-output.active{display:block;animation:qfade .32s ease;}
.brief-doc{
  background:#FBF6EC;border:1px solid rgba(28,26,46,0.12);border-top:3px solid var(--gold);
  padding:38px;
}
@media (max-width:560px){.brief-doc{padding:26px 20px;}}
.brief-doc .brief-marque{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.74rem;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--coral);margin:0 0 6px;
}
.brief-doc h3{font-size:1.55rem;color:var(--navy);margin:0 0 4px;}
.brief-doc .brief-date{font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);font-size:0.9rem;margin:0 0 10px;}
.brief-section{margin-top:22px;padding-top:16px;border-top:1px solid rgba(28,26,46,0.1);}
.brief-section h4{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--coral);margin:0 0 6px;
}
.brief-section p{color:var(--navy);font-size:0.98rem;margin:0;white-space:pre-line;}
.brief-flag{
  display:inline-block;font-family:"Big Shoulders",sans-serif;font-weight:700;
  font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;
  padding:3px 10px;border-radius:2px;margin-right:8px;margin-bottom:6px;
}
.brief-flag.low{background:rgba(230,168,23,0.16);color:#8a6410;border:1px solid var(--gold);}
.brief-flag.mid{background:rgba(255,107,107,0.12);color:#b23a3a;border:1px solid var(--coral);}
.brief-flag.high{background:var(--wine);color:var(--cream);border:1px solid var(--wine);}

/* ---------- Footer note under tools ---------- */
.tool-footnote{
  font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);
  font-size:0.92rem;max-width:640px;margin:28px auto 0;text-align:center;
}

/* ---------- V1.2 motion layer ----------
   Restrained magic: dimension, draw-ins, staggered signal reveals, scroll
   reveals. Everything meaningful gates on .ph-motion (set by JS only when
   IntersectionObserver exists and the user has not asked for reduced motion),
   so content is never hidden without it. */

/* Dimension */
.tool-panel{box-shadow:0 1px 0 rgba(28,26,46,0.04),0 16px 36px -26px rgba(28,26,46,0.3);}
.brief-doc{box-shadow:0 1px 0 rgba(28,26,46,0.04),0 16px 36px -26px rgba(28,26,46,0.3);}
.index-card{transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 12px 28px -22px rgba(28,26,46,0.35);}
.index-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -20px rgba(28,26,46,0.42),0 0 0 1px rgba(230,168,23,0.4);}
.tool-feature{transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 22px 48px -28px rgba(28,26,46,0.55);}
.tool-feature:hover{transform:translateY(-3px);box-shadow:0 28px 58px -28px rgba(28,26,46,0.6),0 0 0 1px rgba(230,168,23,0.45);}

/* Buttons and options */
.tool-hero .btn,.tool-body .btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;}
.tool-hero .btn-gold:hover,.tool-body .btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(230,168,23,0.65);}
.btn-tool{transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.btn-tool:hover{transform:translateY(-1px);}
.btn-tool.primary:hover{box-shadow:0 10px 22px -12px rgba(230,168,23,0.6);}
.quiz-option:active{transform:translateX(2px) scale(0.995);}

/* Haus Lines draw in */
.ph-motion .tool-hero .haus-lines span{transform-origin:left;animation:hlDraw .8s cubic-bezier(.2,.7,.2,1) both .1s;}
.ph-motion .tool-hero .haus-lines span:nth-child(2){animation-delay:.25s;}
@keyframes hlDraw{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* Transit line: the message leaving the building */
.ph-motion .transit-line span{transform-origin:left;animation:hlDraw .45s ease both;}
.ph-motion .transit-line span:nth-child(1){animation-delay:.2s;}
.ph-motion .transit-line span:nth-child(2){animation-delay:.32s;}
.ph-motion .transit-line span:nth-child(3){animation-delay:.44s;}
.ph-motion .transit-line span:nth-child(4){animation-delay:.56s;}
.ph-motion .transit-line span:nth-child(5){animation-delay:.68s;}
.ph-motion .transit-line span:nth-child(6){animation-delay:.8s;}
.ph-motion .transit-line span:nth-child(7){animation-delay:.92s;}
.ph-motion .transit-line span:nth-child(8){animation-delay:1.04s;}
.ph-motion .transit-line span.t-mid{
  animation-name:hlDraw,tStrain;animation-duration:.45s,3.4s;
  animation-timing-function:ease,ease-in-out;animation-fill-mode:both,none;
  animation-iteration-count:1,infinite;
}
@keyframes tStrain{0%,100%{opacity:1;}50%{opacity:.55;}}

/* Live question marker breathes */
.ph-motion .progress-cells span.now{animation:nowPulse 1.9s ease-in-out infinite;}
@keyframes nowPulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* Haus Signal animates into place (delays set inline by JS) */
.ph-motion .signal-row{opacity:0;animation:sigRow .45s ease forwards;}
@keyframes sigRow{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.ph-motion .signal-ticks span{transform-origin:left;}
.ph-motion .signal-row.sig-animate .signal-ticks span{animation:sigTick .3s ease both;}
@keyframes sigTick{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* Result badge: staggered arrival */
.ph-motion .result-wrap.active .result-badge>*{animation:qfade .5s ease both;}
.ph-motion .result-wrap.active .result-badge>*:nth-child(1){animation-delay:.05s;}
.ph-motion .result-wrap.active .result-badge>*:nth-child(2){animation-delay:.14s;}
.ph-motion .result-wrap.active .result-badge>*:nth-child(3){animation-delay:.23s;}
.ph-motion .result-wrap.active .result-badge>*:nth-child(4){animation-delay:.32s;}
.ph-motion .result-wrap.active .result-badge>*:nth-child(5){animation-delay:.45s;}

/* Brief flags fade in */
.ph-motion .brief-output.active .brief-flag{opacity:0;animation:sigRow .4s ease forwards;}
.ph-motion .brief-output.active .brief-flag:nth-child(1){animation-delay:.15s;}
.ph-motion .brief-output.active .brief-flag:nth-child(2){animation-delay:.3s;}
.ph-motion .brief-output.active .brief-flag:nth-child(3){animation-delay:.45s;}

/* Scroll reveals */
.ph-motion .rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
.ph-motion .rv.revealed{opacity:1;transform:none;}

/* Reduced motion: everything settles instantly */
@media (prefers-reduced-motion:reduce){
  .tool-hero *,.tool-body *{animation:none !important;transition:none !important;}
  .rv{opacity:1 !important;transform:none !important;}
  .index-card:hover,.tool-feature:hover,.btn-tool:hover,
  .tool-hero .btn-gold:hover,.tool-body .btn-gold:hover{transform:none !important;}
}

/* ---------- The Quick Read (cheat-sheet card) ---------- */
.quick-read{
  margin-top:30px;background:var(--cream);border:2px solid var(--navy);
  padding:24px 26px 20px;
}
@media (max-width:560px){.quick-read{padding:20px 18px 16px;}}
.qr-tag{
  display:inline-block;background:var(--gold);color:var(--navy);
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.7rem;
  letter-spacing:0.14em;text-transform:uppercase;padding:4px 11px;margin-bottom:14px;
}
.qr-title{font-family:"Big Shoulders",sans-serif;font-weight:800;font-size:1.5rem;color:var(--navy);margin:0;line-height:1.05;}
.qr-plain{font-family:"Crimson Pro",serif;font-style:italic;color:var(--ink-soft);font-size:1rem;margin:6px 0 16px;}
.qr-row{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:9px 0;border-top:1px solid rgba(28,26,46,0.12);align-items:baseline;}
@media (max-width:480px){.qr-row{grid-template-columns:1fr;gap:2px;}}
.qr-label{
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.72rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--coral);
}
.qr-value{color:var(--navy);font-size:0.95rem;line-height:1.45;}
.qr-foot{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:14px;padding-top:14px;border-top:1px solid rgba(28,26,46,0.12);
}
.qr-brand{
  font-family:"Big Shoulders",sans-serif;font-weight:600;font-size:0.72rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);
}

/* ---------- V1.4: selection satisfaction and Quick Read depth ---------- */
.quiz-option{position:relative;padding-right:38px;}
.quiz-option.selected::after{
  content:"";position:absolute;right:14px;top:50%;width:14px;height:3px;
  background:var(--gold);transform:translateY(-50%);
}
.ph-motion .quiz-option.selected::after{transform-origin:left;animation:hlDraw .25s ease both;transform:translateY(-50%);}
.quiz-option.selected{box-shadow:0 6px 16px -10px rgba(230,168,23,0.5);}
.quick-read{box-shadow:0 16px 36px -26px rgba(28,26,46,0.35);}
.ph-motion .result-wrap.active .result-title{position:relative;display:inline-block;}
.ph-motion .result-wrap.active .result-title::after{
  content:"";position:absolute;left:0;bottom:-8px;height:3px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  animation:hlDraw .7s cubic-bezier(.2,.7,.2,1) both .5s;
}
@media (prefers-reduced-motion:reduce){
  .quiz-option.selected::after,.result-title::after{animation:none !important;transform:translateY(-50%) !important;}
  .result-wrap.active .result-title::after{transform:scaleX(1) !important;}
}
