
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--paper);
  background:
    radial-gradient(circle at 20% 0%, rgba(212, 32, 107, 0.08), transparent 30%),
    #020203;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.page-shell {
  min-height: 100vh;
  padding: 16px;
}

.page-frame {
  position: relative;
  isolation: isolate;
  width: min(100%, 1740px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.015), transparent 30%),
    linear-gradient(180deg, #09070a 0%, #050405 72%, #070507 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 32px 100px rgba(0, 0, 0, 0.48);
}

.page-content {
  padding: 0 44px 44px;
}

.page-noise {
  position: absolute;
  inset: 0;
  z-index: -5;
  pointer-events: none;
  opacity: 0.05;
  background-image:
    radial-gradient(circle at 20% 30%, #fff 0 0.5px, transparent 0.7px),
    radial-gradient(circle at 70% 60%, #fff 0 0.45px, transparent 0.7px);
  background-size: 8px 8px, 11px 11px;
}

.page-glow {
  position: absolute;
  z-index: -4;
  border-radius: 50%;
  filter: blur(110px);
  pointer-events: none;
}

.page-glow--left {
  top: 12%;
  left: -14%;
  width: 450px;
  height: 450px;
  background: rgba(212, 32, 107, 0.12);
}

.page-glow--right {
  top: 24%;
  right: -10%;
  width: 520px;
  height: 520px;
  background: rgba(212, 112, 139, 0.09);
}

.section-eyebrow {
  display: block;
  margin-bottom: 20px;
  color: var(--pink-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.cta-band {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
  margin-top: 20px;
  padding: 62px;
  overflow: hidden;
  border: 1px solid rgba(255, 176, 201, 0.16);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 30%),
    linear-gradient(145deg, #170812, #0b070c 65%, #200912);
}

.cta-band::after {
  content: "";
  position: absolute;
  right: -100px;
  top: -120px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: rgba(212, 32, 107, 0.17);
  filter: blur(100px);
}

.cta-band__copy,
.cta-band__action {
  position: relative;
  z-index: 2;
}

.cta-band h2 {
  max-width: 850px;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: clamp(38px, 4.7vw, 66px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.05em;
}

.cta-band h2 span {
  color: var(--pink-soft);
}

.cta-band p {
  max-width: 680px;
  margin: 22px 0 0;
  color: #a79da3;
  font-size: 14px;
  line-height: 1.75;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  color: #250811;
  background: linear-gradient(135deg, #ffd3e0, #ffb0c9 54%, #d4708b);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 18px 44px rgba(212, 32, 107, 0.24);
  transition:
    transform 220ms ease,
    background 220ms ease,
    color 220ms ease,
    box-shadow 220ms ease;
}

.cta-button:hover {
  transform: translateY(-5px) scale(1.025);
  color: #fff;
  background: var(--pink-main);
  box-shadow:
    0 26px 58px rgba(212, 32, 107, 0.4),
    0 0 0 6px rgba(255, 176, 201, 0.07);
}

.cta-button span {
  transition: transform 220ms ease;
}

.cta-button:hover span {
  transform: translate(4px, -4px);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 900px) {
  .page-content {
    padding-inline: 28px;
  }

  .cta-band {
    grid-template-columns: 1fr;
    padding: 48px 36px;
  }

  .cta-band__action {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .page-shell {
    padding: 7px;
  }

  .page-frame {
    border-radius: 23px;
  }

  .page-content {
    padding: 0 17px 28px;
  }

  .cta-band {
    margin-top: 7px;
    padding: 40px 24px;
    border-radius: 22px;
  }

  .cta-button {
    width: 100%;
    justify-content: center;
  }
}

.services-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.75fr);align-items:end;gap:80px;min-height:520px;padding:70px 12px 60px}.services-hero h1{max-width:940px;margin:0;padding:.03em 0 .16em;overflow:visible;font-family:"Outfit",sans-serif;font-size:clamp(57px,6.55vw,105px);font-weight:500;line-height:1.01;letter-spacing:-.06em}.services-hero h1 span{display:block;margin-top:2px;padding-bottom:.07em;color:transparent;background:linear-gradient(92deg,#fff 0%,#ffd2e0 42%,#d4708b 100%);-webkit-background-clip:text;background-clip:text}.services-hero__description{padding-bottom:8px}.services-hero__description p{margin:0;color:#aaa0a6;font-size:15px;line-height:1.85}.services-hero__count{display:flex;align-items:center;gap:15px;margin-top:28px;color:#7e737a;font-size:9px;font-weight:800;letter-spacing:.14em}.services-hero__count strong{color:var(--pink-soft);font-family:"Outfit",sans-serif;font-size:28px;font-weight:500}.service-filter{position:sticky;top:10px;z-index:35;display:flex;align-items:center;gap:9px;margin:0 12px;padding:14px;overflow-x:auto;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(8,6,9,.88);backdrop-filter:blur(20px);scrollbar-width:none}.service-filter::-webkit-scrollbar{display:none}.service-filter a{flex:0 0 auto;padding:11px 14px;border:1px solid transparent;border-radius:999px;color:#8f858b;font-size:9px;font-weight:800;white-space:nowrap;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.service-filter a:hover,.service-filter a.is-active{transform:translateY(-2px);border-color:rgba(255,176,201,.25);color:#fff;background:rgba(255,176,201,.07)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:26px 12px 20px}.service-card{position:relative;display:flex;flex-direction:column;min-height:370px;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.027),transparent 30%),#080609;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}.service-card::before{content:"";position:absolute;right:-95px;top:-100px;width:250px;height:250px;border-radius:50%;background:rgba(212,32,107,.08);filter:blur(70px);transition:background .26s ease,transform .26s ease}.service-card:hover{transform:translateY(-8px);border-color:rgba(255,176,201,.27);box-shadow:0 26px 64px rgba(0,0,0,.34)}.service-card:hover::before{transform:scale(1.2);background:rgba(212,32,107,.14)}.service-card[hidden]{display:none}.service-card__top,.service-card__bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px}.service-card__number{color:var(--pink-muted);font-family:"Outfit",sans-serif;font-size:20px}.service-card__category{padding:7px 10px;border-radius:999px;color:#8f858b;background:rgba(255,255,255,.035);font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.service-card h2{position:relative;z-index:2;max-width:310px;margin:80px 0 0;font-family:"Outfit",sans-serif;font-size:33px;font-weight:500;line-height:1;letter-spacing:-.045em}.service-card p{position:relative;z-index:2;margin:18px 0 0;color:#938990;font-size:12px;line-height:1.7}.service-card__bottom{margin-top:auto;padding-top:25px;border-top:1px solid rgba(255,255,255,.07);color:#746a70;font-size:8px;font-weight:800;letter-spacing:.1em}.service-card__example{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;color:var(--pink-soft);background:transparent;font:inherit;cursor:pointer;transition:gap .18s ease,color .18s ease}.service-card__example:hover{gap:13px;color:#fff}.services-empty{display:none;margin:26px 12px 20px;padding:60px 30px;border:1px solid rgba(255,255,255,.07);border-radius:22px;text-align:center;color:#8f858b;background:#080609}.services-empty.is-visible{display:block}.services-summary{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;padding:80px 12px 35px}.services-summary h2{margin:0;font-family:"Outfit",sans-serif;font-size:clamp(40px,4.8vw,67px);font-weight:500;line-height:1;letter-spacing:-.05em}.services-summary h2 span{color:var(--pink-soft)}.services-summary p{margin:0;color:#978d93;font-size:13px;line-height:1.75}.service-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px;visibility:hidden;opacity:0;transition:visibility .22s ease,opacity .22s ease}.service-modal.is-open{visibility:visible;opacity:1}.service-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(1,1,5,.78);backdrop-filter:blur(12px);cursor:pointer}.service-modal__dialog{position:relative;z-index:2;width:min(1120px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(255,176,201,.23);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 25%),#0b070a;box-shadow:0 35px 110px rgba(0,0,0,.62)}.service-modal__header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px;border-bottom:1px solid rgba(255,255,255,.07)}.service-modal__header span{color:var(--pink-muted);font-size:8px;font-weight:800;letter-spacing:.16em}.service-modal__header h2{margin:8px 0 0;font-family:"Outfit",sans-serif;font-size:32px;font-weight:500}.service-modal__close{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,176,201,.17);border-radius:14px;color:#fff;background:rgba(255,255,255,.025);font-size:24px;cursor:pointer;transition:background .18s ease,transform .18s ease}.service-modal__close:hover{transform:rotate(5deg);background:rgba(255,176,201,.08)}.service-modal__content{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;padding:28px}.service-example{min-height:480px;padding:30px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:radial-gradient(circle at 70% 30%,rgba(212,32,107,.14),transparent 35%),#080609}.service-example__browser{height:100%;overflow:hidden;border:1px solid rgba(255,176,201,.18);border-radius:20px;background:#10090e;box-shadow:0 28px 70px rgba(0,0,0,.42)}.service-example__bar{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.07)}.service-example__bar>span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.16)}.service-example__bar small{margin-left:auto;color:#746970;font-size:7px;letter-spacing:.13em}.service-example__screen{position:relative;min-height:405px;overflow:hidden;padding:34px;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:36px 36px}.service-example__screen h3{position:relative;z-index:3;max-width:380px;margin:0;font-family:"Outfit",sans-serif;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:.95;letter-spacing:-.05em}.service-example__screen p{position:relative;z-index:3;max-width:370px;margin:20px 0 0;color:#9e949a;font-size:12px;line-height:1.7}.example-shape{position:absolute;right:7%;top:15%;width:42%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,176,201,.5),rgba(212,32,107,.1) 44%,transparent 70%);border:1px solid rgba(255,176,201,.17)}.example-lines{position:absolute;left:34px;bottom:32px;display:grid;gap:9px;width:42%}.example-lines span{height:7px;border-radius:999px;background:rgba(255,255,255,.07)}.example-lines span:first-child{width:75%;background:rgba(255,176,201,.24)}.service-example__screen--commerce .example-shape,.service-example__screen--landing .example-shape{border-radius:20px}.service-example__screen--interface .example-shape,.service-example__screen--application .example-shape,.service-example__screen--frontend .example-shape{border-radius:15px;background:linear-gradient(145deg,rgba(255,176,201,.34),rgba(212,32,107,.04))}.service-example__screen--identity .example-shape,.service-example__screen--guideline .example-shape{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.service-example__screen--stationery .example-shape,.service-example__screen--presentation .example-shape{border-radius:10px;transform:rotate(-5deg);box-shadow:-45px 36px 0 rgba(255,255,255,.035)}.service-example__screen--social .example-shape,.service-example__screen--templates .example-shape,.service-example__screen--campaign .example-shape{border-radius:24px;box-shadow:-70px 42px 0 rgba(255,176,201,.08),-140px 14px 0 rgba(212,32,107,.07)}.service-modal__copy{display:flex;flex-direction:column;justify-content:center}.service-modal__copy>p{margin:0;color:#c9bec4;font-size:15px;line-height:1.8}.service-modal__copy .service-modal__note{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);color:#82777e;font-size:11px}.service-modal__copy>a{display:inline-flex;align-items:center;gap:13px;width:fit-content;margin-top:28px;padding:14px 18px;border-radius:999px;color:#260812;background:linear-gradient(135deg,#ffd3e0,#ffb0c9);font-size:11px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.service-modal__copy>a:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(212,32,107,.3)}body.modal-open{overflow:hidden}@media(max-width:1060px){.services-hero,.services-summary{grid-template-columns:1fr;gap:35px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-modal__content{grid-template-columns:1fr}.service-example{min-height:410px}}@media(max-width:720px){.services-hero{min-height:auto;padding:60px 0 45px}.services-hero h1{font-size:52px;line-height:1.03}.service-filter{margin-inline:0}.services-grid{grid-template-columns:1fr;padding-inline:0}.service-card{min-height:340px}.services-summary{padding:55px 0 25px}.service-modal{padding:8px}.service-modal__dialog{max-height:calc(100vh - 16px);border-radius:21px}.service-modal__header{padding:20px}.service-modal__content{padding:17px}.service-example{min-height:340px;padding:14px}.service-example__screen{min-height:310px}.service-modal__copy>a{width:100%;justify-content:center}}

.service-example__screen--images {
  min-height: 405px;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 45%, rgba(212, 32, 107, 0.08), transparent 45%),
    #080609;
}

.service-image-carousel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  min-height: 370px;
}

.service-image-carousel__viewport {
  width: min(100%, 430px);
  aspect-ratio: 4 / 5;
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(255, 176, 201, 0.16);
  border-radius: 17px;
  background: #030204;
}

.service-image-carousel__track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.service-image-carousel__slide {
  display: grid;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  margin: 0;
  place-items: center;
  overflow: hidden;
}

.service-image-carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.service-image-carousel__controls {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 12px;
  width: min(100%, 430px);
  margin: 12px auto 0;
}

.service-image-carousel__controls button {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 176, 201, 0.2);
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.025);
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.service-image-carousel__controls button:hover {
  transform: scale(1.07);
  border-color: rgba(255, 176, 201, 0.5);
  background: rgba(212, 32, 107, 0.15);
}

.service-image-carousel__controls span {
  color: #9f949b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
}

@media (max-width: 720px) {
  .service-example__screen--images {
    padding: 10px;
  }

  .service-image-carousel {
    min-height: 315px;
  }

  .service-image-carousel__viewport,
  .service-image-carousel__controls {
    width: min(100%, 340px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-image-carousel__track {
    transition: none;
  }
}
