/* =============================================
   MosMates Design System
   Coral + Ocean Blue — Caribbean Sunset meets Deep Ocean
   ============================================= */

/* Self-hosted fonts — served from /var/www/mosmates/fonts/ */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4W61C4E.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4TC1C4E.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4QK1C4E.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4e6yC4E.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4deyC4E.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/QGYyz_MVcBeNP4NjuGObqx1XmO1I4bCyC4E.ttf') format('truetype'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1hLTf7W.ttf') format('truetype'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIctxujDg.ttf') format('truetype'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcaRyjDg.ttf') format('truetype'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcUByjDg.ttf') format('truetype'); }

:root {
  --bg:           #f8fafc;
  --bg-card:      #ffffff;
  --bg-subtle:    #f1f5f9;
  --bg-dark:      #061e2f;
  --bg-elevated:  #0e2840;

  --text:         #1e293b;
  --text-2:       #64748b;
  --text-3:       #94a3b8;
  --text-invert:  #f8fafc;

  --coral:        #f4471e;
  --coral-dark:   #e03d15;
  --coral-light:  #fb923c;
  --coral-xlight: #fdba74;
  --coral-glow:   rgba(244,71,30,0.15);

  --ocean:        #0c4a6e;
  --ocean-bright: #0e5a8a;
  --ocean-mid:    #1e6091;

  --green:        #22c55e;
  --telegram:     #26a5d8;

  --border:       #e2e8f0;
  --border-2:     #cbd5e1;

  --shadow-sm:    0 2px 8px rgba(0,0,0,0.04);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:    0 12px 40px rgba(0,0,0,0.12);
  --shadow-xl:    0 24px 64px rgba(0,0,0,0.16);
  --shadow-coral: 0 8px 32px rgba(244,71,30,0.25);
  --shadow-ocean: 0 8px 32px rgba(12,74,110,0.25);

  --radius-xs:    6px;
  --radius-sm:    10px;
  --radius-md:    16px;
  --radius-lg:    24px;
  --radius-xl:    32px;
  --radius-full:  9999px;

  --ease:         cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out:     cubic-bezier(0.0, 0.0, 0.2, 1);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Outfit', system-ui, sans-serif;
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.15;
  color:var(--text);
  letter-spacing:-0.02em;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* ─── CONTAINER ─── */
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ─── NAV ─── */
.site-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(248,250,252,0.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;gap:24px;
}
.nav-logo{
  font-family:var(--font-display);font-size:1.35rem;font-weight:800;
  letter-spacing:-0.03em;color:var(--text);
}
.nav-logo span{color:var(--coral);}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;}
.nav-links a{
  display:inline-flex;align-items:center;padding:6px 14px;
  font-size:.9rem;font-weight:500;color:var(--text-2);
  border-radius:var(--radius-sm);transition:all .18s var(--ease);
}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--bg-subtle);}
.nav-cta{
  background:var(--coral) !important;color:#fff !important;
  font-weight:600 !important;padding:8px 18px !important;
  border-radius:var(--radius-full) !important;
  transition:all .18s var(--ease) !important;
}
.nav-cta:hover{background:var(--coral-dark) !important;transform:translateY(-1px);}
.nav-cta-li{margin-left:8px;}

/* ─── HERO ─── */
.hero{
  position:relative;overflow:hidden;
  padding:88px 0 80px;
  background:var(--bg);
}
.hero-orb{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;
  pointer-events:none;
}
.hero-orb-1{
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(244,71,30,.5) 0%,transparent 70%);
  top:-200px;left:-150px;
}
.hero-orb-2{
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(12,74,110,.5) 0%,transparent 70%);
  bottom:-200px;right:-100px;
}
.hero-inner{position:relative;z-index:1;max-width:720px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--coral-glow);border:1px solid rgba(244,71,30,.2);
  color:var(--coral);font-size:.8rem;font-weight:700;
  padding:6px 16px;border-radius:var(--radius-full);
  margin-bottom:24px;letter-spacing:.04em;
}
.hero-title{
  font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;
  letter-spacing:-.03em;color:var(--text);
  margin-bottom:20px;line-height:1.08;
}
.hero-title span{color:var(--coral);}
.hero-sub{
  font-size:1.15rem;color:var(--text-2);
  max-width:540px;line-height:1.7;margin-bottom:36px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--coral);color:#fff;
  padding:12px 28px;border-radius:var(--radius-full);
  font-weight:700;font-size:.95rem;
  transition:all .2s var(--ease-spring);
  box-shadow:var(--shadow-coral);
}
.btn-primary:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 12px 40px rgba(244,71,30,.35);}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid var(--border-2);color:var(--text);
  padding:10px 26px;border-radius:var(--radius-full);
  font-weight:600;font-size:.95rem;
  transition:all .2s var(--ease);
}
.btn-outline:hover{border-color:var(--coral);color:var(--coral);}

