/*
Theme Name: Portfolio Theme
Theme URI: https://bdithome.com
Author: BDITHOME.COM
Author URI: https://bdithome.com
Description: Minimal Elementor-friendly portfolio theme with premium contact and footer showcase controls in Redux Theme Options
Version: 10.5.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: portfolio-theme
Tags: one-column, custom-logo, full-width-template
*/

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:inherit;background:#fff;color:#111827}
img{max-width:100%;height:auto}
a{color:inherit}
main{display:block}

.bd-container{
  max-width:1240px;
  margin:0 auto;
  padding:0 20px;
}

:root{
  --bd-header-bg:#081120;
  --bd-menu-color:#ffffff;
  --bd-menu-font-size:16px;
  --bd-menu-gap:34px;
  --bd-logo-width:140px;
  --bd-btn-text:#081120;
  --bd-btn-bg:#b6ff3b;
  --bd-btn-radius:4px;
}

.bd-site-header{
  position:relative;
  background:var(--bd-header-bg);
  z-index:1000;
}

.bd-site-header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.bd-header-brand,
.bd-header-actions{
  display:flex;
  align-items:center;
}

.bd-brand-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.bd-header-logo,
.bd-brand-link .custom-logo{
  width:var(--bd-logo-width);
  max-width:100%;
  height:auto;
  display:block;
}

.bd-logo-text{
  color:#fff;
  font-weight:800;
  font-size:28px;
  line-height:1;
}

.bd-desktop-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}

.bd-header-menu{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  align-items:center;
  gap:var(--bd-menu-gap);
}

.bd-header-menu li{position:relative}

.bd-header-menu a{
  color:var(--bd-menu-color);
  text-decoration:none;
  font-size:var(--bd-menu-font-size);
  font-weight:500;
  line-height:1.2;
  padding:8px 0;
  display:inline-flex;
  align-items:center;
  position:relative;
  transition:opacity .2s ease;
}

.bd-header-menu a:hover,
.bd-header-menu .current-menu-item>a,
.bd-header-menu .current-menu-ancestor>a{
  opacity:1;
}

.bd-header-menu .current-menu-item>a::after,
.bd-header-menu .current-menu-ancestor>a::after,
.bd-header-menu a:hover::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-11px;
  height:2px;
  background:var(--bd-btn-bg);
  border-radius:999px;
}

.bd-header-menu .sub-menu{
  list-style:none;
  margin:0;
  padding:10px 0;
  min-width:210px;
  position:absolute;
  top:100%;
  left:0;
  display:none;
  background:#0d1728;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
}

.bd-header-menu li:hover>.sub-menu{display:block}

.bd-header-menu .sub-menu a{
  width:100%;
  padding:10px 16px;
  font-size:15px;
}

.bd-header-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:12px 28px;
  background:var(--bd-btn-bg);
  color:var(--bd-btn-text);
  text-decoration:none;
  border-radius:var(--bd-btn-radius);
  font-size:16px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  transition:transform .2s ease, opacity .2s ease;
}

.bd-header-btn:hover{opacity:.92;transform:translateY(-1px)}

.bd-mobile-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:10px;
  margin-left:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:transparent;
  cursor:pointer;
}

.bd-mobile-toggle span{
  display:block;
  width:100%;
  height:2px;
  margin:5px 0;
  border-radius:999px;
  background:#fff;
}

.bd-mobile-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}

.bd-mobile-panel{
  position:fixed;
  top:0;
  right:0;
  width:310px;
  max-width:84vw;
  height:100vh;
  background:#0d1728;
  padding:22px 18px;
  transform:translateX(100%);
  transition:transform .25s ease;
  box-shadow:-18px 0 40px rgba(0,0,0,.28);
}

.bd-mobile-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.bd-mobile-panel-title{
  color:#fff;
  font-size:18px;
  font-weight:700;
}

.bd-mobile-close{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:transparent;
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.bd-mobile-menu-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bd-mobile-menu-list a{
  display:flex;
  align-items:center;
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
}

.bd-mobile-btn{
  margin-top:18px;
  width:100%;
}

body.bd-mobile-menu-open{overflow:hidden}
body.bd-mobile-menu-open .bd-mobile-backdrop{opacity:1;visibility:visible}
body.bd-mobile-menu-open .bd-mobile-panel{transform:translateX(0)}

@media (max-width: 991px){
  .bd-site-header-inner{min-height:72px}
  .bd-desktop-nav{display:none}
  .bd-header-actions .bd-header-btn{display:none}
  .bd-mobile-toggle{display:inline-block}
}

@media (max-width: 767px){
  .bd-clients-say__head-inner{
    width:100%;
  }
  .bd-clients-say__head{
    min-height:228px;
    padding:26px 16px 124px;
  }
  .bd-clients-say__head::before{
    left:-22%;
    width:63%;
    height:92px;
  }
  .bd-clients-say__head::after{
    right:-18%;
    width:82%;
    height:116px;
  }
  .bd-clients-say__quote{
    right:10%;
    top:86px;
    font-size:78px;
  }
  .bd-clients-say__small-title{
    font-size:clamp(18px, 6vw, var(--bd-clients-small-size));
  }
  .bd-clients-say__main-title{
    font-size:clamp(28px, 9vw, var(--bd-clients-main-size));
  }
  .bd-clients-slider{
    margin-top:-92px;
    padding:0 14px 34px;
  }
  .bd-clients-slider__viewport{
    min-height:320px;
  }
  .bd-client-card{
    width:100%;
    min-height:270px;
    border-radius:28px;
  }
  .bd-client-card__avatar-wrap{
    top:-40px;
    width:100px;
    height:100px;
  }
  .bd-client-card__body{
    padding:74px 20px 28px;
  }
  .bd-client-card__name{
    font-size:clamp(22px, 6.4vw, var(--bd-clients-name-size));
  }
  .bd-client-card__role{
    font-size:clamp(14px, 3.8vw, var(--bd-clients-role-size));
  }
  .bd-client-card__text{
    max-width:250px;
    margin-top:16px;
    font-size:clamp(13px, 3.5vw, var(--bd-clients-text-size));
  }
  .bd-clients-slider__dots{
    margin-top:22px;
  }
}


/* =========================================================
   HERO SECTION
========================================================= */
.bd-main{
  position:relative;
  background:#fff;
}

.bd-hero::before,
.bd-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.bd-page-content{
  position:relative;
  z-index:3;
  padding:18px 20px 48px;
  background:#fff;
}

.bd-page-content > *{
  position:relative;
  z-index:2;
}

.bd-hero{
  position:relative;
  z-index:2;
  padding:38px 0 78px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--bd-hero-accent-1) 16%, transparent) 0, transparent 28%),
    radial-gradient(circle at 86% 24%, color-mix(in srgb, var(--bd-hero-accent-2) 18%, transparent) 0, transparent 30%),
    linear-gradient(135deg, var(--bd-hero-bg-1) 0%, var(--bd-hero-bg-2) 100%);
}

.bd-hero::before{
  left:-7%;
  top:8%;
  width:640px;
  height:640px;
  border:1px solid rgba(255,255,255,.06);
}

.bd-hero::after{
  right:-11%;
  bottom:-25%;
  width:820px;
  height:820px;
  border:1px solid rgba(255,255,255,.05);
}

.bd-hero__grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(340px, 47%);
  gap:34px;
  align-items:center;
}

.bd-hero__content{
  position:relative;
  z-index:2;
  padding:26px 0 0;
}

.bd-hero__badge{
  margin:0 0 18px;
  color:var(--bd-hero-badge-color);
  font-family:var(--bd-hero-badge-font);
  font-size:var(--bd-hero-badge-size);
  font-weight:700;
  letter-spacing:.28em;
}

.bd-hero__title{
  margin:0;
  color:var(--bd-hero-title-color);
  font-family:var(--bd-hero-title-font);
  font-size:clamp(42px, 7vw, var(--bd-hero-title-size));
  font-weight:800;
  line-height:.96;
  letter-spacing:-.03em;
  max-width:620px;
  text-transform:uppercase;
}

.bd-hero__typing{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  column-gap:10px;
  row-gap:8px;
  margin:26px 0 0;
  min-height:58px;
}

.bd-hero__prefix{
  display:block;
  max-width:100%;
  color:var(--bd-hero-prefix-color);
  font-family:var(--bd-hero-prefix-font);
  font-size:var(--bd-hero-prefix-size);
  font-weight:700;
  line-height:1.18;
}

.bd-hero__typed-line{
  display:inline-flex;
  align-items:flex-end;
  flex-wrap:nowrap;
  max-width:100%;
  min-width:0;
}

