/* Global typography, spacing and component sizing system. */
:root {
  --type-hero: 3rem;
  --type-page: 2.5rem;
  --type-section: 2rem;
  --type-subsection: 1.5rem;
  --type-card: 1.25rem;
  --type-small-heading: 1.125rem;
  --type-body: 1rem;
  --type-secondary: .875rem;
  --type-caption: .75rem;
  --type-button: 1rem;
  --leading-tight: 1.15;
  --leading-heading: 1.25;
  --leading-body: 1.6;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --content-width: 63.125rem;
  --control-height: 2.75rem;
  --control-radius: 1.375rem;
  --card-radius: .5rem;
  --card-padding: var(--space-6);
  --card-shadow: 0 .25rem 1rem rgba(45, 8, 109, .06);
}

html { font-size: 100%; }
body { font-size: var(--type-body); line-height: var(--leading-body); }
h1, h2, h3, h4, h5, p, ul, blockquote { margin-top: 0; }
h1 { font-size: var(--type-page); line-height: var(--leading-tight); }
h2, .section h2, .plans-table h2 { font-size: var(--type-section); line-height: var(--leading-heading); margin-bottom: var(--space-3); }
h3 { font-size: var(--type-subsection); line-height: var(--leading-heading); }
h4 { font-size: var(--type-card); line-height: var(--leading-heading); }
h5 { font-size: var(--type-small-heading); line-height: var(--leading-heading); }
p, li, blockquote { font-size: var(--type-body); line-height: var(--leading-body); }
small, .eyebrow, .micro { font-size: var(--type-caption); line-height: var(--leading-heading); }
.lead, .testimonial blockquote, .footer-grid p, .footer-grid a { font-size: var(--type-secondary); }

.topbar { height: var(--space-16); padding-inline: var(--space-8); }
.topbar nav { gap: var(--space-8); }
.topbar nav a { font-size: var(--type-secondary); }
.brand { font-size: var(--type-small-heading); }
.brand span, .brand small { font-size: var(--type-caption); }

.outline-btn, .cta, .offer-price a, .plan-card a, .more button {
  min-height: var(--control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-6);
  border-radius: var(--control-radius);
  font-size: var(--type-button);
  line-height: 1;
}

.hero h1 { font-size: var(--type-hero); line-height: var(--leading-tight); margin-bottom: var(--space-4); }
.hero ul { margin-bottom: var(--space-2); }
.hero li { margin-bottom: var(--space-2); }
.price { font-size: var(--type-subsection); line-height: var(--leading-heading); }
.cta { margin-top: var(--space-3); }
.micro { margin-top: var(--space-3); }

.countdown { gap: var(--space-12); padding-inline: var(--space-8); }
.countdown strong { font-size: var(--type-small-heading); }
.countdown span { font-size: var(--type-body); }
.timer b { font-size: var(--type-section); }
.timer small { font-size: var(--type-caption); }

.section { max-width: var(--content-width); padding: var(--space-16) var(--space-8); }
.lead { margin-bottom: var(--space-12); }
.features { gap: var(--space-8); }
.features article { gap: var(--space-3); }
.features h3 { font-size: var(--type-small-heading); margin-bottom: var(--space-2); }
.features p { font-size: var(--type-secondary); }
.features i { line-height: 1; }

.experience { gap: var(--space-12); }
.experience-copy h2 { font-size: var(--type-section); margin-bottom: var(--space-4); }
.experience-copy p { font-size: var(--type-body); margin-bottom: var(--space-4); }
.experience-copy a { font-size: var(--type-secondary); }
.photo-stack div { padding: var(--space-6); font-size: var(--type-caption); }

.plans-table { padding: var(--space-16) max(calc((100% - var(--content-width))/2), var(--space-8)); }
.plans-table h2 { margin-bottom: var(--space-8); }
.offer-row > div { padding: var(--card-padding); }
.offer-row small { font-size: var(--type-caption); }
.offer-row h3 { font-size: var(--type-card); margin: var(--space-2) 0 var(--space-3); }
.offer-row p { font-size: var(--type-secondary); }
.devices span { font-size: var(--type-caption); margin-top: var(--space-3); }
.offer-price b { font-size: var(--type-subsection); }
.offer-price small { margin: var(--space-2); }

