/* Expressive editorial layer. Meaningful content is never hidden by default. */
.hero h1 .soft { color:var(--signal); }
.hero-enter { animation:none; }
.hero-stage { background:#f2f2f2; isolation:isolate; }
.stage-copy,.paper-document { z-index:1; }
.stage-no { color:var(--red-text); }
.stage-copy p { color:#555; }
.motion-sculpture { position:absolute; width:310px; height:310px; right:33%; top:24px; pointer-events:none; z-index:0; transform:translateY(var(--drift,0px)) rotate(var(--turn,0deg)); }
.motion-sculpture span { position:absolute; inset:0; border:36px solid var(--signal); border-radius:50%; }
.motion-sculpture span:nth-child(2) { inset:49px; border-width:25px; }
.motion-sculpture span:nth-child(3) { inset:99px; border-width:0; background:var(--signal); }
.paper-document { transform:translateY(var(--paper-drift,0px)) rotate(-2deg); }
.hero-note:before { width:42px; height:3px; }
.btn:not(.outline) { background:var(--signal); border-color:var(--signal); color:white; }
.btn:not(.outline):hover,.btn:not(.outline):focus-visible { background:var(--red-text); border-color:var(--red-text); }
.btn,.round-btn,.text-link,.desktop-nav a { transition:background .22s,color .22s,border-color .22s,transform .3s var(--ease); }
.text-link:hover,.desktop-nav a:hover { color:var(--red-text); }
.btn:focus-visible .arrow,.text-link:focus-visible .arrow { transform:translate(3px,-3px); }
.round-btn { border-color:var(--signal); color:var(--red-text); transition:background .25s,transform .4s var(--ease),color .25s; }
.round-btn:hover,.round-btn:focus-visible { background:var(--signal); color:white; transform:rotate(90deg); }
.concern-row,.offer-row { position:relative; transition:background .25s,box-shadow .25s; }
.concern-row h3,.offer-row h3 { transition:transform .35s var(--ease),color .25s; }
.concern-row:hover,.concern-row:focus-visible,.offer-row:hover,.offer-row:focus-within { background:#f7eeec; box-shadow:inset 3px 0 var(--signal); }
.concern-row:hover { padding-inline:10px; }
.concern-row:focus-visible h3,.offer-row:focus-within h3 { color:var(--red-text); }
.section-heading { position:relative; padding-top:24px; }
.section-heading:before { content:""; position:absolute; top:0; left:0; height:3px; width:80px; background:var(--signal); transform-origin:left; }
.section-heading.is-revealed:before { animation:rule-draw .75s var(--ease) both; }
.value-sheet { border-top:3px solid var(--signal); border-radius:0 0 12px 12px; }
.value-sheet,.output-sheet { transition:box-shadow .35s,border-color .35s; }
.value-sheet:focus-within { box-shadow:0 15px 45px #1515150a; }
.annotation-buttons button[aria-pressed=true],.edition-nav a[aria-selected=true] { background:var(--red-text); border-color:var(--red-text); color:white; }
.feature-offer { background:#f7eeec; }
.dark { background:#151515; }
.dark .muted,.dark .caption,.principles p { color:#c7c7c7; }
.principles article { border-color:#575757; }
.principles .num { color:#eba79e; }
.dark .text-link:hover { color:#eba79e; }
.closing-section { background:var(--signal); color:white; position:relative; overflow:hidden; }
.closing-section:before { content:""; position:absolute; width:370px; height:370px; border:1px solid #ffffff55; border-radius:50%; right:22%; top:50%; transform:translateY(calc(-50% + var(--closing-drift,0px))); pointer-events:none; }
.closing { position:relative; }
.closing-section .btn { background:white; color:var(--ink); border-color:white; }
.closing-section .btn:hover,.closing-section .btn:focus-visible { background:var(--ink); color:white; border-color:var(--ink); }
.closing-section :focus-visible { outline-color:white; }
.site-header { border-bottom-color:var(--line); background:white; }
.site-header:after { content:""; position:absolute; bottom:-1px; left:0; height:2px; width:100%; background:var(--signal); transform:scaleX(var(--read-progress,0)); transform-origin:left; pointer-events:none; }
.footer-wordmark { transition:opacity .3s; }
.review-note { border-color:#e8aab4; }
.radio-option:has(input:checked) { border-color:var(--red-text); box-shadow:inset 0 0 0 1px var(--red-text); }
input[type=radio] { accent-color:var(--red-text); }
/* Entrances run once; scroll-out is reserved for decorative layers. */
.motion-on .is-revealed:not(.motion-complete):not(:focus-within) { animation:editorial-in .7s var(--ease) both; animation-delay:var(--reveal-delay,0ms); }
.motion-on .hero-enter>.eyebrow { animation:editorial-in .65s var(--ease) both; }
.motion-on .hero-enter>h1 { animation:editorial-in .85s var(--ease) .06s both; }
.motion-on .hero-bottom:not(.motion-complete) { animation:editorial-in .85s var(--ease) .14s both; }
.motion-on .hero-bottom:focus-within { animation:none; }
@keyframes editorial-in { from { opacity:.25; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes rule-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(hover:hover) and (pointer:fine) {
  .concern-row:hover h3,.offer-row:hover h3 { transform:translateX(8px); color:var(--red-text); }
  .value-sheet:hover,.output-sheet:hover { box-shadow:0 18px 45px #1515150d; }
  .btn:hover { transform:translateY(-2px); }
}
@media(max-width:767px) {
  .motion-sculpture { width:210px; height:210px; right:-55px; top:165px; }
  .motion-sculpture span { border-width:25px; }
  .motion-sculpture span:nth-child(2) { inset:37px; border-width:19px; }
  .motion-sculpture span:nth-child(3) { inset:78px; }
  .stage-copy { position:relative; }
  .paper-document { transform:translateY(var(--paper-drift,0px)) rotate(-1deg); }
  .concern-row:hover { padding-inline:0; }
  .closing-section:before { right:-160px; }
  @keyframes editorial-in { from { opacity:.4; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .motion-sculpture,.paper-document { transform:none!important; }
  .closing-section:before { transform:translateY(-50%)!important; }
  .concern-row h3,.offer-row h3,.btn,.round-btn { transform:none!important; }
}
@media print {
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .motion-sculpture,.closing-section:before { display:none; }
  .closing-section { background:white; color:black; }
  .paper-document { transform:none!important; }
}
