* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  text-rendering: geometricPrecision;
  text-decoration: none;
}

#cursor {
  left: 0;
  top: 50%;
  position: fixed;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  mix-blend-mode: difference;
  background-color: white;
  backface-visibility: hidden;
  z-index: 1000;
  pointer-events: none;
  width: 50px;
  height: 50px;
  display: block;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  font-size: 14px;
}

body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  transition: all 0.3 ease;
}

@keyframes animate {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 100% 100%;
  }
}


.controls {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 40%;
  cursor: pointer;
}

.buttons {
  width: 120px;
  height: 120px;
  position: absolute;
  left: 0;
  right: 0;
  background-color: black;
  border-radius: 60px;
  margin: auto;
  cursor: pointer;
  z-index: 111;
}

.cursor1 {
  background-color: transparent;
  width: 60px;
  height: 60px;
  position: fixed;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid #141414;
}

.changeColor {
  background: white;
  transition: 0.3s all;
}

.container {
  padding: 86px;
  padding-top: 56px;
  max-width: 1400px;
  margin: auto;
}

.background {
  margin: auto;
  background: url(bgnoise2.png);
  background-color: white;
  animation: animate .5s linear infinite;
  transition: all 0.3 ease;
  z-index: 1;
}


p {
  font-size: 18px !important;
  color: rgb(87, 87, 87) !important;
}



.hero,
h1,
.menu a,
.sidenav,
p,
span,
h2,
h3,
h4,
h5,
h6,
a,
a h3 {
  color: #111111;
  font-weight: normal;
  text-decoration: none;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  list-style-type: none;
}

input[type=checkbox] {
  display: none;
}

.hero,
.backhero {
  height: auto;
  align-items: center;
  color: #fafafa;
  position: relative;
  margin-top: 20vh;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 132px;
}

.backhero h1 {
  font-size: 4vw;
  height: auto;
  font-family: 'B612', sans-serif;
}

.hero h1 {
  position: relative;
  font-weight: normal;
  font-family: 'B612', sans-serif;
  width: 100%;
}

.scroll {
  display: none;
}


.dynamictxt {
  height: auto;
  position: relative;
  padding-bottom: 12px;
  width: 900px;
  max-width: 1400px;
  left: 0;
  animation: slidein 0.9s cubic-bezier(0.7, -0.51, 0.39, 1.5);
}

@keyframes slidein {
  0% {
    left: -64px;
    opacity: 0;
  }

  100% {
    left: 0%;
    opacity: 1;
  }
}

h1 #staticText,
h1 #typeline {
  font-weight: normal;
  color: #292929;
  font-size: 56px;
  font-family: 'B612', sans-serif;
  width: 90%;
  line-height: 76px;
}

.underline {
  position: absolute;
  height: 4px;
  background-color: #0652DD;
  width: 140px;
  top: 72px;
}

.hero h3 {
  position: relative;
  margin-top: 24px;
  font-weight: normal;
  color: #141414;
  font-size: 24px;
  font-family: 'B612', sans-serif;
  width: 100%;
}

.demo {
  width: 100%;
  max-width: 1460px;
  height: auto;
  margin: auto;
  position: relative;
}

footer {
  background: url(bgnoisedark.png);
  background-color: black;
  animation: animate .5s linear infinite;
  transition: all 0.3 ease;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  width: 100%;
  height: 420px;
  z-index: -1;
}

footer .spinning {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  margin-top: -48px;
}

footer .tricols {
  text-align: left;
}

footer h4 {
  font-size: 32px;
  clear: both;
  width: 100%;
  margin-top: 64px;
}



@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.spinning {
  animation: spin 10s linear infinite;
}

footer h4 {
  color: white;
  font-weight: normal;
  float: left;
  font-size: 24px;
}

.socialmeidaicons {
  display: flex;
  flex-wrap: wrap;
  float: right;
}

.circles {
  position: relative;
  margin: 8px;
  height: 40px;
  width: 40px;
  border-radius: 40px;
  border: 1px solid gainsboro;
}

