
:root{--gold:#f0b323;--navy:#072b4c;--deep:#041c32;--blue:#0b5f9e;--cyan:#55d1ca;--white:#fff;--soft:#dce9f3}
html{scroll-behavior:smooth}
.landing-body{background:linear-gradient(145deg,#031827 0%,#07375e 45%,#0a5488 100%);color:#fff}
.landing-body::before{opacity:.16}
.landing-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,5vw,72px);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(3,24,39,.35);backdrop-filter:blur(16px)}
.nav-login,.primary-cta,.journey-cta{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}
.nav-login{padding:11px 17px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;background:rgba(255,255,255,.07)}
.landing-hero{position:relative;z-index:1;min-height:680px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.75fr);gap:clamp(40px,7vw,100px);align-items:center;padding:clamp(70px,10vw,130px) clamp(24px,7vw,110px)}
.hero-copy{max-width:780px}.hero-copy h1{max-width:780px;font-size:clamp(3.3rem,7vw,7rem);line-height:.92}.hero-copy h1 em,.section-heading h2 em,.final-cta h2 em{color:var(--gold);font-style:normal}
.hero-lead{max-width:690px;margin:28px 0 0;color:rgba(255,255,255,.8);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:34px}
.primary-cta,.journey-cta{padding:16px 22px;border-radius:14px;color:var(--navy);background:var(--gold);box-shadow:0 14px 32px rgba(240,179,35,.2)}
.text-cta{color:#fff;text-decoration:none;font-weight:750}
.trust-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:25px;color:rgba(255,255,255,.62);font-size:.82rem}.trust-dot{width:8px;height:8px;border-radius:50%;background:#74e4c7;box-shadow:0 0 10px #74e4c7}
.hero-card{position:relative;overflow:hidden;padding:clamp(28px,4vw,52px);border:1px solid rgba(255,255,255,.16);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:0 35px 90px rgba(0,8,22,.32);backdrop-filter:blur(20px)}
.hero-card-glow{position:absolute;width:230px;height:230px;right:-80px;top:-90px;border-radius:50%;background:rgba(240,179,35,.16);filter:blur(5px)}
.mini-label,.section-kicker{margin:0 0 16px;color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.hero-card h2{position:relative;margin:0;font-family:Arial,sans-serif;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.03;font-weight:500}.hero-card h2 span{color:var(--gold)}
.hero-card>p:not(.mini-label){color:rgba(255,255,255,.72);line-height:1.7}.hero-signature{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.signature-mark{display:grid;place-items:center;width:48px;height:48px;padding:3px;border:1px solid rgba(240,179,35,.72);border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(240,179,35,.28);overflow:hidden}.signature-mark img{display:block;width:100%;height:100%;border-radius:50%;object-fit:contain}.hero-signature small{display:block;margin-top:3px;color:rgba(255,255,255,.55)}
.welcome-strip{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px clamp(24px,7vw,110px);border-block:1px solid rgba(255,255,255,.12);background:rgba(1,20,34,.4);font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.5}.welcome-strip p{margin:0;color:rgba(255,255,255,.64)}.welcome-strip strong{color:#fff}
.improvements,.journey,.care-section,.final-cta{position:relative;z-index:1;padding:clamp(75px,9vw,125px) clamp(24px,7vw,110px)}
.section-heading{max-width:720px}.section-heading.centered{margin:0 auto 45px;text-align:center}.section-heading h2,.care-panel h2,.final-cta h2{margin:0;font-family:Arial,sans-serif;font-weight:500;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.03}.section-heading>p:last-child{color:rgba(255,255,255,.68);line-height:1.75}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}.feature-card{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.065);box-shadow:0 16px 38px rgba(0,10,25,.12)}.feature-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:25px;border-radius:12px;color:var(--navy);background:var(--gold);font-weight:950}.feature-card h3{font-size:1.1rem}.feature-card p{margin-bottom:0;color:rgba(255,255,255,.66);font-size:.9rem;line-height:1.65}
.journey{background:linear-gradient(180deg,rgba(2,24,42,.25),rgba(2,24,42,.55))}.journey-visual{max-width:1160px;margin:0 auto;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:rgba(255,255,255,.06);box-shadow:0 35px 80px rgba(0,8,20,.3)}.journey-visual img{display:block;width:100%;border-radius:20px}.journey-cta{width:max-content;max-width:100%;margin:30px auto 0}
.care-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,110px);align-items:center}.care-quote{position:relative;padding:40px;border-left:3px solid var(--gold)}.quote-mark{position:absolute;top:-25px;left:20px;color:rgba(240,179,35,.25);font-family:Arial,sans-serif;font-size:9rem}.care-quote blockquote{position:relative;margin:0;font-family:Arial,sans-serif;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.3}.care-quote p,.care-panel>p:not(.section-kicker){color:rgba(255,255,255,.65);line-height:1.7}.care-values{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.care-values span{padding:8px 13px;border:1px solid rgba(240,179,35,.35);border-radius:999px;color:#ffe099;background:rgba(240,179,35,.08);font-size:.82rem;font-weight:800}
.final-cta{text-align:center;background:radial-gradient(circle at 50% 40%,rgba(38,139,205,.28),transparent 30rem)}.final-seal{width:76px;height:76px;padding:4px;border:2px solid var(--gold);border-radius:50%;background:#fff;box-shadow:0 0 30px rgba(240,179,35,.28)}.final-cta .section-kicker{margin-top:24px}.final-cta h2{max-width:800px;margin:auto}.final-cta>p{color:rgba(255,255,255,.7)}.primary-cta.large{margin-top:20px;font-size:1.05rem}.final-cta blockquote{margin:45px 0 0;color:rgba(255,255,255,.48);font-family:Arial,sans-serif;font-style:italic}.final-cta cite{display:block;margin-top:7px;font-family:Arial,sans-serif;font-size:.75rem;font-style:normal}
.landing-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(24px,5vw,72px);border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);background:#031522;font-size:.76rem}.crafted span{color:rgba(255,255,255,.68)}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;min-height:auto}.hero-card{max-width:680px}.feature-grid{grid-template-columns:1fr 1fr}.care-section{grid-template-columns:1fr}.welcome-strip{grid-template-columns:1fr}.landing-footer{flex-direction:column}.crafted{text-align:left}}
@media(max-width:600px){.landing-nav{padding:13px 16px}.nav-login{font-size:.78rem;padding:9px 12px}.brand-subtitle{display:none}.landing-hero{padding:60px 20px}.hero-copy h1{font-size:clamp(3rem,15vw,4.8rem)}.feature-grid{grid-template-columns:1fr}.improvements,.journey,.care-section,.final-cta{padding-inline:20px}.care-quote{padding:30px 20px}.journey-visual{padding:5px;border-radius:17px}.journey-visual img{border-radius:13px}.trust-line{font-size:.72rem}}


/* v3 — Full-screen storytelling sections */
@media (min-width: 901px) {
  html {
    scroll-snap-type: y proximity;
    scroll-padding-top: 0;
  }

  .landing-hero,
  .improvements,
  .journey,
  .care-section,
  .final-cta {
    min-height: 100vh;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .landing-hero {
    align-content: center;
  }

  .improvements {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .journey {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .care-section {
    align-content: center;
  }

  .final-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

/* Phones/tablets: preserve the full-screen feeling without clipping tall content. */
@media (max-width: 900px) {
  .landing-hero,
  .improvements,
  .journey,
  .care-section,
  .final-cta {
    min-height: 100svh;
  }

  .landing-hero,
  .improvements,
  .journey,
  .care-section,
  .final-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .landing-hero {
    align-items: stretch;
  }
}

/* Very short screens should always favor access to content over forced centering. */
@media (max-height: 720px) {
  .landing-hero,
  .improvements,
  .journey,
  .care-section,
  .final-cta {
    min-height: 100vh;
    justify-content: flex-start;
  }
}


/* v30 — selectable hero trust highlights */
.trust-line .trust-item{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  padding:.22rem .12rem;
  cursor:pointer;
  border-radius:999px;
}
.trust-line .trust-item:focus-visible{
  outline:2px solid rgba(255,214,64,.9);
  outline-offset:4px;
}
.trust-line .trust-item .trust-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
  background:rgba(255,255,255,.42);
  box-shadow:none;
  transition:background-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.trust-line .trust-item.is-active .trust-dot{
  background:#fff;
  transform:scale(1.08);
  box-shadow:
    0 0 0 3px rgba(255,214,64,.18),
    0 0 9px rgba(255,255,255,.95),
    0 0 18px rgba(255,214,64,.72);
}
.trust-line .trust-item.is-active{
  color:#fff;
}
.trust-line .trust-separator{
  opacity:.45;
}


/* v31 — subtle interactive glow for landing-page boxed surfaces */
:where(
  .feature-card,
  .hero-card,
  .care-card,
  .journey-frame,
  .welcome-strip,
  .final-cta-inner
){
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    background-color .24s ease;
  -webkit-tap-highlight-color: transparent;
}

:where(
  .feature-card,
  .hero-card,
  .care-card,
  .journey-frame,
  .welcome-strip,
  .final-cta-inner
):is(:hover, :focus-within, .is-touch-glow){
  transform: translateY(-2px);
  border-color: rgba(255, 214, 64, .46);
  box-shadow:
    0 12px 32px rgba(2, 18, 54, .18),
    0 0 0 1px rgba(255, 214, 64, .12),
    0 0 22px rgba(255, 214, 64, .10);
}

@media (prefers-reduced-motion: reduce){
  :where(
    .feature-card,
    .hero-card,
    .care-card,
    .journey-frame,
    .welcome-strip,
    .final-cta-inner
  ){
    transition:none;
  }
  :where(
    .feature-card,
    .hero-card,
    .care-card,
    .journey-frame,
    .welcome-strip,
    .final-cta-inner
  ):is(:hover, :focus-within, .is-touch-glow){
    transform:none;
  }
}


/* v32 — all three hero trust indicator circles use cyan */
.trust-line .trust-item .trust-dot{
  background:#55d1ca;
  box-shadow:0 0 6px rgba(85,209,202,.34);
}
.trust-line .trust-item.is-active .trust-dot{
  background:#55d1ca;
  transform:scale(1.08);
  box-shadow:
    0 0 0 3px rgba(85,209,202,.18),
    0 0 10px rgba(85,209,202,.95),
    0 0 20px rgba(85,209,202,.68);
}


/* v33 — trust dots: untouched white; selected cyan with white rim */
.trust-line .trust-item .trust-dot{
  background:#fff;
  border:2px solid rgba(255,255,255,.92);
  box-sizing:border-box;
  box-shadow:0 0 7px rgba(255,255,255,.28);
  transform:scale(1);
}
.trust-line .trust-item.is-active .trust-dot{
  background:#55d1ca;
  border-color:#fff;
  transform:scale(1.10);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.48),
    0 0 9px rgba(255,255,255,.88),
    0 0 17px rgba(85,209,202,.88),
    0 0 26px rgba(85,209,202,.42);
}


/* v34 — PWA install prompt gently leaves after 60 seconds */
[data-pwa-install]{
  transition: opacity .5s ease, transform .5s ease, visibility .5s ease;
}
[data-pwa-install].myalb-install-auto-hide{
  opacity:0 !important;
  transform:translateY(10px) !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* v38 — native device/system UI typography */
html, body, button, input, select, textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Hero campus slideshow — photos remain behind the AUP blue treatment */
.landing-hero{isolation:isolate;overflow:hidden}
.hero-slideshow{position:absolute;inset:0;z-index:-2;pointer-events:none}
.hero-slideshow::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(3,24,39,.91) 0%,rgba(7,55,94,.84) 48%,rgba(10,84,136,.78) 100%);z-index:2}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.025);transition:opacity 1.2s ease,transform 6s ease;z-index:1}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.landing-hero>.hero-copy,.landing-hero>.hero-card{position:relative;z-index:3}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:opacity .25s ease;transform:none}.hero-slide.is-active{transform:none}}


