/* iqbooks-headlines.css · IQ Books homepage: one paper mechanism per section headline (built by
   iqbooks-headlines.js from [data-iqhl]). Every hidden state is gated on html.iqhl, which the script adds
   only when motion is allowed, so without JS or with reduced motion nothing here hides anything.
   Prefix iqhl; one block per mechanism, in page order. */
:root{
  --iqhl-spring:cubic-bezier(.2,1.35,.42,1);
  --iqhl-soft:cubic-bezier(.2,.8,.2,1);
  --iqhl-rules:repeating-linear-gradient(180deg,transparent 0 23px,rgba(91,110,174,.14) 23px 24px);
  --iqhl-edge:drop-shadow(0 -1px 0 rgba(255,255,255,.9)) drop-shadow(0 6px 6px rgba(20,30,45,.22));
  --iqhl-tape:rgba(231,237,246,.92);
}
.iqhl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.iqhl .iqhl-w{display:inline-block;white-space:nowrap}
.iqhl .iqhl-c{display:inline-block}
.iqhl em[data-iqhl-grad]{background-image:none !important}
/* slices: copies over an invisible original */
.iqhl .iqhl-slices{position:relative}
.iqhl .iqhl-slices__src{display:block;opacity:0}
.iqhl .iqhl-slice{position:absolute;left:0;right:0;top:0;display:block;pointer-events:none}
.iqhl.is-done .iqhl-slices__src{opacity:1}
.iqhl.is-done .iqhl-slice{display:none}
/* the eyebrows: each mechanism names its own entrance below; this is the shared base */
html.iqhl .iqhl .eyebrow{transition:opacity .6s ease,translate .7s var(--iqhl-soft),letter-spacing .9s var(--iqhl-soft)}

/* ---------- 01 · #see · lift the flap ---------- */
.iqhl-fl__bed{position:relative;perspective:1300px;perspective-origin:50% 100%}
.iqhl--flap h2{position:relative;z-index:1}
.iqhl-fl__shade{position:absolute;inset:-6px -10px;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 90% at 50% 10%,rgba(20,30,45,.16),transparent 70%);transition:opacity .6s ease .4s}
.iqhl-fl__sheet{position:absolute;inset:-16px -20px;z-index:3;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:visible;border-radius:3px;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,242,237,.97));box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px rgba(138,133,120,.22),0 14px 28px -18px rgba(20,30,45,.45);
  transition:transform 1.5s cubic-bezier(.32,.9,.3,1) .3s,opacity .45s ease 1.1s}
