/* =====================
   Root Variables
   ===================== */
:root {
  --color-dark-blue: #20252b;
  --color-light-beige: #fefbfa;
  --color-dark-brown-red: #93503e;
  --color-light-brown-red: #ab8176;
  --color-dark-peach: #c4a198;
  --color-pastel-peach: #eedcd7;
  --color-light-font: #fff1ed;
  --color-blue-gray: #536878;
  --color-dark-text-background: #a3b2bf;
  --color-light-blue: #95a6b5;
  --color-light-blue-gray: #6c8296;
  --color-dark-blue-grey: #363d45;
  --color-gray: #7d8082;
  --font-baloo: "Baloo 2", sans-serif;
  --font-lexend: "Lexend", sans-serif;
  --font-size-baloo: 47.78px;
  --font-size-h1: 44px;
  --font-size-h2: 33.18px;
  --font-size-h3: 23.04px;
  --font-size-h4: 19.2px;
  --font-size-p: 16px;
  --font-size-small: 14px;
  --font-weight-h1-h2: 800;
  --font-weight-h3-h4: 400;
  --font-weight-p: 300;
  --font-weight-highlight: 500;
  --font-weight-btn-1-3: 400;
  --font-weight-btn-4: 700;
  --line-height-h: 1.2;
  --line-height-h-small: 1.1;
  --line-height-p: 1.5;
  --button-padding: 6px 12px;
  --border-radius-less: 6px;
  --border-radius-more: 7px;
}

/* =====================
   Reset & Base Styles
   ===================== */
html {
  scroll-behavior: smooth;
  width: 100% !important;
  max-width: none !important;
}
body,
h1,
h2,
h3,
h4,
h5,
p,
span,
main,
aside,
article,
label,
input,
textarea,
.btn-form,
.carousel-arrow,
button {
  font-optical-sizing: auto;
  all: unset;
}
::selection {
  background-color: var(--color-pastel-peach);
}

::-moz-selection {
  background-color: var(--color-pastel-peach);
}

footer::selection,
nav::selection {
  color: var(--color-dark-blue);
}

footer::-moz-selection,
nav::-moz-selection {
  color: var(--color-dark-blue);
}

.service-card h4::selection,
.service-card p::selection {
  background-color: var(--color-light-blue);
}

.service-card h4::-moz-selection,
.service-card p::-moz-selection {
  background-color: var(--color-light-blue);
}

button,
.btn a {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
}

body {
  background-color: var(--color-light-beige);
  height: 100%;
  min-height: 100%;
  width: 100% !important;
  max-width: none !important;
}

@media screen and (max-width: 1024px) and (min-width: 1020px) {
  body {
    max-width: 1024px !important;
    width: 100% !important;
  }
}

body.cv-pdf {
  background-color: white;
  max-width: 718px;
}

.br-1024 {
  display: none;
}

@media (max-width: 1024px) and (min-width: 769px) {
  .br-1024 {
    display: inline;
  }
}

@media (max-width: 1366px) {
  .br-mobile {
    display: inline;
  }
  .span-mobile {
    display: inline;
  }
  .br-desktop {
    display: none;
  }
  .span-desktop {
    display: none;
  }
}

@media screen and (min-width: 1367px) {
  .br-desktop {
    display: inline;
  }
  .span-desktop {
    display: inline;
  }
  .br-mobile {
    display: none;
  }
  .span-mobile {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* =====================
   Layout
   ===================== */
.cv-page .layout,
.project-page .layout,
.services-page .layout {
  background-color: var(--color-light-beige);
  height: calc(100% - 258px);
  min-height: 100%;
  width: 100%;
  display: grid;
  grid-template-areas:
    "header header"
    "aside main"
    "footer-aside contact-narrow"
    "footer-aside footer"
    "footer-copyright footer-copyright";
  grid-template-columns: 281px 1fr;
  grid-template-rows: 75px 1fr 590px 110px 27px;
}

.index-page .layout {
  height: 100%;
  width: 100%;
  display: grid;
  justify-content: center;
  grid-template-areas:
    "header"
    "main"
    "contact-narrow"
    "footer"
    "footer-copyright";
  grid-template-columns: 1fr;
  grid-template-rows: 75px 1fr 643px 130px 27px;
}

.error-page .layout {
  height: 100%;
  width: 100%;
  display: grid;
  justify-content: center;
  grid-template-areas:
    "header"
    "main";
  grid-template-columns: 1fr;
  grid-template-rows: 75px 1fr;
}

#posts-header-placeholder,
#sites-header-placeholder {
  grid-area: header;
  position: sticky;
  top: -1px;
  left: 0;
  z-index: 101;
  box-shadow: 0px 4px 10.3px rgba(32, 37, 43, 0.25);
  width: 100%;
  height: 75px;
  background-color: var(--color-dark-blue);
}

.project-page main,
.cv-page main,
.services-page main {
  grid-area: main;
  border-left: 1px solid var(--color-light-brown-red);
}

.index-page main, .error-page main {
  grid-area: main;
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
}

.project-page aside,
.cv-page aside,
.services-page aside {
  grid-area: aside;
  position: sticky;
  top: 75px;
  bottom: 258px;
  left: 0;
  width: 280px;
  height: 100vh;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 80;
  background-image: url("images/aside-bg.svg");
  background-size: 106%;
  background-position: bottom left;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#footer-aside-placeholder {
  grid-area: footer-aside;
  position: relative;
  bottom: 0;
  left: 0;
  width: 281px;
  height: 382px;
  z-index: 102;
  background-image: url(images/footer-background.svg);
  background-color: #20252b;
  background-size: 105%;
  background-position: top left;
  margin-top: 324px;
  border-right: 1px solid var(--color-blue-gray);
  background-repeat: no-repeat;
}

#footer-narrow-placeholder {
  grid-area: footer;
  z-index: 101;
}

footer {
  position: relative;
  bottom: 0px;
  width: 100%;
  height: 80px;
  background-color: var(--color-dark-blue);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 0px;
  padding-bottom: 50px;
  gap: 95px;
  z-index: 81;
}

#contact-narrow-placeholder {
  grid-area: contact-narrow;
  z-index: 100;
  background: linear-gradient(180deg, #fefbfa00 51%, #20252b 51%);
  border-left: 1px solid var(--color-light-brown-red);
}

.index-page #contact-narrow-placeholder {
  border: none;
}

.services-page #contact-narrow-placeholder,
.project-page #contact-narrow-placeholder,
.cv-page #contact-narrow-placeholder {
  background: linear-gradient(180deg, #fefbfa00 55%, #20252b 55%);
}

#copyright-placeholder {
  grid-area: footer-copyright;
  background-color: var(--color-dark-blue);
  z-index: 102;
}

.project-page aside.footer-aside {
  grid-area: footer-aside;
  position: relative;
  bottom: 0;
  left: 0;
  width: 281px;
  height: 381px;
  z-index: 84;
  background-image: url("images/footer-background.svg");
  background-color: #20252b;
  background-size: 105%;
  background-position: bottom left;
  margin-top: 235px;
  border-right: 1px solid var(--color-blue-gray);
}

/* =====================
     Typography
     ===================== */
h1,
.baloo,
h2,
h5 {
  color: var(--color-dark-brown-red);
}
h2,
.baloo {
  font-weight: var(--font-weight-h1-h2);
  line-height: var(--line-height-h);
  font-family: var(--font-baloo);
}

h1,
h3,
h4 {
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-h3-h4);
}
h4,
p,
a {
  color: var(--color-dark-blue);
}
h5,
p,
a {
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
}
p,
a {
  font-weight: var(--font-weight-p);
}

h1 {
  font-size: var(--font-size-h1);
  line-height: 1.9;
  height: 150px;
}

.second-line {
  position: relative;
  top: -25px; /* Adjust this value to move the second line higher or lower */
  display: inline-block;
}

.baloo {
  font-size: var(--font-size-baloo);
}

h2 {
  font-size: var(--font-size-h2);
  padding-bottom: 10px;
}

h3 {
  font-size: var(--font-size-h3);
  color: var(--color-light-brown-red);
  line-height: var(--line-height-h);
}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h);
}

h5 {
  font-weight: var(--font-weight-h1-h2);
  text-transform: uppercase;
}

p {
  line-height: var(--line-height-p);
  max-width: 55ch;
}
.highlight {
  font-weight: var(--font-weight-highlight);
}
a {
  text-decoration: none;
}

@media screen and (min-width: 1280px) {
  h1 {
    font-size: 36px;
    line-height: 2;
    height: 120px;
  }
  .baloo {
    font-size: 40px;
  }
}

@media screen and (max-width: 865px) {
  p {
    font-size: 18px;
  }
  h1 {
    font-size: 44.79px;
  }
  h2 {
    font-size: 46px;
    padding-bottom: 14px;
  }
  h3 {
    font-size: 31.1px;
  }
  h4 {
    font-size: 24px;
    line-height: var(--line-height-h);
  }
  h5 {
    font-size: 18px;
  }
  h6 {
    font-size: 16px;
  }
}

/* Lower index (subscript) styling */
.low-index {
  position: relative;
  vertical-align: baseline;
  font-size: 10px;
  line-height: 18px;
  bottom: -2px;
  font-weight: 700;
}

/* =====================
   Buttons
   ===================== */

.btn {
  padding: var(--button-padding);
  border-radius: var(--border-radius-less);
  font-weight: var(--font-weight-btn-1-3);
}

.btn-primary {
  color: var(--color-light-font);
  background-color: var(--color-dark-blue);
  border: 1px solid var(--color-dark-blue);
  transition: background-color 0.2s ease-in-out;
}

.btn-primary:hover {
  background-color: var(--color-blue-gray);
}

.btn-secondary {
  color: var(--color-dark-brown-red);
  background-color: var(--color-light-beige);
  border: 1px solid var(--color-dark-brown-red);
  transition: background-color 0.2s ease-in-out;
}

.btn-secondary:hover {
  background-color: var(--color-pastel-peach);
}

.btn-tertiary {
  color: var(--color-light-font);
  background-color: var(--color-dark-brown-red);
  border: 1px solid var(--color-dark-brown-red);
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.btn-tertiary:hover {
  background-color: var(--color-light-brown-red);
  border: 1px solid var(--color-light-beige);
}

.btn-quaternary {
  color: var(--color-dark-brown-red);
  font-weight: var(--font-weight-btn-4);
  padding: 0px;
}

.btn-form {
  color: var(--color-light-font);
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-btn-4);
  font-size: var(--font-size-p);
  padding: 0px;
}

.button-icon {
  fill: none;
  transform: translateX(-12.53px);
  transition: transform 0.3s ease-in-out;
}

.button-icon path {
  fill: var(--color-dark-brown-red);
}

.btn-form .button-icon path {
  fill: var(--color-light-font);
}

.button-icon path.starflower,
.btn-form .button-icon path.starflower {
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.2s ease-in-out, transform 0.3s ease-in-out;
}

a.btn-quaternary:hover .button-icon {
  transform: translateX(0);
}

.btn-form:hover .button-icon {
  transform: translateX(0);
}

a.btn-quaternary:hover .button-icon path.starflower {
  opacity: 1;
  transform: translateX(0);
}

.btn-form:hover .button-icon path.starflower {
  opacity: 1;
  transform: translateX(0);
}

/* =====================
   Anchor
   ===================== */

[id]::before {
  content: "";
  position: relative;
  display: block;
  height: 95px;
  margin-top: -95px;
  visibility: hidden;
  z-index: -1;
}

#contact::before,
#features::before,
#hamburger-menu::before {
  display: none;
}

#branding-works::before,
#graphic-works::before,
#webdesign-works::before,
#marketing-works::before,
#essence::before {
  margin-top: -140px;
}

#about-brand::before,
#outputs::before {
  margin-top: -145px;
  height: 145px;
}

#webdesign::before {
  margin-top: -92px;
}

#marketing::before {
  margin-top: -92px;
}

