@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap"); /* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  scroll-behavior: smooth;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  font-family: "Inter", sans-serif;
  background-color: #fefefe;
  color: #2e2e2e;
}

/*
    Font size grows from 320px -> 900px viewport width :
        Step 5 :     58.92px => 113.05px
        Step 4 :     44.20px => 79.95px
        Step 3 :     33.16px => 56.54px
        Step 2 :     24.88px => 39.99px
        Step 1 :     18.66px => 28.28px
        Step 0 :     14.00px => 20.00px
        Step -1 :    10.50px => 14.14px

*/
/* Fluid text size */
/* Default text tag styling */
p, footer {
  font-size: clamp(0.88rem, 0.67rem + 1.03vw, 1.25rem);
  font-weight: 400;
  line-height: 150%;
  letter-spacing: -0.03em;
}

h1 {
  font-size: clamp(3.68rem, 1.82rem + 9.33vw, 7.07rem);
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -0.06em;
}

h2 {
  font-size: clamp(2.07rem, 1.27rem + 4.03vw, 3.53rem);
  font-weight: 600;
  line-height: 111%;
  letter-spacing: -0.05em;
}

h3 {
  font-size: clamp(1.56rem, 1.03rem + 2.61vw, 2.5rem);
  font-weight: 600;
  line-height: 111%;
  letter-spacing: -0.05em;
}

h4 {
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  font-weight: 600;
  line-height: 120%;
  letter-spacing: -0.04em;
}

h6 {
  font-size: clamp(2.76rem, 1.53rem + 6.16vw, 5rem);
  font-weight: 500;
  line-height: 95%;
  letter-spacing: -0.06em;
  color: #898989;
  text-align: right;
  opacity: 0.5;
}

.button-cta a {
  font-size: clamp(0.88rem, 0.67rem + 1.03vw, 1.25rem);
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.04em;
  white-space: nowrap;
  text-decoration: none;
  color: #2e2e2e;
}

/* Manual setting */
.regular-400 {
  font-weight: 400;
}

.medium-500 {
  font-weight: 500;
}

.semibold-600 {
  font-weight: 600;
}

.italic {
  font-style: italic;
}

nav.navbar {
  top: 0;
  left: 0;
  background: rgba(254, 254, 254, 0.69);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  width: 100vw;
  height: 2.75rem;
  z-index: 2;
  display: flex;
  place-items: center;
  justify-content: space-between;
  position: fixed;
}
nav.navbar::after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #2E2E2E;
  inset: 0;
  z-index: -2;
  left: 1.35rem;
  right: 1.35rem;
}
nav.navbar span.openbtn {
  position: absolute;
  right: 1.35rem;
  display: block;
  cursor: pointer;
  font-size: 1.15rem;
  letter-spacing: -0.04rem;
  transition: all 250ms ease-in-out;
  font-weight: 500;
}
nav.navbar span.openbtn:hover, nav.navbar span.openbtn:focus {
  transform: translateY(3px);
  opacity: 0.75;
  filter: blur(1px);
}
@media (min-width: 600px) {
  nav.navbar span.openbtn {
    display: none;
  }
}
nav.navbar img.logo {
  left: 1.35rem;
  position: absolute;
  display: block;
  height: 1.5rem;
  filter: grayscale(1) brightness(0);
  transition: all 350ms ease-in-out;
}
nav.navbar img.logo:hover, nav.navbar img.logo:focus {
  filter: grayscale(0) brightness(0.85);
}

li a {
  text-decoration: none;
  cursor: pointer;
}

.inside-nav-wrapper {
  display: flex;
  width: 100vw;
  height: 2.75rem;
  z-index: 2;
  display: flex;
  place-items: center;
  justify-content: space-between;
  position: relative;
}
.inside-nav-wrapper img.logo.white-logo {
  filter: brightness(2) grayscale(1);
}
.inside-nav-wrapper .closebtn {
  position: absolute;
  right: 1.35rem;
  display: block;
  align-self: center;
  cursor: pointer;
  font-size: 1.15rem;
  letter-spacing: -0.04rem;
  transition: all 250ms ease-in-out;
  font-weight: 500;
}
.inside-nav-wrapper .closebtn:hover, .inside-nav-wrapper .closebtn:focus {
  transform: translateY(3px);
  opacity: 0.75;
  filter: blur(1px);
}
.inside-nav-wrapper::after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #fefefe;
  inset: 0;
  z-index: -2;
  left: 1.35rem;
  right: 1.35rem;
}

