/* =========================================================
   MTL VISIONARIES — Black & White
   ========================================================= */

:root{
  --black:#0a0a0a;
  --ink:#111;
  --white:#ffffff;
  --paper:#fafafa;
  --line:#e6e6e6;
  --muted:#6b6b6b;
  --container:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-weight:400;
  color:var(--ink);
  background:var(--white);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
}

/* ============ TYPE ============ */
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  letter-spacing:-0.02em;
  color:var(--ink);
  line-height:1.05;
  margin:0;
}
h1 em, h2 em, .logo__text em{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-0.01em;
}

.eyebrow{
  display:inline-block;
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink);
  border:1px solid var(--ink);
  padding:6px 12px;
  border-radius:999px;
  margin-bottom:28px;
}
.eyebrow--light{
  color:var(--white);
  border-color:var(--white);
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:'Space Grotesk',sans-serif;
  font-weight:500;
  font-size:14px;
  letter-spacing:0.02em;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid transparent;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn--primary{
  background:var(--ink);
  color:var(--white);
  border-color:var(--ink);
}
.btn--primary:hover{transform:translateY(-2px);}
.btn--ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--ink);
}
.btn--ghost:hover{background:var(--ink);color:var(--white);}
.btn--invert.btn--primary{background:var(--white);color:var(--ink);border-color:var(--white);}
.btn--invert.btn--primary:hover{background:transparent;color:var(--white);}
.btn--invert.btn--ghost{color:var(--white);border-color:var(--white);}
.btn--invert.btn--ghost:hover{background:var(--white);color:var(--ink);}
.btn--block{display:flex;width:100%;}

/* ============ NAV ============ */
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  background:var(--white);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease);
}
.nav.is-scrolled{
  border-bottom-color:var(--line);
}
.nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:92px;
}
.logo{display:flex;align-items:center;gap:14px;}
.logo__img{
  height:48px;
  width:auto;
  display:block;
  align-self:center;
}
.footer__logo{height:56px;margin-bottom:4px;align-self:flex-start;width:auto;}
.logo__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  background:var(--ink);
  color:var(--white);
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  border-radius:50%;
  font-size:15px;
}
.logo__text{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  letter-spacing:0.02em;
  font-size:18px;
  text-transform:uppercase;
  color:var(--ink);
}
.nav__links{
  display:flex;gap:40px;
  font-size:15.5px;
  font-weight:500;
  font-family:'Space Grotesk',sans-serif;
}
.nav__links a{position:relative;}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-6px;
  width:0;height:1px;background:var(--ink);
  transition:width .3s var(--ease);
}
.nav__links a:hover::after{width:100%;}
.nav__cta{display:flex;align-items:center;gap:18px;}
.lang-switch{
  display:flex;
  align-items:center;
  gap:6px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.04em;
}
.lang-switch button{
  color:var(--muted);
  padding:2px 2px;
  transition:color .2s var(--ease);
}
.lang-switch button:hover{color:var(--ink);}
.lang-switch button.is-active{color:var(--ink);font-weight:700;}
.lang-switch__sep{color:var(--line);}