.circles:hover {
  transform: scale(1.1);
  transition: 0.2s cubic-bezier(0, 1.1, 1, 1);
}

.portfolio--projects {
  padding-top: 132px;
}

.portfolio--projects h1,
.demoreel h1 {
  font-size: 18px;
  color: #141414;
  padding-bottom: 12px;
  font-family: 'B612', sans-serif;
}

.portfolio--projects h2 {
  color: black;
}

.portfolio--projects .hr {
  margin-bottom: 32px;
  width: 100%;
  height: 1px;
  background-color: #141414;
}

.hr {
  width: 100%;
  margin: auto;
  background-color: black;
  height: 1px;
}

.portfolio--projects p {
  color: #141414;
  font-size: 24px;
}

@keyframes blink-caret {
  50% {
    border-color: transparent;
  }
}



@keyframes loop-anim {
  0% {
    margin-left: 0;
  }

  100% {
    margin-left: -50%
      /* This works because of the div between "outer" and "loop" */
  }
}


em {
  border-right: .1em solid #141414;
  width: 20ch;
  white-space: nowrap;
  overflow: hidden;
  margin-top: 0;
  color: #141414;
  animation: typing 3s steps(21, end),
    blink-caret .5s step-end infinite alternate;
}

.project--contents {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cols {
  width: calc(30%);
}

.bigrid {
  width: calc(50% - 48px);
}

.box {
  width: 100%;
  padding-bottom: 164px;
  overflow: hidden;
  position: relative;
  top: 3%;
  opacity: 0;
}

.firstimg {
  overflow: hidden;
  height: auto;
}

/* .firstimg img{
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
} */

.firstimg img,
.firstimg video {
  width: 100%;
  height: auto;
  overflow: hidden;
  transition: 0.5s cubic-bezier(0, 1.1, 1, 1);
}

.firstimg img:hover {
  transform: scale(1.1);
  transition: 0.5s cubic-bezier(0, 1.1, 1, 1);
  overflow: hidden;
}

.qutoes {
  height: auto;
  padding-bottom: 64px;
}

.qutoes h2 {
  font-size: 56px;
  text-align: center;
}

.qutoes h3 {
  text-align: center;
  font-size: 24px;
  padding-top: 32px;
}

figcaption {
  position: relative;
  z-index: 2;
  height: 96px;
  width: 100%;
  margin-bottom: 48px;
}

figcaption h2 {
  color: #0652DD !important;
  text-align: left;
  padding-top: 16px;
  font-size: 24px;
  padding-bottom: 8px;
  letter-spacing: 1px;
  font-family: 'B612', sans-serif;
}

figcaption h3 {
  padding-top: 8px;
  text-align: left;
  font-size: 16px;
  color: #292929;
  font-weight: normal;
  letter-spacing: 1.4px;
  font-family: 'Roboto', sans-serif;
  max-width: 440px;
  line-height: 24px;
}

.aboutbreif {
  font-weight: normal;
  height: auto;
  padding-bottom: 64px;
  width: 100%;
  max-width: 95%;
  margin: auto;
  font-family: 'B612', sans-serif;
  color: #292929;
  text-align: center;
}

.aboutbreif h2 {
  max-width: 800px;
  margin-left: 0;
  font-size: 56px;
  line-height: 76px;
  padding-bottom: 0;
  padding-left: 12px;
  margin: auto;
  font-family: 'B612', sans-serif;
  padding-bottom: 16px;
}

.aboutbreif .button a {
  width: 100%;
}

.aboutbreif a {
  padding: 12px;
  color: #0652DD;
  transition: 0.5s cubic-bezier(0, 1.1, 1, 1);
  font-size: 2vw;
}

.aboutbreif a:hover {
  background-color: #0652DD;
  color: white;
  transition: 0.5s cubic-bezier(0, 1.1, 1, 1);
}

::-moz-selection {
  /* Code for Firefox */
  color: white;
  background: black;
}

::selection {
  color: white;
  background: black;
}

/*about me page*/
.skills {
  height: 300px;
  width: 100%;
}

.skills h3 {
  padding-bottom: 16px;
  font-size: 24px;
}

.texts {
  display: flex;
  flex-wrap: wrap;
}

.texts p {
  padding-right: 32px;
  font-size: 24px;
}

#back2Top {
  width: 40px;
  z-index: 999;
  display: none;
  cursor: pointer;
  position: fixed;
  bottom: 32px;
  right: 32px;
}

