@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&family=Roboto:wght@400;500;700;900&display=swap');

@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css');

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap');

:root {
  --primary: hsl(47, 34%, 60%);
  --secondary: hsl(53, 34%, 42%);
  --accent: hsl(39, 44%, 82%);
  --bg-dark: #101216;
  --bg-panel: #171a20;
  --text-light: #f3f1ea;
  --border-soft: rgba(243, 241, 234, 0.14);
}

html, body {
  background-color: var(--bg-dark);
  color: var(--text-light);
  font-family: 'Open Sans', sans-serif;
}
h1, h2, h3, h4, h5, h6, .navbar-brand {
  font-family: 'Roboto', sans-serif;
}
.site-header {
  background-color: var(--bg-dark);
  border-bottom: 1px solid var(--border-soft);
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}
.site-header .navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--text-light);
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0.02em;
}
.site-header .navbar-brand img {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.site-header .nav-link {
  color: var(--text-light);
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 12px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.site-header .nav-link:hover,
.site-header .nav-link:focus {
  color: var(--accent);
  background-color: rgba(243, 241, 234, 0.06);
}
.site-header .navbar-toggler {
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  padding: 0.4rem 0.65rem;
}
.site-header .navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(196, 184, 120, 0.35);
}
.site-header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28243, 241, 234, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width: 991.98px) {
  .site-header .navbar-collapse {
    margin-top: 0.9rem;
    padding: 0.75rem;
    background-color: var(--bg-panel);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
  }
}

#about-section {
  background: #101216;
  color: #e9e6df;
  font-family: 'Open Sans', sans-serif;
  padding: 104px 0;
  position: relative;
  overflow: hidden;
}
#about-section h1,
#about-section h2,
#about-section h3 {
  font-family: 'Roboto', sans-serif;
  color: #f5f2ea;
  font-weight: 500;
  letter-spacing: -0.01em;
}
#about-section .about-eyebrow {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(47, 34%, 60%);
  margin-bottom: 22px;
}
#about-section .about-title {
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  line-height: 1.08;
  margin-bottom: 28px;
}
#about-section .about-lead {
  font-size: 1.18rem;
  line-height: 1.75;
  color: #d4d0c6;
  max-width: 620px;
}
#about-section .about-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 22px;
  border: 1px solid rgba(233, 226, 205, 0.18);
}
#about-section .about-block {
  margin-top: 104px;
}
#about-section .about-block h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  margin-bottom: 22px;
}
#about-section .about-block p {
  line-height: 1.8;
  color: #cfcbc0;
  margin-bottom: 18px;
}
#about-section .about-panel {
  background: #171a20;
  border: 1px solid rgba(233, 226, 205, 0.16);
  border-radius: 20px;
  padding: 32px 28px;
  height: 100%;
}
#about-section .about-panel h3 {
  font-size: 1.2rem;
  color: hsl(39, 44%, 82%);
  margin-bottom: 12px;
}
#about-section .about-panel p {
  margin: 0;
  color: #cfcbc0;
  line-height: 1.7;
  font-size: 0.97rem;
}
#about-section .about-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 40px;
}
#about-section .about-fact {
  flex: 1 1 140px;
  border-top: 1px solid hsl(47, 34%, 60%);
  padding-top: 14px;
}
#about-section .about-fact strong {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 2rem;
  font-weight: 500;
  color: hsl(39, 44%, 82%);
}
#about-section .about-fact span {
  font-size: 0.88rem;
  color: #b9b5aa;
}
#about-section .about-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: step;
}
#about-section .about-steps li {
  counter-increment: step;
  position: relative;
  padding: 24px 24px 24px 84px;
  margin-bottom: 16px;
  background: #171a20;
  border: 1px solid rgba(233, 226, 205, 0.16);
  border-radius: 18px;
  color: #cfcbc0;
  line-height: 1.7;
}
#about-section .about-steps li::before {
  content: counter(step);
  position: absolute;
  left: 24px;
  top: 22px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: hsl(47, 34%, 60%);
  color: #101216;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
#about-section .about-steps li strong {
  display: block;
  color: #f5f2ea;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  margin-bottom: 4px;
}
#about-section .about-cta {
  margin-top: 104px;
  background: #171a20;
  border: 1px solid rgba(233, 226, 205, 0.2);
  border-radius: 24px;
  padding: 56px 40px;
  text-align: center;
}
#about-section .about-cta h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 16px;
}
#about-section .about-cta p {
  color: #cfcbc0;
  max-width: 560px;
  margin: 0 auto 28px;
  line-height: 1.7;
}
#about-section .about-btn {
  display: inline-block;
  background: hsl(47, 34%, 60%);
  color: #101216;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  text-decoration: none;
  padding: 15px 38px;
  border-radius: 999px;
  border: 1px solid hsl(47, 34%, 60%);
  transition: background 0.2s ease, color 0.2s ease;
}
#about-section .about-btn:hover {
  background: transparent;
  color: hsl(39, 44%, 82%);
}
@media (max-width: 767px) {
  #about-section { padding: 72px 0; }
  #about-section .about-block,
  #about-section .about-cta { margin-top: 72px; }
  #about-section .about-cta { padding: 40px 22px; }
  #about-section .about-steps li { padding: 22px 20px 22px 76px; }
}

