:root {
  --blue: #dde7ef;
  --ink: #1b2f42;
  --orange: #b95038;
  --orange-dark: #973f2b;
  --white: #ffffff;
  --muted: #526777;
  --line: #b3c3cf;
  --display: "Oswald", "Arial Narrow", Arial, sans-serif;
  --body: "Golos Text", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 32px;
}

body {
  margin: 0;
  background: var(--blue);
  color: var(--ink);
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
textarea,
input {
  font: inherit;
  color: inherit;
}

button,
a,
label {
  -webkit-tap-highlight-color: transparent;
}

button,
summary {
  cursor: pointer;
}

a:focus-visible,
button:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 6px;
}

::selection {
  color: var(--white);
  background: var(--ink);
}

h1,
h2,
h3,
p,
figure,
dl,
dd {
  margin: 0;
}

h1,
h2 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.1;
}

h2 {
  font-size: clamp(45px, 4.8vw, 68px);
}

h3 {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.3;
}

img,
svg {
  display: block;
  max-width: 100%;
}

.page-width {
  width: min(1280px, calc(100% - 104px));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 12px 20px;
  border-radius: 999px;
  color: var(--white);
  background: var(--ink);
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: relative;
  z-index: 20;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  min-height: 112px;
}

.brand,
.footer-brand {
  display: block;
  width: 180px;
  flex-shrink: 0;
}

.brand img,
.footer-brand img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 38px;
  font-size: 16px;
}

.header-nav > a {
  padding-block: 12px;
  transition: color .2s ease;
}

.header-nav > a:hover {
  color: var(--orange);
}

.header-nav .header-meeting {
  padding: 12px 24px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  transition: color .2s ease, background .2s ease;
}

.header-nav .header-meeting:hover {
  color: var(--blue);
  background: var(--ink);
}

.menu-toggle {
  display: none;
}

.hero {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 5%;
  align-items: center;
  padding-block: 36px 76px;
}

.hero-copy {
  padding-bottom: 12px;
}

.hero h1 {
  font-size: clamp(65px, 7.1vw, 100px);
  line-height: 1.075;
  letter-spacing: -.035em;
}

.hero-introduction {
  max-width: 480px;
  margin-top: 32px;
  font-size: 18px;
  line-height: 1.7;
}

.hero-person {
  margin-top: 17px;
  font-size: 17px;
  font-weight: 500;
}

.hero-actions {
  margin-top: 31px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 61px;
  padding: 17px 32px;
  border: 0;
  border-radius: 999px;
  background: var(--orange);
  color: var(--white);
  font-size: 17px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  transition: background .2s ease, transform .2s ease;
}

.button:hover {
  background: var(--orange-dark);
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0);
}

.hero-actions > p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 14px;
}

.hero-figure {
  width: 100%;
  max-width: 460px;
  justify-self: end;
}

.hero-figure svg {
  width: 100%;
  height: auto;
}

.situations {
  padding-block: 70px 64px;
  border-top: 1px solid var(--line);
}

.situations-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 10%;
  align-items: end;
}

.situations-heading > p {
  max-width: 360px;
  padding-bottom: 6px;
  font-size: 18px;
  line-height: 1.7;
}

.situations-composition {
  display: grid;
  grid-template-columns: 1.14fr .86fr;
  gap: 7%;
  align-items: center;
  margin-top: 39px;
}

.dialogue-art {
  width: calc(100% + 40px);
  max-width: none;
  margin-left: -30px;
}

.dialogue-art img,
.motion-art img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.situations-list {
  padding-block: 6px;
}

.situations-list article {
  margin-top: 28px;
}

.situations-list article:first-child {
  margin-top: 0;
}

.situations-list p {
  max-width: 440px;
  margin-top: 9px;
  font-size: 16px;
  line-height: 1.7;
}

.practice {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 5%;
  align-items: center;
  padding-block: 50px 98px;
}

.motion-art {
  width: calc(100% + 55px);
  max-width: none;
  margin-left: -32px;
}

.practice-copy {
  padding-bottom: 12px;
}

.practice-copy h2 {
  font-size: clamp(43px, 4vw, 58px);
  line-height: 1.15;
}

