:root {
      --deep:   #0d3e4c;
      --deeper: #092838;
      --light:  #caf1f8;
      --mid:    #649696;
      --mid2:   #4a7878;
      --glass:  rgba(9,40,56,0.88);
    }
    *, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
    html { scroll-behavior: smooth; }
    body { font-family:'Montserrat',sans-serif; background:var(--deeper); color:var(--light); overflow-x:hidden; }
    ::-webkit-scrollbar { width:5px; }
    ::-webkit-scrollbar-track { background:var(--deeper); }
    ::-webkit-scrollbar-thumb { background:var(--mid); border-radius:3px; }



    /* NAV */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:100;
      display:flex; align-items:center; justify-content:space-between;
      padding:18px 60px;
      background:var(--glass);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(202,241,248,0.08);
    }
    .nav-brand { display:flex; align-items:center; gap:12px; cursor:pointer; text-decoration:none; }
    .nav-brand-icon { width:36px; height:36px; flex-shrink:0; }
    .nav-brand-icon img { width:100%; height:100%; object-fit:contain; }
    .nav-brand-text { height:18px; }
    .nav-brand-text img { height:100%; width:auto; }
    .nav-links { display:flex; align-items:center; gap:4px; }
    .nav-link {
      font-size:12px; font-weight:500; letter-spacing:1.2px; text-transform:uppercase;
      color:rgba(202,241,248,0.55); background:none; border:none;
      padding:8px 16px; border-radius:30px; cursor:pointer;
      transition:all 0.2s; font-family:'Montserrat',sans-serif;
    }
    .nav-link:hover { color:var(--light); background:rgba(202,241,248,0.06); }
    .nav-link.active { color:var(--light); background:rgba(202,241,248,0.08); }
    .nav-cta {
      font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--deeper); background:var(--light); border:none;
      border-radius:30px; padding:10px 22px; cursor:pointer;
      transition:all 0.25s; font-family:'Montserrat',sans-serif; margin-left:8px;
    }
    .nav-cta:hover { background:var(--mid); transform:translateY(-1px); }

    /* SHARED */
    section { position:relative; overflow:hidden; }
    .section-inner { max-width:1100px; margin:0 auto; padding:100px 60px; }
    .section-label {
      font-size:10px; font-weight:600; letter-spacing:3.5px; text-transform:uppercase;
      color:var(--mid); margin-bottom:20px;
      display:flex; align-items:center; gap:10px;
    }
    .section-label::before { content:''; display:block; width:20px; height:1px; background:var(--mid); }
    .section-title {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(34px,4vw,52px); font-weight:300; line-height:1.18;
      color:var(--light); margin-bottom:24px;
    }
    .section-title em { font-style:italic; color:var(--mid); }
    .section-body { font-size:15px; font-weight:300; line-height:1.9; color:rgba(202,241,248,0.65); max-width:640px; }

    .btn-primary {
      display:inline-block; font-family:'Montserrat',sans-serif;
      font-size:12px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase;
      color:var(--deeper); background:var(--light);
      border:none; border-radius:40px; padding:16px 36px;
      cursor:pointer; text-decoration:none; transition:all 0.3s;
      box-shadow:0 0 30px rgba(202,241,248,0.18);
    }
    .btn-primary:hover { transform:translateY(-2px); box-shadow:0 0 50px rgba(202,241,248,0.32); }
    .btn-ghost {
      display:inline-block; font-size:13px; font-weight:400;
      color:rgba(202,241,248,0.6); text-decoration:none;
      border-bottom:1px solid rgba(202,241,248,0.25); padding-bottom:2px; transition:color 0.2s;
      background:none; border-top:none; border-left:none; border-right:0;
      cursor:pointer; font-family:'Montserrat',sans-serif; letter-spacing:0.3px;
    }
    .btn-ghost:hover { color:var(--light); }

    .reveal { opacity:0; transform:translateY(24px); transition:opacity 0.65s ease, transform 0.65s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }

    /* ═══════ HOME ═══════ */
    .hero {
      min-height:100vh; display:grid; grid-template-columns:1fr 1fr;
      align-items:center; padding:120px 60px 80px; position:relative; overflow:hidden;
    }
    .hero::before {
      content:''; position:absolute; inset:0; pointer-events:none;
      background:
        radial-gradient(ellipse 60% 70% at 70% 50%, rgba(13,62,76,0.85) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 15% 85%, rgba(100,150,150,0.12) 0%, transparent 60%);
    }
    .hero-content { position:relative; z-index:2; max-width:560px; }
    .hero-eyebrow {
      font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase;
      color:var(--mid); margin-bottom:24px; display:flex; align-items:center; gap:12px;
    }
    .hero-eyebrow::before { content:''; display:block; width:32px; height:1px; background:var(--mid); }
    .hero-title {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(40px,5vw,66px); font-weight:300; line-height:1.12;
      color:var(--light); margin-bottom:28px;
    }
    .hero-title em { font-style:italic; color:var(--mid); }
    .hero-sub {
      font-size:15px; font-weight:300; line-height:1.85;
      color:rgba(202,241,248,0.68); margin-bottom:48px; max-width:460px;
    }
    .hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
    .hero-image { position:relative; z-index:2; display:flex; justify-content:center; align-items:center; }
    .hero-image-wrap { position:relative; width:min(460px,90%); }
    .hero-image-glow {
      position:absolute; inset:-50px; border-radius:50%;
      background:radial-gradient(ellipse at center, rgba(202,241,248,0.1) 0%, transparent 70%);
      animation:pulse 4s ease-in-out infinite;
    }
    @keyframes pulse { 0%,100%{opacity:0.5;transform:scale(1)} 50%{opacity:1;transform:scale(1.06)} }
    .hero-image img {
      width:100%; height:auto; position:relative; z-index:1;
      filter:drop-shadow(0 0 40px rgba(202,241,248,0.18));
      animation:float 6s ease-in-out infinite;
    }
    @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
    .hero-scroll {
      position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
      display:flex; flex-direction:column; align-items:center; gap:8px;
      font-size:10px; letter-spacing:2px; text-transform:uppercase;
      color:rgba(202,241,248,0.3); z-index:2;
    }
    .hero-scroll-line {
      width:1px; height:40px;
      background:linear-gradient(to bottom, rgba(202,241,248,0.3), transparent);
      animation:scrollpulse 2s ease-in-out infinite;
    }
    @keyframes scrollpulse { 0%,100%{opacity:0.3} 50%{opacity:1} }

    .home-what { background:var(--deep); }
    .home-what-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-top:60px; }
    .callout {
      border-left:2px solid var(--mid); padding:20px 24px;
      background:rgba(202,241,248,0.04); border-radius:0 8px 8px 0; margin-top:28px;
    }
    .callout p {
      font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:300; font-style:italic;
      line-height:1.65; color:rgba(202,241,248,0.82);
    }
    .what-card {
      background:rgba(202,241,248,0.03); border:1px solid rgba(202,241,248,0.08);
      border-radius:14px; padding:24px 28px; margin-bottom:16px; transition:border-color 0.3s;
    }
    .what-card:hover { border-color:rgba(202,241,248,0.18); }
    .what-card-bar { width:32px; height:2px; background:var(--mid); margin-bottom:12px; transition:width 0.3s; }
    .what-card:hover .what-card-bar { width:50px; }
    .what-card-title { font-size:13px; font-weight:600; letter-spacing:0.5px; color:var(--light); margin-bottom:8px; }
    .what-card-body { font-size:13.5px; font-weight:300; line-height:1.75; color:rgba(202,241,248,0.55); }

    .home-cols { background:var(--deeper); }
    .cols-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
    .col-card {
      background:rgba(202,241,248,0.03); border:1px solid rgba(202,241,248,0.08);
      border-radius:18px; padding:40px 32px; transition:all 0.3s;
    }
    .col-card:hover { background:rgba(202,241,248,0.06); border-color:rgba(202,241,248,0.16); transform:translateY(-4px); }
    .col-card-num {
      font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:300;
      color:rgba(202,241,248,0.55); line-height:1; margin-bottom:20px;
    }
    .col-card-title { font-size:15px; font-weight:600; color:var(--light); margin-bottom:12px; }
    .col-card-body { font-size:13.5px; font-weight:300; line-height:1.8; color:rgba(202,241,248,0.55); }
    .col-card-link {
      display:inline-block; margin-top:20px; font-size:12px; font-weight:500;
      letter-spacing:1px; text-transform:uppercase; color:var(--mid);
      text-decoration:none; border-bottom:1px solid rgba(100,150,150,0.3);
      padding-bottom:2px; transition:color 0.2s; cursor:pointer;
      background:none; border-top:none; border-left:none; border-right:none;
      font-family:'Montserrat',sans-serif;
    }
    .col-card-link:hover { color:var(--light); }

    .home-mods { background:var(--deep); }
    .mods-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:60px;
      border:1px solid rgba(202,241,248,0.08); border-radius:20px; overflow:hidden;
    }
    .mod-item { padding:44px 36px; background:rgba(202,241,248,0.02); border-right:1px solid rgba(202,241,248,0.07); transition:background 0.3s; }
    .mod-item:last-child { border-right:none; }
    .mod-item:hover { background:rgba(202,241,248,0.05); }
    .mod-item-accent { width:32px; height:2px; background:var(--mid); margin-bottom:18px; transition:width 0.3s; }
    .mod-item:hover .mod-item-accent { width:52px; }
    .mod-item-title { font-size:14px; font-weight:600; color:var(--light); margin-bottom:12px; }
    .mod-item-body { font-size:13.5px; font-weight:300; line-height:1.8; color:rgba(202,241,248,0.55); }

    .home-cta { background:var(--deeper); text-align:center; }
    .home-cta .section-inner { display:flex; flex-direction:column; align-items:center; padding-top:120px; padding-bottom:120px; }
    .home-cta .section-title { text-align:center; max-width:540px; }
    .home-cta .section-body { text-align:center; margin-bottom:48px; }
    .cta-glow {
      position:absolute; width:700px; height:700px; border-radius:50%;
      background:radial-gradient(ellipse, rgba(100,150,150,0.1) 0%, transparent 70%);
      top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none;
    }

    /* ═══════ TOOL ═══════ */
    .tool-hero {
      min-height:70vh; display:flex; align-items:center;
      padding:140px 60px 80px; position:relative; background:var(--deep);
    }
    .tool-hero::before {
      content:''; position:absolute; inset:0; pointer-events:none;
      background:radial-gradient(ellipse 50% 80% at 85% 50%, rgba(9,40,56,0.7) 0%, transparent 70%),
        radial-gradient(ellipse 60% 60% at 10% 50%, rgba(100,150,150,0.08) 0%, transparent 60%);
    }
    .tool-hero-content { position:relative; z-index:2; max-width:640px; }
    .tool-what { background:var(--deeper); }
    .tool-steps { background:var(--deep); }
    .steps-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:60px;
      border:1px solid rgba(202,241,248,0.08); border-radius:20px; overflow:hidden;
    }
    .step { padding:40px 32px; background:rgba(202,241,248,0.02); border-right:1px solid rgba(202,241,248,0.07); transition:background 0.3s; }
    .step:nth-child(3), .step:nth-child(6) { border-right:none; }
    .step:nth-child(4), .step:nth-child(5), .step:nth-child(6) { border-top:1px solid rgba(202,241,248,0.07); }
    .step:hover { background:rgba(202,241,248,0.05); }
    .step-num { font-family:'Cormorant Garamond',serif; font-size:56px; font-weight:300; color:rgba(202, 241, 248,0.55); line-height:1; margin-bottom:18px; }
    .step-title { font-size:13px; font-weight:600; letter-spacing:0.8px; text-transform:uppercase; color:var(--mid); margin-bottom:12px; }
    .step-body { font-size:14px; font-weight:300; line-height:1.8; color:rgba(202,241,248,0.55); }
    .tool-isnot { background:var(--deeper); }
    .isnot-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:60px; }
    .isnot-col h3 { font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--mid); margin-bottom:24px; }
    .isnot-item { display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid rgba(202,241,248,0.06); }
    .isnot-icon { font-size:14px; flex-shrink:0; margin-top:1px; }
    .isnot-item p { font-size:14px; font-weight:300; line-height:1.7; color:rgba(202,241,248,0.65); }
    .tool-cta { background:var(--deep); text-align:center; }
    .tool-cta .section-inner { display:flex; flex-direction:column; align-items:center; padding-top:100px; padding-bottom:100px; }
    .tool-cta .section-title { text-align:center; }
    .tool-cta .section-body { text-align:center; margin-bottom:14px; }
    .tool-cta-note { font-size:12px; font-weight:300; color:rgba(202,241,248,0.3); margin-top:20px; max-width:440px; line-height:1.7; text-align:center; }

    /* ═══════ BLOG ═══════ */
    .blog-hero { padding:140px 60px 60px; background:var(--deep); }
    .blog-hero h1 {
      font-family:'Cormorant Garamond',serif; font-size:clamp(48px,6vw,80px);
      font-weight:300; color:var(--light); line-height:1.1; margin-bottom:20px;
    }
    .blog-hero h1 em { font-style:italic; color:var(--mid); }
    .blog-hero p { font-size:15px; font-weight:300; line-height:1.8; color:rgba(202,241,248,0.6); max-width:480px; margin-top:16px; }
    .blog-grid-section { background:var(--deeper); }
    .blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
    .blog-card {
      background:rgba(202,241,248,0.03); border:1px solid rgba(202,241,248,0.08);
      border-radius:18px; overflow:hidden; transition:all 0.3s; cursor:pointer;
    }
    .blog-card:hover { transform:translateY(-5px); border-color:rgba(202,241,248,0.2); background:rgba(202,241,248,0.06); }
    .blog-card-img {
      width:100%; height:180px;
      background:linear-gradient(135deg, var(--deep) 0%, var(--mid2) 100%);
      display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    }
    .blog-card-img-label { font-family:'Cormorant Garamond',serif; font-size:13px; font-style:italic; color:rgba(202,241,248,0.3); letter-spacing:1px; }
    .blog-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, transparent 40%, rgba(9,40,56,0.5) 100%); }
    .blog-card-body { padding:28px; }
    .blog-card-tag { font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--mid); margin-bottom:12px; }
    .blog-card-title { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:400; line-height:1.35; color:var(--light); margin-bottom:12px; }
    .blog-card-excerpt { font-size:13px; font-weight:300; line-height:1.75; color:rgba(202,241,248,0.5); margin-bottom:20px; }
    .blog-card-meta { font-size:11px; font-weight:400; color:rgba(202,241,248,0.3); letter-spacing:0.5px; }

    /* ═══════ BLOG ARTICLE ═══════ */
    #page-article { display:none; }
    #page-article.active { display:block; }
    .article-hero { padding:140px 60px 60px; background:var(--deep); }
    .article-back {
      display:inline-flex; align-items:center; gap:8px;
      font-size:12px; font-weight:500; letter-spacing:1px; text-transform:uppercase;
      color:var(--mid); background:none; border:none; cursor:pointer;
      font-family:'Montserrat',sans-serif; margin-bottom:40px; transition:color 0.2s;
    }
    .article-back:hover { color:var(--light); }
    .article-tag { font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--mid); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
    .article-tag::before { content:''; display:block; width:20px; height:1px; background:var(--mid); }
    .article-title {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(36px,5vw,64px); font-weight:300; line-height:1.12;
      color:var(--light); max-width:800px; margin-bottom:28px;
    }
    .article-meta { font-size:12px; font-weight:300; color:rgba(202,241,248,0.35); letter-spacing:0.5px; }
    .article-body-section { background:var(--deeper); }
    .article-body {
      max-width:720px; margin:0 auto; padding:80px 60px;
      font-size:16px; font-weight:300; line-height:1.95; color:rgba(202,241,248,0.75);
    }
    .article-body p { margin-bottom:24px; }
    .article-body h2 {
      font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3vw,40px);
      font-weight:300; color:var(--light); margin:56px 0 20px; line-height:1.2;
    }
    .article-body h2 em { font-style:italic; color:var(--mid); }
    .article-body strong { font-weight:500; color:var(--light); }
    .article-body .article-callout {
      border-left:2px solid var(--mid); padding:20px 28px;
      background:rgba(202,241,248,0.04); border-radius:0 10px 10px 0; margin:36px 0;
    }
    .article-body .article-callout p {
      font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic;
      font-weight:300; line-height:1.6; color:rgba(202,241,248,0.85); margin:0;
    }
    .article-cta {
      background:var(--deep); padding:80px 60px; text-align:center;
      border-top:1px solid rgba(202,241,248,0.07);
    }
    .article-cta h3 {
      font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:300;
      color:var(--light); margin-bottom:16px;
    }
    .article-cta h3 em { font-style:italic; color:var(--mid); }
    .article-cta p { font-size:15px; font-weight:300; color:rgba(202,241,248,0.6); max-width:480px; margin:0 auto 36px; line-height:1.8; }

    /* FOOTER */
    footer {
      background:var(--deeper); border-top:1px solid rgba(202,241,248,0.07);
      padding:48px 60px; display:flex; align-items:center;
      justify-content:space-between; flex-wrap:wrap; gap:20px;
    }
    .footer-brand { display:flex; align-items:center; gap:12px; }
    .footer-brand-icon { width:26px; height:26px; }
    .footer-brand-icon img { width:100%; height:100%; object-fit:contain; }
    .footer-text { font-size:12px; font-weight:300; color:rgba(202,241,248,0.35); }
    .footer-note { font-size:11px; font-weight:300; color:rgba(202,241,248,0.22); text-align:right; max-width:360px; line-height:1.7; }

