@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Cormorant+Garamond:ital,wght@1,500;1,600;1,700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg: #F8F7F4;
  --bg2: #EFEDE6;
  --white: #FFFFFF;
  --text: #1A1714;
  --text2: #6A6760;
  --text3: #A09B95;
  --border: rgba(26,23,20,0.08);
  --border2: rgba(26,23,20,0.15);
  --dark: #1A1714;
  --grad: linear-gradient(135deg,#6366F1 0%,#3B82F6 35%,#06B6D4 68%,#10B981 100%);
  --shadow: 0 2px 8px rgba(26,23,20,.05),0 8px 32px rgba(26,23,20,.06);
  --shadow-lg: 0 8px 40px rgba(26,23,20,.09),0 28px 80px rgba(26,23,20,.07);
  --r:20px; --r-lg:32px; --r-xl:48px; --pill:100px;
  --spring: cubic-bezier(0.22,1,0.36,1);
  --f:'Plus Jakarta Sans',system-ui,sans-serif;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fm:'JetBrains Mono',monospace;
  --ayf:#15803D; --ayf-bg:#F0FDF4; --ayf-light:#DCFCE7;
  --vx:#B45309; --vx-bg:#FFFBEB; --vx-light:#FEF3C7;
  --pp:#0284c7; --pp-bg:#E0F2FE; --pp-light:#BAE6FD;
  --ws:#4338CA; --ws-bg:#EEF2FF; --ws-light:#E0E7FF;
}