.testimonial h2 { margin-bottom: var(--space-4); }
.testimonial blockquote { margin: var(--space-4) auto var(--space-2); }
.testimonial strong, .testimonial small { font-size: var(--type-caption); }

.compare { padding-inline: max(calc((100% - var(--content-width))/2), var(--space-8)); }
.compare .lead { margin-bottom: var(--space-6); }
.cards { gap: var(--space-4); }
.plan-card { border-radius: var(--card-radius); padding: var(--card-padding); box-shadow: var(--card-shadow); }
.plan-card h3 { font-size: var(--type-card); margin-bottom: var(--space-2); }
.plan-card .big { font-size: var(--type-section); }
.plan-card ul { font-size: var(--type-secondary); margin-block: var(--space-4); }
.plan-card li { font-size: var(--type-secondary); }
.plan-card a { margin-top: var(--space-4); }

.faq-copy { padding: var(--space-12); }
.faq-copy h2 { font-size: var(--type-section); margin: var(--space-2) 0 var(--space-4); }
.faq details { padding: var(--space-3) 0; font-size: var(--type-secondary); }
.faq details[open] { padding: var(--space-4); margin-bottom: var(--space-2); border-radius: var(--card-radius); }
.faq summary { font-size: var(--type-secondary); }
.faq p { font-size: var(--type-secondary); margin: var(--space-3) 0 0; }

.steps { gap: var(--space-16); margin-top: var(--space-12); }
.steps h3 { font-size: var(--type-small-heading); margin: var(--space-3) 0 var(--space-2); }
.steps p { font-size: var(--type-secondary); }
.stats { padding: var(--space-12) max(calc((100% - var(--content-width))/2), var(--space-8)); }
.stats b { font-size: var(--type-subsection); }
.stats span { font-size: var(--type-secondary); }

.footer-grid { max-width: var(--content-width); gap: var(--space-8); padding: var(--space-12) var(--space-8); }
.footer-grid h3 { font-size: var(--type-small-heading); margin-bottom: var(--space-2); }
.footer-grid > div:not(:first-child) { gap: var(--space-2); }
.copyright { padding: var(--space-3); font-size: var(--type-caption); }

input, select, textarea {
  min-height: var(--control-height);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--card-radius);
  font: inherit;
  font-size: var(--type-body);
}
label { font-size: var(--type-secondary); }
table, th, td { font-size: var(--type-secondary); }
th, td { padding: var(--space-3) var(--space-4); }

@media (max-width: 900px) {
  :root {
    --type-hero: 2.5rem;
    --type-page: 2.25rem;
    --type-section: 1.75rem;
    --type-subsection: 1.375rem;
    --type-card: 1.125rem;
    --type-small-heading: 1rem;
    --space-16: 3rem;
  }
}

