

:root{
  --cb-white:#ffffff;
  --cb-black:#231f1f;
  --cb-lp:#982587;
  --cb-dp:#612466;
  --cb-cyan:#36b8b5;

  /* Focus ring */
  --cb-focus: rgba(54, 184, 181, .25);
  --cb-focus-2: rgba(152, 37, 135, .18);

  /* Glass */
  --cb-glass: rgba(255,255,255,.72);
  --cb-glass-2: rgba(255,255,255,.60);
  --cb-glass-border: rgba(35,31,31,.10);
}

/* -----------------------------
   Base: Global Brand Defaults
-------------------------------- */

html { background: var(--cb-white); }
body{
  background: var(--cb-white);
  color: #000000; /* requested */
  font-family: "Montserrat", ui-sans-serif, system-ui;
}

    :root{
      --cb-black:#231f1f;
      --cb-purple:#982587;
      --cb-purple2:#612466;
      --cb-cyan:#36b8b5;
      --glass: rgba(255,255,255,.78);
      --glass2: rgba(255,255,255,.62);
      --border: rgba(35,31,31,.10);
      --shadow: 0 18px 48px rgba(0,0,0,.10);
    }
    body{ font-family: Montserrat, system-ui; color:#000; background:#fff; }
    .glass{ background: var(--glass); border:1px solid var(--border); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
    .glass2{ background: var(--glass2); border:1px solid var(--border); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
    .pill{ border:1px solid var(--border); background: rgba(255,255,255,.80); }
    .focusRing:focus{ outline:none; box-shadow: 0 0 0 6px rgba(54,184,181,.22); }
    .press{ transition: transform .14s ease, filter .14s ease; }
    .press:active{ transform: scale(.985); filter: brightness(.99); }

    /* Dual divider lines (purple + cyan) */
    .dual-lines{
      height: 10px;
      display: grid;
      grid-template-rows: 3px 3px;
      row-gap: 5px;
      background: transparent;
    }
    .line-purple{ background: linear-gradient(90deg, var(--cb-purple), var(--cb-purple2)); border-radius: 999px; }
    .line-cyan{ background: linear-gradient(90deg, var(--cb-cyan), rgba(54,184,181,.55)); border-radius: 999px; }

    /* Desktop mega dropdown */
    .megaShadow{ box-shadow: var(--shadow); }

    /* Overlay + drawer (mobile menu) */
    .overlay{ background: rgba(0,0,0,.28); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
    .drawerShadow{ box-shadow: 0 26px 70px rgba(0,0,0,.16); }

    /* Bottom dock safe area */
    .safe-pad { padding-bottom: env(safe-area-inset-bottom); }

    /* Panels: full-width bottom sheet on mobile, card on desktop */
    .panel {
      position: fixed;
      left: 0; right: 0;
      bottom: 0;
      z-index: 95;
      display: none;
      max-height: 86vh;
      border-top-left-radius: 24px;
      border-top-right-radius: 24px;
      overflow: hidden;
      box-shadow: 0 26px 70px rgba(0,0,0,.18);
    }
    @media (min-width: 1024px){
      .panel{
        left: auto; right: 1.5rem;
        bottom: auto; top: 6.25rem; /* below header */
        width: 420px;
        max-height: 70vh;
        border-radius: 24px;
        box-shadow: var(--shadow);
      }
    }

    /* Ripple */
    .ripple {
      position:absolute; border-radius:9999px; pointer-events:none;
      transform:scale(0); opacity:.22;
      background: radial-gradient(circle, rgba(54,184,181,.55), rgba(54,184,181,.18), transparent 70%);
      animation: ripple .55s ease-out forwards;
    }
    @keyframes ripple { to { transform: scale(1); opacity: 0; } }

/* Titles */
h1,h2,h3,h4,h5,h6{
  font-family: "Bricolage Grotesque", ui-sans-serif, system-ui;
  letter-spacing: -0.01em;
}
.h-56{
  height: 23rem!important;
}
/* Make brand identity bold + crisp */
strong, b { font-weight: 700; }

/* Selection */
::selection{ background: rgba(54,184,181,.22); }

  /* Slider layers */
  #heroSlider .hero-slide { position:absolute; inset:0; transition: opacity 700ms ease; }
  #heroSlider .hero-media, #heroSlider picture, #heroSlider img { width:100%; height:100%; display:block; }
  #heroSlider img { object-fit: cover; object-position: center; }
/* -----------------------------
   Utility: Color Classes
   (use when you want CSS classes
   even outside Tailwind)
-------------------------------- */
.cb-white{ color: var(--cb-white); }
.cb-black{ color: var(--cb-black); }
.cb-lp{ color: var(--cb-lp); }
.cb-dp{ color: var(--cb-dp); }
.cb-cyan{ color: var(--cb-cyan); }

.bg-cb-white{ background: var(--cb-white); }
.bg-cb-black{ background: var(--cb-black); }
.bg-cb-lp{ background: var(--cb-lp); }
.bg-cb-dp{ background: var(--cb-dp); }
.bg-cb-cyan{ background: var(--cb-cyan); }

/* -----------------------------
   Utility: Font Size Classes
-------------------------------- */
.fs-s{ font-size: .65rem; }
.fs-m{ font-size: .75rem; }
.fs-l{ font-size: .85rem; }
.fs-xl{ font-size: .95rem; }
.fs-xxl{ font-size: 1.05rem; }

/* Requested override: Tailwind-like text-xs bump */
.text-xs{ font-size: .95rem !important; }

/* Requested override: slate-600 -> pure black (site-wide safety net) */
.text-slate-600{ color:#000000 !important; }

/* -----------------------------
   Shadows: softest -> hardest
-------------------------------- */
.shadow-cb-0{ box-shadow: 0 1px 1px rgba(0,0,0,.03); }
.shadow-cb-1{ box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.shadow-cb-2{ box-shadow: 0 10px 28px rgba(0,0,0,.09); }
.shadow-cb-3{ box-shadow: 0 18px 48px rgba(0,0,0,.12); }
.shadow-cb-4{ box-shadow: 0 26px 70px rgba(0,0,0,.16); }

/* -----------------------------
   Glass + blur helpers
-------------------------------- */
.glass{
  background: rgba(255,255,255,.08);
  border: 1px solid var(--cb-glass-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.glass-strong{
  background: var(--cb-glass-2);
  border: 1px solid var(--cb-glass-border);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

/* -----------------------------
   Buttons (no drop shadow)
   1) White with black outline
      hover: light purple
   2) Solid light purple
      hover: cyan
-------------------------------- */
.btn-outline{
  background: #fff;
  border: 1.5px solid var(--cb-black);
  color: #000;
  border-radius: 1rem;
  padding: .75rem 1.1rem;
  font-weight: 700;
      font-size: 13px;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.btn-outline:hover{
  background: rgba(152,37,135,.10);
  border-color: var(--cb-lp);
}
.btn-outline:focus{
  outline: none;
  box-shadow: 0 0 0 6px var(--cb-focus);
}
.text-slate-700 {
    --tw-text-opacity: 1!important;
    color: rgb(16 21 27)!important;
}

.btn-solid{
  background: var(--cb-lp);
  border: 1.5px solid var(--cb-lp);
  color: #fff;
  border-radius: 2rem;
  padding: .55rem 1.1rem;
  font-weight: 800;
  font-size: 14px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.btn-solid:hover{
  background: var(--cb-cyan);
  border-color: var(--cb-cyan);
}
.btn-solid:focus{
  outline: none;
  box-shadow: 0 0 0 6px var(--cb-focus-2);
}
.max-w-2xl {
    max-width: 38rem!important;
}
@layer utilities {
  /* single corners */
  .r-tl { border-top-left-radius: 1rem; }
  .r-tr { border-top-right-radius: 1rem; }
  .r-br { border-bottom-right-radius: 1rem; }
  .r-bl { border-bottom-left-radius: 1rem; }

  /* top corners */
  .r-t { 
    border-top-left-radius: 1rem; 
    border-top-right-radius: 1rem; 
  }
   /* top corners */
  .r-t-3xl { 
    border-top-left-radius: 1.5rem; 
    border-top-right-radius: 1.5rem; 
  }

  /* bottom corners */
  .r-b { 
    border-bottom-left-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  /* left corners */
  .r-l { 
    border-top-left-radius: 1rem; 
    border-bottom-left-radius: 1rem; 
  }

  /* right corners */
  .r-r { 
    border-top-right-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  /* diagonal corners */
  .r-diag-tl-br { 
    border-top-left-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  .r-diag-tr-bl { 
    border-top-right-radius: 1rem; 
    border-bottom-left-radius: 1rem; 
  }
}

.card{
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
}
.card-soft{ box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.card-glass{
  border: none;
  border-radius: 1.5rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
  background: var(--cb-glass);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.card-outline {
    border-radius: 1.5rem;
    background: var(--cb-glass);
    border:solid,3px, rgba(35,31,31,.08);
}
/* -----------------------------
   Tabs
   - White background + soft shadow + glass
   - Outline borders for white tabs
-------------------------------- */
.tab{
  background: #fff;
  border: 1px solid rgba(35,31,31,.14); /* requested: outline borders for white tabs */
  padding: .6rem 1rem;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.tab:hover{ background: rgba(54,184,181,.08); border-color: rgba(54,184,181,.35); }
.tab-active{
  background: rgba(152,37,135,.10);
  border-color: rgba(152,37,135,.40);
}

.header-glass{
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(35,31,31,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
}

/* Inputs (enterprise crisp) */
.input{
  background: #fff;
  border: 1px solid rgba(35,31,31,.14);
  border-radius: 2rem;
  padding: .75rem 1rem;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.input:focus{
  outline: none;
  border-color: rgba(54,184,181,.55);
  box-shadow: 0 0 0 6px var(--cb-focus);
}


 

    /* Scroll reveal */
    [data-reveal] { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
    [data-reveal].is-in { opacity: 1; transform: translateY(0); }

    /* Spotlight overlay (cursor-driven) */
    .designSpotlight {
      --mx: 50%;
      --my: 50%;
      background: radial-gradient(420px circle at var(--mx) var(--my),
        rgba(54,184,181,.18),
        rgba(152,37,135,.10),
        transparent 62%);
    }

    /* Tilt performance */
    .tilt {
      transform-style: preserve-3d;
      will-change: transform;
    }


    /* Buttons (keeps consistent look without heavy styling) */
    .pp-btn-outline{ padding:.75rem 1rem; border-radius:9999px; border:1px solid rgba(0,0,0,.12); background:rgba(255,255,255,.65); backdrop-filter: blur(14px); font-weight:700; font-size:.875rem; }
    .pp-btn-outline:hover{ border-color: rgba(0,0,0,.2); }
    .pp-btn-solid{ padding:.75rem 1rem; border-radius:9999px; font-weight:800; font-size:.875rem; color:#fff; background: linear-gradient(90deg, var(--cb-purple,#a12d90), var(--cb-teal,#30c0bc)); }
    .pp-btn-solid:hover{ filter: brightness(0.98); }

    /* Rail snap (mobile) */
    .pp-rail{ scroll-snap-type:x mandatory; -webkit-overflow-scrolling: touch; }
    @media (min-width:1024px){ .pp-rail{ scroll-snap-type:none; } }

    /* Rail item */
    .pp-item{
      scroll-snap-align:start;
      width: 85%;
      min-width: 280px;
      text-align:left;
      display:flex;
      align-items:center;
      gap:.75rem;
      padding: .9rem .95rem;
      border-radius: 1.25rem;
      border: 1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(14px);
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    @media (min-width:640px){ .pp-item{ width: 70%; } }
    @media (min-width:1024px){ .pp-item{ width: 100%; min-width: 0; } }

    .pp-item:hover{ transform: translateY(-2px); border-color: rgba(0,0,0,.18); }
    .pp-item-active{
      border-color: rgba(48,192,188,.45);
      background: rgba(255,255,255,.84);
      box-shadow: 0 12px 30px rgba(0,0,0,.06);
    }

    .pp-icon{
      height: 44px; width: 44px;
      border-radius: 16px;
      display:grid; place-items:center;
      border: 1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.8);
      color: var(--cb-plum,#672a6a);
      flex: 0 0 auto;
    }
    .pp-meta{ display:flex; flex-direction:column; min-width:0; flex:1; }
    .pp-title{ font-weight: 900; font-size: .95rem; line-height: 1.15; }
    .pp-sub{ font-size: .75rem; color: rgba(15,23,42,.72); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:.2rem; }
    .pp-arrow{ font-weight: 900; opacity: .6; }

    .pp-chip{ font-size:.75rem; font-weight:700; padding:.28rem .65rem; border-radius:9999px; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.75); }

    .pp-acc{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:.55rem .75rem;
      border-radius: 1rem;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.72);
    }
    .pp-acc:hover{ border-color: rgba(0,0,0,.18); }

    /* Reveal */
    [data-pp-reveal]{ opacity:0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
    [data-pp-reveal].pp-in{ opacity:1; transform: translateY(0); }


    .-translate-x-1\/2 {
    --tw-translate-x: -45%!important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

    .deNav{
      height:42px; width:42px; border-radius:16px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.75);
      display:grid; place-items:center;
      font-weight:900;
      transition: transform .15s ease, border-color .15s ease;
    }
    .deNav:hover{ transform: translateY(-1px); border-color: rgba(0,0,0,.18); }

    .deLaneTab{
      padding:.55rem .9rem; border-radius:9999px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.7);
      font-weight:900; font-size:.8rem;
    }
    .deLaneTabActive{
      border-color: rgba(48,192,188,.45);
      background: rgba(255,255,255,.9);
    }

    .deChip{ font-size:.75rem; font-weight:900; padding:.28rem .65rem; border-radius:9999px; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.75); }

    .deBtnOutline{
      padding:.75rem 1rem; border-radius:9999px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.65);
      backdrop-filter: blur(14px);
      font-weight:900; font-size:.875rem;
    }
    .deBtnSolid{
      padding:.75rem 1rem; border-radius:9999px;
      font-weight:900; font-size:.875rem; color:#fff;
      background: linear-gradient(90deg, var(--cb-purple,#a12d90), var(--cb-teal,#30c0bc));
    }
/* =========================================================
   CREAT BRANDING — BRANDED LIST SYSTEM (GLOBAL)
   Mixable icons by hierarchy: arrow-square / arrow-circle / arrow-star
   Brand colors: Black, Light Purple, Dark Purple, Cyan
   Usage:
     <ul class="cb-list cb-list--sq cb-list--lp"> ... </ul>
     <ul class="cb-list cb-list--ci cb-list--cy cb-list--tight"> ... </ul>
     <ul class="cb-list cb-list--st cb-list--dp cb-list--lg"> ... </ul>
   ========================================================= */

/* Base list wrapper */
.cb-list{
  --cb-accent: var(--cb-lp, #982587);
  --cb-ink: #000;
  --cb-soft: rgba(35,31,31,.10);
  --cb-chip: rgba(255,255,255,.80);
  --cb-gap: 0.85rem;
  --cb-padL: 3rem;
  --cb-icon: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cb-list > li{
  position: relative;
  padding-left: var(--cb-padL);
  margin-top: var(--cb-gap);
  color: var(--cb-ink);
  line-height: 1.55;
}

.cb-list > li:first-child{ margin-top: 0; }

/* Optional hierarchy helpers */
.cb-list--tight{ --cb-gap: .55rem; }
.cb-list--relaxed{ --cb-gap: 1.05rem; }
.cb-list--lg{ --cb-padL: 3.25rem; --cb-icon: 2.35rem; }
.cb-list--sm{ --cb-padL: 2.75rem; --cb-icon: 2.05rem; }

/* Color variants */
.cb-list--lp{ --cb-accent: var(--cb-lp, #982587); }
.cb-list--dp{ --cb-accent: var(--cb-dp, #612466); }
.cb-list--cy{ --cb-accent: var(--cb-cy, #36b8b5); }
.cb-list--bk{ --cb-accent: var(--cb-b,  #231f1f); }

/* -----------------------------------------
   ICON CORE: long arrow + chip container
   ----------------------------------------- */
   
.cb-list > li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .15rem;
  width: var(--cb-icon);
  height: var(--cb-icon);

  border: 1px solid rgba(35,31,31,.10);
  display: grid;
  place-items: center;
}

/* Long arrow (default) */
.cb-list > li::after{
  content:"";
  position:absolute;
  left: .56rem;
  top: .15rem;
  width: calc(var(--cb-icon) - 1.12rem);
  height: var(--cb-icon);
  background:
    /* shaft */
    linear-gradient(var(--cb-accent), var(--cb-accent)) left 50%/70% 2px no-repeat,
    /* head */
    linear-gradient(45deg, transparent 45%, var(--cb-accent) 46% 54%, transparent 55%) right 52%/14px 14px no-repeat,
    linear-gradient(-45deg, transparent 45%, var(--cb-accent) 46% 54%, transparent 55%) right 48%/14px 14px no-repeat;
  opacity: .95;
  pointer-events:none;
}

/* Hover micro-interaction (safe, pro) */
.cb-list > li:hover::before{
  border-color: rgba(152,37,135,.22);
}
.cb-list > li:hover::after{
  filter: saturate(1.1);
}

/* -----------------------------------------
   SHAPES: square / circle / star
   ----------------------------------------- */

/* Square chip */
.cb-list--sq > li::before{
  border-radius: 0px;
}

/* Circle chip */
.cb-list--ci > li::before{
  border-radius: 999px;
}

/* Star chip (clip-path) */

/* -----------------------------------------
   MULTI-LEVEL LISTS (Hierarchy mix)
   ----------------------------------------- */

/* Level 2 */
.cb-list > li > ul{
  list-style:none;
  padding: .7rem 0 0 0;
  margin: 0;
}
.cb-list > li > ul > li{
  position: relative;
  padding-left: 2.55rem;
  margin-top: .55rem;
  color: #000;
}

/* Level 2 icon: smaller circle by default */
.cb-list > li > ul > li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .12rem;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(35,31,31,.10);
  box-shadow: 0 8px 18px rgba(35,31,31,.10);
}
.cb-list > li > ul > li::after{
  content:"";
  position:absolute;
  left: .5rem;
  top: .12rem;
  width: .85rem;
  height: 1.85rem;
  background:
    linear-gradient(var(--cb-accent), var(--cb-accent)) left 50%/70% 2px no-repeat,
    linear-gradient(45deg, transparent 45%, var(--cb-accent) 46% 54%, transparent 55%) right 52%/10px 10px no-repeat,
    linear-gradient(-45deg, transparent 45%, var(--cb-accent) 46% 54%, transparent 55%) right 48%/10px 10px no-repeat;
  opacity:.9;
}

/* Level 3: minimal dot (cyan default) */
.cb-list > li > ul > li > ul{
  list-style:none;
  padding: .55rem 0 0 0;
  margin: 0;
}
.cb-list > li > ul > li > ul > li{
  position: relative;
  padding-left: 1.35rem;
  margin-top: .45rem;
}
.cb-list > li > ul > li > ul > li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .55rem;
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--cb-accent);
  opacity:.85;
}

/* -----------------------------------------
   INLINE BADGES inside list items
   ----------------------------------------- */
.cb-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .55rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .85rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(35,31,31,.10);
}

/* -----------------------------
   Base: Global Brand Defaults
-------------------------------- */
html { background: var(--cb-white); }
body{
  background: var(--cb-white);
  color: #000000; /* requested */
  font-family: "Montserrat", ui-sans-serif, system-ui;
}

/* Titles */
h1,h2,h3,h4,h5,h6{
  font-family: "Bricolage Grotesque", ui-sans-serif, system-ui;
  letter-spacing: -0.01em;
}
.h-56{
  height: 23rem!important;
}
/* Make brand identity bold + crisp */
strong, b { font-weight: 700; }

/* Selection */
::selection{ background: rgba(54,184,181,.22); }

  /* Slider layers */
  #heroSlider .hero-slide { position:absolute; inset:0; transition: opacity 700ms ease; }
  #heroSlider .hero-media, #heroSlider picture, #heroSlider img { width:100%; height:100%; display:block; }
  #heroSlider img { object-fit: cover; object-position: center; }
/* -----------------------------
   Utility: Color Classes
   (use when you want CSS classes
   even outside Tailwind)
-------------------------------- */
.cb-white{ color: var(--cb-white); }
.cb-black{ color: var(--cb-black); }
.cb-lp{ color: var(--cb-lp); }
.cb-dp{ color: var(--cb-dp); }
.cb-cyan{ color: var(--cb-cyan); }

.bg-cb-white{ background: var(--cb-white); }
.bg-cb-black{ background: var(--cb-black); }
.bg-cb-lp{ background: var(--cb-lp); }
.bg-cb-dp{ background: var(--cb-dp); }
.bg-cb-cyan{ background: var(--cb-cyan); }

/* -----------------------------
   Utility: Font Size Classes
-------------------------------- */
.fs-s{ font-size: .65rem; }
.fs-m{ font-size: .75rem; }
.fs-l{ font-size: .85rem; }
.fs-xl{ font-size: .95rem; }
.fs-xxl{ font-size: 1.05rem; }

/* Requested override: Tailwind-like text-xs bump */
.text-xs{ font-size: .75rem !important; }

/* Requested override: slate-600 -> pure black (site-wide safety net) */
.text-slate-600{ color:#000000 !important; }

/* -----------------------------
   Shadows: softest -> hardest
-------------------------------- */
.shadow-cb-0{ box-shadow: 0 1px 1px rgba(0,0,0,.03); }
.shadow-cb-1{ box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.shadow-cb-2{ box-shadow: 0 10px 28px rgba(0,0,0,.09); }
.shadow-cb-3{ box-shadow: 0 18px 48px rgba(0,0,0,.12); }
.shadow-cb-4{ box-shadow: 0 26px 70px rgba(0,0,0,.16); }

/* -----------------------------
   Glass + blur helpers
-------------------------------- */
.glass{
  background: rgba(255,255,255,.08);
  border: 1px solid var(--cb-glass-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.glass-strong{
  background: var(--cb-glass-2);
  border: 1px solid var(--cb-glass-border);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

/* -----------------------------
   Buttons (no drop shadow)
   1) White with black outline
      hover: light purple
   2) Solid light purple
      hover: cyan
-------------------------------- */
.btn-outline{
  background: #fff;
  color: #000;
  border-radius: 1rem;
  padding: .75rem 1.1rem;
  font-weight: 700;
      font-size: 13px;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.btn-outline:hover{
  background: rgba(152,37,135,.10);
  border-color: var(--cb-lp);
}
.btn-outline:focus{
  outline: none;
  box-shadow: 0 0 0 6px var(--cb-focus);
}
.text-slate-700 {
    --tw-text-opacity: 1!important;
    color: rgb(16 21 27)!important;
}

.btn-solid{
  background: var(--cb-lp);
  border: 1.5px solid var(--cb-lp);
  color: #fff;
  border-radius: 2rem;
  padding: .55rem 1.1rem;
  font-weight: 800;
  font-size: 14px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.btn-solid:hover{
  background: var(--cb-cyan);
  border-color: var(--cb-cyan);
}
.btn-solid:focus{
  outline: none;
  box-shadow: 0 0 0 6px var(--cb-focus-2);
}
.max-w-2xl {
    max-width: 38rem!important;
}
@layer utilities {
  /* single corners */
  .r-tl { border-top-left-radius: 1rem; }
  .r-tr { border-top-right-radius: 1rem; }
  .r-br { border-bottom-right-radius: 1rem; }
  .r-bl { border-bottom-left-radius: 1rem; }

  /* top corners */
  .r-t { 
    border-top-left-radius: 1rem; 
    border-top-right-radius: 1rem; 
  }
   /* top corners */
  .r-t-3xl { 
    border-top-left-radius: 1.5rem; 
    border-top-right-radius: 1.5rem; 
  }

  /* bottom corners */
  .r-b { 
    border-bottom-left-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  /* left corners */
  .r-l { 
    border-top-left-radius: 1rem; 
    border-bottom-left-radius: 1rem; 
  }

  /* right corners */
  .r-r { 
    border-top-right-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  /* diagonal corners */
  .r-diag-tl-br { 
    border-top-left-radius: 1rem; 
    border-bottom-right-radius: 1rem; 
  }

  .r-diag-tr-bl { 
    border-top-right-radius: 1rem; 
    border-bottom-left-radius: 1rem; 
  }
}

.card{
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
}
.card-soft{ box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.card-glass{
  border: none;
  border-radius: 1.5rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  background: var(--cb-glass);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.card-outline {
    border-radius: 1.5rem;
    background: var(--cb-glass);
    border:solid,3px, rgba(35,31,31,.08);
}
/* -----------------------------
   Tabs
   - White background + soft shadow + glass
   - Outline borders for white tabs
-------------------------------- */
.tab{
  background: #fff;
  border: 1px solid rgba(35,31,31,.14); /* requested: outline borders for white tabs */
  padding: .6rem 1rem;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.tab:hover{ background: rgba(54,184,181,.08); border-color: rgba(54,184,181,.35); }
.tab-active{
  background: rgba(152,37,135,.10);
  border-color: rgba(152,37,135,.40);
}

.header-glass{
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(35,31,31,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
}

/* Inputs (enterprise crisp) */
.input{
  background: #fff;
  border: 1px solid rgba(35,31,31,.14);
  border-radius: 2rem;
  padding: .75rem 1rem;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.input:focus{
  outline: none;
  border-color: rgba(54,184,181,.55);
  box-shadow: 0 0 0 6px var(--cb-focus);
}

    /* Scroll reveal */
    [data-reveal] { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
    [data-reveal].is-in { opacity: 1; transform: translateY(0); }

    /* Spotlight overlay (cursor-driven) */
    .designSpotlight {
      --mx: 50%;
      --my: 50%;
      background: radial-gradient(420px circle at var(--mx) var(--my),
        rgba(54,184,181,.18),
        rgba(152,37,135,.10),
        transparent 62%);
    }

    /* Tilt performance */
    .tilt {
      transform-style: preserve-3d;
      will-change: transform;
    }

    /* Buttons (keeps consistent look without heavy styling) */
    .pp-btn-outline{ padding:.75rem 1rem; border-radius:9999px; border:1px solid rgba(0,0,0,.12); background:rgba(255,255,255,.65); backdrop-filter: blur(14px); font-weight:700; font-size:.875rem; }
    .pp-btn-outline:hover{ border-color: rgba(0,0,0,.2); }
    .pp-btn-solid{ padding:.75rem 1rem; border-radius:9999px; font-weight:800; font-size:.875rem; color:#fff; background: linear-gradient(90deg, var(--cb-purple,#a12d90), var(--cb-teal,#30c0bc)); }
    .pp-btn-solid:hover{ filter: brightness(0.98); }

    /* Rail snap (mobile) */
    .pp-rail{ scroll-snap-type:x mandatory; -webkit-overflow-scrolling: touch; }
    @media (min-width:1024px){ .pp-rail{ scroll-snap-type:none; } }

    /* Rail item */
    .pp-item{
      scroll-snap-align:start;
      width: 85%;
      min-width: 280px;
      text-align:left;
      display:flex;
      align-items:center;
      gap:.75rem;
      padding: .9rem .95rem;
      border-radius: 1.25rem;
      border: 1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(14px);
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    @media (min-width:640px){ .pp-item{ width: 70%; } }
    @media (min-width:1024px){ .pp-item{ width: 100%; min-width: 0; } }

    .pp-item:hover{ transform: translateY(-2px); border-color: rgba(0,0,0,.18); }
    .pp-item-active{
      border-color: rgba(48,192,188,.45);
      background: rgba(255,255,255,.84);
      box-shadow: 0 12px 30px rgba(0,0,0,.06);
    }

    .pp-icon{
      height: 44px; width: 44px;
      border-radius: 16px;
      display:grid; place-items:center;
      border: 1px solid rgba(0,0,0,.10);
      background: rgb(9 9 9 / 90%);
      color: #FFF;
      flex: 0 0 auto;
    }
    .pp-meta{ display:flex; flex-direction:column; min-width:0; flex:1; }
    .pp-title{ font-weight: 900; font-size: .95rem; line-height: 1.15; }
    .pp-sub{ font-size: .75rem; color: rgba(15,23,42,.72); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:.2rem; }
    .pp-arrow{ font-weight: 900; opacity: .6; }

    .pp-chip{ font-size:.75rem; font-weight:700; padding:.28rem .65rem; border-radius:9999px; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.75); }

    .pp-acc{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:.55rem .75rem;
      border-radius: 1rem;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.72);
    }
    .pp-acc:hover{ border-color: rgba(0,0,0,.18); }

    /* Reveal */
    [data-pp-reveal]{ opacity:0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
    [data-pp-reveal].pp-in{ opacity:1; transform: translateY(0); }

    .deNav{
      height:42px; width:42px; border-radius:16px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.75);
      display:grid; place-items:center;
      font-weight:900;
      transition: transform .15s ease, border-color .15s ease;
    }
    .deNav:hover{ transform: translateY(-1px); border-color: rgba(0,0,0,.18); }

    .deLaneTab{
      padding:.55rem .9rem; border-radius:9999px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.7);
      font-weight:900; font-size:.8rem;
    }
    .deLaneTabActive{
      border-color: rgba(48,192,188,.45);
      background: rgba(255,255,255,.9);
    }

    .deChip{ font-size:.75rem; font-weight:900; padding:.28rem .65rem; border-radius:9999px; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.75); }

    .deBtnOutline{
      padding:.75rem 1rem; border-radius:9999px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.65);
      backdrop-filter: blur(14px);
      font-weight:900; font-size:.875rem;
    }
    .deBtnSolid{
      padding:.75rem 1rem; border-radius:9999px;
      font-weight:900; font-size:.875rem; color:#fff;
      background: linear-gradient(90deg, var(--cb-purple,#a12d90), var(--cb-teal,#30c0bc));
    }

    .wrap{ max-width:80rem; margin:0 auto; padding: 0 1rem; }
    @media (min-width:640px){ .wrap{ padding: 0 1.5rem; } }
    @media (min-width:1024px){ .wrap{ padding: 0 2rem; } }

    .glass{
      border:1px solid var(--bdr);
      background: var(--glass);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      box-shadow: 0 12px 40px rgba(0,0,0,.06);
    }
    .glass-strong{
      border:1px solid var(--bdr);
      background: var(--glass2);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      box-shadow: 0 18px 60px rgba(0,0,0,.08);
    }

    /* FIX: clamp utility (no Tailwind plugin needed) */
    .clamp-2{
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* Buttons */
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
      border-radius:999px; padding:.85rem 1rem;
      font-weight:900; font-size:11px; letter-spacing:.18em; text-transform:uppercase;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.82);
      transition: transform .12s ease, border-color .12s ease, filter .12s ease;
      user-select:none;
      white-space:nowrap;
    }
    .btn:hover{ transform: translateY(-1px); border-color: rgba(152,37,135,.22); }
    .btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }
    .btn-solid{
      color:#fff;
      background: linear-gradient(90deg, var(--cb-lp), var(--cb-cyan));
      border-color: rgba(152,37,135,.25);
      box-shadow: 0 18px 60px rgba(0,0,0,.14);
    }
    .btn-dark{
      color:#fff; background: rgba(15,23,42,.92); border-color: rgba(15,23,42,.92);
    }
    .btn-soft{
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.74);
    }

    /* Pills / badges */
    .pill{
      display:inline-flex; align-items:center; gap:.5rem;
      border-radius:999px;
      padding:.35rem .6rem;
      font-weight:900;
      font-size:10px;
      letter-spacing:.18em;
      text-transform:uppercase;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.78);
    }
    .pill-dot{ width:.48rem; height:.48rem; border-radius:999px; }
    .pill-in{ border-color: rgba(16,185,129,.22); background: rgba(16,185,129,.10); }
    .pill-out{ border-color: rgba(244,63,94,.22); background: rgba(244,63,94,.10); }
    .pill-quote{ border-color: rgba(99,102,241,.22); background: rgba(99,102,241,.10); }
    .dot-in{ background: rgba(16,185,129,1); }
    .dot-out{ background: rgba(244,63,94,1); }
    .dot-quote{ background: rgba(99,102,241,1); }

    /* Inputs */
    .inptLight{
      width:100%;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.86);
      border-radius: 999px;
      padding: .95rem 1.1rem .95rem 2.9rem;
      outline:none;
      color: rgba(15,23,42,.94);
    }
    .inptLight::placeholder{ color: rgba(15,23,42,.45); }
    .inptLight:focus{ box-shadow: 0 0 0 6px rgba(54,184,181,.18); border-color: rgba(54,184,181,.35); }

    .selectLight{
      width:100%;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.86);
      border-radius: 999px;
      padding: .95rem 1.1rem;
      outline:none;
      color: rgba(15,23,42,.92);
    }
    .selectLight:focus{ box-shadow: 0 0 0 6px rgba(152,37,135,.14); border-color: rgba(152,37,135,.28); }
    .rangeLight{ width:100%; accent-color: var(--cb-cyan); }

    /* Product cards */
    .pCard{
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.90);
      border-radius: 24px;
      overflow:hidden;
      transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
      box-shadow: 0 18px 60px rgba(0,0,0,.06);
    }
    .pCard:hover{ transform: translateY(-2px); border-color: rgba(152,37,135,.18); box-shadow: 0 22px 70px rgba(0,0,0,.08); }
    .pImg{ position:relative; aspect-ratio: 4/3; background: rgba(0,0,0,.03); }
    .pImg:after{
      content:""; position:absolute; inset:0;
      background: linear-gradient(to bottom, rgba(0,0,0,.22), rgba(0,0,0,0));
      pointer-events:none;
    }
    .tagTop{
      position:absolute; left:12px; top:12px;
      display:inline-flex; align-items:center; gap:.5rem;
      border-radius:999px;
      padding:.35rem .6rem;
      border:1px solid rgba(255,255,255,.28);
      background: rgba(255,255,255,.14);
      color:#fff;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      font-weight:900;
      font-size:10px;
      letter-spacing:.18em;
      text-transform:uppercase;
    }
    .tagDot{
      width:.5rem; height:.5rem; border-radius:999px;
      background: linear-gradient(90deg, var(--cb-lp), var(--cb-cyan));
    }

    /* ===== CSS-only HERO SLIDER ===== */
    .hero{ position:relative; overflow:hidden; }
    .hero input[type="radio"]{ position:absolute; left:-9999px; }
    .heroSlides{ position:absolute; inset:0; }
    .heroSlide{ position:absolute; inset:0; opacity:0; transition: opacity .6s ease; }
    .heroSlide img{ width:100%; height:100%; object-fit:cover; transform: scale(1.04); transition: transform 8s ease; }
    #hs1:checked ~ .heroSlides .s1,
    #hs2:checked ~ .heroSlides .s2,
    #hs3:checked ~ .heroSlides .s3,
    #hs4:checked ~ .heroSlides .s4{ opacity:1; }
    #hs1:checked ~ .heroSlides .s1 img,
    #hs2:checked ~ .heroSlides .s2 img,
    #hs3:checked ~ .heroSlides .s3 img,
    #hs4:checked ~ .heroSlides .s4 img{ transform: scale(1); }
    .heroOverlay1{ position:absolute; inset:0; background: linear-gradient(to right, rgba(0,0,0,.72), rgba(0,0,0,.38), rgba(0,0,0,.20)); }
    .heroOverlay2{ position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,.38), transparent, rgba(0,0,0,.18)); }

    .heroNavBtn{
      height: 42px; width: 42px;
      border-radius: 16px;
      display: grid; place-items: center;
      border: 1px solid rgba(255,255,255,.16);
      background: rgba(255,255,255,.10);
      color: rgba(255,255,255,.92);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      cursor:pointer;
      transition: transform .12s ease, border-color .12s ease, background .12s ease;
      user-select:none;
    }
    .heroNavBtn:hover{ transform: translateY(-1px); border-color: rgba(54,184,181,.35); background: rgba(255,255,255,.14); }
    .navSet{ display:none; }
    #hs1:checked ~ .heroContent .nav1{ display:flex; }
    #hs2:checked ~ .heroContent .nav2{ display:flex; }
    #hs3:checked ~ .heroContent .nav3{ display:flex; }
    #hs4:checked ~ .heroContent .nav4{ display:flex; }

    .heroDots label{
      height: 10px; width: 10px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.30);
      background: rgba(255,255,255,.20);
      display:inline-block;
      cursor:pointer;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
    }
    #hs1:checked ~ .heroContent .heroDots label[for="hs1"],
    #hs2:checked ~ .heroContent .heroDots label[for="hs2"],
    #hs3:checked ~ .heroContent .heroDots label[for="hs3"],
    #hs4:checked ~ .heroContent .heroDots label[for="hs4"]{
      background: linear-gradient(135deg, rgba(152,37,135,1), rgba(54,184,181,1));
      border-color: rgba(255,255,255,.40);
      transform: scale(1.15);
    }

    /* Drawer + Backdrop */
    .drawerBack{ position:fixed; inset:0; z-index:80; background: rgba(0,0,0,.52); display:none; }
    .drawerBack.open{ display:block; }
    .drawer{
      position:fixed; top:0; right:0; height:100dvh; width:100%; max-width:520px;
      z-index:90; transform: translateX(110%); transition: transform .22s ease;
      border-left: 1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
    }
    .drawer.open{ transform: translateX(0); }
    .drawerBody{ height: calc(100dvh - 76px - 96px); overflow:auto; }

    /* Gallery */
    .gMain{ border-radius: 22px; overflow:hidden; border: 1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.74); }
    .gThumb{
      border-radius: 18px;
      border: 1px solid rgba(0,0,0,.10);
      overflow:hidden;
      background: rgba(255,255,255,.70);
      cursor:pointer;
      transition: transform .12s ease, border-color .12s ease;
    }
    .gThumb:hover{ transform: translateY(-1px); border-color: rgba(54,184,181,.35); }
    .gThumb.active{ border-color: rgba(152,37,135,.38); box-shadow: 0 0 0 6px rgba(152,37,135,.10); }

    /* Floating checkout */
    .floatCheckout{ position:fixed; left:50%; transform:translateX(-50%); bottom:14px; z-index:70; width: calc(100% - 20px); max-width: 1040px; }
    .checkoutBar{
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      box-shadow: 0 18px 70px rgba(0,0,0,.12);
      border-radius: 999px;
      padding: 10px 12px;
      display:flex; align-items:center; gap:12px;
    }
    .kpi{
      display:flex; align-items:center; gap:10px;
      padding: 8px 10px;
      border-radius: 999px;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.70);
    }
    .kpiNum{
      min-width: 30px; height: 30px; border-radius:999px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(15,23,42,.92);
      color:#fff; font-weight:900; font-size:12px;
    }

    /* Checkout sheet */
    .sheetBack{ position:fixed; inset:0; z-index:75; background: rgba(0,0,0,.52); display:none; }
    .sheetBack.open{ display:block; }
    .sheet{
      position:fixed; left:50%; transform: translateX(-50%);
      bottom: 10px; z-index:78;
      width: calc(100% - 20px);
      max-width: 1040px;
      border-radius: 28px;
      overflow:hidden;
      border: 1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.90);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
      box-shadow: 0 24px 90px rgba(0,0,0,.16);
      display:none;
    }
    .sheet.open{ display:block; }
    .sheetBody{ max-height: 68dvh; overflow:auto; }

    .tmpl{ display:none; }



    /* Apple-like glass */
    .glass {
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .soft-shadow{
      box-shadow:
        0 10px 30px rgba(2, 6, 23, .02),
        0 2px 8px rgba(2, 6, 23, .01);
    }

    .soft-shadow-2{
      box-shadow:
        0 18px 55px rgba(2, 6, 23, .02),
        0 3px 12px rgba(2, 6, 23, .02);
    }

    .ring-soft{
      outline: 2px solid rgba(152,37,135,.16);
      outline-offset: 2px;
    }

    .no-scrollbar::-webkit-scrollbar{ display:none; }
    .no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

    /* subtle background */
    .bg-grid {
      background-image:
        radial-gradient(circle at 20% 10%, rgba(54,184,181,.10), transparent 40%),
        radial-gradient(circle at 80% 0%, rgba(152,37,135,.10), transparent 45%),
        radial-gradient(circle at 70% 80%, rgba(97,36,102,.10), transparent 45%),
        radial-gradient(circle at 0% 90%, rgba(35,31,31,.06), transparent 40%);
      background-color: var(--cb-white);
    }

    /* tabs */

    .tab[aria-selected="true"]{
      background: linear-gradient(135deg, rgba(152,37,135,.12), rgba(54,184,181,.12));
    }

    /* clamp text */
    .clamp-2{
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    }

    /* focus states */
    :focus-visible{ outline: 3px solid rgba(54,184,181,.35); outline-offset: 2px; border-radius: 18px; }
/* Mobile accordion panels (smooth, enterprise-clean) */
.mAccPanel{
  overflow: hidden;
  max-height: 0px;
  transition: max-height .28s ease;
  will-change: max-height;
}


    body{ font-family: Montserrat, system-ui; background:#fff; color:#111; }
    .glass{ background: var(--glass); border:1px solid var(--border); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
    .focusRing:focus{ outline:none; box-shadow: 0 0 0 6px var(--focus); }
    .press{ transition: transform .14s ease, filter .14s ease; }
    .press:active{ transform: scale(.985); filter: brightness(.99); }
    .overlay{ background: rgba(0,0,0,.28); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

    /* iOS-like list row */
    .row{
      display:flex; align-items:center; justify-content:space-between;
      gap:.75rem;
      padding:.85rem .95rem;
      border-radius: 1.25rem;
      border: 1px solid rgba(35,31,31,.10);
      background: rgba(255,255,255,.78);
    }
    .row:hover{ background: rgba(0,0,0,.03); }
    .row .meta{ font-size: 11px; opacity:.65; }
    .row .title{ font-weight: 800; font-family: "Bricolage Grotesque", ui-sans-serif, system-ui; letter-spacing:.1px; }
    .divider{ height:1px; background: rgba(35,31,31,.08); }

    /* Accordion animation */
    .acc-panel{
      overflow:hidden;
      height: 0px;
      transition: height 220ms ease;
    }
    .chev{
      transition: transform 180ms ease, opacity 180ms ease;
      opacity:.65;
    }
    .chev.down{ transform: rotate(90deg); } /* right -> down-ish (90deg) */
 
  
    /* ===== helpers ===== */
    .no-scrollbar::-webkit-scrollbar { display:none; }
    .no-scrollbar { -ms-overflow-style:none; scrollbar-width:none; }

    .chip{
      display:inline-flex; align-items:center; gap:.5rem;
      border:1px solid rgba(0,0,0,.08);
      background: rgba(255,255,255,.7);
      backdrop-filter: blur(12px);
      border-radius: 999px;
      padding: .5rem .85rem;
      font-weight: 800;
      font-size: 12px;
      box-shadow: var(--cb-shadow-0, 0 8px 30px rgba(0,0,0,.06));
    }

    .toggleBtn{
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.65);
      backdrop-filter: blur(12px);
      border-radius: 999px;
      padding: .55rem .85rem;
      font-weight: 900;
      font-size: 12px;
      letter-spacing: .18em;
      text-transform: uppercase;
      transition: transform .15s ease, opacity .15s ease;
    }
    .toggleBtn:hover{ transform: translateY(-1px); }
    .toggleBtn.active{
      background: linear-gradient(135deg, rgba(152,37,135,.18), rgba(54,184,181,.14));
      border-color: rgba(152,37,135,.25);
    }

    .field{
      width:100%;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.70);
      backdrop-filter: blur(12px);
      border-radius: 18px;
      padding: .85rem 1rem;
      outline: none;
      box-shadow: var(--cb-shadow-0, 0 8px 30px rgba(0,0,0,.06));
    }
    .field:focus{
      border-color: rgba(152,37,135,.35);
      box-shadow: 0 0 0 4px rgba(152,37,135,.10);
    }

    .modalBack{
      position: fixed; inset:0;
      background: rgba(0,0,0,.55);
      display:none;
      align-items:center; justify-content:center;
      padding: 18px;
      z-index: 80;
    }
    .modalBack.open{ display:flex; }

    /* ============================================================
      SERVICES PILLAR UI — screenshot pattern + stacked overlap
    ============================================================ */

    .pillar-stack { position: sticky; top: 14px; z-index: 1; }
    .pillar-stack:not(:first-child){ margin-top: -42px; }

    .pillar-wrap{
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(0,0,0,.06);
      border-radius: 28px;
      overflow: hidden;
    }

    .pillar-head{
      display:flex; align-items:flex-start; justify-content:space-between;
      padding: 18px 18px 10px 18px;
    }
    .pillar-left{ display:flex; align-items:flex-start; gap: 12px; }

    .pillar-badge{
      width: 44px; height: 44px;
      border-radius: 16px;
      border: 1px solid rgba(0,0,0,.07);
      background: #fff;
      display:flex; align-items:center; justify-content:center;
    }

    .pillar-kicker{
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(0,0,0,.65);
      line-height: 1.1;
    }

    .pillar-title{
      margin-top: 4px;
      font-size: 28px;
      font-weight: 900;
      letter-spacing: -0.02em;
      line-height: 1.1;
    }

    .pillar-count{
      border: 1px solid rgba(0,0,0,.10);
      background: #fff;
      border-radius: 999px;
      padding: 8px 14px;
      font-size: 12px;
      font-weight: 900;
      color: rgba(0,0,0,.78);
      white-space: nowrap;
      height: fit-content;
    }

    .pillar-body{ padding: 12px 18px 18px 18px; }

    .svc-grid{
      display:grid;
      grid-template-columns: repeat(1, minmax(0,1fr));
      gap: 18px;
    }
    @media(min-width: 640px){ .svc-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
    @media(min-width: 1024px){ .svc-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); } }

    .svc-card{
      background:#fff;
      border: 1px solid rgba(0,0,0,.10);
      border-radius: 22px;
      padding: 18px 18px 16px 18px;
      transition: transform .12s ease, border-color .12s ease;
    }
    .svc-card:hover{
      transform: translateY(-1px);
      border-color: rgba(152,37,135,.22);
    }

    .svc-top{ display:flex; gap: 12px; align-items:flex-start; }
    .svc-check{ margin-top: 4px; }

    .svc-name{
      font-weight: 900;
      font-size: 15px;
      line-height: 1.2;
    }

    /* sub-item checkbox list (replaces bullets) */
    .svc-sublist{ margin-top: 10px; display:flex; flex-direction:column; gap:10px; }
    .svc-subrow{ display:flex; align-items:flex-start; gap:10px; font-size:14px; color: rgba(0,0,0,.78); }
    .svc-subcheck{ margin-top: 3px; }

    #pillarStackScroll{ overflow-y:auto; }



    /* X-like feed row */
    .post{
      border-bottom: 1px solid var(--bdr2);
      transition: background .12s ease;
    }
    .post:hover{ background: rgba(152,37,135,.035); }

    /* Smaller, neat buttons */
    .btn-mini{
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.72);
      padding: .55rem .8rem;
      border-radius: 999px;
      font-weight: 900;
      font-size: 12px;
      letter-spacing: .12em;
      text-transform: uppercase;
      transition: transform .12s ease, background .12s ease, border-color .12s ease, opacity .12s ease;
      white-space: nowrap;
    }
    .btn-mini:hover{ transform: translateY(-1px); border-color: rgba(152,37,135,.25); }
    .btn-mini.primary{
      background: linear-gradient(135deg, rgba(152,37,135,.16), rgba(54,184,181,.10));
      border-color: rgba(152,37,135,.24);
    }

    .chip{
      display:inline-flex; align-items:center; gap:.5rem;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.70);
      border-radius: 999px;
      padding: .35rem .6rem;
      font-weight: 900;
      font-size: 11px;
      color: rgba(0,0,0,.76);
      white-space: nowrap;
    }

    /* Tabs (smaller) */
    .tab{
      padding: .6rem .85rem;
      font-weight: 900;
      font-size: 12px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(0,0,0,.60);
      border-bottom: 2px solid transparent;
      white-space: nowrap;
    }
    .tab.active{
      color: rgba(0,0,0,.92);
      border-bottom-color: rgba(152,37,135,.70);
    }

    /* Compact action row */
    .act{
      display:inline-flex; align-items:center; gap:.5rem;
      padding:.35rem .55rem;
      border-radius: 999px;
      border:1px solid transparent;
      color: rgba(0,0,0,.60);
      font-weight: 800;
      font-size: 13px;
      transition: background .12s ease, border-color .12s ease;
    }
    .act:hover{
      background: rgba(0,0,0,.04);
      border-color: rgba(0,0,0,.06);
    }

    /* Modal */
    .modalBack{
      position:fixed; inset:0; z-index:80;
      background: rgba(0,0,0,.55);
      display:none; align-items:center; justify-content:center;
      padding: 16px;
    }
    .modalBack.open{ display:flex; }

    /* Mobile bottom nav */
    .bottomNav{
      position: fixed; left:0; right:0; bottom:0; z-index:70;
      border-top: 1px solid var(--bdr);
      background: rgba(255,255,255,.84);
      backdrop-filter: blur(16px);
      padding: 10px 16px;
      display:none;
    }
    @media(max-width: 1023px){
      .bottomNav{ display:block; }
      body{ padding-bottom: 72px; }
    }

    /* Tiny inputs */
    .inpt{
      width: 100%;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.74);
      border-radius: 999px;
      padding: .7rem 1rem .7rem 2.6rem;
      outline: none;
    }
    .inpt:focus{ box-shadow: 0 0 0 4px var(--ring); border-color: rgba(152,37,135,.25); }

    .area{
      width:100%;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.74);
      border-radius: 18px;
      padding: .9rem 1rem;
      outline: none;
      resize: none;
    }
    .area:focus{ box-shadow: 0 0 0 4px var(--ring); border-color: rgba(152,37,135,.25); }

    .clamp3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

    .glass{
      border:1px solid var(--bdr);
      background: var(--bg);
      backdrop-filter: blur(14px);
      box-shadow: var(--cb-shadow-0, 0 12px 40px rgba(0,0,0,.06));
    }
    .glass-strong{
      border:1px solid var(--bdr);
      background: var(--bg2);
      backdrop-filter: blur(18px);
      box-shadow: var(--cb-shadow-1, 0 18px 58px rgba(0,0,0,.08));
    }

    .btn-mini{
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.72);
      padding: .62rem .9rem;
      border-radius: 999px;
      font-weight: 900;
      font-size: 12px;
      letter-spacing: .12em;
      text-transform: uppercase;
      transition: transform .12s ease, border-color .12s ease, opacity .12s ease;
      white-space: nowrap;
    }
    .btn-mini:hover{ transform: translateY(-1px); border-color: rgba(152,37,135,.25); }
    .btn-mini.primary{
      background: linear-gradient(135deg, rgba(152,37,135,.16), rgba(54,184,181,.10));
      border-color: rgba(152,37,135,.24);
    }
    .btn-mini.dark{
      background: rgba(15,23,42,.92);
      color: white;
      border-color: rgba(15,23,42,.92);
    }

    .chip{
      display:inline-flex; align-items:center; gap:.5rem;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.70);
      border-radius: 999px;
      padding: .4rem .65rem;
      font-weight: 900;
      font-size: 11px;
      color: rgba(0,0,0,.76);
      white-space: nowrap;
      transition: transform .12s ease, border-color .12s ease;
    }
    .chip:hover{ transform: translateY(-1px); border-color: rgba(54,184,181,.35); }
    .chip.active{
      background: linear-gradient(135deg, rgba(54,184,181,.12), rgba(152,37,135,.10));
      border-color: rgba(54,184,181,.45);
    }

    .inpt{
      width: 100%;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.74);
      border-radius: 18px;
      padding: .9rem 1rem;
      outline: none;
    }
    .inpt:focus{ box-shadow: 0 0 0 4px var(--ring); border-color: rgba(152,37,135,.25); }

    .select{
      width:100%;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.74);
      border-radius: 18px;
      padding: .9rem 1rem;
      outline:none;
    }
    .select:focus{ box-shadow: 0 0 0 4px var(--ring); border-color: rgba(152,37,135,.25); }

    .help{
      font-size: 12px;
      color: rgba(15,23,42,.55);
      line-height: 1.4;
    }

    .badge{
      display:inline-flex; align-items:center; gap:.5rem;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.75);
      backdrop-filter: blur(12px);
      border-radius: 999px;
      padding: .45rem .75rem;
      font-weight: 900;
      font-size: 12px;
      letter-spacing: .18em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    /* file drop */
    .drop{
      border: 1.5px dashed rgba(0,0,0,.18);
      background: rgba(255,255,255,.6);
      border-radius: 18px;
      padding: 14px;
      transition: border-color .12s ease, background .12s ease;
    }
    .drop.drag{ border-color: rgba(54,184,181,.65); background: rgba(54,184,181,.06); }

    /* sticky quote summary */
    .stickyCard{ position: sticky; top: 88px; }

    /* toast */
    .toast{
      position: fixed;
      right: 16px; bottom: 18px;
      z-index: 80;
      border:1px solid var(--bdr);
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(16px);
      box-shadow: 0 18px 55px rgba(0,0,0,.10);
      border-radius: 18px;
      padding: 12px 14px;
      display:none;
      max-width: 360px;
    }
    .toast.show{ display:block; }


 
  /* Brand logo effect */
  .brand-logo {
    filter: grayscale(1) contrast(1.05) opacity(.78);
    transition: filter .25s ease, transform .25s ease, opacity .25s ease;
  }
  .brand-card:hover .brand-logo {
    filter: grayscale(0) contrast(1.02) opacity(1);
    transform: translateY(-2px);
  }
  .brand-track {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .brand-item {
    scroll-snap-align: start;
  }



    /* Dual divider lines (purple + cyan) */
    .dual-lines{
      height: 10px;
      display: grid;
      grid-template-rows: 3px 3px;
      row-gap: 5px;
      background: transparent;
    }
    .line-purple{ background: linear-gradient(90deg, var(--cb-purple), var(--cb-purple2)); border-radius: 999px; }
    .line-cyan{ background: linear-gradient(90deg, var(--cb-cyan), rgba(54,184,181,.55)); border-radius: 999px; }

    /* Desktop mega dropdown */
    .megaShadow{ box-shadow: var(--shadow); }

    /* Overlay + drawer (mobile menu) */
    .overlay{ background: rgba(0,0,0,.28); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
    .drawerShadow{ box-shadow: 0 26px 70px rgba(0,0,0,.16); }

    /* Bottom dock safe area */
    .safe-pad { padding-bottom: env(safe-area-inset-bottom); }

    /* Panels: full-width bottom sheet on mobile, card on desktop */
    .panel {
      position: fixed;
      left: 0; right: 0;
      bottom: 0;
      z-index: 95;
      display: none;
      max-height: 86vh;
      border-top-left-radius: 24px;
      border-top-right-radius: 24px;
      overflow: hidden;
      box-shadow: 0 26px 70px rgba(0,0,0,.18);
    }
    @media (min-width: 1024px){
      .panel{
        left: auto; right: 1.5rem;
        bottom: auto; top: 6.25rem; /* below header */
        width: 420px;
        max-height: 70vh;
        border-radius: 24px;
        box-shadow: var(--shadow);
      }
    }

    /* Ripple */
    .ripple {
      position:absolute; border-radius:9999px; pointer-events:none;
      transform:scale(0); opacity:.22;
      background: radial-gradient(circle, rgba(54,184,181,.55), rgba(54,184,181,.18), transparent 70%);
      animation: ripple .55s ease-out forwards;
    }
    @keyframes ripple { to { transform: scale(1); opacity: 0; } }


    