.nav-overlay {
  opacity: 0;
  pointer-events: none;
  height: 100vh;
  z-index: 5;
  background-color: #2E2E2E;
  position: fixed;
  inset: 0;
  overflow-x: hidden;
}
.nav-overlay > *,
.nav-overlay a {
  color: #fefefe;
  text-decoration: none;
}
.nav-overlay .overlay-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  row-gap: 5rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  height: 20rem;
  width: calc(100vw - 2.7rem);
  margin: 5rem auto;
}
.nav-overlay .navmenu {
  grid-column: 1/span 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  left: 2rem;
  position: relative;
}
.nav-overlay .navmenu::after {
  content: "";
  border-bottom: 1px solid #fefefe;
  inset: 0;
  position: absolute;
  bottom: -4rem;
  left: -2rem;
  width: calc(100vw - 2.7rem);
}
.nav-overlay .navmenu a {
  z-index: 2;
  font-size: 3rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  transition: 300ms linear;
}
.nav-overlay .navmenu a:hover, .nav-overlay .navmenu a:focus {
  opacity: 0.35;
  margin-left: 1rem;
  filter: blur(1.5px);
}
.nav-overlay .alamat {
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 150%;
  letter-spacing: -0.03em;
}
.nav-overlay .contact-info {
  text-align: right;
  justify-self: end;
  font-size: 0.8rem;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 150%;
  letter-spacing: 0.01em;
}
.nav-overlay .contact-info li a {
  text-decoration: underline;
  transition: 0.2s linear;
}
.nav-overlay .contact-info li a:hover, .nav-overlay .contact-info li a:focus {
  opacity: 0.4;
  transform: translateX(-5px);
}

.navlist {
  display: none;
}
@media (min-width: 600px) {
  .navlist {
    display: flex;
    position: absolute;
    right: 1.35rem;
    justify-content: space-between;
    width: 60vw;
    height: 100%;
    align-items: center;
  }
  .navlist li a {
    letter-spacing: -0.04rem;
    color: #2E2E2E;
    font-weight: 500;
    height: 100%;
    transition: 250ms ease-out;
  }
  .navlist li a:hover, .navlist li a:focus {
    opacity: 0.35;
  }
}
@media (min-width: 700px) {
  .navlist {
    width: 50vw;
  }
}
@media (min-width: 900px) {
  .navlist {
    width: 40vw;
  }
}
@media (min-width: 1100px) {
  .navlist {
    width: 35vw;
  }
}