@media (max-width: 700px) {
  :root {
    --type-hero: 2.25rem;
    --type-page: 2rem;
    --type-section: 1.625rem;
    --type-subsection: 1.25rem;
    --type-card: 1.125rem;
    --type-small-heading: 1rem;
    --space-12: 2rem;
    --space-16: 3rem;
  }
  .topbar { height: var(--space-16); padding-inline: var(--space-4); }
  .topbar nav { gap: var(--space-3); }
  .hero { min-height: 32rem; height: auto; }
  .hero-copy { left: 42%; top: var(--space-12); width: 55%; }
  .countdown { min-height: 8rem; height: auto; gap: var(--space-4); padding: var(--space-4); }
  .section { padding: var(--space-12) var(--space-4); }
  .features { grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
  .experience { gap: var(--space-6); }
  .photo-stack { min-height: 18rem; height: auto; }
  .plans-table { padding: var(--space-12) var(--space-4); }
  .offer-row { min-height: 12rem; }
  .offer-row > div { padding: var(--space-4); }
  .compare { padding-inline: var(--space-4); }
  .cards { overflow-x: auto; padding-bottom: var(--space-2); }
  .plan-card { min-width: 15rem; }
  .faq { min-height: 28rem; }
  .faq-copy { padding: var(--space-6); }
  .steps { gap: var(--space-6); }
  .stats { padding: var(--space-8) var(--space-4); }
  .footer-grid { padding: var(--space-8) var(--space-4); gap: var(--space-6); }
}

/* Fluid page layout ------------------------------------------------------- */
:root {
  --content-width: 87.5rem;
  --page-gutter: clamp(2rem, 3vw, 3rem);
  --section-space: clamp(4.5rem, 5vw, 6rem);
  --layout-gap: clamp(1.5rem, 2.25vw, 2rem);
}

body { overflow-x: hidden; }
.topbar,
.section,
.footer-grid {
  width: min(94%, var(--content-width));
  max-width: var(--content-width);
  margin-inline: auto;
}

.topbar { padding-inline: var(--page-gutter); }
.section { padding: var(--section-space) var(--page-gutter); }
.plans-table,
.compare {
  width: 100%;
  padding: var(--section-space) max(var(--page-gutter), calc((100% - var(--content-width)) / 2));
}

.why { padding-bottom: calc(var(--section-space) * .8); }
.features {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--layout-gap);
  width: 100%;
}
.features article {
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-4);
}
.features article > div { min-width: 0; }

.experience {
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  gap: var(--layout-gap);
  align-items: center;
  padding-top: calc(var(--section-space) * .7);
  padding-bottom: var(--section-space);
}
.experience-copy { max-width: 38rem; }
.photo-stack {
  width: 100%;
  min-height: 29rem;
  height: clamp(29rem, 35vw, 36rem);
}
.photo-stack img:first-child {
  width: 100%;
  height: 78%;
  object-fit: cover;
  border-radius: var(--card-radius);
}
.photo-stack img:nth-child(2) {
  left: -4%;
  bottom: 0;
  width: 42%;
  height: 38%;
  object-fit: cover;
  border-radius: var(--card-radius);
}
.photo-stack div { right: 3%; bottom: 0; width: 55%; }

.plans-table h2 { margin-bottom: var(--space-8); }
.offer-row {
  width: 100%;
  grid-template-columns: minmax(0, 1.8fr) minmax(16rem, 1fr) minmax(13rem, .7fr);
  min-height: 12rem;
}

.testimonial { padding-block: var(--section-space); }
.testimonial blockquote { max-width: 65rem; }

.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(18.75rem, 1fr));
  gap: clamp(1.5rem, 2vw, 2rem);
  align-items: stretch;
  overflow: visible;
}
.plan-card {
  min-width: 0;
  min-height: 32.5rem;
  display: flex;
  flex-direction: column;
  padding: clamp(2rem, 2.5vw, 2.5rem);
  border: 1px solid rgba(48, 16, 111, .12);
  border-radius: var(--space-3);
  box-shadow: 0 .75rem 2rem rgba(45, 8, 109, .09);
}
.plan-card:nth-child(2) {
  border: 2px solid var(--magenta);
  box-shadow: 0 1rem 2.5rem rgba(45, 8, 109, .16);
  position: relative;
  transform: translateY(calc(var(--space-2) * -1));
}
.plan-card h3 { font-size: clamp(1.375rem, 1.5vw, 1.625rem); }
.plan-card .big {
  display: inline-block;
  margin-block: var(--space-3);
  font-size: clamp(2.75rem, 3.2vw, 3.5rem);
  line-height: 1;
}
.plan-card ul {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block: var(--space-6);
}
.plan-card li { font-size: clamp(1rem, 1.05vw, 1.125rem); }
.plan-card a {
  width: 100%;
  min-height: 3.25rem;
  margin-top: auto;
  font-size: clamp(1rem, 1.05vw, 1.125rem);
}

.faq {
  width: 100%;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
}
.faq-copy { padding: clamp(3rem, 5vw, 6rem); }
.process { padding-block: var(--section-space); }
.steps { gap: clamp(2rem, 6vw, 6rem); }
.stats { padding: var(--space-12) max(var(--page-gutter), calc((100% - var(--content-width)) / 2)); }
.more { padding-block: var(--section-space); }
.footer-grid { padding: var(--space-12) var(--page-gutter); }