/* RESPONSIVE */
@media(max-width:900px) {
  nav { padding:14px 20px; }
  .nav-links {
    display:none; flex-direction:column;
    position:absolute; top:100%; left:0; right:0;
    background:rgba(9,40,56,0.98); backdrop-filter:blur(16px);
    padding:16px 20px 20px; gap:4px;
    border-bottom:1px solid rgba(202,241,248,0.08);
  }
  .nav-links.open { display:flex; }
  .nav-link { padding:12px 16px; font-size:13px; border-radius:8px; }
  .nav-cta { margin-left:0; margin-top:8px; text-align:center; }
  .hamburger {
    display:flex; flex-direction:column; justify-content:center;
    gap:5px; background:none; border:none; cursor:pointer; padding:4px;
  }
  .hamburger span {
    display:block; width:22px; height:1.5px;
    background:var(--light); border-radius:2px;
    transition:all 0.25s;
  }
  .hero { grid-template-columns:1fr; padding:100px 24px 60px; }
  .hero-image { display:none; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:16px; }
  .section-inner { padding:60px 24px; }
  .home-what-grid { grid-template-columns:1fr; gap:40px; }
  .cols-grid { grid-template-columns:1fr; }
  .mods-grid { grid-template-columns:1fr; }
  .mod-item { border-right:none; border-bottom:1px solid rgba(202,241,248,0.07); }
  .tool-hero { padding:120px 24px 60px; }
  .steps-grid { grid-template-columns:1fr; }
  .step { border-right:none !important; border-top:1px solid rgba(202,241,248,0.07); }
  .step:first-child { border-top:none; }
  .isnot-grid { grid-template-columns:1fr; }
  .blog-hero { padding:120px 24px 40px; }
  .blog-grid { grid-template-columns:1fr; }
  .article-hero { padding:120px 24px 40px; }
  .article-body { padding:48px 24px; }
  .article-cta { padding:60px 24px; }
  footer { flex-direction:column; padding:36px 24px; }
  .footer-note { text-align:left; }
}
@media(min-width:901px) {
  .hamburger { display:none; }
}

    /* ═══════ LEGAL PAGES ═══════ */
    .legal-hero { padding:140px 60px 50px; background:var(--deep); }
    .legal-hero h1 {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(36px,4vw,54px); font-weight:300; color:var(--light);
      line-height:1.15; margin-bottom:12px;
    }
    .legal-hero h1 em { font-style:italic; color:var(--mid); }
    .legal-meta { font-size:12px; font-weight:300; color:rgba(202,241,248,0.35); letter-spacing:0.5px; margin-top:8px; }
    .legal-body-section { background:var(--deeper); }
    .legal-body {
      max-width:760px; margin:0 auto; padding:70px 60px 90px;
    }
    .legal-body h2 {
      font-family:'Cormorant Garamond',serif;
      font-size:24px; font-weight:400; color:var(--light);
      margin:48px 0 14px; padding-bottom:10px;
      border-bottom:1px solid rgba(202,241,248,0.08);
    }
    .legal-body p {
      font-size:14px; font-weight:300; line-height:1.9;
      color:rgba(202,241,248,0.65); margin-bottom:14px;
    }
    .legal-body ul {
      margin:0 0 14px 20px; padding:0;
    }
    .legal-body ul li {
      font-size:14px; font-weight:300; line-height:1.85;
      color:rgba(202,241,248,0.65); margin-bottom:6px;
    }
    .legal-body a {
      color:var(--mid); text-decoration:none;
      border-bottom:1px solid rgba(100,150,150,0.3);
    }
    .legal-body a:hover { color:var(--light); }
    .legal-body strong { font-weight:500; color:var(--light); }
    .legal-table {
      width:100%; border-collapse:collapse; margin:16px 0 24px;
    }
    .legal-table th {
      font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--mid); text-align:left; padding:10px 16px;
      border-bottom:1px solid rgba(202,241,248,0.12);
    }
    .legal-table td {
      font-size:13.5px; font-weight:300; color:rgba(202,241,248,0.6);
      padding:12px 16px; border-bottom:1px solid rgba(202,241,248,0.06);
      line-height:1.7;
    }
    .legal-back {
      display:inline-flex; align-items:center; gap:8px;
      font-size:12px; font-weight:500; letter-spacing:1px; text-transform:uppercase;
      color:var(--mid); background:none; border:none; cursor:pointer;
      font-family:'Montserrat',sans-serif; margin-bottom:36px; transition:color 0.2s;
    }
    .legal-back:hover { color:var(--light); }
    @media(max-width:900px) {
      .legal-hero { padding:120px 24px 40px; }
      .legal-body { padding:48px 24px 70px; }
    }