.bd-hero__typed,
.bd-hero__cursor{
  color:var(--bd-hero-typed-color);
  font-family:var(--bd-hero-typed-font);
  font-size:var(--bd-hero-typed-size);
  font-weight:700;
  line-height:1.18;
}

.bd-hero__typed{
  display:inline-block;
  min-height:1.18em;
  max-width:100%;
  overflow-wrap:anywhere;
}

.bd-hero__cursor{
  margin-left:2px;
  color:var(--bd-hero-cursor-color);
  animation:bdHeroBlink .9s infinite;
}

.bd-hero__description{
  margin:18px 0 0;
  max-width:540px;
  color:var(--bd-hero-description-color);
  font-family:var(--bd-hero-description-font);
  font-size:var(--bd-hero-description-size);
  line-height:1.65;
}

.bd-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:34px 0 0;
}

.bd-btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:168px;
  min-height:56px;
  padding:14px 28px;
  border-radius:16px;
  border:1px solid transparent;
  font-family:var(--bd-hero-button-font);
  font-size:var(--bd-hero-button-size);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .25s ease, border-color .25s ease, color .25s ease;
}

.bd-btn > span{position:relative;z-index:2}

.bd-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  transform-origin:left center;
  transform:scaleX(0);
  transition:transform .35s ease;
}

.bd-btn:hover{transform:translateY(-2px)}
.bd-btn:hover::before{transform:scaleX(1)}

.bd-btn--primary{
  background:var(--bd-hero-primary-btn-bg);
  color:var(--bd-hero-primary-btn-text);
  box-shadow:0 22px 40px color-mix(in srgb, var(--bd-hero-primary-btn-bg) 38%, transparent);
}
.bd-btn--primary::before{background:var(--bd-hero-primary-btn-hover)}

.bd-btn--secondary{
  background:var(--bd-hero-secondary-btn-bg);
  border-color:var(--bd-hero-secondary-btn-border);
  color:var(--bd-hero-secondary-btn-text);
  box-shadow:0 14px 24px rgba(0,0,0,.18);
}
.bd-btn--secondary::before{background:var(--bd-hero-secondary-btn-hover)}

.bd-hero__cards-wrap{margin-top:56px}

.bd-hero__cards-heading{
  margin:0 0 18px;
  color:var(--bd-hero-cards-heading-color);
  font-family:var(--bd-hero-cards-heading-font);
  font-size:var(--bd-hero-cards-heading-size);
  font-weight:700;
  letter-spacing:-.02em;
}

.bd-hero__cards{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.bd-card{
  width:132px;
  border-radius:18px;
  padding:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 40px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
  transition:transform .28s ease, box-shadow .28s ease;
}

.bd-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 46px rgba(0,0,0,.30);
}

.bd-card__media{
  position:relative;
  height:100px;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(135deg, color-mix(in srgb, var(--bd-hero-accent-3) 50%, transparent), color-mix(in srgb, var(--bd-hero-accent-1) 40%, transparent));
}

.bd-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bd-card__placeholder{
  position:absolute;
  inset:0;
  display:block;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.24) 0, transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--bd-hero-accent-1) 70%, transparent), color-mix(in srgb, var(--bd-hero-accent-2) 54%, transparent));
}

.bd-card__title{
  margin:12px 0 4px;
  color:var(--bd-hero-card-title-color);
  font-family:var(--bd-hero-card-font);
  font-size:var(--bd-hero-card-title-size);
  font-weight:700;
  text-align:center;
}

.bd-hero__visual{
  position:relative;
  display:flex;
  justify-content:center;
}

.bd-hero__image-shell{
  position:relative;
  width:min(100%, 560px);
  min-height:620px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.bd-hero__image-shell::before,
.bd-hero__image-shell::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.bd-hero__image-shell::before{
  width:500px;
  height:500px;
  top:50px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-hero-accent-1) 16%, transparent) 0, transparent 64%);
  filter:blur(16px);
}

.bd-hero__image-shell::after{
  width:420px;
  height:420px;
  right:20px;
  bottom:78px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-hero-accent-2) 18%, transparent) 0, transparent 68%);
  filter:blur(18px);
}

.bd-hero__ring{
  position:absolute;
  inset:28px 22px 92px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  animation:bdHeroFloat 6.8s ease-in-out infinite;
}

.bd-hero__oval{
  position:absolute;
  width:72%;
  height:86%;
  max-width:360px;
  bottom:82px;
  border-radius:50%;
  border:2px solid var(--bd-hero-oval-color);
  opacity:.9;
  animation:bdHeroSpin 12s linear infinite;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}

.bd-hero__photo{
  position:relative;
  z-index:2;
  width:min(100%, 460px);
  margin-top:30px;
  overflow:hidden;
  border-radius:34px 34px 28px 28px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}

.bd-hero__photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), transparent 24%, rgba(0,0,0,.18) 100%);
  z-index:2;
  pointer-events:none;
}

.bd-hero__photo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  position:relative;
  z-index:1;
}

.bd-hero__follow{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  padding:18px 22px 0;
}

.bd-hero__follow-label{
  color:var(--bd-hero-follow-color);
  font-family:var(--bd-hero-follow-font);
  font-size:var(--bd-hero-follow-size);
  font-weight:700;
}

.bd-social{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.bd-social__link{
  width:52px;
  height:52px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bd-hero-icon-bg);
  color:var(--bd-hero-icon-color);
  box-shadow:0 12px 24px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  transition:transform .32s ease, background-color .32s ease, color .32s ease, box-shadow .32s ease;
}

.bd-social__link:hover{
  background:var(--bd-hero-icon-hover);
  color:#fff;
  transform:translateY(-8px) scale(1.04);
  box-shadow:0 18px 36px rgba(0,0,0,.28);
}

.bd-social__link svg{
  width:var(--bd-hero-icon-size);
  height:var(--bd-hero-icon-size);
  fill:currentColor;
  display:block;
}

@keyframes bdHeroBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes bdHeroSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes bdHeroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

@media (max-width: 1024px){
  .bd-hero{padding:26px 0 62px}
  .bd-hero__grid{grid-template-columns:1fr;gap:28px}
  .bd-hero__content{order:2;padding-top:0}
  .bd-hero__visual{order:1}
  .bd-hero__image-shell{min-height:560px}
}

@media (max-width: 767px){
  .bd-hero{padding:24px 0 52px}
  .bd-hero__typing{
    display:grid;
    grid-template-columns:1fr;
    justify-items:start;
    align-items:start;
    row-gap:4px;
    min-height:0;
  }
  .bd-hero__typed-line{min-height:1.2em}
  .bd-hero__actions{gap:12px}
  .bd-btn{width:100%;min-height:52px}
  .bd-hero__cards{gap:12px}
  .bd-card{width:calc(50% - 6px)}
  .bd-hero__image-shell{min-height:430px}
  .bd-hero__ring{inset:18px 10px 82px}
  .bd-hero__oval{width:78%;height:82%;bottom:70px}
  .bd-social__link{width:46px;height:46px;border-radius:16px}
}

@media (max-width: 520px){
  .bd-card{width:100%}
  .bd-hero__follow{position:relative;padding-top:24px}
  .bd-hero__image-shell{min-height:auto}
}


/* =========================================================
   ABOUT ME SECTION
========================================================= */
.bd-about{
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:86px 0;
  background:var(--bd-about-bg);
}

.bd-about::before,
.bd-about::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.5;
}

.bd-about::before{
  width:360px;
  height:360px;
  top:-140px;
  left:-110px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-about-accent) 16%, transparent) 0, transparent 72%);
}

.bd-about::after{
  width:300px;
  height:300px;
  right:-90px;
  bottom:-120px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-about-accent) 12%, transparent) 0, transparent 74%);
}

.bd-about__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(250px, 380px) minmax(0, 1fr);
  gap:78px;
  align-items:center;
}

.bd-about__services{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:center;
}

.bd-about__rail{
  position:absolute;
  left:10px;
  top:26px;
  bottom:26px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg, transparent 0%, var(--bd-about-line) 10%, var(--bd-about-line) 90%, transparent 100%);
}

.bd-about__services-list{
  display:flex;
  flex-direction:column;
  gap:32px;
  width:100%;
}

.bd-about-service{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  align-items:center;
  padding-left:0;
}

.bd-about-service__dot{
  position:absolute;
  left:3px;
  top:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--bd-about-bg);
  border:4px solid var(--bd-about-accent);
  box-shadow:0 0 0 8px color-mix(in srgb, var(--bd-about-accent) 12%, transparent);
}

