/* ============================================================
   WellNest — base stylesheet (shared foundation)
   Loaded BEFORE home.css / legal.css on every page.
   Contains: design tokens, reset, icon helpers, nav, footer,
   reveal animations, and the shared nav/footer responsive rules.
   ============================================================ */

:root {
  --sage:    #5F9080;
  --sage-d:  #3D6558;
  --sage-l:  #EAF3EF;
  --lav:     #9B8EC4;
  --lav-d:   #7460A8;
  --lav-l:   #F0EEFF;
  --lav-mid: #C9C0E3;
  --peach:   #F28B6E;
  --peach-l: #FFF0EB;
  --amber:   #E8A838;
  --amber-l: #FFF8E6;
  --rose:    #D4848A;
  --rose-l:  #FFF0F2;
  --mint:    #6BBFA8;
  --mint-l:  #E8FAF5;
  --sky:     #7BBDE0;
  --sky-l:   #E8F5FF;
  --ink:     #1C2119;
  --ink2:    #354030;
  --muted:   #6E7D6C;
  --cream:   #F6F4EF;
  --warm:    #FDFCF9;
  --bdr:     #DDE6DF;
  --serif:   'Cormorant Garamond', Georgia, serif;
  --sans:    'DM Sans', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:var(--lav-mid);border-radius:2px;}

/* ── Phosphor icon sizing helpers ── */
.ph { font-size: 20px; line-height: 1; }
.ph-sm { font-size: 16px; line-height: 1; }
.ph-lg { font-size: 26px; line-height: 1; }
.ph-xl { font-size: 36px; line-height: 1; }

/* ════ NAV ════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:68px;display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;transition:background .4s,box-shadow .4s;
}
nav.scrolled{background:rgba(253,252,249,.95);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--bdr);}
.nav-logo img{height:48px;width:auto;object-fit:contain;}
.nav-logo-broken{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink);}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink2);transition:color .2s;}
.nav-links a:hover{color:var(--sage);}
.nav-cta{display:flex;align-items:center;gap:10px;}
.btn-nav-ol{font-size:13.5px;font-weight:600;color:var(--sage);border:1.5px solid var(--sage);padding:8px 20px;border-radius:100px;transition:all .2s;white-space:nowrap;}
.btn-nav-ol:hover{background:var(--sage);color:#fff;}
.btn-nav-sl{font-size:13.5px;font-weight:600;color:#fff;background:var(--lav);padding:8px 20px;border-radius:100px;transition:all .2s;white-space:nowrap;}
.btn-nav-sl:hover{background:var(--lav-d);transform:translateY(-1px);}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
.nav-burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:1px;transition:all .3s;}
.mob-menu{display:none;position:fixed;inset:68px 0 0;background:rgba(253,252,249,.97);backdrop-filter:blur(14px);z-index:99;flex-direction:column;padding:28px 5%;border-top:1px solid var(--bdr);}
.mob-menu.open{display:flex;}
.mob-menu a{font-size:16px;font-weight:500;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--bdr);}

/* ════ FOOTER ════ */
footer{background:#11180F;padding:56px 5% 28px;}
.footer-inner{max-width:1160px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:28px;}
.footer-logo img{height:42px;width:auto;object-fit:contain;filter:brightness(0) invert(1) opacity(.75);margin-bottom:13px;}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.4);line-height:1.7;font-weight:300;max-width:210px;}
.footer-col-h{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:15px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.5);transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,.85);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-copy{font-size:12px;color:rgba(255,255,255,.28);}
.footer-legal{display:flex;gap:16px;list-style:none;flex-wrap:wrap;}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.28);transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.55);}
.footer-legal a.active{color:rgba(255,255,255,.7);}

/* ════ REVEAL ANIMATIONS ════ */
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}

/* ════ SHARED RESPONSIVE (nav + footer) ════ */
@media(max-width:1060px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .footer-top{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none;}
}

/* ════ FOOTER SOCIAL ICONS ════ */
.footer-social{display:flex;align-items:center;gap:10px;margin-top:18px;}
.footer-social a{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.6);transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.footer-social a:hover{background:var(--sage);border-color:var(--sage);color:#fff;transform:translateY(-2px);}
.footer-social a i{font-size:18px;}

/* ════ FLOATING WHATSAPP BUTTON ════ */
.wa-fab{
  position:fixed;right:22px;bottom:22px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#25D366;color:#fff;
  box-shadow:0 8px 24px rgba(37,211,102,.45);
  transition:transform .2s,box-shadow .2s;
}
.wa-fab:hover{transform:scale(1.07);box-shadow:0 12px 30px rgba(37,211,102,.55);}
.wa-fab i{font-size:32px;color:#fff;}
.wa-fab::before{
  content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.5;z-index:-1;
  animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{0%{transform:scale(1);opacity:.5;}70%{transform:scale(1.6);opacity:0;}100%{opacity:0;}}
@media(max-width:640px){
  .wa-fab{width:52px;height:52px;right:16px;bottom:16px;}
  .wa-fab i{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){
  .wa-fab::before{animation:none;}
}

/* ════ PRELOADER ════ */
#preloader{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:var(--cream);
  transition:opacity .5s ease,visibility .5s ease;
}
#preloader.loaded{opacity:0;visibility:hidden;pointer-events:none;}
.pl-inner{display:flex;flex-direction:column;align-items:center;gap:20px;}
.pl-logo{height:60px;width:auto;object-fit:contain;animation:plPulse 1.6s ease-in-out infinite;}
.pl-word{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--ink);animation:plPulse 1.6s ease-in-out infinite;}
.pl-bar{width:120px;height:3px;border-radius:3px;background:var(--bdr);overflow:hidden;position:relative;}
.pl-bar span{position:absolute;top:0;left:-40%;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,var(--sage),var(--lav));animation:plSlide 1.1s ease-in-out infinite;}
@keyframes plPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.6;transform:scale(.96);}}
@keyframes plSlide{0%{left:-40%;}100%{left:100%;}}
@media(prefers-reduced-motion:reduce){
  .pl-logo,.pl-word{animation:none;}
  .pl-bar span{animation:none;left:0;width:100%;}
}
