  /* ——— TOKENS ——— */
  :root{
    /* Brand surfaces */
    --paper:        #F1ECE1;  /* default page background */
    --vellum:       #FAF6EC;  /* raised: cards, modals */
    --parchment:    #E6E0D2;  /* recessed: hover, inputs, dividers */

    /* Legacy aliases preserved for in-page components */
    --cream:        #F1ECE1;  /* alias of --paper */
    --cream-warm:   #FAF6EC;  /* alias of --vellum */

    /* Ink scale (solid values, never opacity for body type) */
    --ink:          #14130E;  /* Ink 100 */
    --ink-75:       #3D3B33;
    --ink-55:       #6B6760;
    --ink-30:       #A09B8E;
    --ink-15:       #CFC9BB;

    /* Editorial accent (reserved) */
    --seal:         #7A2E2E;
    --seal-tint:    #ECDCDC;
    --oxblood:      #7A2E2E;  /* alias for legacy nodes */

    /* Utility palette */
    --moss:         #5C6B3D;  --moss-tint:  #E3E5D5;
    --slate-u:      #3D4A5C;  --slate-tint: #D5DAE2;
    --ochre:        #8A6B2E;  --ochre-tint: #EBE2CC;

    /* Legacy accent aliases (used by old launch-preview internals only) */
    --olive:        #5C6B3D;
    --navy:         #3D4A5C;
    --clay:         #B08968;

    --rule:         #CFC9BB;          /* hairline border (Ink 15) */
    --rule-soft:    rgba(20,19,14,0.08);

    /* type scale per spec — bumped for 50+ readability */
    --meta-size: 14px;
    --section-size: 32px;
    --h-size: 43px;
    --body-size: 24px;

    --gutter: clamp(24px, 4vw, 80px);
    --maxw: 1440px;
  }

  *{box-sizing:border-box;margin:0;padding:0;}
  html,body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;}
  body{
    font-family:'DM Sans', sans-serif;
    font-weight:350;
    font-size:var(--body-size);
    line-height:1.55;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  /* ——— TYPOGRAPHY UTILITIES ——— */
  .meta{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:var(--meta-size);
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:rgba(30,30,30,0.78);
  }
  .section-label{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:var(--section-size);
    text-transform:uppercase;
    letter-spacing:0.02em;
    color:rgba(30,30,30,0.82);
    line-height:1.1;
  }
  h1,h2,h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;     /* 451 ≈ 500 via variable not available, use 500 */
    color:var(--ink);
    letter-spacing:-0.005em;
    line-height:1.1;
  }
  h1{font-size:clamp(56px, 7vw, 112px); font-weight:400;}
  h2{font-size:clamp(40px, 4.2vw, 64px); font-weight:500;}
  h3{font-size:var(--h-size); font-weight:500; line-height:1.12;}
  p{
    font-family:'DM Sans',sans-serif;
    font-weight:350;
    font-size:var(--body-size);
    color:rgba(30,30,30,0.88);
    line-height:1.55;
  }
  .mono{ font-family:'DM Mono', ui-monospace, monospace; font-weight:300; }

  /* ——— LAYOUT ——— */
  .wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
  .rule{height:1px;background:var(--rule);width:100%;}
  .rule-soft{height:1px;background:var(--rule-soft);width:100%;}

  /* ——— NAV ——— */
  nav.top{
    position:fixed;top:0;left:0;right:0;z-index:50;
    backdrop-filter:saturate(140%) blur(10px);
    -webkit-backdrop-filter:saturate(140%) blur(10px);
    background:rgba(241,236,225,0.78);
    border-bottom:1px solid var(--rule-soft);
  }
  nav .row{
    max-width:var(--maxw);margin:0 auto;
    padding:18px var(--gutter);
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:32px;
  }
  .brand{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:22px;
    letter-spacing:0.01em;
    display:flex; align-items:center; gap:10px;
  }
  .brand .mk{
    width:26px;height:26px;border-radius:50%;
    background:var(--ink) center/cover no-repeat;
    background-image:url('/assets/originalis-seal.png');
    position:relative;
  }
  .brand .mk::after{
    content:"";position:absolute;inset:5px;border-radius:50%;
    background:transparent;
  }
  .nav-links{
    display:flex;gap:40px;justify-self:center;
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:16px;
    letter-spacing:0.02em;
    color:rgba(30,30,30,0.92);
  }
  .nav-links a{position:relative;padding:4px 0;}
  .nav-links a:hover{color:var(--ink);}
  .nav-cta{
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:15px;
    letter-spacing:0.06em;text-transform:uppercase;
    padding:12px 22px;border:1px solid var(--ink);
    background:var(--ink); color:var(--cream);
    transition:background .4s ease, color .4s ease, border-color .4s ease;
    justify-self:end;
    white-space:nowrap;
  }
  .nav-cta:hover{background:var(--oxblood);border-color:var(--oxblood);color:var(--cream);}
  .nav-login{
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:15px;
    letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(30,30,30,0.92);
    border-bottom:1px solid var(--rule);
    padding:6px 0;
    background:transparent;
    transition:color .3s ease, border-color .3s ease;
    white-space:nowrap;
  }
  .nav-login:hover{color:var(--ink); border-color:var(--ink); background:transparent;}
  .nav-meta{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-75);
    transition:color .25s ease;
    white-space:nowrap;
  }
  .nav-meta:hover{ color:var(--ink); }
  .nav-firm{ color:var(--ink-55); }
  .nav-firm:hover{ color:var(--ink); }
  @media (max-width: 880px){
    .nav-firm{ display:none; }
  }
  @media (max-width: 720px){
    .nav-meta:not(.nav-firm){ display:none; }
  }
  .nav-right{
    display:flex; gap:28px; justify-self:end; align-items:center;
  }

  /* ——— HERO ——— */
  section.hero{
    padding-top:152px; padding-bottom:64px;
    position:relative;
  }
  .hero-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:64px;
    width:100%;
    align-items:start;
  }
  .hero-left{
    display:block;
    width:100%;
    min-width:0;
  }
  .hero-meta-row{
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:24px;
    padding-bottom:24px;
    border-bottom:1px solid var(--rule-soft);
    margin-bottom:32px;
  }
  .hero-meta-row .left{ display:flex; gap:40px; flex-wrap:wrap;}
  .hero-meta-row .left .meta{ margin-top:0 !important;}
  .hero-meta-row .right{
    text-align:right;
    display:flex; align-items:center; gap:10px;
  }
  .hero-meta-row .right .dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--olive);
    animation:pulse 2.4s ease-in-out infinite;
  }
  .hero-headline{
    max-width:none;
    margin-top:0;
    font-size:clamp(44px, 4.4vw, 84px) !important;
    line-height:0.98;
    letter-spacing:-0.015em;
  }
  .hero-headline em{
    font-style:italic;
    color:var(--seal);
    font-family:'Cormorant Garamond',serif;
    color:var(--oxblood);
    font-weight:400;
  }
  .hero-sub-row{
    margin-top:48px;
    display:block;
    padding-top:32px;
    border-top:1px solid var(--rule);
  }
  .hero-sub-row .hero-caption{
    margin-bottom:24px;
  }
  .hero-sub{
    max-width:520px;
    font-size:23px;
    color:var(--ink-75);
    line-height:1.5;
    font-weight:350;
    font-family:'DM Sans',sans-serif;
  }
  .hero-cta-row{
    display:flex; align-items:center; gap:32px;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .hero-sub em{
    font-style:italic;
    font-family:'Cormorant Garamond', serif;
    font-weight:400;
    font-size:1em;
    color:inherit;
    opacity:1;
  }
  .hero-caption{
    font-family:'DM Mono',monospace;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:rgba(30,30,30,0.78);
    line-height:1.7;
    font-weight:400;
  }
  .hero-caption .v{color:var(--ink);}
  .btn-primary{
    display:inline-flex; align-items:center; gap:14px;
    padding:20px 28px;
    background:var(--ink); color:var(--cream);
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:15px;
    letter-spacing:0.12em;text-transform:uppercase;
    border:1px solid var(--ink);
    transition:background .4s ease, color .4s ease, transform .4s ease;
  }
  .btn-primary:hover{ background:var(--oxblood); border-color:var(--oxblood); }
  .btn-primary .arrow{
    width:18px;height:1px;background:currentColor;position:relative;
    transition:width .4s ease;
  }
  .btn-primary .arrow::after{
    content:"";position:absolute;right:0;top:-3px;
    width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;
    transform:rotate(45deg);
  }
  .btn-primary:hover .arrow{ width:28px; }
  .btn-ghost{
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:15px;
    letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(30,30,30,0.92);
    border-bottom:1px solid var(--rule);
    padding:6px 0;
    transition:color .3s ease, border-color .3s ease;
  }
  .btn-ghost:hover{color:var(--ink); border-color:var(--ink);}

  .signal-dot{
    display:inline-block;width:7px;height:7px;border-radius:50%;
    background:var(--olive);
    margin-right:10px; vertical-align:middle;
    animation:pulse 2.4s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{opacity:1; transform:scale(1);}
    50%    {opacity:0.45; transform:scale(0.85);}
  }

  /* ——— LAUNCH PREVIEW ——— */
  .hero-right{
    position:sticky;
    top:96px;
    align-self:start;
  }
  .lp-frame{
    background:#FBF7EE;
    border:1px solid var(--rule);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.6) inset,
      0 30px 50px -30px rgba(30,30,30,0.18),
      0 8px 20px -10px rgba(30,30,30,0.10);
    display:flex; flex-direction:column;
    height:680px;
    overflow:hidden;
    position:relative;
  }
  .lp-chrome{
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 18px;
    border-bottom:1px solid var(--rule-soft);
    background:var(--cream-warm);
    flex-shrink:0;
  }
  .lp-chrome-left, .lp-chrome-right{ display:flex; align-items:center; gap:10px;}
  .lp-dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--olive);
    box-shadow:0 0 0 3px rgba(96,108,56,0.15);
    animation:pulse 2.4s ease-in-out infinite;
  }
  .lp-mono{
    font-family:'DM Mono',monospace;font-size:12px;font-weight:400;
    letter-spacing:0.1em; text-transform:uppercase;
    color:rgba(30,30,30,0.78);
  }
  .lp-mono em{
    font-style:normal; color:var(--ink); font-weight:400;
  }

  .lp-stage{
    flex:1 1 auto;
    position:relative;
    overflow:hidden;
  }
  .lp-scene{
    position:absolute; inset:0;
    padding:28px 28px 24px;
    overflow-y:auto;
    overflow-x:hidden;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .35s cubic-bezier(.2,.6,.2,1), transform .35s cubic-bezier(.2,.6,.2,1);
    pointer-events:none;
    scrollbar-width:thin;
    scrollbar-color:rgba(30,30,30,0.15) transparent;
  }
  .lp-scene::-webkit-scrollbar{width:4px;}
  .lp-scene::-webkit-scrollbar-thumb{background:rgba(30,30,30,0.15);}
  .lp-scene.is-active{
    opacity:1; transform:translateY(0); pointer-events:auto;
  }

  .lp-scene-head{
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:16px;
    padding-bottom:18px;
    border-bottom:1px solid var(--rule-soft);
    margin-bottom:18px;
  }
  .lp-eye{
    font-family:'DM Mono',monospace;font-size:12px;font-weight:400;
    letter-spacing:0.1em;text-transform:uppercase;
    color:rgba(30,30,30,0.78);
    margin-bottom:8px;
  }
  .lp-scene h5{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:22px;
    line-height:1.2;
    color:var(--ink);
    max-width:320px;
  }
  .lp-time{
    font-family:'DM Mono',monospace;font-size:12px;font-weight:400;
    color:rgba(30,30,30,0.78);
    text-transform:uppercase; letter-spacing:0.08em;
    white-space:nowrap;
    flex-shrink:0;
  }

  /* ——— scene 01: what's happening ——— */
  .lp-summary{
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:16px 18px;
    margin-bottom:20px;
  }
  .lp-summary-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .lp-tag{ color:var(--ink); font-weight:400;}
  .lp-tag-soft{ color:rgba(30,30,30,0.55);}
  .lp-summary-counts{
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:6px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px dashed var(--rule-soft);
  }
  .lp-summary-counts > div{ display:flex; align-items:baseline; gap:6px;}
  .lp-summary-counts .n{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:18px;
    color:var(--ink);
  }
  .lp-summary-counts .l{
    font-family:'DM Mono',monospace; font-size:11px; font-weight:400;
    text-transform:uppercase; letter-spacing:0.08em;
    color:rgba(30,30,30,0.78);
  }
  .lp-section-label{
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 0 8px;
  }
  .lp-count{
    background:var(--cream-warm);
    padding:2px 8px;
    color:var(--ink);
  }
  .lp-feed{ list-style:none; display:flex; flex-direction:column; gap:8px;}
  .lp-feed li{
    display:flex; gap:12px; align-items:flex-start;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:14px 16px;
  }
  .lp-avatar{
    width:32px;height:32px;border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--cream);
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:14px;
    flex-shrink:0;
  }
  .lp-avatar-square{ border-radius:6px; font-size:11px; letter-spacing:0.04em;}
  .lp-feed-body{ flex:1; min-width:0;}
  .lp-feed-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:15px;
    color:var(--ink);
    margin-bottom:4px;
    display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  }
  .lp-feed-tag{
    font-family:'DM Mono',monospace; font-size:11px;
    text-transform:uppercase; letter-spacing:0.08em;
    color:var(--olive);
    background:rgba(96,108,56,0.14);
    padding:2px 6px;
    font-weight:500;
  }
  .lp-feed-tag.tag-new{ color:var(--oxblood); background:rgba(120,0,0,0.08);}
  .lp-feed-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:14px;
    line-height:1.45;
    color:rgba(30,30,30,0.85);
    text-overflow:ellipsis; overflow:hidden;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  }

  /* ——— scene 02: chat ——— */
  .lp-chat{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
    min-height:100%;
    padding:20px;
  }
  .lp-chat-mark{
    width:56px;height:56px;
    border-radius:14px;
    background:linear-gradient(160deg, #F2C58A 0%, #E08A57 100%);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:24px;
    box-shadow:0 10px 24px -8px rgba(224,138,87,0.45);
  }
  .lp-chat-burst{
    width:24px;height:24px;
    border-radius:50%;
    background:radial-gradient(circle at 50% 50%, #fff 0 30%, transparent 31%),
               conic-gradient(from 0deg, #fff 0 12.5%, transparent 12.5% 25%, #fff 25% 37.5%, transparent 37.5% 50%, #fff 50% 62.5%, transparent 62.5% 75%, #fff 75% 87.5%, transparent 87.5%);
  }
  .lp-chat-greet{
    font-family:'Cormorant Garamond',serif;
    font-weight:500; font-size:30px;
    color:var(--ink);
    margin-bottom:10px;
    letter-spacing:-0.01em;
  }
  .lp-chat-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:15px;
    color:rgba(30,30,30,0.85);
    max-width:360px;
    line-height:1.55;
    margin-bottom:24px;
  }
  .lp-chat-sub em{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--ink); font-weight:400; font-size:1.05em;}
  .lp-chat-input{
    width:100%; max-width:440px;
    background:#fff;
    border:1px solid var(--rule);
    padding:16px 18px;
    box-shadow:0 12px 24px -16px rgba(30,30,30,0.18);
    text-align:left;
    margin-bottom:14px;
  }
  .lp-chat-typed{
    display:block;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:15px;
    color:var(--ink);
    line-height:1.4;
    min-height:34px;
  }
  .lp-cursor{
    color:var(--olive);
    animation:blink 1.1s steps(1,end) infinite;
    font-weight:400;
  }
  @keyframes blink{ 0%,50%{opacity:1;} 50.01%,100%{opacity:0;}}
  .lp-chat-actions{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:14px;
    padding-top:10px;
    border-top:1px solid var(--rule-soft);
  }
  .lp-chat-icons{ display:flex; gap:14px; color:rgba(30,30,30,0.7);}
  .lp-chat-icons span{ font-size:12px;}
  .lp-chat-send{
    width:26px;height:26px;border-radius:50%;
    background:var(--olive); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-size:14px;
  }
  .lp-chat-meta{
    font-family:'DM Mono',monospace; font-size:11px;font-weight:400;
    text-transform:uppercase; letter-spacing:0.08em;
    color:rgba(30,30,30,0.7);
    margin-bottom:18px;
  }
  .lp-chat-chips{
    display:flex; gap:8px; flex-wrap:wrap; justify-content:center;
  }

  /* chat results state */
  .lp-chat-results{
    display:none;
    flex-direction:column;
    height:100%;
    padding:14px 18px 14px;
    position:relative;
  }
  .lp-chat-results[hidden]{ display:none !important;}
  .lp-chat-results.is-on{ display:flex;}
  .lp-chat-bubble-row{ display:flex; justify-content:flex-end; margin-bottom:14px;}
  .lp-chat-bubble{
    background:var(--ink); color:var(--cream);
    padding:10px 16px;
    border-radius:14px 14px 4px 14px;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:14px;
    line-height:1.45; max-width:78%;
    box-shadow:0 6px 14px -8px rgba(30,30,30,0.4);
  }
  .lp-chat-status{
    display:flex; align-items:center; gap:10px;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:14px;
    color:rgba(30,30,30,0.88);
    margin-bottom:14px;
  }
  .lp-chat-spinner{
    width:14px; height:14px; border-radius:50%;
    border:1.5px solid rgba(30,30,30,0.18);
    border-top-color:var(--olive);
    animation:lp-spin 0.9s linear infinite;
    display:inline-block; flex-shrink:0;
  }
  @keyframes lp-spin{ to{ transform:rotate(360deg);} }
  .lp-dots{ display:inline-flex; gap:2px; margin-left:2px;}
  .lp-dots span{
    width:3px; height:3px; border-radius:50%;
    background:rgba(30,30,30,0.5);
    animation:lp-dot 1.2s ease-in-out infinite;
  }
  .lp-dots span:nth-child(2){ animation-delay:0.15s;}
  .lp-dots span:nth-child(3){ animation-delay:0.3s;}
  @keyframes lp-dot{ 0%,100%{opacity:0.3;} 50%{opacity:1;} }

  .lp-chat-results.is-loaded .lp-chat-spinner{
    border-color:rgba(123,160,96,0.4);
    border-top-color:var(--olive);
    animation:none;
    background:var(--olive);
    box-shadow:inset 0 0 0 2px var(--cream);
  }
  .lp-chat-results.is-loaded .lp-chat-status{ color:var(--olive);}
  .lp-chat-results.is-loaded .lp-dots{ display:none;}

  .lp-chat-results-list{
    flex:1; min-height:0; overflow:auto;
    padding-right:4px; padding-bottom:48px;
  }
  .lp-chat-results-list::-webkit-scrollbar{ width:4px;}
  .lp-chat-results-list::-webkit-scrollbar-thumb{ background:rgba(30,30,30,0.15);}
  .lp-results-feed li{ animation:lp-fade-up 0.5s ease-out both;}
  .lp-results-feed li:nth-child(1){ animation-delay:0.1s;}
  .lp-results-feed li:nth-child(2){ animation-delay:0.18s;}
  .lp-results-feed li:nth-child(3){ animation-delay:0.26s;}
  .lp-results-feed li:nth-child(4){ animation-delay:0.34s;}
  .lp-results-feed li:nth-child(5){ animation-delay:0.42s;}
  .lp-results-feed li:nth-child(6){ animation-delay:0.50s;}
  .lp-results-feed li:nth-child(7){ animation-delay:0.58s;}
  @keyframes lp-fade-up{
    from{ opacity:0; transform:translateY(6px);}
    to{ opacity:1; transform:translateY(0);}
  }
  .lp-feed-tag.tag-new{ color:#7A5BB8; border-color:rgba(122,91,184,0.4); background:rgba(122,91,184,0.08);}

  .lp-chat-bottom-input{
    position:absolute; left:18px; right:18px; bottom:14px;
    background:#fff; border:1px solid var(--rule);
    border-radius:10px; padding:8px 10px 8px 14px;
    display:flex; align-items:center; justify-content:space-between;
    box-shadow:0 8px 20px -12px rgba(30,30,30,0.18);
  }
  .lp-chat-bottom-placeholder{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.7);
  }
  .lp-chat-send-sm{
    width:22px;height:22px;border-radius:50%;
    background:var(--olive); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-size:12px;
  }
  .lp-chip{
    display:inline-flex; align-items:center; gap:6px;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:7px 14px;
    border-radius:99px;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.88);
  }
  .lp-chip-dot{ width:6px;height:6px;border-radius:50%;}
  .lp-chip-ghost{ color:rgba(30,30,30,0.45);}

  /* ——— scene 03: builders pulse ——— */
  .lp-search{
    display:flex; align-items:center; gap:10px;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:11px 16px;
    margin-bottom:18px;
  }
  .lp-search .lp-mono{ color:rgba(30,30,30,0.78);}
  .lp-search-placeholder{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:14px;
    color:rgba(30,30,30,0.7);
  }
  .lp-cohort-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-bottom:14px;
    padding:0 2px;
  }
  .lp-cohort-name{
    font-family:'Cormorant Garamond',serif; font-weight:500;
    font-size:22px; color:var(--ink); line-height:1;
  }
  .lp-cohort-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.78);
    margin-top:4px;
  }
  .lp-builders{ list-style:none; display:flex; flex-direction:column; gap:10px;}
  .lp-builders li{
    display:flex; gap:14px;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:16px 18px;
  }
  .lp-builder-avatar{
    width:36px;height:36px;border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--cream);
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:15px;
    flex-shrink:0;
    position:relative;
  }
  .lp-builder-avatar .lp-score{
    position:absolute;
    bottom:-3px; right:-3px;
    background:var(--olive);
    color:var(--cream);
    font-family:'DM Mono',monospace;
    font-size:9px;
    width:16px;height:16px;border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    border:2px solid #fff;
  }
  .lp-builder-body{ flex:1; min-width:0;}
  .lp-builder-photo{
    background-size:cover; background-position:center top;
    color:transparent !important;
  }
  .lp-builder-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:15px;
    color:var(--ink); margin-bottom:2px;
  }
  .lp-builder-role{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.85);
    margin-bottom:6px;
  }
  .lp-builder-tags{
    display:flex; gap:6px; flex-wrap:wrap;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12px;
    color:rgba(30,30,30,0.78);
    margin-bottom:8px;
  }
  .lp-builder-signal{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    line-height:1.5;
    color:rgba(30,30,30,0.85);
    background:var(--cream);
    padding:8px 10px;
    border-left:2px solid var(--olive);
    margin-bottom:8px;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .lp-builder-signal .lp-mono{ color:var(--olive); font-weight:400;}
  .lp-builder-foot{
    display:flex; justify-content:space-between; align-items:center;
    gap:10px; flex-wrap:wrap;
  }
  .lp-pill{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:12px;
    color:var(--olive);
  }
  .lp-pill::before{ content:"●"; margin-right:6px; font-size:8px;}
  .lp-pill-action{
    background:var(--olive); color:var(--cream);
    padding:6px 12px;
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:12px;
    text-transform:uppercase; letter-spacing:0.08em;
  }

  /* ——— scene 04: profile ——— */
  .lp-profile-bar{
    display:flex; justify-content:space-between; align-items:center;
    padding:0 0 16px;
    border-bottom:1px solid var(--rule-soft);
    margin-bottom:18px;
    gap:12px; flex-wrap:wrap;
  }
  .lp-profile-head{
    display:flex; gap:18px;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:18px 20px;
    margin-bottom:16px;
  }
  .lp-profile-id{ display:flex; gap:14px; flex:1;}
  .lp-avatar-lg{ width:54px; height:54px; font-size:20px;}
  .lp-profile-name{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:26px;
    line-height:1; color:var(--ink); margin-bottom:6px;
  }
  .lp-profile-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:14px;
    color:rgba(30,30,30,0.88); line-height:1.5; margin-bottom:8px;
  }
  .lp-profile-meta{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.78);
  }
  .lp-italic{ font-style:italic;}
  .lp-score-block{
    display:flex; flex-direction:column; align-items:center; gap:6px;
    flex-shrink:0;
  }
  .lp-eye-sm{
    font-family:'DM Mono',monospace; font-size:11px; font-weight:400;
    text-transform:uppercase; letter-spacing:0.1em;
    color:rgba(30,30,30,0.75);
  }
  .lp-score-ring{
    position:relative; width:76px; height:76px;
    display:flex; align-items:center; justify-content:center;
  }
  .lp-score-num{
    position:absolute;
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:28px;
    color:var(--ink);
  }
  .lp-take{
    background:var(--cream-warm);
    padding:16px 18px;
    margin-bottom:16px;
  }
  .lp-take p{
    font-family:'Cormorant Garamond',serif;
    font-weight:500; font-style:italic;
    font-size:17px; line-height:1.55;
    color:var(--ink);
    margin-top:8px;
  }
  .lp-take p em{ font-style:italic; color:var(--oxblood);}
  .lp-dim-head{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:15px;
    color:var(--ink);
    margin-bottom:10px;
  }
  .lp-dim-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:8px;
  }
  .lp-dim{
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:12px 14px;
    display:flex; justify-content:space-between; align-items:center;
  }
  .lp-dim.warn{ background:#FBE8DA;}
  .lp-dim-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px;
    color:var(--ink);
  }
  .lp-dim-num{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:24px;
  }
  .lp-dim-num.ok{ color:#3F6E2A;}
  .lp-dim-num.warn{ color:#A6562A;}

  /* ——— scene 05: network ——— */
  .lp-net-stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:6px;
    margin-bottom:16px;
  }
  .lp-net-stat{
    background:#fff;
    border-top:2px solid var(--c, var(--olive));
    border-right:1px solid var(--rule-soft);
    border-bottom:1px solid var(--rule-soft);
    border-left:1px solid var(--rule-soft);
    padding:10px 12px;
    display:flex; flex-direction:column; gap:4px;
  }
  .lp-net-stat .lp-mono{ color:var(--c, var(--olive)); font-size:11px; font-weight:500;}
  .lp-net-num{
    font-family:'Cormorant Garamond',serif; font-weight:500;
    font-size:22px; color:var(--ink); line-height:1;
  }
  .lp-net-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:11px;
    color:rgba(30,30,30,0.78); line-height:1.35;
  }
  .lp-net-headline{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:8px 2px 12px;
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:18px;
    color:var(--ink);
  }
  .lp-net-grid{
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px;
  }
  .lp-net-card{
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:12px;
    display:flex; flex-direction:column; gap:8px;
  }
  .lp-net-row{ display:flex; gap:10px; align-items:center;}
  .lp-avatar-sm{ width:28px; height:28px; font-size:12px;}
  .lp-net-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px;
    color:var(--ink); line-height:1.15;
  }
  .lp-net-role{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:11px;
    color:rgba(30,30,30,0.82); line-height:1.25; margin-top:2px;
  }
  .lp-net-bio{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12px;
    color:rgba(30,30,30,0.85); line-height:1.45;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  .lp-net-tags{
    display:flex; gap:4px; flex-wrap:wrap;
  }
  .lp-net-tags span{
    font-family:'DM Mono',monospace; font-size:10px; font-weight:500;
    text-transform:uppercase; letter-spacing:0.06em;
    color:rgba(30,30,30,0.78);
    background:var(--cream);
    padding:2px 6px;
  }

  /* ——— scene 06: deals ——— */
  .lp-deals-stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:6px;
    margin-bottom:16px;
  }
  .lp-deal-stat{
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:12px;
    display:flex; flex-direction:column; gap:4px;
  }
  .lp-deal-stat .lp-mono{ font-size:11px; font-weight:500;}
  .lp-deal-stat .n{
    font-family:'Cormorant Garamond',serif; font-weight:500;
    font-size:26px; color:var(--ink); line-height:1;
  }
  .lp-deal-stat .l{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:11px;
    color:rgba(30,30,30,0.78); line-height:1.35;
  }
  .lp-deal-section{ margin-top:10px;}
  .lp-deal-list{ list-style:none; display:flex; flex-direction:column; gap:8px; margin-top:10px;}
  .lp-deal-list li{
    display:flex; gap:14px; align-items:flex-start;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:14px 16px;
  }
  .lp-deal-score{
    width:42px;height:42px;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond',serif; font-weight:500;
    font-size:18px;
    flex-shrink:0;
  }
  .lp-deal-body{ flex:1; min-width:0;}
  .lp-deal-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:15px;
    color:var(--ink); margin-bottom:4px;
    display:flex; align-items:center; gap:8px;
  }
  .lp-pill-small{
    font-family:'DM Mono',monospace; font-size:11px;
    text-transform:uppercase; letter-spacing:0.06em;
    color:var(--olive);
    background:rgba(96,108,56,0.14);
    padding:2px 6px;
    font-weight:500;
  }
  .lp-deal-desc{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.85); line-height:1.5;
    margin-bottom:6px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  .lp-deal-tags{ display:flex; gap:4px; flex-wrap:wrap;}
  .lp-deal-tags span{
    font-family:'DM Mono',monospace; font-size:10px; font-weight:500;
    text-transform:uppercase; letter-spacing:0.06em;
    color:rgba(30,30,30,0.78);
    background:var(--cream);
    padding:2px 6px;
  }

  /* ——— builder profile modal ——— */
  .lp-builder-link{ cursor:pointer; transition:color 0.15s;}
  .lp-builder-link:hover{ color:var(--olive); text-decoration:underline; text-underline-offset:3px;}
  .lp-modal{
    position:absolute; inset:0; z-index:50;
    background:rgba(20,20,20,0.45);
    display:flex; align-items:center; justify-content:center;
    padding:14px; backdrop-filter:blur(2px);
    animation:lp-fade 0.18s ease-out;
  }
  .lp-modal[hidden]{ display:none;}
  @keyframes lp-fade{ from{ opacity:0;} to{ opacity:1;}}
  .lp-modal-card{
    position:relative; background:var(--cream); width:100%; height:100%;
    overflow:auto; padding:14px 18px 18px;
    animation:lp-slide-up 0.24s ease-out;
  }
  @keyframes lp-slide-up{ from{ transform:translateY(8px); opacity:0;} to{ transform:translateY(0); opacity:1;}}
  .lp-modal-close{
    position:absolute; top:8px; right:10px; z-index:2;
    width:24px; height:24px; border:1px solid var(--rule-soft);
    background:#fff; cursor:pointer; font-size:16px; line-height:1;
    color:rgba(30,30,30,0.7);
  }
  .lp-bp-bar{
    display:flex; justify-content:space-between; align-items:center;
    padding-bottom:10px; border-bottom:1px solid var(--rule-soft);  margin-bottom:12px; gap:8px;
    font-size:11.5px;
  }
  .lp-bp-actions{ display:flex; gap:10px; align-items:center;}
  .lp-bp-back{
    font-family:'DM Mono',monospace; font-size:11.5px; font-weight:500;
    letter-spacing:0.08em; text-transform:uppercase;
    color:rgba(30,30,30,0.85);
    background:transparent; border:0; padding:4px 0; cursor:pointer;
    transition:color 0.15s;
  }
  .lp-bp-back:hover{ color:var(--ink);}
  .lp-bp-cta{ background:var(--olive); color:#fff; border-color:var(--olive);}
  .lp-bp-grid{
    display:grid; grid-template-columns:1.65fr 1fr; gap:12px;
  }
  .lp-bp-main > * { margin-bottom:12px;}
  .lp-bp-head{
    background:#fff; border:1px solid var(--rule-soft);
    padding:14px 16px; display:flex; gap:14px; justify-content:space-between;
  }
  .lp-bp-id{ display:flex; gap:14px; flex:1;}
  .lp-avatar-xl{ width:64px; height:64px; font-size:22px;}
  .lp-bp-name{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:28px;
    line-height:1; color:var(--ink); margin-bottom:7px;
  }
  .lp-bp-sub{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13.5px;
    color:rgba(30,30,30,0.9); line-height:1.5; margin-bottom:6px;
    max-width:380px;
  }
  .lp-bp-meta{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12.5px;
    color:rgba(30,30,30,0.8);
  }
  .lp-bp-side{
    background:#fff; border:1px solid var(--rule-soft); padding:12px 14px;
    align-self:flex-start;
  }
  .lp-bp-side-h{
    font-size:10.5px; font-weight:600; color:rgba(30,30,30,0.78);
    text-transform:uppercase; letter-spacing:0.1em;
    margin:12px 0 6px;
  }
  .lp-bp-side p{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12.5px;
    color:rgba(30,30,30,0.92); line-height:1.55; margin:0;
  }
  .lp-bp-bm{ display:flex; flex-direction:column; gap:4px;}
  .lp-bp-bm span{
    background:rgba(30,30,30,0.05); border:1px solid var(--rule-soft);
    padding:5px 10px;
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:12px; color:var(--ink);
  }
  .lp-bp-bm span.active{ background:rgba(123,160,96,0.10); border-color:rgba(123,160,96,0.4); color:var(--olive);}
  .lp-bp-stage{ list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:5px;}
  .lp-bp-stage li{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12.5px;
    color:rgba(30,30,30,0.92); line-height:1.5;
    padding-left:12px; position:relative;
  }
  .lp-bp-stage li::before{ content:"•"; position:absolute; left:0; color:var(--olive);}
  @media (max-width: 1100px){
    .lp-bp-grid{ grid-template-columns:1fr;}
  }

  /* ——— portfolio: condensed for mobile ——— */
  @media (max-width: 720px){
    .lp-port-tabs{ flex-wrap:wrap; gap:8px;}
    /* Hide deep-dive sections to reduce scrolling */
    .lp-scene[data-scene="portfolio"] .lp-port-mhide{ display:none !important; }
    /* Compact remaining cards */
    .lp-port-stats{ grid-template-columns:repeat(2,1fr) !important; gap:6px;}
    .lp-port-num{ font-size:22px !important;}
    .lp-perf-grid{ grid-template-columns:repeat(3,1fr) !important; gap:8px 12px;}
    .lp-port-table{ font-size:11px;}
    .lp-port-row{ padding:8px 6px;}
    .lp-port-row em{ display:block; font-size:9px; margin-top:2px;}
  }

  /* ——— persistent chat bar (across all scenes) ——— */
  .lp-persist-chat{
    display:flex; align-items:center; gap:10px;
    padding:10px 16px;
    background:#fff;
    border-top:1px solid var(--rule-soft);
    flex-shrink:0;
  }
  .lp-persist-chat-icon{
    width:22px; height:22px; border-radius:50%;
    background:rgba(96,108,56,0.10); color:var(--olive);
    display:flex; align-items:center; justify-content:center;
    font-size:11px;
    flex-shrink:0;
  }
  .lp-persist-chat-placeholder{
    flex:1 1 auto;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:13px;
    color:rgba(30,30,30,0.55);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .lp-persist-chat-meta{
    font-size:10px;
    color:rgba(30,30,30,0.45);
    flex-shrink:0;
  }
  .lp-persist-chat-send{
    width:24px; height:24px; border-radius:50%;
    background:var(--olive); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-size:13px;
    flex-shrink:0;
  }
  @media (max-width: 720px){
    .lp-persist-chat{ padding:9px 12px; gap:8px;}
    .lp-persist-chat-placeholder{ font-size:12px;}
    .lp-persist-chat-meta{ display:none;}
  }

  /* ——— timeline ——— */
  .lp-timeline{
    display:grid; grid-template-columns:repeat(5,1fr);
    border-top:1px solid var(--rule-soft);
    background:var(--cream-warm);
    flex-shrink:0;
  }
  .lp-tl{
    background:transparent;
    border:0;
    border-right:1px solid var(--rule-soft);
    padding:10px 8px 12px;
    text-align:left;
    cursor:pointer;
    display:flex; flex-direction:column; gap:6px;
    transition:background .3s ease;
    position:relative;
  }
  .lp-tl:last-child{ border-right:0;}
  .lp-tl:hover{ background:rgba(255,255,255,0.4);}
  .lp-tl-num{
    font-family:'DM Mono',monospace; font-size:9px; font-weight:300;
    color:rgba(30,30,30,0.5);
    letter-spacing:0.1em;
  }
  .lp-tl-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:11px;
    color:rgba(30,30,30,0.85);
    text-transform:uppercase; letter-spacing:0.06em;
    line-height:1.2;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .lp-tl-bar{
    display:block;
    height:2px;
    background:rgba(30,30,30,0.10);
    width:100%;
    margin-top:auto;
    overflow:hidden;
  }
  .lp-tl-fill{
    display:block; height:100%;
    background:var(--ink);
    width:0%;
    transition:width 0s linear;
  }
  .lp-tl.is-active .lp-tl-fill{
    animation:tl-fill var(--lp-dur,7s) linear forwards;
  }
  .lp-tl.is-done .lp-tl-fill{ width:100%; background:rgba(30,30,30,0.35);}
  .lp-tl.is-active{
    box-shadow: inset 0 -2px 0 0 var(--olive);
  }
  .lp-tl.is-active .lp-tl-num,
  .lp-tl.is-active .lp-tl-name{ color:var(--ink);}
  .lp-tl.is-active .lp-tl-name{ font-weight:600;}
  @keyframes tl-fill{
    from{ width:0%;}
    to  { width:100%;}
  }

  /* ——— shared soft cards ——— */
  .lp-card-soft{
    background:#fff; border:1px solid var(--rule-soft);
    border-radius:0; padding:12px;
  }
  .lp-card-head{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:8px;
    border-bottom:1px dotted var(--rule-soft); padding-bottom:6px;
  }
  .lp-card-title{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px;
    color:var(--ink); letter-spacing:0.02em;
  }
  .lp-pill-small{
    font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:500;
    color:rgba(30,30,30,0.85);
    background:rgba(30,30,30,0.06);
    border:1px solid var(--rule-soft);
    padding:2px 6px;
  }
  .lp-section-label{ margin:14px 0 8px; }
  .lp-eye-sm{
    font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500;
    color:rgba(30,30,30,0.78); text-transform:uppercase; letter-spacing:0.10em;
  }

  /* ——— scene 07: research ——— */
  .lp-research-bar{
    background:#fff; border:1px solid var(--rule-soft);
    padding:10px 12px; margin-bottom:12px;
  }
  .lp-research-bar-row{
    display:flex; justify-content:space-between; margin-bottom:6px;
    font-size:10px;
  }
  .lp-research-track{
    height:3px; background:rgba(30,30,30,0.08); position:relative; overflow:hidden;
  }
  .lp-research-fill{
    height:100%; background:var(--olive);
    box-shadow:0 0 0 1px var(--olive);
  }
  .lp-research-grid{
    display:grid; grid-template-columns:1.4fr 1fr; gap:10px;
  }
  .lp-plan{
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:6px;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12.5px;
    color:rgba(30,30,30,0.92);
  }
  .lp-plan li{ display:flex; gap:7px; align-items:flex-start; line-height:1.35;}
  .lp-plan s{ color:rgba(30,30,30,0.6); text-decoration:line-through;}
  .lp-check{ color:var(--olive); font-size:10px; line-height:1.4;}
  .lp-check.empty{ color:rgba(30,30,30,0.55);}
  .lp-stat-row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:5px 0; border-bottom:1px dotted var(--rule-soft);
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12.5px;
    color:rgba(30,30,30,0.9);
  }
  .lp-stat-row:last-child{ border-bottom:0;}
  .lp-stat-num{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:18px;
    color:var(--ink);
  }
  .lp-research-quote{
    margin:0; font-family:'DM Sans',sans-serif; font-weight:400;
    font-size:13px; line-height:1.55; color:rgba(30,30,30,0.92);
  }
  .lp-research-quote em{
    font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:500;
    color:var(--ink);
  }
  /* research animation */
  .lp-research-fill{ transition:width 0.3s cubic-bezier(0.4,0,0.2,1);}
  .lp-plan li[data-r]{ transition:opacity 0.4s ease;}
  .lp-plan li[data-r] .lp-plan-text{
    transition:color 0.5s ease, text-decoration-color 0.5s ease;
  }
  .lp-plan li[data-r].is-active .lp-check{
    color:var(--olive); animation:lp-spin 0.9s linear infinite;
  }
  .lp-plan li[data-r].is-active .lp-check::before{ content:"⟳"; }
  .lp-plan li[data-r].is-active .lp-check{ font-size:0;}
  .lp-plan li[data-r].is-active .lp-check::before{ font-size:10px;}
  .lp-plan li[data-r].is-done .lp-check{ color:var(--olive); animation:none;}
  .lp-plan li[data-r].is-done .lp-check::before{ content:"●"; }
  .lp-plan li[data-r].is-done .lp-plan-text{
    color:rgba(30,30,30,0.45); text-decoration:line-through;
  }
  @keyframes lp-spin{ to{ transform:rotate(360deg);}}
  /* thesis card */
  .lp-thesis{
    margin-top:10px;
    background:linear-gradient(180deg, rgba(96,108,56,0.08) 0%, rgba(96,108,56,0.02) 100%);
    border:1px solid rgba(96,108,56,0.30);
    padding:14px 16px;
    animation:lp-fade-up 0.5s ease-out both;
  }
  .lp-thesis-head{
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:10px;
  }
  .lp-thesis-title{
    font-family:'Cormorant Garamond',serif; font-weight:500;
    font-size:18px; line-height:1.2; color:var(--ink);
    margin:0 0 8px;
  }
  .lp-thesis-body{
    font-family:'DM Sans',sans-serif; font-weight:400;
    font-size:13px; line-height:1.55; color:rgba(30,30,30,0.92);
    margin:0; min-height:46px;
  }
  .lp-thesis-body::after{
    content:"▌"; color:var(--olive); margin-left:1px;
    animation:lp-blink 0.9s steps(1) infinite;
  }
  .lp-thesis-body.is-done::after{ content:"";}
  @keyframes lp-blink{ 50%{ opacity:0;}}
  .lp-thesis-foot{
    margin-top:12px; display:flex; gap:6px; align-items:center; flex-wrap:wrap;
  }
  .lp-thesis-cta{
    margin-left:auto; color:var(--olive);
  }
  .lp-research-snip{
    font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500;
    color:rgba(30,30,30,0.88);  background:rgba(30,30,30,0.04); padding:7px 10px;
    border-left:2px solid var(--rule);
  }

  /* ——— scene 08: insights ——— */
  .lp-insights-stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:6px;
    margin-bottom:12px;
  }
  .lp-insights-grid{
    display:grid; grid-template-columns:1.2fr 1fr; gap:10px;
  }
  .lp-top-list{ list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:8px;}
  .lp-top-list li{
    display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center;
    padding:5px 0; border-bottom:1px dotted var(--rule-soft);
  }
  .lp-top-list li:last-child{ border-bottom:0;}
  .lp-score-tag{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:14px;
    color:var(--olive);
  }
  .lp-donut{ display:flex; align-items:center; gap:14px; padding:6px 0;}
  .lp-legend{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:12px; color:rgba(30,30,30,0.9);}
  .lp-legend li{ display:flex; align-items:center; gap:6px;}
  .lp-legend span{ width:8px; height:8px; display:inline-block;}
  .lp-bars{ display:flex; align-items:flex-end; gap:8px; height:120px; padding:0 4px;}
  .lp-bar{ flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%;
    justify-content:flex-end;}
  .lp-bar > span:first-child{
    width:100%; max-width:36px; min-height:8px; display:block;
  }
  .lp-bar-l{
    font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:500;
    color:rgba(30,30,30,0.85); letter-spacing:0.04em;
  }
  /* shared activity */
  .lp-activity-grid{
    display:grid; grid-template-columns:repeat(14,1fr);
    gap:4px; align-items:end; height:90px;
  }
  .lp-activity-day{ display:flex; flex-direction:column; align-items:center; gap:4px; height:100%; justify-content:flex-end;}
  .lp-act-d{ font-size:10.5px; font-weight:500; color:rgba(30,30,30,0.7);}
  .lp-act-bar{ width:100%; max-width:18px; height:60px; display:flex; align-items:flex-end;}
  .lp-act-bar > span{ width:100%; background:#7BA060; min-height:3px; display:block;}
  .lp-act-bar > span.hot{ background:var(--olive); box-shadow:0 0 0 1px rgba(96,108,56,0.3);}
  .lp-act-n{ font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:500; color:rgba(30,30,30,0.85);}
  .lp-act-foot{ display:flex; justify-content:space-between; margin-top:10px; font-size:11.5px; font-weight:500; color:rgba(30,30,30,0.8);}
  /* founder intelligence */
  .lp-fi-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:6px;}
  .lp-fi-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px;}
  .lp-fi-n{ font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:500; color:var(--ink);}
  .lp-fi-bar{ height:3px; background:rgba(30,30,30,0.08); margin-bottom:6px; overflow:hidden;}
  .lp-fi-bar > span{ display:block; height:100%;}
  .lp-fi-sub{ font-size:11px; font-weight:500; color:rgba(30,30,30,0.8);}
  /* avg scores */
  .lp-avg-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
  .lp-avg-list li{ display:grid; grid-template-columns:120px 1fr 32px; align-items:center; gap:10px;}
  .lp-avg-name{ font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px; color:var(--ink);}
  .lp-avg-track{ height:5px; background:rgba(30,30,30,0.08); overflow:hidden;}
  .lp-avg-track > span{ display:block; height:100%;}
  .lp-avg-val{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500; color:var(--ink); text-align:right;}
  /* deal sources */
  .lp-src-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:6px;}
  .lp-src{ display:flex; flex-direction:column; gap:6px;}
  .lp-src-n{ font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:500; color:var(--ink);}
  .lp-src-n em{ font-style:normal; font-size:13px; font-weight:500; color:rgba(30,30,30,0.78); margin-left:6px; font-family:'DM Mono',monospace;}
  /* network coverage */
  .lp-cov-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0;}
  .lp-cov-cell{ padding:12px 14px; border-right:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft); display:flex; flex-direction:column; gap:4px; border-top:2px solid var(--c, var(--olive));}
  .lp-cov-cell:nth-child(2n){ border-right:0;}
  .lp-cov-cell:nth-child(n+3){ border-bottom:0;}
  .lp-cov-n{ font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; color:var(--ink); line-height:1;}
  .lp-cov-sub{ font-size:11px; font-weight:500; color:rgba(30,30,30,0.78);}

  /* ——— scene 09: integrations ——— */
  .lp-int-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
  }
  .lp-int-card{
    background:#fff; border:1px solid var(--rule-soft); padding:10px;
    display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto;
    column-gap:8px; row-gap:4px; align-items:center;
  }
  .lp-int-card.connected{ border-color:rgba(123,160,96,0.45);}
  .lp-int-icon{
    grid-row:1 / span 2; width:28px; height:28px;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:14px;
  }
  .lp-int-name{
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px;
    color:var(--ink);
  }
  .lp-int-desc{
    grid-column:2 / span 2;
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:11.5px;
    color:rgba(30,30,30,0.85); line-height:1.4;
  }
  .lp-pill{
    font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:500;
    padding:2px 6px; border:1px solid var(--rule-soft);
  }
  .lp-pill.ok{ color:var(--olive); border-color:rgba(123,160,96,0.5);
    background:rgba(123,160,96,0.08);}
  .lp-pill-action{
    font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:500;
    padding:3px 8px; border:1px solid var(--ink); color:var(--ink);
    background:#fff; cursor:pointer;
  }

  /* ——— scene 10: portfolio ——— */
  .lp-port-tabs{
    display:flex; gap:14px; padding-bottom:6px;
    border-bottom:1px solid var(--rule-soft); margin-bottom:10px;
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:12.5px;
    color:rgba(30,30,30,0.78);
  }
  .lp-port-tab.active{ color:var(--ink); font-weight:500; position:relative;}
  .lp-port-tab.active::after{
    content:''; position:absolute; left:0; right:0; bottom:-7px;
    height:2px; background:var(--ink);
  }
  .lp-port-status{ display:flex; gap:8px; margin-bottom:10px;}
  .lp-status-pill{
    font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500;
    padding:4px 10px; border:1px solid var(--rule-soft);
    color:var(--c); background:#fff;
  }
  .lp-port-stats{
    display:grid; grid-template-columns:repeat(5,1fr); gap:6px;
    margin-bottom:10px;
  }
  .lp-port-stat{
    background:#fff; border:1px solid var(--rule-soft); padding:8px 10px;
    display:flex; flex-direction:column; gap:3px;
  }
  .lp-port-stat .lp-mono{ font-size:11px; font-weight:500; color:rgba(30,30,30,0.82);}
  .lp-port-num{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:20px;
    color:var(--ink); line-height:1;
  }
  .lp-port-stat .l{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:11px;
    color:rgba(30,30,30,0.78);
  }
  .lp-perf-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:8px 14px;
  }
  .lp-perf-grid > div{ display:flex; flex-direction:column; gap:2px;}
  .lp-perf-grid .lp-mono{ font-size:11px; font-weight:500; color:rgba(30,30,30,0.82);}
  .lp-perf-n{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:18px;
    color:var(--ink);
  }
  .lp-port-table{
    background:#fff; border:1px solid var(--rule-soft);
  }
  .lp-port-row{
    display:grid; grid-template-columns:1.6fr 0.7fr 0.9fr 0.6fr;
    padding:8px 12px; border-bottom:1px dotted var(--rule-soft);
    font-family:'DM Sans',sans-serif; font-weight:500; font-size:13px;
    color:var(--ink); align-items:baseline;
  }
  .lp-port-row:last-child{ border-bottom:0;}
  .lp-port-row.head{
    background:rgba(30,30,30,0.04);
    font-family:'JetBrains Mono',monospace; font-size:11px;
    color:rgba(30,30,30,0.78); font-weight:500;
    text-transform:uppercase; letter-spacing:0.06em;
  }
  .lp-port-row em{
    font-family:'DM Sans',sans-serif; font-style:normal; font-weight:400;
    color:rgba(30,30,30,0.75); font-size:12px; margin-left:6px;
  }
  .lp-port-row .ok{ color:var(--olive);}

  /* responsive: collapse to single column below 1100 */
  @media (max-width: 1100px){
    .hero-grid{ grid-template-columns:1fr; gap:48px;}
    .hero-right{ position:static;}
    .lp-frame{ height:600px;}
  }
  @media (max-width: 720px){
    .lp-summary-counts{ grid-template-columns:repeat(3,1fr);}
    .lp-net-stats, .lp-deals-stats{ grid-template-columns:repeat(2,1fr);}
    .lp-net-grid{ grid-template-columns:1fr 1fr;}
    .lp-timeline{ grid-template-columns:repeat(5,1fr);}
    .lp-tl{ padding:8px 4px 10px; gap:4px;}
    .lp-tl-num{ font-size:8px;}
    .lp-tl-name{ font-size:10px;}
  }

  /* hero bottom meta strip */
  .hero-strip{
    margin-top:80px;
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
  }  .hero-strip .cell{
    padding:28px 24px;
    border-right:1px solid var(--rule-soft);
  }
  .hero-strip .cell:last-child{border-right:0;}
  .hero-strip .cell .n{
    font-family:'Cormorant Garamond',serif;font-weight:500;font-size:44px;
    line-height:1;letter-spacing:-0.01em;
  }
  .hero-strip .cell .n em{font-style:italic;color:var(--olive);}
  .hero-strip .cell .l{
    margin-top:14px;
    font-family:'DM Sans',sans-serif;font-weight:500;font-size:13px;
    text-transform:uppercase;letter-spacing:0.08em;
    color:rgba(30,30,30,0.82);
  }

  /* ——— MARQUEE ——— */
  section.marquee{
    margin-top:40px;
    padding:56px 0 64px;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    background:var(--cream);
    overflow:hidden;
    position:relative;
  }
  .marquee-label{
    max-width:var(--maxw);margin:0 auto 28px;
    padding:0 var(--gutter);
    display:flex; justify-content:space-between; align-items:baseline;
  }
  .marquee-track{
    display:flex; gap:80px;
    white-space:nowrap;
    animation: track 40s linear infinite;
    width:max-content;
  }
  .marquee-track .item{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(32px, 4vw, 64px);
    line-height:1;
    color:var(--ink);
    display:inline-flex; align-items:center; gap:64px;
  }
  .marquee-track .item::after{
    content:"";
    width:9px;height:9px;border-radius:50%;
    background:var(--oxblood);
    display:inline-block;
    flex-shrink:0;
  }
  .marquee-track .item.alt{ color:rgba(30,30,30,0.45); font-style:normal; font-weight:400;}
  .marquee-track .item.alt::after{ background:var(--olive); }
  @keyframes track{
    from{transform:translate3d(0,0,0);}
    to  {transform:translate3d(-50%,0,0);}
  }
  /* fade edges */
  section.marquee::before, section.marquee::after{
    content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none;
  }
  section.marquee::before{ left:0; background:linear-gradient(90deg, var(--cream), rgba(241,236,225,0));}
  section.marquee::after { right:0; background:linear-gradient(-90deg, var(--cream), rgba(241,236,225,0));}

  /* ——— HOW IT WORKS ——— */
  section.how{
    padding:120px 0 100px;
    position:relative;
  }
  .how-subhead{
    font-family:'DM Sans',sans-serif;
    font-weight:350;
    font-size:19px;
    line-height:1.55;
    color:var(--ink-75);
    max-width:640px;
    margin:0 auto 56px;
    text-align:center;
    padding-top:24px;
  }
  .sec-head{
    display:grid; grid-template-columns:1fr 2fr; gap:64px;
    align-items:end;
    padding-bottom:64px;
    border-bottom:1px solid var(--rule);
    margin-bottom:80px;
  }
  .sec-head .lede{max-width:640px;}
  .sec-head h2{ font-size:clamp(40px, 4.6vw, 72px); }
  .sec-head h2 em{ font-style:italic; color:var(--navy); font-weight:400;}

  .steps{
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:0;
    border-top:1px solid var(--rule);
  }
  .step{
    padding:48px 22px 56px;
    border-right:1px solid var(--rule-soft);
    position:relative;
    display:flex; flex-direction:column; min-height:440px;
    transition:background .5s ease;
  }
  .step:last-child{border-right:0;}
  .step:hover{ background:var(--cream-warm); }
  .step .n{
    font-family:'DM Mono',monospace;font-size:14px;font-weight:500;
    letter-spacing:0.08em;text-transform:uppercase;
    color:rgba(30,30,30,0.78);
    margin-bottom:28px;
  }
  .step .glyph{
    width:56px;height:56px;margin-bottom:32px;
    position:relative;
  }
  .step .glyph .g-ring{
    position:absolute; inset:0;border-radius:50%;
    border:1px solid var(--ink);
  }
  .step .glyph .g-dot{
    position:absolute; width:10px;height:10px;border-radius:50%;
    background:var(--ink);
  }
  /* unique glyphs per step */
  .step.s1 .g-dot{ top:4px; left:50%; transform:translateX(-50%);}
  .step.s2 .g-dot{ top:50%; left:50%; transform:translate(-50%,-50%); width:14px;height:14px;}
  .step.s3 .g-dot{ top:50%; left:50%; transform:translate(-50%,-50%); width:28px;height:28px;border-radius:0; background:transparent; border:1px solid var(--ink);}
  .step.s4 .g-dot{ top:50%; left:0; transform:translateY(-50%); width:10px;height:24px;border-radius:0;}
  .step.s5 .g-dot{ bottom:0; right:0; background:var(--oxblood);}
  .step.s5 .g-ring{ border-color:var(--oxblood);}

  .step h3{
    font-size:30px; line-height:1.15;
    margin-bottom:18px;
  }
  .step p{ font-size:18px; color:rgba(30,30,30,0.88); max-width:340px; font-weight:400; line-height:1.55;}
  .step .tags{
    margin-top:auto; padding-top:32px;
    display:flex; flex-wrap:wrap; gap:8px 16px;
    font-family:'DM Mono',monospace; font-size:13px; font-weight:500; text-transform:uppercase;
    letter-spacing:0.08em;
    color:rgba(30,30,30,0.82);
  }
  .step .tags span{position:relative; padding-right:16px;}
  .step .tags span + span::before{
    content:""; position:absolute; left:-10px; top:50%;
    width:3px;height:3px;border-radius:50%; background:rgba(30,30,30,0.35);
    transform:translateY(-50%);
  }

  /* ——— WHY ——— */
  section.why{
    background:var(--ink);
    color:var(--cream);
    padding:200px 0;
    position:relative;
  }
  section.why .meta{ color:rgba(241,236,225,0.78);}
  section.why .section-label{ color:rgba(241,236,225,0.85);}
  section.why h2{ color:var(--cream);}
  section.why p{ color:rgba(241,236,225,0.92);}
  section.why .rule{ background:rgba(241,236,225,0.14);}

  .why-head{
    display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:end;
    padding-bottom:80px;
    border-bottom:1px solid rgba(241,236,225,0.14);
    margin-bottom:96px;
  }
  .why-head h2{ font-size:clamp(48px, 5vw, 84px); letter-spacing:-0.01em;}
  .why-head h2 em{ font-style:italic; color:var(--paper); font-weight:400;}

  .props{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:48px;
  }
  .prop{
    display:flex; flex-direction:column;
    border-top:1px solid rgba(241,236,225,0.3);
    padding-top:40px;
  }
  .prop .idx{
    font-family:'DM Mono',monospace;font-size:14px;font-weight:500;
    letter-spacing:0.08em;text-transform:uppercase;
    color:rgba(241,236,225,0.85);
    margin-bottom:48px;
    display:flex; justify-content:space-between;
  }
  .prop .idx .accent-dot{
    width:8px;height:8px;border-radius:50%; background:var(--paper);
  }
  .prop:nth-child(1) .idx .accent-dot{ background:#A5B074;}
  .prop:nth-child(2) .idx .accent-dot{ background:#5E8BA5;}
  .prop:nth-child(3) .idx .accent-dot{ background:#C4736B;}

  .prop h3{
    color:var(--cream);
    font-size:56px; line-height:1.05;
    margin-bottom:24px; font-weight:400;
  }
  .prop h3 em{ font-style:italic; font-family:'Cormorant Garamond',serif;}
  .prop .kbody{ font-size:20px; line-height:1.55; max-width:340px; color:rgba(241,236,225,0.92); font-weight:400;}
  .prop .detail{
    margin-top:48px; padding-top:24px;
    border-top:1px solid rgba(241,236,225,0.14);
    font-family:'DM Mono',monospace;font-size:14px;font-weight:500;
    letter-spacing:0.06em;text-transform:uppercase;
    color:rgba(241,236,225,0.85);
    display:flex; flex-direction:column; gap:10px;
  }
  .prop .detail .line{ display:flex; justify-content:space-between;}
  .prop .detail .line .v{ color:var(--cream);}

  /* ——— TWO WAYS ——— */
  section.ways{
    padding:120px 0 140px;
    position:relative;
  }
  .ways-head{
    display:grid;
    grid-template-columns: 1fr 2fr;
    gap:48px;
    align-items:end;
    padding-bottom:48px;
    border-bottom:1px solid var(--rule);
    margin-bottom:0;
  }
  .ways-head .meta{
    align-self:end;
    padding-bottom:14px;
  }
  .ways-head h2{
    font-size:clamp(48px, 5.4vw, 88px);
    font-weight:400;
    line-height:1;
    letter-spacing:-0.01em;
    max-width:14ch;
  }
  .ways-head h2 em{
    font-style:italic;
    color:var(--oxblood);
    font-weight:400;
  }

  .ways-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-bottom:1px solid var(--rule);
  }
  .ways-intro{
    font-family:'DM Sans',sans-serif;
    font-weight:350;
    font-size:19px;
    line-height:1.55;
    color:var(--ink-75);
    max-width:640px;
    margin:0 0 56px;
    padding-top:24px;
    border-top:0.5px solid var(--rule);
  }
  .ways-intro a{
    color:var(--ink);
    border-bottom:0.5px solid var(--ink-30);
    transition:border-color .25s ease;
  }
  .ways-intro a:hover{ border-color:var(--ink); }
  .way-card{
    padding:64px 56px 56px;
    background:transparent;
    display:flex; flex-direction:column;
    min-height:420px;
    position:relative;
    transition:background .5s ease;
  }
  .way-card + .way-card{
    border-left:1px solid var(--rule);
  }
  .way-card:hover{ background:var(--cream-warm);}
  .way-eye{
    font-family:'DM Mono',monospace;
    font-size:13px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:rgba(30,30,30,0.72);
    margin-bottom:32px;
    display:flex; align-items:center; gap:10px;
  }
  .way-eye::before{
    content:"";
    width:18px; height:1px;
    background:rgba(30,30,30,0.55);
    display:inline-block;
  }
  .way-title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-size:clamp(36px, 3.4vw, 52px);
    line-height:1.08;
    letter-spacing:-0.005em;
    color:var(--ink);
    max-width:14ch;
  }
  .way-title em{
    font-style:italic;
    color:var(--oxblood);
    font-weight:400;
  }
  .way-foot{
    margin-top:auto;
    padding-top:48px;
  }
  .way-cta{
    display:inline-flex;
    align-items:center;
    gap:16px;
    padding:22px 30px;
    background:var(--ink);
    color:var(--cream);
    font-family:'DM Sans',sans-serif;
    font-weight:500;
    font-size:15px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    border:1px solid var(--ink);
    transition:background .4s ease, border-color .4s ease, color .4s ease;
  }
  .way-cta:hover{
    background:var(--oxblood);
    border-color:var(--oxblood);
  }
  .way-cta .arrow{
    width:22px; height:1px;
    background:currentColor;
    position:relative;
    transition:width .4s ease;
  }
  .way-cta .arrow::after{
    content:"";
    position:absolute; right:0; top:-3px;
    width:7px; height:7px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg);
  }
  .way-cta:hover .arrow{ width:32px;}

  /* ——— FOOTER ——— */
  footer{
    background:var(--cream);
    padding:80px 0 56px;
    border-top:1px solid var(--rule);
  }
  .foot-grid{
    display:grid; grid-template-columns: 2fr 1fr 1fr;
    gap:48px;
    margin-bottom:80px;
  }
  .foot-grid .col h5{
    font-family:'DM Mono',monospace;font-size:13px;
    text-transform:uppercase;letter-spacing:0.1em;
    color:rgba(30,30,30,0.85);
    margin-bottom:24px; font-weight:500;
  }
  .foot-grid .col ul{ list-style:none; display:flex; flex-direction:column; gap:12px;}
  .foot-grid .col a{
    font-family:'DM Sans',sans-serif; font-weight:400; font-size:17px;
    color:rgba(30,30,30,0.9);
  }
  .foot-grid .col a:hover{color:var(--ink); text-decoration:underline; text-underline-offset:4px;}
  .foot-grid .brand-col{ max-width:420px;}
  .foot-grid .brand-col p{ font-size:18px; margin-top:20px; color:rgba(30,30,30,0.88); font-weight:400;}
  .foot-bar{
    display:flex; justify-content:flex-end; align-items:center;
    gap:32px;
    text-align:right;
    padding-top:32px; border-top:1px solid var(--rule);
    font-family:'DM Mono',monospace;font-size:13px; font-weight:500;
    text-transform:uppercase;letter-spacing:0.1em;
    color:rgba(30,30,30,0.82);
  }
  .foot-bar .wordmark{
    font-family:'Cormorant Garamond',serif; font-weight:400; font-style:italic;
    font-size:clamp(80px, 14vw, 220px);
    color:var(--ink);
    line-height:0.9;
    margin-top:40px;
    letter-spacing:-0.015em;
  }
  footer .wordmark{ text-align:right; }

  /* ——— MOTION ——— */
  .reveal{
    opacity:0; transform:translateY(24px);
    transition:opacity 1s cubic-bezier(.2,.6,.2,1), transform 1s cubic-bezier(.2,.6,.2,1);
  }
  .reveal.in{ opacity:1; transform:translateY(0);}
  .reveal.d1{ transition-delay:0.08s;}
  .reveal.d2{ transition-delay:0.16s;}
  .reveal.d3{ transition-delay:0.24s;}
  .reveal.d4{ transition-delay:0.32s;}

  /* ——— RESPONSIVE ——— */
  @media (max-width: 1040px){
    .hero-left{min-height:auto;}
    .hero-sub-row{grid-template-columns:1fr; gap:40px;}
    .hero-meta-row{flex-wrap:wrap;}
    .hero-strip{grid-template-columns:repeat(2,1fr);}
    .hero-strip .cell{border-bottom:1px solid var(--rule-soft);}
    .steps{grid-template-columns:repeat(2,1fr);}
    .step{border-bottom:1px solid var(--rule-soft);}
    .step.s1,.step.s2{border-bottom:1px solid var(--rule-soft);}
    .props{grid-template-columns:1fr; gap:32px;}
    .demo-wrap{grid-template-columns:1fr; gap:80px;}
    .ways-head{grid-template-columns:1fr; gap:24px; align-items:start;}
    .ways-head .meta{padding-bottom:0;}
    .ways-grid{grid-template-columns:1fr;}
    .way-card + .way-card{ border-left:0; border-top:1px solid var(--rule);}
    .way-card{ padding:48px 32px; min-height:0;}
    .sec-head, .why-head{grid-template-columns:1fr; gap:32px;}
    .foot-grid{grid-template-columns:repeat(2,1fr);}
    .nav-links{display:none;}
  }
  @media (max-width: 640px){
    :root{ --body-size:17px; --section-size:22px; --h-size:32px;}
    .hero-strip{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .field{grid-template-columns:1fr; gap:8px;}
    .field input{ font-size:22px;}
    .foot-grid{grid-template-columns:1fr;}
  }

  /* ——— TOGGLE (Ori / Originalis) ——— */
  section.toggle-section{
    padding:96px 0 56px;
    position:relative;
  }
  .tog-eyebrow{
    display:flex; justify-content:center;
    padding-bottom:24px;
    margin-bottom:36px;
    border-bottom:1px solid var(--rule-soft);
  }
  .tog-eyebrow .meta{
    color:var(--ink-75);
  }

  /* pill toggle */
  .tog-wrap{ display:flex; justify-content:center; margin-bottom:40px; }
  .tog-pill{
    position:relative;
    display:inline-flex;
    padding:4px;
    background:var(--parchment);
    border-radius:100px;
    border:1px solid var(--rule);
    box-shadow:inset 0 1px 0 rgba(20,19,14,0.04);
  }
  .tog-thumb{
    position:absolute;
    top:4px; left:4px;
    width:calc(50% - 4px);
    height:calc(100% - 8px);
    background:var(--ink);
    border-radius:100px;
    transition:transform .35s cubic-bezier(.4,0,.2,1);
    z-index:0;
    will-change:transform;
  }
  .tog-pill[data-active="firm"] .tog-thumb{ transform:translateX(100%); }
  .tog-btn{
    position:relative; z-index:1;
    appearance:none; background:transparent; border:0;
    cursor:pointer;
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:13px;
    letter-spacing:0.02em;
    color:var(--ink-55);
    padding:10px 22px;
    min-width:148px;
    border-radius:100px;
    transition:color .3s ease;
    text-align:center;
  }
  .tog-btn.is-active{ color:var(--paper); }
  .tog-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

  /* panel stage */
  .tog-stage{
    position:relative;
    max-width:980px;
    margin:0 auto;
  }
  .tog-panel{
    background:var(--vellum);
    border:0.5px solid var(--rule);
    border-radius:8px;
    padding:2.5rem 2.75rem;
    min-height:380px;
    display:flex; flex-direction:column;
    opacity:0;
    transition:opacity .25s ease;
  }
  .tog-panel.is-active{ opacity:1; }
  .tog-panel[hidden]{ display:none; }

  .tog-head{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:32px;
    padding-bottom:24px;
    border-bottom:0.5px solid var(--rule);
    margin-bottom:32px;
    align-items:start;
  }
  .tog-head-left{ display:flex; flex-direction:column; gap:8px; }
  .tog-head-right{ display:flex; flex-direction:column; gap:8px; text-align:right; align-items:flex-end; }
  .tog-meta{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:12px;
    color:var(--ink-75);
    text-transform:uppercase;
    letter-spacing:0.08em;
  }
  .tog-title{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:43px;
    line-height:1;
    letter-spacing:-0.01em;
    color:var(--ink);
    margin:0;
  }
  .tog-caption{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:14px;
    line-height:1.5;
    color:var(--ink-75);
    max-width:32ch;
    margin:0;
  }

  .tog-body{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:23px;
    line-height:1.45;
    color:var(--ink);
    max-width:540px;
    margin-bottom:28px;
  }

  .tog-bullets{
    list-style:none;
    margin:0 0 32px;
    padding:0;
    border-top:0.5px solid var(--rule);
  }
  .tog-bullets li{
    display:grid;
    grid-template-columns: 18px 1fr;
    gap:14px;
    align-items:baseline;
    padding:16px 0;
    border-bottom:0.5px solid var(--rule);
  }
  .tog-bullets .tog-bullet{
    display:inline-block;
    width:2px; height:14px;
    background:var(--seal);
    margin-top:6px;
    align-self:start;
  }
  .tog-bullets p{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-75);
    margin:0;
  }

  .tog-foot{
    margin-top:auto;
    padding-top:24px;
    border-top:0.5px solid var(--rule);
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:center;
  }
  .tog-foot-left{ display:flex; flex-direction:column; gap:6px; }
  .tog-price{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:19px;
    line-height:1.35;
    color:var(--ink);
  }
  .tog-price-sub{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:14px;
    line-height:1.5;
    color:var(--ink-55);
  }
  .tog-why{
    align-self:flex-start;
    appearance:none; background:transparent;
    border:0; padding:2px 0;
    border-bottom:0.5px solid var(--ink-30);
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:12px;
    color:var(--ink-55);
    cursor:pointer;
    transition:color .25s ease, border-color .25s ease;
    margin-top:2px;
  }
  .tog-why:hover{ color:var(--ink); border-color:var(--ink); }
  .tog-why-body{
    margin-top:14px;
    padding:14px 16px;
    background:var(--parchment);
    border-left:2px solid var(--seal);
    max-width:48ch;
  }
  .tog-why-body p{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-75);
    margin:0;
  }
  .tog-cta{
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--ink);
    color:var(--paper);
    border:0.5px solid var(--ink);
    border-radius:0;
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:13px;
    letter-spacing:0.04em;
    padding:12px 24px;
    text-decoration:none;
    transition:background .3s ease, color .3s ease;
    white-space:nowrap;
  }
  .tog-cta:hover{ background:var(--seal); border-color:var(--seal); color:var(--paper); }
  .tog-cta:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

  /* right-aligned footer variant (no left column) */
  .tog-foot.tog-foot--right{
    grid-template-columns:1fr;
    justify-items:end;
  }
  .tog-foot.tog-foot--right .tog-foot-right{ justify-self:end; }

  /* ——— 3.5 Relationship note ——— */
  .tog-relnote{
    max-width:540px;
    margin:36px auto 0;
    text-align:center;
  }
  .tog-relnote p{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:400;
    font-size:18px;
    line-height:1.55;
    color:var(--ink-55);
    margin:0;
  }

  /* ——— 4. Toggle-controlled demo ——— */
  .tog-demo-stage{
    position:relative;
    max-width:980px;
    margin:64px auto 0;
  }
  .tog-demo{
    background:var(--vellum);
    border:0.5px solid var(--rule);
    border-radius:8px;
    padding:2rem;
    opacity:0;
    transition:opacity .25s ease;
  }
  .tog-demo.is-active{ opacity:1; }
  .tog-demo[hidden]{ display:none; }
  .tog-demo-head{
    display:flex; flex-direction:column; gap:8px;
    padding-bottom:18px;
    margin-bottom:18px;
    border-bottom:0.5px solid var(--rule);
  }
  .tog-demo-meta{ color:var(--ink-75); }
  .tog-demo-title{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:43px;
    line-height:1.05;
    letter-spacing:-0.005em;
    color:var(--ink);
    margin:2px 0 0;
  }
  .tog-demo-caption{
    font-family:'DM Sans',sans-serif;
    font-weight:400;
    font-size:19px;
    line-height:1.5;
    color:var(--ink-75);
    margin:0;
    max-width:60ch;
  }

  .tog-demo-video{
    position:relative;
    width:100%;
    aspect-ratio: 16 / 9;
    background:var(--parchment);
    border:0.5px solid var(--rule);
    overflow:hidden;
  }
  .tog-demo-vid{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    background:var(--parchment);
    display:block;
    opacity:0;
    transition:opacity .2s ease;
  }
  .tog-demo-vid.is-loaded{ opacity:1; }
  .tog-demo-video-inner{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:14px;
    background:
      repeating-linear-gradient(
        135deg,
        transparent 0 16px,
        rgba(20,19,14,0.025) 16px 17px
      );
    cursor:pointer;
    transition:opacity .2s ease;
  }
  .tog-demo-video-inner[hidden]{ display:none; }
  .tog-demo-play{
    width:64px; height:64px;
    border-radius:50%;
    background:var(--ink);
    color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    transition:transform .25s ease;
  }
  .tog-demo-video:hover .tog-demo-play{ transform:scale(1.04); }
  .tog-demo-vlabel{ color:var(--ink-55); }

  @media (max-width: 760px){
    .tog-demo-stage{ margin-top:48px; }
    .tog-demo{ padding:1.5rem 1.25rem; }
    .tog-demo-title{ font-size:32px; }
    .tog-demo-caption{ font-size:17px; }
  }

  @media (max-width: 760px){
    section.toggle-section{ padding:56px 0 32px; }
    .tog-panel{ padding:1.75rem 1.5rem; }
    .tog-head{
      grid-template-columns:1fr;
      gap:18px;
    }
    .tog-head-right{ text-align:left; align-items:flex-start; }
    .tog-caption{ max-width:none; }
    .tog-body{ font-size:19px; }
    .tog-foot{
      grid-template-columns:1fr;
      align-items:flex-start;
    }
    .tog-cta{ width:100%; }
    .tog-btn{ min-width:130px; padding:10px 16px; font-size:12px; }
  }

  /* ——— OLD DOORS CSS (kept for backwards-compat shim, not currently used) ——— */
  section.doors{
    padding:96px 0 64px;
    position:relative;
  }
  .doors-header{
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    align-items:end;
    gap:24px;
    padding-bottom:28px;
    border-bottom:1px solid var(--rule-soft);
    margin-bottom:48px;
  }
  .doors-header .meta-left{ display:flex; gap:32px; align-items:baseline; }
  .doors-header .meta-mid{
    text-align:center;
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:400;
    font-size:22px;
    color:rgba(30,30,30,0.62);
    letter-spacing:0.005em;
    transform:translateY(2px);
  }
  .doors-header .meta-right{
    text-align:right;
    display:flex; gap:18px; justify-content:flex-end; align-items:center;
  }

  .doors-grid{
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    gap:0;
    align-items:stretch;
  }
  .doors-divider{
    width:1px;
    background:var(--rule);
    position:relative;
    align-self:stretch;
  }
  .doors-divider .mark{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:34px; height:34px; border-radius:50%;
    background:var(--cream);
    border:1px solid var(--rule);
    display:flex; align-items:center; justify-content:center;
    font-family:'DM Mono',monospace;
    font-size:11px; font-weight:400;
    letter-spacing:0.1em;
    color:rgba(30,30,30,0.62);
  }

  .door{
    padding:48px 56px 52px;
    display:flex; flex-direction:column;
    min-height:640px;
    position:relative;
  }
  .door.ori{
    background:#F6F1E5; /* slightly lighter cream */
  }
  .door.firm{
    background:#EBE2CF; /* slightly deeper cream */
  }
  .door-tag{
    font-family:'DM Mono',monospace;
    font-size:12px;
    font-weight:400;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(30,30,30,0.62);
    display:flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .door-tag .ix{
    width:6px; height:6px; border-radius:50%;
    display:inline-block;
  }
  .door.ori .door-tag .ix{ background:var(--olive); }
  .door.firm .door-tag .ix{ background:var(--navy); }

  .door-title{
    font-family:'Cormorant Garamond',serif;
    font-weight:400;
    font-size:clamp(56px, 6vw, 88px);
    line-height:0.95;
    letter-spacing:-0.01em;
    margin-bottom:20px;
    color:var(--ink);
  }
  .door-title em{
    font-style:italic;
    font-weight:400;
  }
  .door.ori .door-title em{ color:var(--olive); }
  .door.firm .door-title em{ color:var(--navy); }

  .door-desc{
    font-size:20px;
    line-height:1.55;
    color:rgba(30,30,30,0.86);
    font-weight:350;
    max-width:46ch;
    padding-bottom:28px;
    border-bottom:1px dashed var(--rule-soft);
    margin-bottom:28px;
  }

  .door-list{
    list-style:none;
    display:flex; flex-direction:column;
    gap:18px;
    margin-bottom:auto;
    padding-bottom:40px;
  }
  .door-list li{
    display:grid;
    grid-template-columns: 24px 1fr;
    gap:14px;
    align-items:baseline;
  }
  .door-list .ix{
    font-family:'DM Mono',monospace;
    font-size:12px;
    font-weight:400;
    letter-spacing:0.1em;
    color:rgba(30,30,30,0.55);
    line-height:1.7;
  }
  .door-list p{
    font-size:17px;
    line-height:1.55;
    color:rgba(30,30,30,0.86);
    font-weight:350;
  }
  .door-list p em{
    font-style:italic;
    font-family:'Cormorant Garamond',serif;
    font-size:1.05em;
    font-weight:400;
  }
  .door.ori .door-list p em{ color:var(--olive); }
  .door.firm .door-list p em{ color:var(--navy); }

  .door-foot{
    padding-top:32px;
    border-top:1px solid var(--rule-soft);
  }

  .door-price{
    display:flex; align-items:baseline; gap:14px;
    margin-bottom:24px;
    flex-wrap:wrap;
  }
  .door-price .now{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:34px;
    line-height:1;
    color:var(--ink);
    letter-spacing:-0.01em;
  }
  .door-price .now em{
    font-style:italic;
    font-weight:400;
  }
  .door-price .after{
    font-family:'DM Sans',sans-serif;
    font-weight:350;
    font-size:16px;
    color:rgba(30,30,30,0.7);
  }
  .door-price .after b{
    font-weight:500;
    color:var(--ink);
  }
  .door-price .div{
    display:inline-block;
    width:1px; height:18px;
    background:var(--rule);
    transform:translateY(2px);
  }

  .door-price.firm-talk{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    font-size:28px;
    color:var(--ink);
    font-style:italic;
  }

  .why-prices{
    display:inline-flex; align-items:center; gap:8px;
    margin-bottom:28px;
    font-family:'DM Mono',monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:rgba(30,30,30,0.6);
    border-bottom:1px solid transparent;
    cursor:pointer;
    background:none;
    padding:2px 0;
    transition:color .3s ease, border-color .3s ease;
  }
  .why-prices:hover{ color:var(--ink); border-color:var(--rule);}
  .why-prices .pls{
    width:14px;height:14px; border:1px solid currentColor; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:10px; line-height:1;
  }
  .why-prices.is-open .pls::before{ content:"–"; }
  .why-prices:not(.is-open) .pls::before{ content:"+"; }

  .why-prices-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .5s ease, margin .5s ease, opacity .5s ease;
    opacity:0;
  }
  .why-prices-body.is-open{
    max-height:240px;
    opacity:1;
    margin-bottom:28px;
  }
  .why-prices-body p{
    font-size:15px;
    line-height:1.6;
    color:rgba(30,30,30,0.78);
    font-weight:350;
    padding:14px 16px;
    background:rgba(255,255,255,0.5);
    border:1px solid var(--rule-soft);
    border-left:2px solid rgba(30,30,30,0.18);
    max-width:42ch;
  }

  .door-cta-row{
    display:flex; align-items:center; gap:28px;
    flex-wrap:wrap;
  }
  .btn-door{
    display:inline-flex; align-items:center; gap:14px;
    padding:18px 28px;
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:14px;
    letter-spacing:0.14em;text-transform:uppercase;
    border:1px solid var(--ink);
    transition:background .4s ease, color .4s ease, border-color .4s ease;
  }
  .btn-door .arrow{
    width:18px;height:1px;background:currentColor;position:relative;
    transition:width .4s ease;
  }
  .btn-door .arrow::after{
    content:"";position:absolute;right:0;top:-3px;
    width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;
    transform:rotate(45deg);
  }
  .btn-door:hover .arrow{ width:28px; }
  .door.ori .btn-door{
    background:var(--olive);
    border-color:var(--olive);
    color:#F6F1E5;
  }
  .door.ori .btn-door:hover{ background:#4d5830; border-color:#4d5830;}
  .door.firm .btn-door{
    background:var(--navy);
    border-color:var(--navy);
    color:#EBE2CF;
  }
  .door.firm .btn-door:hover{ background:#001c2c; border-color:#001c2c;}

  .door-ghost{
    font-family:'DM Sans',sans-serif;font-weight:400;font-size:14px;
    letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(30,30,30,0.82);
    border-bottom:1px solid var(--rule);
    padding:6px 0;
    transition:color .3s ease, border-color .3s ease;
  }
  .door-ghost:hover{color:var(--ink); border-color:var(--ink);}

  @media (max-width: 960px){
    section.doors{ padding:64px 0 40px; }
    .doors-grid{
      grid-template-columns: 1fr;
    }
    .doors-divider{
      width:100%; height:1px;
    }
    .doors-divider .mark{
      top:50%; left:50%;
    }
    .door{
      padding:40px 28px 44px;
      min-height:0;
    }
    .doors-header{
      grid-template-columns:1fr;
      text-align:left;
    }
    .doors-header .meta-mid, .doors-header .meta-right{ text-align:left; justify-content:flex-start;}
  }

  /* ——— RELATION NOTE (single centered line) ——— */
  .relation-note{
    font-family:'DM Sans',sans-serif;
    font-style:italic;
    font-weight:400;
    font-size:14px;
    line-height:1.65;
    color:var(--ink-55);
    max-width:540px;
    margin:0 auto;
    text-align:center;
  }

  /* ——— RELATION (Section 3, legacy multi-line layout) ——— */
  section.relation{
    padding:48px 0 64px;
    border-top:1px solid var(--rule-soft);
  }
  .relation-grid{
    display:grid;
    grid-template-columns: minmax(180px, 1fr) 7fr;
    gap:64px;
    align-items:start;
  }
  .relation-eye{
    font-family:'DM Mono',monospace;
    font-size:12px;
    font-weight:400;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(30,30,30,0.62);
  }
  .relation-eye .num{ display:block; color:var(--ink); margin-top:6px; font-size:11px; }
  .relation-body p{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(28px, 2.4vw, 36px);
    line-height:1.25;
    color:var(--ink);
    letter-spacing:-0.005em;
    max-width:32ch;
  }
  .relation-body p + p{
    margin-top:24px;
    font-family:'DM Sans',sans-serif;
    font-style:normal;
    font-size:19px;
    line-height:1.6;
    color:rgba(30,30,30,0.82);
    font-weight:350;
    max-width:62ch;
  }
  .relation-body p:last-child{
    margin-top:32px;
    padding-top:24px;
    border-top:1px solid var(--rule-soft);
    font-family:'DM Sans',sans-serif;
    font-style:normal;
    font-size:17px;
    color:rgba(30,30,30,0.74);
    font-weight:350;
    line-height:1.6;
    letter-spacing:0;
  }
  .relation-body p:last-child b{
    color:var(--ink);
    font-weight:500;
  }
  @media (max-width:960px){
    .relation-grid{ grid-template-columns:1fr; gap:24px; }
  }

  /* ——— SCOPE TAGS (on product scenes) ——— */
  .lp-scope{
    display:inline-flex; align-items:center; gap:6px;
    font-family:'DM Mono',monospace;
    font-size:10px; font-weight:400;
    letter-spacing:0.12em; text-transform:uppercase;
    color:rgba(30,30,30,0.6);
    padding:3px 8px;
    border:1px solid var(--rule);
    border-radius:999px;
    margin-top:8px;
    background:rgba(255,255,255,0.35);
    white-space:nowrap;
  }
  .lp-scope .x{
    width:5px; height:5px; border-radius:50%;
    display:inline-block;
  }
  .lp-scope.both .x{ background:var(--olive); box-shadow: 0 0 0 0 transparent, 4px 0 0 -1px var(--navy); }
  .lp-scope.firm .x{ background:var(--navy); }
  .lp-scope.ori .x{ background:#C8744A; }
  .lp-scope.ori{ background:rgba(200,116,74,0.08); color:#8a4a26; border-color:rgba(200,116,74,0.18); }

  /* ——— PREVIEW MODE SWITCH (mirrors the doors toggle) ——— */
  .lp-eyebrow{
    display:flex; align-self:flex-start;
    margin-bottom:10px;
  }
  .lp-eyebrow .meta{
    font-family:'DM Mono',monospace;
    font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--ink-75, rgba(30,30,30,0.78));
  }
  .lp-mode-switch{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-self:flex-start;
    margin-bottom:14px;
    background:rgba(30,30,30,0.05);
    border:1px solid var(--rule-soft);
    border-radius:999px;
    padding:3px;
    isolation:isolate;
    min-width:240px;
  }
  .lp-mode-thumb{
    position:absolute;
    top:3px; left:3px;
    width:calc(50% - 3px); height:calc(100% - 6px);
    background:var(--ink);
    border-radius:999px;
    box-shadow:0 6px 14px -8px rgba(30,30,30,0.35);
    transition:transform .35s cubic-bezier(.2,.7,.2,1);
    z-index:0;
  }
  .lp-mode-switch[data-mode="firm"] .lp-mode-thumb{
    transform:translateX(100%);
  }
  .lp-mode-btn{
    position:relative; z-index:1;
    background:transparent; border:0;
    padding:8px 18px 7px;
    font-family:'DM Mono',monospace;
    font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
    color:rgba(30,30,30,0.55);
    cursor:pointer;
    border-radius:999px;
    transition:color .25s ease;
    white-space:nowrap;
    text-align:center;
  }
  .lp-mode-btn.is-active{ color:var(--cream); }
  .lp-mode-btn:focus-visible{ outline:2px solid var(--olive); outline-offset:2px; }

  /* swap visible frame */
  #launchPreview .lp-frame[data-preview]{ display:none; }
  #launchPreview[data-mode="ori"]  .lp-frame[data-preview="ori"]{ display:flex; }
  #launchPreview[data-mode="firm"] .lp-frame[data-preview="firm"]{ display:flex; }

  /* ——— ORI PREVIEW: scene-specific styles ——— */
  .lp-frame--ori{
    background:#FBF7EE;
  }
  .lp-ori-summary{
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:18px 20px;
    margin-bottom:18px;
  }
  .lp-ori-summary-row{
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:10px;
  }
  .lp-ori-summary-line{
    font-family:'Cormorant Garamond',serif;
    font-weight:500; font-size:21px; line-height:1.35;
    color:var(--ink); letter-spacing:-0.005em;
  }
  .lp-ori-summary-line em{
    font-style:italic; color:#8a4a26;
  }
  .lp-ori-recall-quote{
    font-family:'Cormorant Garamond',serif;
    font-style:italic; font-size:17px; line-height:1.5;
    color:var(--ink);
    padding:8px 4px 4px;
  }
  .lp-ori-recall-list{
    list-style:none;
    display:flex; flex-direction:column; gap:8px;
    font-family:'DM Sans',sans-serif; font-size:14px; line-height:1.5;
    color:var(--ink); padding:6px 0 0;
  }
  .lp-ori-recall-list .lp-tag-soft{
    display:inline-block; margin-right:8px;
    font-family:'DM Mono',monospace; font-size:10px;
    text-transform:uppercase; letter-spacing:0.08em;
    color:#5e7a3c; background:rgba(123,160,96,0.12);
    padding:2px 7px; border:1px solid rgba(123,160,96,0.25);
  }
  .lp-ori-cite{
    display:flex; align-items:center; gap:8px;
    margin-top:14px;
    font-family:'DM Mono',monospace; font-size:11px;
    color:rgba(30,30,30,0.6); letter-spacing:0.06em;
  }
  .lp-ori-cite-pill{
    display:inline-flex; align-items:center; gap:6px;
    padding:3px 8px;
    border:1px solid var(--rule-soft); background:#fff;
  }
  .lp-ori-cite-pill .d{ width:5px; height:5px; border-radius:50%; background:var(--olive); }

  /* Ori chat */
  .lp-ori-prompt{
    display:flex; justify-content:flex-end; margin-bottom:14px;
  }
  .lp-ori-prompt .b{
    background:var(--ink); color:var(--cream);
    padding:10px 16px;
    font-family:'DM Sans',sans-serif; font-size:14px;
    max-width:78%;
    border-radius:14px 14px 4px 14px;
    box-shadow:0 6px 14px -8px rgba(30,30,30,0.4);
  }
  .lp-ori-status{
    display:flex; align-items:center; gap:10px;
    font-family:'DM Sans',sans-serif; font-size:13px;
    color:var(--olive);
    margin-bottom:14px;
  }
  .lp-ori-status .dot{
    width:10px; height:10px; border-radius:50%;
    background:var(--olive);
    box-shadow:inset 0 0 0 2px var(--cream);
    border:1.5px solid var(--olive);
  }

  /* Ori memory threads */
  .lp-ori-threads{
    list-style:none;
    display:flex; flex-direction:column; gap:12px;
  }
  .lp-ori-threads li{
    display:flex; gap:14px;
    background:#fff;
    border:1px solid var(--rule-soft);
    padding:14px 16px;
  }
  .lp-ori-thread-rail{
    width:3px;
    background:var(--olive); border-radius:2px;
    align-self:stretch;
  }
  .lp-ori-threads li.idle .lp-ori-thread-rail{ background:rgba(30,30,30,0.18); }
  .lp-ori-threads li.watch .lp-ori-thread-rail{ background:#D4A24E; }
  .lp-ori-thread-body{ flex:1; min-width:0; }
  .lp-ori-thread-when{
    font-family:'DM Mono',monospace; font-size:10px;
    text-transform:uppercase; letter-spacing:0.1em;
    color:rgba(30,30,30,0.6); margin-bottom:6px;
  }
  .lp-ori-thread-title{
    font-family:'Cormorant Garamond',serif;
    font-weight:500; font-size:20px; line-height:1.25;
    color:var(--ink); margin-bottom:6px;
  }
  .lp-ori-thread-sub{
    font-family:'DM Sans',sans-serif; font-size:13.5px;
    line-height:1.5; color:rgba(30,30,30,0.78);
  }
  .lp-ori-thread-tags{
    display:flex; gap:6px; flex-wrap:wrap; margin-top:10px;
  }
  .lp-ori-thread-tags span{
    font-family:'DM Mono',monospace; font-size:10px;
    text-transform:uppercase; letter-spacing:0.08em;
    color:rgba(30,30,30,0.7);
    border:1px solid var(--rule-soft); background:#FAF6ED;
    padding:3px 8px;
  }

  .lp-timeline--ori{
    grid-template-columns:repeat(2,1fr) !important;
  }

  /* ——— PLATFORM NOTE (above marquee) ——— */
  .platform-note{
    padding:48px 0 16px;
    border-top:1px solid var(--rule-soft);
  }
  .platform-note .wrap{
    display:grid;
    grid-template-columns: minmax(180px, 1fr) 7fr;
    gap:64px;
    align-items:start;
  }
  .platform-note p{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(22px, 1.8vw, 28px);
    line-height:1.35;
    color:rgba(30,30,30,0.86);
    max-width:48ch;
  }
  .platform-note p b{
    font-style:normal;
    font-weight:500;
    color:var(--ink);
  }
  @media (max-width:960px){
    .platform-note .wrap{ grid-template-columns:1fr; gap:18px;}
  }

  /* ——— DEMO PREFACE (legacy, retained for safety) ——— */
  .demo-preface{
    padding-bottom:48px;
    border-bottom:1px solid var(--rule-soft);
    margin-bottom:64px;
    display:grid;
    grid-template-columns: minmax(180px, 1fr) 7fr;
    gap:64px;
    align-items:start;
  }
  .demo-preface p{
    font-size:18px;
    line-height:1.6;
    color:rgba(30,30,30,0.78);
    font-weight:350;
    max-width:62ch;
  }
  .demo-preface p a{
    color:var(--ink);
    border-bottom:1px solid var(--rule);
    transition:border-color .3s ease;
  }
  .demo-preface p a:hover{ border-color:var(--ink);}
  @media (max-width:960px){
    .demo-preface{ grid-template-columns:1fr; gap:18px; padding-bottom:32px; margin-bottom:40px;}
  }

  form.demo-form{
    display:flex; flex-direction:column; gap:0;
    border-top:1px solid var(--rule);
  }
  .field{
    display:grid; grid-template-columns: 160px 1fr;
    align-items:center;
    padding:28px 0;
    border-bottom:1px solid var(--rule);
    transition:background .4s ease;
  }
  .field:hover{ background:var(--cream-warm);}
  .field label{
    font-family:'DM Mono',monospace;font-size:14px;font-weight:500;
    letter-spacing:0.08em;text-transform:uppercase;
    color:rgba(30,30,30,0.82);
    padding-left:8px;
  }
  .field input, .field select{
    background:transparent; border:0; outline:0;
    font-family:'Cormorant Garamond', serif;
    font-weight:400; font-size:28px;
    color:var(--ink);
    padding:4px 8px;
    width:100%;
  }
  .field input::placeholder{
    color:rgba(30,30,30,0.45); font-style:italic;
  }
  .submit-row{
    margin-top:40px;
    display:flex; justify-content:space-between; align-items:center;
    gap:24px; flex-wrap:wrap;
  }
  .submit-row .meta-note{ max-width:320px;}
  button.submit{
    font-family:'DM Sans',sans-serif;font-weight:500;font-size:15px;
    letter-spacing:0.14em;text-transform:uppercase;
    background:var(--ink); color:var(--cream);
    border:1px solid var(--ink);
    padding:22px 34px;
    cursor:pointer;
    display:inline-flex; align-items:center; gap:16px;
    transition:background .4s ease, border-color .4s ease;
  }
  button.submit:hover{ background:var(--oxblood); border-color:var(--oxblood);}
  button.submit .arrow{
    width:22px;height:1px;background:currentColor;position:relative;
  }
  button.submit .arrow::after{
    content:"";position:absolute;right:0;top:-3px;
    width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;
    transform:rotate(45deg);
  }

  .thanks{
    display:none;
    padding:32px 8px;
    border-top:1px solid var(--rule);
    font-family:'Cormorant Garamond',serif; font-style:italic;
    font-size:28px; color:var(--olive);
  }
  form.demo-form.sent + .thanks{ display:block;}
  form.demo-form.sent{ opacity:0.35; pointer-events:none; }