.bd-about-service__icon{
  width:42px;
  height:42px;
  margin-left:24px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--bd-about-service-icon-border);
  background:var(--bd-about-service-icon-bg);
  color:var(--bd-about-service-icon-color);
  box-shadow:0 18px 28px rgba(0,0,0,.18);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.bd-about-service:hover .bd-about-service__icon{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--bd-about-accent) 62%, transparent);
  box-shadow:0 22px 34px rgba(0,0,0,.24);
}

.bd-about-service__icon svg{
  width:var(--bd-about-service-icon-size);
  height:var(--bd-about-service-icon-size);
  stroke:currentColor;
  stroke-width:1.9;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bd-about-service__text{
  color:var(--bd-about-service-color);
  font-family:var(--bd-about-service-font);
  font-size:var(--bd-about-service-size);
  font-weight:var(--bd-about-service-weight);
  line-height:var(--bd-about-service-line-height);
  letter-spacing:.01em;
}

.bd-about__content{
  position:relative;
  z-index:2;
}

.bd-about__title{
  margin:0;
  color:var(--bd-about-title-color);
  font-family:var(--bd-about-title-font);
  font-size:clamp(32px, 5vw, var(--bd-about-title-size));
  font-weight:var(--bd-about-title-weight);
  line-height:var(--bd-about-title-line-height);
  letter-spacing:-.03em;
}

.bd-about__description{
  margin-top:18px;
  max-width:630px;
  color:var(--bd-about-description-color);
  font-family:var(--bd-about-description-font);
  font-size:var(--bd-about-description-size);
  font-weight:var(--bd-about-description-weight);
  line-height:var(--bd-about-description-line-height);
}

.bd-about__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:34px;
}

.bd-about-stat{
  position:relative;
  padding:14px 0 0;
}

.bd-about-stat::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:54px;
  height:2px;
  border-radius:999px;
  background:color-mix(in srgb, var(--bd-about-accent) 65%, transparent);
}

.bd-about-stat__value{
  display:flex;
  align-items:flex-end;
  gap:6px;
  color:var(--bd-about-number-color);
  font-family:var(--bd-about-number-font);
  font-size:var(--bd-about-number-size);
  font-weight:var(--bd-about-number-weight);
  line-height:var(--bd-about-number-line-height);
  letter-spacing:-.04em;
}

.bd-about-stat__suffix{
  color:var(--bd-about-accent);
  font-size:.72em;
  line-height:1;
  padding-bottom:.2em;
}

.bd-about-stat__label{
  margin:10px 0 0;
  max-width:150px;
  color:var(--bd-about-label-color);
  font-family:var(--bd-about-label-font);
  font-size:var(--bd-about-label-size);
  font-weight:var(--bd-about-label-weight);
  line-height:var(--bd-about-label-line-height);
}

.js-about-reveal{
  opacity:0;
  transform:translate3d(0, 28px, 0);
  transition:opacity .72s ease, transform .72s ease;
  transition-delay:var(--bd-about-delay, 0ms);
}

.js-about-reveal[data-about-animation="left"]{
  transform:translate3d(-30px, 0, 0);
}

.js-about-reveal[data-about-animation="right"]{
  transform:translate3d(30px, 0, 0);
}

.js-about-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

@media (max-width: 1024px){
  .bd-about{padding:72px 0}
  .bd-about__grid{grid-template-columns:1fr;gap:42px}
  .bd-about__services{min-height:auto}
}

@media (max-width: 767px){
  .bd-about{padding:58px 0}
  .bd-about__services-list{gap:24px}
  .bd-about-service{grid-template-columns:52px 1fr;gap:14px}
  .bd-about-service__icon{margin-left:20px;width:40px;height:40px;border-radius:13px}
  .bd-about__stats{grid-template-columns:1fr;gap:18px;margin-top:28px}
  .bd-about-stat__label{max-width:none}
}

/* =========================================================
   MY PROJECTS SECTION
========================================================= */
.bd-projects{
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:88px 0;
  background:var(--bd-projects-bg);
}

.bd-projects::before,
.bd-projects::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.5;
}

.bd-projects::before{
  width:300px;
  height:300px;
  top:-110px;
  right:-90px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-projects-card-overlay) 24%, transparent) 0, transparent 72%);
}

.bd-projects::after{
  width:260px;
  height:260px;
  bottom:-120px;
  left:-90px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-projects-button-border) 22%, transparent) 0, transparent 74%);
}

.bd-projects__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(260px, 360px) minmax(0, 1fr);
  gap:34px;
  align-items:start;
}

.bd-projects__intro{
  min-width:0;
}

.bd-projects__title{
  margin:0;
  color:var(--bd-projects-title-color);
  font-family:var(--bd-projects-title-font);
  font-size:clamp(30px, 5vw, var(--bd-projects-title-size));
  font-weight:var(--bd-projects-title-weight);
  line-height:var(--bd-projects-title-line-height);
  letter-spacing:-.04em;
  text-transform:none;
}

.bd-projects__subtitle{
  margin-top:14px;
  max-width:320px;
  color:var(--bd-projects-subtitle-color);
  font-family:var(--bd-projects-subtitle-font);
  font-size:var(--bd-projects-subtitle-size);
  font-weight:var(--bd-projects-subtitle-weight);
  line-height:var(--bd-projects-subtitle-line-height);
}

.bd-projects__image-wrap{
  position:relative;
  margin-top:26px;
  border-radius:var(--bd-projects-card-radius);
  overflow:hidden;
  min-height:440px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 24px 50px rgba(0,0,0,.28);
}

.bd-projects__image-wrap img{
  display:block;
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
}

.bd-projects__cards-area{
  min-width:0;
}

.bd-projects__cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.bd-project-card{
  position:relative;
  display:flex;
  min-height:250px;
  overflow:hidden;
  background:#11151d;
  border:1px solid rgba(255,255,255,.05);
  border-radius:var(--bd-projects-card-radius);
  box-shadow:0 24px 54px rgba(0,0,0,.28);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  will-change:transform;
}

.bd-project-card__media,
.bd-project-card__overlay{
  position:absolute;
  inset:0;
}

.bd-project-card__media{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--bd-project-card-opacity, .5);
  transform:scale(1.01);
  transition:transform .5s ease, opacity .35s ease;
}

.bd-project-card__media.is-placeholder{
  opacity:1;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.08) 0, transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}

.bd-project-card__overlay{
  background:var(--bd-projects-card-overlay);
  transition:background .35s ease, opacity .35s ease;
}

.bd-project-card__body{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  width:100%;
  min-height:100%;
  padding:34px 28px 30px;
}

.bd-project-card__content{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.bd-project-card__title{
  margin:0;
  color:var(--bd-projects-card-title-color);
  font-family:var(--bd-projects-card-title-font);
  font-size:var(--bd-projects-card-title-size);
  font-weight:var(--bd-projects-card-title-weight);
  line-height:var(--bd-projects-card-title-line-height);
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.bd-project-card__subtitle{
  color:var(--bd-projects-card-subtitle-color);
  font-family:var(--bd-projects-card-subtitle-font);
  font-size:var(--bd-projects-card-subtitle-size);
  font-weight:var(--bd-projects-card-subtitle-weight);
  line-height:var(--bd-projects-card-subtitle-line-height);
}

.bd-project-card__actions{
  display:flex;
  align-items:center;
}

.bd-project-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  background:var(--bd-projects-card-button-bg);
  color:var(--bd-projects-card-button-text);
  font-family:var(--bd-projects-card-button-font);
  font-size:var(--bd-projects-card-button-size);
  font-weight:var(--bd-projects-card-button-weight);
  line-height:var(--bd-projects-card-button-line-height);
  letter-spacing:.02em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s ease, opacity .25s ease, box-shadow .25s ease, filter .25s ease;
  box-shadow:0 12px 24px rgba(0,0,0,.24);
}

.bd-project-card__button:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
  box-shadow:0 16px 30px rgba(0,0,0,.28);
}

.bd-project-card:hover{
  transform:translateY(-10px);
  box-shadow:0 32px 64px rgba(0,0,0,.34);
  border-color:rgba(255,255,255,.16);
}

.bd-project-card:hover .bd-project-card__media{
  transform:scale(1.08);
}

.bd-project-card:hover .bd-project-card__overlay{
  opacity:.92;
}

.bd-projects__more{
  width:100%;
  margin-top:16px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bd-projects-button-bg);
  border:1px solid var(--bd-projects-button-border);
  color:var(--bd-projects-button-text);
  font-family:var(--bd-projects-button-font);
  font-size:var(--bd-projects-button-size);
  font-weight:var(--bd-projects-button-weight);
  line-height:var(--bd-projects-button-line-height);
  text-transform:uppercase;
  letter-spacing:.14em;
  cursor:pointer;
  transition:transform .25s ease, border-color .25s ease, background .25s ease, opacity .25s ease;
}