.experiances .half1 {
  width: 50%;
  height: auto;
  position: relative;
}

.experiances .half2 {
  width: 50%;
  position: relative;
}

.experiances img {
  position: absolute;
  right: 0;
  left: 64px;
  margin: auto;
  top: 48px;
  width: 70%;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.resume {
  height: auto;
  width: 100%;
}

.otherthings {
  height: 700px;
}

.otherthings h3 {
  padding-bottom: 12px;
  font-size: 24px;
}

.otherthings p {
  padding-top: 16px;
  font-size: 18px;
  line-height: 28px;
}

.girdstuff {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.trigrid {
  width: calc(100%/3 - 32px);
  padding-top: 32px;
  padding: 16px;
}


/*Load bar*/
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;

  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 12;
  -webkit-transform: translate3d(0, -50px, 0);
  -ms-transform: translate3d(0, -50px, 0);
  transform: translate3d(0, -50px, 0);

  -webkit-transition: -webkit-transform .5s ease-out;
  -ms-transition: -webkit-transform .5s ease-out;
  transition: transform .5s ease-out;
}

.pace.pace-active {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pace .pace-progress {
  display: block;
  position: fixed;
  z-index: 2000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 10px;
  background: #141414;
  pointer-events: none;
}

/*wavy*/
@keyframes wave {
  0% {
    left: -40px;
  }

  100% {
    left: 0;
  }
}

.wavecontainer {
  position: absolute;
  width: 50px;
  overflow: hidden;
  top: -32px;
  left: 32px;
}

.container svg {
  position: relative;
  left: -50px;
  width: 100px;
  animation: wave 3s linear infinite;
}

.projectcontainer {
  /* max-width: 1200px; */
  margin: auto;
}

.spacer {
  width: 100%;
  height: 200px;
}

.bigimg {
  position: relative;
  max-width: 1200px;
  margin: auto;
  height: 800px;
}

.bigimg video {
  width: 100%;
  border: 1px solid gray;
}

.projectdetials {
  height: 200px;
  text-align: center;
}

.projectdetials h1 {
  position: relative;
  top: 100px;
  font-size: 48px;
  padding-bottom: 32px;
}

.projectdetials p {
  position: relative;
  top: 100px;
  letter-spacing: 1px;
  font-size: 18px;
  line-height: 28px;
  color: gray;
}

.intro {
  padding-top: 64px;
  /* max-width: 1200px; */
  margin: auto;
  width: 100%;
  height: 500px;
  display: flex;
  flex-wrap: wrap;
}

.overview {
  padding-top: 64px;
  /* max-width: 1200px; */
  margin: auto;
  height: 500px;
}

.inspo {
  max-width: 1200px;
  margin: auto;
}

.overview h5 {
  font-size: 16px;
  color: gray;
  padding-bottom: 8px;
}

.overview p {
  font-size: 3vw !important;
  font-weight: bolder;
  color: #141414 !important;
}

.intro .half1 p,
.intro .half2 p {
  padding-top: 0px;
}

.half1 {
  width: 70%;
  height: 100%;
}

.half1 p,
.half2 p {
  font-size: 18px;
  width: 32em;
  color: gray;
  padding-top: 16px;
  padding-bottom: 32px;
  line-height: 28px;
}

.half2 {
  position: relative;
  width: 30%;
  height: 100%;
  box-sizing: border-box;
}

.half2 p:nth-child(odd) {
  color: gray;
  padding-bottom: 8px;
}

.half2 p:nth-child(even) {
  padding-bottom: 32px;
  color: #141414;
}

.button {
  height: 56px;
  width: 270px;
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid gray;
  text-align: center;
  transition: 0.4s cubic-bezier(0, 1.1, 1, 1);
  border-radius: 56px;
}

.button a {
  color: #141414;
}

.button:hover {
  transform: scale(1.1);
  transition: 0.4s cubic-bezier(0, 1.1, 1, 1);
}

.features {
  padding-top: 64px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* max-width: 1200px; */
  margin: auto;
}

.features .half1,
.features .half2 {
  width: 50%;
  position: relative;
  padding-bottom: 132px;
}

.features .half1 h1,
.features .half2 h1 {
  padding-top: 25%;
}

.features video {
  height: 100%;
  display: block;
  margin: auto;
}

.features .half1 p {
  padding-right: 112px;
  text-align: left;
}

.speicalgrid {
  padding-top: 64px;
  text-align: left;
  padding-bottom: 132px;
  position: relative;
  height: auto;
  padding-bottom: 900px;
}

.speicalgrid .appletv {
  width: 1200px;
  position: absolute;
  left: 0;
}

.speicalgrid video {
  height: 590px;
  position: absolute;
  left: 50px;
  top: 10px;
}

.speicalgrid p {
  text-align: left;
  font-size: 18px;
  color: gray;
  padding-top: 16px;
  padding-bottom: 32px;
  max-width: 48em;
  margin: auto;
  line-height: 28px;
  margin-left: 0;
}

.problem {
  padding-top: 64px;
  height: 400px;
  /* max-width: 1200px; */
  margin: auto;
  text-align: left;
  height: auto;
  padding-bottom: 64px;
}

.problem p {
  font-size: 18px;
  line-height: 28px;
  padding-top: 16px;
  max-width: 32em;
}

.problem h2 {
  padding-top: 32px;
  margin: auto;
  color: gray;
  font-size: 32px;
  text-align: left;
  padding-bottom: 32px;
}

.problem .half1 {
  width: 40%;
}

.problem .half1 p {
  width: auto;
  padding-right: 32px;
}

.problem .half1 h1 {
  padding-top: 132px;
}

.problem .half2 {
  width: 60%;
}

.problem .tricols {
  padding-top: 132px;
  padding-bottom: 132px;
}

.tricols {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.tricols p {
  font-size: 18px;
  color: gray;
}


h5 {
  color: gray;
  font-size: 16px;
  padding-bottom: 16px;
}


.conclusion {
  width: 1200px;
  margin: auto;
  height: 400px;
}

.conclusion p {
  font-size: 18px;
  line-height: 28px;
  color: gray;
  padding-top: 16px;
  padding-bottom: 32px;
  max-width: 48em;
}

.thanks {
  font-size: 2vw;
  font-weight: bolder;
  padding-top: 32px;
  height: 200px;
  margin: auto;
  text-align: left;
}

.otherprojects {
  height: 300px;
  margin: auto;
  max-width: 1400px;
  padding-left: clamp(16px, 4vw, 48px);
  padding-right: clamp(16px, 4vw, 48px);
  box-sizing: border-box;
}

.otherprojects h1 {
  color: #141414;
  position: relative;
  top: 130px;
  transition: 0.2s cubic-bezier(0, 1.1, 1, 1);
  font-size: 26px !important;
}

.otherprojects a:hover {
  font-size: 25.5px;
  transition: 0.2s cubic-bezier(0, 1.1, 1, 1);
  transform: scale(1.1);
  color: gray;
}

.otherprojects .half1,
.otherprojects .half2 {
  height: 300px;
  width: 50%;
}

.otherprojects .half2 {
  text-align: right;
}

.otherprojects h1 {
  position: relative;
  top: 120px;
  font-size: 32px;
}

.otherprojects a {
  color: #141414;
}


.navigation {
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  justify-content: space-between;
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  width: 100%;
  height: 78px;
  padding-top: 28px;
  z-index: 12;
  transition: top 0.3s;
  background-color: white;
}

/* mix-blend-mode: difference; */

.logo {
  position: relative;
  z-index: 999;
  font-size: 18px;
  font-weight: bold;
  left: 32px;
  font-family: 'B612', sans-serif;
}

.logo:hover {
  cursor: pointer;
  transition: ease-in 0.2s;
  transform: scale(1.2);
}

.menu {
  margin-right: 48px;
}

.menutxt {
  position: fixed;
  z-index: 99999;
  right: 16px;
}

.menutxt h3 {
  font-size: 24px;
  font-weight: bold;
}

#strikemenu.open .strikethrough {
  width: 0%;
  position: absolute;
  z-index: -1;
  height: 4px;
}

#strikemenu.open .strikethrough {
  animation: width 0.2s ease-in-out;
  width: 100%;
  background-color: white;
  top: 48px;
}

#strikemenu.open h3 {
  color: white;
}