#graphics::before {
  margin-top: -80px;
}

.index-page #carousel::before {
  margin-top: -65px;
}

/* =====================
   Line & Starflower
   ===================== */
.starflower path {
  fill: var(--color-dark-blue);
}

.line-svg {
  position: sticky;
  top: 0px;
  height: 100vh;
  stroke: var(--color-light-brown-red);
  z-index: 1;
  margin-top: -3100px;
}

.starflower-container {
  position: relative;
  left: 83.3%;
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: 1fr;
  align-items: left;
  justify-content: left;
  z-index: 99;
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.1s ease-in-out;
}

.main-starflower-container {
  position: relative;
  display: grid;
  grid-template-columns: 180px;
  grid-template-rows: 710px 360px 1495px 200px 1fr;
  height: 3300px;
  width: 180px;
  margin-top: -3306px;
  z-index: 102;
}

.main-starflower-container > div:nth-child(2),
.main-starflower-container > div:nth-child(4) {
  display: flex;
  flex-direction: row;
}

.main-starflower-container > div:nth-child(2) {
  top: 710px;
  height: 380px;
}

.main-starflower-container > div:nth-child(4) {
  top: 2200px;
  height: 200px;
}

.starflower-icon {
  pointer-events: none;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  height: 40px;
  position: sticky;
  width: 160px;
  display: flex;
  gap: 18px;
}

.main-starflower-container > div:nth-child(2) .starflower-icon {
  top: 200px;
}

.main-starflower-container > div:nth-child(4) .starflower-icon {
  bottom: 200px;
}