.nav__burger{
  display:none;
  width:40px;height:40px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.nav__burger span{display:block;width:22px;height:1.5px;background:var(--ink);}

@media (max-width:880px){
  .nav__links{display:none;}
  .nav__cta{display:flex;}            /* stay visible for the language switch */
  .nav__cta .btn{display:none;}        /* hide Book a call on the mobile bar */
  .nav__burger{display:flex;}
  .nav.is-open .nav__links{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:92px;left:0;right:0;
    background:var(--white);
    padding:24px 28px;
    border-bottom:1px solid var(--line);
    gap:18px;
  }
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:140px;
  padding-bottom:80px;
  background:var(--black);
  color:var(--white);
  overflow:hidden;
  isolation:isolate;
}
.hero__video{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:-2;
  opacity:.5;
  filter:contrast(1.05) brightness(.85);
}
.hero__overlay{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.15) 35%, rgba(0,0,0,0.65) 100%),
    radial-gradient(1200px 600px at 80% 10%, rgba(255,255,255,0.06), transparent 60%);
}
.hero__content{position:relative;z-index:1;}
.hero h1,.hero p,.hero .hero__meta{color:var(--white);}
.hero .hero__meta{color:rgba(255,255,255,0.7);}
.hero .dot{background:var(--white);}
.hero .dot::after{border-color:var(--white);}
.hero .hero__sub{color:rgba(255,255,255,0.8);}
.hero .hero__scroll{color:rgba(255,255,255,0.6);}
.hero .hero__scroll .line{background:var(--white);}
.hero__meta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  letter-spacing:0.05em;
  color:var(--muted);
  margin-bottom:36px;
}
.dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--ink);
  position:relative;
}
.dot::after{
  content:"";position:absolute;inset:-4px;
  border-radius:50%;
  border:1px solid var(--ink);
  opacity:.4;
  animation:pulse 2s infinite var(--ease);
}
@keyframes pulse{
  0%{transform:scale(.9);opacity:.5;}
  100%{transform:scale(1.7);opacity:0;}
}
.hero__title{
  font-size:clamp(40px, 8.5vw, 130px);
  font-weight:700;
  line-height:0.95;
  letter-spacing:-0.03em;
  margin:0 0 32px;
  max-width:1200px;
  text-transform:uppercase;
}
.hero__sub{
  font-size:clamp(17px, 1.5vw, 22px);
  color:var(--muted);
  max-width:640px;
  margin:0 0 44px;
  line-height:1.5;
}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero__scroll{
  position:absolute;
  bottom:40px;right:40px;
  display:flex;align-items:center;gap:12px;
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero__scroll .line{
  width:80px;height:1px;background:var(--ink);
  transform-origin:left;
  animation:lineGrow 2.4s infinite var(--ease);
}
@keyframes lineGrow{
  0%{transform:scaleX(0);}
  50%{transform:scaleX(1);}
  100%{transform:scaleX(0);transform-origin:right;}
}
@media (max-width:600px){
  .hero__scroll{display:none;}
}

/* ============ SECTIONS ============ */
.section{padding:140px 0;}
.section--dark{background:var(--black);color:var(--white);}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--white);}
.section--dark p{color:rgba(255,255,255,0.7);}

.section__head{max-width:760px;margin:0 0 80px;}
.section__title{
  font-size:clamp(38px, 5.2vw, 72px);
  line-height:1.02;
  letter-spacing:-0.03em;
  margin:0 0 24px;
}
.section__lead{
  font-size:18px;color:var(--muted);
  max-width:560px;line-height:1.55;
}
.section--dark .section__lead{color:rgba(255,255,255,0.7);}

