/* ═══════════════════════════════════════════════
   PULASPACE — main.css  (v2 — with modal/sheet)
═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Raleway:wght@300;400;500;600;700;800&display=swap');

/* ── Tokens ──────────────────────────────────── */
:root{
  --blue:#1E5BFF; --blue-d:#1448d4; --blue-l:#eef3ff;
  --ink:#0a0f1e;  --ink-2:#3d4460;  --ink-3:#7c84a0;
  --line:#e4e8f2; --bg:#fff;        --bg-2:#f7f8fc;
  --r:12px;       --r-lg:20px;
  --nav:68px;
  --ease:.3s cubic-bezier(.4,0,.2,1);
  --shadow:0 4px 24px rgba(30,91,255,.10);
  --shadow-lg:0 12px 48px rgba(30,91,255,.18);
  --success:#22c55e; --danger:#ef4444;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Raleway',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit}

/* ── Layout ──────────────────────────────────── */
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.sec{padding:100px 0}
.sec-sm{padding:70px 0}
.tc{text-align:center}
.serif{font-family:'DM Serif Display',serif}
.label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:10px}
.h1{font-size:clamp(2.6rem,5.5vw,4.2rem);line-height:1.08;letter-spacing:-.03em}
.h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.025em}
.h3{font-size:1.18rem;font-weight:700;letter-spacing:-.01em}
.body-lg{font-size:1.05rem;color:var(--ink-2);line-height:1.72}

/* ── Buttons ─────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:50px;font-weight:700;font-size:.93rem;transition:var(--ease);cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff;border:2px solid var(--blue)}
.btn-primary:hover{background:var(--blue-d);border-color:var(--blue-d);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-ghost{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-ghost:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff;border:2px solid var(--ink)}
.btn-dark:hover{background:#1c2440;transform:translateY(-2px)}
.btn-lg{padding:16px 36px;font-size:1rem}
.btn-sm{padding:8px 18px;font-size:.83rem}

/* ── Spinner ─────────────────────────────────── */
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block;vertical-align:middle}

