@font-face {
  font-family: 'ZT Formom';
  src: url('/fonts/ZT Formom/Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'ZT Formom';
  src: url('/fonts/ZT Formom/Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face{
  font-family: 'Eternalo';
  src: url('/fonts/JMH.ttf') format('truetype');
  font-weight: normal;
  font-display: swap;
}

@font-face{
  font-family: 'Made Mirage';
  src: url('/fonts/ADD.ttf') format('opentype');
  font-weight: 100;
  font-display: swap;
}
@font-face{
  font-family: 'Made Mirage';
  src: url('/fonts/ADD.ttf') format('opentype');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'ZT Bros Oskon';
  src: url('/fonts/Bros Oskon 90s/Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'ZT Bros Oskon';
  src: url('/fonts/Bros Oskon 90s/Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'ZT Bros Oskon';
  src: url('/fonts/Bros Oskon 90s/Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'ZT Bros Oskon';
  src: url('/fonts/Bros Oskon 90s/LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'ZT Bros Oskon';
  src: url('/fonts/Bros Oskon 90s/ExtraLightItalic.otf') format('opentype');
  font-weight: 200;
  font-style: italic;
}

:root{
  --bg: radial-gradient(ellipse 120% 90% at 20% 0%, #ffffff 0%, #fffbfc 20%, #ffe6ee 45%, #fffbfc 70%, #ffffff 100%);
  --bg-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.5' intercept='0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");
  --hot: #ffa8c4;
  --hot-dark: #e888a8;
  --pink-pale: #fffbfc;
  --bg2: #ffeef4;
  --white: #ffffff;
  --text: #8a5768;
  --text-soft: #c0919f;
  --border: #ffceda;
  --sectionbg: linear-gradient(135deg, #ffffff, #fff0f4);
  --font-title: 'ZT Formom', serif;
  --font-body: 'ZT Bros Oskon', monospace;

  /* shared timing so hover/press transitions stay consistent across the file */
  --ease-fast: 0.15s ease;
}

*{ box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }

html { scroll-behavior: smooth; }
html, body{ height: 100%; }

body{
  background-image: var(--bg-grain), var(--bg);
  background-repeat: repeat, no-repeat;
  background-size: 200px 200px, 100% 100%;
  background-position: top left, center;
  background-attachment: fixed, fixed;
  color: var(--text);
  font-family: var(--font-body);
  font-weight: 400;
  display: flex;
  justify-content: center;
}


/* ---- global responsive media reset ---- */
img{
  max-width: 100%;
  height: auto;
  display: block;
}
iframe, video{
  max-width: 100%;
}

::-webkit-scrollbar{ width: 12px; }
::-webkit-scrollbar-track{ background: var(--bg2); }
::-webkit-scrollbar-thumb{
  background: var(--hot);
  border-radius: 10px;
  border: 2px solid var(--pink-pale);
}
::-webkit-scrollbar-thumb:hover{ background: var(--hot-dark); }

.header-img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  display: block;
}

.header-container {
  position: absolute;
  width: 100%;
  height: 80px;
  background-image: url('https://64.media.tumblr.com/33b6221c8d8d8bfa3a59e909ee334c26/a0c982a23af10c02-b6/s1280x1920/cc562a3777de19ae74054db728ffb848d414cfaf.png');
  z-index: -1;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

@media (min-width: 576px) {
  .header-container {
    background-repeat: repeat-x;
    background-size: auto 100%;
  }
}

.pixel {
  display: inline-block;
  width: 12px;
  height: auto;
}

.marquee{
  background: var(--hot);
  border: 2px dashed var(--white);
  border-radius: 10px;
  overflow: hidden;
  padding: 7px 0;
  margin-bottom: 14px;
}
.marquee span{
  display: inline-block;
  white-space: nowrap;
  font-family: var(--font-title);
  font-size: 16px;
  color: var(--white);
  letter-spacing: 1px;
  animation: scroll-left 14s linear infinite;
}
@keyframes scroll-left{
  0%{ transform: translateX(100%); }
  100%{ transform: translateX(-100%); }
}

.profile{
  text-align: center;
  margin-bottom: 16px;
}

.button-strip{
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 3px 5px;
  margin: 10px 0;
  border: 2px solid var(--hot);
  border-radius: 10px;
  background: var(--pink-pale);
  scroll-snap-type: x proximity;
  width: 250px;
}

.button-strip img{
  flex-shrink: 0;
  width: 88px;
  height: 31px;
  scroll-snap-align: start;
  image-rendering: pixelated;
}

/* thin themed scrollbar just for this strip */
.button-strip::-webkit-scrollbar{
  height: 6px;
}
.button-strip::-webkit-scrollbar-track{
  background: transparent;
}
.button-strip::-webkit-scrollbar-thumb{
  background: var(--hot);
  border-radius: 10px;
}

.pfp{
  width: 96px;
  height: 96px;
  border-radius: 50%;
  margin: 0 auto 10px;
  padding: 3px;
  /* was a single-stop "gradient" (var(--pink-pale) only), which just paints a flat
     color — using the flat color directly instead of linear-gradient() */
  background: var(--pink-pale);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pfp-wrapper {
  position: relative;
  display: inline-block;
  width: 96px;
  height: 96px;
  margin: 0 auto 10px;
}

.pfp-wrapper::before,
.pfp-wrapper::after {
  content: "";
  position: absolute;
  top: -13px;
  left: -15px;
  width: calc(100% + 30px);
  height: calc(100% + 30px);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.pfp-wrapper::before {
  z-index: -1;
  background-image: url('https://64.media.tumblr.com/8d20a182f6a526bd0b8402c9a22402cb/6d0a2c078d942395-2f/s1280x1920/bfccf1eb90938fb6394a9e2470b309df831a4fd7.png');
}
.pfp-wrapper::after {
  z-index: 1;
  background-image: url('https://64.media.tumblr.com/ad3da12baa7cb4b979890dd62552e1a8/ed50cac3cb77f0fb-4f/s1280x1920/50b1d99b22f065135c38fcb32ca363c5207b0d06.png');
}

.pfp img{
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

h1{
  font-family: var(--font-title);
  font-weight: normal;
  font-size: 26px;
  margin-bottom: 4px;
  color: var(--hot-dark);
  text-shadow:
    1px 1px 0 #fff, -1px -1px 0 #fff,
    1px -1px 0 #fff, -1px 1px 0 #fff,
    2px 2px 0 var(--hot);
}

.handle{
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 13px;
  color: var(--text-soft);
  margin-bottom: 8px;
  letter-spacing: 0.03em;
}

.tagline{
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 9px;
  line-height: 1.5;
  color: var(--text);
  padding: 0 60px;
}

.status-row{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.status-tag{
  display: inline-block;
  background: var(--pink-pale);
  border: 2px solid var(--border);
  color: var(--hot-dark);
  font-family: var(--font-title);
  font-size: 8px;
  padding: 3px 12px;
  border-radius: 6px;
}

.blinkie-strip{
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 16px 0 4px;
}
.blinkie-slot{
  width: 72px;
  height: 26px;
  border: 2px dashed var(--hot);
  border-radius: 6px;
  background: var(--pink-pale);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform var(--ease-fast), border-style var(--ease-fast);
}

.blinkie-slot img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.divider{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--hot);
  letter-spacing: 6px;
  margin: 14px 0 16px;
  font-size: 11px;
}
.divider::before,
.divider::after{
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--hot), transparent);
}

.section-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}
.section-grid .section{
  margin-bottom: 0;
  padding: 12px 12px;
}
.section-grid .section.span-full{
  grid-column: 1 / -1;
}

@media (max-width: 380px){
  .section-grid{
    gap: 8px;
  }
  .section-grid .section{
    padding: 10px 10px;
  }
  .section-grid .section h2{
    font-size: 14px;
  }
  .section-grid .section p{
    font-size: 12px;
    line-height: 1.5;
  }
}

.trinket {
  position: absolute;
  top: 0;
  right: -3vw;
  z-index: 10;
  width: 75px;
  height: auto;
  transform-origin: top center;
  pointer-events: none;
  animation: swingSticker 1.5s ease-in-out infinite alternate;
}

@keyframes swingSticker {
  0% { rotate: -22deg; }
  100% { rotate: -8deg; }
}

.sections {
  position: relative;
  background: var(--sectionbg);
  border: 2.5px solid var(--hot);
  border-radius: 16px;
  margin: 0 10vw;
  box-shadow: 3px 3px 0px var(--border);
  transition: transform var(--ease-fast), box-shadow var(--ease-fast);
  padding: 14px 16px;
}

.section{
  position: relative;
  margin-bottom: 14px;
  outline: 1.5px dashed var(--hot);
  border-radius: 8px;
}

.sparkle {
  background: linear-gradient(270deg, var(--pink-pale), var(--hot), var(--hot-dark));
  background-size: 400% 400%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: ombre-shift 6s ease infinite;
}

@keyframes ombre-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.section.warn{ border-color: var(--hot-dark); }
.section.warn h2{ color: var(--hot-dark); }

.section h2{
  display: inline-block;
  font-family: var(--font-title);
  font-weight: normal;
  font-size: 16px;
  color: var(--hot-dark);
  margin-bottom: 8px;
  border-bottom: 2px solid var(--hot);
  padding-bottom: 3px;
}

.section p{
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 13.5px;
  line-height: 1.6;
}

.section p + p{
  margin-top: 8px;
}

.section strong{
  font-weight: 700;
  color: var(--hot-dark);
}

.section .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  font-size: 11.5px;
}

/* .section .tags .tag is specific enough (3 classes deep) to beat any earlier
   rule here, so the !important flags on every property were unnecessary */
.section .tags .tag {
  display: inline-block;
  padding: 2px 10px;
  margin-top: 0px;
  font-size: 11.5px;
  line-height: 1.6;
  font-weight: normal;
  background-color: var(--white);
  color: var(--hot-dark);
  border: 2px solid var(--hot);
  border-radius: 6px;
  font-family: var(--font-body);
  text-transform: lowercase;
  box-shadow: 2px 2px 0px var(--border);
  transition: transform var(--ease-fast), box-shadow var(--ease-fast), background-color var(--ease-fast);
}

.section .tags .tag img {
  display: inline-block;
  height: 12px;
  width: auto;
  margin-bottom: 0px;
  vertical-align: middle;
}

.fic-entry{
  border: 2px solid var(--hot);
  border-radius: 12px;
  padding: 10px 12px;
  margin-top: 10px;
  background: var(--white);
  box-shadow: 2px 2px 0px var(--border);
}
.fic-entry:first-of-type{ margin-top: 8px; }

.fic-entry-top{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.fic-entry-heading{ flex: 1; min-width: 0; }

.fic-entry-desc{
  margin-top: 10px;
}

.fic-entry h3{
  font-family: var(--font-title);
  font-weight: normal;
  font-size: 15px;
  color: var(--hot-dark);
  margin-bottom: 4px;
}

.fic-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}
.fic-meta .meta-chip{
  background: var(--bg2);
  border: 1.5px solid var(--hot);
  border-radius: 6px;
  padding: 2px 10px;
  font-size: 11.5px;
  color: var(--hot-dark);
}

.fic-entry p{
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--text);
}

.fic-entry a.fic-link{
  display: inline-block;
  margin-top: 6px;
  font-family: var(--font-title);
  font-size: 12px;
}

.ao3-blurb{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2px;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid var(--hot);
}
.quad{
  width: 100%;
  height: 100%;
  background-color: var(--white);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* "NR"/"NA" variants dropped: .quad has no background-image by default,
   so setting it to none again was a no-op */
.quad[data-rating="G"]{ background-image: url('/assets/rating/IMG_6996.jpeg'); }
.quad[data-rating="T"]{ background-image: url('/assets/rating/IMG_6997.jpeg'); }
.quad[data-rating="M"]{ background-image: url('/assets/rating/IMG_6998.jpeg'); }
.quad[data-rating="E"]{ background-image: url('/assets/rating/IMG_6999.jpeg'); }

.quad[data-category="FF"]{ background-image: url('/assets/ship/IMG_7001.jpeg'); }
.quad[data-category="MM"]{ background-image: url('/assets/ship/IMG_7004.jpeg'); }
.quad[data-category="FM"]{ background-image: url('/assets/ship/IMG_7002.jpeg'); }
.quad[data-category="GEN"]{ background-image: url('/assets/ship/IMG_7003.jpeg'); }
.quad[data-category="O"]{ background-image: url('/assets/ship/IMG_7005.jpeg'); }

.quad[data-warning="CN"]{ background-image: url('/assets/warning/IMG_7006.jpeg'); }
.quad[data-warning="Y"]{ background-image: url('/assets/warning/IMG_7007.jpeg'); }

.quad[data-complete="Y"]{ background-image: url('/assets/complete/IMG_7009.jpeg'); }
.quad[data-complete="N"]{ background-image: url('/assets/complete/IMG_7008.jpeg'); }

.wrap {
  margin: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 7px;
  width: 100%;
  margin-bottom: 7px;
}

.row img {
  height: auto;
  object-fit: contain;
}

.row[class~="2"] img {
  width: calc(50% - 3.5px);
}

.row[class~="3"] img {
  width: calc(33.333% - 4.667px);
}

.now-playing{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white);
  border: 2px solid var(--hot);
  border-radius: 999px;
  padding: 6px 12px 6px 6px;
  cursor: pointer;
  box-shadow: 2px 2px 0px var(--border);
  transition: transform var(--ease-fast), box-shadow var(--ease-fast);
}

.np-icon{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  transition: transform 6s linear;
}

.now-playing.playing .np-icon{
  animation: np-spin 3s linear infinite;
}

@keyframes np-spin{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}

.np-bars{
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 12px;
}

.np-bars span{
  width: 2.5px;
  background: var(--hot-dark);
  border-radius: 1px;
  height: 4px;
  opacity: 0.4;
}

.now-playing.playing .np-bars span{
  opacity: 1;
  animation: np-bounce 0.9s ease-in-out infinite;
}

.now-playing.playing .np-bars span:nth-child(1){ animation-delay: 0s; }
.now-playing.playing .np-bars span:nth-child(2){ animation-delay: 0.2s; }
.now-playing.playing .np-bars span:nth-child(3){ animation-delay: 0.4s; }

@keyframes np-bounce{
  0%, 100%{ height: 4px; }
  50%{ height: 12px; }
}

footer{
  text-align: center;
  margin-top: 12px;
  font-family: var(--font-title);
  font-size: 12px;
  color: var(--text-soft);
}

footer::before{
  content: "";
  display: block;
  height: 1px;
  max-width: 160px;
  margin: 0 auto 10px;
  background: linear-gradient(90deg, transparent, var(--hot), transparent);
}

a{
  color: var(--hot-dark);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1.5px dotted var(--hot);
  transition: color var(--ease-fast), border-color var(--ease-fast);
}

a:hover{
  color: var(--hot);
  border-bottom-color: var(--hot-dark);
}

a:active{
  color: var(--text);
}

a:focus-visible{
  outline: 2px solid var(--hot-dark);
  outline-offset: 2px;
  border-radius: 2px;
}

.prompt-btn {
  background-color: var(--white);
  color: var(--hot-dark);
  border: 2px solid var(--hot);
  border-radius: 12px;
  padding: 6px 16px;
  font-family: var(--font-title);
  font-size: 13px;
  font-weight: normal;
  cursor: pointer;
  margin-top: 12px;
  display: inline-block;
  box-shadow: 2px 2px 0px var(--border);
  transition: transform var(--ease-fast), box-shadow var(--ease-fast), background-color var(--ease-fast);
}

.prompt-btn:hover {
  background-color: var(--pink-pale);
  transform: scale(1.03);
  box-shadow: 3px 3px 0px var(--hot);
}

.prompt-btn:active {
  transform: scale(0.98);
  box-shadow: 1px 1px 0px var(--border);
}

#prompt-display {
  font-style: italic;
  color: var(--text-soft);
}

.generator-section {
  background: var(--white);
  border: 2.5px solid var(--hot);
  border-radius: 16px;
  padding: 18px 20px;
  margin-bottom: 20px;
  box-shadow: 3px 3px 0px var(--border);
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 500px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}

label {
  display: block;
  margin-bottom: 4px;
  font-family: var(--font-title);
  color: var(--hot-dark);
  font-size: 14px;
}

input, select, textarea {
  width: 100%;
  padding: 8px 12px;
  border: 2px solid var(--hot);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 13.5px;
  background: var(--pink-pale);
  color: var(--text);
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.generate-btn {
  background-color: var(--hot);
  color: white;
  border: none;
  padding: 12px 24px;
  font-family: var(--font-title);
  font-size: 15px;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: 3px 3px 0px var(--border);
  transition: all 0.2s ease;
  margin: 20px 0;
  width: 100%;
}

.generate-btn:hover {
  transform: translateY(-2px);
  box-shadow: 4px 4px 0px var(--hot-dark);
}

.code-block {
  background: var(--pink-pale);
  color: var(--text);
  padding: 14px;
  border-radius: 8px;
  font-size: 12px;
  overflow-x: auto;
  white-space: pre-wrap;
  margin-top: 12px;
  max-height: 400px;
  border: 2px solid var(--hot);
}

.copy-btn {
  background: var(--hot);
  color: white;
  border: none;
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  margin-top: 8px;
}

input[readonly] {
  background: var(--bg2);
  cursor: default;
}

#chattable{
  width: 100%;
  height: 380px;
  border: 2.5px solid var(--hot);
  border-radius: 16px;
  display: block;
}

/* .page is the sidebar-layout version — the earlier width:40vw/position:relative
   block was fully overridden by this one and has been removed as dead code.
   It's no longer a flex row: .sidebar is pulled out of normal flow (see below)
   so it can sit beside .sections without pushing .content/.sections anywhere. */
.page{
  position: relative;
  width: 100%;
  max-width: 420px;
  min-height: 100vh;
  padding: 18px 16px 28px;
  margin-top: 40px;
}

@media (min-width: 700px){
  .page{ max-width: 700px; }
}

@media (min-width: 900px){
  .page{ max-width: 900px; }
}

.content{
  width: 100%;
}

/* Anchored to .page (position:relative above), not to .content's own box, so it
   tracks .sections' real left edge: .sections sits margin: 0 10vw inside .content,
   and .content spans the full width of .page — so ".page's right edge minus 10vw"
   IS .sections' left edge. Subtracting the sidebar's own gap places the sidebar
   exactly `20px` to the left of .sections, top-aligned with it, regardless of
   viewport size — .content/.sections never move. */
.sidebar{
  position: absolute;
  top: 27.5vh;
  right: calc(100% - 10vw + 20px);
  width: 180px;
  background: var(--sectionbg);
  border: 2.5px solid var(--hot);
  border-radius: 16px;
  padding: 16px 14px;
  box-shadow: 3px 3px 0px var(--border);
}

.sidebar h2{
  font-family: var(--font-title);
  font-weight: normal;
  font-size: 15px;
  color: var(--hot-dark);
  margin-bottom: 10px;
  border-bottom: 2px solid var(--hot);
  padding-bottom: 4px;
}

.sidebar-nav{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sidebar-nav a{
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text);
  border: 2px solid var(--border);
  background: var(--white);
  border-radius: 8px;
  padding: 6px 10px;
  text-decoration: none;
  border-bottom: 2px solid var(--border);
  transition: transform var(--ease-fast), box-shadow var(--ease-fast), background-color var(--ease-fast);
}

.sidebar-nav a:hover{
  background: var(--pink-pale);
  border-color: var(--hot);
  color: var(--hot-dark);
  transform: translateX(2px);
}

/* Below this width there's no room to the left of .page for the sidebar to sit
   without going off-screen, so it drops back into normal flow above .content
   instead (adjust the breakpoint to taste — it just needs to be wide enough
   that .page + sidebar + gap fit in the viewport). */
@media (max-width: 1100px){
  .sidebar{
    visibility: hidden;
  }
  
  .sections {
    margin: 0 5vw;
  }
}