.main-starflower-container > div:nth-child(2).visible .starflower-icon,
.main-starflower-container > div:nth-child(4).visible .starflower-icon {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
  transform: translateY(0px);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.aside-starflower-container.visible {
  transform: translateY(0px);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.aside-starflower-container .starflower-icon {
  opacity: 1;
  flex-direction: column;
  height: 100px;
  width: 140px;
  pointer-events: auto;
  cursor: pointer;
  gap: 5px;
}
/* Responsive line-svg positioning */

@media (min-width: 896px) {
    .line-svg {
        display: none;
        left: 0;
    }
    .main-starflower-container {
        display: none;
        left: 0;
      }
}

@media (min-width: 991px) {
    .line-svg {
        left: 82.1%;
    }
    .main-starflower-container {
        left: 80.7%;
      }
}

@media (min-width: 1024px) {
  .line-svg {
    left: 86.1%;
  }
  .main-starflower-container {
    left: 84.8%;
  }
}

@media (min-width: 1280px) {
  .line-svg {
    left: 78.7%;
  }
  .main-starflower-container {
    left: 77.65%;
  }
}

@media (min-width: 1366px) {
  .line-svg {
    left: 76.9%;
  }
  .main-starflower-container {
    left: 75.9%;
  }
}

@media (min-width: 1440px) {
  .line-svg {
    left: 75.5%;
  }
  .main-starflower-container {
    left: 74.5%;
  }
}

@media (min-width: 1536px) {
  .line-svg {
    left: 73.8%;
  }
  .main-starflower-container {
    left: 72.95%;
  }
}

@media (min-width: 1600px) {
  .line-svg {
    left: 72.9%;
  }
  .main-starflower-container {
    left: 72.1%;
  }
}

@media (min-width: 1680px) {
  .line-svg {
    left: 71.8%;
  }
  .main-starflower-container {
    left: 70.96%;
  }
}

@media (min-width: 1920px) {
  .line-svg {
    left: 69.05%;
  }
  .main-starflower-container {
    left: 68.35%;
  }
}

@media (min-width: 2560px) {
  .line-svg {
    left: 63.3%;
  }
  .main-starflower-container {
    left: 62.75%;
  }
}

@media (min-width: 3840px) {
  .main-starflower-container {
    left: 63%;
  }
}

.photo-starflower .starflower-container {
  top: 21px;
  left: 55px;
  grid-template-columns: 130px 1fr;
}

.aside-starflower-container {
  margin-bottom: 227px;
  left: 9px;
  width: 140px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.starflower-container.visible {
  opacity: 1;
  pointer-events: auto;
}

.starflower.starflower-big {
  filter: drop-shadow(0px 0px 5px #cfefb3);
  width: 42px;
  animation: blicking 3s infinite, atention 8s ease infinite 7s;
}

.starflower.starflower-big:hover {
  animation: rotation 1s;
}

.starflower.starflower-big path {
  fill: #699f7d;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}

@keyframes blicking {
  0%,
  100% {
    filter: drop-shadow(0px 0px 5px rgb(168, 206, 135));
  }
  50% {
    filter: drop-shadow(0px 0px 1px rgba(207, 239, 179));
    scale: 0.95;
  }
}

@keyframes atention {
  0%,
  100% {
    transform: scale(1);
  }
  76% {
    transform: scale(1);
  }
  84% {
    transform: scale(0.8);
  }
  96% {
    transform: scale(1.2);
  }
}

.starflower-text {
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-h3-h4);
  color: var(--color-dark-blue);
  line-height: var(--line-height-h);
  width: 100%;
  text-align: left;
  padding-top: 3px;
  display: block;
  opacity: 0;
  pointer-events: auto;
  transition: opacity 0.3s;
}

.photo-starflower .starflower-text {
  padding: 0;
}

/* =====================
   Starflower Animation for CV Section
   ===================== */

/* Initial state for CV starflowers */
.cv .starflower {
  opacity: 0;
  transform: scale(0.3) rotate(0deg);
  transition: opacity 0.6s ease-out, transform 0.8s ease-out;
}

/* Animated state when starflower comes into view */
.cv .starflower.starflower-animate {
  opacity: 1;
  transform: scale(1) rotate(360deg);
}

/* Add 0.2s delay to all starflowers except the first one */
.cv .grid-item:not(:nth-child(1)) .starflower.starflower-animate {
  transition-delay: 0.2s;
}

/* Ensure the animation works on both cv.html and bio-a-curriculum-vitae.html */
.cv-page .cv .starflower,
.bio-a-curriculum-vitae .cv .starflower {
  opacity: 0;
  transform: scale(0.3) rotate(0deg);
  transition: opacity 0.6s ease-out, transform 0.8s ease-out;
}

.cv-page .cv .starflower.starflower-animate,
.bio-a-curriculum-vitae .cv .starflower.starflower-animate {
  opacity: 1;
  transform: scale(1) rotate(360deg);
}

/* Add 0.2s delay to all starflowers except the first one (cross-page compatibility) */
.cv-page .cv .grid-item:not(:nth-child(1)) .starflower.starflower-animate,
.bio-a-curriculum-vitae
  .cv
  .grid-item:not(:nth-child(1))
  .starflower.starflower-animate {
  transition-delay: 0.2s;
}

/* Project page starflower animations */
.project-page .brand-items-container .starflower {
  opacity: 0;
  transform: scale(0.3) rotate(0deg);
  transition: opacity 0.6s ease-out, transform 0.8s ease-out;
}

.project-page .brand-items-container .starflower.starflower-animate {
  opacity: 1;
  transform: scale(1) rotate(360deg);
}

/* First column starflowers - row-by-row delays within the grid */
.project-page
  .brand-items-container
  .brand-item:nth-child(1)
  .grid-item:nth-child(1)
  .starflower.starflower-animate {
  transition-delay: 0s; /* First row - no delay */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(1)
  .grid-item:nth-child(2)
  .starflower.starflower-animate {
  transition-delay: 0.2s; /* Second row */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(1)
  .grid-item:nth-child(3)
  .starflower.starflower-animate {
  transition-delay: 0.4s; /* Third row */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(1)
  .grid-item:nth-child(4)
  .starflower.starflower-animate {
  transition-delay: 0.6s; /* Fourth row */
}

/* Second column starflowers - start when first column finishes, then row-by-row delays */
.project-page
  .brand-items-container
  .brand-item:nth-child(2)
  .grid-item:nth-child(1)
  .starflower.starflower-animate {
  transition-delay: 1s; /* First row of second column */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(2)
  .grid-item:nth-child(2)
  .starflower.starflower-animate {
  transition-delay: 1.2s; /* Second row of second column */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(2)
  .grid-item:nth-child(3)
  .starflower.starflower-animate {
  transition-delay: 1.4s; /* Third row of second column */
}

.project-page
  .brand-items-container
  .brand-item:nth-child(2)
  .grid-item:nth-child(4)
  .starflower.starflower-animate {
  transition-delay: 1.6s; /* Fourth row of second column */
}

/* =====================
   Navigation Primary
   ===================== */
.index-page nav, .error-page nav {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 75px;
  z-index: 100;
  background-color: var(--color-dark-blue);
  box-shadow: 0px 4px 10.3px rgba(32, 37, 43, 0.25);
}

.nav-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 11px 120px;
}

.logo a {
  font-family: var(--font-baloo);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-h1-h2);
  color: var(--color-light-beige);
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0px;
}

.logo-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2px;
  z-index: 100;
}

.logo-text span {
  line-height: 1;
  transition: transform 0.2s ease;
}

.logo-r {
  transform: rotate(8deg) translateY(-3px);
}

.logo-s {
  transform: rotate(-10deg) translateY(3px);
}

.logo a:hover .logo-m {
  transform: translateY(2px);
}

.logo a:hover .logo-r {
  transform: rotate(0deg) translateY(-5px);
}

.logo a:hover .logo-s {
  transform: rotate(0deg) translateY(5px);
}

.logo a:hover .logo-k {
  transform: translateY(-2px);
}

.logo .starflower:first-of-type {
  fill: none;
  transform: translateY(12px) translateX(-10px);
  transition: transform 0.4s ease-in-out;
}

.logo a:hover .starflower:first-of-type {
  transform: translateY(2px) translateX(-23px) rotate(-15deg);
}

.logo .starflower:last-of-type {
  fill: none;
  transform: translateY(-12px) translateX(15px);
  transition: transform 0.4s ease-in-out;
}

.logo a:hover .starflower:last-of-type {
  transform: translateY(-4px) translateX(30px) rotate(-60deg);
}

.logo .starflower path {
  fill: var(--color-light-beige);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.logo a:hover .starflower path {
  opacity: 1;
}

.nav-links {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
}

.nav-links a {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0px 29px 0px 8px;
  color: var(--color-light-beige);
  transition: font-weight 0.5s ease;
}

.nav-links a.active {
  font-weight: var(--font-weight-highlight);
}

.nav-links-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  gap: 40px;
}

.nav-links .starflower {
  fill: none;
  transform: translateY(6px) translateX(-8px);
  transition: transform 0.3s ease-in-out;
}

.nav-links a:hover .starflower {
  transform: translateY(-2px) translateX(0) rotate(-60deg);
}

.nav-links .starflower path {
  fill: var(--color-light-beige);
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.nav-links a:hover .starflower path {
  opacity: 1;
}

.nav-links ul {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
}

.nav-links li {
  list-style: none;
}

/* =====================
   Secondary Nav
   ===================== */

.secondary-nav {
  height: 100%;
  width: 129px;
  display: flex;
  flex-direction: column;
  background-color: transparent;
  box-shadow: none;
}

.secondary-nav h3 {
  font-weight: var(--font-weight-h1-h2);
  color: var(--color-dark-brown-red);
  margin-bottom: 20px;
  text-transform: uppercase;
  padding: 150px 0px 10px;
}

.secondary-nav .nav-links a {
  color: var(--color-dark-blue);
  padding: 0;
  transition: color 2s ease, text-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  text-shadow: 0 0 0 transparent;
  will-change: text-shadow;
}

.secondary-nav .nav-links {
  justify-content: flex-start;
}

.secondary-nav .nav-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 25px;
}

.secondary-nav li {
  display: block;
}

.secondary-nav li:hover a {
  color: var(--color-blue-gray);
}

.secondary-nav li:active a,
.secondary-nav .nav-links a.clicked,
.secondary-nav-links a.clicked,
.secondary-nav .nav-links a.active,
.secondary-nav-links a.active {
  text-shadow: 0px 0px 1px currentColor;
}

.secondary-nav .nav-links .starflower path {
  fill: var(--color-blue-gray);
}

.secondary-nav-links .starflower {
  fill: none;
  transform: translateX(8px);
  transition: transform 0.3s ease-in-out;
}

/* =====================
   Navigation Breadcrumb
   ===================== */

nav.breadcrumb-nav {
  background: none;
  height: 27px;
  box-shadow: none;
  margin: 0px 0px 30px;
  width: 100%;
  margin-top: -5px;
}

nav.breadcrumb-nav.initial {
  position: relative;
  top: 0px;
  transform: translateY(50px);
  transition: transform 0.2s ease-in-out;
}

nav.breadcrumb-nav.sticky {
  position: sticky;
  top: 75px;
  z-index: 98;
  transform: translateY(0px);
  transition: transform 0.2s ease-in-out;
}

.breadcrumb-nav .nav-container {
  background-color: var(--color-dark-text-background);
  justify-content: flex-start;
  padding: 0px;
  padding-left: 288px;
  border: 1px solid var(--color-light-blue-gray);
  border-left: none;
  border-right: none;
}

.breadcrumb-nav .nav-links a {
  padding: 0px 12px;
  color: var(--color-dark-blue);
  font-size: var(--font-size-small);
  align-items: center;
}

.breadcrumb-nav .nav-links li:nth-of-type(1) a {
  font-weight: var(--font-weight-highlight);
}

.breadcrumb-nav .nav-links li:nth-of-type(2),
.breadcrumb-nav .nav-links li:nth-of-type(1) {
  margin-left: -17px;
}

.breadcrumb-nav .nav-links li:last-of-type a {
  height: 27px;
  width: 27px;
}

.breadcrumb-nav .nav-links-container {
  gap: 0px;
}

.breadcrumb-nav .nav-links ul {
  margin: 0px;
  padding: 0px 0px 0px 10px;
  gap: 0px;
}

.breadcrumb-nav .nav-links li {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  order: 0;
  margin-left: -17.5px;
}

.breadcrumb-nav .nav-links li:nth-child(1) {
  order: 5;
}
.breadcrumb-nav .nav-links li:nth-child(2) {
  order: 4;
}
.breadcrumb-nav .nav-links li:nth-child(3) {
  order: 3;
}
.breadcrumb-nav .nav-links li:nth-child(4) {
  order: 2;
}
.breadcrumb-nav .nav-links li:nth-child(5) {
  order: 1;
}

.breadcrumb-nav .nav-links li:hover {
  background-color: var(--color-light-blue);
}

/* Disable hover effect and make project name (current page) non-clickable */
.breadcrumb-nav .nav-links li[data-current-page="true"] {
  pointer-events: none;
}

.breadcrumb-nav .nav-links li[data-current-page="true"] a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

.breadcrumb-nav .nav-links li[data-current-page="true"]:hover {
  background-color: transparent !important;
}

.breadcrumb-nav .nav-links li[data-current-page="true"]:hover path.breadcrumb-bg {
  fill: #A3B2BF !important;
}

.breadcrumb-nav .nav-links li[data-current-page="true"]:hover rect {
  fill: #A3B2BF !important;
}

.breadcrumb-nav .nav-links li:first-of-type:hover path.breadcrumb-bg {
  fill: var(--color-dark-text-background);
}

.breadcrumb-nav .nav-links li:hover path.breadcrumb-bg {
  fill: var(--color-light-blue);
}

.breadcrumb-nav .nav-links li:hover rect {
  fill: var(--color-dark-text-background);
}

.breadcrumb-svg {
  fill: none;
}

.breadcrumb-svg rect {
  fill: var(--color-dark-text-background);
}

.breadcrumb-nav .nav-links rect {
  fill: none;
}

path.breadcrumb-arrow {
  fill: none;
  stroke: var(--color-light-blue-gray);
  stroke-width: 0.8px;
}

path.breadcrumb-bg {
  fill: var(--color-dark-text-background);
}

path.breadcrumb-icon {
  fill: none;
  stroke: var(--color-dark-blue);
  stroke-width: 0.8px;
}

/* =====================
   Sections and containers
   ===================== */

section {
  width: 100%;
  z-index: 2;
  /* height: 100%; */
}

.container {
  width: 100%;
  max-width: 825px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  padding: 70px 0px 30px;
}

.main-grid .container {
  max-width: 825px;
}

/* =====================
   Hero sections
   ===================== */

section.hero {
  background-image: url("images/header-background.svg");
  background-color: var(--color-light-beige);
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  margin-top: -5px;
}

.hero .container {
  padding: 130px 0px 150px;
}

/* =====================
   Features sections
   ===================== */

section.features {
  background-color: rgba(163, 178, 191, 0.27); /* Start at 0.27 opacity, will animate to full opacity (1) on scroll */
  border: 1px solid rgba(108, 130, 150, 0);
  border-left: none;
  border-right: none;
  transition: transform 0.3s ease-out, background-color 0.4s ease-out,
    border-color 0.4s ease-out, top 0.3s ease-out, height 0.4s ease-out;
}

.services-page section.features {
  padding: 0px;
  display: flex;
  align-items: center;
}

.index-page section.features, .error-page section.features {
  margin-top: -46px;
  height: 46px;
  transition: margin-top 0.2s ease-out;
}

@media (max-width: 1024px) {
  .index-page section.features, .error-page section.features {
    margin-top: -48px;
    height: 46px;
  }
}

@media (min-width: 2560px) {
  .index-page section.features, .error-page section.features {
    margin-top: -58px;
    height: 56px;
  }
}

.features .container {
  max-width: 1195px;
  padding: 5px 0px 0px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

@media (max-width: 1024px) {
  .features .container {
    padding: 2px 0px;
  }
}

.services-page .features .container {
  padding: 0px 0px 0px 30px;
  width: initial;
  justify-content: flex-start;
  gap: 45px;
}

@media (min-width: 1280px) {
  .services-page .features .container {
    gap: 30px;
  }
}

@media (min-width: 1366px) {
  .services-page .features .container {
    gap: 40px;
  }
}

@media (min-width: 2560px) {
  .features .container {
    padding: 21px 0px;
  }
  .index-page .features .container, .error-page .features .container {
    padding: 17px 0px;
  }
}

section.features h5 {
  color: var(--color-dark-blue);
  font-weight: var(--font-weight-h3-h4);
  align-content: center;
  margin: 0px;
}

/* Sticky features bar */
section.features.sticky {
  position: fixed;
  top: 73px;
  left: 0;
  right: 0;
  z-index: 99;
  margin-top: -46px;
  transform: translateY(46px); /* Default to scroll-down position to match natural state */
  transition: transform 0.3s ease-out, margin-top 0.2s ease-out;
}

/* Constrain sticky features to .main only (services-page: aside + main layout) */
.services-page section.features.sticky {
  left: 281px;
  right: 0;
  width: auto;
}

section.features.sticky.scroll-down {
  transform: translateY(46px);
}

section.features.sticky.scroll-up {
  transform: translateY(-100%);
}

/* Smooth transition when sticky is removed */
section.features:not(.sticky) {
  transform: translateY(0);
  transition: transform 0.3s ease-out, background-color 0.4s ease-out,
    border-color 0.4s ease-out, top 0.3s ease-out;
}

@media (min-width: 2560px) {
  section.features.sticky .container.features-bar .features-bar-item {
    transform: translateY(6px);
    transition: transform 0.2s ease-in-out;
  }
}

/* =====================
   Contact section
   ===================== */

section.contact {
  z-index: 83;
}

.contact .container {
  padding-bottom: 0px;
}

/* =====================
   Underlined sections
   ===================== */

section.about-project,
section.essence,
section.about-brand,
section.outputs,
section.about-me,
section.works {
  border-bottom: 1px solid var(--color-light-brown-red);
}

section.about-project {
  margin-bottom: 30px;
}

section.works:last-of-type {
  border-bottom: none;
}

/* =====================
   Footer
   ===================== */

footer .footer-container {
  padding: 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 95px;
}

footer.footer-narrow .footer-container {
  width: 100%;
  max-width: 825px;
}

/* =====================
   Containers
   ===================== */

.about-project .container,
.essence .container,
.about-brand .container,
.outputs .container,
.similar-projects .container,
.contact-narrow .container,
.cv .container,
.about-me .container,
.about-services .container {
  width: 100%;
  max-width: 825px;
}

.works .container,
.cv .container {
  padding-top: 90px;
  transition: padding-top 0.3s ease-out;
}

.about .container {
  padding-bottom: 70px;
}

.about-project .container,
.about-me .container {
  padding: 150px 0px 90px;
}

.about-services .container {
  padding: 106px 0px 84px;
}

section.about-services:first-of-type .container.about-services {
  padding-top: 142px;
  padding-bottom: 84px;
}

.essence .container {
  padding-bottom: 0px;
  margin-bottom: 0px;
  padding-top: 130px;
}

.about-me .container,
.about-services .container {
  gap: 5px;
}

.about-brand .container {
  gap: 30px;
}

.essence,
.about-brand {
  margin-bottom: 50px;
}

/* =====================
   Contact
   ===================== */

.contact-form {
  padding-bottom: 0px;
  margin-top: 0px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 17px;
  width: 100%;
  z-index: 83;
}

label {
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-btn-1-3);
  color: var(--color-dark-brown-red);
  height: 20px;
  padding: 1px 2px 2px 8px;
  margin: 2px;
  border-radius: 6px;
  z-index: 98;
  background: linear-gradient(180deg, #fffaf8 40%, rgba(254, 251, 250, 0) 100%);
  width: 95%;
}

label[for="contact-message"] {
  padding: 3px 8px 12px;
  margin-top: 3px;
  width: 96%;
}

input,
textarea {
  background-color: var(--color-light-beige);
  border-radius: var(--border-radius-less);
  padding: 33px 8px 8px;
  border: 1px solid var(--color-dark-brown-red);
  height: 18px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  margin-top: -37px;
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-btn-4);
  color: var(--color-blue-gray);
  font-size: var(--font-size-p);
  overflow: hidden;
}

textarea {
  height: 60px;
  max-width: 690px;
  margin-top: -48px;
  overflow-x: hidden;
  overflow-y: auto;
  resize: vertical;
  white-space: pre-wrap;
  font-weight: var(--font-weight-p);
  scrollbar-color: var(--color-light-brown-red) var(--color-light-beige);
}

.contact-narrow textarea {
  max-width: 800px;
}

input {
  max-width: 326px;
}

.contact-narrow input {
  max-width: 380px;
}

textarea::-webkit-scrollbar-thumb:hover {
  background: var(--color-dark-brown-red); /* color on hover */
}

input::placeholder {
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-p);
  color: var(--color-gray);
  font-size: var(--font-size-p);
  vertical-align: bottom;
  opacity: 0;
  transition: opacity 0.2s;
}

textarea::placeholder {
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-p);
  color: var(--color-gray);
  font-size: var(--font-size-p);
  opacity: 0;
  transition: opacity 0.2s;
}

input:focus,
textarea:focus {
  background-color: #fff9f7;
}

textarea:focus::placeholder {
  opacity: 1;
}

input:focus::placeholder {
  opacity: 1;
}

.required {
  font-family: var(--font-baloo);
  font-weight: var(--font-weight-h1-h2);
}

.contact-field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
}

.contact-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  width: 100%;
  max-width: 825px;
}

.contact-narrow .contact-row {
  max-width: 825px;
}

.message-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
}

/* =====================
   Contact Form Messages
   ===================== */

.form-message {
  padding: 12px 16px;
  border-radius: var(--border-radius-less);
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-p);
  text-align: center;
  transition: all 0.3s ease;
  animation: slideIn 0.3s ease-out;
}