.site-footer{background:#101216;color:#e9e6dc;padding:96px 0 32px;font-family:'Open Sans',sans-serif;border-top:1px solid rgba(255,255,255,0.12)}
.site-footer h3,.site-footer h4{font-family:'Roboto',sans-serif;color:#f4efe0;font-weight:500}
.site-footer .footer-brand{font-size:2rem;letter-spacing:0.02em;margin-bottom:16px}
.site-footer p{color:#cfcabb;line-height:1.7;font-size:0.95rem}
.site-footer h4{font-size:1rem;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:20px;color:hsl(47,34%,60%)}
.site-footer a{color:#e9e6dc;text-decoration:none;transition:color .2s ease}
.site-footer a:hover{color:hsl(39,44%,82%)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer ul li{margin-bottom:10px}
.footer-panel{border:1px solid rgba(255,255,255,0.14);border-radius:20px;padding:28px;height:100%;background:rgba(255,255,255,0.02)}
.footer-contact li{display:flex;gap:10px;align-items:flex-start;font-size:0.93rem;color:#cfcabb}
.footer-contact i{color:hsl(47,34%,60%);margin-top:3px}
.footer-social{display:flex;gap:12px;margin-top:20px}
.footer-social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,0.22);display:inline-flex;align-items:center;justify-content:center;color:hsl(39,44%,82%);font-size:1.05rem;transition:all .2s ease}
.footer-social a:hover{background:hsl(47,34%,60%);color:#101216;border-color:hsl(47,34%,60%)}
.footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);font-size:0.85rem;color:#a9a493}
#privacyBox{position:fixed;left:16px;right:16px;bottom:16px;z-index:1080;max-width:760px;margin:0 auto;background:#1a1d23;color:#f1ede0;border:1px solid hsl(47,34%,60%);border-radius:20px;padding:20px 22px;box-shadow:0 12px 40px rgba(0,0,0,0.55);font-family:'Open Sans',sans-serif;max-height:60vh;overflow-y:auto}
#privacyBox h5{font-family:'Roboto',sans-serif;color:hsl(39,44%,82%);font-size:1.1rem;margin-bottom:8px}
#privacyBox p{font-size:0.85rem;line-height:1.55;margin-bottom:10px;color:#d8d3c4}
#privacyBox ul{font-size:0.82rem;color:#d8d3c4;padding-left:18px;margin-bottom:14px}
#privacyBox ul li{margin-bottom:4px}
#privacyBox strong{color:hsl(47,34%,60%)}
.privacy-actions{display:flex;gap:10px;flex-wrap:wrap}
.privacy-actions .btn-consent{flex:1 1 140px;min-height:44px;border-radius:12px;font-weight:600;font-size:0.9rem;border:1px solid hsl(47,34%,60%);background:hsl(47,34%,60%);color:#101216;cursor:pointer;transition:all .2s ease;font-family:'Open Sans',sans-serif}
.privacy-actions .btn-consent:hover{background:hsl(39,44%,82%);border-color:hsl(39,44%,82%);color:#101216}
.privacy-actions .btn-manage{flex:1 1 100%;text-align:center;font-size:0.82rem;color:hsl(39,44%,82%);text-decoration:underline;padding-top:4px}
.privacy-actions .btn-manage:hover{color:hsl(47,34%,60%)}
@media (max-width:575px){
#privacyBox{left:8px;right:8px;bottom:8px;padding:14px 16px}
#privacyBox ul{display:none}
.site-footer{padding:64px 0 24px}
}




.bujeki-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-color: #101216;
  background-image: url('../images/cover.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #f4f1ea;
  font-family: 'Open Sans', sans-serif;
  overflow: hidden;
}

.bujeki-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(16, 18, 22, 0.94) 0%, rgba(16, 18, 22, 0.82) 48%, rgba(16, 18, 22, 0.55) 100%);
  z-index: 1;
}

.bujeki-hero .container {
  position: relative;
  z-index: 2;
  padding-top: 112px;
  padding-bottom: 112px;
}

.bujeki-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border: 1px solid rgba(232, 217, 186, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(39, 44%, 82%);
  margin-bottom: 32px;
}

.bujeki-hero__tag i {
  color: hsl(47, 34%, 60%);
}

.bujeki-hero h1 {
  font-family: 'Roboto', sans-serif;
  font-weight: 900;
  font-size: clamp(2.5rem, 6.2vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin-bottom: 24px;
  max-width: 920px;
}

.bujeki-hero h2 {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.4;
  color: hsl(47, 34%, 60%);
  margin-bottom: 28px;
  max-width: 720px;
}

.bujeki-hero p {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #e6e2d8;
  max-width: 640px;
  margin-bottom: 44px;
}

.bujeki-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 18px 38px;
  background-color: hsl(47, 34%, 60%);
  color: #101216;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  text-decoration: none;
  border: 2px solid hsl(47, 34%, 60%);
  border-radius: 18px;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.bujeki-hero__btn:hover,
.bujeki-hero__btn:focus {
  background-color: hsl(39, 44%, 82%);
  border-color: hsl(39, 44%, 82%);
  color: #101216;
  transform: translateY(-3px);
}

.bujeki-hero__btn i {
  transition: transform 0.25s ease;
}

.bujeki-hero__btn:hover i {
  transform: translateX(5px);
}

@media (max-width: 767.98px) {
  .bujeki-hero::before {
    background: linear-gradient(180deg, rgba(16, 18, 22, 0.88) 0%, rgba(16, 18, 22, 0.9) 100%);
  }
  .bujeki-hero .container {
    padding-top: 96px;
    padding-bottom: 80px;
  }
  .bujeki-hero p {
    margin-bottom: 36px;
  }
  .bujeki-hero__btn {
    width: 100%;
    justify-content: center;
  }
}

#projects {
  background: #101216;
  color: #f1efe9;
  padding: 104px 0;
  font-family: 'Open Sans', sans-serif;
}
#projects .pf-eyebrow {
  font-family: 'Roboto', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.8rem;
  color: hsl(47, 34%, 60%);
  margin-bottom: 16px;
}
#projects .pf-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.15;
  color: #f8f6f0;
  margin-bottom: 20px;
}
#projects .pf-lead {
  color: #c9c6bd;
  font-size: 1.05rem;
  line-height: 1.75;
  max-width: 720px;
  margin-bottom: 64px;
}
#projects .pf-card {
  background: #171a20;
  border: 1px solid rgba(241, 239, 233, 0.14);
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
#projects .pf-card:hover {
  border-color: hsl(47, 34%, 60%);
  transform: translateY(-4px);
}
#projects .pf-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: #1f232b;
}
#projects .pf-body {
  padding: 26px 26px 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
