/* =========================================================
   Ready Together Foundation — custom layer (complements Tailwind)
   Brand: navy #06335C · orange #F1551E · amber #F39A0B
   ========================================================= */

:root{
  --navy:#06335C; --navy-deep:#042742; --sky:#0A4A82;
  --orange:#F1551E; --amber:#F39A0B; --paper:#FBF8F2; --ink:#13181F;
}

html{scroll-behavior:smooth;}
body{font-family:"Inter",system-ui,sans-serif;background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
.font-display{font-family:"Space Grotesk","Inter",sans-serif;}
.font-serif-d{font-family:"Fraunces",Georgia,serif;}

/* selection + scrollbar */
::selection{background:var(--orange);color:#fff;}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:#eee5d6;}
::-webkit-scrollbar-thumb{background:var(--navy);border-radius:99px;border:3px solid #eee5d6;}

/* ---- gradient text + brand utilities ---- */
.text-gradient{background:linear-gradient(100deg,var(--orange),var(--amber));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.brand-arc{background:linear-gradient(100deg,var(--navy),var(--orange) 60%,var(--amber));}

/* ---- glass + cards ---- */
.glass{background:rgba(251,248,242,.7);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);}
.glass-dark{background:rgba(4,39,66,.55);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);}
.card-hover{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;}
.card-hover:hover{transform:translateY(-6px);box-shadow:0 26px 60px -28px rgba(6,51,92,.45);}

/* tilt glare default off-screen */
.js-tilt-glare{border-radius:inherit;}

/* ---- hero 3d canvas ---- */
#bg3d{position:absolute;inset:0;width:100%;height:100%;z-index:0;}

/* ---- animated underline links ---- */
.ul-link{position:relative;}
.ul-link::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;
  background:var(--orange);transition:width .28s ease;}
.ul-link:hover::after,.ul-link.active::after{width:100%;}

/* ---- floating blobs ---- */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.float{animation:float 7s ease-in-out infinite;}
.float.slow{animation-duration:11s;}

@keyframes pulse-ring{0%{transform:scale(.85);opacity:.6}80%,100%{transform:scale(1.6);opacity:0}}
.pulse-ring::before{content:"";position:absolute;inset:0;border-radius:inherit;
  border:2px solid var(--orange);animation:pulse-ring 2.6s ease-out infinite;}

/* marquee */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee{display:flex;width:max-content;animation:marquee 26s linear infinite;}
.marquee:hover{animation-play-state:paused;}

/* ---- phone mockup ---- */
.phone{position:relative;width:280px;border-radius:42px;background:#0b1722;
  padding:12px;box-shadow:0 50px 90px -40px rgba(6,51,92,.6),inset 0 0 0 2px rgba(255,255,255,.06);}
.phone .screen{border-radius:32px;overflow:hidden;background:var(--paper);aspect-ratio:9/19.5;position:relative;}
.phone .notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:42%;height:22px;
  background:#0b1722;border-radius:0 0 16px 16px;z-index:5;}

/* AOS fallback (if lib fails, content still shows) */
[data-aos]{opacity:1;}
.aos-init[data-aos]{opacity:0;}
.aos-init[data-aos].aos-animate{opacity:1;}
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1!important;transform:none!important;}
  .float,.marquee,.pulse-ring::before{animation:none!important;}
}

/* nav scrolled state */
.nav-scrolled{box-shadow:0 10px 30px -20px rgba(6,51,92,.5);}

/* team modal entrance */
@keyframes modal-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
#teamModal:not(.hidden) .team-modal-panel{animation:modal-in .32s cubic-bezier(.2,.7,.2,1) both;}
#teamModal:not(.hidden) .team-modal-overlay{animation:modal-in .3s ease both;}
.team-card{cursor:pointer;}

/* accordion */
.acc-body{max-height:0;overflow:hidden;transition:max-height .45s ease;}
.acc.open .acc-body{max-height:600px;}
.acc.open .acc-chevron{transform:rotate(180deg);}
.acc-chevron{transition:transform .35s ease;}