.form-message-success {
  background-color: #cfefb3;
  color: #24613a;
  border: 1px solid #7dff0b;
}

.form-message-error {
  background-color: #eeb9ac;
  color: #7c402f;
  border: 1px solid #ff3300;
}

/* Loading state for submit button */
.btn-loading {
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-btn-1-3);
}

/* Disabled button state */
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.form-message-success::before {
  content: "✓ ";
  font-weight: bold;
}

.form-message-error::before {
  content: "✗ ";
  font-weight: bold;
}

.gradient-btn-text {
background: linear-gradient(
    90deg,
    var(--color-dark-peach),
    var(--color-dark-brown-red),
    var(--color-light-blue),
    var(--color-dark-blue),
    var(--color-dark-brown-red)
  );
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 500% 500%;
  animation: gradient-animation 6s ease infinite;
}

@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Style autofilled inputs to match your brand */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  background-color: var(
    --color-dark-text-background
  ) !important; /* Your light brown */
  color: var(--color-blue-gray) !important; /* Your dark text */
  border-color: var(--color-dark-brown-red) !important; /* Your border color */
}

/* Firefox support */
input:-moz-autofill {
  background-color: #eedcd7 !important;
  color: #20252b !important;
}

/* =====================
   Footer
   ===================== */

.footer-contacts {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

.footer-phone-numbers {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 16px;
}

footer .nav-links ul {
  flex-direction: column;
  align-items: flex-start;
  gap: -1px;
  height: 47px;
  padding: 0px;
  margin: 0px;
  gap: 5px;
}

.footer-icon-box {
  width: 40px;
  height: 40px;
  background-color: var(--color-light-brown-red);
  border-radius: var(--border-radius-less);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2px;
  transition: background-color 0.2s ease-in-out;
}

.footer-icon-box.footer-icon-box-overflow {
  padding-right: 0px;
}

.footer-icon {
  width: 100%;
  height: 100%;
  margin-top: 0px;
}

.footer-icon path {
  fill: var(--color-light-font);
}

svg.footer-icon.phone {
  height: 44px;
}

.phone {
  transform: translateY(-7px) translateX(0px);
}

.footer-icon path.snura-dlha,
.footer-icon path.snura-kratka {
  stroke: var(--color-light-font);
  stroke-width: 0.8;
  fill: none;
}

.cv-header-icon .footer-icon path.snura-dlha,
.footer-icon path.snura-kratka {
  stroke: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon path.snura-dlha,
.footer-icon path.snura-kratka {
  stroke: var(--color-light-beige);
}

.footer-icon path.snura-dlha {
  opacity: 0;
  transform: translateX(-3px) translateY(0px);
  transition: opacity 0.3s ease-in;
}

.footer-icon path.snura-kratka {
  opacity: 1;
  transform: translateX(-3px) translateY(5px) scaleY(0.8);
  transition: opacity 0.3s ease-in-out;
}

.footer-icon-box:hover path.snura-kratka {
  transform: translateX(4px) translateY(-9px) scaleY(1.2) scalex(0.8);
  transition: transform 0.2s ease-in-out;
}

.footer-icon-box:hover path.snura-dlha {
  opacity: 1;
}

.cv-header-icon .footer-icon-box:hover path.snura-dlha {
  stroke: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon-box:hover path.snura-dlha {
  stroke: var(--color-light-beige);
}

.footer-icon path.phone-receiver {
  transform: rotate(0deg) translateY(8px) translateX(-3px) scale(1);
}

.cv-header-icon .footer-icon path.phone-receiver {
  fill: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon path.phone-receiver {
  fill: var(--color-light-beige);
}

.footer-icon-box:hover path.phone-receiver {
  transform: rotate(15deg) translateY(-4px) translateX(3px) scale(1);
  transition: transform 0.2s ease-in-out;
}

.footer-icon path.lines {
  stroke: var(--color-light-brown-red);
  stroke-width: 0.4;
  fill: none;
  transform: rotate(0deg) translateY(8px) translateX(-3px) scale(1);
}

.footer-icon-box:hover path.lines {
  transform: rotate(15deg) translateY(-4px) translateX(3px) scale(1);
  transition: transform 0.2s ease-in-out;
}

.cv-header-icon .footer-icon path.lines {
  stroke: var(--color-light-beige);
}

.narrow-footer-icon .footer-icon path.lines {
  stroke: var(--color-light-brown-red);
}

.mail {
  transform: translateY(-7px);
}

.narrow-footer-icon .mail {
  transform: translateY(-7px) translatex(-3.5px);
}

.footer-icon path.envelope-inside-stroke,
.footer-icon path.envelope-outside-stroke {
  stroke: var(--color-light-brown-red);
  stroke-width: 0.4;
  fill: none;
}

.cv-header-icon .footer-icon path.envelope-inside-stroke,
.footer-icon path.envelope-outside-stroke {
  stroke: var(--color-light-beige);
}

.narrow-footer-icon .footer-icon path.envelope-inside-stroke,
.footer-icon path.envelope-outside-stroke {
  stroke: var(--color-light-brown-red);
}

.footer-icon path.envelope-inside-up {
  opacity: 0;
  transition: opacity 0.3s;
}

.footer-icon-box:hover path.envelope-inside-up {
  opacity: 1;
}

.cv-header-icon .footer-icon-box .envelope-outside {
  fill: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon-box .envelope-outside {
  fill: var(--color-light-beige);
}

.cv-header-icon .footer-icon-box .envelope-inside-down {
  fill: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon-box .envelope-inside-down {
  fill: var(--color-light-beige);
}

.cv-header-icon .footer-icon-box:hover path.envelope-inside-up {
  fill: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon-box:hover path.envelope-inside-up {
  fill: var(--color-light-beige);
}

.footer-icon path.envelope-inside-stroke {
  opacity: 0;
  transition: opacity 0.3s;
}

.footer-icon-box:hover path.envelope-inside-stroke {
  opacity: 1;
}

.cv-header-icon .footer-icon-box:hover path.envelope-inside-stroke {
  fill: var(--color-light-beige);
}

.narrow-footer-icon .footer-icon-box:hover path.envelope-inside-stroke {
  fill: var(--color-light-brown-red);
}

.footer-icon path.at {
  opacity: 0;
  transform: translateY(13px) translateX(12px);
  transition: opacity 0.3s ease-in-out 0.1s, transform 0.3s ease-in-out 0.1s;
}

.footer-icon-box:hover path.at {
  opacity: 1;
  transform: translateY(1px) translateX(0px) scale(1.1);
}

.narrow-footer-icon .footer-icon-box:hover path.at {
  opacity: 1;
  transform: translateY(0px) translateX(0px) scale(1.1);
}

.cv-header-icon .footer-icon-box:hover path.at {
  fill: var(--color-light-brown-red);
}

.narrow-footer-icon .footer-icon-box:hover path.at {
  fill: var(--color-light-beige);
}

/* =====================
   Email Copy Feedback Styles
   ===================== */

.footer-icon-box.copied {
  background-color: var(--color-dark-peach);
  transform: scale(1.05);
  transition: all 0.2s ease-in-out;
}

.footer-icon-box.copied path {
  fill: var(--color-light-font);
}

.footer-socials {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 19px;
}

button.calendar-button {
  background-color: var(--color-light-brown-red) !important;
  color: var(--color-light-font) !important;
  font-family: var(--font-lexend) !important;
  font-size: var(--font-size-p) !important;
  padding: 9px 15px !important;
  border: 1px solid var(--color-light-brown-red) !important;
  transition: background-color 0.2s ease-in-out !important;
  cursor: pointer !important;
}

button.calendar-button:hover {
  background-color: var(--color-dark-peach) !important;
}

.footer-copyright {
  border-top: 1px solid var(--color-light-blue-gray);
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: start;
  padding-left: 50px;
}

footer.footer-narrow .footer-copyright {
  padding-left: 281px;
  max-width: 1233px;
}

.footer-copyright p {
  color: var(--color-light-blue-gray);
  font-size: 14px;
}

/* =====================
   Hero Section
   ===================== */

.hero-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  height: 100%;
  margin-top: 30px;
}

.hero .container p,
.hero .container a {
  font-size: 18px;
}

.hero .container p {
  width: 40ch;
}

@media (min-width: 1280px) {
  .hero .container p,
  .hero .container a {
    font-size: 17px;
  }
}

.photo-starflower {
  margin-top: -50px;
}

.two-columns-div {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}

/* =====================
   Features Section
   ===================== */

.features-bar-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  height: 40px;
  transition: height 0.4s ease-out;
}

.services-page .features-bar {
  padding-top: 3px;
}

.services-page .features-bar-item {
  gap: 14px;
  align-items: flex-start;
}

.services-page .features-bar-item .starflower {
  padding: 5px 0px;
}

/* Features bar starflower animations */
.features-bar-item .starflower {
  opacity: 0;
  transform: rotate(0deg);
  transition: opacity 0.6s ease-out, transform 0.8s ease-out;
}

.features-bar-item .starflower.starflower-animate {
  opacity: 1;
  transform: rotate(180deg);
}

/* Add staggered delay for each starflower */
.features-bar-item:nth-child(1) .starflower.starflower-animate {
  transition-delay: 0s;
}

.features-bar-item:nth-child(2) .starflower.starflower-animate {
  transition-delay: 0.3s;
}

.features-bar-item:nth-child(3) .starflower.starflower-animate {
  transition-delay: 0.6s;
}

.features-bar-item:nth-child(4) .starflower.starflower-animate {
  transition-delay: 0.9s;
}

/* Features bar H5 title animations */
.features-bar-item h5 {
  opacity: 0;
  transition: opacity 0.6s ease-out;
}

.features-bar-item h5.h5-animate {
  opacity: 1;
  font-size: 15px;
}

/* Add staggered delay for each H5 title */
.features-bar-item:nth-child(1) h5.h5-animate {
  transition-delay: 0s;
}

.features-bar-item:nth-child(2) h5.h5-animate {
  transition-delay: 0.15s;
}

.features-bar-item:nth-child(3) h5.h5-animate {
  transition-delay: 0.3s;
}

.features-bar-item:nth-child(4) h5.h5-animate {
  transition-delay: 0.45s;
}

/* =====================
   About Section
   ===================== */

.about .txt {
  padding: 10px 0px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 15px;
}

/* =====================
   Carousel
   ===================== */

.carousel {
  border-bottom: 1px solid var(--color-light-brown-red);
  margin-bottom: 30px;
}

.carousel .container {
  padding-bottom: 0px;
  width: 100%;
  height: 100%;
  max-width: 1196px;
  align-items: center;
}

.carousel-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 825px;
  gap: 15px;
}

.services-page .carousel-content {
  max-width: 100%;
  padding-top: 10px;
  gap: 50px;
  align-items: center;
}

.carousel-items {
  display: none;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  width: 100%;
  height: 365px;
}

.carousel-items.active {
  display: flex;
  opacity: 1;
  transform: translateX(0);
}

.carousel-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  height: 100%;
}

.carousel-item img {
  width: 100%;
  object-fit: contain;
  object-position: bottom;
  height: 301px;
  max-width: 825px;
}

.index-page .carousel-items.active .carousel-item img {
  animation: slide-in-up-img 0.2s ease;
  transform: translateY(-11px);
  transition: transform 0.2s ease;
}

.services-page .carousel-items.active .carousel-item:first-child {
  animation: slide-in-up-item 0.2s ease forwards;
  transform: translateY(0px);
}

.services-page .carousel-items.active .carousel-item:nth-child(2) {
  animation: slide-in-up-item 0.3s ease 0.1s forwards;
  transform: translateY(0px);
}

@keyframes slide-in-up-img {
  0% {
    transform: translateY(0);
    opacity: 0;
  }

  100% {
    transform: translateY(-12px);
    opacity: 1;
  }
}

@keyframes slide-in-up-item {
  0% {
    transform: translateY(12px);
    opacity: 1;
  }

  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

.carousel-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 825px;
  padding-bottom: 30px;
}

.carousel-header a.highlight {
  font-size: var(--font-size-h4);
}

.carousel-tags {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.works .carousel-tags {
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  gap: 8px;
}

.carousel-tags a {
  background-color: var(--color-blue-gray);
  padding: 6px 10px;
  border-radius: 5px;
  color: var(--color-light-beige);
  text-wrap: nowrap;
  border: 1px solid var(--color-light-beige);
  transition: background-color 0.2s ease-in-out, transform 0.2s ease-out;
  transform: translateY(10px);
  opacity: 0;
}

.works .carousel-tags a {
  opacity: 1;
  transform: translateY(0px);
  margin-bottom: 17px;
}

.outputs .carousel-tags a {
  transform: translateY(0px);
}

.carousel-tags a.tag-animate {
  transform: translateY(0px);
  opacity: 1;
}

.carousel-tags a:hover {
  background-color: var(--color-light-blue-gray);
}

.carousel-arrows {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1170px;
  margin-top: -60px;
  padding-bottom: 26px;
}

.services-page .carousel-arrows {
  margin-top: 0px;
  padding-bottom: 0px;
}

.carousel-arrow .button-icon path {
  fill: var(--color-dark-brown-red);
}

.carousel-arrow {
  transition: transform 0.3s ease-in-out;
}

.carousel-arrow .button-icon path.starflower {
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.2s ease-in-out, transform 0.3s ease-in-out;
}

.carousel-arrow:hover .button-icon path.starflower {
  opacity: 1;
  transform: translateX(0);
}

/* Carousel Pagination Dots */
.carousel-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}

.services-page .carousel-pagination {
  transform: translateY(-87px);
}

.pagination-dot {
  cursor: pointer;
  transition: transform 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination-dot .starflower path {
  fill: var(--color-light-brown-red);
  transition: fill 0.3s ease, transform 0.3s ease;
}

.pagination-dot:hover {
  transform: scale(1.2);
}

.pagination-dot.active .starflower path {
  fill: var(--color-dark-brown-red);
}

/* Works Section Carousel - Carousel-items structure */
.works .carousel-items {
  display: none;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  overflow: hidden;
  position: relative;
  height: max-content;
}

.works .carousel-items.active {
  display: grid;
  opacity: 1;
  transform: translateX(0);
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 40px;
}

.works .carousel-item {
  background: transparent;
  border-radius: var(--border-radius-more);
  transition: box-shadow 0.3s ease, transform 0.5s ease, opacity 0.5s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
  opacity: 1;
  pointer-events: auto;
  position: relative; /* Override absolute positioning from general carousel-item */
  bottom: auto;
  left: auto;
}

.works .carousel-item:hover .carousel-image {
  box-shadow: 0 4px 10px rgba(147, 80, 62, 0.1);
  background-color: rgba(245, 235, 230, 0.5);
  background-blend-mode: lighten;
}

.works .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius-less) var(--border-radius-less) 0 0;
  display: block; /* Ensures proper alignment */
  position: absolute;
  top: 0;
  left: 0;
  max-width: none; /* Override max-width from general carousel-item img */
  object-position: center; /* Override object-position from general carousel-item img */
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.works .carousel-item .carousel-image {
  display: block; /* Makes the link cover the full image area */
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid var(--color-dark-brown-red);
  line-height: 0; /* Removes any line-height spacing */
  font-size: 0; /* Removes any font-size spacing */
  width: 100%;
  height: 232px;
  position: relative;
}

.works .carousel-item p {
  color: var(--color-dark-blue-grey);
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-p);
  line-height: 1.6;
  margin-bottom: 8px;
  height: 77px;
}

/* Works carousel header direction */
.works .carousel-header {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0 15px 0;
  width: auto;
}

/* =====================
   Services
   ===================== */

.services-grid,
.services-grid-bg {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: row;
  gap: 40px 48px;
  justify-content: center;
  align-items: stretch;
  margin: 0 auto;
  max-width: 825px;
  padding: 40px 0;
  position: relative;
}

.services-grid-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.service-card {
  padding: 15px 15px 30px;
  max-height: 213px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  transition: box-shadow 0.2s;
  gap: 12px;
  border-radius: var(--border-radius-more);
  background-color: rgba(245, 235, 230, 0.2);
  background-blend-mode: lighten;
  transition: background-color 0.2s ease-in-out,
    background-blend-mode 0.2s ease-in-out;
  background-image: url("images/batika-kvety-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1.5px solid #93503e;
}

.services-grid .service-card:nth-child(2) {
  background-image: url("images/batika-kosostvorec-bg.png");
}

.services-grid .service-card:nth-child(3) {
  background-image: url("images/batika-stvorce-bg.png");
}

.services-grid .service-card:nth-child(4) {
  background-image: url("images/batika-kruhy-bg.png");
}

.service-card h4 {
  text-transform: uppercase;
  font-weight: var(--font-weight-btn-4);
  line-height: var(--line-height-h);
  color: #515963;
}

.service-card p {
  font-weight: var(--font-weight-h3-h4);
}

.service-card-link {
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-card-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(147, 80, 62, 0.15);
}

.service-card-link:hover .btn .button-icon .starflower {
  fill: var(--color-light-brown-red);
}

.service-card-link:hover .btn .button-icon .arrow {
  fill: var(--color-light-brown-red);
}

@media (max-width: 895px) {
  .services-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    justify-items: center;
  }
  .service-card {
    min-width: 260px;
    max-width: 95vw;
  }
}

/* =====================
   Essence
   ===================== */

.essence .container img {
  height: 300px;
  padding-top: 30px;
}

/* =====================
   About Brand
   ===================== */

.timeline {
  display: flex;
  flex: row;
}

.timeline svg {
  max-height: 100%;
}

.brand-grid,
.cv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: column;
  grid-auto-rows: auto; /* Each row has independent height */
  column-gap: 50px;
  row-gap: 30px;
  align-items: start; /* Align items to the top instead of stretching */
}

.cv .cv-grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 30px;
}