#projects .pf-badge {
  align-self: flex-start;
  background: transparent;
  border: 1px solid hsl(47, 34%, 60%);
  color: hsl(39, 44%, 82%);
  border-radius: 999px;
  padding: 4px 14px;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
}
#projects .pf-name {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 1.3rem;
  color: #f8f6f0;
  margin-bottom: 12px;
}
#projects .pf-text {
  color: #bdbab1;
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 22px;
  flex-grow: 1;
}
#projects .pf-btn {
  align-self: flex-start;
  background: transparent;
  color: hsl(39, 44%, 82%);
  border: 1px solid rgba(241, 239, 233, 0.3);
  border-radius: 999px;
  padding: 9px 22px;
  font-family: 'Roboto', sans-serif;
  font-size: 0.9rem;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#projects .pf-btn:hover, #projects .pf-btn:focus {
  background: hsl(47, 34%, 60%);
  border-color: hsl(47, 34%, 60%);
  color: #101216;
}
#projects .pf-note {
  margin-top: 56px;
  padding: 28px 32px;
  border: 1px solid rgba(241, 239, 233, 0.14);
  border-radius: 20px;
  background: #14171c;
  color: #c9c6bd;
  line-height: 1.7;
}
#projects .pf-note strong {
  color: hsl(39, 44%, 82%);
  font-family: 'Roboto', sans-serif;
}
#projects .pf-modal .modal-content {
  background: #171a20;
  color: #e9e6dd;
  border: 1px solid rgba(241, 239, 233, 0.18);
  border-radius: 22px;
  font-family: 'Open Sans', sans-serif;
}
#projects .pf-modal .modal-header, #projects .pf-modal .modal-footer {
  border-color: rgba(241, 239, 233, 0.12);
}
#projects .pf-modal .modal-title {
  font-family: 'Roboto', sans-serif;
  color: #f8f6f0;
  font-weight: 600;
}
#projects .pf-modal .btn-close {
  filter: invert(1) grayscale(1);
  opacity: 0.8;
}
#projects .pf-modal .pf-modal-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 20px;
  background: #1f232b;
}
#projects .pf-modal .pf-modal-cat {
  display: inline-block;
  border: 1px solid hsl(47, 34%, 60%);
  color: hsl(39, 44%, 82%);
  border-radius: 999px;
  padding: 3px 14px;
  font-size: 0.78rem;
  margin-bottom: 14px;
}
#projects .pf-modal p {
  color: #cfccc3;
  line-height: 1.75;
}
#projects .pf-modal h6 {
  font-family: 'Roboto', sans-serif;
  color: hsl(47, 34%, 60%);
  margin-top: 18px;
  margin-bottom: 8px;
}
#projects .pf-modal ul {
  color: #cfccc3;
  padding-left: 1.2rem;
  line-height: 1.7;
}
#projects .pf-modal .pf-close-btn {
  background: hsl(47, 34%, 60%);
  color: #101216;
  border: none;
  border-radius: 999px;
  padding: 9px 26px;
  font-family: 'Roboto', sans-serif;
}
#projects .pf-modal .pf-close-btn:hover {
  background: hsl(39, 44%, 82%);
  color: #101216;
}
@media (max-width: 767px) {
  #projects { padding: 72px 0; }
  #projects .pf-lead { margin-bottom: 40px; }
  #projects .pf-note { padding: 22px; }
}



.bujeki-services {
  background: #12151a;
  color: #f1ede4;
  padding: 104px 0;
  font-family: 'Open Sans', sans-serif;
}

.bujeki-services .bs-eyebrow {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(47, 34%, 60%);
  margin-bottom: 18px;
}

.bujeki-services .bs-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  line-height: 1.15;
  color: #ffffff;
  margin-bottom: 22px;
}

.bujeki-services .bs-lead {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #cfc9bb;
  max-width: 720px;
  margin: 0 auto;
}

.bujeki-services .bs-head {
  text-align: center;
  margin-bottom: 72px;
}