.bd-projects__more:hover,
.bd-projects__more.is-active{
  transform:translateY(-2px);
  border-color:color-mix(in srgb, var(--bd-projects-button-border) 60%, #ffffff 40%);
  background:color-mix(in srgb, var(--bd-projects-button-bg) 70%, rgba(255,255,255,.05));
}

.bd-project-card.is-extra-card[hidden]{
  display:none !important;
}

.js-project-reveal{
  opacity:0;
  transform:translate3d(0, 30px, 0);
  transition:opacity .78s ease, transform .78s ease;
  transition-delay:var(--bd-project-delay, 0ms);
}

.js-project-reveal[data-project-animation="left"]{
  transform:translate3d(-34px, 0, 0);
}

.js-project-reveal[data-project-animation="right"]{
  transform:translate3d(34px, 0, 0);
}

.js-project-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}
@media (max-width: 1024px){
  .bd-hero{padding:26px 0 62px}
  .bd-hero__grid{grid-template-columns:1fr;gap:28px}
  .bd-hero__content{order:2;padding-top:0}
  .bd-hero__visual{order:1}
  .bd-hero__image-shell{min-height:560px}
}

@media (max-width: 767px){
  .bd-hero{padding:24px 0 52px}
  .bd-hero__typing{
    display:grid;
    grid-template-columns:1fr;
    justify-items:start;
    align-items:start;
    row-gap:4px;
    min-height:0;
  }
  .bd-hero__typed-line{min-height:1.2em}
  .bd-hero__actions{gap:12px}
  .bd-btn{width:100%;min-height:52px}
  .bd-hero__cards{gap:12px}
  .bd-card{width:calc(50% - 6px)}
  .bd-hero__image-shell{min-height:430px}
  .bd-hero__ring{inset:18px 10px 82px}
  .bd-hero__oval{width:78%;height:82%;bottom:70px}
  .bd-social__link{width:46px;height:46px;border-radius:16px}
}

@media (max-width: 520px){
  .bd-card{width:100%}
  .bd-hero__follow{position:relative;padding-top:24px}
  .bd-hero__image-shell{min-height:auto}
}


/* =========================================================
   ABOUT ME SECTION
========================================================= */
.bd-about{
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:86px 0;
  background:var(--bd-about-bg);
}

.bd-about::before,
.bd-about::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.5;
}

.bd-about::before{
  width:360px;
  height:360px;
  top:-140px;
  left:-110px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-about-accent) 16%, transparent) 0, transparent 72%);
}

.bd-about::after{
  width:300px;
  height:300px;
  right:-90px;
  bottom:-120px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-about-accent) 12%, transparent) 0, transparent 74%);
}

.bd-about__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(250px, 380px) minmax(0, 1fr);
  gap:78px;
  align-items:center;
}

.bd-about__services{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:center;
}

.bd-about__rail{
  position:absolute;
  left:10px;
  top:26px;
  bottom:26px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg, transparent 0%, var(--bd-about-line) 10%, var(--bd-about-line) 90%, transparent 100%);
}

.bd-about__services-list{
  display:flex;
  flex-direction:column;
  gap:32px;
  width:100%;
}

.bd-about-service{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  align-items:center;
  padding-left:0;
}

.bd-about-service__dot{
  position:absolute;
  left:3px;
  top:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--bd-about-bg);
  border:4px solid var(--bd-about-accent);
  box-shadow:0 0 0 8px color-mix(in srgb, var(--bd-about-accent) 12%, transparent);
}

.bd-about-service__icon{
  width:42px;
  height:42px;
  margin-left:24px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--bd-about-service-icon-border);
  background:var(--bd-about-service-icon-bg);
  color:var(--bd-about-service-icon-color);
  box-shadow:0 18px 28px rgba(0,0,0,.18);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.bd-about-service:hover .bd-about-service__icon{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--bd-about-accent) 62%, transparent);
  box-shadow:0 22px 34px rgba(0,0,0,.24);
}

.bd-about-service__icon svg{
  width:var(--bd-about-service-icon-size);
  height:var(--bd-about-service-icon-size);
  stroke:currentColor;
  stroke-width:1.9;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bd-about-service__text{
  color:var(--bd-about-service-color);
  font-family:var(--bd-about-service-font);
  font-size:var(--bd-about-service-size);
  font-weight:var(--bd-about-service-weight);
  line-height:var(--bd-about-service-line-height);
  letter-spacing:.01em;
}

.bd-about__content{
  position:relative;
  z-index:2;
}

.bd-about__title{
  margin:0;
  color:var(--bd-about-title-color);
  font-family:var(--bd-about-title-font);
  font-size:clamp(32px, 5vw, var(--bd-about-title-size));
  font-weight:var(--bd-about-title-weight);
  line-height:var(--bd-about-title-line-height);
  letter-spacing:-.03em;
}

.bd-about__description{
  margin-top:18px;
  max-width:630px;
  color:var(--bd-about-description-color);
  font-family:var(--bd-about-description-font);
  font-size:var(--bd-about-description-size);
  font-weight:var(--bd-about-description-weight);
  line-height:var(--bd-about-description-line-height);
}

.bd-about__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:34px;
}

.bd-about-stat{
  position:relative;
  padding:14px 0 0;
}

.bd-about-stat::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:54px;
  height:2px;
  border-radius:999px;
  background:color-mix(in srgb, var(--bd-about-accent) 65%, transparent);
}

.bd-about-stat__value{
  display:flex;
  align-items:flex-end;
  gap:6px;
  color:var(--bd-about-number-color);
  font-family:var(--bd-about-number-font);
  font-size:var(--bd-about-number-size);
  font-weight:var(--bd-about-number-weight);
  line-height:var(--bd-about-number-line-height);
  letter-spacing:-.04em;
}

.bd-about-stat__suffix{
  color:var(--bd-about-accent);
  font-size:.72em;
  line-height:1;
  padding-bottom:.2em;
}

.bd-about-stat__label{
  margin:10px 0 0;
  max-width:150px;
  color:var(--bd-about-label-color);
  font-family:var(--bd-about-label-font);
  font-size:var(--bd-about-label-size);
  font-weight:var(--bd-about-label-weight);
  line-height:var(--bd-about-label-line-height);
}

.js-about-reveal{
  opacity:0;
  transform:translate3d(0, 28px, 0);
  transition:opacity .72s ease, transform .72s ease;
  transition-delay:var(--bd-about-delay, 0ms);
}

.js-about-reveal[data-about-animation="left"]{
  transform:translate3d(-30px, 0, 0);
}

.js-about-reveal[data-about-animation="right"]{
  transform:translate3d(30px, 0, 0);
}

.js-about-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

@media (max-width: 1024px){
  .bd-about{padding:72px 0}
  .bd-about__grid{grid-template-columns:1fr;gap:42px}
  .bd-about__services{min-height:auto}
}

@media (max-width: 767px){
  .bd-about{padding:58px 0}
  .bd-about__services-list{gap:24px}
  .bd-about-service{grid-template-columns:52px 1fr;gap:14px}
  .bd-about-service__icon{margin-left:20px;width:40px;height:40px;border-radius:13px}
  .bd-about__stats{grid-template-columns:1fr;gap:18px;margin-top:28px}
  .bd-about-stat__label{max-width:none}
}

/* =========================================================
   MY PROJECTS SECTION
========================================================= */
.bd-projects{
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:88px 0;
  background:var(--bd-projects-bg);
}

.bd-projects::before,
.bd-projects::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.5;
}

.bd-projects::before{
  width:300px;
  height:300px;
  top:-110px;
  right:-90px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-projects-card-overlay) 24%, transparent) 0, transparent 72%);
}

.bd-projects::after{
  width:260px;
  height:260px;
  bottom:-120px;
  left:-90px;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-projects-button-border) 22%, transparent) 0, transparent 74%);
}

.bd-projects__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(260px, 360px) minmax(0, 1fr);
  gap:34px;
  align-items:start;
}

.bd-projects__intro{
  min-width:0;
}

.bd-projects__title{
  margin:0;
  color:var(--bd-projects-title-color);
  font-family:var(--bd-projects-title-font);
  font-size:clamp(30px, 5vw, var(--bd-projects-title-size));
  font-weight:var(--bd-projects-title-weight);
  line-height:var(--bd-projects-title-line-height);
  letter-spacing:-.04em;
  text-transform:none;
}

.bd-projects__subtitle{
  margin-top:14px;
  max-width:320px;
  color:var(--bd-projects-subtitle-color);
  font-family:var(--bd-projects-subtitle-font);
  font-size:var(--bd-projects-subtitle-size);
  font-weight:var(--bd-projects-subtitle-weight);
  line-height:var(--bd-projects-subtitle-line-height);
}

