/* Cascade Conversion — site styles
   Inline styles handle most decorative/layout values (for fidelity + easy editing).
   This file owns only what inline styles can't: resets, fonts, @keyframes,
   :hover / :focus states, and responsive @media rules. */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#F7F3EC;color:#14211F;font-family:'Figtree',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;}
::selection{background:#C9F24A;color:#14211F;}
a{color:#0E6B79;text-decoration:none;}
a:hover{color:#14211F;}

@keyframes ccMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes ccFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes ccFlow{from{background-position:0 0;}to{background-position:120px 0;}}

/* ---- Buttons / interactive hovers (were style-hover in the source) ---- */
.navlink{transition:background .15s ease,color .15s ease;}
.navlink:hover{background:rgba(20,33,31,.06);color:#14211F;}
.nav-cta{transition:transform .18s ease,background .18s ease;}
.nav-cta:hover{transform:translateY(-2px);background:#0E6B79;color:#F7F3EC;}
.cta-primary{transition:transform .18s ease,box-shadow .18s ease;}
.cta-primary:hover{transform:translateY(-3px);box-shadow:0 18px 32px -10px rgba(255,92,57,.7);color:#fff;}
.cta-secondary{transition:border-color .18s ease,background .18s ease;}
.cta-secondary:hover{border-color:#14211F;background:rgba(20,33,31,.04);color:#14211F;}
.menulink{transition:background .15s ease;}
.menulink:hover{background:rgba(20,33,31,.06);color:#14211F;}
.hover-x{transition:transform .18s ease;}
.hover-x:hover{transform:translateX(6px);}
.card-lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(20,33,31,.35);border-color:rgba(20,33,31,.2);}
.card-lift5{transition:transform .2s ease,box-shadow .2s ease;}
.card-lift5:hover{transform:translateY(-5px);box-shadow:0 20px 36px -22px rgba(20,33,31,.3);}
.step-card{transition:background .2s ease,transform .2s ease;}
.step-card:hover{background:rgba(247,243,236,.13);transform:translateY(-5px);}
.tile-lift{transition:transform .18s ease,border-color .18s ease;}
.tile-lift:hover{transform:translateY(-3px);}
.testi{transition:transform .2s ease,border-color .2s ease;}
.testi:hover{transform:translateY(-5px);border-color:rgba(247,243,236,.3);}
.flink{transition:color .15s ease;}
.flink:hover{color:#C9F24A;}

/* ---- Form fields ---- */
.field{font-family:inherit;font-size:15px;padding:13px 14px;border:1.5px solid rgba(20,33,31,.16);border-radius:11px;background:#fff;color:#14211F;outline:none;min-width:0;width:100%;box-sizing:border-box;transition:border-color .15s ease;}
.field:focus{border-color:#0E6B79;}

/* ---- Responsive nav ---- */
.nav-desktop{display:flex;}
.nav-mobile{display:none;}
.mobile-menu{display:none;}
.mobile-menu.open{display:flex;}
@media (max-width:879px){
  .nav-desktop{display:none;}
  .nav-mobile{display:flex;}
}

/* ---- Hero stat strip ---- */
.hero-stats{display:flex;align-items:center;gap:30px;margin-top:44px;padding:22px 32px;border:1px solid rgba(20,33,31,.12);border-radius:18px;background:rgba(255,255,255,.5);}
.hero-stat{flex:1;min-width:0;}
.hero-stat-num{font-family:'Figtree';font-weight:800;font-size:30px;letter-spacing:-.02em;}
.hero-stat-label{font-size:13.5px;line-height:1.4;color:#46564F;}
.hero-divider{width:1px;align-self:stretch;background:rgba(20,33,31,.1);flex:none;}
@media (max-width:879px){
  .hero-stats{flex-direction:column;gap:0;padding:2px 20px;}
  .hero-stat{display:flex;align-items:baseline;gap:16px;padding:17px 0;}
  .hero-stat-num{font-size:27px;min-width:94px;flex:none;}
  .hero-stat-label{flex:1;}
  .hero-divider{height:1px;width:100%;}
}

/* ---- Video story grid ---- */
.stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:899px){.stories-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:559px){.stories-grid{grid-template-columns:1fr;}}

/* ---- Apply form grid ---- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid .span-2{grid-column:1 / -1;}
@media (max-width:559px){.form-grid{grid-template-columns:1fr;}}

/* ---- FAQ accordion ---- */
.faq-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-panel{max-height:360px;}
.faq-icon{transition:transform .22s ease;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:#14211F;color:#C9F24A;}

/* ---- Legal page (Terms / Privacy tabs) ---- */
.legal-tab{position:relative;}
.legal-tab .ind{position:absolute;left:6px;right:6px;bottom:-1px;height:3px;border-radius:3px;opacity:0;transition:opacity .15s ease;}
.legal-tab[aria-selected="true"] .ind{opacity:1;}
.legal-panel{display:none;}
.legal-panel.active{display:block;}

@media (prefers-reduced-motion: reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important;}}
