:root {
  --pink-dark: #c91870;
  --soft-pink: #fff4f9;
  --soft-blue: #eef5ff;
}

html { scroll-padding-top: 18px; }
.option-one-page { overflow-x: hidden; background: #fff; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 14px; border-radius: 8px; background: #fff; color: var(--navy); font-weight: 700; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.option-one-page a:focus-visible,
.option-one-page summary:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; box-shadow: 0 0 0 3px var(--navy); }

.option-one-page .launch { min-height: 760px; background: radial-gradient(circle at 12% 14%,rgba(255,85,170,.4),transparent 24%),radial-gradient(circle at 89% 72%,rgba(255,85,170,.34),transparent 29%),linear-gradient(125deg,#06184d 0%,#0753a4 61%,#0871c4 100%); }
.option-one-page .launch::after { right: -180px; bottom: -310px; width: 720px; height: 720px; border-color: rgba(255,85,170,.26); }
.option-one-page .brand-nav { min-height: 90px; }
.brand-wordmark { width: 154px; height: auto; }
.site-nav { gap: 24px; }
.site-nav a { transition: color .18s ease, background .18s ease, transform .18s ease; }
.site-nav a:hover { color: #fff; }
.option-one-page .hero-grid { min-height: 650px; padding-top: 42px; padding-bottom: 72px; }
.option-one-page .hero-copy { max-width: 650px; }
.option-one-page .hero-copy h1 { font-size: clamp(3.75rem,6.6vw,6.8rem); }
.option-one-page .hero-copy .lead { max-width: 625px; }
.option-one-page .eyebrow { color: var(--green); }
.hero-notes { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 23px 0 0; padding: 0; color: rgba(255,255,255,.78); font-size: .76rem; list-style: none; }
.hero-notes li { display: flex; align-items: center; gap: 7px; }
.hero-notes li::before { width: 7px; height: 7px; border-radius: 50%; background: var(--green); content: ""; }
.hero-mix { min-height: 550px; }
.hero-mix .piggy-main { bottom: -4%; width: 94%; }
.hero-mix .iso-disc { top: 2%; left: -3%; width: 140px; height: 140px; }
.hero-mix .iso-disc img { width: 96px; }
.launch .actions a { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.launch .actions a:hover { transform: translateY(-2px); }
.launch .web-button:hover { background: #fff; color: var(--navy); }

.pink-ribbon { color: var(--navy); }
.ribbon-copy { font-size: clamp(1.08rem,2vw,1.45rem); }
.ribbon-copy i { background: var(--navy); }

.option-one-page .section { padding: clamp(82px,9vw,118px) 0; }
.option-one-page .section-kicker { color: var(--pink-dark); }
.option-one-page .section h2 { max-width: 780px; }

.app-section { background: radial-gradient(circle at 90% 10%,rgba(255,85,170,.28),transparent 27%),linear-gradient(135deg,#06184d,#063b88); }
.app-grid { grid-template-columns: 1.08fr .92fr; gap: clamp(42px,6vw,72px); }
.campaign-crop { min-height: 460px; }
.campaign-crop picture { display: block; width: 100%; height: 100%; }
.campaign-crop img { width: 100%; height: 460px; object-fit: cover; object-position: center; }
.app-copy .section-kicker { color: var(--green); }
.app-copy .section-lead { font-size: 1rem; }
.intelligence-section { background: var(--soft-pink); }
.intelligence-section .process-step { border-color: #f3d4e3; box-shadow: 0 12px 35px rgba(35,24,72,.05); }
.intelligence-section .process-step:nth-child(2) { background: var(--pink-dark); color: #fff; }
.intelligence-section .process-step:nth-child(2) strong { color: var(--green); }
.intelligence-section .process-step:nth-child(2) p { color: rgba(255,255,255,.86); }
.process-step h3 { line-height: 1.12; }

.contribution-section { background: #fff; }
.share-callout { grid-template-columns: minmax(170px,230px) minmax(0,1fr); gap: clamp(26px,5vw,60px); margin: 0; padding: clamp(30px,5vw,56px); border: 0; background: linear-gradient(120deg,#06184d,#083984); color: #fff; box-shadow: 0 20px 48px rgba(6,24,77,.18); }
.share-art { align-self: center; }
.share-art img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 24px rgba(0,0,0,.2)); }
.share-callout .section-kicker { color: var(--green); }
.share-callout h3 { color: #fff; }
.share-callout .share-copy p:last-child { color: rgba(255,255,255,.78); }
.share-channels { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.share-channels span { display: grid; gap: 2px; min-width: 170px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.76); font-size: .76rem; }
.share-channels strong { color: #fff; font-size: .83rem; }

.trust-section { color: #fff; background: radial-gradient(circle at 10% 90%,rgba(255,85,170,.25),transparent 26%),linear-gradient(140deg,#020b27,#06184d 68%,#082d6f); }
.trust-heading { max-width: 820px; }
.trust-section .section-kicker { color: var(--green); }
.trust-section h2 { color: #fff; }
.trust-section .section-lead { color: rgba(255,255,255,.75); }
.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 48px; }
.trust-grid article { min-height: 250px; padding: 27px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(255,255,255,.07); }
.trust-grid article > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--pink); color: var(--navy); font-size: 1.2rem; font-weight: 700; }
.trust-grid h3 { margin: 40px 0 10px; color: #fff; font-size: 1.18rem; line-height: 1.2; }
.trust-grid p { margin: 0; color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.6; }

.faq-section { background: var(--soft-blue); }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px,8vw,100px); align-items: start; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { overflow: hidden; border: 1px solid #dce7f6; border-radius: 17px; background: #fff; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; color: var(--navy); font-family: Poppins,Arial,sans-serif; font-size: 1.08rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { flex: 0 0 auto; color: var(--pink-dark); content: "+"; font-family: Poppins,Arial,sans-serif; font-size: 1.45rem; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 22px 22px; color: #5c6781; font-size: .91rem; line-height: 1.65; }

.final-cta { color: var(--navy); background: var(--pink); }
.final-cta h2 { color: var(--navy); }
.final-cta p { color: rgba(6,24,77,.78); }
.final-cta .web-button,.final-cta .soon { color: var(--navy); }
.final-cta .web-button:hover { background: var(--navy); color: #fff; }
.final-cta .soon { border-color: rgba(6,24,77,.58); opacity: 1; }
.final-cta::before { border-color: rgba(6,24,77,.15); }

.site-footer { padding: 36px 0; }
.footer-brand { display: flex; align-items: center; gap: 18px; }
.footer-brand .brand-wordmark { width: 122px; }
.footer-links { justify-content: flex-end; }
.footer-links a { transition: color .18s ease; }
.mobile-cta { display: none; }

@media (max-width: 1040px) {
  .trust-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 10px; }
  .option-one-page { padding-bottom: 72px; }
  .site-nav { display: none; }
  .option-one-page .launch { min-height: auto; }
  .option-one-page .brand-nav { min-height: 72px; }
  .option-one-page .hero-grid { min-height: auto; padding-top: 58px; padding-bottom: 28px; }
  .option-one-page .hero-copy { max-width: none; }
  .option-one-page .hero-copy h1 { font-size: clamp(3.35rem,13vw,5.4rem); }
  .hero-notes { justify-content: center; }
  .hero-mix { min-height: 420px; }
  .hero-mix .piggy-main { right: 3%; width: 84%; }
  .option-one-page .section { padding: 68px 0; }
  .app-grid { grid-template-columns: 1fr; gap: 45px; }
  .app-copy { text-align: center; }
  .app-copy .section-lead { margin-right: auto; margin-left: auto; }
  .check-list { width: min(100%,540px); margin-right: auto; margin-left: auto; text-align: left; }
  .share-callout { grid-template-columns: 1fr; padding: 30px 26px; text-align: center; }
  .share-art { width: min(230px,70vw); margin: 0 auto; }
  .share-channels { justify-content: center; }
  .trust-heading { text-align: center; }
  .trust-heading .section-lead { margin-right: auto; margin-left: auto; }
  .faq-grid { grid-template-columns: 1fr; gap: 38px; }
  .faq-grid > div:first-child { text-align: center; }
  .faq-grid .section-lead { margin-right: auto; margin-left: auto; }
  .footer-brand { flex-direction: column; }
  .footer-links { justify-content: center; }
  .mobile-cta { position: fixed; right: 0; bottom: 0; left: 0; z-index: 80; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top: 1px solid #e5e9f2; background: rgba(255,255,255,.97); box-shadow: 0 -8px 24px rgba(6,24,77,.12); backdrop-filter: blur(12px); }
  .mobile-cta a { display: flex; min-height: 48px; align-items: center; justify-content: center; border-radius: 12px; font-size: .78rem; font-weight: 700; }
  .mobile-store { background: #050505; color: #fff; }
  .mobile-store-icon { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; margin-right: 7px; fill: currentColor; }
}

@media (max-width: 600px) {
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid article { min-height: 0; }
  .trust-grid h3 { margin-top: 26px; }
  .campaign-crop,.campaign-crop img { min-height: 290px; height: 290px; }
  .campaign-crop img { width: 100%; }
}

@media (max-width: 480px) {
  .brand-wordmark { width: 116px; }
  .option-one-page .hero-grid { padding-top: 44px; }
  .option-one-page .hero-copy h1 { font-size: clamp(3.1rem,16vw,4.3rem); }
  .option-one-page .hero-copy .lead { font-size: .96rem; }
  .hero-notes { align-items: center; flex-direction: column; gap: 7px; }
  .hero-mix { min-height: 340px; }
  .hero-mix .iso-disc { width: 94px; height: 94px; }
  .hero-mix .iso-disc img { width: 64px; }
  .ribbon-copy { gap: 10px 14px; }
  .ribbon-copy i { width: 6px; height: 6px; }
  .option-one-page .section { padding: 58px 0; }
  .campaign-crop,.campaign-crop img { min-height: 260px; height: 260px; }
  .faq-list summary { padding: 18px; font-size: 1rem; }
  .faq-list details p { padding: 0 18px 19px; }
  .final-cta { padding: 65px 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