/* ============ TRUST ============ */
.trust{
  padding:48px 0 56px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.trust__label{
  text-align:center;
  margin:0 0 28px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.marquee{overflow:hidden;}
.marquee__track{
  display:inline-flex;
  align-items:center;
  gap:64px;
  white-space:nowrap;
  animation:marquee 45s linear infinite;
}
.marquee__track img{
  height:54px;
  max-width:160px;
  width:auto;
  flex-shrink:0;
  object-fit:contain;
  opacity:.85;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.marquee__track img:hover{opacity:1;transform:scale(1.05);}
.marquee__track img.logo-dark-bg{
  background:var(--ink);
  padding:10px 22px;
  border-radius:10px;
  box-sizing:content-box;
  max-width:180px;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ============ SERVICES ============ */
.services__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.service{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  padding:36px 32px 40px;
  min-height:320px;
  background:var(--white);
  display:flex;flex-direction:column;
  transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease), border-color .4s var(--ease);
}
.service::before{
  content:"";
  position:absolute;
  inset:auto -20% -30% auto;
  width:80%;
  aspect-ratio:1/1;
  background:radial-gradient(closest-side, rgba(0,0,0,0.045), transparent 70%);
  z-index:0;
  transition:background .4s var(--ease);
}
.service__big{
  position:absolute;
  right:-10px;
  bottom:-40px;
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:240px;
  line-height:1;
  color:rgba(0,0,0,0.06);
  z-index:0;
  transition:color .4s var(--ease), transform .5s var(--ease);
  pointer-events:none;
}
.service__top{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:auto;
  padding-bottom:80px;
}
.service__num{
  font-family:'Space Grotesk',sans-serif;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.service__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  font-size:14px;
  color:var(--ink);
  transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.service__body{
  position:relative;
  z-index:1;
}
.service h3{
  font-size:28px;
  letter-spacing:-0.02em;
  margin:0 0 12px;
}
.service p{
  font-size:14.5px;
  color:var(--muted);
  margin:0;
  max-width:32ch;
  line-height:1.55;
}

.service:hover{
  background:var(--ink);
  color:var(--white);
  border-color:var(--ink);
  transform:translateY(-3px);
}
.service:hover .service__num{color:rgba(255,255,255,0.55);}
.service:hover h3{color:var(--white);}
.service:hover p{color:rgba(255,255,255,0.7);}
.service:hover .service__big{
  color:rgba(255,255,255,0.10);
  transform:translate(-12px, -12px);
}
.service:hover .service__arrow{
  background:var(--white);
  color:var(--ink);
  border-color:var(--white);
  transform:rotate(45deg);
}

@media (max-width:980px){
  .services__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .services__grid{grid-template-columns:1fr;}
  .service{min-height:260px;padding:28px 24px 32px;}
  .service__big{font-size:180px;}
  .service__top{padding-bottom:50px;}
}

/* ============ PROCESS ============ */
.process__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:48px;
}
.step{position:relative;padding-top:20px;}
.step__num{
  display:block;
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:96px;
  line-height:1;
  color:rgba(255,255,255,0.18);
  margin-bottom:24px;
}
.step h3{font-size:24px;margin:0 0 10px;}
.step p{font-size:15px;line-height:1.55;margin:0;}
@media (max-width:900px){
  .process__grid{grid-template-columns:1fr 1fr;gap:40px;}
}
@media (max-width:520px){
  .process__grid{grid-template-columns:1fr;}
}

/* ============ WORK ============ */
.work__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 32px;
}
.card{display:block;}
.card__media{
  position:relative;
  aspect-ratio:4/5;
  background:var(--ink);
  border-radius:6px;
  overflow:hidden;
  transition:transform .5s var(--ease);
}
.card__media video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}
.card--horiz .card__media video{
  object-fit:contain;
  background:var(--ink);
}
.card__play{
  position:absolute;
  left:20px;bottom:18px;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,0.92);
  color:var(--ink);
  font-size:13px;
  backdrop-filter:blur(6px);
  z-index:2;
  transition:transform .3s var(--ease), background .3s var(--ease);
}
.card:hover .card__media{transform:translateY(-4px);}
.card:hover .card__media video{transform:scale(1.04);}
.card:hover .card__play{transform:scale(1.1);background:var(--white);}
.card__meta{
  display:flex;justify-content:space-between;
  margin:18px 0 8px;
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.card h3{font-size:22px;letter-spacing:-0.02em;}
@media (max-width:900px){.work__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.work__grid{grid-template-columns:1fr;}}

/* ============ QUOTES ============ */
.quotes__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.quote{
  margin:0;
  padding:36px 32px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:240px;
}
.quote blockquote{
  margin:0 0 24px;
  font-family:'Instrument Serif',serif;
  font-size:24px;
  line-height:1.3;
  color:var(--ink);
}
.quote figcaption{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  color:var(--muted);
  letter-spacing:0.02em;
}
.quote figcaption img{
  width:48px;height:48px;
  border-radius:50%;
  object-fit:cover;
}
.quote figcaption strong{
  color:var(--ink);
  font-weight:600;
  letter-spacing:-0.01em;
}
@media (max-width:900px){.quotes__grid{grid-template-columns:1fr;}}

/* ============ METRICS ============ */
.metrics{padding:120px 0;}
.metrics__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.metric{
  display:flex;flex-direction:column;gap:8px;
  padding:20px 0;
  border-top:1px solid rgba(255,255,255,0.18);
}
.metric__num{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(48px, 5.5vw, 76px);
  font-weight:500;
  letter-spacing:-0.03em;
  color:var(--white);
  line-height:1;
}
.metric__label{
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.6);
}
@media (max-width:760px){.metrics__grid{grid-template-columns:1fr 1fr;}}

/* ============ PRICING ============ */
.pricing__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:48px;
}
.plan{
  position:relative;
  border:1px solid var(--line);
  border-radius:16px;
  padding:40px 32px;
  background:var(--white);
  display:flex;flex-direction:column;
  transition:transform .35s var(--ease), border-color .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);border-color:var(--ink);}