.cv-grid.experiences,
.cv-grid.courses,
.cv-grid.education {
  row-gap: 0;
}

.brand-grid,
.cv-grid.education {
  grid-template-rows: auto auto;
}

.cv-grid.courses {
  grid-template-rows: auto auto auto;
}

.cv-grid.experiences,
.cv-grid.skills {
  grid-template-rows: auto auto auto auto;
}

.grid-item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start; /* Changed from baseline to flex-start */
  gap: 40px;
  height: auto; /* Allow individual height */
}

.grid-item-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
  width: 333px;
  height: auto; /* Allow content to expand */
  flex: 1; /* Take available space */
}

.cv .grid-item-content {
  width: 500px;
}

.education .grid-item-content,
.courses .grid-item-content,
.experiences .grid-item-content {
  padding-left: 47px;
  margin-left: -47px;
  border: 1px solid var(--color-light-brown-red);
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  padding-bottom: 30px;
  height: -webkit-fill-available;
}

.cv-grid.courses .grid-item:first-child .grid-item-content,
.cv-grid.experiences .grid-item:first-child .grid-item-content,
.cv-grid.education .grid-item:first-child .grid-item-content {
  border-image: linear-gradient(0deg, #ab8176 96%, #fefbfa 96%);
  border-image-slice: 1;
  border-width: 1px;
}

.cv-grid.courses .grid-item:last-child .grid-item-content,
.cv-grid.experiences .grid-item:last-child .grid-item-content,
.cv-grid.education .grid-item:last-child .grid-item-content {
  border-image: linear-gradient(0deg, #fefbfa 96%, #ab8176 96%);
  border-image-slice: 1;
  border-width: 1px;
  padding-bottom: 0;
}

.grid-item .starflower {
  z-index: 2;
}

.grid-item-content.colorful {
  background-color: var(--color-light-font);
  padding: 10px;
  border-radius: var(--border-radius-more);
  margin-top: -10px;
  border: none;
  height: fit-content;
}

.colorful {
  justify-content: flex-end;
}

.grid-item-content p {
  text-wrap: pretty;
}

.brand-item,
.cv-item {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.brand-items-container,
.cv-items-container {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.cv-grid .grid-item .grid-item-content p.highlight:first-of-type {
  color: var(--color-dark-brown-red);
  margin-top: -4px;
}

a.roll-out {
  color: var(--color-dark-blue);
}

a.roll-out:hover .button-icon {
  transform: rotate(90deg) translatex(-5px) translateY(3px);
}

.roll-out path {
  fill: var(--color-dark-blue);
}

.grid-item .starflower path {
  fill: var(--color-dark-brown-red);
}

/* Accordion content - hidden by default */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
  margin-top: 0;
}

/* When expanded */
.accordion-content.expanded {
  max-height: 100%; /* Adjust based on your content */
  opacity: 1;
  margin-top: 10px;
  font-size: var(--font-size-small);
}

.accordion-content ul {
  display: flex;
  flex-direction: column;
  padding-left: 18px;
  gap: 10px;
  list-style-image: url("images/bullet.svg");
  margin: 0 0 10px;
}

.accordion-content ul li {
  font-size: var(--font-size-p);
  font-family: var(--font-lexend);
  font-weight: var(--font-weight-p);
  color: var(--color-dark-blue);
}

/* Button rotation animation */
.accordion-toggle .button-icon {
  transition: transform 0.3s ease;
}

.accordion-toggle.expanded .button-icon {
  transform: rotate(0deg) translateX(-1px) translateY(0px);
}

a.accordion-toggle.expanded:hover .button-icon {
  transform: rotate(-90deg) translateX(-7px) translateY(9px);
}

.accordion-toggle {
  position: relative;
}

.btn-text-expanded {
  opacity: 0;
  position: absolute;
  left: 0;
  transition: opacity 0.2s ease;
}

.btn-text-collapsed {
  opacity: 1;
  transition: opacity 0.4s ease;
}

.accordion-toggle {
  position: relative;
}

/* Normal state */
.accordion-toggle.expanded .btn-text-expanded {
  opacity: 1;
}

.accordion-toggle.expanded .btn-text-collapsed {
  opacity: 0;
}

/* Delayed state */
.accordion-toggle.text-delayed .btn-text-expanded {
  opacity: 1;
}

.accordion-toggle.text-delayed .btn-text-collapsed {
  opacity: 0;
}

@keyframes toggle {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* =====================
   Outputs
   ===================== */

.outputs-header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 30px;
}

.outputs-header .carousel-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.outputs-header h3 {
  width: 100%;
  max-width: 175px;
}

.outputs-header .carousel-tags a {
  padding: 6px 8px;
  background-color: var(--color-light-blue-gray);
  opacity: 1;
}

.outputs-header .carousel-tags a:hover {
  padding: 6px 8px;
  background-color: var(--color-blue-gray);
}

.outputs .gallery {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
}

.gallery .row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
  width: 100%;
}

.gallery .column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
}

.outputs .gallery img,
.outputs .gallery .row img,
.outputs .gallery .row .column img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius-more);
}

.outputs .gallery img:hover,
.outputs .gallery .row img:hover,
.outputs .gallery .row .column img:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(147, 80, 62, 0.18);
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* =====================
   Similar Projects
   ===================== */

.project-cards {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.project-cards .project-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
}

.project-cards .project-card.previous {
  align-items: flex-start;
}

.project-cards .project-card.next {
  align-items: flex-end;
}

.project-cards .project-card img {
  width: 100%;
  height: 100%;
  max-width: 363px;
  object-fit: cover;
}

.button-icon.previous {
  transform: translateX(12.53px) rotate(180deg);
  transition: transform 0.3s ease-in-out;
}

.button-icon.previous path.starflower {
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.2s ease-in-out, transform 0.3s ease-in-out;
}

a.btn-quaternary.previous:hover .button-icon.previous {
  transform: translateX(0) rotate(180deg);
}

/* =====================
   Icons
   ===================== */
.narrow-footer-icons {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 30px;
}