.bd-projects__image-wrap{
  position:relative;
  margin-top:26px;
  border-radius:var(--bd-contact-input-radius);
  overflow:hidden;
  min-height:440px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 24px 50px rgba(0,0,0,.28);
}

.bd-projects__image-wrap img{
  display:block;
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
}

.bd-projects__cards-area{
  min-width:0;
}

.bd-projects__cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.bd-project-card{
  position:relative;
  display:flex;
  min-height:250px;
  overflow:hidden;
  background:#11151d;
  border:1px solid rgba(255,255,255,.05);
  box-shadow:0 24px 54px rgba(0,0,0,.28);
}

.bd-project-card__media,
.bd-project-card__overlay{
  position:absolute;
  inset:0;
}

.bd-project-card__media{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--bd-project-card-opacity, .5);
  transform:scale(1.01);
}

.bd-project-card__media.is-placeholder{
  opacity:1;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.08) 0, transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}

.bd-project-card__overlay{
  background:var(--bd-projects-card-overlay);
}

.bd-project-card__body{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:14px;
  width:100%;
  padding:34px 28px 30px;
}

.bd-project-card__title{
  margin:0;
  color:var(--bd-projects-card-title-color);
  font-family:var(--bd-projects-card-title-font);
  font-size:var(--bd-projects-card-title-size);
  font-weight:var(--bd-projects-card-title-weight);
  line-height:var(--bd-projects-card-title-line-height);
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.bd-project-card__subtitle{
  color:var(--bd-projects-card-subtitle-color);
  font-family:var(--bd-projects-card-subtitle-font);
  font-size:var(--bd-projects-card-subtitle-size);
  font-weight:var(--bd-projects-card-subtitle-weight);
  line-height:var(--bd-projects-card-subtitle-line-height);
}

.bd-projects__more{
  width:100%;
  margin-top:16px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bd-projects-button-bg);
  border:1px solid var(--bd-projects-button-border);
  color:var(--bd-projects-button-text);
  font-family:var(--bd-projects-button-font);
  font-size:var(--bd-projects-button-size);
  font-weight:var(--bd-projects-button-weight);
  line-height:var(--bd-projects-button-line-height);
  text-transform:uppercase;
  letter-spacing:.14em;
  cursor:pointer;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.bd-projects__more:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb, var(--bd-projects-button-border) 60%, #ffffff 40%);
  background:color-mix(in srgb, var(--bd-projects-button-bg) 70%, rgba(255,255,255,.05));
}

.bd-project-card.is-extra-card{
  display:none;
}

.bd-projects__cards-area.is-expanded .bd-project-card.is-extra-card{
  display:flex;
}

.js-project-reveal{
  opacity:0;
  transform:translate3d(0, 30px, 0);
  transition:opacity .78s ease, transform .78s ease;
  transition-delay:var(--bd-project-delay, 0ms);
}

.js-project-reveal[data-project-animation="left"]{
  transform:translate3d(-34px, 0, 0);
}

.js-project-reveal[data-project-animation="right"]{
  transform:translate3d(34px, 0, 0);
}

.js-project-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

@media (max-width: 1024px){
  .bd-projects{padding:72px 0}
  .bd-projects__grid{grid-template-columns:1fr;gap:34px}
  .bd-projects__subtitle{max-width:680px}
}

@media (max-width: 767px){
  .bd-projects{padding:58px 0}
  .bd-projects__cards{grid-template-columns:1fr;gap:16px}
  .bd-projects__image-wrap,
  .bd-projects__image-wrap img{min-height:320px}
  .bd-project-card{min-height:220px}
  .bd-project-card__body{padding:26px 20px 24px}
  .bd-project-card__button{min-height:38px;padding:10px 16px}
  .bd-projects__more{letter-spacing:.1em}
}


/* ===== My Projects fixes: link button visibility + card hover + button slide hover ===== */
.bd-project-card__actions{
  display:flex;
  align-items:center;
  margin-top:auto;
}

.bd-project-card,
.bd-project-card__media,
.bd-project-card__overlay,
.bd-project-card__button{
  transition-timing-function:ease;
}

.bd-project-card{
  border-radius:var(--bd-projects-card-radius);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, filter .35s ease;
}

.bd-project-card__media{
  transition:transform .55s ease, opacity .35s ease;
}

.bd-project-card__overlay{
  transition:background .35s ease, opacity .35s ease;
}

.bd-project-card.js-project-reveal.is-visible:hover,
.bd-project-card:hover{
  transform:translate3d(0,-10px,0);
  box-shadow:0 32px 64px rgba(0,0,0,.34);
  border-color:rgba(255,255,255,.16);
}

.bd-project-card.js-project-reveal.is-visible:hover .bd-project-card__media,
.bd-project-card:hover .bd-project-card__media{
  transform:scale(1.08);
}

.bd-project-card.js-project-reveal.is-visible:hover .bd-project-card__overlay,
.bd-project-card:hover .bd-project-card__overlay{
  opacity:.92;
}

.bd-project-card__button,
a.bd-project-card__button,
a.bd-project-card__button:link,
a.bd-project-card__button:visited,
a.bd-project-card__button:hover,
a.bd-project-card__button:focus,
button.bd-project-card__button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  background:var(--bd-projects-card-button-bg);
  color:var(--bd-projects-card-button-text);
  font-family:var(--bd-projects-card-button-font);
  font-size:var(--bd-projects-card-button-size);
  font-weight:var(--bd-projects-card-button-weight);
  line-height:var(--bd-projects-card-button-line-height);
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:0 12px 24px rgba(0,0,0,.24);
  transition:transform .25s ease, box-shadow .25s ease, color .25s ease, filter .25s ease;
}

.bd-project-card__button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--bd-projects-card-button-hover-bg, var(--bd-projects-card-button-bg));
  transform:translate3d(-102%,0,0);
  transition:transform .35s ease;
}

.bd-project-card__button:hover,
.bd-project-card__button:focus-visible,
a.bd-project-card__button:hover,
a.bd-project-card__button:focus-visible,
button.bd-project-card__button:hover,
button.bd-project-card__button:focus-visible{
  transform:translateY(-2px);
  color:var(--bd-projects-card-button-text);
  box-shadow:0 16px 30px rgba(0,0,0,.28);
  filter:none;
  outline:none;
}

.bd-project-card__button:hover::before,
.bd-project-card__button:focus-visible::before{
  transform:translate3d(0,0,0);
}

@media (prefers-reduced-motion: reduce){
  .bd-project-card,
  .bd-project-card__media,
  .bd-project-card__overlay,
  .bd-project-card__button,
  .bd-project-card__button::before{
    transition:none !important;
  }
}