.plan--feature{
  background:var(--ink);
  color:var(--white);
  border-color:var(--ink);
  box-shadow:0 20px 50px -20px rgba(0,0,0,0.45), 0 0 0 1px rgba(31,191,117,0.25);
  transform:translateY(-8px);
}
.plan--feature:hover{
  transform:translateY(-12px);
}
@media (max-width:980px){
  .plan--feature{transform:none;}
  .plan--feature:hover{transform:translateY(-4px);}
}
.plan--feature h3{color:var(--white);}
.plan--feature p{color:rgba(255,255,255,0.7);}
.plan__tag{
  position:absolute;
  top:-12px;left:32px;
  background:var(--white);
  color:var(--ink);
  font-family:'Space Grotesk',sans-serif;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--ink);
}
.plan__savings{
  position:absolute;
  top:-12px;right:24px;
  background:#1fbf75;
  color:#fff;
  font-family:'Space Grotesk',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  box-shadow:0 4px 14px rgba(31,191,117,0.35);
}
.plan__kicker{
  display:block;
  font-family:'Space Grotesk',sans-serif;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:14px;
}
.plan--feature .plan__kicker{color:rgba(255,255,255,0.6);}
.plan__head h3{font-size:18px;font-weight:500;letter-spacing:-0.01em;line-height:1.35;margin:0 0 28px;color:var(--ink);}
.plan--feature .plan__head h3{color:var(--white);}
.plan__tagline{
  display:inline-block;
  margin:0 0 22px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(0,0,0,0.06);
  color:var(--ink);
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.04em;
  font-weight:500;
  align-self:flex-start;
}
.plan--feature .plan__tagline{
  background:rgba(255,255,255,0.12);
  color:var(--white);
}
.plan__tagline--bright{
  background:rgba(31,191,117,0.18) !important;
  color:#7ee5b4 !important;
  font-weight:600 !important;
}
.plan__addon{
  display:flex;align-items:center;gap:10px;
  margin:8px 0 20px;
  padding:12px 14px;
  border:1px dashed var(--line);
  border-radius:10px;
  cursor:pointer;
  font-size:13.5px;
  user-select:none;
  transition:background .2s var(--ease), border-color .2s var(--ease);
}
.plan__addon:hover{border-color:var(--ink);}
.plan--feature .plan__addon{border-color:rgba(255,255,255,0.25);}
.plan--feature .plan__addon:hover{border-color:var(--white);}
.plan__addon input{
  appearance:none;
  width:16px;height:16px;
  border:1.5px solid var(--ink);
  border-radius:4px;
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  margin:0;
}
.plan--feature .plan__addon input{border-color:var(--white);}
.plan__addon input:checked{background:var(--ink);}
.plan--feature .plan__addon input:checked{background:var(--white);}
.plan__addon input:checked::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--white);
  font-size:11px;
}
.plan--feature .plan__addon input:checked::after{color:var(--ink);}
.plan__addon em{font-style:normal;color:var(--muted);}
.plan--feature .plan__addon em{color:rgba(255,255,255,0.6);}
.plan__price{
  display:flex;align-items:baseline;gap:8px;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.plan--feature .plan__price{border-bottom-color:rgba(255,255,255,0.15);}
.plan__amount{
  font-family:'Space Grotesk',sans-serif;
  font-size:48px;
  font-weight:600;
  letter-spacing:-0.03em;
  line-height:1;
  display:inline-block;
  transition:transform .35s var(--ease), color .35s var(--ease);
  will-change:transform;
}
.plan__amount.is-bumping{
  transform:scale(1.08);
}
.plan__per{
  font-family:'Space Grotesk',sans-serif;
  font-size:14px;
  color:var(--muted);
}
.plan--feature .plan__per{color:rgba(255,255,255,0.6);}
.plan__list{
  list-style:none;
  padding:0;margin:0 0 32px;
  display:flex;flex-direction:column;gap:12px;
  flex-grow:1;
}
.plan__list li{
  position:relative;
  padding-left:26px;
  font-size:14.5px;
  line-height:1.5;
}
.plan__list li::before{
  content:"";
  position:absolute;
  left:0;top:8px;
  width:14px;height:1px;
  background:var(--ink);
}
.plan--feature .plan__list li::before{background:var(--white);}

.pricing__note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:32px 36px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
}
.pricing__note--center{
  flex-direction:column;
  text-align:center;
  padding:40px 36px 44px;
}
.pricing__note--center .eyebrow{margin-bottom:18px;}
.pricing__note strong{
  display:block;
  font-family:'Space Grotesk',sans-serif;
  font-size:18px;
  margin-bottom:6px;
}
.pricing__note p{margin:0 0 8px;font-size:15.5px;color:var(--ink);max-width:60ch;line-height:1.5;}
.pricing__note--center p{font-size:17px;}
.pricing__note-sub{font-size:14px !important;color:var(--muted) !important;margin-bottom:24px !important;}
@media (max-width:980px){.pricing__grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto;}}
@media (max-width:700px){
  .pricing__note{flex-direction:column;align-items:flex-start;}
}