.narrow-footer-icon {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
}

.narrow-footer-icon a.footer-icon-box {
  background-color: var(--color-light-brown-red);
}

.linkedin-icon-container .linkedin {
  fill: none;
  transform: translateY(-10px) translateX(2px);
}

.linkedin-icon-container .linkedin .dot-linkedin {
  fill: var(--color-blue-gray);
  transform: translatex(-1px);
  opacity: 0;
}

button.Linkedin:hover .footer-icon.linkedin .dot-linkedin {
  opacity: 1;
  transform: translateY(-6px) translateX(-1px) rotate(0deg);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.linkedin-icon-container .linkedin .starflower-linkedin {
  fill: var(--color-light-brown-red);
  opacity: 0;
  transform: translateY(12px) translateX(6px) scale(0.8);
}

.linkedin-icon-container button.Linkedin:hover .linkedin .starflower-linkedin {
  opacity: 0;
  transform: translateY(8px) translateX(11px) rotate(-45deg) scale(0.8);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.linkedin-icon-container .linkedin .letter {
  fill: var(--color-blue-gray);
}

.linkedin-icon-container .linkedin .stroke-linkedin {
  stroke: var(--color-dark-text-background);
  stroke-width: 0.4;
  fill: none;
}

.linkedin-icon-container .linkedin .letter-n {
  transform: translateY(0px) translateX(0px) rotate(5deg);
}

.linkedin-icon-container .linkedin .letter-i {
  transform: translateY(-3px) rotate(5deg);
}

.cv-header-icon .location {
  transform: translateY(-3px);
  fill: none;
}

.cv-header-icon a.footer-icon-box:hover .location ellipse {
  opacity: 1;
}

.cv-header-icon .location-stroke-vertical {
  stroke: var(--color-light-beige);
  stroke-width: 0.4;
  fill: none;
  transform: translateY(6px) translatex(4px) scale(0.7);
}

.cv-header-icon .location-stroke-inline {
  transform: translateY(6px) translatex(4px) scale(0.7);
}

.cv-header-icon .location-pin {
  fill: var(--color-light-brown-red);
  transform: translateY(6px) translatex(4px) scale(0.7);
}

.cv-header-icon a.footer-icon-box:hover .location .location-pin,
.cv-header-icon a.footer-icon-box:hover .location-stroke-inline,
.cv-header-icon a.footer-icon-box:hover .location-stroke-vertical {
  transform: translateY(-1px) translatex(2px) scale(0.8) rotate(-7deg);
  transition: transform 0.3s ease-in-out;
}

.cv-header-icon .location ellipse {
  fill: var(--color-light-brown-red);
  transform: translateY(-1px);
  opacity: 0;
}

.cv-header-icon .location-ellipse-stroke {
  stroke: var(--color-light-brown-red);
  stroke-width: 0.4;
  fill: none;
  transform: translateY(-1px);
}

.cv-header-icon a.footer-icon-box:hover .location .location-ellipse-stroke {
  transform: scale(0.6) rotate(-7deg) translateY(20px) translateX(6px);
  transition: transform 0.3s ease-in-out;
}

.cv-pdf-button-group button svg {
  width: 30px;
}

.footer-icon.printer,
.footer-icon.download {
  fill: none;
}

.footer-icon.printer {
  transform: translateY(7px);
}

.footer-icon.download {
  transform: translateY(-2px);
}

.footer-icon.printer .paper-line,
.footer-icon.printer .printer-stroke,
.footer-icon.printer .paper-line-unprint,
.footer-icon.download .paper-line,
.footer-icon.download .folder-stroke,
.footer-icon.download .folder-line {
  stroke: var(--color-dark-text-background);
  fill: none;
  stroke-width: 0.4;
}

.footer-icon.printer .paper-line-unprint {
  opacity: 0;
}

.footer-icon.printer circle,
.footer-icon.printer .printer-stroke-inline,
.footer-icon.download .folder-stroke-inline {
  fill: var(--color-dark-text-background);
}

.footer-icon.printer .paper,
.footer-icon.printer .printer-up,
.footer-icon.printer .printer-body,
.footer-icon.download .paper,
.footer-icon.download .folder-front,
.footer-icon.download .folder-back {
  fill: var(--color-blue-gray);
}

.footer-icon.printer .printer-hole {
  fill: var(--color-dark-text-background);
}

.footer-icon.printer .paper-line,
.footer-icon.printer .paper,
.footer-icon.printer .paper-line-unprint {
  transform: translateY(-11px);
  transition: transform 0.3s ease-in-out;
}

button.print:hover .footer-icon.printer .paper-line,
button.print:hover .footer-icon.printer .paper {
  transform: translateY(0px);
  transition: transform 0.3s ease-in-out;
}

button.print:hover .footer-icon.printer .paper-line-unprint {
  opacity: 1;
  fill: none;
  stroke-width: 0.4;
  transform: translateY(0px);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out 0.2s;
}

.footer-icon.download .paper-line,
.footer-icon.download .paper {
  transform: translateX(6px) translateY(2px) rotate(20deg);
  transition: transform 0.3s ease-in-out;
}

button.download:hover .footer-icon.download .paper-line,
button.download:hover .footer-icon.download .paper {
  transform: translateX(0px) translateY(1px) rotate(0deg);
  transition: transform 0.3s ease-in-out;
}

.cv-pdf-button-group {
  position: sticky;
  top: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 10px;
}

.download-icon-container,
.linkedin-icon-container,
.print-icon-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 10px;
}

aside.cv-pdf .cv-pdf-button-group button {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  font-size: var(--font-size-small);
  text-align: right;
  width: 178px;
}

.cv-pdf-button-group button span {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease 0.2s, visibility 0.3s ease 0.2s;
}

.cv-pdf-button-group button:hover span {
  opacity: 1;
  visibility: visible;
}

/* =====================
   Custom Tooltips
   ===================== */

/* Basic tooltip container */
.tooltip {
  position: relative;
}

/* Tooltip content using ::before pseudo-element */
.tooltip::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-dark-blue-grey);
  color: var(--color-light-font);
  padding: 8px 12px;
  border-radius: 4px;
  font-size: var(--font-size-small);
  font-family: var(--font-lexend);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Show tooltip on hover - DISABLED for email links */
.tooltip:hover::before,
.tooltip:hover::after {
  opacity: 0;
  visibility: hidden;
}

/* Show tooltip when copied class is present */
.tooltip.copied::before {
  opacity: 1;
  visibility: visible;
}

/* Tooltip positioning variants */
.tooltip.tooltip-top::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.tooltip.tooltip-top::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--color-dark-blue);
  border-bottom-color: transparent;
}

.tooltip.tooltip-bottom::before {
  top: 100%;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
}

.tooltip.tooltip-bottom::after {
  top: 100%;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--color-dark-blue);
  border-top-color: transparent;
}

.tooltip.tooltip-left::before {
  right: 100%;
  bottom: auto;
  left: auto;
  top: 50%;
  transform: translateY(-50%);
}

.tooltip.tooltip-left::after {
  right: 100%;
  bottom: auto;
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: var(--color-dark-blue);
  border-right-color: transparent;
}