.bujeki-services .bs-card {
  height: 100%;
  background: #181c23;
  border: 1px solid rgba(241, 237, 228, 0.14);
  border-radius: 20px;
  padding: 36px 30px 30px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.bujeki-services .bs-card:hover {
  transform: translateY(-8px);
  border-color: hsl(47, 34%, 60%);
  background: #1c212a;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

.bujeki-services .bs-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(190, 172, 116, 0.14);
  border: 1px solid rgba(190, 172, 116, 0.35);
  color: hsl(39, 44%, 82%);
  font-size: 1.6rem;
  margin-bottom: 24px;
  transition: background 0.3s ease, color 0.3s ease;
}

.bujeki-services .bs-card:hover .bs-icon {
  background: hsl(47, 34%, 60%);
  color: #12151a;
}

.bujeki-services .bs-card h3 {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.3;
  color: #ffffff;
  margin-bottom: 14px;
}

.bujeki-services .bs-card p {
  font-size: 0.97rem;
  line-height: 1.7;
  color: #cfc9bb;
  margin-bottom: 26px;
  flex-grow: 1;
}

.bujeki-services .bs-foot {
  border-top: 1px solid rgba(241, 237, 228, 0.14);
  padding-top: 20px;
}

.bujeki-services .bs-price {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.35rem;
  color: hsl(39, 44%, 82%);
  display: block;
  margin-bottom: 6px;
}

.bujeki-services .bs-terms {
  font-size: 0.86rem;
  color: #a9a395;
  display: block;
}

.bujeki-services .bs-note {
  margin-top: 64px;
  padding: 30px 34px;
  border: 1px solid rgba(241, 237, 228, 0.14);
  border-radius: 20px;
  background: #151921;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.bujeki-services .bs-note p {
  margin: 0;
  color: #cfc9bb;
  line-height: 1.7;
  max-width: 760px;
  font-size: 0.97rem;
}

.bujeki-services .bs-btn {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  background: hsl(47, 34%, 60%);
  color: #12151a;
  padding: 14px 30px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid hsl(47, 34%, 60%);
  transition: background 0.3s ease, color 0.3s ease;
}

.bujeki-services .bs-btn:hover {
  background: transparent;
  color: hsl(39, 44%, 82%);
}

@media (max-width: 767px) {
  .bujeki-services {
    padding: 72px 0;
  }
  .bujeki-services .bs-head {
    margin-bottom: 48px;
  }
  .bujeki-services .bs-note {
    padding: 24px 22px;
  }
}

#reviews{
  background:#12151a;
  color:#e9e6dd;
  padding:104px 0;
  font-family:'Open Sans',sans-serif;
}
#reviews .rv-head{
  max-width:720px;
  margin-bottom:64px;
}
#reviews .rv-kicker{
  display:inline-block;
  font-family:'Roboto',sans-serif;
  font-size:.8rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:hsl(47,34%,60%);
  margin-bottom:18px;
}
#reviews h2{
  font-family:'Roboto',sans-serif;
  font-weight:300;
  font-size:clamp(2rem,4.6vw,3.3rem);
  line-height:1.15;
  color:#f4f1e8;
  margin-bottom:22px;
}
#reviews .rv-lead{
  color:#b9b5a9;
  font-size:1.05rem;
  line-height:1.75;
  margin:0;
}
#reviews .rv-grid{
  column-count:3;
  column-gap:24px;
}
#reviews .rv-card{
  break-inside:avoid;
  display:inline-block;
  width:100%;
  margin:0 0 24px;
  background:#191d24;
  border:1px solid rgba(233,230,221,.14);
  border-radius:20px;
  padding:30px 28px;
  color:#e9e6dd;
}
#reviews .rv-card.rv-accent{
  background:#1d2128;
  border-color:hsl(47,34%,60%);
}
#reviews .rv-stars{
  font-size:1.05rem;
  letter-spacing:3px;
  color:hsl(47,34%,60%);
  margin-bottom:16px;
}
#reviews .rv-stars .rv-off{
  color:rgba(233,230,221,.25);
}
#reviews .rv-title{
  font-family:'Roboto',sans-serif;
  font-weight:500;
  font-size:1.08rem;
  color:hsl(39,44%,82%);
  margin:0 0 12px;
}
#reviews .rv-text{
  color:#d3cfc3;
  font-size:.97rem;
  line-height:1.72;
  margin:0 0 22px;
}
#reviews .rv-author{
  border-top:1px solid rgba(233,230,221,.12);
  padding-top:16px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
#reviews .rv-name{
  font-family:'Roboto',sans-serif;
  font-weight:500;
  color:#f4f1e8;
  font-size:.98rem;
}
#reviews .rv-meta{
  color:#9a968a;
  font-size:.85rem;
}
#reviews .rv-foot{
  margin-top:48px;
  padding:28px 32px;
  border:1px solid rgba(233,230,221,.14);
  border-radius:20px;
  color:#b9b5a9;
  font-size:.95rem;
  line-height:1.7;
}
#reviews .rv-foot strong{
  color:hsl(39,44%,82%);
  font-weight:600;
}
@media (max-width:991.98px){
  #reviews{padding:80px 0;}
  #reviews .rv-grid{column-count:2;}
}
@media (max-width:640px){
  #reviews{padding:64px 0;}
  #reviews .rv-head{margin-bottom:40px;}
  #reviews .rv-grid{column-count:1;}
  #reviews .rv-card{padding:26px 22px;}
}