*,*::before,*::after{box-sizing:border-box;-webkit-font-smoothing:antialiased;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
h1,h2,h3,h4,h5,h6,p,figure,ul,ol{margin:0;}
ul,ol{list-style:none;padding:0;}
body{font-family:var(--f);background:var(--bg);color:var(--text);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
button{font-family:var(--f);cursor:pointer;border:none;background:none;}

/* Animations */
.ap{opacity:0;transform:translateY(32px);transition:opacity .6s ease,transform .85s var(--spring);}
.ap.fade{transform:none;}
.ap.vis{opacity:1;transform:none;}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}

/* Layout */
.wrap{max-width:1120px;margin:0 auto;padding:0 40px;}

/* Progress bar */
#prog{position:fixed;top:0;left:0;height:2px;background:var(--grad);z-index:9999;width:0;transition:width .1s linear;}

/* Nav */
#nav-wrap{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;width:calc(100% - 64px);max-width:1080px;}
nav{border-radius:var(--pill);padding:8px 8px 8px 24px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,box-shadow .3s;}
nav.stuck{background:rgba(248,247,244,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border),0 4px 24px rgba(26,23,20,.07);}
.n-logo{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.n-logo-mark{width:28px;height:28px;background:var(--dark);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.n-logo-mark svg{width:14px;height:14px;}
.n-links{display:flex;align-items:center;gap:2px;}
.n-links a,.n-drop-btn{font-size:14px;font-weight:500;color:var(--text2);padding:7px 14px;border-radius:var(--pill);transition:all .18s;background:none;border:none;}
.n-links a:hover,.n-drop-btn:hover{color:var(--text);background:rgba(26,23,20,.06);}
.n-drop{position:relative;padding-bottom:14px;margin-bottom:-14px;}
.n-drop-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:var(--f);}
.n-drop::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px;}
.chev{font-size:9px;transition:transform .2s;display:inline-block;}
.n-drop:hover .chev,.n-drop:focus-within .chev{transform:rotate(180deg);}
.n-drop-menu{position:absolute;top:100%;left:0;min-width:210px;background:rgba(248,247,244,.98);backdrop-filter:blur(16px);border:1px solid var(--border2);border-radius:16px;padding:8px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:2px;z-index:20;}
.n-drop:hover .n-drop-menu,.n-drop:focus-within .n-drop-menu{display:flex;}
.n-drop-menu a{padding:10px 13px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text2);transition:all .15s;display:flex;align-items:center;gap:9px;}
.n-drop-menu a:hover{background:rgba(26,23,20,.05);color:var(--text);}
.n-drop-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.n-cta{background:var(--dark)!important;color:#fff!important;padding:9px 20px!important;border-radius:var(--pill)!important;font-weight:600;font-size:14px;transition:all .2s!important;}
.n-cta:hover{background:#2e2c2a!important;transform:scale(1.02)!important;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;}
.burger span{width:20px;height:1.5px;background:var(--text);border-radius:2px;transition:all .25s;}

/* Mobile menu */
#mob-menu{display:none;position:fixed;inset:0;background:rgba(248,247,244,.97);backdrop-filter:blur(28px);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
#mob-menu.open{display:flex;}
#mob-menu a{font-size:22px;font-weight:700;color:var(--text);padding:11px 40px;border-radius:var(--pill);transition:background .15s;}
#mob-menu a:hover{background:rgba(26,23,20,.06);}
.mob-label{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-top:12px;}
#mob-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:rgba(26,23,20,.07);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text);border:none;}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--pill);padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s;cursor:pointer;line-height:1;}
.btn-dark{background:var(--dark);color:#fff;}
.btn-dark:hover{background:#2e2c2a;transform:scale(1.02);}
.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border2);}
.btn-ghost:hover{background:var(--bg2);color:var(--text);border-color:rgba(26,23,20,.22);}
.btn-ayf{background:var(--ayf);color:#fff;}
.btn-ayf:hover{background:#166534;transform:scale(1.02);}
.btn-vx{background:var(--vx);color:#fff;}
.btn-vx:hover{background:#92400e;transform:scale(1.02);}
.btn-pp{background:var(--pp);color:#fff;}
.btn-pp:hover{background:#0369a1;transform:scale(1.02);}
.btn-ws{background:var(--ws);color:#fff;}
.btn-ws:hover{background:#3730a3;transform:scale(1.02);}
.btn-white{background:#fff;color:var(--dark);border-radius:var(--pill);padding:13px 26px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.btn-white:hover{background:var(--bg2);transform:scale(1.025);}
.btn-outline-white{border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);border-radius:var(--pill);padding:13px 26px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.btn-outline-white:hover{border-color:rgba(255,255,255,.4);color:#fff;}

/* Grad text */
.grad-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* Section helpers */
.s-label{font-family:var(--fm);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);display:block;margin-bottom:12px;}
.s-h2{font-size:clamp(30px,3.8vw,48px);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--text);margin-bottom:16px;}
.s-p{font-size:16px;line-height:1.72;color:var(--text2);}

/* CTA section */
.cta-sec{padding:60px 0 100px;}
.cta-card{background:var(--dark);border-radius:var(--r-xl);padding:88px 64px;text-align:center;position:relative;overflow:hidden;}
.cta-card::before{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.2) 0%,transparent 65%);pointer-events:none;}
.cta-card::after{content:'';position:absolute;bottom:-120px;right:-60px;width:360px;height:360px;background:radial-gradient(circle,rgba(16,185,129,.12) 0%,transparent 65%);pointer-events:none;}
.cta-h2{font-size:clamp(30px,4vw,52px);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-.035em;margin-bottom:20px;position:relative;z-index:1;}
.cta-h2 em{font-family:var(--fd);font-style:italic;font-weight:600;}
.cta-p{font-size:17px;color:rgba(255,255,255,.5);max-width:440px;margin:0 auto 44px;line-height:1.68;position:relative;z-index:1;}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1;}

/* Footer */
footer{padding:48px 0 36px;border-top:1px solid var(--border);}
.foot-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:48px;gap:40px;flex-wrap:wrap;}
.foot-brand{max-width:280px;}
.foot-logo{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:12px;}
.foot-tagline{font-size:14px;color:var(--text3);line-height:1.65;}
.foot-cols{display:flex;gap:56px;flex-wrap:wrap;}
.foot-col-title{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:14px;}
.foot-col a{display:block;font-size:14px;color:var(--text2);margin-bottom:10px;transition:color .15s;}
.foot-col a:hover{color:var(--text);}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;}
.foot-copy{font-family:var(--fm);font-size:12px;color:var(--text3);}
.foot-links{display:flex;gap:20px;}
.foot-links a{font-size:13px;color:var(--text3);transition:color .15s;}
.foot-links a:hover{color:var(--text2);}

/* Shared JS script included in every page */
@media(max-width:900px){.wrap{padding:0 28px;}}
@media(max-width:768px){
  .wrap{padding:0 20px;}
  #nav-wrap{width:calc(100% - 32px);}
  .n-links{display:none;}
  .burger{display:flex;}
  .cta-card{padding:52px 28px;}
  .foot-cols{gap:36px;}
  .foot-top{flex-direction:column;}
}