/* ─── STATS ─── */
.stats-bar{
  background:var(--bg-dark);color:var(--text-invert);
  padding:40px 0;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  max-width:700px;margin:0 auto;
}
.stat-item{text-align:center;}
.stat-number{
  font-family:var(--font-display);font-size:2.4rem;font-weight:800;
  color:var(--coral-light);display:block;line-height:1;
}
.stat-label{font-size:.85rem;color:var(--text-3);margin-top:6px;letter-spacing:.04em;}

/* ─── SECTIONS ─── */
.section{padding:72px 0;}
.section-sm{padding:48px 0;}
.section-muted{background:var(--bg-subtle);}
.section-dark{background:var(--bg-dark);color:var(--text-invert);}
.section-title{
  font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;
  letter-spacing:-.025em;margin-bottom:12px;
}
.section-sub{font-size:1.05rem;color:var(--text-2);max-width:520px;line-height:1.7;}
.section-header{margin-bottom:44px;}

/* ─── CARDS ─── */
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;
}
.card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:24px;
  box-shadow:var(--shadow-sm);
  transition:all .22s var(--ease-spring);
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.card-icon{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:16px;
}
.card-title{font-size:1.05rem;font-weight:700;margin-bottom:8px;}
.card-text{font-size:.88rem;color:var(--text-2);line-height:1.65;}

/* ─── PAGE HERO (inner pages) ─── */
.page-hero{
  background:linear-gradient(135deg,var(--bg-dark) 0%,var(--bg-elevated) 100%);
  color:var(--text-invert);padding:72px 0 56px;text-align:center;
}
.page-hero-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.2;pointer-events:none;}
.page-hero-orb-1{width:400px;height:400px;background:var(--coral);top:-100px;left:-100px;}
.page-hero-orb-2{width:350px;height:350px;background:var(--ocean);bottom:-80px;right:-80px;}
.page-hero{position:relative;overflow:hidden;}
.page-hero-inner{position:relative;z-index:1;}
.ph-kicker{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(244,71,30,.15);border:1px solid rgba(244,71,30,.25);
  color:var(--coral-light);font-size:.78rem;font-weight:700;
  padding:5px 14px;border-radius:20px;margin-bottom:20px;letter-spacing:.06em;
}
.ph-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;margin-bottom:16px;}
.ph-sub{font-size:1.05rem;opacity:.7;max-width:500px;margin:0 auto;line-height:1.7;}

/* ─── FOOTER ─── */
.site-footer{background:var(--bg-dark);color:var(--text-invert);padding:60px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.footer-brand .logo{font-family:var(--font-display);font-size:1.4rem;font-weight:800;margin-bottom:12px;}
.footer-brand .logo span{color:var(--coral-light);}
.footer-brand p{font-size:.88rem;color:var(--text-3);line-height:1.7;max-width:280px;}
.footer-col h4{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:16px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:.9rem;color:var(--text-3);transition:color .15s;}
.footer-col a:hover{color:var(--text-invert);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:28px;text-align:center;
  font-size:.82rem;color:var(--text-3);
}

/* ─── RESPONSIVE ─── */
@media(max-width:768px){
  .nav-links{display:none;}
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
  .stat-number{font-size:1.8rem;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .hero{padding:60px 0 56px;}
  .section{padding:52px 0;}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{text-align:center;}
}