#in-numbers{background:#101216;color:#f1ede3;padding:104px 0;font-family:'Open Sans',sans-serif;position:relative;overflow:hidden}
#in-numbers .stats-eyebrow{display:inline-block;font-family:'Roboto',sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:hsl(47,34%,60%);margin-bottom:18px}
#in-numbers .stats-title{font-family:'Roboto',sans-serif;font-weight:300;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.15;color:#f8f5ec;margin-bottom:22px}
#in-numbers .stats-lead{color:#c9c5ba;font-size:1.05rem;line-height:1.75;max-width:640px;margin:0 auto}
#in-numbers .stats-head{margin-bottom:64px}
#in-numbers .stat-panel{height:100%;background:#171a20;border:1px solid rgba(241,237,227,.14);border-radius:20px;padding:34px 28px;transition:border-color .3s ease,transform .3s ease;opacity:0;transform:translateY(24px);animation:statRise .8s ease forwards}
#in-numbers .stat-panel:hover{border-color:hsl(47,34%,60%);transform:translateY(-4px)}
#in-numbers .col-md-6:nth-child(1) .stat-panel,#in-numbers .col-lg-4:nth-child(1) .stat-panel{animation-delay:.05s}
#in-numbers .col-lg-4:nth-child(2) .stat-panel{animation-delay:.15s}
#in-numbers .col-lg-4:nth-child(3) .stat-panel{animation-delay:.25s}
#in-numbers .col-lg-4:nth-child(4) .stat-panel{animation-delay:.35s}
#in-numbers .col-lg-4:nth-child(5) .stat-panel{animation-delay:.45s}
#in-numbers .col-lg-4:nth-child(6) .stat-panel{animation-delay:.55s}
#in-numbers .col-lg-4:nth-child(7) .stat-panel{animation-delay:.65s}
#in-numbers .stat-icon{width:52px;height:52px;border-radius:14px;background:rgba(197,177,120,.12);border:1px solid rgba(197,177,120,.35);display:flex;align-items:center;justify-content:center;color:hsl(47,34%,60%);font-size:1.4rem;margin-bottom:24px}
#in-numbers .stat-value{font-family:'Roboto',sans-serif;font-weight:300;font-size:clamp(2.4rem,4vw,3.3rem);line-height:1;color:hsl(39,44%,82%);margin-bottom:12px;display:block;overflow:hidden}
#in-numbers .stat-label{font-family:'Roboto',sans-serif;font-weight:500;font-size:1.05rem;color:#f8f5ec;margin-bottom:8px}
#in-numbers .stat-note{font-size:.93rem;line-height:1.65;color:#aeb0b4;margin:0}
#in-numbers .stat-panel.is-wide{background:linear-gradient(135deg,#1b1f26,#171a20);border-color:rgba(197,177,120,.4)}
@keyframes statRise{to{opacity:1;transform:translateY(0)}}
@keyframes statCount{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
#in-numbers .stat-value span{display:inline-block;animation:statCount .9s cubic-bezier(.2,.7,.2,1) both}
#in-numbers .stats-foot{margin-top:56px;text-align:center;color:#8f9298;font-size:.9rem}
@media (prefers-reduced-motion:reduce){#in-numbers .stat-panel,#in-numbers .stat-value span{animation:none;opacity:1;transform:none}}
@media (max-width:767px){#in-numbers{padding:72px 0}#in-numbers .stats-head{margin-bottom:44px}#in-numbers .stat-panel{padding:28px 22px}}

#contact.bj-contact{
  background:#12151a;
  color:#e9e6dd;
  padding:104px 0;
  font-family:'Open Sans',sans-serif;
  position:relative;
  overflow:hidden;
}
#contact.bj-contact *{box-sizing:border-box;}
#contact .bj-eyebrow{
  display:inline-block;
  font-family:'Roboto',sans-serif;
  font-size:.8rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:hsl(47,34%,60%);
  margin-bottom:20px;
}
#contact .bj-title{
  font-family:'Roboto',sans-serif;
  font-weight:300;
  font-size:clamp(2rem,4.4vw,3.4rem);
  line-height:1.15;
  color:#f5f2ea;
  margin:0 0 24px;
}
#contact .bj-lead{
  font-size:1.05rem;
  line-height:1.75;
  color:#c9c5b8;
  max-width:520px;
  margin:0 0 40px;
}
#contact .bj-info-panel{
  border:1px solid rgba(233,230,221,.16);
  border-radius:20px;
  padding:32px;
  background:rgba(255,255,255,.02);
}
#contact .bj-info-item{
  padding:18px 0;
  border-bottom:1px solid rgba(233,230,221,.12);
}
#contact .bj-info-item:first-child{padding-top:0;}
#contact .bj-info-item:last-child{border-bottom:0;padding-bottom:0;}
#contact .bj-label{
  font-family:'Roboto',sans-serif;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:hsl(47,34%,60%);
  margin-bottom:6px;
  display:block;
}
#contact .bj-value{
  color:#f5f2ea;
  font-size:1.02rem;
  line-height:1.65;
  margin:0;
}
#contact .bj-value a{
  color:hsl(39,44%,82%);
  text-decoration:none;
  border-bottom:1px solid rgba(233,222,196,.35);
  transition:color .2s,border-color .2s;
}
#contact .bj-value a:hover{
  color:#fff;
  border-color:hsl(47,34%,60%);
}
#contact .bj-hours{
  list-style:none;
  padding:0;
  margin:0;
}
#contact .bj-hours li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:3px 0;
  color:#f5f2ea;
  font-size:.98rem;
}
#contact .bj-hours li span:last-child{color:#c9c5b8;text-align:right;}
#contact .bj-how{
  margin-top:20px;
  font-size:.95rem;
  line-height:1.7;
  color:#c9c5b8;
}
#contact .bj-how a{
  color:hsl(47,34%,60%);
  text-decoration:none;
  border-bottom:1px solid hsl(47,34%,60%);
}
#contact .bj-how a:hover{color:hsl(39,44%,82%);border-color:hsl(39,44%,82%);}
#contact .bj-form-panel{
  border:1px solid rgba(233,230,221,.2);
  border-radius:24px;
  padding:44px 40px;
  background:#181b21;
  position:relative;
}
#contact .bj-form-title{
  font-family:'Roboto',sans-serif;
  font-weight:400;
  font-size:1.5rem;
  color:#f5f2ea;
  margin:0 0 10px;
}
#contact .bj-form-note{
  font-size:.95rem;
  color:#b9b5a8;
  line-height:1.65;
  margin:0 0 28px;
}
#contact .bj-field{margin-bottom:20px;}
#contact .bj-field label{
  display:block;
  font-size:.85rem;
  color:#d9d5c8;
  margin-bottom:8px;
}
#contact .bj-field .form-control{
  background:#101216;
  color:#f5f2ea;
  border:1px solid rgba(233,230,221,.22);
  border-radius:14px;
  padding:14px 16px;
  font-family:'Open Sans',sans-serif;
  font-size:1rem;
  transition:border-color .2s,box-shadow .2s;
}
#contact .bj-field .form-control::placeholder{color:#7d7a70;}
#contact .bj-field .form-control:focus{
  background:#101216;
  color:#fff;
  border-color:hsl(47,34%,60%);
  box-shadow:0 0 0 3px rgba(190,176,112,.2);
  outline:0;
}
#contact .bj-field textarea.form-control{min-height:150px;resize:vertical;}
#contact .bj-submit{
  display:inline-block;
  width:100%;
  background:hsl(47,34%,60%);
  color:#12151a;
  font-family:'Roboto',sans-serif;
  font-weight:500;
  font-size:1rem;
  letter-spacing:.04em;
  border:0;
  border-radius:999px;
  padding:16px 32px;
  cursor:pointer;
  transition:background .2s,transform .2s;
}
#contact .bj-submit:hover{
  background:hsl(39,44%,82%);
  color:#12151a;
  transform:translateY(-1px);
}
#contact .bj-privacy{
  margin:18px 0 0;
  font-size:.82rem;
  color:#9a968a;
  line-height:1.6;
}
#contact .bj-privacy a{color:hsl(39,44%,82%);}
@media (max-width:991.98px){
  #contact.bj-contact{padding:80px 0;}
  #contact .bj-form-panel{padding:32px 24px;margin-top:16px;}
  #contact .bj-lead{max-width:none;}
}
@media (max-width:575.98px){
  #contact .bj-info-panel{padding:24px 20px;}
  #contact .bj-hours li{flex-direction:column;gap:0;padding:6px 0;}
  #contact .bj-hours li span:last-child{text-align:left;}
}