/* ── Toast ───────────────────────────────────── */
#toast-root{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:var(--ink);color:#fff;padding:10px 18px;border-radius:9px;font-size:.82rem;font-weight:600;box-shadow:0 4px 20px rgba(0,0,0,.2);animation:fadeUp .2s ease both}
.toast.success{background:#15803d}
.toast.error{background:var(--danger)}

/* ── Nav ─────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:900;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,232,242,.7);transition:box-shadow var(--ease)}
.nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.nav-logo img{height:52px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:8px 14px;border-radius:50px;font-size:.87rem;font-weight:600;color:var(--ink-2);transition:var(--ease)}
.nav-links a:hover{color:var(--blue);background:var(--blue-l)}
.nav-right{display:flex;align-items:center;gap:10px}
.burger{display:none;flex-direction:column;gap:5px;padding:6px;width:36px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:var(--ease)}
.mobile-menu{display:none;position:fixed;top:var(--nav);left:0;right:0;background:#fff;z-index:899;padding:16px 20px 28px;border-bottom:1px solid var(--line);transform:translateY(-10px);opacity:0;pointer-events:none;transition:var(--ease)}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:all}
.mobile-menu a{display:block;padding:12px 16px;font-weight:600;color:var(--ink-2);border-radius:var(--r);transition:var(--ease)}
.mobile-menu a:hover{background:var(--blue-l);color:var(--blue)}
.mobile-menu .btn{margin-top:12px;width:100%;justify-content:center}
.page-pad{padding-top:var(--nav)}

/* ── Reveal ──────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}

/* ═══════════════════════════════════════════════
   MODAL + BOTTOM SHEET SYSTEM
   Desktop → centered modal
   Mobile  → bottom sheet slide-up
═══════════════════════════════════════════════ */
.ps-overlay{
  position:fixed;inset:0;
  background:rgba(10,15,30,.55);
  backdrop-filter:blur(3px);
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  transition:opacity var(--ease);
}
.ps-overlay.open{display:flex;animation:fadeIn .2s ease both}

/* Modal box (desktop) */
.ps-modal{
  background:#fff;
  border-radius:var(--r-lg);
  width:100%;
  max-width:560px;
  max-height:92vh;
  overflow-y:auto;
  box-shadow:0 24px 80px rgba(0,0,0,.2);
  animation:modalIn .28s cubic-bezier(.34,1.3,.64,1) both;
  position:relative;
}
.ps-modal-lg{max-width:680px}
.ps-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px 0;
  position:sticky;top:0;background:#fff;z-index:2;
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.ps-modal-head h3{font-size:1.05rem;font-weight:800}
.ps-modal-close{
  width:30px;height:30px;border-radius:8px;
  background:var(--bg-2);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:var(--ease);flex-shrink:0
}
.ps-modal-close:hover{background:var(--line)}
.ps-modal-close svg{width:16px;height:16px}
.ps-modal-body{padding:20px 24px 28px}

/* Bottom sheet (mobile ≤ 768px) */
.ps-sheet{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  background:#fff;
  border-radius:20px 20px 0 0;
  z-index:1001;
  max-height:92vh;
  overflow-y:auto;
  box-shadow:0 -8px 40px rgba(0,0,0,.15);
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.ps-sheet.open{transform:translateY(0)}
.ps-sheet-handle{
  width:40px;height:4px;border-radius:2px;
  background:var(--line);margin:12px auto 0;flex-shrink:0
}
.ps-sheet-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px 0
}
.ps-sheet-head h3{font-size:1rem;font-weight:800}
.ps-sheet-body{padding:16px 20px 32px}

/* Show modal on desktop, sheet on mobile */
@media(min-width:769px){
  .ps-sheet{display:none!important}
  .ps-overlay.open{display:flex}
  .ps-modal{display:block}
}
@media(max-width:768px){
  .ps-overlay.open{display:block;padding:0;background:rgba(10,15,30,.55)}
  .ps-modal{display:none!important}
  .ps-sheet{display:block}
}

/* ── Forms (shared) ──────────────────────────── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:2px}
.fg label{font-size:.79rem;font-weight:700;color:var(--ink-2)}
.fg input,.fg select,.fg textarea{
  padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r);
  font-size:.92rem;color:var(--ink);outline:none;
  transition:border-color var(--ease);background:#fff;width:100%
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue)}
.fg input.err,.fg select.err{border-color:var(--danger)}
.fg .err-txt{font-size:.74rem;color:var(--danger);display:none;margin-top:2px}
.fg.has-err .err-txt{display:block}
.fg.full{grid-column:1/-1}
.fg textarea{resize:vertical;min-height:80px}
.word-counter{font-size:.74rem;color:var(--ink-3);text-align:right;margin-top:3px}
.phone-wrap{display:flex;gap:8px}
.phone-wrap select{width:130px;flex-shrink:0}
.phone-wrap input{flex:1}
.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.chip{padding:7px 15px;border:1.5px solid var(--line);border-radius:50px;font-size:.81rem;font-weight:600;cursor:pointer;transition:var(--ease);user-select:none;color:var(--ink-2)}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip.sel{background:var(--blue);color:#fff;border-color:var(--blue)}
.form-submit{margin-top:20px}
.success-box{text-align:center;padding:32px 0}
.success-box svg{display:block;margin:0 auto 12px}
.success-box h4{font-size:1.15rem;font-weight:800;margin-bottom:8px}
.success-box p{color:var(--ink-3);font-size:.9rem;max-width:400px;margin:0 auto;line-height:1.65}

/* Steps bar (consultation) */
.steps-bar{display:flex;align-items:flex-start;margin-bottom:24px}
.step-item{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}
.step-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:var(--ink-3);background:#fff;z-index:1;transition:var(--ease)}
.step-dot.done{background:var(--blue);border-color:var(--blue);color:#fff}
.step-dot.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:var(--shadow)}
.step-label{font-size:.66rem;font-weight:700;color:var(--ink-3);margin-top:5px;white-space:nowrap}
.step-line{position:absolute;top:12px;left:50%;right:-50%;height:1px;background:var(--line);z-index:0}
.step-line.done{background:var(--blue)}
.step-item:last-child .step-line{display:none}
.consult-step{display:none}
.consult-step.active{display:block;animation:fadeUp .25s ease both}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.time-slot{padding:9px;border:1.5px solid var(--line);border-radius:8px;text-align:center;font-size:.81rem;font-weight:700;cursor:pointer;transition:var(--ease)}
.time-slot:hover{border-color:var(--blue);color:var(--blue)}
.time-slot.sel{background:var(--blue);color:#fff;border-color:var(--blue)}
.time-slot.taken{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.pricing-card{border:1.5px solid var(--line);border-radius:var(--r);padding:14px;text-align:center;cursor:pointer;transition:var(--ease)}
.pricing-card:hover{border-color:var(--blue)}
.pricing-card.sel{border-color:var(--blue);background:var(--blue-l)}
.pricing-price{font-size:1.4rem;font-weight:800;color:var(--blue);line-height:1.1}
.pricing-tier{font-size:.78rem;font-weight:700;margin-bottom:4px}
.pricing-desc{font-size:.74rem;color:var(--ink-3);margin-top:4px}

/* ── Hero ────────────────────────────────────── */
.hero{min-height:calc(100vh - var(--nav));display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background:#fff}
.hero::before{content:'';position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(30,91,255,.055) 0%,transparent 65%);top:-300px;right:-300px;pointer-events:none;z-index:0}
.hero::after{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(30,91,255,.04) 0%,transparent 70%);bottom:-150px;left:-150px;pointer-events:none;z-index:0}
.hero-content{position:relative;z-index:1;max-width:700px;padding:80px 0 60px;animation:fadeUp .9s ease both}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--blue-l);color:var(--blue);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:50px;margin-bottom:28px}
.hero-title{margin-bottom:22px}
.hero-title em{font-style:italic;color:var(--blue)}
.hero-sub{font-size:1.1rem;color:var(--ink-2);max-width:520px;line-height:1.72;margin-bottom:36px}
.trust-line{display:flex;align-items:center;gap:10px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line);flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.trust-item::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}
.trust-sep{width:1px;height:18px;background:var(--line)}

