@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/cormorant-300.woff2') format('woff2')}
  @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-400.woff2') format('woff2')}
  @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-500.woff2') format('woff2')}
  @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/cormorant-300-italic.woff2') format('woff2')}
  @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-400-italic.woff2') format('woff2')}
  @font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jost-400.woff2') format('woff2')}
  @font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jost-500.woff2') format('woff2')}
  @font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/jost-600.woff2') format('woff2')}
  /* LA MAISON KINK — noir. Pure black, bone white, one blood red. Cormorant + Jost. Sharp. */
  :root{
    --black:#050505; --coal:#0b0b0b; --smoke:#111110; --card:#0e0e0d;
    --bone:#efeae0; --bone-2:#b9b3a6; --bone-dim:rgba(239,234,224,.78); --mute:#7d786d;
    --red:#a11217; --red-2:#d21f26; --red-deep:#5c0b0e;
    --line:rgba(239,234,224,.14); --line-2:rgba(239,234,224,.07);
    --serif:'Cormorant Garamond','Cormorant','Hoefler Text',Georgia,serif;
    --ui:'Jost','Futura','Avenir Next','Century Gothic',ui-sans-serif,system-ui,sans-serif;
    --wrap:1200px; --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
  body{ margin:0; background:var(--black); color:var(--bone); font-family:var(--serif); font-weight:400;
    font-size:20px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  img{ display:block; max-width:100%; } a{ color:inherit; text-decoration:none; } p{ margin:0 0 1.1em; }
  button{ font-family:inherit; } :focus-visible{ outline:1px solid var(--bone); outline-offset:3px; }
  .wrap{ max-width:var(--wrap); margin:0 auto; padding:0 clamp(24px,5vw,64px); }
  .narrow{ max-width:920px; }
  .grain{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.55;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.05'/></svg>"); }
  main{ position:relative; z-index:2; }

  /* noir image grade — monochrome at rest, a whisper of colour under the cursor */
  .noir{ filter:grayscale(.88) contrast(1.12) brightness(.8); transition:filter 1.4s var(--ease); }
  .frame:hover .noir, .band:hover .noir, .fband:hover .noir, .hero:hover .noir,
  .frame.tint .noir, .band.tint .noir, .fband.tint .noir{ filter:grayscale(.45) contrast(1.08) brightness(.84); }

  /* full-bleed image bands — the breaths between movements */
  .band{ position:relative; overflow:hidden; height:56vh; min-height:340px; display:flex; align-items:flex-end; background:#000; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
  .band > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; z-index:0; }
  .band .bveil{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(0deg, rgba(0,0,0,.88), transparent 46%, transparent 62%, rgba(0,0,0,.6)); }
  .band .bin{ position:relative; z-index:2; width:100%; max-width:var(--wrap); margin:0 auto; padding:0 clamp(24px,5vw,64px) clamp(34px,5vh,58px); }
  .band .bk{ font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.34em; text-transform:uppercase; color:var(--mute); margin:0 0 12px; }
  .band .bl{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(1.5rem,3.2vw,2.5rem); line-height:1.2; color:var(--bone); margin:0; max-width:26ch; }
  .band .bl b{ color:var(--red-2); font-weight:400; }

  /* menu — full-screen index, NY studio */
  .menub{ display:inline-flex; align-items:center; gap:12px; background:none; border:0; cursor:pointer; margin-left:26px;
    font-family:var(--ui); font-weight:500; font-size:10.5px; letter-spacing:.34em; text-transform:uppercase; color:var(--bone); padding:4px 0; }
  .menub .mi{ display:inline-flex; flex-direction:column; gap:5px; width:26px; }
  .menub .mi i{ display:block; height:1px; background:var(--bone); transition:transform .5s var(--ease), width .5s var(--ease); }
  .menub .mi i:last-child{ width:60%; align-self:flex-end; }
  .menub:hover .mi i{ background:var(--red-2); } .menub:hover .mi i:last-child{ width:100%; }
  .menu{ position:fixed; inset:0; z-index:40; background:#000; visibility:hidden; opacity:0; transition:opacity .7s var(--ease), visibility 0s linear .7s; overflow-y:auto; }
  .menu.open{ visibility:visible; opacity:1; transition:opacity .7s var(--ease); }
  .menu::before{ content:""; position:fixed; inset:0; pointer-events:none; opacity:.55;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.05'/></svg>"); }
  .menu .mrow{ max-width:var(--wrap); margin:0 auto; padding:28px clamp(24px,5vw,64px); display:flex; align-items:center; justify-content:space-between; }
  .menu .mclose{ background:none; border:0; cursor:pointer; font-family:var(--ui); font-weight:500; font-size:10.5px; letter-spacing:.34em; text-transform:uppercase; color:var(--mute); padding:4px 0; transition:color .4s; }
  .menu .mclose:hover{ color:var(--bone); }
  .menu .mbody{ max-width:var(--wrap); margin:0 auto; padding:clamp(20px,4vh,56px) clamp(24px,5vw,64px) 60px; display:grid; grid-template-columns:1fr; gap:clamp(40px,6vw,90px); }
  @media(min-width:900px){ .menu .mbody{ grid-template-columns:1.5fr .9fr; align-items:end; } }
  .mnav{ list-style:none; margin:0; padding:0; }
  .mnav li{ border-bottom:1px solid var(--line-2); }
  .mnav a{ display:flex; align-items:baseline; gap:clamp(16px,3vw,34px); padding:clamp(14px,2.4vh,24px) 0; transition:padding-left .5s var(--ease); }
  .mnav a:hover{ padding-left:14px; }
  .mnav .mno{ font-family:var(--ui); font-weight:400; font-size:10px; letter-spacing:.3em; color:var(--mute); min-width:3ch; }
  .mnav .mt{ font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem,5vw,3.6rem); line-height:1.06; color:var(--bone); transition:color .4s var(--ease), font-style 0s; }
  .mnav a:hover .mt{ color:var(--red-2); font-style:italic; }
  .mnav .marw{ margin-left:auto; font-family:var(--serif); font-size:1.4rem; color:var(--red-2); opacity:0; transform:translateX(-8px); transition:opacity .4s var(--ease), transform .4s var(--ease); }
  .mnav a:hover .marw{ opacity:1; transform:none; }
  .mmeta{ display:flex; flex-direction:column; gap:22px; padding-bottom:8px; }
  .mmeta .ml{ font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.32em; text-transform:uppercase; color:var(--mute); }
  .mmeta .mv2{ font-family:var(--serif); font-size:1.25rem; color:var(--bone); }
  .mmeta a.mv2:hover{ color:var(--red-2); }
  .mmeta .langtoggle{ margin:0; }
  /* staggered entrance */
  .menu .mnav li, .menu .mmeta > div{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
  .menu.open .mnav li, .menu.open .mmeta > div{ opacity:1; transform:none; }
  .menu.open .mnav li:nth-child(1){ transition-delay:.1s } .menu.open .mnav li:nth-child(2){ transition-delay:.16s }
  .menu.open .mnav li:nth-child(3){ transition-delay:.22s } .menu.open .mnav li:nth-child(4){ transition-delay:.28s }
  .menu.open .mnav li:nth-child(5){ transition-delay:.34s } .menu.open .mnav li:nth-child(6){ transition-delay:.4s }
  .menu.open .mnav li:nth-child(7){ transition-delay:.46s }
  .menu.open .mmeta > div:nth-child(1){ transition-delay:.4s } .menu.open .mmeta > div:nth-child(2){ transition-delay:.48s }
  .menu.open .mmeta > div:nth-child(3){ transition-delay:.56s }
  body.menu-open{ overflow:hidden; }

  /* type */
  .kicker{ font-family:var(--ui); font-weight:500; font-size:10.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--mute); display:inline-flex; align-items:center; gap:14px; }
  .kicker::before{ content:""; width:30px; height:1px; background:var(--red); }
  .kicker.center::before{ display:none; }
  .display{ font-family:var(--serif); font-weight:500; font-size:clamp(3.2rem,8vw,6.8rem); line-height:.98; letter-spacing:-.005em; text-wrap:balance; }
  .display em, h2 em, h1 em{ font-style:italic; font-weight:400; color:var(--red-2); }
  h2{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,5vw,4rem); line-height:1.03; letter-spacing:-.003em; text-wrap:balance; margin:0; color:var(--bone); }
  h3{ font-family:var(--serif); font-weight:500; font-size:1.55rem; margin:0; color:var(--bone); }
  .lede{ font-family:var(--ui); font-weight:300; font-size:clamp(1.06rem,1.5vw,1.25rem); line-height:1.66; color:var(--bone-2); }
  .plain{ font-family:var(--ui); font-weight:300; color:var(--bone-2); }

  /* buttons — sharp, noir */
  .btn{ display:inline-flex; align-items:center; gap:12px; font-family:var(--ui); font-weight:500; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; padding:18px 34px; cursor:pointer; color:var(--bone); background:var(--red); border:1px solid var(--red); border-radius:0; transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease); }
  .btn:hover{ background:var(--red-2); border-color:var(--red-2); color:#fff; }
  .btn .arw{ transition:transform .4s var(--ease); } .btn:hover .arw{ transform:translateX(5px); }
  .btn.ghost{ background:transparent; color:var(--bone); border-color:var(--line); }
  .btn.ghost:hover{ border-color:var(--bone); color:#fff; background:transparent; }

  /* nav + sticky */
  .nav{ position:absolute; top:0; left:0; right:0; z-index:6; }
  .nav .row, .sticky .row, .fbar .row{ max-width:var(--wrap); margin:0 auto; padding:28px clamp(24px,5vw,64px); display:flex; align-items:center; justify-content:space-between; }
  .brand{ font-family:var(--ui); font-weight:500; font-size:12.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--bone); }
  .brand b{ font-weight:600; } .brand .sep{ color:var(--red-2); margin:0 2px; }
  .navr{ display:flex; align-items:center; }
  .langtoggle{ display:inline-flex; align-items:center; gap:8px; margin-right:26px; font-family:var(--ui); font-size:10.5px; letter-spacing:.2em; }
  .langtoggle button{ background:none; border:none; color:rgba(239,234,224,.42); padding:2px 0; letter-spacing:.2em; cursor:pointer; transition:color .4s; }
  .langtoggle button.on{ color:var(--bone); border-bottom:1px solid var(--red); }
  .langtoggle .bar{ color:rgba(239,234,224,.25); }
  .enq{ font-family:var(--ui); font-weight:500; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--bone); border:1px solid var(--line); padding:11px 20px; transition:border-color .4s,background .4s; }
  .enq:hover{ border-color:var(--red); background:rgba(161,18,23,.12); }
  .sticky{ position:fixed; top:0; left:0; right:0; z-index:20; background:rgba(5,5,5,.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line-2); transform:translateY(-100%); transition:transform .5s var(--ease); }
  .sticky.show{ transform:none; }
  .sticky .row{ padding-top:14px; padding-bottom:14px; }
  .fbar{ position:relative; z-index:6; background:var(--black); border-bottom:1px solid var(--line-2); }

  /* HERO */
  .hero{ position:relative; height:100svh; min-height:640px; overflow:hidden; background:#000; }
  .hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% center; z-index:0;
    transform-origin:58% 46%; animation:kb 34s ease-out both; }
  @keyframes kb{ from{ transform:scale(1.0);} to{ transform:scale(1.08);} }
  .hero-veil{ position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      radial-gradient(130% 100% at 50% 40%, transparent 40%, rgba(0,0,0,.62) 100%),
      linear-gradient(180deg, rgba(0,0,0,.72) 0%, transparent 24%, transparent 40%, rgba(0,0,0,.66) 68%, rgba(0,0,0,.97) 100%); }
  .hero-in{ position:absolute; z-index:3; left:0; right:0; bottom:0; padding-bottom:clamp(46px,8vh,90px); }
  .hero-in .kicker{ color:var(--bone-2); margin-bottom:28px; }
  .hero-in .display{ color:var(--bone); margin:0; max-width:14ch; text-shadow:0 2px 60px rgba(0,0,0,.8); }
  .hero-in .lede{ color:var(--bone-dim); max-width:52ch; margin:26px 0 0; }
  .hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
  .scrolldown{ position:absolute; right:clamp(24px,5vw,64px); bottom:clamp(46px,8vh,90px); z-index:3; writing-mode:vertical-rl; font-family:var(--ui); font-size:9.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--mute); display:none; }
  @media(min-width:900px){ .scrolldown{ display:block; } }

  /* THE SENTENCE */
  .sentence{ border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); background:var(--coal); }
  .sentence .in{ padding:clamp(64px,9vw,110px) 0; text-align:center; }
  .sentence p{ font-family:var(--serif); font-weight:400; font-size:clamp(1.7rem,3.6vw,2.9rem); line-height:1.3; margin:0 auto; max-width:30ch; color:var(--bone); text-wrap:balance; }
  .sentence p b{ font-weight:500; color:var(--red-2); }

  /* sections */
  section.mv{ padding:clamp(90px,13vh,170px) 0; position:relative; }
  .dark{ background:var(--coal); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
  .sh{ max-width:820px; margin:0 0 clamp(52px,7vw,88px); }
  .sh.center{ margin-left:auto; margin-right:auto; text-align:center; }
  .sh .kicker{ margin-bottom:24px; }
  .sh h2{ margin-bottom:24px; }
  .sh .lede{ margin:0; } .sh.center .lede{ margin:0 auto; max-width:62ch; }

  /* frame — sharp hairline around plates */
  .frame{ position:relative; overflow:hidden; }
  .frame img{ width:100%; height:auto; display:block; }
  .frame::after{ content:""; position:absolute; inset:0; border:1px solid var(--line); pointer-events:none; }
  .frame .cap{ position:absolute; left:0; bottom:0; z-index:2; padding:16px 18px; color:var(--bone); font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.32em; text-transform:uppercase; text-shadow:0 1px 16px rgba(0,0,0,.8); }

  /* WHAT YOU GET — mockups early */
  .get2{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }
  @media(min-width:960px){ .get2{ grid-template-columns:1fr 1fr; } }
  .gcol{ background:var(--black); padding:clamp(36px,5vw,60px) clamp(26px,4vw,52px) clamp(44px,5vw,64px); display:flex; flex-direction:column; align-items:center; }
  .dark .gcol{ background:var(--coal); }
  .gcol .gk{ font-family:var(--ui); font-weight:500; font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--red-2); margin-bottom:8px; }
  .gcol .gt{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,2.6vw,2.3rem); color:var(--bone); margin-bottom:28px; text-align:center; }
  .gcol .mockwrap{ margin-bottom:30px; }
  .gcol ul{ list-style:none; margin:0; padding:0; width:100%; max-width:420px; }
  .gcol li{ position:relative; padding:12px 0 12px 26px; border-top:1px solid var(--line-2); font-family:var(--ui); font-weight:300; font-size:1rem; color:var(--bone-2); line-height:1.5; }
  .gcol li::before{ content:""; position:absolute; left:2px; top:1.15em; width:5px; height:5px; background:var(--red); transform:rotate(45deg); }
  .gcol li b{ color:var(--bone); font-weight:500; }

  /* device mockups — noir screens */
  .mock{ position:relative; }
  .swap{ position:absolute; top:10px; right:10px; z-index:5; font-family:var(--ui); font-size:7.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--bone); background:rgba(161,18,23,.9); padding:4px 9px; }
  .phone{ width:min(250px,72vw); aspect-ratio:9/19; background:#000; border:1px solid #222; border-radius:32px; padding:9px; box-shadow:0 60px 110px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(239,234,224,.05); position:relative; }
  .phone .scr{ position:relative; width:100%; height:100%; border-radius:24px; overflow:hidden; background:#070707; display:flex; flex-direction:column; }
  .ui-top{ padding:24px 18px 13px; text-align:center; border-bottom:1px solid rgba(239,234,224,.08); }
  .ui-top .u-k{ font-family:var(--ui); font-size:7.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--mute); }
  .ui-top .u-t{ font-family:var(--serif); font-weight:500; font-size:1.32rem; color:var(--bone); margin-top:6px; }
  .ui-body{ padding:18px 16px; flex:1; display:flex; flex-direction:column; gap:14px; }
  .u-card{ border:1px solid rgba(239,234,224,.1); padding:13px 13px 15px; background:rgba(255,255,255,.015); }
  .u-card .cl{ font-family:var(--ui); font-size:7px; letter-spacing:.26em; text-transform:uppercase; color:var(--mute); }
  .u-card .cv{ font-family:var(--serif); font-size:1.02rem; color:var(--bone); margin-top:5px; line-height:1.3; }
  .u-card .cv i{ color:var(--red-2); font-style:normal; }
  .u-meter{ height:4px; background:rgba(239,234,224,.1); margin-top:11px; overflow:hidden; }
  .u-meter i{ display:block; height:100%; width:72%; background:var(--red); }
  .u-btn{ margin-top:auto; text-align:center; font-family:var(--ui); font-weight:500; font-size:8px; letter-spacing:.26em; text-transform:uppercase; color:#fff; background:var(--red); padding:12px; }
  .laptop{ width:min(560px,88vw); }
  .laptop .lid{ aspect-ratio:16/10; background:#000; border:1px solid #222; border-radius:9px 9px 0 0; padding:8px; box-shadow:0 60px 110px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(239,234,224,.05); }
  .laptop .base{ height:12px; background:linear-gradient(#1a1a19,#0a0a0a); border-radius:0 0 10px 10px; margin:0 -14px; }
  .laptop .base::after{ content:""; display:block; width:60px; height:4px; background:#050505; margin:0 auto; }
  .lscr{ width:100%; height:100%; border-radius:4px; overflow:hidden; background:#070707; display:grid; grid-template-columns:148px 1fr; }
  .lside{ border-right:1px solid rgba(239,234,224,.08); padding:15px 13px; }
  .lside .lb{ font-family:var(--ui); font-size:7.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--red-2); }
  .lside .li{ font-family:var(--ui); font-weight:300; font-size:9px; letter-spacing:.08em; color:var(--bone-2); margin-top:13px; opacity:.75; }
  .lside .li.on{ color:var(--bone); opacity:1; border-left:2px solid var(--red); padding-left:7px; margin-left:-9px; }
  .lmain{ padding:16px 17px; }
  .lmain .lh{ font-family:var(--serif); font-weight:500; font-size:1.1rem; color:var(--bone); }
  .ltiles{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-top:13px; }
  .ltile{ border:1px solid rgba(239,234,224,.1); padding:10px 9px; }
  .ltile .tn{ font-family:var(--serif); font-weight:500; font-size:1.22rem; color:var(--bone); } .ltile .tn i{ color:var(--red-2); font-style:normal; }
  .ltile .tl{ font-family:var(--ui); font-size:6.2px; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin-top:4px; }
  .lrows{ margin-top:11px; } .lrow{ display:flex; justify-content:space-between; align-items:center; padding:8px 2px; border-bottom:1px solid rgba(239,234,224,.06); font-family:var(--ui); font-weight:300; font-size:8.4px; color:var(--bone-2); }
  .lrow .pill{ font-size:6.2px; letter-spacing:.14em; text-transform:uppercase; color:var(--red-2); border:1px solid rgba(161,18,23,.5); padding:2px 6px; }
  .mcap{ text-align:center; margin-top:18px; font-family:var(--ui); font-weight:400; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
  .mcap .fill{ display:block; color:var(--red-2); margin-top:6px; font-size:8px; letter-spacing:.18em; }

  /* browser-chrome frame + numbered screenshot slots (S1..S10) */
  .bframe{ margin-top:28px; max-width:860px; border:1px solid var(--line-2); background:#080808; box-shadow:0 40px 80px -40px rgba(0,0,0,.8); }
  .bframe .bbar{ display:flex; align-items:center; gap:6px; padding:11px 14px; border-bottom:1px solid var(--line-2); }
  .bframe .bbar i{ width:8px; height:8px; border-radius:50%; background:#232323; }
  .bframe .bbar .url{ margin-left:12px; font-family:var(--ui); font-weight:300; font-size:8.5px; letter-spacing:.14em; color:var(--mute); }
  .bframe .bscr{ aspect-ratio:16/9.4; display:flex; align-items:center; justify-content:center; text-align:center; padding:22px; background:
    radial-gradient(80% 80% at 50% 40%, rgba(239,234,224,.02), transparent 70%); }
  .bframe .bscr > img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
  .slotlab .sn{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:2rem; color:var(--red-2); line-height:1; }
  .slotlab .sd{ font-family:var(--ui); font-weight:400; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin-top:10px; }
  .slotlab .sf{ font-family:var(--ui); font-weight:300; font-size:.7rem; letter-spacing:.08em; color:#494540; margin-top:9px; }

  /* team line under get */
  .team{ margin-top:1px; border:1px solid var(--line-2); border-top:0; background:var(--black); padding:clamp(28px,4vw,40px) clamp(26px,4vw,52px); text-align:center; }
  .dark .team{ background:var(--coal); }
  .team p{ margin:0 auto; max-width:72ch; font-family:var(--ui); font-weight:300; font-size:1.04rem; color:var(--bone-2); }
  .team p b{ color:var(--bone); font-weight:500; }

  /* ROOMS grid */
  .rooms-g{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }
  @media(min-width:680px){ .rooms-g{ grid-template-columns:1fr 1fr; } }
  @media(min-width:1020px){ .rooms-g{ grid-template-columns:1fr 1fr 1fr 1fr; } }
  .room-c{ background:var(--black); padding:32px 26px 36px; transition:background .45s var(--ease); position:relative; }
  .dark .room-c{ background:var(--coal); }
  .room-c:hover{ background:var(--smoke); }
  .room-c::before{ content:""; position:absolute; top:0; left:0; width:0; height:1px; background:var(--red); transition:width .6s var(--ease); }
  .room-c:hover::before{ width:100%; }
  .room-c .rn{ font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.3em; color:var(--mute); }
  .room-c h3{ font-size:1.42rem; margin:14px 0 8px; }
  .room-c .what{ font-family:var(--ui); font-weight:400; font-size:.92rem; color:var(--red-2); margin:0 0 10px; line-height:1.4; }
  .room-c p.d{ margin:0; font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.95rem; line-height:1.55; }
  .center-btn{ text-align:center; margin-top:clamp(44px,6vw,72px); }

  /* PROOF */
  .proof{ display:grid; grid-template-columns:1fr; gap:clamp(44px,6vw,88px); align-items:center; }
  @media(min-width:920px){ .proof{ grid-template-columns:1.1fr .9fr; } }
  .split{ display:grid; grid-template-columns:1fr; gap:clamp(44px,6vw,88px); align-items:center; }
  @media(min-width:920px){ .split{ grid-template-columns:.9fr 1.1fr; } .split.rev{ grid-template-columns:1.1fr .9fr; } }
  .stats{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); margin-top:clamp(44px,6vw,72px); }
  @media(min-width:820px){ .stats{ grid-template-columns:repeat(4,1fr); } }
  .stat{ background:var(--coal); padding:38px 26px; text-align:center; }
  .stat .n{ font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem,5vw,3.9rem); line-height:1; color:var(--bone); }
  .stat .n i{ font-style:normal; color:var(--red-2); }
  .stat .l{ font-family:var(--ui); font-weight:400; font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--mute); margin-top:14px; }

  /* testimonial */
  .quote{ text-align:center; max-width:900px; margin:0 auto; }
  .quote .qmark{ font-family:var(--serif); font-size:5.5rem; color:var(--red); line-height:.4; display:block; height:40px; }
  .quote blockquote{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(1.6rem,3.4vw,2.7rem); line-height:1.3; color:var(--bone); margin:0; }
  .quote blockquote em{ color:var(--red-2); }
  .quote .by{ margin-top:34px; font-family:var(--ui); font-weight:500; font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--bone); }
  .quote .role{ display:block; color:var(--mute); margin-top:8px; letter-spacing:.2em; font-size:9px; }

  /* STEPS */
  .steps{ border-top:1px solid var(--line); counter-reset:st; }
  .step{ display:grid; grid-template-columns:auto 1fr; gap:clamp(22px,4vw,56px); align-items:baseline; padding:clamp(30px,4vw,44px) 0; border-bottom:1px solid var(--line); }
  .step .sn{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(1.9rem,4vw,2.8rem); color:var(--red-2); line-height:1; min-width:2.2ch; }
  .step .st h3{ margin:0 0 8px; font-size:1.45rem; }
  .step .st p{ margin:0; font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:1.02rem; max-width:66ch; }

  /* PRICING */
  .psum{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); margin-bottom:clamp(36px,5vw,56px); }
  @media(min-width:760px){ .psum{ grid-template-columns:1fr 1fr 1fr; } }
  .ps{ background:var(--coal); padding:32px 26px; text-align:center; }
  .ps .pv{ font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem,3.4vw,2.7rem); color:var(--bone); line-height:1; }
  .ps .pv i{ font-style:normal; color:var(--red-2); }
  .ps .pl{ font-family:var(--ui); font-weight:400; font-size:9.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--mute); margin-top:12px; }
  .tiers{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }
  @media(min-width:880px){ .tiers{ grid-template-columns:1fr 1fr 1fr; } }
  .tier{ background:var(--coal); padding:42px 32px 46px; display:flex; flex-direction:column; position:relative; }
  .tier.feat{ background:var(--smoke); }
  .tier.feat::before{ content:attr(data-badge); position:absolute; top:0; left:0; right:0; text-align:center; transform:translateY(-50%); }
  .tier.feat::before{ font-family:var(--ui); font-weight:600; font-size:8.5px; letter-spacing:.26em; text-transform:uppercase; color:#fff; }
  .tier.feat .badge{ position:absolute; top:0; left:50%; transform:translate(-50%,-50%); background:var(--red); color:#fff; font-family:var(--ui); font-weight:600; font-size:8.5px; letter-spacing:.24em; text-transform:uppercase; padding:6px 14px; white-space:nowrap; }
  .tier .tname{ font-family:var(--serif); font-weight:500; font-size:1.75rem; color:var(--bone); }
  .tier .tpos{ font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.95rem; margin-top:6px; min-height:2.6em; }
  .tier .tprice{ margin:20px 0 2px; font-family:var(--serif); font-weight:500; font-size:2.7rem; color:var(--bone); line-height:1; }
  .tier .tprice span{ font-size:.34em; color:var(--mute); font-family:var(--ui); font-weight:400; letter-spacing:.12em; }
  .tier .tcom{ font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--red-2); margin-bottom:26px; }
  .tier ul{ list-style:none; margin:0 0 30px; padding:0; flex:1; }
  .tier li{ position:relative; padding:11px 0 11px 24px; border-top:1px solid var(--line-2); font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.96rem; line-height:1.45; }
  .tier li::before{ content:""; position:absolute; left:2px; top:1.1em; width:5px; height:5px; background:var(--red); transform:rotate(45deg); }
  .tier li b{ color:var(--bone); font-weight:500; }
  .tier .btn{ width:100%; justify-content:center; }
  .tier:not(.feat) .btn{ background:transparent; color:var(--bone); border-color:var(--line); }
  .tier:not(.feat) .btn:hover{ border-color:var(--red); color:#fff; background:rgba(161,18,23,.14); }

  /* compare table */
  .cmp-wrap{ margin-top:clamp(36px,5vw,56px); overflow-x:auto; border:1px solid var(--line-2); }
  table.cmp{ width:100%; min-width:680px; border-collapse:collapse; font-family:var(--ui); font-weight:300; font-size:.95rem; color:var(--bone-2); }
  .cmp th, .cmp td{ padding:15px 18px; text-align:center; border-bottom:1px solid var(--line-2); }
  .cmp th{ font-family:var(--ui); font-weight:500; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--bone); background:var(--smoke); }
  .cmp td:first-child, .cmp th:first-child{ text-align:left; }
  .cmp td:first-child{ color:var(--bone-2); }
  .cmp .yes{ color:var(--red-2); font-size:1.05rem; }
  .cmp .no{ color:rgba(239,234,224,.22); }
  .cmp .hl{ background:rgba(255,255,255,.02); }
  .pnote{ margin-top:26px; text-align:center; font-family:var(--ui); font-weight:300; font-size:.92rem; color:var(--mute); }
  .pnote b{ color:var(--bone-2); font-weight:400; }

  /* FINAL */
  .final{ position:relative; overflow:hidden; text-align:center; padding:0; background:#000; }
  .final-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; z-index:0; }
  .final-veil{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 42%,rgba(0,0,0,.88)); }
  .final-in{ position:relative; z-index:2; padding:clamp(110px,17vh,200px) 0; }
  .final-note{ margin-top:32px; font-family:var(--ui); font-weight:400; font-size:9px; letter-spacing:.34em; text-transform:uppercase; color:var(--mute); }

  footer{ background:#000; border-top:1px solid var(--line-2); padding:52px 0 60px; }
  footer .frow{ display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
  footer .fm{ font-family:var(--ui); font-weight:500; font-size:12px; letter-spacing:.4em; text-transform:uppercase; color:var(--bone); }
  footer .fm .sep{ color:var(--red-2); }
  footer .fnote{ font-family:var(--ui); font-weight:300; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }

  /* language modal */
  .langmodal{ position:fixed; inset:0; z-index:50; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.93); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
  .langmodal.show{ display:flex; }
  .lm-card{ text-align:center; padding:clamp(44px,6vw,74px); border:1px solid var(--line); background:var(--black); max-width:460px; width:90%; }
  .lm-brand{ font-family:var(--ui); font-weight:500; font-size:11.5px; letter-spacing:.44em; text-transform:uppercase; color:var(--bone); margin-bottom:16px; }
  .lm-orn{ margin:0 auto 28px; width:40px; height:1px; background:var(--red); }
  .lm-q{ font-family:var(--serif); font-weight:500; font-size:1.7rem; color:var(--bone); line-height:1.3; margin-bottom:36px; }
  .lm-q span{ display:block; font-style:italic; font-weight:400; color:var(--bone-2); font-size:1.2rem; margin-top:8px; }
  .lm-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .lm-btns button{ font-family:var(--ui); font-weight:500; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--bone); background:transparent; border:1px solid var(--line); padding:16px 32px; cursor:pointer; transition:background .4s,border-color .4s; }
  .lm-btns button:hover{ background:var(--red); border-color:var(--red); color:#fff; }

  /* the honest part — the recurring candor device */
  .true{ margin:clamp(30px,4vw,48px) auto 0; border-left:2px solid var(--red); padding:8px 0 8px clamp(18px,3vw,28px); max-width:720px; }
  .true .tk{ font-family:var(--ui); font-weight:500; font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--red-2); margin-bottom:10px; }
  .true p{ margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(1.15rem,2vw,1.45rem); color:var(--bone-2); line-height:1.5; }
  .true p b{ color:var(--bone); font-weight:500; font-style:normal; }
  .heronote{ margin-top:24px; font-family:var(--serif); font-style:italic; font-size:1.08rem; color:var(--bone-dim); }

  /* money page */
  .flow{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); counter-reset:fs; }
  @media(min-width:860px){ .flow{ grid-template-columns:1fr 1fr 1fr; } }
  .fstep{ background:var(--coal); padding:40px 32px 44px; position:relative; }
  .fstep::after{ content:""; position:absolute; right:-4px; top:50%; width:7px; height:7px; background:var(--red); transform:translateY(-50%) rotate(45deg); z-index:2; }
  .fstep:last-child::after{ display:none; }
  @media(max-width:859px){ .fstep::after{ right:auto; left:50%; top:auto; bottom:-4px; transform:translateX(-50%) rotate(45deg); } }
  .fstep .fn{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:2rem; color:var(--red-2); line-height:1; }
  .fstep h3{ margin:16px 0 10px; font-size:1.42rem; }
  .fstep p{ margin:0; font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.98rem; line-height:1.6; }
  .loopnote{ margin-top:clamp(30px,4vw,44px); text-align:center; font-family:var(--serif); font-style:italic; font-size:clamp(1.2rem,2.2vw,1.6rem); color:var(--bone-2); }
  .loopnote b{ color:var(--red-2); font-weight:400; }

  .rails{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }
  @media(min-width:880px){ .rails{ grid-template-columns:1fr 1fr 1fr; } }
  .rail{ background:var(--coal); padding:42px 32px 46px; display:flex; flex-direction:column; }
  .rail .rk{ font-family:var(--ui); font-weight:500; font-size:9.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--mute); }
  .rail .rname{ font-family:var(--serif); font-weight:500; font-size:1.7rem; color:var(--bone); margin-top:12px; }
  .rail .rtag{ font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.95rem; margin-top:6px; min-height:2.6em; }
  .rail .rfee{ margin:20px 0 4px; font-family:var(--serif); font-weight:500; font-size:2.1rem; color:var(--bone); line-height:1; }
  .rail .rfee i{ font-style:normal; color:var(--red-2); }
  .rail .rfeel{ font-family:var(--ui); font-weight:400; font-size:8.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--mute); margin-bottom:24px; }
  .rail ul{ list-style:none; margin:0 0 24px; padding:0; flex:1; }
  .rail li{ position:relative; padding:10px 0 10px 24px; border-top:1px solid var(--line-2); font-family:var(--ui); font-weight:300; color:var(--bone-2); font-size:.95rem; line-height:1.45; }
  .rail li::before{ content:""; position:absolute; left:2px; top:1.05em; width:5px; height:5px; background:var(--red); transform:rotate(45deg); }
  .rail .rwe{ font-family:var(--serif); font-style:italic; font-size:1.05rem; color:var(--bone); border-top:1px solid var(--line); padding-top:18px; }
  .rail .rwe b{ color:var(--red-2); font-weight:400; }
  .railnote{ margin-top:26px; text-align:center; font-family:var(--ui); font-weight:300; font-size:.92rem; color:var(--mute); }

  /* drawn diagrams — noir line art, money in motion */
  .dgm{ display:block; width:100%; max-width:920px; margin:0 auto clamp(44px,6vw,72px); height:auto; }
  .dgm .ln{ fill:none; stroke:rgba(239,234,224,.55); stroke-width:1.3; }
  .dgm .ln.hv{ stroke:var(--bone); stroke-width:2.6; }
  .dgm .ln.rd{ stroke:var(--red-2); }
  .dgm .ln.mu{ stroke:rgba(239,234,224,.22); }
  .dgm .flowdash{ fill:none; stroke:var(--red-2); stroke-width:1.4; stroke-dasharray:3 9; animation:dashflow 3.6s linear infinite; }
  @keyframes dashflow{ to{ stroke-dashoffset:-96; } }
  .dgm .dia{ fill:var(--red); }
  .dgm .dot{ fill:rgba(239,234,224,.6); }
  .dgm .dot.rd{ fill:var(--red-2); }
  .dgm .lb{ font-family:'Jost',sans-serif; font-weight:500; font-size:11.5px; letter-spacing:.24em; fill:var(--bone); }
  .dgm .lb.mu{ fill:var(--mute); font-size:10px; letter-spacing:.2em; }
  .dgm .cap{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:15.5px; letter-spacing:.02em; fill:var(--bone-2); }
  .dgm .cap.rd{ fill:var(--red-2); }
  @media(prefers-reduced-motion:reduce){ .dgm .flowdash{ animation:none; } }

  /* ledger / statement panel */
  .ledgerbox{ border:1px solid var(--line); background:var(--coal); padding:34px 32px 36px; }
  .ledgerbox .lt{ font-family:var(--ui); font-weight:500; font-size:9.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--red-2); margin-bottom:20px; }
  .ledgerbox .lrow2{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:13px 2px; border-top:1px solid var(--line-2); }
  .ledgerbox .lrow2 .ln2{ font-family:var(--serif); font-size:1.12rem; color:var(--bone); }
  .ledgerbox .lrow2 .lf2{ font-family:var(--ui); font-weight:400; font-size:8.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--mute); white-space:nowrap; }
  .smallprint{ margin-top:22px; font-family:var(--ui); font-weight:300; font-size:.85rem; color:var(--mute); line-height:1.6; }

  /* features page */
  .fhero{ padding:clamp(130px,20vh,220px) 0 clamp(28px,5vw,52px); text-align:center; }
  .fhero .kicker{ justify-content:center; margin-bottom:26px; }
  .fhero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem,6vw,5rem); line-height:1.02; color:var(--bone); margin:0; text-wrap:balance; }
  .fhero h1 em{ font-style:italic; font-weight:400; color:var(--red-2); }
  .fhero .lede{ max-width:56ch; margin:26px auto 0; }
  .fband{ position:relative; overflow:hidden; height:42vh; min-height:300px; margin:clamp(34px,5vw,60px) 0; display:flex; align-items:flex-end; }
  .fband img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .fband .fbveil{ position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 60%); }
  .fband::after{ content:""; position:absolute; inset:0; border:1px solid var(--line-2); pointer-events:none; z-index:2; }
  .fband .fbt{ position:relative; z-index:2; padding:0 clamp(28px,6vw,70px) clamp(28px,4vw,44px); font-family:var(--serif); font-style:italic; font-size:clamp(1.4rem,2.8vw,2.2rem); color:var(--bone); }
  .roomsl{ border-top:1px solid var(--line); }
  .rooml{ display:grid; grid-template-columns:1fr; gap:14px; padding:clamp(44px,6vw,72px) 0; border-bottom:1px solid var(--line); }
  @media(min-width:860px){ .rooml{ grid-template-columns:.5fr 1.5fr; gap:clamp(30px,5vw,70px); align-items:start; } }
  .rooml .rnum{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(2rem,4vw,3rem); color:var(--red-2); line-height:1; }
  .rooml .rname{ font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem,2.6vw,2.2rem); color:var(--bone); margin-top:6px; }
  .rooml .what{ font-family:var(--ui); font-weight:400; font-size:1.02rem; color:var(--red-2); margin:0 0 14px; }
  .rooml .rbody p.d{ font-family:var(--ui); font-weight:300; font-size:1.05rem; color:var(--bone-2); margin:0 0 22px; line-height:1.62; max-width:68ch; }
  .pills{ display:flex; flex-wrap:wrap; gap:9px; }
  .pill-t{ font-family:var(--ui); font-weight:400; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--bone-2); border:1px solid var(--line); padding:8px 14px; transition:border-color .4s,color .4s; }
  .pill-t:hover{ border-color:var(--red); color:var(--bone); }
  .fclose{ text-align:center; padding:clamp(80px,12vh,140px) 0; }
  .fclose .btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:34px; }

  /* reveal */
  .rv{ transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); }
  html.js .rv:not(.in){ opacity:0; transform:translateY(24px); }
  .rv.in{ opacity:1; transform:none; }
  .rv.d1{ transition-delay:.08s; } .rv.d2{ transition-delay:.16s; } .rv.d3{ transition-delay:.24s; }
  @media(prefers-reduced-motion:reduce){ html.js .rv:not(.in){ opacity:1; transform:none; } .rv{ transition:none; } .hero-img{ animation:none; } html{ scroll-behavior:auto; } }