#notice.disclaimer-section {
  background: #13161b;
  color: #e9e6df;
  padding: 104px 0;
  font-family: 'Open Sans', sans-serif;
}
#notice.disclaimer-section .disclaimer-wrap {
  max-width: 860px;
  margin: 0 auto;
}
#notice.disclaimer-section .disclaimer-icon {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: rgba(190, 172, 112, 0.12);
  border: 1px solid rgba(190, 172, 112, 0.4);
  color: hsl(47, 34%, 60%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 28px;
}
#notice.disclaimer-section .disclaimer-eyebrow {
  font-family: 'Roboto', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.8rem;
  color: hsl(39, 44%, 82%);
  margin-bottom: 14px;
}
#notice.disclaimer-section h2 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  color: #f4f1ea;
  margin-bottom: 36px;
}
#notice.disclaimer-section .disclaimer-panel {
  background: #1a1d23;
  border: 1px solid rgba(233, 230, 223, 0.16);
  border-radius: 22px;
  padding: 44px 44px 20px;
}
#notice.disclaimer-section .disclaimer-panel p {
  color: #d9d5cb;
  font-size: 1.04rem;
  line-height: 1.8;
  margin-bottom: 24px;
}
#notice.disclaimer-section .disclaimer-meta {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(233, 230, 223, 0.12);
  font-size: 0.9rem;
  color: hsl(39, 44%, 82%);
}
@media (max-width: 575.98px) {
  #notice.disclaimer-section { padding: 72px 0; }
  #notice.disclaimer-section .disclaimer-panel { padding: 28px 22px 4px; }
}

.thankyou-section {
    min-height: 80vh;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, hsl(39, 44%, 94%) 0%, hsl(39, 44%, 82%) 100%);
    padding: 4rem 0;
    font-family: 'Open Sans', sans-serif;
  }

  .thankyou-card {
    background: #ffffff;
    border-radius: 1.5rem;
    box-shadow: 0 1.25rem 3rem rgba(90, 80, 40, 0.15);
    padding: 3rem 2rem;
    border-top: 6px solid hsl(47, 34%, 60%);
    position: relative;
    overflow: hidden;
  }

  .thankyou-icon-wrap {
    width: 110px;
    height: 110px;
    margin: 0 auto 1.75rem;
    border-radius: 50%;
    background: hsl(39, 44%, 82%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 10px hsla(47, 34%, 60%, 0.18);
    animation: thankyou-pulse 2.4s ease-in-out infinite;
  }

  .thankyou-icon-wrap svg {
    width: 58px;
    height: 58px;
    stroke: hsl(53, 34%, 42%);
  }

  .thankyou-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    color: hsl(53, 34%, 42%);
    font-size: 2.25rem;
    line-height: 1.25;
    margin-bottom: 1rem;
  }

  .thankyou-lead {
    font-size: 1.15rem;
    color: #4a4638;
    margin-bottom: 1.75rem;
  }

  .thankyou-steps {
    list-style: none;
    padding: 0;
    margin: 0 auto 2.25rem;
    max-width: 520px;
    text-align: left;
  }

  .thankyou-steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    background: hsl(39, 44%, 95%);
    border-left: 4px solid hsl(47, 34%, 60%);
    border-radius: 0.6rem;
    padding: 0.85rem 1rem;
    margin-bottom: 0.75rem;
    color: #4a4638;
    font-size: 1rem;
  }

  .thankyou-steps li i {
    color: hsl(53, 34%, 42%);
    font-size: 1.3rem;
    line-height: 1.2;
    flex-shrink: 0;
  }

  .btn-thankyou {
    background-color: hsl(47, 34%, 60%);
    border: 2px solid hsl(47, 34%, 60%);
    color: #ffffff;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    padding: 0.85rem 2.25rem;
    border-radius: 50rem;
    transition: all 0.25s ease;
  }

  .btn-thankyou:hover,
  .btn-thankyou:focus {
    background-color: hsl(53, 34%, 42%);
    border-color: hsl(53, 34%, 42%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 0.6rem 1.2rem rgba(90, 80, 40, 0.25);
  }

  @keyframes thankyou-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); }
  }

  @media (max-width: 575.98px) {
    .thankyou-card {
      padding: 2.25rem 1.25rem;
    }
    .thankyou-title {
      font-size: 1.7rem;
    }
    .thankyou-lead {
      font-size: 1.05rem;
    }
    .thankyou-icon-wrap {
      width: 90px;
      height: 90px;
    }
    .thankyou-icon-wrap svg {
      width: 48px;
      height: 48px;
    }
  }