.iqhl-fl__sheet::before{content:"";position:absolute;inset:0;background:var(--iqhl-rules);opacity:.5;border-radius:inherit}
.iqhl-fl__box{position:absolute;border:1.5px dashed #8a8578;border-radius:5px;background:rgba(138,133,120,.07)}
.iqhl-fl__box::before,.iqhl-fl__box::after{content:"";position:absolute;left:8%;right:8%;top:50%;height:0;border-top:1.5px dashed rgba(138,133,120,.55);transform:rotate(var(--a,8deg))}
.iqhl-fl__box::after{--a:-8deg}
.iqhl-fl__corner{position:absolute;right:0;bottom:0;width:26px;height:26px;background:linear-gradient(225deg,transparent 50%,rgba(138,133,120,.35) 50%,rgba(245,242,237,1) 52%);border-radius:0 0 3px 0}
html.iqhl .iqhl--flap .iqhl-w{opacity:0;translate:0 9px;scale:.97;transition:opacity .35s ease calc(var(--k) * 50ms + .75s),translate .8s var(--iqhl-spring) calc(var(--k) * 50ms + .75s),scale .8s var(--iqhl-spring) calc(var(--k) * 50ms + .75s)}
html.iqhl .iqhl--flap .eyebrow{opacity:0;letter-spacing:.34em}
html.iqhl .iqhl--flap .lede{clip-path:inset(0 0 100% 0);translate:0 -12px;transition:clip-path .75s var(--iqhl-soft) 1.35s,translate .75s var(--iqhl-spring) 1.35s}
.iqhl--flap.is-in .iqhl-fl__sheet{transform:rotateX(118deg) translateZ(14px);opacity:0}
.iqhl--flap.is-in .iqhl-fl__shade{opacity:0}
html.iqhl .iqhl--flap.is-in .iqhl-w{opacity:1;translate:0 0;scale:1}
html.iqhl .iqhl--flap.is-in .eyebrow{opacity:1;letter-spacing:.18em}
html.iqhl .iqhl--flap.is-in .lede{clip-path:inset(-12% 0 -12% 0);translate:0 0}
.iqhl--flap.is-done .iqhl-fl__sheet,.iqhl--flap.is-done .iqhl-fl__shade{display:none}
.iqhl--flap.is-done .lede{clip-path:none}

/* ---------- 02 · #story · the shoebox ---------- */
.iqhl-bx__bed{position:relative;perspective:1100px}
html.iqhl .iqhl--shoebox h2{position:relative;z-index:2;clip-path:inset(-40% -6% 0 -6%)}
.iqhl--shoebox.is-done h2{clip-path:none}
.iqhl-bx__body{position:relative;height:42px;margin:0 clamp(0px,2vw,24px);z-index:1;transform-style:preserve-3d}
.iqhl-bx__inner{position:absolute;left:3px;right:3px;top:0;height:16px;background:linear-gradient(180deg,#c9c3b6,#dcd7cc);border-radius:2px 2px 0 0}
.iqhl-bx__front{position:absolute;left:0;right:0;top:12px;bottom:0;background:linear-gradient(180deg,#f1ede6,#e6e1d8);border-radius:3px;box-shadow:0 1px 0 #fff inset,0 10px 18px -10px rgba(20,30,45,.4),0 0 0 1px rgba(138,133,120,.25)}
.iqhl-bx__front::after{content:"";position:absolute;left:50%;top:50%;width:84px;height:12px;translate:-50% -50%;border-radius:2px;background:#fff;box-shadow:0 0 0 1px rgba(138,133,120,.25);background-image:linear-gradient(90deg,#5b6eae,#c4576a 55%,#4a9080);background-size:60% 2px;background-repeat:no-repeat;background-position:50% 70%}
.iqhl-bx__lid{position:absolute;left:-7px;right:-7px;top:-4px;height:22px;z-index:3;background:linear-gradient(180deg,#fff,#f3efe8);border-radius:3px;box-shadow:0 0 0 1px rgba(138,133,120,.25),0 6px 10px -6px rgba(20,30,45,.45);transform-origin:50% 100%;
  transition:transform 1.15s cubic-bezier(.3,.9,.3,1) .15s,opacity .4s ease .8s}
html.iqhl .iqhl--shoebox .iqhl-c{translate:0 var(--drop,110%);rotate:var(--tilt,0deg);opacity:0;
  transition:translate .95s var(--iqhl-spring) calc(var(--j) * 34ms + .6s),rotate .95s var(--iqhl-spring) calc(var(--j) * 34ms + .6s),opacity .01s linear calc(var(--j) * 34ms + .6s)}
html.iqhl .iqhl--shoebox .eyebrow{opacity:0;translate:0 8px}
html.iqhl .iqhl--shoebox .lede{clip-path:inset(0 0 100% 0);translate:0 -10px;transition:clip-path .8s var(--iqhl-soft) 1.5s,translate .8s var(--iqhl-spring) 1.5s}
.iqhl--shoebox.is-in .iqhl-bx__lid{transform:translateY(-70px) translateZ(60px) rotateX(-58deg) rotate(-5deg);opacity:0}
html.iqhl .iqhl--shoebox.is-in .iqhl-c{translate:0 0;rotate:0deg;opacity:1}
html.iqhl .iqhl--shoebox.is-in .eyebrow{opacity:1;translate:0 0}
html.iqhl .iqhl--shoebox.is-in .lede{clip-path:inset(-12% 0 -12% 0);translate:0 0}
.iqhl--shoebox.is-done .lede{clip-path:none}
.iqhl--shoebox.is-done .iqhl-bx__lid{display:none}

/* ---------- 03 · #app · the pull-tab ---------- */
.iqhl--pulltab h2{padding-inline:64px}
.iqhl-pt__slot{display:inline-block;position:relative;vertical-align:top;clip-path:inset(-30% -90px -30% -16px)}
.iqhl-pt__slot::before{content:"";position:absolute;left:-12px;top:-8%;bottom:-8%;width:9px;z-index:2;border-radius:5px;background:linear-gradient(90deg,#1e3450,#2c4566 60%,#3a5a82);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.8)}
.iqhl-pt__strip{display:inline-block;position:relative;z-index:1;transition:transform 1.35s cubic-bezier(.2,.9,.22,1) .3s}
html.iqhl .iqhl--pulltab .iqhl-pt__strip{transform:translateX(calc(-100% - 26px))}
.iqhl-pt__pull{position:absolute;left:100%;top:50%;width:46px;height:32px;margin:-16px 0 0 12px;border-radius:4px 16px 16px 4px;background:linear-gradient(180deg,#fff,#f3efe8);box-shadow:0 0 0 1px rgba(138,133,120,.3),0 6px 10px -6px rgba(20,30,45,.45);display:flex;align-items:center;justify-content:center;gap:4px;padding-right:6px}
.iqhl-pt__pull b{width:2px;height:14px;border-radius:1px;background:#8a8578;opacity:.7}
.iqhl-pt__pull::before{content:"";position:absolute;left:-8px;top:50%;width:14px;height:10px;margin-top:-5px;background:#fff;box-shadow:0 0 0 1px rgba(138,133,120,.3)}
.iqhl-pt__leaf{perspective:900px}
html.iqhl .iqhl--pulltab .lede{transform-origin:50% 0;transform:rotateX(-88deg);opacity:0;transition:transform 1.05s var(--iqhl-spring) 1.5s,opacity .3s ease 1.5s}
html.iqhl .iqhl--pulltab .eyebrow{opacity:0;translate:-14px 0}
html.iqhl .iqhl--pulltab.is-in .iqhl-pt__strip{transform:none}
html.iqhl .iqhl--pulltab.is-in .lede{transform:none;opacity:1}
html.iqhl .iqhl--pulltab.is-in .eyebrow{opacity:1;translate:0 0}
@media (max-width:640px){.iqhl--pulltab h2{padding-inline:36px}.iqhl-pt__pull{width:30px;height:24px;margin:-12px 0 0 8px}.iqhl-pt__pull b{height:10px}.iqhl-pt__slot{clip-path:inset(-30% -60px -30% -16px)}}

/* ---------- 04 · #subscriptions · the volvelle ---------- */
.iqhl--volvelle h2{position:relative;z-index:0}
.iqhl-vv__win{display:inline-block;position:relative;clip-path:inset(-.08em -.1em -.04em);vertical-align:top}
.iqhl-vv__win::before{content:"";position:absolute;inset:-.06em -.06em -.02em;border:1px solid rgba(250,248,245,.22);border-radius:4px;pointer-events:none;box-shadow:inset 6px 0 10px -8px rgba(0,0,0,.5),inset -6px 0 10px -8px rgba(0,0,0,.5);transition:opacity .9s ease}
.iqhl-vv__arm{display:inline-block;transition:transform 1.5s cubic-bezier(.22,1.18,.3,1) .55s}
html.iqhl .iqhl--volvelle .iqhl-vv__arm{transform:rotate(-46deg)}
.iqhl-vv__disc{position:absolute;z-index:-1;border-radius:50%;border:1.5px solid rgba(250,248,245,.22);background:radial-gradient(circle,rgba(255,255,255,.05) 0 68%,rgba(255,255,255,.08) 68% 100%);transition:transform 1.5s cubic-bezier(.22,1.18,.3,1) .55s,opacity 1.2s ease;pointer-events:none}
.iqhl-vv__disc b{position:absolute;inset:6px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(250,248,245,.4) 0 .7deg,transparent .7deg 5deg);-webkit-mask:radial-gradient(circle,transparent 0 calc(100% - 16px),#000 calc(100% - 15px));mask:radial-gradient(circle,transparent 0 calc(100% - 16px),#000 calc(100% - 15px))}
.iqhl-vv__disc::after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#faf8f5;opacity:.7}
html.iqhl .iqhl--volvelle .iqhl-vv__disc{transform:rotate(-46deg)}
html.iqhl .iqhl--volvelle .iqhl-w{opacity:0;translate:0 .18em;transition:opacity .35s ease calc(var(--k) * 80ms + .1s),translate .7s var(--iqhl-spring) calc(var(--k) * 80ms + .1s)}
html.iqhl .iqhl--volvelle .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--volvelle .subscriptions__dek{opacity:0;transform-origin:0 50%;transform:rotate(5deg) translateY(10px);transition:opacity .6s ease 1.3s,transform 1s var(--iqhl-spring) 1.3s}
html.iqhl .iqhl--volvelle.is-in .iqhl-vv__arm,html.iqhl .iqhl--volvelle.is-in .iqhl-vv__disc{transform:rotate(0deg)}
html.iqhl .iqhl--volvelle.is-in .iqhl-w{opacity:1;translate:0 0}
html.iqhl .iqhl--volvelle.is-in .eyebrow{opacity:1;translate:0 0}
html.iqhl .iqhl--volvelle.is-in .subscriptions__dek{opacity:1;transform:none}
.iqhl--volvelle.is-done .iqhl-vv__win{clip-path:none}
.iqhl--volvelle.is-done .iqhl-vv__disc{opacity:.38}
.iqhl--volvelle.is-done .iqhl-vv__win::before{opacity:.45}

/* ---------- 05 · #vs · the slider ---------- */
.iqhl--slider h2{position:relative}
.iqhl-sl__ink{position:relative;display:block;z-index:1;transition:clip-path 1.5s cubic-bezier(.45,.02,.3,1) .35s}
html.iqhl .iqhl--slider .iqhl-sl__ink{clip-path:inset(-18% 100% -18% 0)}
.iqhl-sl__ghost{position:absolute;left:0;right:0;top:0;display:block;z-index:0;-webkit-text-stroke:1.2px #9a968c;color:transparent !important;-webkit-text-fill-color:transparent;transition:opacity .5s ease 1.75s}
#vs .iqhl-sl__ghost em{background-image:none !important;color:transparent !important;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px #9a968c}
.iqhl-sl__card{position:absolute;top:-20px;bottom:-20px;left:0;width:24px;z-index:2;border-radius:3px;background:linear-gradient(90deg,#fff,#f3efe8);box-shadow:-8px 0 16px -8px rgba(20,30,45,.45),0 0 0 1px rgba(138,133,120,.3);opacity:0;
  transition:left 1.5s cubic-bezier(.45,.02,.3,1) .35s,opacity .25s ease .2s}
.iqhl-sl__card b{position:absolute;left:4px;right:4px;top:-12px;height:18px;border-radius:3px 3px 0 0;background:#2c4566}
.iqhl-sl__card::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#c4576a}
html.iqhl .iqhl--slider .eyebrow{clip-path:inset(0 100% 0 0);transition:clip-path .7s var(--iqhl-soft)}
html.iqhl .iqhl--slider .dek{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--iqhl-soft) 1.35s}
html.iqhl .iqhl--slider.is-in .iqhl-sl__ink{clip-path:inset(-18% -4% -18% 0)}
.iqhl--slider.is-in .iqhl-sl__card{left:100%;opacity:1}
.iqhl--slider.is-in.is-done .iqhl-sl__card,.iqhl--slider.is-in.is-done .iqhl-sl__ghost{opacity:0}
.iqhl--slider.is-done .iqhl-sl__card{transition:none}
.iqhl--slider.is-done .iqhl-sl__ink{clip-path:none}
html.iqhl .iqhl--slider.is-in .eyebrow,html.iqhl .iqhl--slider.is-in .dek{clip-path:inset(-10% -4% -10% 0)}
.iqhl--slider.is-done .eyebrow,.iqhl--slider.is-done .dek{clip-path:none}

/* ---------- 06 · #does · drop it in ---------- */
html.iqhl .iqhl--drop .iqhl-dp__in{opacity:0;translate:0 -140px;rotate:var(--tilt,0deg)}
html.iqhl .iqhl--drop.is-in .iqhl-dp__in{animation:iqhlDropIn .95s cubic-bezier(.34,.02,.6,1) calc(var(--k) * 120ms + .15s) forwards}
@keyframes iqhlDropIn{0%{opacity:0;translate:0 -140px;rotate:var(--tilt,0deg);scale:1}14%{opacity:1}58%{translate:0 0;rotate:0deg;scale:1.04 .9}74%{translate:0 -16px;scale:.99 1.03}88%{translate:0 0;scale:1 .98}100%{opacity:1;translate:0 0;rotate:0deg;scale:1}}
html.iqhl .iqhl--drop .iqhl-dp__back{opacity:0;translate:0 64px;transition:translate .85s var(--iqhl-soft) calc(var(--k) * 70ms + .45s),opacity .4s ease calc(var(--k) * 70ms + .45s)}
html.iqhl .iqhl--drop.is-in .iqhl-dp__back{opacity:1;translate:0 0}
html.iqhl .iqhl--drop .eyebrow{opacity:0;translate:0 -26px}
html.iqhl .iqhl--drop.is-in .eyebrow{animation:iqhlDropEb .7s cubic-bezier(.34,.02,.6,1) forwards}
@keyframes iqhlDropEb{0%{opacity:0;translate:0 -26px}30%{opacity:1}60%{translate:0 0}80%{translate:0 -5px}100%{opacity:1;translate:0 0}}
html.iqhl .iqhl--drop .dek{opacity:0;translate:0 28px;transition:opacity .6s ease 1.45s,translate .9s var(--iqhl-soft) 1.45s}
html.iqhl .iqhl--drop.is-in .dek{opacity:1;translate:0 0}

/* ---------- 07 · #everything · the till roll ---------- */
.iqhl-rl{position:relative;padding-top:30px;text-align:center}
.iqhl-rl__spool{position:absolute;left:-10px;right:-10px;top:0;height:28px;z-index:3;border-radius:14px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.14) 18px 21px),linear-gradient(180deg,#9c9789,#5e5a50 38%,#7d7869 62%,#cfcabf);box-shadow:0 8px 12px -7px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.4)}
.iqhl-rl__spool b{position:absolute;top:-3px;width:14px;height:34px;border-radius:7px;background:linear-gradient(180deg,#3d3d3d,#1a1a1a 50%,#4a4a4a)}
.iqhl-rl__spool b:first-child{left:8px}.iqhl-rl__spool b:last-child{right:8px}
.iqhl-rl__feed{position:relative;z-index:2;margin:0 8px;transition:clip-path 1.9s cubic-bezier(.33,.12,.3,1) .25s}
html.iqhl .iqhl--roll .iqhl-rl__feed{clip-path:inset(0 0 100% 0)}
.iqhl-rl__paper{background:#fff var(--iqhl-rules);padding:30px 26px 36px;box-shadow:0 24px 32px -26px rgba(20,30,45,.45);margin-top:-12px}
.iqhl-rl__ink{transition:clip-path 1.9s cubic-bezier(.33,.12,.3,1) .37s}
html.iqhl .iqhl--roll .iqhl-rl__ink{clip-path:inset(0 0 100% 0)}
.iqhl-rl__ink h2{margin-top:10px}
.iqhl-rl__head{position:absolute;left:4px;right:4px;top:30px;height:4px;z-index:4;border-radius:2px;background:#2c4566;box-shadow:0 0 0 2px rgba(44,69,102,.15);opacity:0;transition:top 1.9s cubic-bezier(.33,.12,.3,1) .32s,opacity .3s ease .3s}
html.iqhl .iqhl--roll.is-in .iqhl-rl__feed,html.iqhl .iqhl--roll.is-in .iqhl-rl__ink{clip-path:inset(0 -16px -24px -16px)}
.iqhl--roll.is-in .iqhl-rl__head{top:calc(100% - 12px);opacity:1;transition:top 1.9s cubic-bezier(.33,.12,.3,1) .32s,opacity .25s ease 2.2s}
.iqhl--roll.is-in.is-done .iqhl-rl__head{opacity:0;transition:opacity .3s ease}
.iqhl--roll.is-in .iqhl-rl__spool{animation:iqhlSpool 2.1s cubic-bezier(.33,.12,.3,1) .25s both}
@keyframes iqhlSpool{from{background-position:0 0,0 0}to{background-position:-420px 0,0 0}}
.iqhl--roll.is-done .iqhl-rl__feed,.iqhl--roll.is-done .iqhl-rl__ink{clip-path:none}
@media (max-width:640px){.iqhl-rl__paper{padding:24px 14px 30px}}

/* ---------- 08 · #how · the rolodex ---------- */
.iqhl-ro{position:relative;perspective:1500px;padding-top:22px;margin-top:var(--space-3)}
.iqhl-ro__rod{position:absolute;left:-8px;right:-8px;top:0;height:12px;border-radius:6px;background:linear-gradient(180deg,#5b7399,#2c4566 55%,#1e3450);box-shadow:0 4px 8px -4px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.25);z-index:3}
.iqhl-ro__rod b{position:absolute;top:-6px;width:24px;height:24px;border-radius:50%;border:4px solid #cfcabf;box-sizing:border-box;box-shadow:0 2px 3px rgba(0,0,0,.35)}
.iqhl-ro__rod b:first-child{left:12%}.iqhl-ro__rod b:last-child{right:12%}
.iqhl-ro__card{position:relative;transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.3s cubic-bezier(.3,1.22,.38,1) calc(var(--i) * .42s + .2s)}
.iqhl-ro__card + .iqhl-ro__card{margin-top:14px}
html.iqhl .iqhl--rolodex .iqhl-ro__card{transform:rotateX(178deg)}
.iqhl-ro__face{position:relative;background:#fff;border-radius:4px;padding:clamp(22px,2.6vw,34px) clamp(20px,3vw,40px) clamp(22px,2.6vw,32px);backface-visibility:hidden;filter:var(--iqhl-edge)}
.iqhl-ro__face::before{content:"";position:absolute;left:12%;top:-4px;width:24px;height:8px;margin-left:-12px;border-radius:0 0 12px 12px;background:#1e3450}
.iqhl-ro__face::after{content:"";position:absolute;right:12%;top:-4px;width:24px;height:8px;margin-right:-12px;border-radius:0 0 12px 12px;background:#1e3450}
.iqhl-ro__back{position:absolute;inset:0;border-radius:4px;background:#f5f2ed var(--iqhl-rules);transform:rotateX(180deg);backface-visibility:hidden;box-shadow:0 0 0 1px rgba(138,133,120,.25)}
#how .iqhl--rolodex h2{color:var(--ink) !important;margin-top:0}
#how .iqhl--rolodex h2 em{background-image:linear-gradient(90deg,#5b6eae,#c4576a 55%,#4a9080) !important}
#how .iqhl--rolodex p{color:var(--ink-2) !important;margin-top:0}
html.iqhl .iqhl--rolodex .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--rolodex.is-in .iqhl-ro__card{transform:rotateX(0deg)}
html.iqhl .iqhl--rolodex.is-in .eyebrow{opacity:1;translate:0 0}

/* ---------- 09 · #builds · off your desk ---------- */
.iqhl-li__bed{perspective:1000px}
.iqhl--lift h2{position:relative;z-index:0;transform-style:preserve-3d}
.iqhl-li__em{display:inline-block;position:relative;z-index:1;font-optical-sizing:none;font-variation-settings:'opsz' 104;transform:translateY(-7px) translateZ(60px);transition:transform 1.4s cubic-bezier(.2,1.1,.3,1) .45s,font-variation-settings 1.4s ease .45s}
html.iqhl .iqhl--lift .iqhl-li__em{transform:translateY(12px) translateZ(-50px);font-variation-settings:'opsz' 9}
.iqhl-li__shadow{position:absolute;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,30,45,.4),rgba(20,30,45,.08) 55%,transparent 72%);filter:blur(14px);opacity:.42;scale:1 1;transition:opacity 1s ease .55s,scale 1.4s cubic-bezier(.2,1.1,.3,1) .45s,filter 1.4s ease .45s}
html.iqhl .iqhl--lift .iqhl-li__shadow{opacity:0;scale:.75 .4;filter:blur(4px)}
html.iqhl .iqhl--lift .iqhl-w{opacity:0;translate:0 10px;transition:opacity .4s ease calc(var(--k) * 60ms),translate .7s var(--iqhl-spring) calc(var(--k) * 60ms)}
html.iqhl .iqhl--lift .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--lift .dek{opacity:0;translate:28px 0;transition:opacity .7s ease 1.1s,translate .9s var(--iqhl-soft) 1.1s}
html.iqhl .iqhl--lift.is-in .iqhl-li__em{transform:translateY(-7px) translateZ(60px);font-variation-settings:'opsz' 104}
html.iqhl .iqhl--lift.is-in .iqhl-li__shadow{opacity:.42;scale:1 1;filter:blur(14px)}
html.iqhl .iqhl--lift.is-in .iqhl-w{opacity:1;translate:0 0}
html.iqhl .iqhl--lift.is-in .eyebrow{opacity:1;translate:0 0}
html.iqhl .iqhl--lift.is-in .dek{opacity:1;translate:0 0}
.iqhl--lift.is-done.is-live .iqhl-li__em{animation:iqhlBob 6.5s ease-in-out infinite}
.iqhl--lift.is-done.is-live .iqhl-li__shadow{animation:iqhlBobShade 6.5s ease-in-out infinite}
@keyframes iqhlBob{0%,100%{transform:translateY(-7px) translateZ(60px)}50%{transform:translateY(-12px) translateZ(66px)}}
@keyframes iqhlBobShade{0%,100%{scale:1 1;opacity:.42}50%{scale:1.04 1.06;opacity:.32}}

/* ---------- 10 · #ledger · signed off ---------- */
.iqhl-sg__wrap{display:inline-block;position:relative}
.iqhl-sg__wrap em{display:inline-block;transition:clip-path 1.5s cubic-bezier(.42,.05,.58,.95) .75s}
html.iqhl .iqhl--sign .iqhl-sg__wrap em{clip-path:inset(-20% 100% -20% -2%)}
.iqhl-sg__line{position:absolute;left:-.04em;right:-.02em;bottom:.02em;height:0;border-bottom:2px dotted #8a8578;transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--iqhl-soft) .25s}
.iqhl-sg__nib{position:absolute;left:0;bottom:-.02em;width:.42em;height:.42em;max-width:46px;max-height:46px;translate:-14% 0;opacity:0;filter:drop-shadow(0 3px 3px rgba(20,30,45,.35));transition:left 1.5s cubic-bezier(.42,.05,.58,.95) .75s}
.iqhl-sg__nib svg{width:100%;height:100%;display:block}
html.iqhl .iqhl--sign .iqhl-w{opacity:0;scale:.92;translate:0 6px;transition:opacity .3s ease calc(var(--k) * 70ms),scale .6s var(--iqhl-spring) calc(var(--k) * 70ms),translate .6s var(--iqhl-spring) calc(var(--k) * 70ms)}
html.iqhl .iqhl--sign .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--sign .dek{opacity:0;translate:0 16px;transition:opacity .7s ease 1.9s,translate .9s var(--iqhl-soft) 1.9s}
html.iqhl .iqhl--sign.is-in .iqhl-sg__wrap em{clip-path:inset(-20% -4% -20% -2%)}
.iqhl--sign.is-in .iqhl-sg__line{transform:scaleX(1)}
.iqhl--sign.is-in .iqhl-sg__nib{left:100%;animation:iqhlNib 2.9s linear forwards}
@keyframes iqhlNib{0%,18%{opacity:0;translate:-14% 10%}26%{opacity:1;translate:-14% 0}80%{opacity:1;translate:-14% 0}100%{opacity:0;translate:-6% -40%}}
html.iqhl .iqhl--sign.is-in .iqhl-w{opacity:1;scale:1;translate:0 0}
html.iqhl .iqhl--sign.is-in .eyebrow{opacity:1;translate:0 0}
html.iqhl .iqhl--sign.is-in .dek{opacity:1;translate:0 0}
.iqhl--sign.is-done .iqhl-sg__wrap em{clip-path:none}
.iqhl--sign.is-done .iqhl-sg__nib{display:none}

/* ---------- 11 · #riq-voice · the pop ---------- */
.iqhl--pop h2{position:relative;z-index:0}
html.iqhl .iqhl--pop .iqhl-c{scale:0;opacity:0;transition:scale .65s cubic-bezier(.3,1.7,.4,1) calc(var(--j) * 30ms + .25s),opacity .18s ease calc(var(--j) * 30ms + .25s)}
html.iqhl .iqhl--pop.is-in .iqhl-c{scale:1;opacity:1}
.iqhl-pp__rings{position:absolute;width:0;height:0;z-index:-1;pointer-events:none}
.iqhl-pp__rings b{position:absolute;left:-70px;top:-70px;width:140px;height:140px;border-radius:50%;border:1.5px solid rgba(250,248,245,.6);opacity:0;scale:.2}
.iqhl-pp__rings b:nth-child(1){--i:0}.iqhl-pp__rings b:nth-child(2){--i:1}.iqhl-pp__rings b:nth-child(3){--i:2;border-style:dashed}
.iqhl--pop.is-in .iqhl-pp__rings b{animation:iqhlRing 1.4s cubic-bezier(.2,.7,.3,1) calc(var(--d,0s) + var(--i) * .17s) forwards}
@keyframes iqhlRing{0%{scale:.2;opacity:.85}100%{scale:3;opacity:0}}
html.iqhl .iqhl--pop .eyebrow{opacity:0;scale:.9;transform-origin:0 50%;transition:opacity .4s ease,scale .6s var(--iqhl-spring)}
html.iqhl .iqhl--pop .riqhold,html.iqhl .iqhl--pop .riqband__body,html.iqhl .iqhl--pop .riqband__note{opacity:0;scale:.95;transform-origin:0 50%;transition:opacity .5s ease 1.35s,scale .7s var(--iqhl-spring) 1.35s}
html.iqhl .iqhl--pop .riqband__body{transition-delay:1.5s}html.iqhl .iqhl--pop .riqband__note{transition-delay:1.65s}
html.iqhl .iqhl--pop.is-in .eyebrow,html.iqhl .iqhl--pop.is-in .riqhold,html.iqhl .iqhl--pop.is-in .riqband__body,html.iqhl .iqhl--pop.is-in .riqband__note{opacity:1;scale:1}

/* ---------- 12 · #reviewer · the tunnel ---------- */
.iqhl-tn__bed{position:relative;perspective:800px;perspective-origin:50% 50%;transform-style:preserve-3d}
.iqhl--tunnel h2{position:relative;z-index:1;transition:transform 1.5s cubic-bezier(.2,.75,.2,1) .15s,filter 1.4s ease .2s,opacity .9s ease .15s}
html.iqhl .iqhl--tunnel h2{transform:translateZ(-760px);filter:blur(5px);opacity:.25}
.iqhl-tn__frame{position:absolute;inset:-16px -22px;border:2px solid rgba(250,248,245,.26);border-radius:8px;transform:translateZ(calc(-230px * (var(--i) + 1)));transition:opacity .45s ease calc(.75s - var(--i) * .17s),transform 1.5s cubic-bezier(.2,.75,.2,1) .15s;pointer-events:none}
.iqhl-tn__frame::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(250,248,245,.16);border-radius:5px}
html.iqhl .iqhl--tunnel .eyebrow{opacity:0;transform:translateZ(-300px);transition:opacity .6s ease,transform 1.1s cubic-bezier(.2,.75,.2,1)}
html.iqhl .iqhl--tunnel .iqbp-rev__lede{opacity:0;transform:translateZ(-320px);filter:blur(3px);transition:opacity .8s ease .7s,transform 1.2s cubic-bezier(.2,.75,.2,1) .7s,filter 1s ease .75s}
html.iqhl .iqhl--tunnel.is-in h2{transform:translateZ(0);filter:blur(0);opacity:1}
.iqhl--tunnel.is-in .iqhl-tn__frame{opacity:0;transform:translateZ(calc(-230px * (var(--i) + 1) + 120px))}
html.iqhl .iqhl--tunnel.is-in .eyebrow,html.iqhl .iqhl--tunnel.is-in .iqbp-rev__lede{opacity:1;transform:translateZ(0);filter:blur(0)}
.iqhl--tunnel.is-done .iqhl-tn__frame{display:none}
.iqhl--tunnel.is-done h2,.iqhl--tunnel.is-done .iqbp-rev__lede{filter:none}

/* ---------- 13 · #entities · the gatefold ---------- */
.iqhl-gd__bed{position:relative;perspective:1500px}
.iqhl--doors h2{position:relative;z-index:1;transition:transform 1s var(--iqhl-soft) .55s}
html.iqhl .iqhl--doors h2{transform:translateZ(-30px)}
.iqhl-gd__shade{display:none}
.iqhl-gd__door{position:absolute;top:-14px;bottom:-14px;width:calc(50% + 12px);z-index:3;background:#fff var(--iqhl-rules);box-shadow:0 0 0 1px rgba(138,133,120,.28),0 18px 30px -20px rgba(20,30,45,.5);backface-visibility:hidden;transition:transform 1.25s cubic-bezier(.3,1.12,.35,1) .3s,opacity .3s ease 1.1s}
.iqhl-gd__door--l{left:-12px;transform-origin:0 50%;border-radius:4px 2px 2px 4px}
.iqhl-gd__door--r{right:-12px;transform-origin:100% 50%;border-radius:2px 4px 4px 2px}
.iqhl-gd__door b{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#2c4566;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(138,133,120,.3)}
.iqhl-gd__door--l b{right:14px}.iqhl-gd__door--r b{left:14px}
.iqhl-gd__door::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:rgba(138,133,120,.25)}
.iqhl-gd__door--l::after{left:3px}.iqhl-gd__door--r::after{right:3px}
html.iqhl .iqhl--doors .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--doors .dek{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--iqhl-soft) 1.2s}
html.iqhl .iqhl--doors.is-in h2{transform:translateZ(0)}
.iqhl--doors.is-in .iqhl-gd__shade{opacity:0}
.iqhl--doors.is-in .iqhl-gd__door--l{transform:rotateY(-97deg);opacity:0}
.iqhl--doors.is-in .iqhl-gd__door--r{transform:rotateY(97deg);opacity:0}
html.iqhl .iqhl--doors.is-in .eyebrow{opacity:1;translate:0 0}
html.iqhl .iqhl--doors.is-in .dek{clip-path:inset(-10% -4% -10% 0)}
.iqhl--doors.is-done .iqhl-gd__door,.iqhl--doors.is-done .iqhl-gd__shade{display:none}
.iqhl--doors.is-done .dek{clip-path:none}

/* ---------- 14 · #migrate · the fold-out map ---------- */
.iqhl--map h2{perspective:1600px}
.iqhl--map .iqhl-slice{background:#fff;backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(138,133,120,.22);transition:transform .95s cubic-bezier(.3,1.15,.35,1),background-color .7s ease 2.1s,box-shadow .7s ease 2.1s}
html.iqhl .iqhl--map .iqhl-slice[data-c="1"]{transform-origin:33.333% 50%;transform:rotateY(-180deg);transition-delay:.25s,2.1s,2.1s}
html.iqhl .iqhl--map .iqhl-slice[data-c="2"]{transform-origin:66.666% 50%;transform:rotateY(-180deg);transition-delay:.62s,2.1s,2.1s}
html.iqhl .iqhl--map .iqhl-slice[data-r="1"]{transform-origin:50% 50%;transform:rotateX(-180deg);transition-delay:1.05s,2.1s,2.1s}
html.iqhl .iqhl--map .iqhl-slice[data-r="1"][data-c="1"]{transition-delay:1.13s,2.1s,2.1s}
html.iqhl .iqhl--map .iqhl-slice[data-r="1"][data-c="2"]{transition-delay:1.21s,2.1s,2.1s}
.iqhl--map .iqhl-slice[data-i="0"]{box-shadow:inset 0 0 0 1px rgba(138,133,120,.22),3px 3px 0 #f1ede6,6px 6px 0 #e6e1d8}
html.iqhl .iqhl--map .iqhl-slices__src{transition:none}
html.iqhl .iqhl--map.is-in .iqhl-slice{transform:none;background-color:transparent;box-shadow:none}
.iqhl-mp__leaf{perspective:1200px}
html.iqhl .iqhl--map .dek{transform-origin:50% 0;transform:rotateX(-180deg);backface-visibility:hidden;transition:transform 1s cubic-bezier(.3,1.15,.35,1) 1.55s}
html.iqhl .iqhl--map.is-in .dek{transform:none}
html.iqhl .iqhl--map .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--map.is-in .eyebrow{opacity:1;translate:0 0}

/* ---------- 15 · #privacy · the louvres ---------- */
.iqhl--louvre h2{perspective:900px}
.iqhl--louvre .iqhl-slice{transform-origin:50% calc((var(--r) + .5) / 7 * 100%);transition:transform .85s cubic-bezier(.3,1.3,.4,1) calc(var(--r) * 75ms + .3s),opacity .25s linear calc(var(--r) * 75ms + .3s)}
html.iqhl .iqhl--louvre .iqhl-slice{transform:rotateX(88deg);opacity:0}
html.iqhl .iqhl--louvre.is-in .iqhl-slice{transform:rotateX(0);opacity:1}
.iqhl-lv__cord{position:absolute;left:-26px;top:-12px;width:1px;height:calc(100% + 24px);background:rgba(138,133,120,.55)}
.iqhl-lv__cord b{position:absolute;left:-4px;bottom:-6px;width:9px;height:9px;border-radius:50%;border:1.5px solid #8a8578;background:#fff;transition:translate .5s cubic-bezier(.3,1.4,.4,1) .05s}
.iqhl--louvre.is-in .iqhl-lv__cord b{translate:0 22px}
.iqhl-lv__dek{display:block;perspective:800px}
html.iqhl .iqhl--louvre .iqhl-lv__dek{transform-origin:50% 50%;transform:rotateX(86deg);opacity:0;transition:transform .9s cubic-bezier(.3,1.3,.4,1) 1.1s,opacity .3s linear 1.1s}
html.iqhl .iqhl--louvre.is-in .iqhl-lv__dek{transform:none;opacity:1}
html.iqhl .iqhl--louvre .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--louvre.is-in .eyebrow{opacity:1;translate:0 0}
@media (max-width:900px){.iqhl-lv__cord{left:-14px}}

/* ---------- 16 · #mcp · the envelope ---------- */
.iqhl-en{position:relative;perspective:1200px;padding:0 8px 36px;clip-path:inset(-200px -30px 0 -30px)}
.iqhl-en__body{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:3;background:linear-gradient(180deg,#efebe3,#e4dfd5);border-radius:5px;box-shadow:0 0 0 1px rgba(138,133,120,.3),0 24px 36px -24px rgba(20,30,45,.45)}
.iqhl-en__body::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.55) 48.5%,rgba(255,255,255,.55) 51.5%,transparent 52%),linear-gradient(225deg,transparent 48%,rgba(255,255,255,.55) 48.5%,rgba(255,255,255,.55) 51.5%,transparent 52%);border-radius:inherit;opacity:.8}
.iqhl-en__body b{position:absolute;left:0;right:0;top:0;height:14px;background:linear-gradient(180deg,rgba(20,30,45,.28),transparent);border-radius:5px 5px 0 0}
.iqhl-en__flap{position:absolute;left:0;right:0;top:54%;height:34%;z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,#e9e4db,#dcd7cc);transform-origin:50% 0;box-shadow:0 0 0 1px rgba(138,133,120,.3)}
.iqhl-en__letter{position:relative;z-index:2;background:#fff;padding:clamp(22px,2.6vw,34px) clamp(22px,3vw,40px) clamp(26px,3vw,40px);border-radius:3px;box-shadow:0 0 0 1px rgba(138,133,120,.22),0 18px 28px -22px rgba(20,30,45,.45)}
.iqhl-en__letter::after{content:"";position:absolute;right:18px;top:14px;width:46px;height:30px;border:1.5px dashed rgba(138,133,120,.4);border-radius:3px}
html.iqhl .iqhl--envelope .iqhl-en__letter{translate:0 58%}
.iqhl--envelope.is-in .iqhl-en__flap{animation:iqhlFlap 1s cubic-bezier(.4,.1,.3,1) .15s forwards}
@keyframes iqhlFlap{0%{transform:rotateX(0);z-index:5}49%{z-index:5}50%{z-index:1}100%{transform:rotateX(-176deg);z-index:1;background:linear-gradient(180deg,#f3efe8,#e9e4db)}}
.iqhl--envelope.is-in .iqhl-en__letter{animation:iqhlLetter 1.6s cubic-bezier(.45,.05,.3,1) .75s forwards}
@keyframes iqhlLetter{0%{translate:0 58%;z-index:2}50%{translate:0 -50%;z-index:2}51%{z-index:4}100%{translate:0 0;z-index:4}}
.iqhl--envelope.is-done .iqhl-en{clip-path:none}

/* ---------- 17 · #iq-suite-context · the fan ---------- */
.iqhl--fan h2{position:relative}
html.iqhl .iqhl--fan .iqhl-w{rotate:calc(-14deg - var(--k) * 2.2deg);opacity:0;transition:rotate 1.15s cubic-bezier(.25,1.2,.35,1) calc(var(--k) * 95ms + .3s),opacity .4s ease calc(var(--k) * 95ms + .3s)}
html.iqhl .iqhl--fan.is-in .iqhl-w{rotate:0deg;opacity:1}
.iqhl-fn__pivot{position:absolute;left:-16px;bottom:-12px;width:12px;height:12px;border-radius:50%;background:#2c4566;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(138,133,120,.35);scale:0;transition:scale .5s var(--iqhl-spring)}
.iqhl--fan.is-in .iqhl-fn__pivot{scale:1}
html.iqhl .iqhl--fan .dek{transform-origin:0 100%;rotate:-7deg;opacity:0;transition:rotate 1s cubic-bezier(.25,1.2,.35,1) 1.25s,opacity .5s ease 1.25s}
html.iqhl .iqhl--fan.is-in .dek{rotate:0deg;opacity:1}
html.iqhl .iqhl--fan .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--fan.is-in .eyebrow{opacity:1;translate:0 0}

/* ---------- 18 · #faq · taped slips ---------- */
.iqhl--tape h2{position:relative;padding-top:10px}
.iqhl-tp__chip{display:inline-block;position:relative;padding:.04em .16em .06em;margin:0 .04em;background:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(138,133,120,.22),0 10px 16px -12px rgba(20,30,45,.5);transform-origin:50% -8px;rotate:var(--rest,0deg)}
html.iqhl .iqhl--tape .iqhl-tp__chip{opacity:0;rotate:-22deg}
html.iqhl .iqhl--tape.is-in .iqhl-tp__chip{animation:iqhlSwing 1.7s cubic-bezier(.3,.7,.3,1) calc(var(--k) * .26s + .15s) forwards}
@keyframes iqhlSwing{0%{opacity:0;rotate:-22deg}8%{opacity:1}36%{rotate:8deg}62%{rotate:-3.5deg}84%{rotate:1.2deg}100%{opacity:1;rotate:var(--rest,0deg)}}
.iqhl-tp__tape{position:absolute;width:54px;height:17px;translate:-50% 0;rotate:calc(-4deg + var(--k) * 7deg);background:var(--iqhl-tape);box-shadow:0 1px 2px rgba(20,30,45,.18);z-index:2;opacity:0;transition:opacity .2s ease calc(var(--k) * .26s + .1s)}
.iqhl--tape.is-in .iqhl-tp__tape{opacity:1}
html.iqhl .iqhl--tape .faq__head p{transform-origin:0 0;rotate:-3deg;translate:0 -6px;opacity:0;transition:rotate .9s var(--iqhl-spring) 1.1s,translate .9s var(--iqhl-spring) 1.1s,opacity .5s ease 1.1s}
html.iqhl .iqhl--tape.is-in .faq__head p{rotate:0deg;translate:0 0;opacity:1}
html.iqhl .iqhl--tape .eyebrow{opacity:0;translate:-12px 0}
html.iqhl .iqhl--tape.is-in .eyebrow{opacity:1;translate:0 0}

/* ---------- 19 · #access · the ticket ---------- */
.iqhl-tk{position:relative;filter:var(--iqhl-edge)}
.iqhl-tk__stub{position:relative;z-index:2;background:#fff;padding:16px 24px 14px;border-radius:6px 6px 0 0;transform-origin:0 100%}
.iqhl-tk__stub .eyebrow{margin-bottom:0 !important}
.iqhl-tk__perf{display:block;position:relative;height:0;border-top:2px dashed #cfcabf;margin:0}
.iqhl-tk__perf::before,.iqhl-tk__perf::after{content:"";position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--cream,#faf8f5)}
.iqhl-tk__perf::before{left:-8px}.iqhl-tk__perf::after{right:-8px}
.iqhl-tk__body{position:relative;background:#fff;padding:22px 28px 28px;border-radius:0 0 6px 6px;transform-origin:50% 0}
.iqhl-tk__body h2{margin-top:0}
html.iqhl .iqhl--ticket .iqhl-tk{translate:-48px 0;clip-path:inset(-16px 100% -24px -16px);transition:translate 1s var(--iqhl-soft) .1s,clip-path 1s var(--iqhl-soft) .1s}
html.iqhl .iqhl--ticket.is-in .iqhl-tk{translate:0 0;clip-path:inset(-16px -16px -24px -16px)}
.iqhl--ticket.is-done .iqhl-tk{clip-path:none}
.iqhl--ticket.is-in .iqhl-tk__stub{animation:iqhlTear .8s var(--iqhl-spring) 1.15s forwards}
@keyframes iqhlTear{0%{rotate:0deg;translate:0 0}45%{rotate:-4.5deg;translate:-2px -12px}100%{rotate:-2.4deg;translate:-3px -9px}}
.iqhl--ticket.is-in .iqhl-tk__body{animation:iqhlTearBody .8s var(--iqhl-spring) 1.15s forwards}
@keyframes iqhlTearBody{0%{rotate:0deg}40%{rotate:.7deg;translate:1px 2px}100%{rotate:0deg;translate:0 0}}
html.iqhl .iqhl--ticket h2,html.iqhl .iqhl--ticket .dek{opacity:0;translate:0 8px;transition:opacity .6s ease .55s,translate .8s var(--iqhl-spring) .55s}
html.iqhl .iqhl--ticket .dek{transition-delay:.75s}
html.iqhl .iqhl--ticket.is-in h2,html.iqhl .iqhl--ticket.is-in .dek{opacity:1;translate:0 0}
@media (max-width:640px){.iqhl-tk__stub{padding:12px 16px 10px}.iqhl-tk__body{padding:18px 16px 22px}}

/* ---------- 20 · #cta · the spring ---------- */
.iqhl-sp__bed{position:relative;z-index:0}
.iqhl-sp__bed > *{position:relative;z-index:1}
.iqhl-sp__coil{position:absolute;left:50%;bottom:0;width:110px;height:100%;translate:-50% 0;z-index:0;color:rgba(250,248,245,.55);transform-origin:50% 100%;scale:1 .06;opacity:0;pointer-events:none}
.iqhl-sp__coil svg{display:block;width:100%;height:100%}
.iqhl-sp__bed--aside .iqhl-sp__coil{width:70px;color:rgba(250,248,245,.4)}
html.iqhl .iqhl--spring h2{translate:0 70px;opacity:0}
html.iqhl .iqhl--spring .final__aside{translate:0 48px;opacity:0}
.iqhl--spring.is-in .iqhl-sp__coil{animation:iqhlCoil 1.45s cubic-bezier(.3,1.5,.4,1) .2s forwards}
.iqhl--spring.is-in .iqhl-sp__bed--aside .iqhl-sp__coil{animation-delay:.5s}
@keyframes iqhlCoil{0%{scale:1 .06;opacity:.9}55%{scale:1 1.14;opacity:.9}78%{scale:1 .95}100%{scale:1 1;opacity:.14}}
html.iqhl .iqhl--spring.is-in h2{animation:iqhlSpringUp 1.45s cubic-bezier(.3,1.5,.4,1) .2s forwards}
html.iqhl .iqhl--spring.is-in .final__aside{animation:iqhlSpringUpAside 1.45s cubic-bezier(.3,1.5,.4,1) .5s forwards}
@keyframes iqhlSpringUp{0%{translate:0 70px;opacity:0}18%{opacity:1}55%{translate:0 -18px}78%{translate:0 8px}100%{translate:0 0;opacity:1}}
@keyframes iqhlSpringUpAside{0%{translate:0 48px;opacity:0}18%{opacity:1}55%{translate:0 -10px}78%{translate:0 4px}100%{translate:0 0;opacity:1}}
.iqhl--spring h2 em{display:inline-block}
.iqhl--spring.is-in h2 em{animation:iqhlHop .65s cubic-bezier(.3,1.5,.4,1) 1.45s both}
@keyframes iqhlHop{0%{translate:0 0}40%{translate:0 -12px}100%{translate:0 0}}

/* ---------- nothing hides, nothing moves, for people who asked for that (the script also stands down) ---------- */
@media (prefers-reduced-motion:reduce){
  .iqhl *{animation:none !important;transition:none !important}
}