@keyframes width {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}


.menu,
.fmenu {
  position: relative;
  z-index: 1111;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.menu li a,
.fmenu li a {
  display: inline-block;
  list-style-type: none;
  position: relative;
  text-decoration: none;
  line-height: 24px;
  font-size: 18px;
  font-family: 'B612', sans-serif;
  margin-left: 24px;
  text-align: right;
  letter-spacing: 1px;
}

.fmenu {
  float: right;
  width: 313px;
}

.fmenu li a {
  color: white;
  text-align: right;
}

li {
  list-style-type: none;
  text-decoration: none;
}

.menu li a:hover,
.fmenu li a:hover {
  color: black;
  transition: ease 0.2s;
}

/* Dark wave */
.menu li a::before {
  position: absolute;
  content: '';
  bottom: -16px;
  width: 100%;
  height: 10px;
  background: url(imgs/wave.svg);
  background-size: 24px;
  background-position: 0;
  animation: wavy 6s linear infinite;
  opacity: 0;
}

/* Light wave */
.fmenu li a::before {
  position: absolute;
  content: '';
  bottom: -16px;
  width: 100%;
  height: 10px;
  background: url(imgs/whitewave.svg);
  background-size: 24px;
  background-position: 0;
  animation: wavy 6s linear infinite;
  opacity: 0;
}


.menu li a:hover::before,
.fmenu li a:hover::before {
  opacity: 1;
}

@keyframes wavy {
  to {
    background-position: -230px;
  }
}

footer p a:hover {
  color: white;
  transition: ease-in 0.2s;
}


label {
  right: 0px;
  margin: 0 40px 0 0;
  font-size: 26px;
  display: none;
}

#toggle {
  display: none;
}