/* Hero inspiration verse — quiet signature below the experience highlights */
.hero-verse{max-width:690px;margin:24px 0 0;padding:14px 18px;border-left:2px solid rgba(240,179,35,.72);border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(3,24,39,.34),rgba(7,55,94,.10));backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:rgba(255,255,255,.82);font-size:clamp(.78rem,1.15vw,.94rem);line-height:1.55;font-style:italic;letter-spacing:.005em}
.hero-verse span{display:block}
.hero-verse cite{display:block;margin-top:5px;color:var(--gold);font-size:.74rem;font-style:normal;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:600px){.hero-verse{margin-top:20px;padding:11px 14px;font-size:.76rem;line-height:1.45}}

/* Match landing signature colors to login headline */
.hero-signature small .signature-journey{color:#fff}.hero-signature small em{color:var(--gold);font-style:normal}

/* v40 — cinematic hero photo motion (Ken Burns + cross-fade) */
.hero-slide{
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1.6s ease-in-out;
  will-change:opacity,transform;
}
.hero-slide.is-active{
  opacity:1;
  animation:heroKenBurnsA 6.6s ease-out both;
}
.hero-slide:nth-child(even).is-active{
  animation-name:heroKenBurnsB;
}
.hero-slide:nth-child(3n).is-active{
  animation-name:heroKenBurnsC;
}
@keyframes heroKenBurnsA{
  0%{transform:scale(1.04) translate3d(0,0,0)}
  100%{transform:scale(1.13) translate3d(-1.4%,-.8%,0)}
}
@keyframes heroKenBurnsB{
  0%{transform:scale(1.13) translate3d(-1.2%,.5%,0)}
  100%{transform:scale(1.045) translate3d(.8%,-.6%,0)}
}
@keyframes heroKenBurnsC{
  0%{transform:scale(1.045) translate3d(.7%,.5%,0)}
  100%{transform:scale(1.14) translate3d(-.7%,-1%,0)}
}
@media (prefers-reduced-motion:reduce){
  .hero-slide,.hero-slide.is-active,.hero-slide:nth-child(even).is-active,.hero-slide:nth-child(3n).is-active{
    animation:none !important;transform:none !important;transition:opacity .35s ease !important;
  }
}

/* v41 — softer, less noticeable hero image handoff */
.hero-slide{
  transition:opacity 3.2s cubic-bezier(.45,0,.55,1);
}

/* v42 — simple zoom-in + flicker-free crossfade */
.hero-slide{
  opacity:0;
  transform:scale(1.035);
  transition:opacity 2.2s ease-in-out, transform 4.8s linear;
  animation:none !important;
  will-change:opacity,transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero-slide.is-active{
  opacity:1;
  transform:scale(1.14);
  animation:none !important;
}
.hero-slide.is-leaving{
  opacity:0;
  transform:scale(1.14);
  animation:none !important;
}
@media (prefers-reduced-motion:reduce){
  .hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{
    animation:none !important;
    transform:none !important;
    transition:opacity .6s ease-in-out !important;
  }
}

/* v43 — Daniel 12:3 travelling word-shine */
.hero-verse .verse-word{
  display:inline;
  color:rgba(255,255,255,.78);
  text-shadow:none;
  transition:color .30s ease,text-shadow .30s ease,filter .30s ease;
}
.hero-verse .verse-word.is-shining{
  color:#fffbea;
  text-shadow:0 0 5px rgba(255,255,255,.98),0 0 12px rgba(240,179,35,.95),0 0 24px rgba(240,179,35,.72),0 0 38px rgba(255,255,255,.34);
  filter:brightness(1.35);
}
@media (prefers-reduced-motion:reduce){
  .hero-verse .verse-word{transition:none}
  .hero-verse .verse-word.is-shining{color:inherit;text-shadow:none;filter:none}
}

/* Footer credit reveal — hover on desktop, tap/click on touch devices */
.footer-credit-trigger{position:relative;display:inline-block;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.footer-credit-trigger:hover,.footer-credit-trigger:focus-visible{color:var(--gold);outline:none}
.footer-credit-pop{position:absolute;left:72%;bottom:calc(100% + 12px);z-index:20;width:max-content;max-width:min(420px,85vw);padding:9px 12px;border:1px solid rgba(240,179,35,.38);border-radius:10px;background:rgba(3,24,39,.96);box-shadow:0 10px 28px rgba(0,0,0,.28);color:#fff;font-size:.72rem;font-weight:500;line-height:1.35;letter-spacing:.01em;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-38%,6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.footer-credit-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(3,24,39,.96)}
.footer-credit-trigger:hover .footer-credit-pop,.footer-credit-trigger:focus-visible .footer-credit-pop,.footer-credit-trigger.is-open .footer-credit-pop{opacity:1;visibility:visible;transform:translate(-38%,0)}

.crafted{margin-left:auto;text-align:right;max-width:680px}.crafted strong{color:var(--gold);font-weight:800}.crafted span{line-height:1.55}

/* Footer maker line beneath the 2011–2026 credit */
.footer-left{display:flex;flex-direction:column;gap:5px}.footer-left .crafted{margin:0;text-align:left;max-width:none;color:rgba(255,255,255,.40);font-size:.70rem;line-height:1.45}