#portfolio-section {
  background: #101216;
  color: #e9e6df;
  font-family: 'Open Sans', sans-serif;
  padding: 104px 0;
  position: relative;
  overflow: hidden;
}
#portfolio-section h1,
#portfolio-section h2,
#portfolio-section h3,
#portfolio-section h4,
#portfolio-section h5 {
  font-family: 'Roboto', sans-serif;
  color: #f5f2ea;
  font-weight: 500;
  letter-spacing: -0.01em;
}
#portfolio-section .pf-eyebrow {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(47, 34%, 60%);
  margin-bottom: 20px;
}
#portfolio-section .pf-title {
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 1.1;
  margin-bottom: 28px;
  max-width: 880px;
}
#portfolio-section .pf-lead {
  font-size: 1.15rem;
  line-height: 1.75;
  color: #c9c5bb;
  max-width: 760px;
  margin-bottom: 0;
}
#portfolio-section .pf-intro {
  margin-bottom: 88px;
}
#portfolio-section .pf-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 48px;
}
#portfolio-section .pf-stat {
  border: 1px solid rgba(233, 230, 223, 0.16);
  border-radius: 16px;
  padding: 20px 26px;
  background: #15181e;
  min-width: 170px;
}
#portfolio-section .pf-stat strong {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 1.9rem;
  color: hsl(39, 44%, 82%);
  font-weight: 500;
  line-height: 1.2;
}
#portfolio-section .pf-stat span {
  font-size: 0.9rem;
  color: #aaa69c;
}
#portfolio-section .pf-card {
  background: #15181e;
  border: 1px solid rgba(233, 230, 223, 0.14);
  border-radius: 22px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
#portfolio-section .pf-card:hover {
  border-color: hsl(47, 34%, 60%);
  transform: translateY(-4px);
}
#portfolio-section .pf-media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #0c0e12;
  overflow: hidden;
}
#portfolio-section .pf-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#portfolio-section .pf-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: hsl(39, 44%, 82%);
  color: #1a1d23;
  font-family: 'Roboto', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
}
#portfolio-section .pf-body {
  padding: 28px 28px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
#portfolio-section .pf-body h3 {
  font-size: 1.4rem;
  margin-bottom: 14px;
}
#portfolio-section .pf-body p {
  color: #bdb9af;
  line-height: 1.7;
  font-size: 0.97rem;
  margin-bottom: 24px;
}
#portfolio-section .pf-btn {
  margin-top: auto;
  align-self: flex-start;
  background: transparent;
  color: hsl(39, 44%, 82%);
  border: 1px solid hsl(47, 34%, 60%);
  border-radius: 999px;
  padding: 10px 24px;
  font-family: 'Roboto', sans-serif;
  font-size: 0.92rem;
  transition: background 0.25s ease, color 0.25s ease;
}
#portfolio-section .pf-btn:hover,
#portfolio-section .pf-btn:focus {
  background: hsl(47, 34%, 60%);
  color: #101216;
}
#portfolio-section .pf-details {
  margin-top: 112px;
}
#portfolio-section .pf-details h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  margin-bottom: 20px;
}
#portfolio-section .pf-details .pf-lead {
  margin-bottom: 40px;
}
#portfolio-section .pf-table-wrap {
  border: 1px solid rgba(233, 230, 223, 0.16);
  border-radius: 20px;
  background: #15181e;
  padding: 8px 12px;
}
#portfolio-section .pf-table {
  width: 100%;
  margin: 0;
  color: #d8d4ca;
  --bs-table-bg: transparent;
  --bs-table-color: #d8d4ca;
  --bs-table-border-color: rgba(233, 230, 223, 0.12);
}
#portfolio-section .pf-table th {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  color: hsl(47, 34%, 60%);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 18px 16px;
  white-space: nowrap;
  background: transparent;
}
#portfolio-section .pf-table td {
  padding: 16px;
  vertical-align: top;
  font-size: 0.95rem;
  line-height: 1.6;
  background: transparent;
  color: #d8d4ca;
}
#portfolio-section .pf-table td:first-child {
  color: #f5f2ea;
  font-weight: 600;
}
#portfolio-section .pf-cta {
  margin-top: 112px;
  border: 1px solid rgba(233, 230, 223, 0.16);
  border-radius: 24px;
  background: #15181e;
  padding: 64px 48px;
  text-align: center;
}
#portfolio-section .pf-cta h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  margin-bottom: 18px;
}
#portfolio-section .pf-cta p {
  color: #c9c5bb;
  max-width: 640px;
  margin: 0 auto 34px;
  line-height: 1.75;
}
#portfolio-section .pf-cta-btn {
  display: inline-block;
  background: hsl(47, 34%, 60%);
  color: #101216;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  padding: 15px 38px;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.25s ease;
}
#portfolio-section .pf-cta-btn:hover {
  background: hsl(39, 44%, 82%);
  color: #101216;
}
#portfolio-section .modal-content {
  background: #15181e;
  color: #e9e6df;
  border: 1px solid rgba(233, 230, 223, 0.2);
  border-radius: 22px;
}
#portfolio-section .modal-header,
#portfolio-section .modal-footer {
  border-color: rgba(233, 230, 223, 0.12);
}
#portfolio-section .modal-title {
  font-family: 'Roboto', sans-serif;
  color: #f5f2ea;
}
#portfolio-section .modal-body p {
  color: #cfcbc1;
  line-height: 1.75;
}
#portfolio-section .modal-body img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 22px;
  display: block;
}
#portfolio-section .pf-meta {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
}
#portfolio-section .pf-meta li {
  padding: 10px 0;
  border-top: 1px solid rgba(233, 230, 223, 0.1);
  color: #cfcbc1;
  font-size: 0.95rem;
}
#portfolio-section .pf-meta li span {
  color: hsl(47, 34%, 60%);
  font-family: 'Roboto', sans-serif;
  margin-right: 8px;
}
#portfolio-section .btn-close {
  filter: invert(1) grayscale(1);
}
#portfolio-section .pf-modal-btn {
  background: hsl(47, 34%, 60%);
  color: #101216;
  border: none;
  border-radius: 999px;
  padding: 10px 26px;
  font-family: 'Roboto', sans-serif;
}
#portfolio-section .pf-modal-btn:hover {
  background: hsl(39, 44%, 82%);
  color: #101216;
}
@media (max-width: 767px) {
  #portfolio-section {
    padding: 72px 0;
  }
  #portfolio-section .pf-intro {
    margin-bottom: 56px;
  }
  #portfolio-section .pf-details,
  #portfolio-section .pf-cta {
    margin-top: 80px;
  }
  #portfolio-section .pf-cta {
    padding: 44px 24px;
  }
  #portfolio-section .pf-stat {
    flex: 1 1 140px;
  }
}