.experiances {
  height: auto;
  padding-bottom: 64px;
}

.experiances h1,
.experiances .half2 {
  padding-top: 16px;
  font-size: 32px;
  font-weight: bolder;
  padding-bottom: 64px;
  letter-spacing: 2px;
}

.experiances .half2 h3 {
  padding-top: 12px;
}

.experiances h2 {
  font-size: 3vw;
  color: #292929;
  font-weight: lighter;
  padding-bottom: 48px;
  font-family: 'B612', sans-serif;
}

.rit {
  font-weight: lighter;
  transition: 0.2s ease-in;
  font-family: 'B612', sans-serif;
}

.rit:hover {
  color: #f76902;
  transition: 0.2s ease-in;
}

.experiances p {
  font-size: 24px;
  line-height: 36px;
  max-width: 720px;
  color: #141414;
  font-family: 'B612', sans-serif;
}


/*bside page*/
.lazygrid {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
}

.lazygrid .box {
  width: calc(100%/3);
  height: auto;
  padding-bottom: 0;
}

@keyframes slideleft {
  0% {
    left: 100%;
  }

  100% {
    left: 0;
  }
}

@keyframes slideright {
  0% {
    left: 0;
  }

  100% {
    left: 100%;
  }
}

@media(max-width: 600px) {
  #cursor{
    display: none;
  }
  
  .navigation {
    top: 0px;
  }

  .logo {
    position: relative;
    text-align: left;
    left: 16px;
    z-index: 0;
  }

  #back2Top {
    right: 16px;
  }

  .container {
    padding: 16px;
  }

  label {
    display: block;
    cursor: pointer;
    margin-right: 16px;
  }

  .menu {
    padding-top: 156px;
    position: fixed;
    text-align: center;
    width: 100%;
    height: 100%;
    display: none;
    background-color: white;
    top: 0;
    left: 100%;
    animation: slideright 0.3s ease-in;
    font-size: 28px;
    transition: 0.3s ease-in;
  }

  .toggle {
    position: fixed;
  }

  .menuicon {
    position: fixed;
  }

  .menu a {
    color: black;
    display: block;
    font-size: 32px !important;
    line-height: 64px;
    padding-bottom: 16px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 32px;
  }

  #toggle:checked+.menu {
    display: block;
    left: 0;
    animation: slideleft 0.3s ease-in;
  }

  #toggle:not(:checked)+.menu {
    display: block;
    left: 100%;
    animation: slideright 0.3s ease-in;
  }

  .hero {
    position: relative;
    padding-top: 30vh;
    height: auto;
    margin-top: 2vh;
  }

  .scroll {
    position: absolute;
    transform: rotate(-90deg);
    left: 0px;
    bottom: 136px;
    font-size: 18px;
    color: #292929;
    transition: ease-in 0.2;
    display: block;
  }

  h1 #staticText,
  h1 #typeline {
    font-size: 32px !important;
    line-height: 48px;
  }

  .underline {
    top: 42px;
    width: 80px;
  }

  .hero .dynamictxt {
    height: 240px;
    width: 94%;
  }

  .hero h3 {
    font-size: 18px;
    width: 70%;
  }

  .demoreel {
    height: auto;
  }

  .portfolio--projects {
    padding-top: 64px;
  }

  .project--contents .bigrid {
    width: calc(100%);
  }

  .project--contents .box {
    padding-bottom: 32px;
  }

  .aboutbreif {
    margin-right: 0;
    margin: auto;
    height: auto;
    padding-bottom: 32px;
    -webkit-transition: -webkit-transform .5s ease-out;
    -ms-transition: -webkit-transform .5s ease-out;
    transition: transform .5s ease-out;

  }

  .aboutbreif h2 {
    font-size: 32px !important;
    text-align: left;
    width: 100%;
    padding-left: 0;
  }

  .aboutbutton a {
    font-size: 32px !important;
    padding-left: 0;
  }

  .sidenav {
    display: none;
  }

  footer {
    width: 100%;
    height: 900px;
    box-sizing: border-box;
    padding: 0;
    margin: auto;
    padding-top: 32px;
  }

  footer .tricols {
    width: 100%;
    height: auto;
  }

  footer .cols {
    width: 100%;
    height: auto;
  }

  .experiances .half1,
  .experiances .half2 {
    width: 100%;
    height: auto;
  }

  .experiances .half2 {
    display: none;
  }

  .experiances h2 {
    font-size: 36px;
    line-height: 46px;
  }

  .lazygrid .box {
    width: 100%;
    padding-bottom: 32px;
  }

  .backhero h1 {
    font-size: 12vw;
  }

  .intro {
    height: auto;
  }

  .intro .half1,
  .intro .half2,
  .features .half1,
  .features .half2 {
    width: 100%;
    padding-bottom: 64px;
  }

  .intro .half1 p,
  .intro .half2 p,
  .features .half1 p,
  .features .half2 p {
    width: 100%;
    height: auto;
    padding: 0;
    padding-top: 16px;
    padding-bottom: 32px;
  }

  .overview p {
    font-size: 5vw !important;
  }

  .half1,
  .half2,
  .cols,
  .speicalgrid,
  .speicalgrid p {
    width: 100%;
    clear: both;
    padding-bottom: 32px;
    text-align: left;
  }

  .problem .tricols {
    padding-bottom: 0;
  }

  .problem .half1,
  .problem .half2 {
    width: 100%;
    text-align: left;
  }

  .problem .tricols h1 {
    padding-top: 0;
  }

}