.tooltip.tooltip-right::before {
  left: 100%;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.tooltip.tooltip-right::after {
  left: 100%;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: var(--color-dark-blue);
  border-left-color: transparent;
}

/* Specific tooltip styles for different elements */
.footer-icon-box.tooltip::before {
  font-size: 12px;
  padding: 6px 10px;
}

/* Animated tooltip */
.tooltip.tooltip-animated::before {
  transform: translateX(-50%) translateY(10px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.tooltip.tooltip-animated:hover::before {
  transform: translateX(-50%) translateY(0);
}

/* Delayed tooltip */
.tooltip.tooltip-delayed::before,
.tooltip.tooltip-delayed::after {
  transition-delay: 0.5s;
}

/* =====================
   Email Copy Notification
   ===================== */

.email-copy-notification {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background-color: #699f7d30;
  border: 1px solid #699f7d;
  color: var(--color-light-beige);
  padding: 6px 20px;
  border-radius: 20px;
  font-family: var(--font-lexend);
  font-size: var(--font-size-small);
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  box-shadow: 0 4px 12px rgba(32, 37, 43, 0.3);
}

.services-page .email-copy-notification,
.cv-page .email-copy-notification,
.project-page .email-copy-notification {
  left: 56%;
}

.email-copy-notification.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* =====================
   Footer Icon Tooltip
   ===================== */

.footer-icon-tooltip {
  position: fixed;
  background-color: var(--color-dark-blue);
  color: var(--color-dark-peach);
  padding: 3px 6px;
  font-family: var(--font-lexend);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-p);
  white-space: nowrap;
  z-index: 10001;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(32, 37, 43, 0.3);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.footer-icon-tooltip.show {
  opacity: 1;
}

/* Pointer cursor for clickable icons */
[data-email],
[data-phone] {
  cursor: pointer !important;
}

/* Custom tooltip with different colors */
.tooltip.tooltip-custom::before {
  background-color: var(--color-light-brown-red);
  color: var(--color-dark-blue);
}

.tooltip.tooltip-custom::after {
  border-top-color: var(--color-light-brown-red);
}

/* Responsive tooltips */
@media (max-width: 768px) {
  .tooltip::before {
    font-size: 11px;
    padding: 6px 8px;
    max-width: 150px;
    white-space: normal;
    text-align: center;
  }
}

/* Cursor-following tooltip */
.cursor-tooltip {
  position: fixed;
  background-color: var(--color-dark-blue-grey);
  color: var(--color-light-font);
  padding: 8px 12px;
  border-radius: 4px;
  font-size: var(--font-size-small);
  font-family: var(--font-lexend);
  white-space: nowrap;
  z-index: 10000;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: none;
  transform: translateY(-50%);
}

/* Alternative: Static right-positioned tooltip */
.tooltip.tooltip-right-static::before {
  left: 100%;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 10px;
}

/* =====================
   FANCYBOX CUSTOM STYLING
   ===================== */

/* Alt text captions styling */
.fancybox__caption {
  color: var(--color-light-beige);
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-p);
  padding: 15px 20px;
  text-align: center;
  border-top: 1px solid var(--color-DARK-brown-red);
  border-radius: 0 0 var(--fancybox-border-radius) var(--fancybox-border-radius);
}

.fancybox__caption__body {
  max-width: 100%;
  word-wrap: break-word;
  line-height: 1.5;
}

/* Zoom button styling and icon toggle */
.fancybox__button--zoom {
  background: var(--color-blue-gray);
  border-radius: 6px;
  color: var(--color-light-beige);
  transition: all 0.3s ease;
  /* Ensure zoom button is visible */
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.fancybox__button--zoom:hover {
  background: var(--color-light-blue-gray);
}

/* Ensure zoom button icons are visible */
.fancybox__button--zoom svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* Custom Fancybox Arrow Buttons - JavaScript will inject custom SVG */
.fancybox__button--prev,
.fancybox__button--next,
.carousel__button.is-prev,
.carousel__button.is-next {
  background: transparent !important;
  border: none !important;
  width: 80px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

/* Left arrow (previous) - rotate 180 degrees */
.fancybox__button--prev .button-icon,
.carousel__button.is-prev .button-icon {
  transform: rotate(180deg) !important;
}

/* Ensure both arrows are styled properly */
.fancybox__button--prev .button-icon,
.fancybox__button--next .button-icon,
.carousel__button.is-prev .button-icon,
.carousel__button.is-next .button-icon {
  width: 32px !important;
  height: 20px !important;
}

/* Style the arrow and starflower paths with light-beige color */
.fancybox__button--prev .button-icon path,
.fancybox__button--next .button-icon path,
.carousel__button.is-prev .button-icon path,
.carousel__button.is-next .button-icon path {
  fill: var(--color-light-beige) !important;
}

/* Fancybox CSS Variables using your design system */
:root {
  --fancybox-bg: var(--color-dark-blue);
  --fancybox-accent-color: var(--color-light-brown-red);
  --fancybox-border-radius: 8px;
  --fancybox-shadow: 0 25px 50px -12px rgba(32, 37, 43, 0.25);
}

/* Backdrop/Overlay */
.fancybox__backdrop {
  background: rgb(32, 37, 43, 0.9) !important;
  backdrop-filter: blur(8px);
}

/* Container */
.fancybox__container {
  background: transparent;
}

/* Content area */
.fancybox__content {
  background: var(--color-dark-blue);
  border-radius: var(--fancybox-border-radius);
  box-shadow: var(--fancybox-shadow);
  margin: 20px auto;
  height: 100%;
  width: 100%;
}

.carousel__track {
  gap: 10px;
}

/* Navigation arrows */
.fancybox__nav {
  margin: 0 20px;
}

.fancybox__nav button {
  width: 50px;
  height: 50px;
  color: var(--color-light-beige);
  transition: all 0.3s ease;
  position: relative;
}

.fancybox__nav button:hover {
  color: var(--color-light-beige);
}

.fancybox__nav button:active {
  color: var(--color-light-beige);
}

/* Custom Fancybox navigation styling */
.fancybox__nav button {
  position: relative;
}

.fancybox__nav button svg {
  width: 55px;
  height: 33px;
  fill: var(--color-light-beige);
  stroke: none;
  transition: fill 0.3s ease;
}

.fancybox__nav button:hover svg {
  fill: var(--color-light-beige);
}

/* Toolbar */
.fancybox__toolbar {
  background: var(--color-dark-blue) !important;
  padding: 15px 20px !important;
  /* Ensure toolbar is visible */
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.fancybox__slide::before,
.fancybox__slide::after {
  margin: 10px auto !important;
}

.fancybox__slide {
  padding: 95px 100px 35px !important;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
  border: none !important;
}

.carousel__slide.has-thumb.has-image.is-selected.is-nav-selected {
  transform: scale(1.1) !important;

  transition: transform 0.3s ease;
}

.fancybox__counter {
  color: var(--color-light-beige);
  font-family: var(--font-lexend);
  font-size: var(--font-size-p);
  font-weight: var(--font-weight-p);
}

.fancybox__toolbar button {
  background: var(--color-blue-gray);
  border-radius: 6px;
  color: var(--color-light-beige);
  padding: 8px 12px;
  margin: 0 5px;
  transition: all 0.3s ease;
  font-family: var(--font-lexend);
  font-size: 14px;
}

.fancybox__toolbar button:hover {
  background: var(--color-light-blue-gray);
}

.carousel__button[disabled]:hover {
  background: var(--color-blue-gray);
}

/* Thumbnails */
.fancybox__thumbs {
  background: var(--color-dark-blue);
  border-top: 1px solid var(--color-DARK-brown-red);
  padding: 15px 20px !important;
}

.fancybox__thumbs .fancybox__thumb {
  border: 2px solid transparent;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.fancybox__thumbs .fancybox__thumb:hover {
  border-color: var(--color-light-brown-red);
  transform: scale(1.05);
}

.fancybox__thumbs .fancybox__thumb.is-selected {
  transform: scale(1.05);
  transition: all 0.3s ease;
}

/* Close button */
.fancybox__button--close {
  background: var(--color-light-brown-red) !important;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: var(--color-dark-blue);
  transition: all 0.3s ease;
}

.fancybox__button--close:hover {
  background: var(--color-dark-brown-red);
}

div.fancybox__nav > button.carousel__button.is-next > svg > path.starflower,
div.fancybox__nav > button.carousel__button.is-prev > svg > path.starflower {
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

div.fancybox__nav
  > button.carousel__button.is-next:hover
  > svg
  > path.starflower,
div.fancybox__nav
  > button.carousel__button.is-prev:hover
  > svg
  > path.starflower {
  opacity: 1;
  transform: translateX(0px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.carousel__slide.has-thumb.has-image.is-selected .fancybox__thumb {
  opacity: 0.75;
  transition: opacity 0.3s ease;
}

.carousel__slide.has-thumb.has-image.is-nav-selected .fancybox__thumb {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Image styling */
.fancybox__image {
  border-radius: var(--fancybox-border-radius);
}

/* Video styling - customize video background */
.fancybox__html5video,
.fancybox__video, .fancybox__iframe {
  background: rgba(32, 37, 43, 0.2) !important;
  border-radius: var(--fancybox-border-radius);
}

/* Video container background */
.fancybox__slide.has-video .fancybox__content,
.fancybox__content:has(.fancybox__html5video),
.fancybox__content:has(.fancybox__video),
.fancybox__content:has(.fancybox__iframe) {
  background: #ffffff00;
}

.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content
 {
    background: rgba(32, 37, 43, 0.2) !important;
    height: max-content !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .fancybox__nav button {
    width: 40px;
    height: 40px;
  }

  .fancybox__toolbar {
    padding: 10px 15px;
  }

  .fancybox__toolbar button {
    padding: 6px 10px;
    font-size: 12px;
  }
}
/* ===================== CUSTOM BUTTON ACTIVE STATES ===================== */
/* Active state styling for all Fancybox buttons */
.fancybox__button.active {
  background: var(--color-light-brown-red) !important;
  color: var(--color-dark-blue) !important;
  transform: scale(1.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  position: relative;
}

/* Hover effect for active buttons */
.fancybox__button.active:hover {
  background: var(--color-brown-red) !important;
  transform: scale(1.15);
}

/* Active button indicator (small dot) */
.fancybox__button.active::after {
  content: "";
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  background: var(--color-light-beige);
  border-radius: 50%;
  border: 2px solid var(--color-dark-blue);
}

/* Specific active states for different button types */
.fancybox__button--zoom.active {
  background: var(--color-light-brown-red) !important;
  border: 2px solid var(--color-light-beige);
}

.fancybox__button--thumbs.active {
  background: var(--color-light-brown-red) !important;
  border: 2px solid var(--color-light-beige);
}

.fancybox__button--slideshow.active {
  background: var(--color-light-brown-red) !important;
  border: 2px solid var(--color-light-beige);
}

.fancybox__button--fullscreen.active {
  background: var(--color-light-brown-red) !important;
  border: 2px solid var(--color-light-beige);
}

/* Transition effects for smooth state changes */
.fancybox__button {
  transition: all 0.3s ease;
}

/* ===================== GALLERY FILTERING ===================== */
/* Filter tag styling */
.filter-tag {
  cursor: pointer;
  user-select: none;
  transition: all 0.3s ease;
}

.filter-tag.active {
  background-color: var(--color-blue-gray) !important;
  color: var(--color-light-font) !important;
  border-color: var(--color-light-blue-gray) !important;
  transform: scale(1.05);
  position: relative;
}

/* Multi-select indicator for active tags */

.filter-tag::before {
  content: "✓";
  position: absolute;
  opacity: 0;
  top: 0;
  right: 10px;
  background-color: #73b173;
  color: var(--color-light-beige);
  border-radius: 50%;
  width: 19px;
  height: 19px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 1px 1px #45855d;
  transition: top 0.2s ease, right 0.2s ease, opacity 0.3s ease;
}

.filter-tag.active::before {
  top: -10px;
  right: -5px;
  opacity: 1;
}

.filter-tag:hover:not(.active) {
  background-color: var(--color-blue-gray) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Gallery image filtering */
.gallery a {
  transition: all 0.4s ease;
  opacity: 1;
  transform: scale(1);
}

.gallery a.filtered-out {
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
}

/* Row structure filtering */
.gallery .row.filtered-out {
  display: none !important;
}

.gallery .row a.filtered-out {
  display: none !important;
}

/* Smooth gallery layout transition */
.gallery {
  transition: all 0.4s ease;
}

/* Filter animation */
@keyframes filterIn {
  from {
    opacity: 0;
    transform: scale(0.8) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.gallery a:not(.filtered-out) {
  animation: filterIn 0.4s ease forwards;
}

.fancybox__button.active {
  transition: all 0.3s ease;
}

/* Enhanced button styling for better visibility */
.fancybox__button {
  position: relative;
  overflow: visible;
}

/* Button focus states for accessibility */
.fancybox__button:focus {
  outline: 2px solid var(--color-light-brown-red);
  outline-offset: 2px;
}

.fancybox__button.active:focus {
  outline: 2px solid var(--color-light-beige);
  outline-offset: 2px;
}

/* =====================
   Responsive Styles
   ===================== */

@media screen and (max-width: 1024px) {
  .project-page .layout,
  .cv-page .layout,
  .services-page .layout {
    grid-template-areas:
      "header"
      "main"
      "contact-narrow"
      "footer"
      "footer-copyright";
    grid-template-columns: 100%;
    grid-template-rows: 75px 1fr 590px 110px 27px;
    max-width: 1024px;
    width: 100%;
  }
  .project-page .secondary-nav-panel,
  .project-page #footer-aside-placeholder,
  .cv-page .secondary-nav-panel,
  .cv-page #footer-aside-placeholder,
  .services-page .secondary-nav-panel,
  .services-page #footer-aside-placeholder {
    display: none;
  }

  .services-page section.features.sticky {
    left: 0;
    right: 0;
  }

  section.hero {
    background-image: url("images/header-background-m.svg");
  }

  .features .container {
    max-width: fit-content;
  }

  main,
  #contact-narrow-placeholder {
    border-left: none !important;
  }
  .breadcrumb-nav .nav-container,
  .nav .nav-container {
    padding-left: 92px;
  }
  .container {
    margin: 0px 92px;
  }
  .carousel .container {
    max-width: 900px;
    margin-left: 55px;
}
.carousel-arrows {
    max-width: 900px;
}
  .cv-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 55%, #20252b 55%);
  }
  .nav-links-container {
    gap: 15px;
  }
  .nav-links ul {
    gap: none;
  }
section.features h5{
margin-top: 0px;
}
.br-desktop {
display: block;
}
.services-page .features .container {
padding: 0px;
}
.features-bar-item h5.h5-animate {
font-size: 14px;
}
}

@media screen and (max-width: 865px) {
  p {
    font-size: 18px;
  }
  h1 {
    font-size: 44.79px;
  }
  h2 {
    font-size: 46px;
    padding-bottom: 14px;
  }
  h3 {
    font-size: 31.1px;
  }
  h4 {
    font-size: 24px;
    line-height: var(--line-height-h);
  }
  h5 {
    font-size: 18px;
  }
  h6 {
    font-size: 16px;
  }
  .container {
    gap: 20px;
    width: 100%;
    max-width: calc(100% - 100px) !important;
    padding-right: 50px;
    padding-left: 50px;
    padding-top: 90px;
    margin-left: 0px !important;
  }
  .main-grid .container,
  .index-page main .container, .error-page main .container {
    margin-left: 0px !important;
  }
  .about-project .container {
    gap: 8px;
  }
  .grid-item-content {
    width: auto !important;
  }
  .nav .nav-container {
    padding-left: 50px !important;
    padding-right: 40px !important;
  }
  .breadcrumb-nav .nav-container {
    display: none !important;
  }

  .nav-links a {
    padding: 0px 12px !important;
  }

  .about-brand .container,
  .outputs .container {
    padding-top: 40px !important;
  }
  .about-project .container,
  .about-me .container,
  .branding.about-services .container,
  .hero .container {
    padding-top: 100px !important;
  }
  .project-cards .project-card img {
    max-width: 330px;
  }
  .contact-narrow input {
    max-width: 320px !important;
  }
  .contact-narrow textarea {
    max-width: 670px !important;
  }
  #footer-narrow-placeholder > footer {
    padding: 10px 50px 20px;
  }
}

/* ========================================
   HAMBURGER MENU STYLES
   ======================================== */

/* Hamburger Menu Button */
.hamburger-menu {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--color-dark-brown);
  transition: all 0.3s ease;
  z-index: 1001;
}

.hamburger-menu:hover {
  color: var(--color-light-beige);
}

.hamburger-menu svg {
  width: 40px;
  height: 40px;
}

/* Mobile Navigation Overlay */
.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--color-light-beige);
  z-index: 1000;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  margin-left: -5px;
  padding-right: 5px;
  padding-bottom: 10px;
}

.mobile-nav-overlay::before {
  transform: scaleX(-1);
  background-image: url("/images/aside-bg.svg");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.5;
}

.mobile-nav-overlay.active {
  transform: translateX(0);
}

/* Mobile Navigation Content */
.mobile-nav-content {
  padding: 65px 0px 40px;
  height: calc(100% - 105px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

/* Mobile Navigation Links */
.mobile-nav-links {
  width: 100%;
}

.mobile-nav-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-nav-links li {
  margin-bottom: 10px;
}

.mobile-nav-links a {
  display: block;
  color: var(--color-dark-brown);
  text-decoration: none;
  font-size: var(--font-size-h3);
  font-weight: 500;
  padding: 15px 20px;
  transition: all 0.3s ease;
}

.mobile-nav-links .primary-menu li:hover {
  margin-bottom: 9px;
  border-bottom: 1px solid var(--color-light-brown-red);
  transform: border-bottom 0.3s ease;
}

/* Hide submenu on desktop navigation */
.nav-links .submenu {
  display: none;
}

/* Mobile Submenu */
.mobile-nav-links .submenu {
  display: block;
  margin-top: 15px;
  margin-left: 30px;
}

.mobile-nav-links .submenu li {
  margin-bottom: 15px;
  border-bottom: none;
}

.mobile-nav-links .submenu a {
  font-size: var(--font-size-h4);
  font-weight: 400;
  padding: 10px 20px;
  text-transform: uppercase;
}

.mobile-nav-links .submenu a:hover {
  padding-left: 19px;
  border-left: 1px solid var(--color-light-brown-red);
  transform: border-left 0.3s ease;
}

/* Mobile Contact Button */
.mobile-nav-contact {
  margin: 10px 20px;
  text-align: center;
}

.mobile-nav-contact .btn {
  display: inline-block;
  padding: 15px 30px;
  font-size: var(--font-size-h3);
}

/* Close Button */
.mobile-nav-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-dark-brown-red);
  font-size: 24px;
  padding: 10px;
  z-index: 1001;
}

.mobile-nav-close:hover {
  color: var(--color-light-brown-red);
}
@media screen and (max-width: 896px) {
  /* Change navigation link text for mobile */
  .nav-links a[href*="bio-a-curriculum-vitae"] {
    font-size: 0; /* Hide original text */
  }
  .nav-links a[href*="bio-a-curriculum-vitae"]::before {
    content: "Bio & CV";
    font-size: var(--font-size-p);
  }

  .nav-links a[href*="sluzby-a-ukazky-prac"] {
    font-size: 0; /* Hide original text */
  }
  .nav-links a[href*="sluzby-a-ukazky-prac"]::before {
    /* \f3 = U+00F3 (ó) – funguje aj keď súbor nie je uložený ako UTF-8 */
    content: "Portf\f3lio";
    font-size: var(--font-size-p);
  }
  .carousel-arrows,
  .carousel-pagination {
    display: none;
    width: 0px;
    height: 0px;
  }
  .index-page .features .container {
    margin: 0 auto !important;
  }
}

@media screen and (max-width: 768px) {
  /* Carousel responsive - show only 1 item per slide */
  .works .carousel-items.active {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  
  .outputs-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 30px !important;
  }
  .outputs-header .carousel-tags {
    justify-content: flex-start !important;
    gap: 8px 6px !important;
  }
  .project-cards .project-card img {
    max-width: 310px;
  }
  .contact-narrow input {
    max-width: 300px !important;
  }
  .contact-narrow textarea {
    max-width: 634px !important;
  }
  label[for="contact-message"] {
    width: 90% !important;
  }
  .essence .container img {
    width: 100% !important;
    height: auto !important;
  }
  .project-page .layout,
  .cv-page .layout,
  .services-page .layout, .index-page .layout {
    grid-template-rows: 75px 1fr 640px 140px 27px;
  }
  .project-page .layout #contact-narrow-placeholder,
  .cv-page #contact-narrow-placeholder,
  .services-page #contact-narrow-placeholder, .index-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 61%, #20252b 61%);
  }

.index-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 64%, #20252b 64%);
  }
  #footer-narrow-placeholder > footer {
    padding: 10px 50px 40px;
    height: 90px;
  }
  #about-me > div > div > div.photo-starflower > img {
    width: 280px;
  }
  .two-columns-div {
    flex-direction: column;
  }
  .photo-starflower {
    margin-top: 0px;
  }
  .photo-starflower .starflower-container {
    left: 10px;
    grid-template-columns: 40px 1fr;
  }
  .photo-starflower .starflower-text {
    order: 2;
  }
  .services-page .features .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 25px;
  }

  .index-page .features .container {
    margin: 0 auto !important;
  }
  .services-page .features-bar-item {
    height: 60px;
    align-items: flex-start;
  }
  .services-page section.features {
    padding: 20px 0px;
  }
  .services-page .features .container {
    opacity: 1;
  }
  .services-page .carousel-content {
    max-width: calc(100% - 100px);
  }

  .works .carousel-header {
    width: calc(100vw - 150px);
  }
  .carousel-header .btn-quaternary {
    display: none;
  }
  #branding-works::before,
  #graphic-works::before,
  #webdesign-works::before,
  #marketing-works::before,
  #essence::before {
    margin-top: -95px;
  }
  .works .container {
    gap: 40px;
  }
  .carousel-arrows,
  .carousel-pagination {
    display: none;
    width: 0px;
    height: 0px;
  }
  .carousel-items.mobile-active {
    display: grid;
    opacity: 1;
    transform: translateX(0);
  }
  .works .carousel-items.active,
  .works .carousel-items.mobile-active {
    grid-template-columns: 1fr;
    gap: 55px;
  }
  .carousel .container {
    max-width: calc(100% - 100px);
}
.hero .container {
    padding: 130px 50px 150px;
}
.index-page label[for="contact-message"] {
    margin-top: 4px;
}

}

@media screen and (max-width: 568px) {
  .layout {
    justify-content: flex-start;
  }
  .brand-grid,
  .cv-grid {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }
  .project-cards .project-card img {
    max-width: 220px;
  }
  /* Change navigation link text for mobile */
  .project-card.next a.btn.btn-quaternary.next span {
    font-size: 0; /* Hide original text */
  }
  .project-card.next a.btn.btn-quaternary.next span::before {
    content: "Ďalší môže byť váš";
    font-size: var(--font-size-p);
  }
  .contact-row {
    flex-direction: column !important;
  }
  .contact-narrow input {
    max-width: 634px !important;
  }
  #footer
    > div
    > div
    > div:nth-child(2)
    > div
    > div
    > ul
    > li:nth-child(2)
    > a {
    font-size: 0; /* Hide original text */
  }
  #footer
    > div
    > div
    > div:nth-child(2)
    > div
    > div
    > ul
    > li:nth-child(2)
    > a::before {
    content: "info@mrsk.digital";
    font-size: var(--font-size-p);
  }
  #footer > div > div > div:nth-child(1),
  #footer > div > div > div:nth-child(2) > a {
    display: none !important;
  }
  footer .footer-container {
    justify-content: space-between !important;
    gap: 0px !important;
  }
  .project-page .layout,
  .cv-page .layout,
  .services-page .layout, .index-page .layout {
    grid-template-rows: 75px 1fr 690px 140px 27px;
  }

  button.calendar-button {
    padding: 14px 15px !important;
  }
  .project-page .layout #contact-narrow-placeholder,
  .cv-page #contact-narrow-placeholder,
  .services-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 61%, #20252b 61%);
  }

  section.hero {
    background-image: url("images/header-background-mm.svg");
  }
  .hero .container {
    padding-top: 130px !important;
}

  #footer-narrow-placeholder > footer {
    padding: 20px 0px 30px;
    height: 90px;
  }
  .services-page .features .container {
    display: flex;
    padding: 0px;
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
  }
  .services-page .features-bar-item {
    height: 100%;
    align-items: flex-start;
  }
  .services-page section.features {
    padding: 20px 0px 40px;
  }
  .hero .container {
    padding-top: 150px !important;
}
.index-page .carousel-header {
    flex-direction: column;
    align-items: start;
    gap: 10px;
}
.index-page .carousel-item img {
    height: auto;
}
.index-page .carousel-items
 {
    height: auto;
}
.index-page .carousel-items.active .carousel-item img {
    transform: translateY(4px);
}
}