/* =========================================================
   CLIENTS SAY SECTION
========================================================= */
.bd-clients-say{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  overflow-x:clip;
  padding:0;
  background:var(--bd-clients-section-bg);
}
.bd-clients-say::before,
.bd-clients-say::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
}
.bd-clients-say::before{
  width:460px;
  height:460px;
  left:-180px;
  top:-210px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-clients-header-bg) 18%, transparent) 0, transparent 72%);
}
.bd-clients-say::after{
  width:340px;
  height:340px;
  right:-120px;
  bottom:-140px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--bd-clients-avatar-ring) 18%, transparent) 0, transparent 72%);
}
.bd-clients-say__wrap{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
}
.bd-clients-say__head{
  position:relative;
  width:100%;
  min-height:260px;
  padding:34px 24px 144px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--bd-clients-header-bg) 82%, #ffffff 18%) 0%, var(--bd-clients-header-bg) 100%);
  text-align:center;
  overflow:hidden;
  isolation:isolate;
}
.bd-clients-say__head-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
.bd-clients-say__slider-inner{
  position:relative;
  z-index:3;
}
.bd-clients-say__head::before,
.bd-clients-say__head::after{
  content:"";
  position:absolute;
  bottom:-1px;
  background:var(--bd-clients-section-bg);
  z-index:0;
}
.bd-clients-say__head::before{
  left:-10%;
  width:56%;
  height:104px;
  border-radius:0 100% 0 0 / 0 100% 0 0;
}
.bd-clients-say__head::after{
  right:-9%;
  width:70%;
  height:126px;
  border-radius:100% 0 0 0 / 100% 0 0 0;
}
.bd-clients-say__quote{
  position:absolute;
  right:12%;
  top:86px;
  z-index:1;
  font-family:Georgia, serif;
  font-size:116px;
  line-height:1;
  color:var(--bd-clients-quote-color);
}
.bd-clients-say__small-title,
.bd-clients-say__main-title{
  position:relative;
  z-index:2;
  margin:0;
}
.bd-clients-say__small-title{
  color:var(--bd-clients-small-color);
  font-family:var(--bd-clients-small-font);
  font-size:clamp(24px, 4vw, var(--bd-clients-small-size));
  font-weight:var(--bd-clients-small-weight);
  line-height:var(--bd-clients-small-line-height);
}
.bd-clients-say__main-title{
  margin-top:2px;
  color:var(--bd-clients-main-color);
  font-family:var(--bd-clients-main-font);
  font-size:clamp(34px, 6vw, var(--bd-clients-main-size));
  font-weight:var(--bd-clients-main-weight);
  line-height:var(--bd-clients-main-line-height);
}
.bd-clients-slider{
  position:relative;
  z-index:3;
  margin-top:-104px;
  padding:0 18px 42px;
}
.bd-clients-slider__viewport{
  position:relative;
  min-height:340px;
}
.bd-client-card{
  position:absolute;
  inset:0;
  width:min(100%, 472px);
  min-height:290px;
  margin:0 auto;
  background:var(--bd-clients-card-bg);
  border-radius:30px;
  box-shadow:0 18px 36px rgba(19, 24, 39, .08);
  opacity:0;
  visibility:hidden;
  transform:translateY(22px) scale(.985);
  transition:opacity .55s ease, transform .55s ease, visibility .55s ease;
}
.bd-client-card.is-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.bd-client-card__avatar-wrap{
  position:absolute;
  left:50%;
  top:-44px;
  width:112px;
  height:112px;
  transform:translateX(-50%);
}
.bd-client-card__avatar{
  position:relative;
  width:100%;
  height:100%;
  border-radius:50%;
  background:#fff;
  padding:7px;
  box-shadow:0 14px 28px rgba(31,36,48,.13);
}
.bd-client-card__avatar::after{
  content:"";
  position:absolute;
  right:7px;
  bottom:10px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--bd-clients-avatar-ring);
  border:3px solid #fff;
}
.bd-client-card__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}
.bd-client-card__quote-mark{
  display:none;
}
.bd-client-card__body{
  padding:82px 34px 34px;
  text-align:center;
}
.bd-client-card__name{
  margin:0;
  color:var(--bd-clients-name-color);
  font-family:var(--bd-clients-name-font);
  font-size:var(--bd-clients-name-size);
  font-weight:var(--bd-clients-name-weight);
  line-height:var(--bd-clients-name-line-height);
}
.bd-client-card__role{
  margin-top:4px;
  color:var(--bd-clients-role-color);
  font-family:var(--bd-clients-role-font);
  font-size:var(--bd-clients-role-size);
  font-weight:var(--bd-clients-role-weight);
  line-height:var(--bd-clients-role-line-height);
}
.bd-client-card__text{
  max-width:300px;
  margin:18px auto 0;
  color:var(--bd-clients-text-color);
  font-family:var(--bd-clients-text-font);
  font-size:var(--bd-clients-text-size);
  font-weight:var(--bd-clients-text-weight);
  line-height:var(--bd-clients-text-line-height);
}
.bd-client-card__stars{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:18px;
  font-size:20px;
  line-height:1;
}
.bd-client-card__star{
  color:color-mix(in srgb, var(--bd-clients-star-color) 22%, #d8dbe3 78%);
}
.bd-client-card__star.is-filled{
  color:var(--bd-clients-star-color);
}
.bd-clients-slider__dots{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:26px;
}
.bd-clients-slider__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  padding:0;
  background:color-mix(in srgb, var(--bd-clients-header-bg) 24%, #dfe4ea 76%);
  cursor:pointer;
  transition:transform .25s ease, background .25s ease;
}
.bd-clients-slider__dot.is-active,
.bd-clients-slider__dot:hover{
  background:var(--bd-clients-header-bg);
  transform:scale(1.15);
}
@media (max-width: 767px){
  .bd-clients-say__head{
    min-height:228px;
    padding:26px 16px 124px;
  }
  .bd-clients-say__head::before{
    left:-22%;
    width:63%;
    height:92px;
  }
  .bd-clients-say__head::after{
    right:-18%;
    width:82%;
    height:116px;
  }
  .bd-clients-say__quote{
    right:10%;
    top:86px;
    font-size:78px;
  }
  .bd-clients-say__small-title{
    font-size:clamp(18px, 6vw, var(--bd-clients-small-size));
  }
  .bd-clients-say__main-title{
    font-size:clamp(28px, 9vw, var(--bd-clients-main-size));
  }
  .bd-clients-slider{
    margin-top:-92px;
    padding:0 14px 34px;
  }
  .bd-clients-slider__viewport{
    min-height:320px;
  }
  .bd-client-card{
    width:100%;
    min-height:270px;
    border-radius:28px;
  }
  .bd-client-card__avatar-wrap{
    top:-40px;
    width:100px;
    height:100px;
  }
  .bd-client-card__body{
    padding:74px 20px 28px;
  }
  .bd-client-card__name{
    font-size:clamp(22px, 6.4vw, var(--bd-clients-name-size));
  }
  .bd-client-card__role{
    font-size:clamp(14px, 3.8vw, var(--bd-clients-role-size));
  }
  .bd-client-card__text{
    max-width:250px;
    margin-top:16px;
    font-size:clamp(13px, 3.5vw, var(--bd-clients-text-size));
  }
  .bd-clients-slider__dots{
    margin-top:22px;
  }
}

/* =========================
   Contact Showcase Section
========================= */
.bd-contact-showcase{
  --bd-contact-pointer-x:50%;
  --bd-contact-pointer-y:50%;
  position:relative;
  overflow:hidden;
  background:var(--bd-contact-section-bg);
  padding:var(--bd-contact-padding-top) 0 var(--bd-contact-padding-bottom);
}

.bd-contact-showcase__background,
.bd-contact-showcase__overlay,
.bd-contact-showcase__bg-image,
.bd-contact-showcase__bg-video{
  position:absolute;
  inset:0;
}

.bd-contact-showcase__background{pointer-events:none}

.bd-contact-showcase__bg-image{
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--bd-contact-image-opacity);
  transform:scale(1.08);
}

.bd-contact-showcase__bg-video{
  overflow:hidden;
  opacity:var(--bd-contact-video-opacity);
}

.bd-contact-showcase__bg-video iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:177.77777778vh;
  min-width:100%;
  height:56.25vw;
  min-height:100%;
  transform:translate(-50%,-50%) scale(1.24);
  pointer-events:none;
}

.bd-contact-showcase__overlay{
  background:
    radial-gradient(circle at var(--bd-contact-pointer-x) var(--bd-contact-pointer-y), rgba(255,255,255,.14), transparent 24%),
    linear-gradient(115deg, var(--bd-contact-overlay-1) 0%, var(--bd-contact-overlay-2) 100%);
  opacity:var(--bd-contact-overlay-opacity);
}

.bd-contact-showcase__glow{
  position:absolute;
  border-radius:50%;
  filter:blur(20px);
  opacity:.85;
}

.bd-contact-showcase__glow--one{
  width:300px;
  height:300px;
  left:-80px;
  bottom:-40px;
  background:rgba(204,20,146,.32);
}

.bd-contact-showcase__glow--two{
  width:260px;
  height:260px;
  right:-80px;
  top:8%;
  background:rgba(98,63,255,.25);
}

.bd-contact-showcase__container{
  position:relative;
  z-index:2;
}

.bd-contact-showcase__grid{
  display:grid;
  grid-template-columns:minmax(330px, 1.05fr) minmax(380px, 1fr);
  align-items:stretch;
  gap:28px;
  opacity:0;
  transform:translateY(32px);
  transition:opacity .7s ease, transform .7s ease;
}

.bd-contact-showcase__grid.is-visible{
  opacity:1;
  transform:translateY(0);
}

.bd-contact-showcase__left,
.bd-contact-showcase__card{
  transition:transform .25s ease, box-shadow .35s ease;
  transform-style:preserve-3d;
}

.bd-contact-showcase__left{
  position:relative;
  border-radius:var(--bd-contact-section-radius);
  border:1px solid rgba(255,255,255,.08);
  background:var(--bd-contact-left-panel-bg);
  backdrop-filter:blur(14px);
  box-shadow:0 32px 90px rgba(4, 0, 17, .38);
  min-height:620px;
}

.bd-contact-showcase__left::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(160deg, rgba(255,255,255,.12), transparent 45%);
  opacity:.9;
}

.bd-contact-showcase__left-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:30px;
  min-height:100%;
  padding:44px 38px 34px;
}

.bd-contact-showcase__eyebrow{
  font-family:var(--bd-contact-eyebrow-font);
  font-size:var(--bd-contact-eyebrow-size);
  font-weight:var(--bd-contact-eyebrow-weight);
  line-height:var(--bd-contact-eyebrow-line-height);
  color:var(--bd-contact-eyebrow-color);
  letter-spacing:.01em;
}