/* ============ CTA ============ */
.cta{padding:160px 0;text-align:center;}
.cta__inner{
  max-width:880px;
  margin:0 auto;
  display:flex;flex-direction:column;align-items:center;
}
.cta .eyebrow{margin-bottom:24px;}
.cta__title{
  font-size:clamp(44px, 7vw, 96px);
  line-height:1;
  letter-spacing:-0.03em;
  margin:0 0 24px;
}
.cta__sub{
  font-size:18px;
  color:rgba(255,255,255,0.7);
  max-width:520px;
  margin:0 0 40px;
}
.cta__buttons{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

/* ============ FOOTER ============ */
.footer{
  background:var(--white);
  border-top:1px solid var(--line);
  padding:80px 0 32px;
}
.footer__inner{
  display:grid;
  grid-template-columns:1.2fr 2fr;
  gap:60px;
  margin-bottom:56px;
}
.footer__brand{display:flex;flex-direction:column;gap:16px;}
.footer__brand p{font-size:14px;color:var(--muted);max-width:32ch;margin:0;}
.footer__cols{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.footer__cols h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin:0 0 14px;
  color:var(--ink);
}
.footer__cols a,.footer__cols span{
  display:block;
  font-size:14px;
  color:var(--muted);
  margin-bottom:8px;
  transition:color .2s var(--ease);
}
.footer__cols a:hover{color:var(--ink);}
.footer__bottom{
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:24px;
  font-size:12px;
  color:var(--muted);
  font-family:'Space Grotesk',sans-serif;
  letter-spacing:0.06em;
}
@media (max-width:760px){
  .footer__inner{grid-template-columns:1fr;}
  .footer__cols{grid-template-columns:1fr 1fr;}
  .footer__bottom{flex-direction:column;gap:8px;}
}

/* ============ WORK PAGE ============ */
.work-page{background:var(--white);}
.workpage-hero{
  padding:180px 0 80px;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.work-hero__back{
  display:inline-block;
  margin-bottom:32px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  letter-spacing:0.06em;
  color:var(--muted);
  transition:color .2s var(--ease);
}
.work-hero__back:hover{color:var(--ink);}
.workpage-hero .eyebrow{margin-bottom:24px;}
.workpage-hero__title{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:clamp(48px, 8vw, 120px);
  letter-spacing:-0.03em;
  line-height:0.95;
  margin:0 0 28px;
  text-transform:uppercase;
}
.workpage-hero__sub{
  font-size:18px;
  color:var(--muted);
  max-width:720px;
  line-height:1.55;
  margin:0;
}

.work-client{
  padding:100px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:110px;
}
.work-client:last-of-type{border-bottom:none;}
.work-client__head{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:48px;
  align-items:end;
  margin-bottom:48px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
}
.work-client__head .eyebrow{
  margin-bottom:18px;
  border-color:var(--line);
  color:var(--muted);
}
.work-client__head h2{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:clamp(36px, 5vw, 64px);
  letter-spacing:-0.03em;
  line-height:1;
  margin:0;
  text-transform:uppercase;
}
.work-client__head p{
  font-size:17px;
  line-height:1.5;
  color:var(--muted);
  margin:0;
}
.work-client__head p strong{color:var(--ink);font-weight:600;}

.reel-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);  /* 4 vertical reels per row, like MdB */
  gap:18px;
  align-items:start;
  grid-auto-flow:dense;
}
.reel-grid video{
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  display:block;
  background:var(--ink);
  border-radius:10px;
  outline:1px solid var(--line);
  outline-offset:-1px;
  cursor:pointer;
  grid-column:span 1;            /* vertical = 1 of 4 cols → 4 per row */
  transition:transform .3s var(--ease);
}
.reel-grid video:hover{transform:translateY(-3px);}
.reel-grid video.reel--horiz{
  aspect-ratio:16/9;
  grid-column:span 2;            /* horizontal = 2 of 4 cols → 2 per row */
  object-fit:cover;
  background:var(--ink);
}
.reel-grid--single{
  grid-template-columns:1fr;
  max-width:340px;
  margin:0 auto;
}
.reel-grid--single video{grid-column:auto;}
.reel-grid--single-horiz{max-width:760px;}

