/* Focused motion on the editorial homepage. Native scroll and static fallbacks remain intact. */
.e-intro-stage { position:fixed; inset:0; z-index:10000; animation:e-intro-failsafe 0s 3s forwards; }
.e-intro-panel { position:absolute; inset:0; background:#174e3b; color:#f7f8ef; }
.e-intro-brand { position:absolute; top:38px; left:max(32px,calc((100vw - 1220px)/2)); font:800 30px/1 Onest,Arial,sans-serif; letter-spacing:-1.5px; }
.e-intro-brand span { color:#c8dfad; }
.editorial-home .e-intro-skip { position:absolute; top:29px; right:max(32px,calc((100vw - 1220px)/2)); min-height:44px; display:flex; align-items:center; gap:16px; border:1px solid #a7c7ac70; border-radius:6px; padding:9px 13px; background:transparent; color:#eef5e7; font:400 11px/1.4 Onest,Arial,sans-serif; }
.editorial-home .e-intro-skip:focus-visible { outline:2px solid #d3e5bb; }
.e-intro-words { position:absolute; inset:28% 7%; display:grid; place-items:center; text-align:center; }
.e-intro-words > span { grid-area:1/1; opacity:0; font:400 clamp(40px,7.4vw,108px)/1.05 Onest,Arial,sans-serif; letter-spacing:-.065em; }
.e-intro-words > span:last-child { font-family:Georgia,serif; font-style:italic; color:#d3e5bb; }
.e-intro-caption { position:absolute; bottom:34px; left:0; right:0; text-align:center; font:400 11px/1.5 Onest,Arial,sans-serif; letter-spacing:.02em; color:#c4d6c4; }
.e-intro-curve { position:absolute; top:calc(100% - 1px); left:0; width:100%; height:160px; fill:#174e3b; pointer-events:none; }
@keyframes e-intro-failsafe { to { visibility:hidden; pointer-events:none; } }
@media(max-width:520px) {
  .e-intro-brand { top:30px; left:22px; font-size:27px; }
  .editorial-home .e-intro-skip { top:21px; right:22px; font-size:10px; gap:8px; padding:8px 10px; }
  .e-intro-words { inset-inline:24px; }
  .e-intro-words > span { font-size:clamp(38px,11vw,57px); }
  .e-intro-words > span:last-child { max-width:10ch; }
}
@media(prefers-reduced-motion:reduce) { .e-intro-stage { display:none; } }
@media print { .e-intro-stage { display:none; } }
.editorial-home {
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --motion-fast: 160ms;
  --motion-ui: 250ms;
}
.e-kit-scene { perspective: 1100px; }
.e-guide,.e-library { backface-visibility: hidden; }
.e-guide { transform-origin: 45% 65%; }
.e-library { transform-origin: 50% 55%; }
.e-reading-progress { position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background: var(--green); transform: scaleX(0); transform-origin: left; pointer-events: none; }
.e-button { box-shadow: 0 2px 0 #0a432c, inset 0 1px 0 #ffffff20; transition: transform var(--motion-fast) var(--ease-out), background-color var(--motion-fast) ease; }
.e-button:hover { transform: none; }
.e-button > span { display: inline-block; transition: transform var(--motion-ui) var(--ease-out); }
.e-button:active { transform: translateY(1px) scale(.98); }
.e-text-link { position: relative; text-decoration: none; }
.e-text-link::after { position: absolute; content: ''; height: 1px; background: currentColor; bottom: 6px; left: 0; right: 0; transform: scaleX(0); transform-origin: right; transition: transform var(--motion-ui) var(--ease-out); }
.e-text-link:hover { text-decoration: none; }
.e-text-link > span { display: inline-block; transition: transform var(--motion-ui) var(--ease-out); }
.e-item-art > span,.e-notion-art > div,.e-notion-art > span { transition: transform var(--motion-ui) var(--ease-out); }
.e-demo-tabs { position: relative; }
.e-demo-tabs.e-tabs-enhanced button { position: relative; z-index: 1; transition: color var(--motion-fast) ease; }
.e-demo-tabs.e-tabs-enhanced button[aria-pressed="true"] { background: transparent; }
.e-demo-tabs.e-tabs-enhanced button:hover:not([aria-pressed="true"]) { background: transparent; }
.e-tab-indicator { position: absolute; top: 0; left: 0; z-index: 0; background: var(--green); border-radius: 5px; pointer-events: none; transition: transform var(--motion-ui) var(--ease-out); }
.e-faq summary span { transition: transform var(--motion-ui) var(--ease-out); }
.e-faq summary,.e-calculator summary { transition: color var(--motion-fast) ease; }
.editorial-home .site-drop { transform-origin: top left; transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out), visibility 200ms; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .e-button:hover { transform: translateY(-2px); }
  .e-button:hover > span { transform: translate(3px,-3px); }
  .e-button:active { transform: translateY(1px) scale(.98); }
  .e-text-link:hover::after { transform: scaleX(1); transform-origin: left; }
  .e-text-link:hover > span { transform: translateX(4px); }
  .e-content-item:hover .e-method-art span:nth-child(1) { transform: translateY(-3px) rotate(-5deg); }
  .e-content-item:hover .e-method-art span:nth-child(2) { transform: translateY(-12px) rotate(0); }
  .e-content-item:hover .e-method-art span:nth-child(3) { transform: translateY(-5px) rotate(3deg); }
  .e-content-item:hover .e-method-art span:nth-child(4) { transform: translateY(-7px) rotate(10deg); }
  .e-content-item:hover .e-prompt-art span:nth-child(odd) { transform: translateX(-5px) rotate(-3deg); }
  .e-content-item:hover .e-prompt-art span:nth-child(even) { transform: translateX(5px) rotate(3deg); }
  .e-content-item:hover .e-notion-art > div { transform: translateY(-3px); }
  .e-content-item:hover .e-notion-art > span { transform: translateX(4px); }
  .e-faq summary:hover,.e-calculator summary:hover { color: var(--green); }
  .e-free > a > span:last-child { transition: transform var(--motion-ui) var(--ease-out); }
  .e-free > a:hover > span:last-child { transform: translate(3px,-3px); }
}
.e-keyboard-input .e-button,.e-keyboard-input .e-text-link::after,.e-keyboard-input .e-tab-indicator,.e-keyboard-input .site-drop { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .e-reading-progress { display: none; }
  .e-button:active,.e-button:hover,.e-button:hover > span,.e-text-link:hover > span { transform: none; }
  .e-guide { transform: rotate(-5deg) !important; }
  .e-library { transform: rotate(1.5deg) !important; }
}
.e-hero-signal { transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
.e-signal-arrow { transition: transform var(--motion-ui) var(--ease-out); }
.e-free > a { transition: transform var(--motion-ui) var(--ease-out), border-color var(--motion-fast) ease; }
@keyframes e-signal-pulse { 0% { transform: scale(.65); opacity: 0; } 20% { opacity: .65; } 100% { transform: scale(1.45); opacity: 0; } }
@keyframes e-banner-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: no-preference) {
  .e-hero-signal.e-banner-ready .e-signal-mark::after { animation: e-signal-pulse 1600ms var(--ease-out) 2; }
  .e-compatible.e-banner-ready .e-banner-rule { animation: e-banner-draw 800ms var(--ease-out) both; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .e-hero-signal:hover { background: #e5edde; border-color: #8eae96; }
  .e-hero-signal:hover .e-signal-arrow { transform: translate(2px,-2px); }
  .e-free > a:hover { transform: translateY(-3px); border-color: #9ab291; }
}
.e-keyboard-input .e-signal-arrow,.e-keyboard-input .e-free > a { transition: none; }
.e-keyboard-input .e-signal-mark::after,.e-keyboard-input .e-banner-rule { animation: none !important; }
.e-motion-paused .e-signal-mark::after,.e-motion-paused .e-banner-rule { animation-play-state: paused !important; }
@media print {
  .e-reading-progress { display: none; }
  .editorial-home * { animation: none !important; transition: none !important; }
}

/* The three Kit components form one native-scroll product story. */
@media (min-width:1000px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
  #included.e-scroll-story { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.4fr); gap:64px; align-items:start; padding-block:100px 120px; }
  .e-scroll-story .e-section-heading { position:sticky; top:128px; display:flex; flex-direction:column; align-items:flex-start; gap:24px; margin:0; }
  .e-scroll-story .e-section-heading h2 { font-size:clamp(34px,3.2vw,46px); }
  .e-scroll-story .e-section-heading > p { max-width:310px; font-size:13px; }
  .e-scroll-story .e-contents { display:flex; flex-direction:column; gap:64px; }
  .e-scroll-story .e-contents::after { content:''; display:block; height:80px; flex:none; pointer-events:none; }
  .e-scroll-story .e-content-item { position:sticky; top:128px; display:grid; grid-template-columns:minmax(130px,.78fr) minmax(0,1fr); grid-template-rows:auto auto 1fr auto; gap:0 26px; align-content:start; min-height:354px; padding:30px; background:var(--white); border:1px solid #d0dbca; border-radius:14px; box-shadow:0 -10px 30px #20292306,0 12px 28px #20292308; transform-origin:50% 0; }
  .e-scroll-story .e-content-item:nth-child(2) { top:146px; background:#f0f3eb; }
  .e-scroll-story .e-content-item:nth-child(3) { top:164px; background:#e5edde; }
  .e-scroll-story .e-content-item > * { grid-column:2; }
  .e-scroll-story .e-item-art { grid-column:1; grid-row:1 / 5; height:100%; min-height:240px; margin:0; align-self:stretch; overflow:hidden; }
  .e-scroll-story .e-content-item .e-kicker { font-size:9px; padding-top:10px; }
  .e-scroll-story .e-content-item h3 { font-size:26px; margin:15px 0; line-height:1.14; }
  .e-scroll-story .e-content-item > p:not(.e-kicker) { font-size:13px; line-height:1.8; }
  .e-scroll-story .e-content-item .e-text-link { font-size:11px; gap:12px; margin-top:18px; }
  .e-scroll-story .e-method-art { display:grid; grid-template-columns:repeat(2,52px); gap:12px; align-content:center; justify-content:center; padding:20px; }
  .e-scroll-story .e-method-art span { width:52px; height:66px; }
  .e-scroll-story .e-prompt-art { grid-template-columns:1fr; gap:14px; padding:24px; }
  .e-scroll-story .e-prompt-art span { width:max-content; padding:8px 10px; font-size:11px; }
  .e-scroll-story .e-notion-art { display:flex; flex-direction:column; justify-content:center; padding:20px; }
  .e-scroll-story .e-notion-art > div { flex-direction:column; align-items:flex-start; gap:14px; font-size:11px; }
  .e-scroll-story .e-notion-art > span { padding:8px 0 0; font-size:9px; }
  .e-keyboard-input .e-scroll-story .e-content-item { position:relative; top:auto; transform:none !important; }
}
@media (min-width:1000px) and (max-width:1150px) and (min-height:700px) {
  #included.e-scroll-story { gap:30px; grid-template-columns:.7fr 1.3fr; }
  .e-scroll-story .e-content-item { padding:24px; gap:0 20px; min-height:365px; }
  .e-scroll-story .e-content-item h3 { font-size:23px; }
  .e-scroll-story .e-method-art { padding:15px; gap:8px; }
  .e-scroll-story .e-method-art span { width:40px; height:53px; }
}
@media print {
  #included.e-scroll-story { display:block; }
  .e-scroll-story .e-contents::after { display:none; }
  .e-scroll-story .e-section-heading,.e-scroll-story .e-content-item { position:static; transform:none !important; }
}