#contact-main {
  background: #101216;
  color: #e9e6df;
  font-family: 'Open Sans', sans-serif;
  padding: 104px 0;
  position: relative;
  overflow: hidden;
}
#contact-main *,
#contact-main *::before,
#contact-main *::after {
  box-sizing: border-box;
}
#contact-main .cm-eyebrow {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(47, 34%, 60%);
  margin-bottom: 20px;
}
#contact-main .cm-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1.1;
  color: #f5f2ea;
  margin: 0 0 24px;
}
#contact-main .cm-lead {
  font-size: 1.125rem;
  line-height: 1.75;
  color: #c9c5bb;
  max-width: 640px;
  margin: 0 0 0;
}
#contact-main .cm-head {
  margin-bottom: 72px;
}
#contact-main .cm-panel {
  background: #171a20;
  border: 1px solid rgba(233, 230, 223, 0.14);
  border-radius: 24px;
  padding: 40px;
  height: 100%;
}
#contact-main .cm-panel h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #f5f2ea;
  margin: 0 0 12px;
}
#contact-main .cm-panel p.cm-note {
  color: #b9b5aa;
  line-height: 1.7;
  margin: 0 0 28px;
  font-size: 0.97rem;
}
#contact-main .form-label {
  font-family: 'Roboto', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  color: hsl(39, 44%, 82%);
  margin-bottom: 8px;
}
#contact-main .form-control {
  background: #101216;
  border: 1px solid rgba(233, 230, 223, 0.2);
  border-radius: 14px;
  color: #f5f2ea;
  padding: 14px 18px;
  font-family: 'Open Sans', sans-serif;
}
#contact-main .form-control::placeholder {
  color: #7d7a72;
}
#contact-main .form-control:focus {
  background: #101216;
  color: #f5f2ea;
  border-color: hsl(47, 34%, 60%);
  box-shadow: 0 0 0 3px rgba(190, 175, 112, 0.25);
}
#contact-main textarea.form-control {
  min-height: 160px;
  resize: vertical;
}
#contact-main .cm-btn {
  display: inline-block;
  background: hsl(47, 34%, 60%);
  color: #101216;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  border: 1px solid hsl(47, 34%, 60%);
  border-radius: 999px;
  padding: 14px 36px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
#contact-main .cm-btn:hover,
#contact-main .cm-btn:focus {
  background: hsl(39, 44%, 82%);
  border-color: hsl(39, 44%, 82%);
  color: #101216;
}
#contact-main .cm-info-item {
  padding: 22px 0;
  border-bottom: 1px solid rgba(233, 230, 223, 0.12);
}
#contact-main .cm-info-item:first-of-type {
  padding-top: 0;
}
#contact-main .cm-info-item:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}
#contact-main .cm-label {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: hsl(47, 34%, 60%);
  margin-bottom: 8px;
}
#contact-main .cm-value {
  font-size: 1.08rem;
  line-height: 1.7;
  color: #ece9e1;
  margin: 0;
}
#contact-main .cm-value a {
  color: #f5f2ea;
  text-decoration: none;
  border-bottom: 1px solid hsl(47, 34%, 60%);
}
#contact-main .cm-value a:hover {
  color: hsl(39, 44%, 82%);
}
#contact-main .cm-hours {
  list-style: none;
  padding: 0;
  margin: 0;
}
#contact-main .cm-hours li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
  color: #ece9e1;
  font-size: 1rem;
}
#contact-main .cm-hours li span:last-child {
  color: #c9c5bb;
  text-align: right;
}
#contact-main .cm-way {
  margin-top: 28px;
  padding: 22px 24px;
  border: 1px solid rgba(233, 230, 223, 0.14);
  border-radius: 18px;
  background: #101216;
}
#contact-main .cm-way p {
  margin: 0 0 12px;
  color: #c9c5bb;
  line-height: 1.7;
  font-size: 0.97rem;
}
#contact-main .cm-way a {
  color: hsl(39, 44%, 82%);
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  border-bottom: 1px solid hsl(47, 34%, 60%);
}
#contact-main .cm-way a:hover {
  color: #f5f2ea;
}
#contact-main .cm-cta {
  margin-top: 96px;
  padding: 56px 40px;
  text-align: center;
  border: 1px solid rgba(233, 230, 223, 0.14);
  border-radius: 24px;
  background: #171a20;
}
#contact-main .cm-cta h2 {
  font-family: 'Roboto', sans-serif;
  font-size: clamp(1.6rem, 3.2vw, 2.3rem);
  font-weight: 700;
  color: #f5f2ea;
  margin: 0 0 16px;
}
#contact-main .cm-cta p {
  color: #c9c5bb;
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto 28px;
}
@media (max-width: 767px) {
  #contact-main {
    padding: 72px 0;
  }
  #contact-main .cm-head {
    margin-bottom: 48px;
  }
  #contact-main .cm-panel {
    padding: 28px 22px;
  }
  #contact-main .cm-cta {
    margin-top: 64px;
    padding: 40px 22px;
  }
  #contact-main .cm-hours li {
    flex-direction: column;
    gap: 0;
  }
  #contact-main .cm-hours li span:last-child {
    text-align: left;
  }
}