@media (max-width:980px){
  .work-client__head{grid-template-columns:1fr;gap:16px;align-items:start;}
  .reel-grid{grid-template-columns:repeat(3,1fr);}
  .reel-grid video.reel--horiz{grid-column:span 2;}
}
@media (max-width:640px){
  .reel-grid{grid-template-columns:repeat(2,1fr);}
  .reel-grid video.reel--horiz{grid-column:span 2;} /* full row */
  .reel-grid--single{max-width:300px;}
  .reel-grid--single-horiz{max-width:560px;}
}

/* ============ INQUIRY MODAL ============ */
.modal{
  position:fixed;
  inset:0;
  z-index:1100;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:40px 20px;
  overflow-y:auto;
}
.modal.is-open{display:flex;}
.modal__overlay{
  position:fixed;
  inset:0;
  background:rgba(10,10,10,0.6);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.modal__dialog{
  position:relative;
  z-index:1;
  width:100%;
  max-width:560px;
  margin:auto;
  background:var(--white);
  border-radius:18px;
  padding:48px 44px;
  box-shadow:0 40px 100px rgba(0,0,0,0.4);
  animation:modalIn .35s var(--ease);
}
@keyframes modalIn{
  from{opacity:0;transform:translateY(20px) scale(.98);}
  to{opacity:1;transform:none;}
}
.modal__close{
  position:absolute;
  top:18px;right:20px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  font-size:26px;line-height:1;
  color:var(--muted);
  transition:background .2s var(--ease),color .2s var(--ease);
}
.modal__close:hover{background:var(--paper);color:var(--ink);}
.modal__title{
  font-size:clamp(28px,4vw,38px);
  letter-spacing:-0.02em;
  margin:18px 0 12px;
}
.modal__sub{
  font-size:15px;
  color:var(--muted);
  margin:0 0 28px;
  line-height:1.5;
}

.inquiry-form{display:flex;flex-direction:column;gap:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.field input,
.field textarea{
  font-family:'Inter',sans-serif;
  font-size:15px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px 15px;
  width:100%;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.field input:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--ink);
  background:var(--white);
}
.field textarea{resize:vertical;min-height:84px;}
.field__pill{
  display:inline-block;
  align-self:flex-start;
  background:var(--ink);
  color:var(--white);
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.01em;
  padding:9px 16px;
  border-radius:999px;
}
.inquiry-form .btn{margin-top:6px;}
.inquiry-form__error{
  color:#c0392b;
  font-size:14px;
  margin:4px 0 0;
}
.hidden-field{position:absolute;left:-9999px;height:0;overflow:hidden;}

/* Package picker (generic "Book a call") */
.pkg-picker{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:18px;
}
.pkg-opt{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  cursor:pointer;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.pkg-opt:hover{border-color:var(--ink);}
.pkg-opt input{
  appearance:none;
  width:20px;height:20px;
  border:1.5px solid var(--muted);
  border-radius:50%;
  flex-shrink:0;
  position:relative;
  cursor:pointer;
  transition:border-color .2s var(--ease);
}
.pkg-opt input:checked{border-color:var(--ink);}
.pkg-opt input:checked::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--ink);
}
.pkg-opt:has(input:checked){
  border-color:var(--ink);
  background:var(--paper);
}
.pkg-opt__body{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex:1;
  gap:12px;
}
.pkg-opt__name{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15px;
  color:var(--ink);
}
.pkg-opt__price{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:16px;
  color:var(--ink);
  white-space:nowrap;
}
.pkg-opt__price em{
  font-style:normal;
  font-size:12px;
  font-weight:400;
  color:var(--muted);
}
.pkg-opt__tag{
  position:absolute;
  top:-9px;right:14px;
  background:#1fbf75;
  color:#fff;
  font-family:'Space Grotesk',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:4px 9px;
  border-radius:999px;
}
.pkg-addons{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:18px;
}
.pkg-addons__note{
  margin:0 0 2px;
  font-size:13px;
  color:var(--muted);
  font-style:italic;
}
.plan__addon.is-disabled{
  opacity:0.4;
  pointer-events:none;
}
.plan__addon.is-disabled::after{
  content:"Not eligible for this package";
  font-size:11px;
  letter-spacing:0.04em;
  color:var(--muted);
  margin-left:auto;
}
.pkg-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  background:var(--ink);
  color:var(--white);
  border-radius:12px;
  margin-bottom:18px;
}
.pkg-total span{
  font-family:'Space Grotesk',sans-serif;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.7);
}
.pkg-total strong{
  font-family:'Space Grotesk',sans-serif;
  font-size:24px;
  font-weight:600;
  letter-spacing:-0.02em;
}

