:root {
  --ink: #10100f;
  --ink-soft: #171715;
  --paper: #f1eee6;
  --muted: #97968f;
  --line: rgba(241, 238, 230, 0.14);
  --accent: #a9b58a;
  --display: "Manrope", "Helvetica Neue", sans-serif;
  --mono: "DM Mono", monospace;
  --pad: clamp(1.25rem, 3vw, 3.75rem);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--display);
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
}
a, button { color: inherit; }
a { text-decoration: none; }
button { font: inherit; }
::selection { color: var(--ink); background: var(--accent); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.noise {
  position: fixed;
  inset: 0;
  z-index: 20;
  opacity: 0.045;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
}

.ambient {
  position: fixed;
  width: 48vw;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.07;
  pointer-events: none;
  z-index: 0;
}
.ambient--one { top: -22vw; right: -16vw; background: var(--accent); }
.ambient--two { bottom: -28vw; left: -24vw; background: #638f7f; }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: clamp(1.5rem, 3vw, 4rem);
  align-items: center;
  padding: 1.25rem var(--pad);
  border-bottom: 1px solid rgba(241, 238, 230, 0.1);
  background: rgba(16, 16, 15, 0.82);
  color: var(--paper);
  box-shadow: 0 .65rem 2rem rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  transition: transform 0.6s var(--ease);
}
.site-header.is-hidden { transform: none; }
.wordmark { display: inline-flex; width: max-content; align-items: center; gap: 0.75rem; }
.wordmark__mark {
  display: grid;
  place-items: center;
  width: 1.9rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 500;
}
.wordmark__name { font-size: 0.85rem; font-weight: 500; letter-spacing: -0.02em; }
.top-nav { justify-self: center; display: flex; align-items: center; gap: clamp(1.15rem, 2vw, 2.4rem); }
.top-nav a { position: relative; padding: .4rem 0; font: 400 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.top-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--accent); transition: right .45s var(--ease); }
.top-nav a:hover::after, .top-nav a:focus-visible::after { right: 0; }
.header-meta { display: flex; align-items: center; gap: 0.65rem; font: 300 0.64rem var(--mono); text-transform: uppercase; letter-spacing: .09em; }
.menu-toggle { justify-self: end; display: flex; align-items: center; gap: 0.75rem; padding: 0; border: 0; background: transparent; cursor: none; font-size: 0.78rem; }
.menu-toggle__glyph { position: relative; width: 1.55rem; height: .75rem; }
.menu-toggle__glyph i { position: absolute; left: 0; width: 100%; height: 1px; background: currentColor; transition: transform .45s var(--ease), top .45s var(--ease); }
.menu-toggle__glyph i:first-child { top: 2px; }
.menu-toggle__glyph i:last-child { top: 9px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__glyph i:first-child { top: 5px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__glyph i:last-child { top: 5px; transform: rotate(-45deg); }

.progress { position: fixed; z-index: 50; left: 0; top: 0; width: 100%; height: 1px; background: rgba(255,255,255,.08); }
.progress span { display: block; height: 100%; width: 100%; background: var(--accent); transform: scaleX(0); transform-origin: left; }

.menu {
  position: fixed;
  top: 4.9rem;
  right: var(--pad);
  z-index: 45;
  display: block;
  width: min(21rem, calc(100vw - (var(--pad) * 2)));
  max-height: min(34rem, calc(100svh - 6.5rem));
  padding: 1.15rem;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-.65rem) scale(.98);
  transform-origin: top right;
  border: 1px solid rgba(241,238,230,.17);
  border-radius: .8rem;
  background: rgba(26,26,23,.96);
  color: var(--paper);
  box-shadow: 0 1.5rem 4.5rem rgba(0,0,0,.36);
  backdrop-filter: blur(22px) saturate(125%);
  -webkit-backdrop-filter: blur(22px) saturate(125%);
  pointer-events: none;
  transition: opacity .28s var(--ease), transform .35s var(--ease), visibility 0s .35s;
}
.menu.is-open { visibility: visible; opacity: 1; transform:none; pointer-events:auto; transition:opacity .28s var(--ease),transform .35s var(--ease),visibility 0s; }
.menu__wash { position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at 88% 5%,rgba(169,181,138,.15),transparent 42%); pointer-events:none; }
.menu nav, .menu__note { position: relative; }
.eyebrow { margin: 0; font: 300 .65rem/1.3 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.menu .eyebrow { color:var(--accent); font-size:.53rem; }
.menu ol { list-style:none; padding:.8rem 0 0; margin:0; }
.menu li { border-top:1px solid rgba(241,238,230,.11); }
.menu li:last-child { border-bottom:1px solid rgba(241,238,230,.11); }
.menu li > a, .menu__pending { display:flex; align-items:center; gap:.85rem; min-height:2.45rem; padding:.58rem .15rem; font-size:.82rem; letter-spacing:-.015em; line-height:1.2; transition:color .25s var(--ease),padding-left .25s var(--ease); }
.menu li > a:hover,.menu li > a:focus-visible { outline:none; color:var(--accent); padding-left:.4rem; }
.menu li span span, .menu li a > span { flex:0 0 1.7rem; color:var(--muted); font:300 .5rem var(--mono); letter-spacing:.06em; }
.menu em { align-self: center; font: 300 .6rem var(--mono); letter-spacing: .09em; text-transform: uppercase; opacity: .45; }
.menu__pending { color:rgba(241,238,230,.35); }
.menu li.menu__office { margin-top:.75rem; border:1px solid rgba(169,181,138,.4); border-radius:.45rem; background:rgba(169,181,138,.09); }
.menu li.menu__office:last-child { border-bottom:1px solid rgba(169,181,138,.4); }
.menu li.menu__office > a { justify-content:center; min-height:2.8rem; color:var(--accent); font-size:.73rem; letter-spacing:.025em; text-align:center; }
.menu li.menu__office > a:hover,.menu li.menu__office > a:focus-visible { padding-left:.15rem; background:rgba(169,181,138,.1); }
.menu__note { display:none; }

main, .site-footer { position: relative; z-index: 1; }
.opening { min-height: 100svh; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(8rem, 15vh, 11rem) var(--pad) 2.5rem; overflow: hidden; }
.opening__grid { position: absolute; inset: 0 var(--pad); background-image: linear-gradient(to right, var(--line) 1px, transparent 1px); background-size: calc(25% - 1px) 100%; opacity: .35; mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent); }
.conversation { position: relative; width: min(72rem, 100%); margin: auto; padding: 2rem 0 2.5rem; }
.conversation::before { content: ""; position: absolute; width: clamp(11rem, 21vw, 21rem); aspect-ratio: 1; right: 4%; top: 44%; translate: 0 -50%; border: 1px solid rgba(169,181,138,.13); border-radius: 50%; box-shadow: 0 0 100px rgba(169,181,138,.04), inset 0 0 80px rgba(169,181,138,.03); pointer-events: none; }
.conversation__eyebrow { margin: 0 0 clamp(1.5rem, 3vh, 3rem); color: var(--accent); opacity: 0; animation: soft-in .9s var(--ease) .15s forwards; }
.conversation__copy { position: relative; max-width: 70rem; }
.conversation__line, .conversation__question { margin: 0; opacity: 0; transform: translateY(1.25rem); transition: opacity .8s var(--ease), transform .8s var(--ease), color .6s var(--ease); }
.conversation__line.is-speaking, .conversation__question.is-speaking { opacity: 1; transform: translateY(0); }
.conversation__line--welcome { max-width: 64rem; margin-bottom: 1.1rem; font-size: clamp(2.5rem, 4vw, 4.3rem); line-height: 1.04; font-weight: 300; letter-spacing: -.055em; white-space: nowrap; }
.conversation__line:not(.conversation__line--welcome) { margin-top: .45rem; font-size: clamp(.95rem, 1.28vw, 1.18rem); line-height: 1.45; letter-spacing: -.02em; color: var(--muted); }
.conversation__line--thought { max-width: 38rem; }
.conversation__question { margin-top: clamp(1.25rem, 2.2vh, 1.75rem); font-size: clamp(1.7rem, 2.6vw, 2.6rem); line-height: 1.08; letter-spacing: -.04em; color: var(--paper); }
.choices { position: relative; display: grid; grid-template-columns: repeat(5, minmax(5.5rem, 1fr)); align-items: start; gap: clamp(.7rem, 1.25vw, 1.2rem); width: min(53rem, 75%); margin-top: clamp(2.6rem, 4.5vh, 3.8rem); opacity: 0; transform: translateY(1.2rem); pointer-events: none; transition: opacity .8s var(--ease), transform .8s var(--ease); }
.choices.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.choice { position: relative; min-width: 0; padding: 0 0 .7rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--paper); cursor: none; text-align: center; font: 300 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease), opacity .45s var(--ease); }
.choice::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -1px; height: 1px; background: var(--accent); transition: left .45s var(--ease), right .45s var(--ease); }
.choice__icon { display: grid; place-items: center; width: clamp(3.1rem, 4.2vw, 3.8rem); aspect-ratio: 1; margin: 0 auto .7rem; border: 1px solid rgba(241,238,230,.16); border-radius: 50%; background: rgba(241,238,230,.025); font-size: clamp(1.2rem, 1.65vw, 1.55rem); filter: grayscale(.35); transition: transform .5s var(--ease), background .5s var(--ease), filter .5s var(--ease), border-color .5s var(--ease); }
.choice:hover, .choice:focus-visible { color: var(--accent); transform: translateY(-.35rem); outline: none; }
.choice:hover::after, .choice:focus-visible::after, .choice.is-selected::after { left: 0; right: 0; }
.choice:hover .choice__icon, .choice:focus-visible .choice__icon, .choice.is-selected .choice__icon { transform: scale(1.08) rotate(-3deg); background: rgba(169,181,138,.09); border-color: rgba(169,181,138,.55); filter: none; }
.choices.has-selection .choice:not(.is-selected) { opacity: .2; pointer-events: none; }
.choice.is-selected { color: var(--accent); }
.conversation__reply { position: absolute; inset: 3.25rem 0 auto 0; max-width: 58rem; visibility: hidden; }
.conversation__reply.is-visible { visibility: visible; }
.conversation__reply p { margin: 0 0 .55rem; opacity: 0; transform: translateY(1rem); transition: opacity .75s var(--ease), transform .75s var(--ease); }
.conversation__reply p.is-speaking { opacity: 1; transform: translateY(0); }
.conversation__answer { color: var(--accent); font: 300 clamp(.82rem, 1.1vw, 1rem) var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.conversation__reply [data-reply-step] { font-size: clamp(1.2rem, 2vw, 1.8rem); color: var(--muted); }
.conversation__reply .conversation__promise { max-width: 58rem; margin-top: 1.1rem; color: var(--paper); font-size: clamp(2.8rem, 5.2vw, 5.6rem); line-height: .97; letter-spacing: -.06em; text-wrap: balance; }
.conversation.has-selection .conversation__copy { opacity: .08; transition: opacity .8s var(--ease); }
.conversation.has-selection .choices { transform: translateY(4rem); opacity: 0; pointer-events: none; }
.opening__footer { display: flex; align-items: end; justify-content: space-between; }
.opening__footer p { margin: 0; color: var(--muted); font-size: clamp(.78rem, 1vw, .95rem); line-height: 1.45; }
.scroll-cue { display: inline-flex; gap: 1rem; align-items: center; font: 300 .65rem var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.scroll-cue svg { width: 1rem; fill: none; stroke: var(--accent); stroke-width: 1.2; animation: drift 2s ease-in-out infinite; }
.conversation__continue { opacity: 0; transform: translateY(.75rem); pointer-events: none; transition: opacity .7s var(--ease), transform .7s var(--ease); }
.conversation__continue.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }

.approach { min-height: 190vh; padding: 0 var(--pad); border-top: 1px solid var(--line); }
.approach__sticky { min-height: 100svh; position: sticky; top: 0; display: grid; grid-template-columns: minmax(8rem, .85fr) minmax(0, 3.15fr); align-content: center; column-gap: clamp(2rem, 4vw, 5rem); row-gap: 1rem; }
.approach__statement { grid-column: 2; width: min(100%, 68rem); margin: 0; font-size: clamp(2.75rem, 4.85vw, 5.8rem); line-height: 1.02; letter-spacing: -.048em; font-weight: 300; text-wrap: balance; }
.approach__statement > .phrase-line { display: block; color: inherit; margin-top: .06em; }
.approach__statement > .phrase-line:first-child { margin-top: 0; }
.approach__statement .read-word { display: inline; color: rgba(241,238,230,.14); transition: color .75s var(--ease), text-shadow .75s var(--ease); }
.approach__statement .read-word.is-read { color: var(--paper); }
.approach__statement .read-word.is-current { text-shadow: 0 0 1.4rem rgba(241,238,230,.16); }
.approach__statement .phrase-line--accent .read-word.is-read { color: var(--accent); }
.approach__aside { grid-column: 2; width: min(28rem, 62%); margin: 2.6rem 0 0 auto; color: var(--muted); font-size: clamp(.9rem, 1.05vw, 1.08rem); line-height: 1.6; }

.intersection { min-height: 100svh; padding: 6rem var(--pad) 2.5rem; background: var(--paper); color: var(--ink); }
.intersection__top { display: flex; justify-content: space-between; padding-bottom: 2rem; }
.section-count { margin: 0; font: 300 .65rem var(--mono); }
.disciplines { border-top: 1px solid rgba(16,16,15,.28); }
.discipline { display: grid; grid-template-columns: 8vw 1fr auto; align-items: center; min-height: 21vh; border-bottom: 1px solid rgba(16,16,15,.28); transition: padding .6s var(--ease), background .6s var(--ease); }
.discipline:hover { padding: 0 1.5rem; background: rgba(169,181,138,.22); }
.discipline__number { font: 300 .62rem var(--mono); }
.discipline h3 { margin: 0; font-size: clamp(3.2rem, 8vw, 8rem); font-weight: 300; letter-spacing: -.07em; }
.discipline p { margin: 0; font: 300 .7rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.foundation-note { display: flex; justify-content: space-between; margin-top: 5rem; font-size: clamp(1.15rem, 2.2vw, 2rem); letter-spacing: -.04em; }
.foundation-note p { margin: 0; }
.foundation-note p:last-child { color: #686862; }

.site-footer { display: flex; justify-content: space-between; padding: 1.4rem var(--pad); border-top: 1px solid var(--line); font: 300 .6rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }

.reveal { opacity: 0; transform: translateY(1.4rem); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.cursor-dot, .cursor-ring { position: fixed; left: 0; top: 0; pointer-events: none; z-index: 100; border-radius: 50%; transform: translate(-50%,-50%); }
.cursor-dot { width: 5px; height: 5px; background: var(--accent); }
.cursor-ring { width: 2.4rem; height: 2.4rem; border: 1px solid rgba(241,238,230,.55); display: grid; place-items: center; transition: width .35s var(--ease), height .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease); }
.cursor-ring span { opacity: 0; font: 400 .55rem var(--mono); color: var(--ink); text-transform: uppercase; transition: opacity .2s; }
.cursor-ring.is-active { width: 5rem; height: 5rem; background: var(--accent); border-color: var(--accent); }
.cursor-ring.is-active span { opacity: 1; }

.puppy-guide {
  --puppy-x: 5vw;
  position: fixed;
  left: 0;
  bottom: clamp(.5rem, 1.8vh, 1.3rem);
  z-index: 80;
  width: clamp(10rem, 17vw, 16rem);
  transform: translate3d(-120%, 12%, 0);
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition: transform 1.65s var(--ease), opacity .6s ease;
}
.puppy-guide.is-visible { transform: translate3d(var(--puppy-x), 0, 0); opacity: 1; }
.puppy-guide.is-leading { transition: none; }
.puppy-guide.is-exiting { transform: translate3d(112vw, 7%, 0); opacity: 1; transition: transform 1.45s cubic-bezier(.3,.75,.45,1), opacity .25s ease 1.25s; }
.puppy-guide__sprite {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  background-image: url("./assets/puppy-right-slow-cycle.png");
  background-repeat: no-repeat;
  background-size: 300% 200%;
  background-position: 0 0;
  filter: drop-shadow(0 .9rem 1.5rem rgba(0,0,0,.42));
  transform-origin: 50% 100%;
}
.puppy-guide.is-leading .puppy-guide__sprite { animation: puppy-frames 1.55s steps(1, end) infinite, puppy-walk 1.55s ease-in-out infinite; }
.puppy-guide.is-arrived .puppy-guide__sprite { background-position: 100% 100%; animation: puppy-look 1.15s var(--ease) both; }
.puppy-guide.is-exiting .puppy-guide__sprite { animation: puppy-frames .68s steps(1, end) infinite, puppy-run .68s ease-in-out infinite; }
.puppy-guide__message {
  position: absolute;
  left: 62%;
  bottom: 89%;
  width: max-content;
  max-width: min(15rem, 56vw);
  padding: .72rem .9rem;
  border: 1px solid rgba(16,16,15,.12);
  border-radius: .9rem .9rem .9rem .2rem;
  background: rgba(241,238,230,.96);
  color: var(--ink);
  box-shadow: 0 .8rem 2.4rem rgba(0,0,0,.22);
  font-size: clamp(.72rem, .9vw, .86rem);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.015em;
  opacity: 0;
  transform: translateY(.65rem) scale(.96);
  transform-origin: left bottom;
  transition: opacity .45s var(--ease), transform .45s var(--ease);
}
.puppy-guide__message::after {
  content: "";
  position: absolute;
  left: 1.05rem;
  top: 100%;
  width: .7rem;
  height: .7rem;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.puppy-guide__message.is-visible { opacity: 1; transform: translateY(0) scale(1); }

@keyframes title-in { to { transform: translateY(0); } }
@keyframes drift { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
@keyframes soft-in { to { opacity: 1; } }
@keyframes puppy-frames {
  0%, 15% { background-position: 0 0; }
  16%, 31% { background-position: 50% 0; }
  32%, 47% { background-position: 100% 0; }
  48%, 63% { background-position: 0 100%; }
  64%, 79% { background-position: 50% 100%; }
  80%, 99% { background-position: 100% 100%; }
  100% { background-position: 0 0; }
}
@keyframes puppy-walk {
  0%,100% { transform: translateY(0) rotate(-.25deg) scaleX(1); }
  25% { transform: translateY(-.08rem) rotate(.05deg) scaleX(1); }
  50% { transform: translateY(-.2rem) rotate(.3deg) scaleX(1); }
  75% { transform: translateY(-.06rem) rotate(0) scaleX(1); }
}
@keyframes puppy-look { 0% { transform: rotate(0); } 45% { transform: rotate(-2deg) translateY(-.15rem); } 100% { transform: rotate(0); } }
@keyframes puppy-run { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-.5rem) rotate(1.3deg); } }

@media (max-width: 1080px) {
  .top-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto auto; }
}

@media (max-width: 760px) {
  body { cursor: auto; }
  .cursor-dot, .cursor-ring, .header-meta { display: none; }
  .puppy-guide { width: clamp(8.5rem, 34vw, 11rem); }
  .puppy-guide__message { left: 42%; bottom: 92%; font-size: .7rem; }
  .site-header { grid-template-columns: 1fr auto; }
  .site-header .header-meta { display: none; }
  .opening { padding-top: 8rem; }
  .conversation { padding: .5rem 0 2rem; }
  .conversation::before { right: -22%; top: 34%; }
  .conversation__line--welcome { max-width: 100%; font-size: clamp(2.35rem, 10vw, 3.8rem); white-space: normal; }
  .conversation__line:not(.conversation__line--welcome) { font-size: .95rem; }
  .conversation__question { font-size: 1.75rem; }
  .choices { display: flex; width: auto; gap: .5rem; overflow-x: auto; margin-right: calc(var(--pad) * -1); padding: .25rem var(--pad) .6rem 0; scrollbar-width: none; }
  .choices::-webkit-scrollbar { display: none; }
  .choice { flex: 0 0 4.7rem; min-width: 4.7rem; font-size: .52rem; }
  .choice__icon { width: 3.15rem; }
  .conversation__reply { top: 2.8rem; }
  .conversation__reply .conversation__promise { font-size: clamp(2.6rem, 10.5vw, 4.2rem); }
  .opening__footer { align-items: end; }
  .opening__footer p { max-width: 50%; }
  .approach__sticky { grid-template-columns: 1fr; }
  .approach__statement, .approach__aside { grid-column: 1; }
  .approach__statement { width: 100%; font-size: clamp(2.35rem, 9.4vw, 4.15rem); line-height: 1.04; letter-spacing: -.045em; }
  .approach__aside { width: 82%; margin: 2rem 0 0 auto; }
  .menu { top:4.55rem; right:var(--pad); }
  .discipline { grid-template-columns: 2rem 1fr; }
  .discipline p { grid-column: 2; padding-bottom: 1rem; }
  .discipline h3 { font-size: clamp(3.1rem, 16vw, 6rem); }
  .foundation-note { flex-direction: column; gap: .5rem; }
  .site-footer span:nth-child(2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .line > span { transform: none; }
  .puppy-guide__sprite { animation: none !important; }
}