@media (max-width: 1024px) {
  :root {
    --page-gutter: 1.5rem;
    --section-space: clamp(3.5rem, 6vw, 4.5rem);
  }
  .topbar, .section, .footer-grid { width: 100%; }
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); }
  .photo-stack { height: 27rem; min-height: 27rem; }
  .cards { grid-template-columns: repeat(2, minmax(18.75rem, 1fr)); }
  .plan-card:nth-child(2) { transform: none; }
  .plan-card:last-child { grid-column: 1 / -1; width: min(100%, 38rem); justify-self: center; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .hero-copy { left: 46%; width: 50%; }
  .experience { grid-template-columns: 1fr; }
  .experience-copy { max-width: none; }
  .photo-stack { min-height: 26rem; height: 26rem; }
  .offer-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(10rem, 1fr);
  }
  .offer-row .offer-price { grid-column: 1 / -1; border-top: 1px solid #eee; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-card { min-height: 32.5rem; }
  .faq { grid-template-columns: 1fr; }
  .faq-photo { min-height: 20rem; }
}

@media (max-width: 600px) {
  :root {
    --page-gutter: 1rem;
    --section-space: clamp(2.5rem, 11vw, 3.5rem);
  }
  .topbar { padding-inline: var(--page-gutter); }
  .topbar nav { display: none; }
  .hero { min-height: 34rem; background-position: 42% center; }
  .hero-copy { left: auto; right: var(--page-gutter); width: min(68%, 22rem); }
  .countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
  .countdown > div:first-child { grid-column: 1 / -1; text-align: center; }
  .features { grid-template-columns: 1fr; }
  .experience { padding-top: var(--section-space); }
  .photo-stack { min-height: 23rem; height: 23rem; }
  .photo-stack img:first-child { height: 72%; }
  .photo-stack img:nth-child(2) { left: 0; width: 45%; height: 36%; }
  .photo-stack div { right: 0; width: 58%; }
  .offer-row { display: grid; grid-template-columns: 1fr; }
  .offer-row .offer-price { grid-column: auto; }
  .cards { grid-template-columns: 1fr; gap: var(--space-6); }
  .plan-card,
  .plan-card:last-child { width: 100%; min-height: 32.5rem; grid-column: auto; }
  .steps { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, 1fr); gap: var(--space-8); }
  .footer-grid { grid-template-columns: 1fr; }
}

/* Motion system ---------------------------------------------------------- */
:root {
  --motion-fast: 180ms;
  --motion-base: 420ms;
  --motion-slow: 700ms;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
}