footer {
  background-color: #2e2e2e;
  color: #fefefe;
  width: calc(100vw - 2.9rem);
  margin: 0 auto;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 670px) {
  footer {
    flex-direction: row;
    justify-content: space-between;
    padding: 0 1rem;
  }
}
footer span {
  text-transform: uppercase;
  font-size: clamp(0.66rem, 0.53rem + 0.63vw, 0.88rem);
  line-height: 150%;
}
footer .addr {
  padding: 1rem;
  display: flex;
  gap: 2rem;
}
@media (min-width: 670px) {
  footer .addr {
    justify-content: flex-start;
    gap: 2rem;
  }
}
footer .addr .addr-txt {
  width: 12.5ch;
}
@media (min-width: 450px) {
  footer .addr .addr-txt {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}
footer .addr .opn {
  text-decoration: underline;
  width: 10ch;
}
@media (min-width: 400px) {
  footer .addr .opn {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}
footer .icon-cc {
  padding: 1rem;
  display: flex;
  justify-content: space-between;
}
footer .icon-cc .cc {
  text-align: right;
}
@media (min-width: 670px) {
  footer .icon-cc {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 2.5rem;
  }
}
footer .icon-cc .icon img {
  transition: all 0.5s ease-out;
}
footer .icon-cc .icon img:hover {
  transform: translateY(3.5px);
  filter: blur(1px);
  opacity: 0.3;
}

section.decor {
  margin: 6rem 0 3rem;
  width: 100%;
  height: 10rem;
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 1000px) {
  section.decor {
    margin-top: 10rem;
    margin-bottom: 3rem;
  }
}
section.decor img.decor-desktop {
  display: none;
}
@media (min-width: 1000px) {
  section.decor img.decor-desktop {
    display: block;
    width: clamp(800px, 70%, 1000px);
    margin-right: 10%;
  }
}
section.decor img.decor-mobile {
  margin-right: 1rem;
  width: clamp(250px, 40%, 30vw);
}
@media (min-width: 1000px) {
  section.decor img.decor-mobile {
    display: none;
  }
}

section.big-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

h1.site-heading {
  font-weight: 500;
  letter-spacing: -0.05em;
  font-size: 2.5rem;
  max-width: 11ch;
  margin: 0 auto;
  line-height: 95%;
}
@media (min-width: 365px) {
  h1.site-heading {
    font-size: clamp(3rem, 10.4vw, 7.25rem);
  }
}

img.landing-img {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 1rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.57s ease-out;
}
img.landing-img:hover {
  transform: scale(1.05);
}
@media (min-width: 962px) {
  img.landing-img {
    max-height: 400px;
    width: auto;
    overflow-x: hidden;
  }
}

.button-cta a {
  display: inline-block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 1.25rem;
  border: 1.5px solid #2e2e2e;
  border-radius: 50vw;
  margin-top: 1.25rem;
  box-shadow: inset 0 0 0 0 #fefefe;
  transition: all ease-out 0.7s;
}
.button-cta a:hover, .button-cta a:focus {
  box-shadow: inset 250px 0 0 0 #2e2e2e;
  color: #fefefe;
}

.subheading {
  letter-spacing: -0.035rem;
  margin-top: 1.5rem;
  margin-left: 15vw;
  max-width: 306px;
}
@media (min-width: 410px) {
  .subheading {
    max-width: 632px;
    width: 75%;
  }
}

section.features {
  margin-top: 10vw;
  width: 100%;
}
section.features .head {
  background-color: #DDAB52;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 952px) {
  section.features .head {
    flex-direction: row;
    gap: 5vw;
  }
}
section.features .head img {
  width: 80%;
  display: block;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-left: auto;
}
@media (min-width: 952px) {
  section.features .head img {
    width: 48vw;
  }
}
section.features .head .text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.5rem;
  padding-bottom: 10vw;
  margin-right: 1.45rem;
}
@media (min-width: 952px) {
  section.features .head .text {
    width: 55vw;
    order: -1;
    height: 100%;
    padding-bottom: 0;
    gap: 2vw;
    padding-top: 3vw;
    margin-bottom: 5vw;
    margin-top: 5rem;
    margin-right: 0;
    align-items: flex-end;
  }
}
section.features .head p {
  font-weight: 500;
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  line-height: 111.5%;
  letter-spacing: -0.035em;
  width: 80%;
  color: #fefefe;
}
@media (min-width: 952px) {
  section.features .head p {
    width: 100%;
    max-width: 25ch;
  }
}
section.features .head h3 {
  font-weight: 500;
  font-size: clamp(2.07rem, 1.27rem + 4.03vw, 3.53rem);
  line-height: 111%;
  width: 12.5ch;
  text-align: right;
  letter-spacing: -0.06em;
  display: inline-block;
}

.card-ldp {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 750px) {
  .card-ldp {
    flex-direction: row;
    aspect-ratio: 2;
    width: 100%;
  }
}
@media (min-width: 750px) {
  .card-ldp .img-hv {
    width: 50vw;
  }
}
.card-ldp img {
  width: 100.05%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 750px) {
  .card-ldp img {
    height: 100%;
  }
}
.card-ldp .text-ft {
  background-color: #2e2e2e;
  width: 100%;
  padding-top: 10vw;
  padding-bottom: 15vw;
  color: #fefefe;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
@media (min-width: 750px) {
  .card-ldp .text-ft {
    height: 100%;
    padding: 0;
    width: 50vw;
    justify-content: center;
  }
}
.card-ldp .text-ft h3,
.card-ldp .text-ft p {
  width: 80%;
}
.card-ldp h3 {
  letter-spacing: -0.06rem;
  font-weight: 500;
}

@media (min-width: 750px) {
  .card2 .text-ft {
    order: -1;
  }
}
@media (min-width: 750px) {
  .card2 img {
    order: 1;
  }
}

section.products {
  width: 100%;
}

.title-katalog p {
  margin-top: 1rem;
  margin-left: 5rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.title-katalog p::before {
  content: "";
  border-top: 1.5px solid #2e2e2e;
  position: absolute;
  display: block;
  width: 4.55rem;
  left: -5rem;
  top: 0.85rem;
}
.title-katalog p::after {
  content: "";
  border-top: 1.5px solid #2e2e2e;
  position: absolute;
  display: block;
  width: calc(100% + 5rem);
  left: -5rem;
  bottom: -0.5rem;
}
.title-katalog p mark > a {
  white-space: nowrap;
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  padding: 2px 5px;
  color: #fefefe;
  background-color: #2e2e2e;
  transition: 0.6s ease-out;
}
.title-katalog p mark > a:hover, .title-katalog p mark > a:focus {
  background-color: #d3d3d3;
  color: #3713d4;
}

.title-product {
  margin-top: 4rem;
  margin-left: 4.5rem;
  margin-bottom: 2rem;
  color: #898989;
}
.title-product span {
  font-style: italic;
}

.katalog-grid {
  margin-top: 2rem;
  margin-left: 4.5rem;
  margin-bottom: 5.5rem;
  width: calc(100% - 4.5rem);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  row-gap: 4rem;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
@media (min-width: 560px) {
  .katalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    margin-bottom: 12rem;
  }
}
@media (min-width: 814px) {
  .katalog-grid {
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }
}
.katalog-grid h3 {
  font-weight: 500;
}
.katalog-grid img {
  width: 100%;
}
.katalog-grid span {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  letter-spacing: -0.03em;
}
.katalog-grid span,
.katalog-grid p {
  color: #898989;
}
.katalog-grid .catl-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.katalog-grid .catl-card .p-img {
  width: 100%;
  background: #e4e4e4;
  display: flex;
  justify-content: center;
  align-items: center;
}
.katalog-grid .catl-card .p-img img {
  aspect-ratio: 17/15;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  height: 70%;
}
.katalog-grid .catl-card p {
  font-size: clamp(0.66rem, 0.53rem + 0.63vw, 0.88rem);
}

.katalog-lr {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lr-set {
  margin-top: 2rem;
  margin-left: 4.5rem;
  width: calc(100% - 4.5rem);
  display: flex;
  gap: 1.125rem;
}
.lr-set > h3 {
  white-space: nowrap;
  font-weight: 500;
  letter-spacing: -0.12rem;
}

.katalog-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  width: 100%;
  row-gap: 2.5rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  justify-items: center;
  align-items: start;
}
@media (min-width: 700px) {
  .katalog-grid-2 {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }
}
@media (min-width: 900px) {
  .katalog-grid-2 {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
}
.katalog-grid-2 h5.lr-heading {
  font-size: clamp(0.66rem, 0.53rem + 0.63vw, 0.88rem);
  letter-spacing: -0.03rem;
  font-weight: 500;
  text-align: center;
  line-height: 130%;
}
.katalog-grid-2 .grid-lr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.katalog-grid-2 .grid-lr-item img {
  width: 90%;
}

.ikopi-title {
  margin-top: 10.5rem;
}

.ikopi-subtitle {
  margin-bottom: 3rem;
}

.katalog-ikopi {
  flex-direction: column;
  margin-bottom: 15rem;
}
@media (min-width: 800px) {
  .katalog-ikopi {
    flex-direction: row;
    gap: 5rem;
  }
}
.katalog-ikopi > h3 {
  white-space: normal;
  position: relative;
}
@media (min-width: 800px) {
  .katalog-ikopi > h3 {
    flex-basis: 50%;
  }
}
.katalog-ikopi > h3 span {
  position: absolute;
  right: 0;
  color: #2e2e2e;
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
}
.katalog-ikopi ul li {
  list-style-type: "●";
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  letter-spacing: -0.1rem;
  margin: 11px 0;
  padding-left: 0.5rem;
}

.serv {
  width: 100%;
  aspect-ratio: 1;
  background-color: #898989;
}

section.services .katalog-grid {
  margin-top: 7rem;
}

.page-wrapper {
  margin-top: 4rem;
}

.page-title {
  margin-right: 1rem;
  text-align: end;
  font-style: normal;
  font-weight: 500;
  font-size: 40px;
  line-height: 95%;
  letter-spacing: -0.04em;
  color: rgba(137, 137, 137, 0.5);
}

section.title h1.heading {
  margin: 1rem;
  margin-top: 4rem;
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-size: 34px;
  line-height: 115%;
  letter-spacing: -0.05em;
  max-width: 12ch;
  color: #2E2E2E;
}

section.contact {
  margin: auto;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media (min-width: 1000px) {
  section.contact {
    flex-direction: row;
    gap: 6.5rem;
    max-width: 920px;
  }
}
@media (min-width: 1000px) {
  section.contact .title {
    max-width: 40ch;
  }
}
@media (min-width: 1000px) {
  section.contact .contact-form {
    flex: 0 0 45%;
  }
}
section.contact .contact-form .form-text {
  position: relative;
}
section.contact .contact-form textarea {
  height: 15rem;
  font-family: Inter;
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  resize: none;
  letter-spacing: 0.01rem;
  border-bottom: 1px solid #898989;
}
section.contact .contact-form input {
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  font-family: Inter;
}
section.contact .contact-form input:not([type=button]), section.contact .contact-form textarea {
  margin: -1px;
  padding: 1rem 1rem 1rem 6.5rem;
  border: none;
  border-top: 1px solid #898989;
  width: 100%;
  border-radius: 0;
  letter-spacing: -0.05rem;
  outline: none;
  font-weight: 300;
  transition: 0.75s;
}
@media (min-width: 585px) {
  section.contact .contact-form input:not([type=button]), section.contact .contact-form textarea {
    padding-left: 9rem;
  }
}
section.contact .contact-form input:not([type=button]):focus, section.contact .contact-form textarea:focus {
  border-top: 1px solid #898989;
  background-color: rgba(137, 137, 137, 0.3098039216);
}
section.contact .contact-form .button {
  background-color: #2e2e2e;
  border: none;
  color: #fefefe;
  padding: 1.25rem 0;
  width: 100%;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  margin-top: 1.5rem;
  box-shadow: inset 0 0 0 0 #2e2e2e;
  transition: all ease-out 0.7s;
}
section.contact .contact-form .button:hover, section.contact .contact-form .button:focus {
  box-shadow: inset 600px 0 0 0 #d2d0d0;
  color: #898989;
}
section.contact .contact-form .static-value {
  position: absolute;
  left: 10px;
  font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
  color: #898989;
  top: 1.15rem;
  letter-spacing: -0.05rem;
}

main.about-page-main {
  overflow-y: hidden;
}

section.about-heading {
  margin-top: 10vw;
}
section.about-heading h1 {
  font-size: clamp(2.07rem, 1.27rem + 4.03vw, 3.53rem);
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 375px) {
  section.about-heading {
    margin-left: 10vw;
  }
}
@media (min-width: 605px) {
  section.about-heading h1 {
    font-size: clamp(2.76rem, 1.53rem + 6.16vw, 5rem);
  }
}
section.about-heading .first-line {
  display: flex;
  gap: 6.5px;
  align-items: center;
}
section.about-heading .first-line img {
  width: clamp(2.76rem, 1.53rem + 6.16vw, 5rem);
  height: 100%;
}
@media (min-width: 500px) {
  section.about-heading .second-line {
    margin-left: 0;
  }
}
@media (min-width: 919px) {
  section.about-heading .second-line {
    margin-left: 5rem;
  }
}
section.about-heading .third-line-imgs {
  margin-top: clamp(1.5rem, 7vw, 3rem);
}
@media (min-width: 500px) {
  section.about-heading .third-line-imgs {
    margin-left: 0;
  }
}
@media (min-width: 919px) {
  section.about-heading .third-line-imgs {
    margin-left: 10rem;
  }
}
section.about-heading .third-line-imgs img {
  width: min(51rem, 66vw);
  height: auto;
}

section.ktb-desc {
  margin-top: 3.5rem;
  margin-bottom: 15vw;
}
section.ktb-desc p {
  letter-spacing: -0.05rem;
  line-height: 135%;
}
@media (min-width: 500px) {
  section.ktb-desc p {
    margin-left: 0;
  }
}
@media (min-width: 919px) {
  section.ktb-desc p {
    margin-left: 10rem;
  }
}
@media (min-width: 375px) {
  section.ktb-desc {
    margin-left: 10vw;
  }
}
@media (min-width: 606px) {
  section.ktb-desc {
    font-size: clamp(1.17rem, 0.83rem + 1.66vw, 1.77rem);
    max-width: 800px;
  }
}

section.map {
  width: 100%;
  aspect-ratio: 3.5;
}
section.map iframe {
  width: calc(100% - 1rem);
  margin-top: 2rem;
  height: 100%;
}

section.gallery h2::after,
section.map h2::after {
  content: "";
  border-top: 1.5px solid #2e2e2e;
  position: absolute;
  display: block;
  width: calc(100% - 3rem);
  margin-top: 0.5rem;
  right: 1.5rem;
}

section.gallery .photo-grid {
  width: calc(100% - 1rem);
  margin-right: 1rem;
  margin-top: 2rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
}
section.gallery .photo-grid .img-hv {
  background-color: rgb(187, 187, 187);
  aspect-ratio: 1.35;
}
section.gallery .photo-grid .img-hv img {
  width: 100%;
}

section.gallery {
  margin-bottom: 7.5rem;
}

main {
  margin: 5.5rem 1.45rem 0;
  width: calc(100vw - 2.9rem);
  gap: 2rem;
}

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

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

section.page-name {
  margin-top: -1rem;
  margin-bottom: clamp(5rem, 15%, 7.5rem);
}

.img-hv {
  position: relative;
  overflow: hidden;
}

.img-hv img {
  transition: all 0.57s ease-out;
  display: block;
  height: auto;
  transform: scale(1);
}

.img-hv:hover img {
  transform: scale(1.05);
}/*# sourceMappingURL=main.css.map */