/* 6-month commitment picker */
.bonus-banner{
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(31,191,117,0.12);
  color:#108a52;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.01em;
  line-height:1.4;
  padding:12px 16px;
  border-radius:10px;
  margin-bottom:22px;
}
.sixmonth-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:24px;
}
.sixmonth-opt{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:left;
  padding:22px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  cursor:pointer;
  transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}
.sixmonth-opt:hover{
  border-color:var(--ink);
  transform:translateY(-3px);
  box-shadow:0 14px 30px -16px rgba(0,0,0,0.4);
}
.sixmonth-opt__tag{
  position:absolute;
  top:-10px;right:16px;
  background:#1fbf75;
  color:#fff;
  font-family:'Space Grotesk',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:999px;
}
.sixmonth-opt__name{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15px;
  color:var(--ink);
}
.sixmonth-opt__monthly{
  font-family:'Space Grotesk',sans-serif;
  font-size:26px;
  font-weight:600;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-top:6px;
}
.sixmonth-opt__total{
  font-size:12px;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:2px;
}
.sixmonth-opt__bonus{
  font-size:12.5px;
  color:#108a52;
  margin-top:8px;
  line-height:1.4;
}
.sixmonth-opt__bonus em{font-style:normal;opacity:0.8;}
@media (max-width:560px){
  .sixmonth-options{grid-template-columns:1fr;}
}

.calendly-holder{
  min-height:700px;
  margin:0 -12px -12px;
  display:flex;
  flex-direction:column;
}
.calendly-holder .calendly-inline-widget{min-width:280px;width:100%;height:700px;}
.calendly-fallback{
  display:block;
  text-align:center;
  margin-top:12px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .2s var(--ease);
}
.calendly-fallback:hover{color:var(--ink);}

@media (max-width:560px){
  .modal__dialog{padding:40px 22px;border-radius:14px;}
  .field-row{grid-template-columns:1fr;}
  .calendly-holder{min-height:580px;}
  .calendly-holder .calendly-inline-widget{height:580px;}
}

/* ============ VIDEO LIGHTBOX ============ */
.lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,0.94);
  display:none;
  align-items:center;
  justify-content:center;
  padding:32px;
  opacity:0;
  transition:opacity .25s var(--ease);
}
.lightbox.is-open{display:flex;opacity:1;}
.lightbox__video{
  max-width:min(94vw, 1100px);
  max-height:90vh;
  width:auto;
  height:auto;
  display:block;
  border-radius:8px;
  background:#000;
  box-shadow:0 30px 80px rgba(0,0,0,0.6);
}
.lightbox__close{
  position:absolute;
  top:22px;right:26px;
  width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  color:#fff;
  font-size:26px;
  line-height:1;
  transition:background .2s var(--ease);
}
.lightbox__close:hover{background:rgba(255,255,255,0.25);}

.work__cta{
  display:flex;justify-content:center;
  margin-top:48px;
}

/* ============ REVEAL ANIMATIONS ============ */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.is-in{opacity:1;transform:none;}

/* ============ SELECTION ============ */
::selection{background:var(--ink);color:var(--white);}
