/* ═══════════════════════════════════════════
   CLARTI — Design System & Shared Styles
   ═══════════════════════════════════════════ */

/* --- RESET --- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:inherit;border:none;background:none}
ul,ol{list-style:none}

/* --- CSS VARIABLES --- */
:root{
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --blue-subtle:#f0f7ff;
  --blue-light:rgba(0,113,227,0.08);
  --green:#34c759;
  --green-subtle:#e8faf0;
  --red:#ff3b30;
  --red-subtle:#fff0f0;
  --amber:#ff9500;
  --bg:#fbfbfd;
  --bg-secondary:#f5f5f7;
  --bg-card:#ffffff;
  --text:#1d1d1f;
  --text-secondary:#6e6e73;
  --text-tertiary:#86868b;
  --text-on-dark:#f5f5f7;
  --border:rgba(0,0,0,0.06);
  --border-hover:rgba(0,0,0,0.12);
  --font-display:'Plus Jakarta Sans',-apple-system,sans-serif;
  --font-body:'Plus Jakarta Sans',-apple-system,sans-serif;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --radius-full:980px;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.04);
  --shadow-md:0 8px 24px rgba(0,0,0,0.06);
  --shadow-lg:0 16px 48px rgba(0,0,0,0.08);
  --shadow-xl:0 24px 64px rgba(0,0,0,0.12);
  --shadow-blue:0 4px 20px rgba(0,113,227,0.3);
  --dur-fast:150ms;
  --dur-normal:250ms;
  --dur-slow:400ms;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
}

/* --- TYPOGRAPHY --- */
.s-label{font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.s-title{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-1.5px;line-height:1.08;margin-bottom:12px;color:var(--text)}
.s-sub{font-size:17px;color:var(--text-secondary);max-width:460px;margin:0 auto 48px;line-height:1.5}

/* --- NAVIGATION --- */
.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(251,251,253,0.72);border-bottom:0.5px solid var(--border);position:sticky;top:0;z-index:100;transition:background var(--dur-normal)}
.logo{font-size:21px;font-weight:700;letter-spacing:-0.8px;color:var(--text)}
.logo i{color:var(--blue);font-style:normal}
.nav-r{display:flex;align-items:center;gap:20px}
.nav-link{font-size:13px;color:var(--text-tertiary);font-weight:500;cursor:pointer;transition:color var(--dur-fast)}
.nav-link:hover{color:var(--text)}
.nav-btn{background:var(--blue);color:#fff;padding:9px 20px;border-radius:var(--radius-full);font-size:13px;font-weight:600;transition:all var(--dur-normal)}
.nav-btn:hover{filter:brightness(1.08);transform:scale(1.02)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.nav-hamburger span{width:20px;height:1.5px;background:var(--text);border-radius:2px;transition:all var(--dur-normal)}

/* --- MOBILE MENU --- */
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(251,251,253,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity var(--dur-normal)}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-size:24px;font-weight:600;color:var(--text);transition:color var(--dur-fast)}
.mobile-menu-close{position:absolute;top:20px;right:24px;font-size:28px;color:var(--text-tertiary);cursor:pointer;padding:8px}

/* --- BUTTONS --- */
.btn-p{background:var(--blue);color:#fff;padding:16px 32px;border-radius:var(--radius-full);font-size:16px;font-weight:600;transition:all var(--dur-normal);box-shadow:var(--shadow-blue);display:inline-block;text-align:center}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,113,227,0.4);filter:brightness(1.06)}
.btn-p:active{transform:translateY(0) scale(0.98)}
.btn-g{color:var(--blue);padding:16px 24px;border-radius:var(--radius-full);font-size:16px;font-weight:500;transition:background var(--dur-fast);display:inline-block}
.btn-g:hover{background:var(--blue-light)}
.btn-outline{padding:12px 24px;border-radius:var(--radius-full);font-size:14px;font-weight:600;border:1.5px solid var(--blue);color:var(--blue);transition:all var(--dur-normal);display:inline-block;text-align:center;width:100%}
.btn-outline:hover{background:var(--blue-light)}
.btn-solid{padding:12px 24px;border-radius:var(--radius-full);font-size:14px;font-weight:600;background:var(--blue);color:#fff;transition:all var(--dur-normal);box-shadow:0 4px 16px rgba(0,113,227,0.25);display:inline-block;text-align:center;width:100%}
.btn-solid:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-white{background:#fff;color:var(--text);padding:18px 36px;border-radius:var(--radius-full);font-size:17px;font-weight:700;transition:all var(--dur-normal);box-shadow:0 4px 24px rgba(255,255,255,0.15);display:inline-block}
.btn-white:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px rgba(255,255,255,0.2)}

/* --- SCROLL REVEAL --- */
.reveal{opacity:0;transform:translateY(30px);transition:all 0.7s var(--ease-out)}
.reveal.vis{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}
.reveal-d4{transition-delay:.4s}

/* --- HERO ANIMATIONS --- */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmerGradient{to{background-position:200% center}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.anim-fu{opacity:0;animation:fadeUp 0.8s forwards}
.anim-d1{animation-delay:.15s}
.anim-d2{animation-delay:.3s}
.anim-d3{animation-delay:.5s}
.anim-d4{animation-delay:.65s}
.anim-d5{animation-delay:.8s}
.anim-d6{animation-delay:1s}
.anim-d7{animation-delay:1.2s}

/* --- SECTION SPACING --- */
.section{padding:80px 24px;text-align:center}
.section-alt{background:var(--bg-secondary)}
.section-dark{background:#000;color:#fff}

/* --- FOOTER --- */
.footer{padding:32px 24px;text-align:center;font-size:12px;color:var(--text-tertiary);border-top:0.5px solid var(--border)}
.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:8px}
.footer-links a{color:var(--text-tertiary);font-weight:500;transition:color var(--dur-fast)}
.footer-links a:hover{color:var(--text)}

/* --- RESPONSIVE --- */
@media(max-width:768px){
  .nav-r .nav-link{display:none}
  .nav-hamburger{display:flex}
  .mobile-menu{display:flex}
  .section{padding:60px 20px}
}
@media(max-width:480px){
  .section{padding:48px 16px}
}

/* --- REDUCED MOTION --- */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* --- SELECTION --- */
::selection{background:rgba(0,113,227,0.15);color:var(--text)}

/* --- SCROLLBAR --- */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:3px}
