@font-face {
  font-family: Outfit;
  src: url('assets/outfit.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}

/* Presentation layer only: the original page content and section layout remain. */
body { font-family: Outfit, Arial, sans-serif; font-size: 17px; }
body * { letter-spacing: 0 !important; }
html { scroll-padding-top: 90px; }
a:focus-visible, summary:focus-visible {
  outline: 3px solid #fa8e35;
  outline-offset: 5px;
}
.logo, .footer-logo { font-family: Outfit, Arial, sans-serif; font-weight: 650; }
.logo { position: relative; }
.logo-sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(110deg,transparent 42%,#ffffffd9 49%,transparent 56%);
  background-size: 300% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  animation: logo-sheen 9s ease-in-out infinite;
}
@keyframes logo-sheen {
  0%, 72% { background-position: 100% 0; }
  92%, 100% { background-position: 0% 0; }
}
body > nav { background: rgba(15,31,61,.96); }
.hero {
  background: #0f1f3d url('assets/hero-studio.jpg') center center / cover no-repeat;
  padding-top: 3.5rem;
}
.hero::before, .hero-glow-ring { display: none; }
.hero > div:last-child {
  width: calc(100% + 3rem);
  margin-inline: -1.5rem !important;
}
.file-transfer { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.screen-reveals { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.motion-paused .file-flight { animation-play-state: paused; }
.file-flight {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: transfer-file 18s linear infinite;
}
.file-flight:nth-child(2) { animation-delay: -6s; }
.file-flight:nth-child(3) { animation-delay: -12s; }
.flying-file {
  position: absolute;
  left: 15%;
  top: 61%;
  width: 36px;
  height: 47px;
  border-radius: 3px;
  background: #d9e9fa;
  clip-path: polygon(0 0, 72% 0, 100% 22%, 100% 100%, 0 100%);
  transform: rotate(-8deg);
}
.flying-file::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 10px;
  height: 11px;
  background: #8eb0d6;
}
.flying-file::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 20px;
  width: 20px;
  height: 2px;
  background: #7b9fc9;
  box-shadow: 0 6px 0 #7b9fc9, 0 12px 0 #7b9fc9;
}
@keyframes transfer-file {
  0%, 5% { transform: translate3d(0,0,0); opacity: 0; }
  12% { transform: translate3d(4%,-3%,0); opacity: .45; }
  45% { transform: translate3d(30%,-14%,0); opacity: .35; }
  78% { transform: translate3d(calc(var(--landing-x,69%) * .88),var(--landing-y,-7%),0); opacity: .35; }
  88% { transform: translate3d(var(--landing-x,69%),var(--landing-y,-7%),0); opacity: 0; }
  100% { transform: translate3d(var(--landing-x,69%),var(--landing-y,-7%),0); opacity: 0; }
}
.noise::after { display: none; }
.hero h1 {
  font-size: 54px;
  font-weight: 600;
  line-height: 1.14;
  max-width: 850px;
  text-wrap: balance;
}
.hero h1 .grad {
  background: none;
  color: #7db9ff;
  -webkit-text-fill-color: currentColor;
}
.hero-sub { font-size: 21px; font-weight: 500; }
.hero-sub-2 { color: #d1dceb; font-size: 17px; margin-bottom: 1.8rem; }
.buy-box, .buy-box-cta {
  border-radius: 8px;
  background: rgba(15,31,61,.88);
  border-color: #ffffff26;
  box-shadow: 0 12px 32px #00000026, inset 0 1px 0 #ffffff12;
  padding: 1.6rem 1.75rem;
}
.buy-steps {
  background: none;
  border: 0;
  border-top: 1px solid #ffffff20;
  border-radius: 0;
  padding: .85rem 0 0;
  color: #c4d0e2;
  font-size: 14px;
}
.buy-box-label { color: #e0e7f2; font-weight: 400; }
.stripe-badges { color: #b3c2d8; }
.trust { color: #c5d2e4; gap: 1.3rem; }
.nav-cta, .buy-btn, .plan-buy-btn {
  border: 1px solid #1b61da;
  border-radius: 7px;
  background: linear-gradient(180deg,#317ef0,#1a56db);
  box-shadow: inset 0 1px 0 #ffffff48,0 2px 3px #00000015,0 6px 16px #1a56db30;
  font-weight: 550;
  transition: transform .18s, box-shadow .18s;
  min-height: 44px;
}
.nav-cta:hover, .buy-btn:hover, .plan-buy-btn:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 #ffffff55,0 8px 20px #00000025;
}
.nav-cta:hover { background: linear-gradient(180deg,#317ef0,#1a56db); }
.nav-cta:active, .buy-btn:active, .plan-buy-btn:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px #00000025;
}
.section h2 { font-size: 38px; font-weight: 600; text-wrap: balance; }
.section-intro { font-size: 18px; color: #586577; }
.section-label {
  background: none;
  border-radius: 0;
  padding: 0 0 0 12px;
  border-left: 3px solid #e87629;
  font-size: 13px;
  font-weight: 500;
}
.pain-list li { border-radius: 7px; border-left-width: 3px; box-shadow: 0 3px 10px #0f1f3d05; }
.step-content h3 { font-size: 19px; font-weight: 550; }
.step-content p { font-size: 16px; }
.step-num { font-weight: 550; box-shadow: 0 0 0 5px #eff6ff,0 3px 8px #1a56db25; }
.info-box, .what-box { border-radius: 7px; }
.info-box-header h3, .what-box-header h3 { font-size: 18px; font-weight: 550; }
.info-box-header { align-items: flex-start; }
.info-box-header svg { flex-shrink: 0; margin-top: 4px; }
details.faq-item { border-radius: 7px; }
details.faq-item summary { font-size: 17px; font-weight: 500; }
.faq-body { font-size: 16px; padding-top: 1rem; }
.pricing-shimmer { display: none; }
.plan { border-radius: 8px; border: 1px solid #2d466d; box-shadow: 0 12px 32px #0f1f3d20; }
.plan-badge { border-radius: 4px; font-weight: 500; }
.plan h3 { font-weight: 550; }
.price { font-size: 64px; font-weight: 600; }
.plan-desc, .price-sub { color: #c3cfe0; }
.plan ul { font-size: 16px; }
.onetime { background: none; border: 0; border-radius: 0; }
.onetime a, .faq-body a[href^='mailto:'] {
  display: inline-block;
  border: 1px solid #ccdaeb;
  border-radius: 6px;
  background: #fff;
  padding: 5px 10px;
  margin: 5px 0;
  box-shadow: 0 2px 6px #0f1f3d0c;
  text-decoration: none;
}
.cta-bottom h2 { font-size: 40px; font-weight: 600; }
.cta-bottom::before { display: none; }
.footer-links { position: static; padding: 0; background: none; backdrop-filter: none; border: 0; }
.footer-links a { color: #1a56db; min-height: 44px; display: inline-flex; align-items: center; }
.footer-links a:hover { color: #1446b8; }
.code-block code { white-space: normal; overflow-wrap: anywhere; }
@media(max-width:700px) {
  .file-transfer, .screen-reveals { display: none; }
  .hero { background-position: center; }
  .hero h1 { font-size: 38px; }
  .hero-sub { font-size: 19px; }
  .section h2 { font-size: 32px; }
  .cta-bottom h2 { font-size: 34px; }
  .what-box > div:nth-child(2) { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}
@media(max-width:480px) {
  .hero > div:last-child { width: calc(100% + 2rem); margin-inline: -1rem !important; }
  .hero { padding-top: 2.5rem; background-size: 100% auto; background-position: center bottom; }
  .hero h1 { font-size: 34px; }
  .buy-box, .buy-box-cta { padding: 1.3rem 1.1rem; }
  .buy-btn, .plan-buy-btn { padding: 1rem .75rem; font-size: 16px; }
  .info-box, .what-box { padding: 1.2rem; }
  .section h2 { font-size: 29px; }
  .plan { padding: 2rem 1.25rem; }
  .trust { gap: .8rem; padding: 1.5rem 0; }
}
@media(prefers-reduced-motion:reduce) {
  .file-transfer, .screen-reveals { display: none; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .nav-cta:hover, .buy-btn:hover, .plan-buy-btn:hover, .pain-list li:hover { transform: none; }
}