.practice-copy > p {
  max-width: 405px;
  margin-top: 25px;
  font-size: 17px;
  line-height: 1.75;
}

.circle-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  margin-top: 30px;
  border-radius: 50%;
  background: var(--orange);
  color: var(--white);
  font-size: 17px;
  text-align: center;
  line-height: 1.55;
  transition: background .2s ease, transform .2s ease;
}

.circle-button:hover {
  background: var(--orange-dark);
  transform: translateY(-3px);
}

.alexander {
  padding-block: 88px 91px;
  background: var(--ink);
  color: var(--blue);
}

.alexander-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12%;
}

.name-portrait h2 {
  font-size: clamp(63px, 7.2vw, 101px);
  line-height: 1.13;
  letter-spacing: -.035em;
}

.name-portrait > p {
  margin-top: 30px;
  font-size: 17px;
  line-height: 1.75;
}

.alexander-introduction {
  max-width: 490px;
  font-size: 23px;
  line-height: 1.55;
  letter-spacing: -.025em;
}

.biography-facts {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 25px;
  margin-top: 33px;
  padding-block: 22px;
  border-top: 1px solid #526777;
  border-bottom: 1px solid #526777;
  font-size: 16px;
  line-height: 1.6;
}

.biography-facts dt {
  margin-bottom: 5px;
  font-weight: 500;
}

.biography-facts dd {
  color: #c0cfdc;
}

.screen-credits {
  margin-top: 23px;
  color: #c0cfdc;
  font-size: 16px;
  line-height: 1.75;
}

.screen-credits > a {
  display: inline-block;
  margin-top: 18px;
  border-bottom: 1px solid #8295a5;
  color: var(--blue);
  font-size: 14px;
  line-height: 1.8;
  transition: color .2s ease;
}

.screen-credits > a:hover {
  color: var(--white);
}

.alexander a:focus-visible {
  outline-color: var(--blue);
}

.meeting-section {
  padding-block: 90px 52px;
}

.meeting-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
  padding: 58px 54px 56px;
  border-radius: 24px;
  background: var(--white);
}

.meeting-introduction h2 {
  font-size: clamp(45px, 4.7vw, 66px);
  line-height: 1.1;
}

.meeting-introduction > p {
  max-width: 430px;
  margin-top: 24px;
  font-size: 17px;
  line-height: 1.75;
}

.meeting-faq {
  margin-top: 31px;
  border-top: 1px solid var(--line);
}

.meeting-faq details {
  border-bottom: 1px solid var(--line);
}

.meeting-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 18px;
  list-style: none;
  font-size: 16px;
  line-height: 1.5;
}

.meeting-faq summary::-webkit-details-marker {
  display: none;
}