@media screen and (max-width: 480px) {
  /* Show hamburger menu on mobile */
  .hamburger-menu {
    display: block;
  }

  /* Hide desktop navigation on mobile */
  .nav-links-container {
    display: none;
  }
  .nav-links-container > a[href*="contact"] {
    font-size: 0; /* Hide original text */
  }
  .nav-links-container > a[href*="contact"]::before {
    content: "Kontakt";
    font-size: var(--font-size-p);
  }
  .hero-actions {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .project-card.previous {
    display: none;
  }
  .project-card.next a.desktop {
    display: none;
  }
  .project-cards .project-card img {
    max-width: 399px;
  }
  .project-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 65%, #20252b 65%);
  }

  .project-page .layout,
  .cv-page .layout,
  .services-page .layout {
    grid-template-rows: 75px 1fr 780px 200px 27px;
  }
  /* Change navigation link text for mobile */
  .project-card.next a.btn.btn-quaternary.next span {
    font-size: var(--font-size-p); /* Hide original text */
  }
  .project-card.next a.btn.btn-quaternary.next span::before {
    display: none;
  }
  button.calendar-button {
    padding: 14px 46px !important;
    width: 224px;
  }
  footer .footer-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px !important;
  }
  #footer-narrow-placeholder > footer {
    height: 120px;
    padding: 40px 50px 40px;
  }
  .narrow-footer-icons {
    gap: 15px;
  }
  #footer > div > div > div:nth-child(1),
  #footer > div > div > div:nth-child(2) > a {
    display: flex !important;
  }
  footer .nav-links ul {
    flex-direction: column-reverse;
  }
  .services-page .carousel-content {
    max-width: 380px;
  }
  .carousel-header .carousel-tags a {
    display: none;
  }
  .carousel-header .carousel-tags a:first-of-type {
    display: block;
  }

  .container {
    padding: 70px 50px 30px;
  }

  .essence .container {
    padding-bottom: 0px;
  }
}

@media screen and (min-width: 481px) {
  .project-card.next a.mobile {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .project-page .layout,
  .cv-page .layout,
  .services-page .layout {
    grid-template-rows: 75px 1fr 920px 200px 27px;
  }
  .services-page #contact-narrow-placeholder,
  .project-page #contact-narrow-placeholder,
  .cv-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 64%, #20252b 64%) !important;
  }
  .services-page .carousel-content {
    max-width: 314px;
  }
  .works .carousel-header {
    width: calc(100vw - 130px);
  }
}

@media screen and (max-width: 375px) {
  .project-page .layout,
  .cv-page .layout,
  .services-page .layout {
    grid-template-rows: 75px 1fr 950px 200px 27px;
  }
  .services-page #contact-narrow-placeholder,
  .project-page #contact-narrow-placeholder,
  .cv-page #contact-narrow-placeholder {
    background: linear-gradient(180deg, #fefbfa00 66%, #20252b 66%) !important;
  }
  button.calendar-button {
    padding: 8px 12px !important;
    width: 194px;
  }
  #footer > div > div > div:nth-child(1),
  #footer > div > div > div:nth-child(2) > a {
    display: none !important;
  }
  section.about-services:first-of-type .container.about-services {
    padding-left: 30px !important;
  }
  .container {
    max-width: calc(100% - 40px);
    padding-left: 20px !important;
  }
  .works .carousel-header {
    width: calc(100vw - 70px);
  }
}