.bd-contact-showcase__title{
  margin:0;
  display:grid;
  gap:6px;
  font-family:var(--bd-contact-title-font);
  font-size:var(--bd-contact-title-size);
  font-weight:var(--bd-contact-title-weight);
  line-height:var(--bd-contact-title-line-height);
  color:var(--bd-contact-title-color);
  max-width:420px;
}

.bd-contact-showcase__title-line{
  display:block;
}

.bd-contact-showcase__title-highlight{
  display:inline-block;
  margin-left:8px;
  font-family:var(--bd-contact-highlight-font);
  font-size:var(--bd-contact-highlight-size);
  font-weight:var(--bd-contact-highlight-weight);
  line-height:var(--bd-contact-highlight-line-height);
  color:var(--bd-contact-highlight-color);
  text-shadow:0 10px 26px rgba(209, 30, 159, .25);
}

.bd-contact-showcase__info-list{
  display:grid;
  gap:16px;
  margin-top:6px;
}

.bd-contact-showcase__info-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid var(--bd-contact-divider);
}

.bd-contact-showcase__info-item:last-child{padding-bottom:0;border-bottom:none}

.bd-contact-showcase__info-icon,
.bd-contact-showcase__social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.bd-contact-showcase__info-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--bd-contact-icon-bg);
  color:var(--bd-contact-icon-color);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.bd-contact-showcase__info-icon svg,
.bd-contact-showcase__submit-icon svg,
.bd-contact-showcase__social svg{
  width:16px;
  height:16px;
  display:block;
}

.bd-contact-showcase__info-link,
.bd-contact-showcase__info-text{
  color:var(--bd-contact-info-color);
  text-decoration:none;
  font-family:var(--bd-contact-info-font);
  font-size:var(--bd-contact-info-size);
  font-weight:var(--bd-contact-info-weight);
  line-height:var(--bd-contact-info-line-height);
  word-break:break-word;
}

.bd-contact-showcase__info-link:hover{opacity:.88}

.bd-contact-showcase__socials{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:18px;
}

.bd-contact-showcase__social{
  width:42px;
  height:42px;
  border-radius:14px;
  background:var(--bd-contact-social-bg);
  color:var(--bd-contact-social-color);
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}

.bd-contact-showcase__social:hover{
  transform:translateY(-2px);
  background:var(--bd-contact-social-hover-bg);
  color:var(--bd-contact-social-hover-color);
}

.bd-contact-showcase__right{
  position:relative;
}

.bd-contact-showcase__card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:620px;
  padding:38px 34px 36px;
  border-radius:var(--bd-contact-card-radius);
  background:var(--bd-contact-right-card-bg);
  border:1px solid var(--bd-contact-card-border);
  box-shadow:0 26px 70px rgba(9, 6, 33, .28);
}

.bd-contact-showcase__card-glow{
  content:"";
  position:absolute;
  inset:auto -12% -22% auto;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(192,20,146,.25) 0%, transparent 70%);
  z-index:-1;
}

.bd-contact-showcase__notice{
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:14px;
  font-size:14px;
  font-weight:600;
}

.bd-contact-showcase__notice.is-success{
  background:rgba(22, 163, 74, .12);
  color:#0f7a33;
}

.bd-contact-showcase__notice.is-error{
  background:rgba(220, 38, 38, .12);
  color:#ad1f1f;
}

.bd-contact-showcase__form-small-title{
  margin-bottom:14px;
  font-family:var(--bd-contact-small-font);
  font-size:var(--bd-contact-small-size);
  font-weight:var(--bd-contact-small-weight);
  line-height:var(--bd-contact-small-line-height);
  color:var(--bd-contact-small-color);
}

.bd-contact-showcase__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:26px;
}

.bd-contact-showcase__chip{
  appearance:none;
  border:none;
  outline:none;
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  background:var(--bd-contact-chip-bg);
  color:var(--bd-contact-chip-text);
  box-shadow:inset 0 0 0 1px var(--bd-contact-chip-border);
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
  font-family:var(--bd-contact-chip-font);
  font-size:var(--bd-contact-chip-size);
  font-weight:var(--bd-contact-chip-weight);
  line-height:var(--bd-contact-chip-line-height);
}

.bd-contact-showcase__chip:hover,
.bd-contact-showcase__chip.is-active{
  transform:translateY(-1px);
  background:var(--bd-contact-chip-active-bg);
  color:var(--bd-contact-chip-active-text);
  box-shadow:none;
}

.bd-contact-showcase__form{
  display:grid;
  gap:22px;
}

.bd-contact-showcase__field{
  display:grid;
  gap:10px;
}

.bd-contact-showcase__field-label{
  font-family:var(--bd-contact-label-font);
  font-size:var(--bd-contact-label-size);
  font-weight:var(--bd-contact-label-weight);
  line-height:var(--bd-contact-label-line-height);
  color:var(--bd-contact-label-color);
}

.bd-contact-showcase__field input,
.bd-contact-showcase__field textarea{
  width:100%;
  border:none;
  border-bottom:1px solid var(--bd-contact-input-line);
  background:transparent;
  padding:0 0 12px;
  outline:none;
  box-shadow:none;
  resize:vertical;
  border-radius:var(--bd-contact-input-radius);
  color:var(--bd-contact-input-color);
  font-family:var(--bd-contact-input-font);
  font-size:var(--bd-contact-input-size);
  font-weight:var(--bd-contact-input-weight);
  line-height:var(--bd-contact-input-line-height);
  transition:border-color .2s ease, transform .2s ease;
}

.bd-contact-showcase__field input::placeholder,
.bd-contact-showcase__field textarea::placeholder{
  color:var(--bd-contact-placeholder);
}

.bd-contact-showcase__field input:focus,
.bd-contact-showcase__field textarea:focus{
  border-color:var(--bd-contact-input-focus);
  transform:translateY(-1px);
}

.bd-contact-showcase__field--message textarea{
  min-height:88px;
}

.bd-contact-showcase__submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:15px 22px;
  margin-top:6px;
  border:none;
  border-radius:var(--bd-contact-button-radius);
  background:var(--bd-contact-button-bg);
  color:var(--bd-contact-button-text);
  cursor:pointer;
  box-shadow:0 18px 32px rgba(192, 20, 146, .24);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  font-family:var(--bd-contact-button-font);
  font-size:var(--bd-contact-button-size);
  font-weight:var(--bd-contact-button-weight);
  line-height:var(--bd-contact-button-line-height);
}

.bd-contact-showcase__submit:hover{
  transform:translateY(-2px);
  background:var(--bd-contact-button-hover);
  box-shadow:0 22px 36px rgba(156, 11, 118, .28);
}

.bd-contact-showcase__submit-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media (max-width: 1199px){
  .bd-contact-showcase__grid{
    grid-template-columns:1fr;
  }

  .bd-contact-showcase__left,
  .bd-contact-showcase__card{
    min-height:auto;
  }

  .bd-contact-showcase__socials{
    margin-top:18px;
  }
}

@media (max-width: 767px){
  .bd-contact-showcase{
    padding:70px 0;
  }

  .bd-contact-showcase__left-inner,
  .bd-contact-showcase__card{
    padding:28px 22px;
  }

  .bd-contact-showcase__title{
    max-width:none;
  }

  .bd-contact-showcase__chips{
    gap:8px;
  }

  .bd-contact-showcase__chip{
    width:auto;
    max-width:100%;
  }

  .bd-contact-showcase__submit{
    width:100%;
  }
}


/* =========================================================
   Premium Footer Showcase
========================================================= */
.bd-footer-showcase{
  --bd-footer-pointer-x:50%;
  --bd-footer-pointer-y:50%;
  position:relative;
  overflow:hidden;
  background:var(--bd-footer-section-bg);
  padding:var(--bd-footer-padding-top) 0 var(--bd-footer-padding-bottom);
}

.bd-footer-showcase__background,
.bd-footer-showcase__overlay,
.bd-footer-showcase__bg-image,
.bd-footer-showcase__bg-video,
.bd-footer-showcase__glow{
  position:absolute;
  inset:0;
}

.bd-footer-showcase__background{pointer-events:none}

.bd-footer-showcase__bg-image{
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--bd-footer-image-opacity);
  transform:scale(1.05);
}

.bd-footer-showcase__bg-video{
  opacity:var(--bd-footer-video-opacity);
  overflow:hidden;
}

.bd-footer-showcase__bg-video iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:177.77777778vh;
  min-width:100%;
  height:56.25vw;
  min-height:100%;
  transform:translate(-50%, -50%);
}

