/* Deliberate, progressive interaction layer. Core content remains visible without JavaScript. */
:root{--ease-out-mechanical:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}

/* Header surfaces are owned by editorial.css; no feather or extra overlay. */
/* Entry animation owns transforms only until it completes. */
.reveal-ready{transition:opacity 200ms ease}
.reveal-ready.reveal-pending:not(.is-revealed){opacity:1;transform:none}
.reveal-ready.is-revealed{opacity:1;transform:translateY(0)}

/* Small mechanical feedback, kept independent from the content layout. */
.button .icon,.text-link>.icon,.guide-read>.icon,.guide-card h3>.icon,.guide-next-link .icon,.journal-item h3>.icon{transition:transform 250ms var(--ease-spring)}
:is(.button,.text-link,.guide-card,.guide-next-link,.journal-item):is(:hover,:focus-visible) :is(.icon){transform:translateX(5px)}
.service-summary,.guide-card{position:relative;transition:transform 200ms var(--ease-out-mechanical),border-color 200ms ease,box-shadow 200ms ease}
.service-summary:after{content:'';position:absolute;inset:0 0 auto;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out-mechanical);pointer-events:none}
@media(hover:hover){.service-summary:hover,.guide-card:hover{transform:translateY(-3px)}.service-summary:hover{border-top-color:var(--gold)}.service-summary:hover:after{transform:scaleX(1)}.guide-card:hover figure{box-shadow:inset 0 0 0 1px var(--gold),0 8px 24px rgba(13,31,51,.05)}}
.guide-card figure{transition:box-shadow 200ms ease}
.service-summary:focus-visible:after{transform:scaleX(1)}
.link-arrow{transition:transform 250ms var(--ease-spring)}

/* Native details stay open only while their closing grid track is animating. */
.is-accordion-enhanced>.accordion-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 300ms var(--ease-out-mechanical),opacity 300ms var(--ease-out-mechanical)}
.is-accordion-enhanced.is-expanded>.accordion-content{grid-template-rows:1fr;opacity:1}
.accordion-content>.accordion-inner{min-height:0;overflow:hidden}
.is-accordion-enhanced:not(.is-expanded)>.tool-link>.icon{transform:none}
.is-accordion-enhanced.is-expanded>.tool-link>.icon{transform:rotate(180deg)}
.faq-item.is-accordion-enhanced:not(.is-expanded)>summary:after{content:'+'}
.faq-item.is-accordion-enhanced.is-expanded>summary:after{content:'−'}
.guide-reading>.guide-sources .accordion-inner>ul{max-width:none;gap:13px;margin:0 0 23px;padding-left:20px;font-size:13px}

/* Original inline vector geometry, with only annotation layers animated. */
.guide-illustration{display:block;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden}
.illustration-motion-ready:not(.is-illustration-visible) :is(.guide-callout,.guide-arrow,.guide-check){opacity:0}
.is-illustration-visible .guide-callout{animation:guide-callout-in 520ms var(--ease-out-mechanical) var(--illustration-delay,0ms) both;transform-box:fill-box;transform-origin:center}
.is-illustration-visible .guide-arrow{animation:guide-arrow-in 520ms var(--ease-out-mechanical) var(--illustration-delay,0ms) both;transform-box:fill-box;transform-origin:center}
.is-illustration-visible .guide-check{animation:guide-check-in 440ms var(--ease-out-mechanical) var(--illustration-delay,0ms) both;stroke-dasharray:1;stroke-dashoffset:0}
@keyframes guide-callout-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes guide-arrow-in{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
@keyframes guide-check-in{from{opacity:0;stroke-dashoffset:1}to{opacity:1;stroke-dashoffset:0}}

/* Reading layout is a desktop aid; the article keeps its established mobile measure. */
.guide-reading-progress{position:fixed;z-index:1100;inset:0 0 auto;height:2px;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.guide-reading-layout{width:calc(100% - var(--gutter)*2);max-width:var(--container);margin-inline:auto}
.guide-reading-layout>.guide-reading{width:100%;min-width:0;margin-inline:auto}
.guide-toc{display:none}
@media(min-width:1024px){
  .guide-reading-layout{display:grid;grid-template-columns:190px minmax(0,800px);justify-content:center;gap:64px;align-items:start}
  .guide-reading-layout>.guide-reading{margin:0}
  .guide-toc{display:block;position:sticky;top:calc(var(--header-height) + 38px);padding-block:80px 32px;align-self:start}
  .guide-toc>.section-topline{margin-bottom:20px;font-size:12px}
  .guide-toc :is(ol,ul){margin:0;padding:0;list-style:none}
  .guide-toc a[href^="#"]{display:block;padding:11px 0 11px 14px;border-left:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--muted);transition:color 220ms ease,border-color 220ms ease,background-color 220ms ease}
  .guide-toc a[href^="#"]:hover,.guide-toc a[aria-current="location"]{color:var(--navy);border-left-color:var(--gold);background:linear-gradient(90deg,rgba(234,227,213,.45),transparent)}
  .guide-toc>.text-link,.guide-toc>button{margin-top:28px;font-size:13px;line-height:1.6;text-align:left}
}
@media(min-width:1024px) and (max-width:1200px){.guide-reading-layout{grid-template-columns:165px minmax(0,800px);gap:38px}}
@media(max-width:600px){.guide-reading>.guide-sources .accordion-inner>ul{font-size:13px}}
@media(prefers-reduced-motion:reduce){
  .reveal-ready,.reveal-ready.reveal-pending:not(.is-revealed){opacity:1;transform:none;filter:none;transition:none}
  .illustration-motion-ready :is(.guide-callout,.guide-arrow,.guide-check){opacity:1;animation:none;transform:none;stroke-dashoffset:0}
  .is-accordion-enhanced>.accordion-content{transition:none}
  .service-summary:hover,.guide-card:hover{transform:none}
  .guide-reading-progress{transition:none}
}
@media print{
  .site-header:after,.guide-reading-progress,.guide-toc{display:none!important}
  .guide-reading-layout{display:block;width:100%;max-width:none}
  .guide-reading-layout>.guide-reading{width:100%;max-width:none;padding:0}
  .reveal-ready,.reveal-ready.reveal-pending:not(.is-revealed){opacity:1!important;transform:none!important;filter:none!important}
  .illustration-motion-ready :is(.guide-callout,.guide-arrow,.guide-check){opacity:1!important;animation:none!important;transform:none!important;stroke-dashoffset:0!important}
  .is-accordion-enhanced[open]>.accordion-content{display:block;opacity:1;transition:none}
  .accordion-content>.accordion-inner{overflow:visible}
}