/* ── Partners Carousel ───────────────────────── */
.partners-sec{padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.partners-label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);text-align:center;margin-bottom:28px}
.carousel-wrap{overflow:hidden;position:relative}
.carousel-wrap::before,.carousel-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.carousel-wrap::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.carousel-wrap::after{right:0;background:linear-gradient(to left,#fff,transparent)}
.carousel-track{display:flex;gap:16px;animation:scrollLeft 32s linear infinite;width:max-content}
.carousel-track:hover{animation-play-state:paused}
.partner-chip{height:44px;padding:0 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:50px;display:flex;align-items:center;font-size:.78rem;font-weight:700;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:var(--ease)}
.partner-chip:hover{border-color:var(--blue);color:var(--blue)}

/* ── Pillars ─────────────────────────────────── */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.pillar-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 30px;transition:var(--ease);display:flex;flex-direction:column;gap:14px}
.pillar-card:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pillar-card--wide{grid-column:1/-1}
.pillar-icon{width:52px;height:52px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pillar-icon.blue{background:var(--blue-l);color:var(--blue)}
.pillar-icon.dark{background:var(--ink);color:#fff}
.pillar-icon.green{background:#dcfce7;color:#15803d}
.pillar-icon.amber{background:#fef3c7;color:#92400e}
.pillar-title{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
.pillar-body{font-size:.93rem;color:var(--ink-2);line-height:1.68;flex:1}

/* ── Features ────────────────────────────────── */
.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:56px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.feat-col{padding:48px 40px;background:#fff}
.feat-col:first-child{border-right:1px solid var(--line)}
.feat-col-head{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.feat-col-icon{width:44px;height:44px;border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.feat-col-icon.blue{background:var(--blue-l);color:var(--blue)}
.feat-col-icon.dark{background:var(--ink);color:#fff}
.feat-col-title{font-size:1.05rem;font-weight:800}
.feat-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.feat-item:last-child{border-bottom:none}
.feat-item-icon{width:32px;height:32px;border-radius:8px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;color:var(--blue);flex-shrink:0;margin-top:2px}
.feat-item h4{font-size:.95rem;font-weight:700;margin-bottom:3px}
.feat-item p{font-size:.87rem;color:var(--ink-3);line-height:1.6}

/* ── HIW ─────────────────────────────────────── */
.hiw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;position:relative}
.hiw-steps::before{content:'';position:absolute;top:27px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);height:1px;background:var(--line);z-index:0}
.hiw-step{text-align:center;padding:0 16px;position:relative;z-index:1}
.hiw-num{width:56px;height:56px;border-radius:50%;background:#fff;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:var(--blue);margin:0 auto 18px}
.hiw-step.active .hiw-num{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:var(--shadow)}
.hiw-step h4{font-size:.95rem;font-weight:700;margin-bottom:8px}
.hiw-step p{font-size:.83rem;color:var(--ink-3);line-height:1.6}

/* ── Testimonials ────────────────────────────── */
.testi-wrap{overflow:hidden;position:relative;margin-top:52px}
.testi-wrap::before,.testi-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.testi-wrap::before{left:0;background:linear-gradient(to right,var(--bg-2),transparent)}
.testi-wrap::after{right:0;background:linear-gradient(to left,var(--bg-2),transparent)}
.testi-track{display:flex;gap:20px;animation:scrollLeft 42s linear infinite;width:max-content}
.testi-track:hover{animation-play-state:paused}
.testi-card{width:300px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px;transition:var(--ease)}
.testi-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-3px)}
.testi-stars{display:flex;gap:2px;margin-bottom:12px;color:#f59e0b}
.testi-text{font-size:.88rem;color:var(--ink-2);line-height:1.68;margin-bottom:16px}
.testi-profile{display:flex;align-items:center;gap:10px}
.testi-av{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--blue-l);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;color:var(--blue);flex-shrink:0}
.testi-av img{width:100%;height:100%;object-fit:cover}
.testi-name{font-size:.86rem;font-weight:700}
.testi-role{font-size:.76rem;color:var(--ink-3)}

/* ── Venture/Consulting sections ─────────────── */
.vc-sec{padding:80px 0}
.vc-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.vc-left{position:sticky;top:88px}
.vc-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:50px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.vc-badge.blue{background:var(--blue-l);color:var(--blue)}
.vc-badge.dark{background:var(--ink);color:#fff}
.vc-body{font-size:.97rem;color:var(--ink-2);line-height:1.72;margin-bottom:24px}
.vc-check{display:flex;gap:12px;align-items:center;font-size:.92rem;color:var(--ink-2);margin-bottom:12px}
.vc-check svg{color:var(--blue);flex-shrink:0}
.vc-placeholder{border-radius:var(--r-lg);padding:52px 36px;text-align:center}

/* ── Venture form reveal ─────────────────────── */
#ventureFormWrap{display:none;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ── About ───────────────────────────────────── */
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:56px}
.mission-block{background:var(--blue);color:#fff;border-radius:var(--r-lg);padding:40px}
.mission-block .label{color:rgba(255,255,255,.6)}
.mission-block blockquote{font-family:'DM Serif Display',serif;font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.32;font-style:italic;margin-top:10px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.team-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 18px;text-align:center;transition:var(--ease)}
.team-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow)}
.team-av{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--blue-l);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;color:var(--blue);margin:0 auto 12px}
.team-av img{width:100%;height:100%;object-fit:cover}
.team-name{font-size:.93rem;font-weight:700;margin-bottom:2px}
.team-role{font-size:.78rem;color:var(--ink-3);margin-bottom:10px}
.team-li{display:inline-flex;align-items:center;gap:5px;font-size:.77rem;font-weight:600;color:var(--blue)}

/* ── Gallery ─────────────────────────────────── */
.gallery-wrap{overflow:hidden;position:relative;margin-top:48px}
.gallery-wrap::before,.gallery-wrap::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.gallery-wrap::before{left:0;background:linear-gradient(to right,var(--bg-2),transparent)}
.gallery-wrap::after{right:0;background:linear-gradient(to left,var(--bg-2),transparent)}
.gallery-track{display:flex;gap:14px;animation:scrollLeft 38s linear infinite;width:max-content}
.gallery-track:hover{animation-play-state:paused}
.gallery-img{width:270px;height:175px;border-radius:var(--r-lg);flex-shrink:0;overflow:hidden;position:relative;background:var(--blue-l)}
.gallery-img img{width:100%;height:100%;object-fit:cover;   background-image: url("img/images.png");
}
.gallery-label{position:absolute;bottom:10px;left:10px;right:10px;background:rgba(10,15,30,.65);color:#fff;font-size:.74rem;font-weight:600;padding:5px 10px;border-radius:7px;backdrop-filter:blur(6px)}

/* ── Blog ────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.blog-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:var(--ease)}
.blog-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow)}
.blog-thumb{height:155px;background:var(--blue-l);overflow:hidden}
.blog-thumb img{width:100%;height:100%;object-fit:cover}
.blog-body{padding:20px 18px}
.blog-tag{font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:7px}
.blog-title{font-size:.97rem;font-weight:700;line-height:1.38;margin-bottom:7px}
.blog-excerpt{font-size:.82rem;color:var(--ink-3);line-height:1.6;margin-bottom:12px}
.blog-meta{font-size:.74rem;color:var(--ink-3);display:flex;gap:8px}

/* ── Footer ──────────────────────────────────── */
.footer{background:var(--ink);color:#fff;padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand img{height:50px;filter:brightness(0) invert(1);margin-bottom:14px}
.footer-brand p{font-size:.86rem;color:rgba(255,255,255,.45);line-height:1.68;max-width:230px}
.footer-col h5{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:14px}
.footer-col a{display:block;font-size:.87rem;color:rgba(255,255,255,.55);margin-bottom:9px;transition:color var(--ease)}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.79rem;color:rgba(255,255,255,.3)}
.footer-socials{display:flex;gap:10px}
.footer-socials a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:var(--ease)}
.footer-socials a:hover{background:var(--blue);color:#fff}

/* ── Animations ──────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ── Responsive ──────────────────────────────── */
@media(max-width:1024px){
  .vc-inner{grid-template-columns:1fr;gap:36px}
  .vc-left{position:static}
  .features-grid{grid-template-columns:1fr}
  .feat-col:first-child{border-right:none;border-bottom:1px solid var(--line)}
  .hiw-steps{grid-template-columns:1fr 1fr;gap:32px}
  .hiw-steps::before{display:none}
  .pillars-grid{grid-template-columns:1fr 1fr}
  .pricing-cards{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-links,.nav-right .btn{display:none}
  .burger{display:flex}
  .mobile-menu{display:block}
  .sec{padding:64px 0}
  .vc-sec{padding:56px 0}
  .form-grid{grid-template-columns:1fr}
  .about-inner,.footer-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .hero-content{padding:48px 0 40px}
  .hiw-steps{grid-template-columns:1fr 1fr}
  .slot-grid{grid-template-columns:1fr 1fr}
  .ps-modal-body,.ps-sheet-body{padding:14px 16px 28px}
}
@media(max-width:480px){
  .burger{display:flex}
  .hiw-steps{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:1fr}
  .slot-grid{grid-template-columns:1fr 1fr}
}
