/* ApolloGroup Phase 52 — public UI polish */
:root{
  --apollo-blue:#1da3ff;
  --apollo-violet:#7657ff;
  --apollo-focus:rgba(29,163,255,.18);
  --apollo-line:rgba(255,255,255,.10);
  --apollo-panel:#101114;
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:rgba(29,163,255,.28);color:#fff}
a,button,input,select,textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:0!important;
  box-shadow:0 0 0 4px var(--apollo-focus)!important;
  border-color:rgba(29,163,255,.72)!important;
}
button:not(:disabled),select{cursor:pointer}
button:disabled{cursor:not-allowed;filter:saturate(.6)}
img{max-width:100%}
input,select,textarea{color-scheme:dark}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8d93a0 50%),linear-gradient(135deg,#8d93a0 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px!important}
select option{background:#101114!important;color:#fff!important}

/* Shared public navigation */
#navigation{background:linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.72))!important;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
#navigation a{letter-spacing:-.01em}
#navigation a[href="/checkout"]{box-shadow:0 9px 28px rgba(29,163,255,.12)!important}
#navigation a[href="/checkout"]:hover{transform:translateY(-1px)}
.apollo-mobile-menu{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}

/* Public hero rhythm */
.hero{isolation:isolate}
.hero h1{text-wrap:balance}
.hero p{text-wrap:pretty}
.hero-badge{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

/* Blog list */
body:has(#posts) main{width:100%}
.controls{position:relative}
.controls input,.controls select{min-height:48px}
.controls input::placeholder{color:#737782}
.card{will-change:transform}
.card h2{text-wrap:balance}
.card p{text-wrap:pretty}
.card .read{display:inline-flex;align-items:center;gap:7px}
.card .read:after{content:"→";transition:transform .18s ease}
.card:hover .read:after{transform:translateX(3px)}
.state{min-height:180px;display:grid;place-items:center}

/* Contact */
.contact-layout{align-items:start}
.info-card,.form-card{box-shadow:0 18px 60px rgba(0,0,0,.18)}
.form-card input,.form-card select,.form-card textarea{min-height:46px}
.form-card textarea{min-height:156px}
.form-card button{min-height:46px;box-shadow:0 12px 30px rgba(29,163,255,.14)}
.form-card button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.06)}

/* Checkout */
.checkout-page .step-card,.checkout-page .plan-card,.checkout-page .manual-payment-card{box-shadow:0 16px 50px rgba(0,0,0,.16)}
.checkout-page .plan-card:hover{transform:translateY(-3px);border-color:rgba(29,163,255,.42)}
.checkout-page .subscribe-btn,.checkout-page .full-button,.checkout-page .wallet-button{font-weight:750}
.checkout-page input,.checkout-page select,.checkout-page textarea{color-scheme:dark}
.checkout-page .checkout-title h1{text-wrap:balance}
.checkout-page .checkout-title p{text-wrap:pretty}

/* Footer */
footer a:hover{color:#fff!important}

@media(min-width:1100px){
  .hero{padding-left:32px!important;padding-right:32px!important}
  .hero p{line-height:1.75}
  .grid{gap:22px}
  .cardBody{padding:22px}
}
@media(max-width:900px){
  #navigation>div{padding-left:20px!important;padding-right:20px!important}
}
@media(max-width:600px){
  #navigation{height:68px!important}
  #navigation>div{padding-left:14px!important;padding-right:14px!important}
  #navigation svg[height="52"]{height:44px;width:50px}
  .hero{padding-left:16px!important;padding-right:16px!important}
  .controls input,.controls select{min-height:44px}
  .card:hover,.checkout-page .plan-card:hover{transform:none}
  .form-card input,.form-card select,.form-card textarea,.form-card button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