/* Qubox — case study blocks after UI screens (Figma-aligned doc layout) */
.qubox-case-blocks {
  box-sizing: border-box;
  max-width: min(800px, 100%);
  width: 100%;
  margin: 48px auto 80px;
  padding: 0;
  text-align: left;
}

@media screen and (min-width: 901px) {
  .qubox-case-blocks {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.qubox-case-blocks .case-section {
  margin-bottom: 72px;
}

.qubox-case-blocks .case-section:last-child {
  margin-bottom: 0;
}

.qubox-case-blocks h2 {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 28px;
  font-weight: 700 !important;
  color: #000000 !important;
  line-height: 1.25;
  margin: 0 0 16px 0;
  letter-spacing: -0.02em;
}

.qubox-case-blocks .section-meta {
  margin: 0 0 24px 0;
}

.qubox-case-blocks .section-meta p {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.5 !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
}

.qubox-case-blocks .case-body p {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.6 !important;
  margin: 0 0 24px 0 !important;
  max-width: none !important;
}

.qubox-case-blocks .case-body p:last-child {
  margin-bottom: 0 !important;
}

.qubox-case-blocks .case-body strong {
  font-weight: 700 !important;
  color: #000000 !important;
}

.qubox-case-blocks .case-body ul {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 18px !important;
  color: #000000 !important;
  line-height: 1.6 !important;
  margin: 0 0 24px 1.25em !important;
  padding: 0 !important;
}

.qubox-case-blocks .case-body ul:last-child {
  margin-bottom: 0 !important;
}

.qubox-case-blocks .case-body li {
  margin-bottom: 8px !important;
  color: #000000 !important;
}

@media screen and (max-width: 800px) {
  .qubox-case-blocks h2 {
    font-size: 24px;
  }

  .qubox-case-blocks {
    padding-left: 0;
    padding-right: 0;
  }

  .qubox-solution-highlight h2 {
    font-size: 24px;
  }
}

.qubox-solution-highlight {
  box-sizing: border-box;
  max-width: min(800px, 100%);
  width: 100%;
  margin: 48px auto 56px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 30px;
  padding-right: 30px;
  text-align: left;
}

@media screen and (min-width: 901px) {
  .qubox-solution-highlight {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.qubox-solution-highlight h2 {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 28px;
  font-weight: 700 !important;
  color: #000000 !important;
  line-height: 1.25;
  margin: 0 0 20px 0;
  letter-spacing: -0.02em;
}

.qubox-solution-highlight ul {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.6 !important;
  margin: 0 0 28px 1.25em !important;
  padding: 0 !important;
}

.qubox-solution-highlight li {
  margin-bottom: 8px !important;
  color: #000000 !important;
}

.qubox-solution-highlight__body p {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.6 !important;
  margin: 0 0 24px 0 !important;
  max-width: none !important;
}

.qubox-solution-highlight__body p:last-child {
  margin-bottom: 0 !important;
}

/* Qubox case study — tighter vertical rhythm & container padding on mid-width viewports */
.page-qubox .overview {
  height: auto;
  min-height: 0;
  padding-top: 40px;
  padding-bottom: 24px;
}

.page-qubox .problem .tricols {
  padding-top: 40px;
  padding-bottom: 40px;
}

.page-qubox .problem .half1 h1 {
  padding-top: 24px;
}

.page-qubox .qubox-case-blocks {
  margin-top: 24px;
  margin-bottom: 48px;
}

.page-qubox .qubox-case-blocks .case-section {
  margin-bottom: 40px;
}

@media (max-width: 900px) {
  .page-qubox .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}