.meeting-faq summary > span {
  position: relative;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.meeting-faq summary > span::before,
.meeting-faq summary > span::after {
  position: absolute;
  top: 7px;
  left: 0;
  width: 15px;
  height: 1px;
  background: var(--ink);
  content: "";
  transition: transform .2s ease;
}

.meeting-faq summary > span::after {
  transform: rotate(90deg);
}

.meeting-faq details[open] summary > span::after {
  transform: rotate(0);
}

.meeting-faq summary:hover {
  color: var(--orange);
}

.meeting-faq details > p {
  padding: 0 27px 19px 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.message-composer {
  padding-top: 5px;
}

.topic-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.topic-fieldset legend {
  padding: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.topic-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.topic-options label {
  position: relative;
  display: block;
  cursor: pointer;
}

.topic-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.topic-options label > span {
  display: block;
  padding: 10px 17px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 15px;
  line-height: 1.55;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.topic-options label:hover > span {
  border-color: var(--orange);
}

.topic-options input:checked + span {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

.topic-options input:focus-visible + span {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}

.topic-response {
  min-height: 52px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.message-label {
  display: block;
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.6;
}

.message-label > span {
  color: var(--muted);
  font-size: 14px;
}

textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 115px;
  max-height: 230px;
  margin-top: 11px;
  padding: 14px 16px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--white);
  font-size: 16px;
  line-height: 1.6;
}

textarea:focus {
  border-color: var(--orange);
}

.telegram-button {
  width: 100%;
  margin-top: 21px;
}

.message-help {
  margin-top: 14px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.contact-caption {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.65;
}

.contact-caption > a {
  border-bottom: 1px solid var(--line);
}

.contact-caption > a:hover {
  color: var(--orange);
}

.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-block: 0 36px;
  font-size: 14px;
  line-height: 1.7;
}

.footer-brand {
  width: 145px;
}

.site-footer > a:not(.footer-brand):hover {
  color: var(--orange);
}

.site-footer > span {
  color: var(--muted);
}

.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 600ms ease, transform 600ms cubic-bezier(.2, .6, .3, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal-ready [data-reveal="image"] {
  transform: translateY(20px) scale(.985);
  transition-duration: 750ms;
}

.reveal-ready [data-delay="1"] {
  --reveal-delay: 70ms;
}

.reveal-ready [data-delay="2"] {
  --reveal-delay: 140ms;
}

.reveal-ready [data-delay="3"] {
  --reveal-delay: 210ms;
}

.reveal-ready [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

.motion-ready .hero-copy {
  animation: hero-enter 650ms cubic-bezier(.2, .6, .3, 1) both;
}

.motion-ready .hero-spot {
  transform-origin: 50% 45%;
  animation: spot-enter 900ms ease both;
}

.motion-ready .gesture-outline {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: gesture-draw 1100ms ease forwards;
}

.motion-ready .gesture-arms {
  animation-delay: 120ms;
}

@keyframes hero-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@keyframes spot-enter {
  from { opacity: .2; transform: scale(.97); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes gesture-draw {
  to { stroke-dashoffset: 0; }
}

@media (max-width: 1100px) {
  .page-width { width: calc(100% - 72px); }
  .header-inner { min-height: 102px; }
  .brand { width: 165px; }
  .header-nav { gap: 28px; }
  .hero { gap: 4%; padding-block: 32px 65px; }
  .hero h1 { font-size: 7.5vw; }
  .hero-introduction { margin-top: 27px; font-size: 17px; }
  .hero-person { font-size: 16px; }
  .hero-actions { margin-top: 27px; }
  .hero-figure { max-width: 420px; }
  .situations { padding-block: 61px 55px; }
  .situations-heading { gap: 8%; }
  .situations-heading > p { font-size: 17px; }
  .situations-composition { grid-template-columns: 1.06fr .94fr; gap: 6%; }
  .dialogue-art { width: calc(100% + 35px); margin-left: -25px; }
  .situations-list article { margin-top: 23px; }
  .situations-list h3 { font-size: 21px; }
  .practice { grid-template-columns: 1.2fr .9fr; gap: 4%; padding-block: 40px 78px; }
  .practice-copy h2 { font-size: 4.2vw; }
  .practice-copy > p { font-size: 16px; margin-top: 22px; }
  .circle-button { width: 148px; height: 148px; margin-top: 26px; font-size: 16px; }
  .alexander { padding-block: 74px 76px; }
  .alexander-inner { gap: 9%; }
  .name-portrait h2 { font-size: 7.5vw; }
  .name-portrait > p { font-size: 16px; }
  .alexander-introduction { font-size: 21px; }
  .biography-facts { grid-template-columns: 1fr; gap: 19px; margin-top: 27px; }
  .meeting-section { padding-block: 76px 44px; }
  .meeting-panel { gap: 8%; padding: 44px 38px; }
  .meeting-introduction h2 { font-size: 5vw; }
  .meeting-introduction > p { font-size: 16px; }
  .topic-options { gap: 9px; }
  .topic-options label > span { padding: 9px 14px; }
  .message-label > span { display: block; }
}

@media (max-width: 820px) {
  .page-width { width: calc(100% - 48px); }
  .header-inner { min-height: 94px; gap: 22px; }
  .brand { width: 148px; }
  .header-nav { gap: 23px; font-size: 14px; }
  .header-nav .header-meeting { padding: 10px 19px; }
  .hero { grid-template-columns: 1.12fr .88fr; gap: 2%; padding-top: 28px; }
  .hero h1 { font-size: 7.8vw; }
  .hero-introduction { font-size: 16px; margin-top: 23px; }
  .hero-person { margin-top: 15px; }
  .hero-actions { margin-top: 25px; }
  .button { min-height: 57px; padding: 15px 25px; font-size: 16px; }
  .hero-actions > p { font-size: 14px; max-width: 270px; }
  .situations-heading { grid-template-columns: 1fr .9fr; gap: 7%; }
  .situations-heading h2 { font-size: 5.5vw; }
  .situations-heading > p { font-size: 16px; padding-bottom: 2px; }
  .situations-composition { grid-template-columns: .95fr 1.05fr; gap: 5%; margin-top: 32px; }
  .dialogue-art { width: calc(100% + 40px); margin-left: -20px; }
  .situations-list h3 { font-size: 20px; }
  .situations-list p { font-size: 16px; line-height: 1.65; }
  .practice { grid-template-columns: 1fr 1fr; gap: 4%; padding-top: 35px; }
  .motion-art { width: calc(100% + 32px); margin-left: -20px; }
  .practice-copy h2 { font-size: 4.8vw; }
  .practice-copy > p { line-height: 1.7; }
  .circle-button { width: 140px; height: 140px; font-size: 16px; }
  .alexander-inner { grid-template-columns: .95fr 1.05fr; gap: 7%; }
  .name-portrait h2 { font-size: 7.8vw; }
  .alexander-introduction { font-size: 20px; }
  .screen-credits { font-size: 16px; }
  .meeting-panel { gap: 7%; padding: 35px 28px; }
  .meeting-introduction h2 { font-size: 5.3vw; }
  .meeting-introduction > p { margin-top: 22px; }
  .meeting-faq { margin-top: 25px; }
  .meeting-faq summary { font-size: 16px; gap: 13px; }
  .meeting-faq details > p { font-size: 16px; padding-right: 20px; }
  .topic-fieldset legend { font-size: 17px; }
  .topic-options { gap: 8px; }
  .topic-options label > span { padding: 9px 12px; font-size: 14px; }
  .topic-response { min-height: 80px; }
  .telegram-button { padding-inline: 20px; }
  .site-footer { gap: 22px; }
  .footer-brand { width: 124px; }
}

@media (max-width: 650px) {
  html { scroll-padding-top: 22px; }
  body { font-size: 16px; }
  .page-width { width: calc(100% - 40px); }
  .header-inner { min-height: 83px; flex-wrap: wrap; gap: 0; }
  .brand { width: 145px; }
  .header-nav { width: 100%; flex-direction: column; align-items: stretch; gap: 7px; padding: 8px 0 22px; font-size: 18px; }
  .header-nav > a { padding: 9px 0; }
  .header-nav .header-meeting { align-self: start; margin-top: 5px; padding: 11px 23px; font-size: 16px; }
  .navigation-ready .menu-toggle { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; width: 45px; height: 45px; margin-left: auto; padding: 10px; border: 1px solid var(--ink); border-radius: 50%; background: transparent; }
  .menu-toggle > span { display: block; width: 20px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .navigation-ready .header-nav { display: none; position: absolute; top: 83px; right: 0; left: 0; width: 100%; padding: 15px 25px 26px; border-bottom: 1px solid var(--line); background: var(--blue); }
  .navigation-ready .header-nav.is-open { display: flex; }
  .hero { display: block; padding-block: 25px 45px; }
  .hero-copy { padding-bottom: 0; }
  .hero h1 { font-size: clamp(58px, 12.4vw, 77px); line-height: 1.1; }
  .hero-introduction { max-width: 440px; margin-top: 24px; font-size: 17px; line-height: 1.65; }
  .hero-person { margin-top: 15px; font-size: 16px; }
  .hero-actions { margin-top: 25px; }
  .hero-actions .button { min-width: 240px; }
  .hero-actions > p { max-width: none; margin-top: 13px; font-size: 14px; }
  .hero-figure { width: 80%; max-width: 330px; margin: 22px auto 0; }
  .situations { padding-block: 44px 30px; }
  .situations-heading { display: block; }
  .situations-heading h2 { font-size: 44px; }
  .situations-heading > p { max-width: 420px; margin-top: 21px; padding: 0; font-size: 17px; line-height: 1.65; }
  .situations-composition { display: block; margin-top: 23px; }
  .dialogue-art { width: 100%; margin: 0; }
  .situations-list { max-width: 480px; padding-top: 11px; }
  .situations-list article { margin-top: 27px; }
  .situations-list article:first-child { margin-top: 15px; }
  .situations-list h3 { font-size: 23px; }
  .situations-list p { margin-top: 9px; font-size: 16px; line-height: 1.7; }
  .practice { display: flex; flex-direction: column; gap: 0; align-items: stretch; padding-block: 25px 53px; }
  .motion-art { width: 100%; margin: 0; }
  .practice-copy { padding: 16px 0 0; }
  .practice-copy h2 { font-size: 43px; line-height: 1.13; }
  .practice-copy > p { max-width: 460px; margin-top: 22px; font-size: 17px; line-height: 1.7; }
  .circle-button { width: auto; min-width: 240px; height: auto; min-height: 58px; padding: 16px 27px; margin-top: 25px; border-radius: 999px; font-size: 16px; }
  .circle-button br { display: none; }
  .alexander { padding-block: 50px 52px; }
  .alexander-inner { display: block; }
  .name-portrait h2 { font-size: clamp(58px, 13vw, 78px); line-height: 1.13; }
  .name-portrait > p { margin-top: 22px; font-size: 16px; line-height: 1.7; }
  .alexander-story { margin-top: 33px; }
  .alexander-introduction { max-width: 460px; font-size: 21px; line-height: 1.55; }
  .biography-facts { grid-template-columns: 1.1fr 1fr; gap: 22px; margin-top: 25px; padding-block: 21px; font-size: 16px; }
  .screen-credits { max-width: 470px; margin-top: 21px; font-size: 16px; line-height: 1.7; }
  .screen-credits > a { margin-top: 18px; font-size: 14px; }
  .meeting-section { padding-block: 46px 32px; }
  .meeting-panel { display: block; padding: 31px 24px 32px; border-radius: 21px; }
  .meeting-introduction h2 { font-size: 43px; line-height: 1.12; }
  .meeting-introduction > p { max-width: 460px; margin-top: 22px; font-size: 16px; line-height: 1.7; }
  .meeting-faq { margin-top: 26px; }
  .meeting-faq summary { padding-block: 17px; font-size: 16px; }
  .meeting-faq details > p { padding-bottom: 19px; font-size: 16px; }
  .message-composer { padding-top: 33px; }
  .topic-fieldset legend { font-size: 18px; }
  .topic-options { gap: 9px; margin-top: 17px; }
  .topic-options label > span { padding: 10px 15px; font-size: 15px; }
  .topic-response { min-height: 0; max-width: 440px; margin-top: 18px; font-size: 16px; }
  .message-label { margin-top: 25px; font-size: 16px; }
  .message-label > span { display: inline; font-size: 14px; }
  textarea { min-height: 115px; margin-top: 11px; padding: 13px 14px; border-radius: 14px; font-size: 16px; }
  .telegram-button { margin-top: 20px; min-height: 58px; font-size: 16px; }
  .message-help { margin-top: 14px; font-size: 14px; line-height: 1.65; }
  .contact-caption { margin-top: 22px; font-size: 14px; }
  .site-footer { display: flex; align-items: start; flex-direction: column; gap: 16px; padding-block: 0 29px; font-size: 14px; }
  .footer-brand { width: 136px; margin-bottom: 0; }
}

@media (max-width: 374px) {
  .page-width { width: calc(100% - 34px); }
  .hero h1 { font-size: 15.6vw; }
  .hero-introduction { font-size: 16px; }
  .hero-actions .button { width: 100%; min-width: 0; }
  .hero-figure { width: 84%; }
  .situations-heading h2 { font-size: 40px; }
  .practice-copy h2 { font-size: 40px; }
  .biography-facts { grid-template-columns: 1fr; gap: 18px; }
  .meeting-panel { padding-inline: 21px; }
  .meeting-introduction h2 { font-size: 39px; }
  .topic-options label > span { padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal-ready [data-reveal] { opacity: 1 !important; transform: none !important; }
  .motion-ready .gesture-outline { stroke-dasharray: none; stroke-dashoffset: 0; }
  .button:hover, .circle-button:hover { transform: none; }
}