@keyframes hero-enter {
  from { opacity: 0; transform: translateY(1.5rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes soft-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(184, 217, 0, .25); }
  50% { box-shadow: 0 0 0 .5rem rgba(184, 217, 0, 0); }
}
@keyframes timer-tick {
  0% { transform: translateY(-.2rem); opacity: .55; }
  100% { transform: translateY(0); opacity: 1; }
}

.hero-copy > * {
  opacity: 0;
  animation: hero-enter var(--motion-slow) var(--motion-ease) forwards;
}
.hero-copy > :nth-child(1) { animation-delay: 100ms; }
.hero-copy > :nth-child(2) { animation-delay: 180ms; }
.hero-copy > :nth-child(3) { animation-delay: 260ms; }
.hero-copy > :nth-child(4) { animation-delay: 340ms; }
.hero-copy > :nth-child(5) { animation-delay: 420ms; }
.hero-copy > :nth-child(6) { animation-delay: 500ms; }
.hero .cta { animation-name: hero-enter, soft-pulse; animation-duration: var(--motion-slow), 2.4s; animation-delay: 420ms, 1.5s; animation-timing-function: var(--motion-ease), ease-out; animation-fill-mode: forwards; animation-iteration-count: 1, infinite; }

.reveal {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity var(--motion-slow) var(--motion-ease), transform var(--motion-slow) var(--motion-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal.reveal-left { transform: translateX(-2rem); }
.reveal.reveal-right { transform: translateX(2rem); }
.reveal.is-visible { opacity: 1; transform: translate(0, 0); }

.features article,
.offer-row,
.plan-card,
.steps article,
.stats > div {
  transition: transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), border-color var(--motion-fast) ease;
}
.features article:hover { transform: translateY(-.35rem); }
.offer-row:hover { transform: translateY(-.25rem); box-shadow: 0 .75rem 2rem rgba(45, 8, 109, .08); position: relative; z-index: 1; }
.plan-card:hover { transform: translateY(-.5rem); box-shadow: 0 1.25rem 3rem rgba(45, 8, 109, .15); }
.plan-card:nth-child(2):hover { transform: translateY(calc((var(--space-2) + .5rem) * -1)); }
.steps article:hover { transform: translateY(-.35rem); }
.steps article:hover b { transform: scale(1.08) rotate(4deg); }
.steps b { transition: transform var(--motion-base) var(--motion-ease); }
.stats > div:hover { transform: scale(1.04); }

.photo-stack img,
.testimonial img,
.faq-photo {
  transition: transform var(--motion-slow) var(--motion-ease), filter var(--motion-base) ease;
}
.photo-stack:hover img:first-child { transform: scale(1.015); filter: saturate(1.06); }
.photo-stack:hover img:nth-child(2) { transform: translateY(-.35rem) rotate(-1deg); }
.testimonial img:hover { transform: scale(1.12); }

.topbar a { position: relative; }
.topbar nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -.35rem;
  height: 2px;
  background: var(--magenta);
  transition: right var(--motion-base) var(--motion-ease);
}
.topbar nav a:hover::after { right: 0; }
.outline-btn:hover,
.cta:hover,
.offer-price a:hover,
.plan-card a:hover,
.more button:hover { transform: translateY(-2px); filter: brightness(1.04); }

.faq details { transition: background-color var(--motion-base) ease, border-color var(--motion-base) ease; }
.faq details[open] { background: rgba(255,255,255,.04); }
.faq details p { animation: hero-enter var(--motion-base) var(--motion-ease); }
.timer b.tick { animation: timer-tick var(--motion-fast) var(--motion-ease); }

@media (max-width: 1024px) {
  .plan-card:nth-child(2):hover { transform: translateY(-.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .reveal, .reveal.reveal-left, .reveal.reveal-right { opacity: 1; transform: none; }
}

/* Shared internal-page components */
.topbar nav a.active{color:var(--magenta)}.page-hero{min-height:25rem;display:grid;place-items:center;padding:var(--section-space) var(--page-gutter);color:#fff;text-align:center;background:linear-gradient(120deg,rgba(45,8,109,.96),rgba(83,15,145,.9)),url('https://images.unsplash.com/photo-1522869635100-9f4c5e86aa37?auto=format&fit=crop&w=1800&q=85') center/cover}.page-hero h1{margin:var(--space-3) 0 var(--space-4);font-size:var(--type-hero)}.page-hero p{max-width:46rem;margin:auto;color:rgba(255,255,255,.84)}.breadcrumb{display:flex;justify-content:center;gap:var(--space-2);font-size:var(--type-secondary)}.breadcrumb a{color:#c8e916;text-decoration:none}.inner-section{width:min(94%,var(--content-width));margin:auto;padding:var(--section-space) var(--page-gutter)}.section-heading{max-width:48rem;margin:0 auto var(--space-12);text-align:center}.section-heading p,.split-layout p{color:var(--muted)}.split-layout{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:var(--layout-gap);align-items:center}.split-layout img{width:100%;min-height:28rem;max-height:35rem;object-fit:cover;border-radius:var(--space-3);box-shadow:var(--card-shadow)}.value-grid,.blog-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--layout-gap)}.info-card,.article-card,.contact-card{background:#fff;border:1px solid rgba(48,16,111,.1);border-radius:var(--space-3);padding:var(--space-8);box-shadow:var(--card-shadow);transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.info-card:hover,.article-card:hover,.contact-card:hover{transform:translateY(-.4rem);box-shadow:0 1rem 2.5rem rgba(45,8,109,.12)}.info-card i,.contact-card i{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:var(--space-4);border-radius:50%;background:rgba(237,43,144,.1);color:var(--magenta);font-size:var(--type-subsection);font-style:normal}.info-card h3,.contact-card h3{font-size:var(--type-card);margin-bottom:var(--space-3);color:var(--purple)}.info-card p,.contact-card p{color:var(--muted);font-size:var(--type-secondary)}.article-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.article-card img{width:100%;height:15rem;object-fit:cover;transition:transform var(--motion-slow) var(--motion-ease)}.article-card:hover img{transform:scale(1.035)}.article-card-body{padding:var(--space-6);display:flex;flex:1;flex-direction:column}.article-card h2{font-size:var(--type-card);text-align:left}.article-card p{color:var(--muted);font-size:var(--type-secondary)}.article-card a{margin-top:auto;color:var(--magenta);font-weight:700;text-decoration:none}.article-meta{color:var(--magenta);font-size:var(--type-caption);font-weight:700;margin-bottom:var(--space-3)}.contact-layout{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:var(--space-8);align-items:start}.contact-grid{grid-template-columns:1fr;gap:var(--space-4)}.contact-card{padding:var(--space-6);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4)}.contact-card i,.contact-card p{margin:0}.contact-form{padding:var(--space-8);background:#fff;border:1px solid rgba(48,16,111,.1);border-radius:var(--space-3);box-shadow:var(--card-shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-field.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #ded9e6;background:#fbfafc;outline:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.form-field textarea{min-height:9rem;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 .2rem rgba(237,43,144,.12)}.primary-button{width:100%;min-height:3.25rem;border:0;border-radius:var(--control-radius);background:var(--lime);color:#fff;font:700 var(--type-button) Poppins,sans-serif;cursor:pointer}.offer-page{background:var(--off)}.offer-page .cards{width:min(94%,var(--content-width));margin:auto}.cta-band{padding:var(--space-12) var(--page-gutter);background:linear-gradient(110deg,var(--deep),#5a0a9b);color:#fff;text-align:center}.cta-band a{display:inline-flex;min-height:var(--control-height);align-items:center;padding-inline:var(--space-6);border-radius:var(--control-radius);background:var(--lime);color:#fff;font-weight:700;text-decoration:none}
@media(max-width:900px){.value-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout,.contact-layout{grid-template-columns:1fr}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page-hero{min-height:21rem}.inner-section{width:100%;padding:var(--section-space) var(--page-gutter)}.value-grid,.blog-grid,.contact-grid,.offer-page .cards,.form-grid{grid-template-columns:1fr}.split-layout img{min-height:19rem}.offer-page .cards{width:100%;padding-inline:var(--page-gutter)}.contact-card{grid-template-columns:auto 1fr}}

/* Homepage hero banner alignment */
.hero {
  background-image: url('assets/atlas-pro-family-football-hero-optimized.jpg');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-shade {
  background: linear-gradient(90deg, rgba(3,12,28,.08) 0%, rgba(3,12,28,.12) 43%, rgba(3,10,24,.74) 62%, rgba(3,8,20,.93) 100%);
}
.hero-copy {
  left: 60%;
  right: var(--page-gutter);
  top: 50%;
  width: auto;
  max-width: 32rem;
  transform: translateY(-50%);
}
.hero-copy h1 { text-wrap: balance; }

@media (max-width: 1024px) {
  .hero { background-position: 42% center; }
  .hero-copy { left: 54%; right: var(--space-6); max-width: none; }
}

@media (max-width: 600px) {
  .hero { min-height: 36rem; background-position: 36% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(3,10,24,.14), rgba(3,8,20,.82) 56%, rgba(3,8,20,.96)); }
  .hero-copy {
    left: 39%;
    right: var(--space-4);
    top: 50%;
    width: auto;
    max-width: none;
    transform: translateY(-50%);
  }
  .hero-copy h1 { font-size: clamp(1.85rem, 8vw, 2.25rem); }
}
