/* Public website only. Portal and native app motion remain unchanged. */
.section-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 8px 24px; }
.section-shortcuts a { padding: 10px 14px; border: 1px solid var(--hairline); border-radius: 10px; color: var(--ink-2); background: var(--surface); font-size: .85rem; font-weight: 650; text-decoration: none; }
.section-shortcuts a:hover { color: var(--accent-text); border-color: var(--accent); }
.website-details { border: 1px solid var(--hairline); border-radius: 18px; background: var(--surface); margin-top: 24px; }
.website-details > summary { padding: 22px 24px; font-weight: 700; color: var(--ink); cursor: pointer; }
.website-details > summary:hover { color: var(--accent-text); }
.website-details-body { padding: 0 24px 24px; }
.website-details-body > .callout { margin-block: 16px; }
.website-details .compare-wrap { overflow-x: auto; }
.partner-showcase .brand-story-copy > p:last-child a { color: #c4d9ff; text-underline-offset: 4px; font-size: .9rem; }
.partner-hero-photo { margin: 0; }
.partner-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 30px 90px 30px 30px; }
.partner-hero-photo figcaption { padding: 18px 0; color: var(--ink-2); font-size: .95rem; }
.partner-hero-photo strong { color: var(--ink); }

/* A slow light sweep, never a moving or scaling hit target. JS runs it only in view. */
.cta-focus { position: relative; overflow: hidden; isolation: isolate; }
.cta-focus::after { content: ''; position: absolute; pointer-events: none; inset: -15% auto -15% 0; width: 38%; background: linear-gradient(110deg, transparent, rgb(255 255 255 / .22), transparent); transform: translateX(-280%) skewX(-16deg); opacity: 0; }
html[data-cta-motion='on'] .cta-focus[data-cta-visible='true']::after { animation: cta-light-pass 8s ease-in-out infinite; }
html[data-cta-motion='on'] .cta-focus:is(:hover, :focus-visible, :active)::after { animation: none; opacity: 0; }
.motion-toggle { font: inherit; color: var(--ink-2); background: transparent; border: 1px solid var(--hairline); border-radius: 8px; min-height: 40px; padding: 8px 12px; cursor: pointer; }
.motion-toggle[hidden] { display: none; }
.motion-toggle:hover { color: var(--accent-text); }
@keyframes cta-light-pass {
  0%, 72% { transform: translateX(-280%) skewX(-16deg); opacity: 0; }
  75% { opacity: 1; }
  92% { transform: translateX(370%) skewX(-16deg); opacity: 1; }
  94%, 100% { transform: translateX(370%) skewX(-16deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-cta-motion] .cta-focus::after { animation: none !important; opacity: 0; }
  .motion-toggle { display: none; }
}
@media (max-width: 600px) {
  .section-shortcuts { gap: 7px; }
  .section-shortcuts a { font-size: .78rem; padding: 10px; }
  .website-details > summary { padding: 18px; }
  .website-details-body { padding: 0 18px 18px; }
}

/* The 14-day guarantee banner and its artwork. Moved here from partner-plans.css on
   3 Oct 2026 so the homepage can show the same banner as /partners.html. */
.plan-guarantee {
  position: relative; overflow: hidden; border: 1px solid #416499; border-radius: 26px;
  margin-bottom: 36px; padding: 34px; color: #f7faff; background-color: #0b1933;
  background-image: linear-gradient(90deg, rgb(6 18 40 / .15), rgb(6 18 40 / .08)), url('../img/partner-guarantee-art.webp');
  background-size: cover; background-position: center;
  box-shadow: 0 14px 32px rgb(10 34 76 / .12);
}
.plan-guarantee-copy { max-width: 70%; }
.plan-guarantee-label { display: inline-block; font-size: .74rem; font-weight: 750; letter-spacing: .025em; padding: 6px 10px; border: 1px solid #5478ad; background: #153c75; border-radius: 6px; color: #e1edff; margin: 0 0 16px; }
.plan-guarantee h2, .plan-guarantee h3 { font-size: clamp(1.65rem, 3.3vw, 2.6rem); line-height: 1.13; letter-spacing: -.035em; margin: 0 0 16px; text-wrap: balance; color: #fff; }
.plan-guarantee h2 span, .plan-guarantee h3 span { color: #adcaff; }
.plan-guarantee-copy > p:not(.plan-guarantee-label) { color: #d2dff2; font-size: .9rem; max-width: 60ch; }
.plan-guarantee-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
.plan-guarantee-actions .btn { background: #f5f9ff; color: #123c81; border: 1px solid #e8f0ff; border-radius: 12px; font-size: .87rem; min-height: 48px; box-shadow: 0 3px 0 #8cabd7; }
.plan-guarantee-actions .btn:hover { background: #dceaff; }
.plan-guarantee-actions > a:not(.btn) { color: #d7e6ff; font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; }
.plan-guarantee .plan-guarantee-note { font-size: .72rem !important; margin: 16px 0 0; }
.plan-guarantee a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.plan-guarantee--home { margin: 28px 0 0; }
@media (max-width: 600px) {
  .plan-guarantee { padding: 25px 22px; background-position: 75% center; background-image: linear-gradient(90deg, rgb(6 18 40 / .96), rgb(6 18 40 / .78)), url('../img/partner-guarantee-art.webp'); }
  .plan-guarantee-copy { max-width: none; }
  .plan-guarantee h2, .plan-guarantee h3 { font-size: 1.8rem; }
}
