:root{
    --navy:#0B1E28;
    --navy-deep:#081620;
    --stone:#EDE7D9;
    --paper:#F7F4EC;
    --brass:#B08D57;
    --brass-light:#D4B27E;
    --sage:#5F7A66;
    --ink:#1C2420;
    --line: rgba(237,231,217,0.14);
    --line-dark: rgba(28,36,32,0.12);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', sans-serif;
    font-weight:400;
    line-height:1.55;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--brass);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--brass);display:inline-block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

  /* ===== TOP BANNER — legal / demo notice ===== */
  .demo-banner{
    background:var(--navy-deep);
    color:var(--stone);
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.03em;
    text-align:center;
    padding:9px 16px;
    border-bottom:1px solid var(--line);
  }
  .demo-banner strong{color:var(--brass-light); font-weight:500;}

  /* ===== NAV ===== */
  nav{
    background:var(--navy);
    padding:22px 0;
    border-bottom:1px solid var(--line);
    position:sticky; top:0; z-index:50;
  }
  nav .wrap{display:flex; align-items:center; justify-content:space-between;}
  .mark{display:flex; align-items:center; gap:12px;}
  .mark svg{display:block;}
  .mark-text{color:var(--stone); font-family:'Fraunces', serif; font-size:18px; letter-spacing:0.02em;}
  .mark-text span{color:var(--brass-light); font-style:italic; font-weight:300;}
  .navlinks{display:flex; gap:36px; align-items:center;}
  .navlinks a{
    color:var(--stone); opacity:0.75; font-size:14px; font-weight:400;
    transition:opacity .2s ease;
  }
  .navlinks a:hover{opacity:1;}
  .nav-cta{
    border:1px solid var(--brass); color:var(--brass-light) !important; opacity:1 !important;
    padding:9px 20px; border-radius:2px; font-size:13px !important; letter-spacing:0.03em;
    transition:background .2s ease, color .2s ease;
  }
  .nav-cta:hover{background:var(--brass); color:var(--navy-deep) !important;}
  @media (max-width:860px){ .navlinks{display:none;} }

  /* ===== HERO / SLIDESHOW ===== */
  .hero{
    position:relative;
    background:var(--navy);
    color:var(--stone);
    min-height:640px;
    display:flex; align-items:center;
    overflow:hidden;
  }
  .slide-layer{
    position:absolute; inset:0;
    opacity:0;
    transition:opacity 1.4s ease;
    pointer-events:none;
  }
  .slide-layer.active{opacity:1;}
  .slide-layer svg{width:100%; height:100%; display:block;}

  .hero-content{
    position:relative; z-index:5;
    width:100%;
  }
  .hero-inner{
    max-width:640px;
    padding:110px 0 130px;
  }
  .hero h1{
    font-size:clamp(38px, 5vw, 58px);
    line-height:1.06;
    color:var(--paper);
    margin:22px 0 24px;
  }
  .hero h1 em{color:var(--brass-light); font-style:italic; font-weight:300;}
  .hero p.lede{
    font-size:17px; color:rgba(247,244,236,0.72); max-width:480px; margin-bottom:36px;
  }
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
  .btn-primary{
    background:var(--brass); color:var(--navy-deep); padding:15px 28px;
    font-size:14px; font-weight:500; letter-spacing:0.02em; border-radius:2px;
    transition:transform .2s ease, background .2s ease;
    display:inline-block;
  }
  .btn-primary:hover{background:var(--brass-light); transform:translateY(-1px);}
  .btn-ghost{
    border:1px solid rgba(247,244,236,0.3); color:var(--paper); padding:15px 26px;
    font-size:14px; border-radius:2px; transition:border-color .2s ease;
  }
  .btn-ghost:hover{border-color:var(--brass-light);}

  .slide-dots{
    position:absolute; left:32px; bottom:36px; z-index:6;
    display:flex; gap:10px; align-items:center;
  }
  .slide-dots .dot{
    width:26px; height:2px; background:rgba(247,244,236,0.28);
    cursor:pointer; transition:background .3s ease; position:relative; overflow:hidden;
  }
  .slide-dots .dot.active{background:rgba(247,244,236,0.28);}
  .slide-dots .dot.active::after{
    content:""; position:absolute; left:0; top:0; height:100%; width:100%;
    background:var(--brass-light); animation:fillDot 6s linear forwards;
  }
  @keyframes fillDot{from{width:0%;} to{width:100%;}}

  .slide-caption{
    position:absolute; right:32px; bottom:36px; z-index:6;
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:rgba(247,244,236,0.55);
    letter-spacing:0.05em;
  }

  /* stat strip */
  .statstrip{
    background:var(--navy-deep);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .statstrip .wrap{
    display:grid; grid-template-columns:repeat(4,1fr);
    padding:34px 32px;
  }
  .stat{
    padding:0 24px; border-left:1px solid var(--line);
  }
  .stat:first-child{border-left:none; padding-left:0;}
  .stat .num{
    font-family:'Fraunces', serif; font-size:30px; color:var(--brass-light); font-weight:400;
  }
  .stat .label{
    font-family:'IBM Plex Mono', monospace; font-size:11px; color:rgba(237,231,217,0.55);
    text-transform:uppercase; letter-spacing:0.08em; margin-top:6px;
  }
  @media (max-width:860px){
    .statstrip .wrap{grid-template-columns:repeat(2,1fr); row-gap:24px;}
    .stat{border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:18px;}
    .stat:first-child, .stat:nth-child(2){border-top:none; padding-top:0;}
  }

  /* ===== SECTION GENERIC ===== */
  section{padding:108px 0;}
  .section-head{
    max-width:640px; margin-bottom:64px;
  }
  .section-head h2{font-size:clamp(28px,3.4vw,40px); margin-top:16px;}
  .section-head p{color:#4B564E; font-size:16px; margin-top:16px; max-width:520px;}

  /* ===== ASSET CLASSES (image + text) ===== */
  .assets{background:var(--stone);}
  .asset-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line-dark);
    border:1px solid var(--line-dark);
  }
  .asset-card{
    background:var(--paper); padding:0;
    display:flex; flex-direction:column;
  }
  .asset-visual{
    height:190px; background:var(--navy); position:relative; overflow:hidden;
  }
  .asset-visual svg{width:100%; height:100%; display:block;}
  .asset-body{padding:28px 26px 32px;}
  .asset-body .tag{
    font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--brass);
    text-transform:uppercase; letter-spacing:0.08em;
  }
  .asset-body h3{font-size:21px; margin:10px 0 10px;}
  .asset-body p{font-size:14.5px; color:#4B564E;}
  .asset-body .pct{
    margin-top:18px; display:flex; align-items:center; justify-content:space-between;
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:#4B564E;
  }
  .barbg{height:4px; background:var(--line-dark); margin-top:8px; border-radius:2px; overflow:hidden;}
  .barfill{height:100%; background:var(--sage);}
  @media (max-width:860px){ .asset-grid{grid-template-columns:1fr;} }

  /* ===== HOW IT WORKS — real sequence, numbered ===== */
  .process{background:var(--paper);}
  .process-list{
    display:grid; grid-template-columns:1fr 1fr; gap:0 60px;
  }
  .p-step{
    padding:34px 0; border-top:1px solid var(--line-dark);
    display:grid; grid-template-columns:56px 1fr; gap:20px;
  }
  .p-step:last-child, .p-step:nth-last-child(2){border-bottom:1px solid var(--line-dark);}
  .p-step .idx{
    font-family:'Fraunces', serif; font-style:italic; font-size:26px; color:var(--brass);
  }
  .p-step h4{font-size:17px; margin-bottom:8px;}
  .p-step p{font-size:14px; color:#4B564E;}
  @media (max-width:860px){ .process-list{grid-template-columns:1fr;} }

  /* ===== PERFORMANCE PANEL ===== */
  .performance{
    background:var(--navy); color:var(--stone);
  }
  .performance .section-head h2{color:var(--paper);}
  .performance .section-head p{color:rgba(237,231,217,0.65);}
  .perf-panel{
    display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:center;
  }
  .chart-box{
    background:var(--navy-deep); border:1px solid var(--line); padding:28px 28px 18px; border-radius:3px;
  }
  .chart-legend{display:flex; gap:22px; margin-bottom:18px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:rgba(237,231,217,0.6);}
  .chart-legend span{display:flex; align-items:center; gap:7px;}
  .chart-legend i{width:9px;height:9px;border-radius:50%; display:inline-block;}
  .perf-notes{display:flex; flex-direction:column; gap:26px;}
  .perf-note{border-left:2px solid var(--brass); padding-left:18px;}
  .perf-note .n{font-family:'Fraunces', serif; font-size:22px; color:var(--brass-light);}
  .perf-note .t{font-size:13.5px; color:rgba(237,231,217,0.68); margin-top:4px;}
  @media (max-width:860px){ .perf-panel{grid-template-columns:1fr;} }

  /* ===== QUOTE ===== */
  .quote-section{background:var(--stone); padding:96px 0;}
  .quote-block{max-width:760px; margin:0 auto; text-align:center;}
  .quote-block svg{margin-bottom:22px; opacity:0.5;}
  .quote-block p{
    font-family:'Fraunces', serif; font-size:clamp(22px,2.8vw,30px); font-weight:400; font-style:italic;
    color:var(--ink); line-height:1.4;
  }
  .quote-attr{
    margin-top:26px; font-family:'IBM Plex Mono', monospace; font-size:12px; color:#5F7A66;
    letter-spacing:0.04em; text-transform:uppercase;
  }

  /* ===== CTA ===== */
  .cta{
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
    color:var(--paper); text-align:center; padding:120px 0;
  }
  .cta .eyebrow{justify-content:center;}
  .cta h2{font-size:clamp(30px,4vw,46px); margin:18px 0 20px; color:var(--paper);}
  .cta p{max-width:480px; margin:0 auto 34px; color:rgba(247,244,236,0.68);}
  .cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  /* ===== FOOTER ===== */
  footer{background:var(--navy-deep); color:rgba(237,231,217,0.55); padding:52px 0 34px; border-top:1px solid var(--line);}
  .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; padding-bottom:36px; border-bottom:1px solid var(--line);}
  .foot-cols{display:flex; gap:64px; flex-wrap:wrap;}
  .foot-col h5{font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--brass-light); margin-bottom:14px;}
  .foot-col a{display:block; font-size:13.5px; color:rgba(237,231,217,0.6); margin-bottom:9px;}
  .foot-col a:hover{color:var(--paper);}
  .disclaimer{
    font-size:11.5px; line-height:1.7; color:rgba(237,231,217,0.4); max-width:980px; margin-top:26px;
  }
  .foot-bottom{display:flex; justify-content:space-between; margin-top:22px; font-size:12px; color:rgba(237,231,217,0.4); flex-wrap:wrap; gap:10px;}

  ::selection{background:var(--brass); color:var(--navy-deep);}