.bd-footer-showcase__overlay{
  background:
    radial-gradient(circle at var(--bd-footer-pointer-x) var(--bd-footer-pointer-y), rgba(255,255,255,.06), transparent 24%),
    linear-gradient(180deg, var(--bd-footer-overlay-1) 0%, var(--bd-footer-overlay-2) 100%);
  opacity:var(--bd-footer-overlay-opacity);
}

.bd-footer-showcase__glow{
  filter:blur(70px);
  opacity:.55;
  transform:translateZ(0);
}

.bd-footer-showcase__glow--one{
  inset:auto auto 18% 5%;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 72%);
}

.bd-footer-showcase__glow--two{
  inset:10% 8% auto auto;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(216,55,86,.12) 0%, rgba(216,55,86,0) 72%);
}

.bd-footer-showcase__container{
  position:relative;
  z-index:2;
}

.bd-footer-showcase__inner{
  opacity:0;
  transform:translateY(34px);
  transition:transform .9s ease, opacity .9s ease;
}

.bd-footer-showcase__inner.is-visible,
.bd-footer-showcase__inner.is-visible .bd-footer-showcase__feature,
.bd-footer-showcase__inner.is-visible .bd-footer-showcase__social{
  opacity:1;
  transform:none;
}

.bd-footer-showcase__inner.is-visible{opacity:1;transform:none}

.bd-footer-showcase__eyebrow{
  text-align:center;
  font-family:var(--bd-footer-eyebrow-font);
  font-size:var(--bd-footer-eyebrow-size);
  font-weight:var(--bd-footer-eyebrow-weight);
  font-style:var(--bd-footer-eyebrow-style);
  line-height:var(--bd-footer-eyebrow-line-height);
  color:var(--bd-footer-eyebrow-color);
  margin:0 0 14px;
}

.bd-footer-showcase__title{
  margin:0;
  text-align:center;
  font-family:var(--bd-footer-title-font);
  font-size:clamp(48px, var(--bd-footer-title-size), 96px);
  font-weight:var(--bd-footer-title-weight);
  line-height:var(--bd-footer-title-line-height);
  color:var(--bd-footer-title-color);
  letter-spacing:-.05em;
}

.bd-footer-showcase__feature-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) auto minmax(0, 1fr);
  align-items:center;
  gap:34px;
  margin-top:68px;
}

.bd-footer-showcase__feature{
  opacity:0;
  transform:translateY(28px);
  transition:transform .8s ease, opacity .8s ease;
}

.bd-footer-showcase__feature:nth-child(1){transition-delay:.08s}
.bd-footer-showcase__feature:nth-child(2){transition-delay:.18s}
.bd-footer-showcase__feature:nth-child(3){transition-delay:.28s}

.bd-footer-showcase__feature--email{justify-self:start;max-width:100%}
.bd-footer-showcase__feature--cta{justify-self:center}
.bd-footer-showcase__feature--phone{justify-self:end;display:flex;align-items:center;gap:20px}

.bd-footer-showcase__email,
.bd-footer-showcase__phone{
  text-decoration:none;
  display:inline-block;
}

.bd-footer-showcase__email{
  font-family:var(--bd-footer-email-font);
  font-size:clamp(28px, var(--bd-footer-email-size), 46px);
  font-weight:var(--bd-footer-email-weight);
  line-height:var(--bd-footer-email-line-height);
  color:var(--bd-footer-email-color);
  letter-spacing:-.05em;
  word-break:break-word;
}

.bd-footer-showcase__email-line,
.bd-footer-showcase__phone-line{
  display:block;
  width:100%;
  height:1px;
  background:var(--bd-footer-email-line);
  margin-top:18px;
}

.bd-footer-showcase__cta{
  min-width:212px;
  min-height:96px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:20px 34px;
  border-radius:var(--bd-footer-button-radius);
  border:1px solid var(--bd-footer-button-border);
  background:var(--bd-footer-button-bg);
  color:var(--bd-footer-button-text);
  text-decoration:none;
  font-family:var(--bd-footer-button-font);
  font-size:var(--bd-footer-button-size);
  font-weight:var(--bd-footer-button-weight);
  line-height:var(--bd-footer-button-line-height);
  box-shadow:0 18px 40px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
  transition:transform .35s ease, background .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.bd-footer-showcase__cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.14), transparent 70%);
  transform:translateX(-130%);
  transition:transform .65s ease;
}

.bd-footer-showcase__cta:hover{
  background:var(--bd-footer-button-hover-bg);
  color:var(--bd-footer-button-hover-text);
  box-shadow:0 20px 48px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}

.bd-footer-showcase__cta:hover::before{transform:translateX(130%)}

.bd-footer-showcase__cta i{font-size:1em}

.bd-footer-showcase__right-icon{
  width:var(--bd-footer-right-icon-size);
  height:var(--bd-footer-right-icon-size);
  flex:0 0 var(--bd-footer-right-icon-size);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border-radius:50%;
  background:var(--bd-footer-right-icon-bg);
  color:var(--bd-footer-right-icon-color);
  border:1px solid var(--bd-footer-right-icon-border);
  box-shadow:0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .35s ease;
}

.bd-footer-showcase__right-icon::before,
.bd-footer-showcase__right-icon::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:var(--bd-footer-right-icon-border);
}

.bd-footer-showcase__right-icon::before{width:2px;height:48%;left:calc(50% - 1px);top:12%}
.bd-footer-showcase__right-icon::after{width:48%;height:2px;top:calc(50% - 1px);left:12%}

.bd-footer-showcase__right-icon-accent{
  position:absolute;
  width:18px;
  height:2px;
  background:var(--bd-footer-right-icon-accent);
  border-radius:999px;
  left:8%;
  top:48%;
}

.bd-footer-showcase__right-icon i{
  position:relative;
  z-index:2;
  font-size:calc(var(--bd-footer-right-icon-size) * .32);
}

.bd-footer-showcase__phone-meta{min-width:0;max-width:100%}

.bd-footer-showcase__phone{
  font-family:var(--bd-footer-phone-font);
  font-size:clamp(24px, var(--bd-footer-phone-size), 36px);
  font-weight:var(--bd-footer-phone-weight);
  line-height:var(--bd-footer-phone-line-height);
  color:var(--bd-footer-phone-color);
  letter-spacing:-.04em;
}

.bd-footer-showcase__meta{
  margin-top:14px;
  font-family:var(--bd-footer-meta-font);
  font-size:var(--bd-footer-meta-size);
  font-style:var(--bd-footer-meta-style);
  font-weight:var(--bd-footer-meta-weight);
  line-height:var(--bd-footer-meta-line-height);
  color:var(--bd-footer-meta-color);
}

.bd-footer-showcase__divider{
  margin-top:86px;
  height:1px;
  background:var(--bd-footer-divider);
}

.bd-footer-showcase__socials{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  margin-top:70px;
}

.bd-footer-showcase__social{
  width:var(--bd-footer-social-size);
  height:var(--bd-footer-social-size);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--bd-footer-social-color);
  background:var(--bd-footer-social-bg);
  border:1px solid var(--bd-footer-social-border);
  box-shadow:0 16px 40px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.05);
  opacity:0;
  transform:translateY(20px);
  transition:transform .35s ease, background .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease, opacity .6s ease;
  transition-delay:var(--bd-footer-social-delay, 0s);
}

.bd-footer-showcase__social:hover{
  background:var(--bd-footer-social-hover-bg);
  color:var(--bd-footer-social-hover-color);
  box-shadow:0 18px 44px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);
}

.bd-footer-showcase__social i{font-size:calc(var(--bd-footer-social-size) * .34)}

@media (max-width: 1199px){
  .bd-footer-showcase__feature-grid{
    grid-template-columns:1fr;
    gap:28px;
    margin-top:58px;
  }

  .bd-footer-showcase__feature,
  .bd-footer-showcase__feature--email,
  .bd-footer-showcase__feature--cta,
  .bd-footer-showcase__feature--phone{
    justify-self:center;
    text-align:center;
  }

  .bd-footer-showcase__feature--phone{
    flex-direction:column;
    gap:18px;
  }

  .bd-footer-showcase__email-line,
  .bd-footer-showcase__phone-line{
    margin-left:auto;
    margin-right:auto;
    max-width:360px;
  }
}

@media (max-width: 767px){
  .bd-footer-showcase{
    padding:92px 0 40px;
  }

  .bd-footer-showcase__title{
    letter-spacing:-.04em;
  }

  .bd-footer-showcase__cta{
    min-width:100%;
    min-height:78px;
    padding:18px 24px;
  }

  .bd-footer-showcase__divider{
    margin-top:54px;
  }

  .bd-footer-showcase__socials{
    gap:14px;
    margin-top:44px;
  }
}
