/*
 * prototype.css
 * Extracted verbatim from the client prototype (igbegoogwuche-website.html).
 * Only three things changed, all for safety inside WordPress:
 *   - the bare nav{} block was removed (the Bricks header template owns nav CSS)
 *   - .view / .view.active router rules removed (no JS view switching here)
 *   - the global reset and body rules are scoped to .proto-view / body.proto-page
 * Do not hand-edit values. Re-extract from the prototype if it changes.
 */

/* ============================================================
   THE BUILDER CANVAS
   Reveal on scroll starts every section at opacity 0 and waits for
   prototype.js to add .in when it scrolls into view. Inside the Bricks
   canvas that never happens, so the page looked empty in the editor
   while rendering correctly on the front end. Bricks adds
   .bricks-is-frontend to the body on the front end only, so anywhere
   else the reveals are simply shown.
   ============================================================ */
body:not(.bricks-is-frontend) .rv{opacity:1;transform:none}

/* ============================================================
   BRICKS DEFAULT NEUTRALISER
   Bricks ships layout defaults on .brxe-section / .brxe-block /
   .brxe-div / .brxe-container (flex column, centred, full width) that
   the prototype never had. :where() keeps this selector at .proto-view
   weight, so it beats the Bricks defaults but still loses to every
   prototype rule below. Order matters: this must stay above them.
   ============================================================ */
.proto-view,
.proto-view :where(.brxe-section,.brxe-block,.brxe-div,.brxe-container){
  display:block;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:normal;
  gap:normal;
  width:auto;
  height:auto;
  margin-left:0;
  margin-right:0;
}
.proto-view :where(.brxe-text-link,.brxe-button){display:inline-block;gap:normal}
.proto-view :where(.brxe-heading,.brxe-text-basic){margin:0}

  *{-webkit-tap-highlight-color:transparent}



  /* ============ NAV ============ */

  /* ============ HERO ============ */
  .hero{
    min-height:100svh;
    display:flex;flex-direction:column;justify-content:flex-end;
    border-bottom:1px solid var(--line);
  }
  .hero-top{
    flex:1;
    display:flex;align-items:flex-end;justify-content:space-between;
    padding:96px var(--pad) clamp(20px,3vh,36px);
    gap:24px;
  }
  .hero-top p{
    font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
    color:var(--grey);line-height:2.1;
  }
  .hero-top .r{text-align:right}
  .hero-name{
    padding:0 var(--pad);
  }
  .hero-name h1{
    font-weight:700;
    font-size:clamp(54px, 12.2vw, 196px);
    line-height:.92;
    letter-spacing:-.045em;
    text-transform:uppercase;
  }
  .hero-name h1 .row{
    display:flex;align-items:baseline;gap:clamp(14px,2.5vw,44px);
  }
  .hero-name h1 .row:last-child{justify-content:flex-end}
  .hero-name h1 em{
    font-family:var(--serif);
    font-style:normal;
    font-weight:400;
    text-transform:none;
    letter-spacing:-.01em;
    font-size:.42em;
    color:var(--champagne);
    transform:translateY(-.18em);
    white-space:nowrap;
  }
  @media(max-width:640px){
    .hero-name h1 em{display:none}
  }
  .hero-base{
    display:flex;justify-content:space-between;align-items:flex-end;gap:32px;
    padding:clamp(26px,4vh,46px) var(--pad) clamp(28px,4vh,48px);
  }
  .hero-base p{
    max-width:400px;font-size:14px;line-height:1.85;color:var(--grey);
  }
  .hero-base p b{font-weight:600;color:var(--noir)}
  .scroll-cue{
    font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);
    white-space:nowrap;
  }
  @media(max-width:760px){.hero-base{flex-direction:column;align-items:flex-start}}

  /* ticker */
  .ticker{
    border-top:1px solid var(--line);
    overflow:hidden;padding:16px 0;white-space:nowrap;
  }
  .ticker-track{display:inline-block;animation:scroll 42s linear infinite}
  .ticker span{
    font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
    margin:0 26px;color:var(--noir);
  }
  .ticker i{font-style:normal;color:var(--champagne);font-size:9px;vertical-align:middle}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ============ PHOTO STRIP ============ */
  .strip{border-bottom:1px solid var(--line)}
  .strip-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  }
  @media(max-width:760px){.strip-grid{grid-template-columns:1fr}}
  .simg{
    aspect-ratio:16/10;
    display:flex;align-items:flex-end;justify-content:center;
    transition:filter .4s;
  }
  .simg:hover{filter:brightness(1.06)}
  .simg span{
    font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
    color:rgba(246,245,242,.6);padding-bottom:18px;
  }
  .simg-a{background:linear-gradient(165deg,#2B3654,#1D2740 55%,#131A2C)}
  .simg-b{background:linear-gradient(165deg,#4C2E3B,#38212C 55%,#251620)}
  .simg-c{background:linear-gradient(165deg,#B68A4C,#96703B 55%,#75562C)}

  /* ============ MANIFESTO ============ */
  .manifesto{
    padding:clamp(110px,15vh,180px) var(--pad);
    border-bottom:1px solid var(--line);
  }
  .manifesto-grid{
    max-width:var(--max);margin:0 auto;
    display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:start;
  }
/* Reveal fix: content stays visible until the script runs */
html:not(.rv-ready) .rv{opacity:1 !important;transform:none !important}

/* Hero is always visible on first load */
.proto-view .hero .rv{opacity:1 !important;transform:none !important;transition:none !important}
  @media(max-width:880px){.manifesto-grid{grid-template-columns:1fr;gap:24px}}
  .manifesto h2{
    font-weight:500;
    font-size:clamp(26px,3.9vw,54px);
    line-height:1.18;
    letter-spacing:-.025em;
    max-width:24ch;
  }
  .manifesto h2 em.acc{font-size:1.04em;color:var(--champagne)}

  /* ============ MAISON ============ */
  .maison{border-bottom:1px solid var(--line)}
  .maison-head{
    max-width:var(--max);margin:0 auto;
    padding:clamp(76px,10vh,120px) var(--pad) clamp(44px,6vh,72px);
    display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;
  }
  .maison-head h2{
    font-weight:700;
    font-size:clamp(42px,7.5vw,110px);
    line-height:.95;letter-spacing:-.045em;text-transform:uppercase;
  }
  .maison-head p{max-width:320px;font-size:13.5px;line-height:1.85;color:var(--grey)}

  .plate{border-top:1px solid var(--line);transition:background .35s}
  .plate:hover{background:#EFEEE9}
  .plate-inner{
    max-width:var(--max);margin:0 auto;
    padding:clamp(48px,7vh,80px) var(--pad);
    display:grid;
    grid-template-columns:120px 1.35fr 1fr;
    gap:clamp(24px,4vw,72px);
  }
  @media(max-width:980px){.plate-inner{grid-template-columns:1fr;gap:20px}}
  .plate .idx{padding-top:8px}
  .plate h3{
    font-weight:600;
    font-size:clamp(30px,4.4vw,60px);
    line-height:1;letter-spacing:-.035em;
    margin-bottom:20px;
  }
  .plate h3 em.acc{font-size:.95em;color:var(--champagne)}
  .plate .cat{display:block;margin-bottom:18px}
  .plate p.desc{max-width:50ch;font-size:14px;line-height:1.85;color:var(--grey)}
  .plate .more{
    display:inline-flex;align-items:center;gap:10px;margin-top:26px;
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  }
  .plate .more::after{content:"\2192";transition:transform .3s}
  .plate:hover .more::after{transform:translateX(6px)}
  .media{display:flex;flex-direction:column;gap:28px;align-self:center}
  .pimg{
    width:100%;aspect-ratio:4/3;
    display:flex;align-items:flex-end;justify-content:center;
    transition:filter .4s;
  }
  .plate:hover .pimg{filter:brightness(1.07)}
  .pimg span{
    font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(246,245,242,.6);padding-bottom:16px;text-align:center;
  }
  .pimg-uri{background:linear-gradient(165deg,#2B3654,#1D2740 55%,#131A2C)}
  .pimg-nneuw{background:linear-gradient(165deg,#7C4A32,#5D3625 55%,#3F2418)}
  .pimg-ba{background:linear-gradient(165deg,#26304A,#1B2336 55%,#121724)}
  .pimg-p4oc{background:linear-gradient(165deg,#C49B58,#A37E43 55%,#7F6132)}
  .pimg-comm{background:linear-gradient(165deg,#37432F,#283224 55%,#1B221A)}
  .pimg-agmi{background:linear-gradient(165deg,#4C2E3B,#38212C 55%,#251620)}
  .facts{display:flex;flex-direction:column;gap:0;align-self:center}
  .fact{
    padding:14px 0;
    border-bottom:1px solid var(--line-soft);
    display:flex;justify-content:space-between;gap:18px;align-items:baseline;
  }
  .fact:first-child{border-top:1px solid var(--line-soft)}
  .fact .k{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);white-space:nowrap}
  .fact .v{font-size:12.5px;font-weight:500;text-align:right;letter-spacing:.02em}

  /* ============ PROFILE ============ */
  .profile{border-bottom:1px solid var(--line)}
  .profile-inner{
    max-width:var(--max);margin:0 auto;
    display:grid;grid-template-columns:1fr 1.1fr;
  }
  @media(max-width:920px){.profile-inner{grid-template-columns:1fr}}
  .profile-photo{
    border-right:1px solid var(--line);
    padding:clamp(44px,7vh,84px) var(--pad);
    display:flex;align-items:center;justify-content:center;
  }
  @media(max-width:920px){.profile-photo{border-right:none;border-bottom:1px solid var(--line)}}
  .frame{
    width:100%;max-width:460px;aspect-ratio:3/4;
    background:linear-gradient(170deg,#E4E1DA,#D2CDC2 60%,#C2BAA9);
    display:flex;align-items:flex-end;justify-content:center;
  }
  .frame span{
    font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(12,12,11,.4);padding-bottom:26px;
  }
  .profile-copy{
    padding:clamp(60px,9vh,104px) var(--pad);
    display:flex;flex-direction:column;justify-content:center;
  }
  .profile-copy .tag{display:block;margin-bottom:26px}
  .profile-copy h2{
    font-weight:600;
    font-size:clamp(28px,3.4vw,46px);
    line-height:1.08;letter-spacing:-.03em;
    margin-bottom:28px;
  }
  .profile-copy h2 em.acc{color:var(--champagne)}
  .profile-copy p{
    font-size:14px;line-height:1.95;color:var(--grey);
    margin-bottom:18px;max-width:54ch;
  }
  .profile-copy p strong{font-weight:600;color:var(--noir)}
  .profile-roles{
    margin-top:30px;display:flex;flex-wrap:wrap;gap:10px;
  }
  .chip{
    font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    border:1px solid var(--line);
    padding:9px 16px;border-radius:100px;
    transition:background .25s,color .25s,border-color .25s;
  }
  .chip:hover{background:var(--noir);color:var(--paper);border-color:var(--noir)}

  /* ============ CHAPEL ============ */
  .chapel{
    background:
      radial-gradient(ellipse 70% 55% at 50% 0%, rgba(179,40,45,.18), transparent 70%),
      radial-gradient(ellipse 50% 45% at 85% 100%, rgba(43,54,84,.45), transparent 70%),
      var(--noir);
    color:var(--paper);
    padding:clamp(120px,17vh,200px) var(--pad);
    text-align:center;
  }
  .chapel .tag{color:var(--champagne);display:block;margin-bottom:42px}
  .chapel blockquote{
    font-weight:500;
    font-size:clamp(28px,4.6vw,62px);
    line-height:1.18;letter-spacing:-.03em;
    max-width:21ch;margin:0 auto;
  }
  .chapel blockquote em.acc{color:var(--champagne);font-size:1.05em}
  .chapel-sub{
    max-width:540px;margin:44px auto 0;
    font-size:13.5px;line-height:2;color:rgba(246,245,242,.5);
  }
  .chapel-topics{
    margin:40px auto 0;max-width:860px;
    display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;
  }
  .chapel-topics span{
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(246,245,242,.78);
  }
  .chapel-topics i{font-style:normal;color:var(--champagne);font-size:8px;align-self:center}
  .btn-inv{
    display:inline-block;margin-top:50px;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:var(--paper);border:1px solid var(--line-inv);
    padding:17px 40px;border-radius:100px;
    transition:background .3s,color .3s,border-color .3s;
  }
  .btn-inv:hover{background:var(--paper);color:var(--noir);border-color:var(--paper)}

  /* ============ LIBRARY ============ */
  .library{border-bottom:1px solid var(--line)}
  .library-head{
    max-width:var(--max);margin:0 auto;
    padding:clamp(76px,10vh,120px) var(--pad) clamp(40px,5vh,60px);
    display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;
  }
  .library-head h2{
    font-weight:700;
    font-size:clamp(42px,7.5vw,110px);
    line-height:.95;letter-spacing:-.045em;text-transform:uppercase;
  }
  .library-head p{max-width:300px;font-size:13.5px;line-height:1.85;color:var(--grey)}
  .shelf{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}
  @media(max-width:1000px){.shelf{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:560px){.shelf{grid-template-columns:repeat(2,1fr)}}
  .vol{
    aspect-ratio:3/4.3;
    border-right:1px solid var(--line);
    padding:22px 20px;
    display:flex;flex-direction:column;justify-content:space-between;
    transition:background .3s;
  }
  .vol:last-child{border-right:none}
  @media(max-width:1000px){.vol:nth-child(3n){border-right:none}.vol{border-bottom:1px solid var(--line)}}
  .vol{transition:filter .35s, transform .35s}
  .vol:hover{filter:brightness(1.08);transform:translateY(-4px)}
  .vol .idx{color:rgba(246,245,242,.65)}
  .vol .vt{font-weight:500;font-size:clamp(14px,1.5vw,18px);line-height:1.35;letter-spacing:-.01em;color:#F6F5F2}
  .vol .va{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,245,242,.55);margin-top:10px}
  .vol-1{background:linear-gradient(170deg,#2B3654,#161E33)}
  .vol-2{background:linear-gradient(170deg,#7C4A32,#46291B)}
  .vol-3{background:linear-gradient(170deg,#B68A4C,#7C5C2E)}
  .vol-4{background:linear-gradient(170deg,#37432F,#1D241A)}
  .vol-5{background:linear-gradient(170deg,#4C2E3B,#291823)}
  .vol-6{background:linear-gradient(170deg,#3A3F4C,#1E222B)}

  /* ============ MENTORSHIP ============ */
  .atelier{border-bottom:1px solid var(--line);background:#F0E4DC}
  .atelier-inner{
    max-width:var(--max);margin:0 auto;
    padding:clamp(86px,12vh,150px) var(--pad);
    display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,110px);
  }
  @media(max-width:920px){.atelier-inner{grid-template-columns:1fr}}
  .atelier .tag{display:block;margin-bottom:24px;color:var(--champagne)}
  .atelier h2{
    font-weight:600;
    font-size:clamp(34px,5vw,72px);
    line-height:1;letter-spacing:-.04em;margin-bottom:28px;
  }
  .atelier h2 em.acc{color:var(--champagne)}
  .atelier h2.ment-title{
    font-weight:800;
    letter-spacing:-.045em;
    font-size:clamp(36px,5.4vw,78px);
    line-height:.98;
    margin-bottom:22px;
  }
  .ment-line{
    font-family:var(--serif);font-style:normal;
    font-size:clamp(17px,1.9vw,23px);
    color:var(--noir);
    margin-bottom:24px;
  }
  .ment-side{align-self:center;display:flex;flex-direction:column;gap:34px}
  .ment-frame{
    width:100%;aspect-ratio:4/3;
    background:linear-gradient(170deg,#E0DBCF,#CFC8B8 60%,#BDB29C);
    display:flex;align-items:flex-end;justify-content:center;
  }
  .ment-frame span{
    font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(12,12,11,.4);padding-bottom:20px;
  }
  .ment-side .offers{align-self:stretch}
  .atelier-compact{align-items:center}
  .atelier-compact .ment-frame{aspect-ratio:4/3}
  .atelier p{font-size:14px;line-height:1.95;color:var(--grey);max-width:50ch;margin-bottom:16px}
  .waitlist{
    display:inline-block;margin-top:26px;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--noir);color:var(--paper);
    padding:18px 42px;border-radius:100px;
    transition:background .3s;
  }
  .waitlist:hover{background:var(--champagne)}
  .portal-link{
    display:inline-block;margin:26px 0 0 22px;
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:var(--grey);border-bottom:1px solid var(--line);padding-bottom:4px;
    transition:color .25s,border-color .25s;
  }
  .portal-link:hover{color:var(--noir);border-color:var(--noir)}
  .care{
    margin-top:34px;max-width:46ch;
    font-size:11px;line-height:1.8;letter-spacing:.03em;
    color:var(--grey);font-style:italic;
  }
  @media(max-width:560px){.portal-link{margin-left:0;display:block;width:fit-content}}
  .offers{align-self:center;border-top:1px solid var(--line)}
  .offer{
    padding:26px 0;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:baseline;
  }
  .offer .on{font-weight:600;font-size:clamp(16px,1.8vw,21px);letter-spacing:-.02em}
  .offer .od{font-size:11.5px;line-height:1.7;color:var(--grey);text-align:right;max-width:230px;letter-spacing:.03em}

  /* ============ INVITE ============ */
  .invite{padding:clamp(120px,17vh,210px) var(--pad);text-align:center}
  .invite .tag{display:block;margin-bottom:32px}
  .invite h2{
    font-weight:700;
    font-size:clamp(40px,9vw,140px);
    line-height:.95;letter-spacing:-.05em;text-transform:uppercase;
    margin-bottom:44px;
  }
  .invite h2 em.acc{text-transform:none;font-weight:400;font-size:.9em;color:var(--champagne);letter-spacing:-.01em}
  .btn-give{
    display:inline-block;
    font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--noir);color:var(--paper);
    padding:21px 52px;border-radius:100px;
    transition:background .3s,transform .25s;
  }
  .btn-give:hover{background:var(--champagne);transform:translateY(-2px)}
  .invite-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .btn-give-line{
    display:inline-block;
    font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:var(--noir);border:1px solid var(--noir);
    padding:20px 52px;border-radius:100px;
    transition:background .3s,color .3s,transform .25s;
  }
  .btn-give-line:hover{background:var(--noir);color:var(--paper);transform:translateY(-2px)}
  .invite-routes{margin-top:60px;display:flex;justify-content:center;gap:clamp(20px,4.5vw,64px);flex-wrap:wrap}
  .invite-routes a{
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:var(--grey);transition:color .25s;
  }
  .invite-routes a:hover{color:var(--noir)}

  /* ============ ASSIGNMENT MAP ============ */
  .assignment{border-bottom:1px solid var(--line);background:#F0E4DC}
  .assignment-inner{max-width:var(--max);margin:0 auto;padding:clamp(86px,12vh,150px) var(--pad)}
  .assign-head{max-width:760px;margin-bottom:clamp(50px,7vh,80px)}
  .assign-head .tag{display:block;margin-bottom:20px}
  .assign-head h2{font-weight:700;font-size:clamp(34px,5.4vw,76px);line-height:1.06;letter-spacing:-.04em}
  .assign-head h2 em.acc{font-weight:400}
  .assign-head p{margin-top:22px;font-size:14.5px;line-height:1.9;color:var(--grey);max-width:60ch}
  .map{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
  .map-crown{display:flex;flex-direction:column;align-items:center;gap:14px}
  .map-center{
    display:inline-block;
    font-weight:700;font-size:clamp(18px,2.4vw,30px);letter-spacing:-.02em;
    background:var(--noir);color:var(--paper);
    padding:16px 36px;border-radius:100px;
  }
  .map-role{display:block;font-family:var(--serif);font-style:normal;font-size:clamp(14px,1.6vw,18px);color:var(--champagne);max-width:30ch}
  .map-spine{display:block;width:1px;height:40px;background:var(--noir);opacity:.22;margin:10px 0}
  .map-branches,.map-lower{display:grid;gap:14px;width:100%}
  .map-branches{grid-template-columns:repeat(4,1fr)}
  .map-lower{grid-template-columns:repeat(2,1fr)}
  @media(max-width:760px){.map-branches{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.map-branches,.map-lower{grid-template-columns:1fr}}
  .map-node{
    display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;
    background:#F6F5F2;border:1px solid var(--line);
    padding:26px 20px;min-height:104px;text-align:center;
    transition:background .3s,transform .3s,border-color .3s;
  }
  a.map-node:hover{background:#fff;transform:translateY(-3px);border-color:var(--champagne)}
  .mn-k{display:block;font-weight:600;font-size:clamp(15px,1.7vw,20px);letter-spacing:-.015em;line-height:1.2}
  .mn-d{display:block;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);line-height:1.4}

  /* ============ THE WORK / IMPACT ============ */
  .work{border-bottom:1px solid var(--line)}
  .work-head{max-width:var(--max);margin:0 auto;padding:clamp(76px,10vh,120px) var(--pad) clamp(36px,5vh,56px)}
  .work-head .tag{display:block;margin-bottom:18px}
  .work-head h2{font-weight:700;font-size:clamp(34px,5.4vw,76px);line-height:1.04;letter-spacing:-.04em}
  .work-head h2 em.acc{font-weight:400}
  .work-head p{margin-top:18px;font-size:14px;color:var(--grey);max-width:50ch}
  .work-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
  @media(max-width:900px){.work-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.work-grid{grid-template-columns:1fr}}
  .work-col{padding:clamp(34px,4vw,48px) clamp(22px,2.4vw,34px);border-right:1px solid var(--line)}
  .work-col:last-child{border-right:none}
  @media(max-width:900px){.work-col:nth-child(2n){border-right:none}.work-col{border-bottom:1px solid var(--line)}}
  .wc-name{display:block;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);margin-bottom:26px}
  .stat{padding:16px 0;border-top:1px solid var(--line-soft)}
  .stat:first-of-type{border-top:none}
  .stat-n{display:block;font-weight:600;font-size:clamp(20px,2.2vw,28px);letter-spacing:-.02em;line-height:1.1}
  .stat-l{display:block;font-size:11px;letter-spacing:.04em;color:var(--grey);margin-top:6px;line-height:1.5}
  .work-note{max-width:var(--max);margin:0 auto;padding:24px var(--pad) clamp(50px,6vh,70px);font-size:11px;font-style:italic;color:var(--grey);letter-spacing:.02em}

  /* ============ CURRENT FOCUS ============ */
  .focus{border-bottom:1px solid var(--line);background:var(--noir);color:var(--paper)}
  .focus-head{max-width:var(--max);margin:0 auto;padding:clamp(76px,10vh,120px) var(--pad) clamp(36px,5vh,54px)}
  .focus-head .tag{display:block;margin-bottom:18px;color:var(--champagne)}
  .focus-head h2{font-weight:700;font-size:clamp(34px,5.4vw,76px);line-height:1.04;letter-spacing:-.04em}
  .focus-head h2 em.acc{font-weight:400;color:var(--champagne)}
  .focus-board{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(70px,9vh,110px)}
  .fb-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-top:1px solid var(--line-inv);transition:padding-left .25s}
  .fb-row:last-child{border-bottom:1px solid var(--line-inv)}
  .fb-row:hover{padding-left:10px}
  .fb-name{font-weight:500;font-size:clamp(17px,2.2vw,28px);letter-spacing:-.02em}
  .fb-status{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,245,242,.7)}
  .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
  .dot-live{background:#7FA87F;animation:pulse 2.4s infinite}
  .dot-gold{background:var(--champagne)}
  .dot-quiet{background:rgba(246,245,242,.4)}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(127,168,127,.5)}70%{box-shadow:0 0 0 7px rgba(127,168,127,0)}100%{box-shadow:0 0 0 0 rgba(127,168,127,0)}}
  @media (prefers-reduced-motion: reduce){.dot-live{animation:none}}

  /* mobile menu + center node */
  .map-center{display:inline-block;font-weight:700;font-size:clamp(18px,2.4vw,30px);letter-spacing:-.02em;background:var(--noir);color:var(--paper);padding:16px 36px;border-radius:100px;min-height:0;border:none}
  .mobile-menu a{font-weight:600;font-size:clamp(26px,7vw,44px);letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line-inv);transition:color .25s,padding-left .25s}
  /* ===== SPEAKING STYLES ===== */

  a:focus-visible,button:focus-visible{outline:1.5px solid var(--champagne);outline-offset:4px}
  .nav-links{display:flex;gap:34px}
  .nav-links a{
    font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
    position:relative;padding-bottom:3px;
  }
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .35s cubic-bezier(.22,1,.36,1)}
  .nav-links a:hover::after{width:100%}
  .s-hero{
    min-height:78svh;
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:140px var(--pad) clamp(40px,6vh,72px);
    border-bottom:1px solid var(--line);
    background:
      radial-gradient(ellipse 60% 50% at 12% 18%, rgba(179,40,45,.12), transparent 70%),
      radial-gradient(ellipse 50% 45% at 92% 90%, rgba(43,54,84,.10), transparent 70%);
  }
  .s-hero .tag{display:block;margin-bottom:24px}
  .s-hero h1{
    font-weight:700;
    font-size:clamp(50px,10vw,150px);
    line-height:.92;letter-spacing:-.045em;text-transform:uppercase;
  }
  .s-hero h1 em.acc{
    display:block;text-transform:none;font-weight:400;
    font-size:.34em;letter-spacing:-.01em;color:var(--champagne);margin-top:18px;
  }
  .s-hero .lede{max-width:560px;margin-top:34px;font-size:15px;line-height:1.9;color:var(--grey)}
  .s-hero .actions{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
  .btn-solid{
    display:inline-block;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--noir);color:var(--paper);
    padding:19px 46px;border-radius:100px;
    transition:background .3s,transform .25s;
  }
  .btn-solid:hover{background:var(--champagne);transform:translateY(-2px)}
  .btn-line{
    display:inline-block;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:var(--noir);border:1px solid var(--noir);
    padding:18px 46px;border-radius:100px;
    transition:background .3s,color .3s,transform .25s;
  }
  .btn-line:hover{background:var(--noir);color:var(--paper);transform:translateY(-2px)}

  .s-intro{padding:clamp(90px,13vh,160px) var(--pad);border-bottom:1px solid var(--line)}
  .s-intro-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:40px}
  @media(max-width:880px){.s-intro-grid{grid-template-columns:1fr;gap:22px}}
  .s-intro h2{font-weight:500;font-size:clamp(26px,3.8vw,50px);line-height:1.22;letter-spacing:-.02em;max-width:24ch}
  .s-intro h2 em.acc{color:var(--champagne)}

  .s-ind{border-bottom:1px solid var(--line)}
  .s-ind-head{
    max-width:var(--max);margin:0 auto;
    padding:clamp(76px,10vh,120px) var(--pad) clamp(40px,5vh,60px);
    display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;
  }
  .s-ind-head h2{font-weight:700;font-size:clamp(40px,7vw,100px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}
  .s-ind-head p{max-width:340px;font-size:13.5px;line-height:1.85;color:var(--grey)}
  .s-rows{border-top:1px solid var(--line)}
  .s-row{
    max-width:var(--max);margin:0 auto;
    padding:clamp(34px,5vh,56px) var(--pad);
    display:grid;grid-template-columns:90px 1fr 1.2fr;gap:clamp(20px,4vw,64px);align-items:baseline;
    border-bottom:1px solid var(--line);
    transition:background .3s;
  }
  .s-row:hover{background:#EFEEE9}
  .s-row h3{font-weight:600;font-size:clamp(24px,3.2vw,44px);line-height:1.05;letter-spacing:-.03em}
  .s-row h3 em.acc{color:var(--champagne);font-size:.9em}
  .s-row p{font-size:14px;line-height:1.85;color:var(--grey);max-width:48ch}
  @media(max-width:880px){.s-row{grid-template-columns:1fr;gap:14px}}

  .s-cta{
    padding:clamp(110px,16vh,200px) var(--pad);
    text-align:center;
    background:
      radial-gradient(ellipse 70% 55% at 50% 0%, rgba(179,40,45,.18), transparent 70%),
      radial-gradient(ellipse 50% 45% at 85% 100%, rgba(43,54,84,.45), transparent 70%),
      var(--noir);
    color:var(--paper);
  }
  .s-cta .tag{color:var(--champagne);display:block;margin-bottom:30px}
  .s-cta h2{font-weight:700;font-size:clamp(40px,7vw,104px);line-height:.98;letter-spacing:-.045em;text-transform:uppercase;margin-bottom:30px}
  .s-cta h2 em.acc{text-transform:none;font-weight:400;color:var(--champagne)}
  .s-cta p{max-width:520px;margin:0 auto 44px;font-size:14px;line-height:1.95;color:rgba(246,245,242,.55)}
  .btn-inv{
    display:inline-block;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--paper);color:var(--noir);
    padding:20px 54px;border-radius:100px;
    transition:background .3s,transform .25s;
  }
  .btn-inv:hover{background:var(--champagne);color:var(--noir);transform:translateY(-2px)}

  /* mobile menu */
  /* ===== MENTORSHIP STYLES ===== */

  :root{
    --paper:#F6F5F2;
    --noir:#0C0C0B;
    --grey:#7E7B74;
    --champagne:#B3282D;
    --line:rgba(12,12,11,.12);
    --line-soft:rgba(12,12,11,.07);
    --line-inv:rgba(246,245,242,.16);
    --sans:'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
    --serif:'La Belle Aurore', cursive; /* Northwell is licensed: builder must purchase and load via @font-face; Mr Dafoe is the preview stand-in only */
    --pad:clamp(20px, 4.5vw, 64px);
    --max:1520px;
  }
  :where(.proto-view,.proto-view *){margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  ::selection{background:var(--noir);color:var(--paper)}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
  }
  body.proto-page{
    background:var(--paper);color:var(--noir);
    font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.65;letter-spacing:.005em;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible,input:focus-visible{outline:1.5px solid var(--champagne);outline-offset:4px}
  button{font-family:var(--sans);cursor:pointer}
  .tag{font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--grey)}
  .idx{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--grey);font-variant-numeric:tabular-nums}
  em.acc{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:0}

  /* ============ NAV ============ */

  .wordmark{font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
  .nav-links{display:flex;gap:34px;align-items:center}
  .nav-links a, .nav-links button{
    font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
    position:relative;padding-bottom:3px;background:none;border:none;color:inherit;
  }
  .nav-links a::after, .nav-links button::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:currentColor;transition:width .35s cubic-bezier(.22,1,.36,1);
  }
  .nav-links a:hover::after, .nav-links button:hover::after{width:100%}
  #signout{display:none}
  @media(max-width:760px){.nav-links a.hide-m{display:none}}

  /* ============ LOGIN GATE ============ */
  .gate{
    min-height:100svh;
    display:grid;grid-template-columns:1.1fr 1fr;
  }
  @media(max-width:920px){.gate{grid-template-columns:1fr}}
  .gate-brand{
    border-right:1px solid var(--line);
    padding:120px var(--pad) clamp(36px,6vh,64px);
    display:flex;flex-direction:column;justify-content:flex-end;
    position:relative;overflow:hidden;
  }
  @media(max-width:920px){.gate-brand{border-right:none;border-bottom:1px solid var(--line);min-height:46svh}}
  .gate-brand .tag{display:block;margin-bottom:26px}
  .gate-brand h1{
    font-weight:700;
    font-size:clamp(44px,7.2vw,116px);
    line-height:.93;letter-spacing:-.045em;text-transform:uppercase;
  }
  .gate-brand h1 em.acc{
    display:block;text-transform:none;font-weight:400;
    font-size:.5em;letter-spacing:-.01em;color:var(--champagne);
    margin-top:14px;
  }
  .gate-brand .sub{
    max-width:420px;margin-top:30px;
    font-size:13.5px;line-height:1.9;color:var(--grey);
  }
  .gate-form{
    padding:120px var(--pad) clamp(36px,6vh,64px);
    display:flex;flex-direction:column;justify-content:center;
  }
  .gate-form .inner{max-width:380px;width:100%;margin:0 auto}
  .gate-form .tag{display:block;margin-bottom:34px}
  .field{margin-bottom:26px}
  .field label{
    display:block;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:var(--grey);margin-bottom:10px;
  }
  .field input{
    width:100%;
    background:transparent;
    border:none;border-bottom:1px solid var(--line);
    padding:10px 0 12px;
    font-family:var(--sans);font-size:15px;letter-spacing:.01em;color:var(--noir);
    border-radius:0;
    transition:border-color .25s;
  }
  .field input::placeholder{color:#B8B4AB}
  .field input:focus{outline:none;border-color:var(--noir)}
  .gate-actions{margin-top:38px}
  .btn-solid{
    display:inline-block;width:100%;text-align:center;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--noir);color:var(--paper);
    border:none;padding:19px 42px;border-radius:100px;
    transition:background .3s;
  }
  .btn-solid:hover{background:var(--champagne)}
  .gate-note{
    margin-top:26px;text-align:center;
    font-size:11.5px;letter-spacing:.04em;color:var(--grey);
  }
  .gate-note a{
    font-weight:600;color:var(--noir);
    border-bottom:1px solid var(--line);padding-bottom:2px;
    transition:color .25s,border-color .25s;
  }
  .gate-note a:hover{color:var(--champagne);border-color:var(--champagne)}
  .gate-error{
    display:none;
    font-size:11.5px;letter-spacing:.04em;color:#8C3B2A;margin-top:18px;
  }

  /* ============ ENROLLMENT ============ */
  .enroll{display:none;min-height:100svh;padding:150px var(--pad) clamp(50px,8vh,90px)}
  .enroll-inner{max-width:880px;margin:0 auto}
  .enroll .tag{display:block;margin-bottom:22px}
  .enroll h1{
    font-weight:700;
    font-size:clamp(38px,6vw,86px);
    line-height:.95;letter-spacing:-.045em;text-transform:uppercase;
  }
  .enroll h1 em.acc{text-transform:none;font-weight:400;font-size:.9em;color:var(--champagne)}
  .enroll-sub{margin:24px 0 46px;font-size:14px;line-height:1.9;color:var(--grey);max-width:48ch}
  .paths{display:flex;flex-direction:column;border-top:1px solid var(--line)}
  .path{
    display:grid;
    grid-template-columns:54px 220px 1fr auto auto;
    gap:clamp(14px,2.5vw,36px);
    align-items:center;
    text-align:left;
    padding:26px 0;
    background:none;border:none;border-bottom:1px solid var(--line);
    font-family:var(--sans);color:var(--noir);
    cursor:pointer;
    transition:background .25s,padding-left .25s;
  }
  .path:hover{background:#EFEEE9;padding-left:12px}
  .path.sel{background:#EFEAE0;padding-left:12px}
  .path-name{font-weight:600;font-size:clamp(15px,1.8vw,20px);letter-spacing:-.015em}
  .path-desc{font-size:12px;line-height:1.75;color:var(--grey);max-width:44ch}
  .path-price{font-size:13px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
  .path-price em{display:block;font-family:var(--serif);font-style:normal;font-weight:400;font-size:11px;color:var(--champagne)}
  .path-pick{
    font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    border:1px solid var(--line);border-radius:100px;padding:9px 20px;
    transition:background .25s,color .25s,border-color .25s;
    white-space:nowrap;
  }
  .path:hover .path-pick{border-color:var(--noir)}
  .path.sel .path-pick{background:var(--noir);color:var(--paper);border-color:var(--noir)}
  @media(max-width:880px){
    .path{grid-template-columns:40px 1fr auto;grid-template-rows:auto auto}
    .path-desc{grid-column:2/4}
  }
  .enroll-pay{margin-top:44px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
  .pay-summary{font-size:13px;letter-spacing:.03em;color:var(--grey)}
  .pay-btn{width:auto;margin:0;padding:19px 48px}
  .pay-btn:disabled{opacity:.35;cursor:not-allowed}

  /* ============ ONBOARDING ============ */
  .onboard{border-bottom:1px solid var(--line);background:#F0E4DC}
  .onboard-inner{max-width:var(--max);margin:0 auto;padding:clamp(56px,8vh,90px) var(--pad)}
  .ob-head .tag{display:block;margin-bottom:18px;color:var(--champagne)}
  .ob-head h2{font-weight:700;font-size:clamp(28px,3.8vw,52px);letter-spacing:-.035em;line-height:1}
  .ob-head h2 em.acc{font-weight:400;color:var(--champagne)}
  .ob-head p{margin-top:16px;font-size:13.5px;color:var(--grey)}
  .ob-steps{
    margin-top:42px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line-soft);border:1px solid var(--line-soft);
  }
  @media(max-width:880px){.ob-steps{grid-template-columns:1fr}}
  .ob-step{background:#F0E4DC;padding:30px 28px}
  .ob-step .idx{color:var(--champagne)}
  .ob-step h3{font-weight:600;font-size:clamp(16px,1.8vw,21px);letter-spacing:-.02em;margin:12px 0 10px}
  .ob-step p{font-size:12.5px;line-height:1.8;color:var(--grey)}

  /* ============ PORTAL ============ */
  .portal{display:none}
  .portal-hero{
    padding:150px var(--pad) clamp(40px,6vh,64px);
    border-bottom:1px solid var(--line);
    max-width:var(--max);margin:0 auto;width:100%;
  }
  .portal-hero .tag{display:block;margin-bottom:22px}
  .portal-hero h1{
    font-weight:700;
    font-size:clamp(38px,6.5vw,96px);
    line-height:.95;letter-spacing:-.045em;text-transform:uppercase;
  }
  .portal-hero h1 em.acc{text-transform:none;font-weight:400;font-size:.55em;color:var(--champagne)}
  .portal-meta{
    display:flex;gap:clamp(24px,5vw,72px);flex-wrap:wrap;
    margin-top:34px;padding-top:26px;border-top:1px solid var(--line-soft);
  }
  .pm{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
  .pm b{display:block;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--noir);margin-top:6px;text-transform:none}

  .week{border-bottom:1px solid var(--line)}
  .week-head{
    max-width:var(--max);margin:0 auto;
    padding:clamp(40px,6vh,64px) var(--pad) clamp(20px,3vh,30px);
    display:flex;align-items:baseline;gap:clamp(18px,3vw,40px);
  }
  .week-head h2{
    font-weight:600;
    font-size:clamp(24px,3vw,42px);
    letter-spacing:-.03em;
  }
  .week-head h2 em.acc{color:var(--champagne);font-size:1.02em}
  .week-list{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(40px,6vh,64px)}
  .module{
    display:grid;
    grid-template-columns:64px 1fr auto auto;
    gap:clamp(14px,2.5vw,40px);
    align-items:center;
    padding:20px 0;
    border-top:1px solid var(--line-soft);
    transition:background .25s, padding-left .25s;
  }
  .module:hover{background:#EFEEE9;padding-left:12px}
  .module:last-child{border-bottom:1px solid var(--line-soft)}
  .module .mt{font-weight:500;font-size:clamp(14px,1.6vw,17px);letter-spacing:-.01em}
  .module .md{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);white-space:nowrap}
  .play{
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    font-size:10px;
    transition:background .25s,color .25s,border-color .25s;
  }
  .module:hover .play{background:var(--noir);color:var(--paper);border-color:var(--noir)}
  @media(max-width:640px){
    .module{grid-template-columns:44px 1fr auto}
    .module .md{display:none}
  }

  /* resources strip */
  .resources{
    border-bottom:1px solid var(--line);
    background:#F0E4DC;
  }
  .res-inner{
    max-width:var(--max);margin:0 auto;
    padding:clamp(56px,8vh,90px) var(--pad);
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line-soft);
    border:1px solid var(--line-soft);
  }
  @media(max-width:880px){.res-inner{grid-template-columns:1fr}}
  .res{
    background:#F0E4DC;
    padding:34px 30px;
    display:flex;flex-direction:column;gap:14px;
    transition:background .3s;
  }
  .res:hover{background:#E9E5DA}
  .res .tag{color:var(--champagne)}
  .res h3{font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:-.02em}
  .res p{font-size:12.5px;line-height:1.8;color:var(--grey)}
  .res .more{
    margin-top:auto;
    font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  }
  .res .more::after{content:" \2192"}

  .portal-foot{
    padding:clamp(60px,9vh,100px) var(--pad);
    text-align:center;
  }
  .portal-foot p{
    font-family:var(--serif);font-style:normal;
    font-size:clamp(18px,2.4vw,28px);color:var(--grey);
    max-width:30ch;margin:0 auto;
  }
  .portal-foot .care{
    font-family:var(--sans);font-style:italic;
    font-size:11px;line-height:1.8;letter-spacing:.03em;
    max-width:60ch;margin:34px auto 0;
  }

  footer{
    border-top:1px solid var(--line);
    padding:30px var(--pad);
    display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  }
  footer p{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}

  .rv{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
  .rv.in{opacity:1;transform:none}
  @media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none}}
  /* mobile menu */
  .menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:0}
  .menu-btn span{display:block;width:26px;height:2px;background:currentColor;transition:transform .3s,opacity .3s}
  .menu-btn.open span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-btn.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu{position:fixed;inset:0;z-index:90;background:var(--noir);color:var(--paper);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s}
  .mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-menu a{font-weight:600;font-size:clamp(28px,8vw,46px);letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line-inv);transition:color .25s,padding-left .25s}
  .mobile-menu a:hover{color:var(--champagne);padding-left:10px}
  @media(max-width:920px){.nav-links{display:none}.menu-btn{display:flex}}

  /* ===== PORTAL TABS ===== */
  .portal-tabs{
    position:sticky;top:72px;z-index:40;
    display:flex;gap:8px;flex-wrap:wrap;
    background:rgba(246,245,242,.92);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    padding:14px var(--pad);
    max-width:100%;
  }
  .pt-link{
    font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--grey);padding:8px 16px;border-radius:100px;border:1px solid transparent;
    transition:background .25s,color .25s,border-color .25s;white-space:nowrap;
  }
  .pt-link:hover{color:var(--noir);border-color:var(--line)}
  .pt-active{background:var(--noir);color:var(--paper)}
  .pt-active:hover{color:var(--paper)}

  /* ===== THE BREAKER ROOM ===== */
  .room{border-bottom:1px solid var(--line);background:#F0E4DC}
  .room-inner{max-width:var(--max);margin:0 auto;padding:clamp(60px,8vh,100px) var(--pad)}
  .room-head{max-width:640px;margin-bottom:clamp(36px,5vh,56px)}
  .room-head .tag{display:block;margin-bottom:16px;color:var(--champagne)}
  .room-head h2{font-weight:700;font-size:clamp(28px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
  .room-head h2 em.acc{font-weight:400;color:var(--champagne)}
  .room-head p{margin-top:16px;font-size:14px;line-height:1.85;color:var(--grey)}
  .room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
  @media(max-width:880px){.room-grid{grid-template-columns:1fr}}
  .room-card{background:#F0E4DC;padding:32px 28px;display:flex;flex-direction:column;gap:10px}
  .room-live{background:var(--noir);color:var(--paper)}
  .rc-tag{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne)}
  .rc-title{font-weight:600;font-size:clamp(17px,2vw,22px);letter-spacing:-.02em}
  .rc-meta{font-size:12px;color:var(--grey);line-height:1.6}
  .room-live .rc-meta{color:rgba(246,245,242,.6)}
  .rc-btn{margin-top:14px;align-self:flex-start;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--paper);color:var(--noir);padding:13px 26px;border-radius:100px;transition:background .25s,color .25s}
  .room-live .rc-btn{background:var(--champagne);color:var(--noir)}
  .rc-btn:hover{background:var(--champagne);color:var(--noir)}
  .rc-btn-line{background:none;border:1px solid var(--line);color:var(--noir)}
  .rc-btn-line:hover{background:var(--noir);color:var(--paper);border-color:var(--noir)}

  /* ===== THE CONVERSATION / CHAT ===== */
  .convo{border-bottom:1px solid var(--line)}
  .convo-inner{max-width:920px;margin:0 auto;padding:clamp(60px,8vh,100px) var(--pad)}
  .convo-head{margin-bottom:clamp(30px,4vh,46px)}
  .convo-head .tag{display:block;margin-bottom:16px;color:var(--champagne)}
  .convo-head h2{font-weight:700;font-size:clamp(28px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
  .convo-head h2 em.acc{font-weight:400;color:var(--champagne)}
  .convo-head p{margin-top:16px;font-size:14px;line-height:1.85;color:var(--grey);max-width:60ch}
  .chat{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
  .chat-feed{max-height:440px;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}
  .msg{border-bottom:1px solid var(--line-soft);padding-bottom:18px}
  .msg:last-child{border-bottom:none;padding-bottom:0}
  .msg-top{display:flex;align-items:center;gap:12px;margin-bottom:7px}
  .msg-name{font-weight:600;font-size:13.5px;letter-spacing:-.01em}
  .msg-badge{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--champagne);padding:3px 8px;border-radius:100px}
  .msg-time{font-size:10.5px;letter-spacing:.06em;color:var(--grey);margin-left:auto}
  .msg-body{font-size:14px;line-height:1.7;color:var(--noir)}
  .chat-box{display:flex;gap:0;border-top:1px solid var(--line);background:#fff}
  .chat-box textarea{flex:1;border:none;resize:none;padding:18px 20px;font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--noir);background:transparent;outline:none}
  .chat-box textarea::placeholder{color:#B8B4AB}
  .chat-box button{border:none;background:var(--noir);color:var(--paper);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:0 30px;cursor:pointer;transition:background .25s}
  .chat-box button:hover{background:var(--champagne)}
  .chat-note{margin-top:14px;font-size:11px;font-style:italic;color:var(--grey);letter-spacing:.02em}

  .pt-signout{margin-left:auto;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);background:none;border:1px solid var(--line);border-radius:100px;padding:8px 16px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
  .pt-signout:hover{background:var(--noir);color:var(--paper);border-color:var(--noir)}
  /* ===== VIEW SWITCHING ===== */
  
  

  /* ===== MENTORSHIP PUBLIC SALES PAGE ===== */
  .mp-hero{min-height:82svh;display:flex;align-items:flex-end;padding:150px var(--pad) clamp(50px,7vh,80px);border-bottom:1px solid var(--line);background:radial-gradient(ellipse 60% 50% at 15% 20%,rgba(179,40,45,.12),transparent 70%),radial-gradient(ellipse 50% 45% at 90% 90%,rgba(43,54,84,.10),transparent 70%)}
  .mp-hero-inner{max-width:var(--max);margin:0 auto;width:100%}
  .mp-hero .tag{display:block;margin-bottom:24px}
  .mp-hero h1{font-weight:700;font-size:clamp(52px,11vw,150px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase}
  .mp-line{font-family:var(--serif);font-style:normal;font-size:clamp(18px,2.4vw,30px);color:var(--champagne);margin-top:26px}
  .mp-lede{max-width:560px;margin-top:20px;font-size:15px;line-height:1.9;color:var(--grey)}
  .mp-actions{margin-top:40px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
  .mp-actions-center{justify-content:center}
  .mp-login{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--noir);border-bottom:1px solid var(--noir);padding-bottom:4px;transition:color .25s,border-color .25s}
  .mp-login:hover{color:var(--champagne);border-color:var(--champagne)}
  .mp-login-inv{color:var(--paper);border-color:rgba(246,245,242,.4)}
  .mp-login-inv:hover{color:var(--champagne);border-color:var(--champagne)}
  .mp-sec{padding:clamp(76px,11vh,140px) var(--pad);border-bottom:1px solid var(--line)}
  .mp-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:start}
  @media(max-width:880px){.mp-grid{grid-template-columns:1fr;gap:20px}}
  .mp-sec h2{font-weight:700;font-size:clamp(30px,4.4vw,60px);line-height:1.04;letter-spacing:-.035em;margin-bottom:24px}
  .mp-sec h2 em.acc{font-weight:400;color:var(--champagne)}
  .mp-sec p{font-size:15px;line-height:1.95;color:var(--grey);max-width:60ch;margin-bottom:18px}
  .mp-dark{background:var(--noir);color:var(--paper)}
  .mp-dark p{color:rgba(246,245,242,.62)}
  .idx-inv{color:rgba(246,245,242,.5)!important}
  .mp-head{max-width:var(--max);margin:0 auto clamp(40px,6vh,64px)}
  .mp-head .idx{display:block;margin-bottom:16px}
  .mp-head h2{font-weight:700;font-size:clamp(32px,5vw,72px);line-height:1;letter-spacing:-.04em}
  .mp-head h2 em.acc{font-weight:400;color:var(--champagne)}
  .mp-weeks,.mp-paths{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .mp-paths{grid-template-columns:repeat(3,1fr)}
  @media(max-width:880px){.mp-weeks,.mp-paths{grid-template-columns:1fr}}
  .mp-week,.mp-path{background:var(--paper);padding:36px 30px;display:flex;flex-direction:column;gap:12px}
  .mw-k{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne)}
  .mp-week h3,.mp-path h3{font-weight:600;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.025em}
  .mp-week p,.mp-path p{font-size:13px;line-height:1.8;color:var(--grey)}
  .mp-cta{padding:clamp(110px,16vh,200px) var(--pad);text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(179,40,45,.18),transparent 70%),radial-gradient(ellipse 50% 45% at 85% 100%,rgba(43,54,84,.45),transparent 70%),var(--noir);color:var(--paper)}
  .mp-cta .tag{color:var(--champagne);display:block;margin-bottom:30px}
  .mp-cta h2{font-weight:700;font-size:clamp(36px,6vw,90px);line-height:1;letter-spacing:-.04em;margin-bottom:26px}
  .mp-cta h2 em.acc{font-weight:400;color:var(--champagne)}
  .mp-cta p{max-width:520px;margin:0 auto;font-size:14px;line-height:1.95;color:rgba(246,245,242,.6)}
  .mp-cta .mp-actions{margin-top:42px}

  /* ===== FEATURED WORKBOOK ===== */
  .wb{max-width:var(--max);margin:0 auto clamp(40px,6vh,64px);display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(28px,4vw,60px);border:1px solid var(--line);background:#F0E4DC;padding:clamp(26px,3.4vw,48px);align-items:center}
  @media(max-width:820px){.wb{grid-template-columns:1fr}}
  .wb-cover-img{width:100%;height:auto;display:block;border:1px solid var(--line)}
  .wb-body .tag{display:block;margin-bottom:14px;color:var(--champagne)}
  .wb-body h3{font-weight:700;font-size:clamp(24px,3.2vw,42px);line-height:1.05;letter-spacing:-.03em;margin-bottom:16px}
  .wb-body h3 em.acc{font-weight:400;color:var(--champagne)}
  .wb-body p{font-size:14px;line-height:1.85;color:var(--grey);max-width:56ch}
  .wb-buys{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
  .wb-btn{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--noir);color:var(--paper);padding:15px 28px;border-radius:100px;transition:background .25s,transform .25s}
  .wb-btn:hover{background:var(--champagne);color:var(--noir);transform:translateY(-2px)}
  .wb-btn-line{background:none;border:1px solid var(--noir);color:var(--noir)}
  .wb-btn-line:hover{background:var(--noir);color:var(--paper)}
  .wb-note{margin-top:18px;font-size:11.5px;font-style:italic;color:var(--grey)}

  /* ===== BLOODLINE PAGE EXTRAS ===== */
  .bb-link{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--noir);border-bottom:1px solid var(--champagne);padding-bottom:2px;transition:color .25s}
  .bb-link:hover{color:var(--champagne)}
  .bb-workbook{border-bottom:1px solid var(--line);padding:clamp(70px,10vh,120px) var(--pad)}
  .lib-pointer{max-width:var(--max);margin:0 auto;padding:0 0 clamp(36px,5vh,56px);font-size:13.5px;color:var(--grey)}
  .lib-pointer a{font-weight:600;color:var(--noir);border-bottom:1px solid var(--champagne);padding-bottom:2px;transition:color .25s}
  .lib-pointer a:hover{color:var(--champagne)}

  /* ===== THE ROOMS ===== */
  .rooms-word{
    background:var(--noir);color:var(--paper);
    padding:clamp(100px,14vh,170px) var(--pad);
    text-align:center;border-bottom:1px solid var(--line);
  }
  .rooms-word .tag{color:var(--champagne);display:block;margin-bottom:36px}
  .rooms-word blockquote{
    font-weight:700;font-size:clamp(30px,5vw,66px);
    line-height:1.05;letter-spacing:-.035em;
    max-width:18ch;margin:0 auto 40px;
  }
  .rooms-word blockquote em.acc{font-weight:400;color:var(--champagne)}
  .rooms-word-body{
    max-width:600px;margin:0 auto 22px;
    font-size:14px;line-height:2;color:rgba(246,245,242,.62);
    text-align:left;
  }
  .rooms-row{grid-template-columns:90px 1fr 1.4fr}
  @media(max-width:880px){.rooms-row{grid-template-columns:1fr}}
  .room-price{
    display:block;margin-top:12px;
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:var(--champagne);
  }

  /* NNEUW nested under URI & HUR in the map */
  .mn-sub{
    display:block;margin-top:10px;padding-top:10px;
    border-top:1px solid var(--line-soft);
    font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
    color:var(--champagne);
  }


  /* ================================================================
     REVAMP 2.0 : EDITORIAL NOIR & BLOOD
     Display: Archivo Black. Script: thin pen signature in blood red
     (stand-in for the licensed Margo-style font duo). Labels: mono.
     ================================================================ */
  :root{
    --disp:'Archivo Black', 'Inter Tight', sans-serif;
    --mono:'Space Mono', 'Courier New', monospace;
  }

  /* Display voice: heavy grotesque on every major statement */
  .hero-name h1, .maison-head h2, .library-head h2, .invite h2,
  .s-hero h1, .s-ind-head h2, .s-cta h2, .work-head h2, .focus-head h2,
  .assign-head h2, .atelier h2, .profile-copy h2, .manifesto h2,
  .chapel blockquote, .rooms-word blockquote, .wb-body h3, .plate h3,
  .s-row h3, .s-intro-grid h2, .mp-hero h1, .mp-sec h2{
    font-family:var(--disp);
    font-weight:400;
    letter-spacing:-.015em;
  }
  .hero-name h1{font-size:clamp(46px, 10.8vw, 168px);line-height:.94}
  .maison-head h2, .library-head h2{font-size:clamp(38px,6.6vw,96px)}
  .invite h2{font-size:clamp(36px,7.8vw,120px)}
  .s-hero h1{line-height:.98}

  /* The signature move: thin pen script crossing the caps */
  em.acc, .map-role, .ment-line{
    font-family:var(--serif);
    font-style:normal;
    display:inline-block;
    transform:rotate(-3deg);
    color:var(--champagne);
  }
  em.acc{font-size:1.25em;letter-spacing:0}
  .hero-name h1 .row{align-items:center}
  .hero-name h1 em{
    font-size:.6em;
    position:relative;z-index:2;
    transform:rotate(-5deg) translateY(.08em);
    margin-left:clamp(-70px,-4.5vw,-16px);
  }
  .hero-name h1 .row:last-child em{
    margin-left:0;
    margin-right:clamp(-70px,-4.5vw,-16px);
  }
  .manifesto h2 em.acc{font-size:1.25em}
  .chapel blockquote em.acc, .rooms-word blockquote em.acc{font-size:1.2em}

  /* Utility voice: monospace labels and indexes */
  .tag, .idx, .fact .k, .fb-status, .room-price, .scroll-cue{
    font-family:var(--mono);
    font-weight:700;
  }
  .idx{color:var(--champagne)}
  .ticker span{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.18em}

  /* Highlighter mark */
  .hl{
    background:linear-gradient(180deg, transparent 55%, rgba(179,40,45,.25) 55%);
    color:var(--noir);font-weight:600;
  }

  /* Buttons: editorial rectangles, blood on hover */
  .waitlist, .btn-inv, .wb-btn, .btn-give, .btn-give-line, .btn-solid, .chip{
    border-radius:2px;
  }
  .waitlist:hover, .wb-btn:hover, .btn-give:hover{background:var(--champagne);color:#fff}
  .btn-inv:hover{background:var(--champagne);border-color:var(--champagne);color:#fff}

  /* Focus board: red pulse leads, ink and smoke follow */
  .dot-gold{background:var(--noir)}

  /* ================================================================
     PAGE MOODS : one house, many rooms, one brand
     Home keeps the ivory-and-blood look. Each page wears its own
     variant of the same system.
     ================================================================ */

  /* Script composure in the serious sections: straight, spaced, set with intent */
  .s-hero h1 em{transform:none;margin-top:26px;line-height:1.35;letter-spacing:.01em}
  .s-cta h2 em.acc, .mp-cta h2 em.acc, .rooms-word blockquote em.acc, .chapel blockquote em.acc{transform:none}
  .mp-cta h2 em.acc{display:block;margin-top:16px;font-size:1.1em;line-height:1.25}

  /* THE BLOODLINE BREAKER PAGE: wears the workbook cover. Noir, blood, cream. */
  #view-bloodline{background:var(--noir)}
  #view-bloodline .s-hero .tag, #view-bloodline .s-ind .idx{color:#E25B60}
  #view-bloodline em.acc{color:#E25B60}
  #view-bloodline .s-hero h1, #view-bloodline .s-ind-head h2, #view-bloodline .s-row h3{color:var(--paper)}
  #view-bloodline .s-hero .lede, #view-bloodline .s-ind-head p, #view-bloodline .s-row p{color:rgba(246,245,242,.62)}
  #view-bloodline .btn-line{border-color:rgba(246,245,242,.45);color:var(--paper)}
  #view-bloodline .btn-line:hover{background:var(--paper);color:var(--noir)}
  #view-bloodline .btn-solid{background:var(--champagne);color:#fff}
  #view-bloodline .btn-solid:hover{background:var(--paper);color:var(--noir)}
  #view-bloodline .s-row{border-color:rgba(246,245,242,.14)}
  #view-bloodline .bb-link{color:var(--paper);border-bottom-color:#E25B60}
  #view-bloodline .bb-link:hover{color:#E25B60}
  #view-bloodline .bb-workbook{border-color:rgba(246,245,242,.14)}
  /* The closer becomes a blood band */
  #view-bloodline .s-cta{background:var(--champagne)}
  #view-bloodline .s-cta .tag{color:rgba(255,255,255,.8)}
  #view-bloodline .s-cta h2{color:#fff}
  #view-bloodline .s-cta h2 em.acc{color:var(--noir)}
  #view-bloodline .s-cta p{color:rgba(255,255,255,.85)}
  #view-bloodline .s-cta .btn-inv{background:#fff;border-color:#fff;color:var(--champagne)}
  #view-bloodline .s-cta .btn-inv:hover{background:var(--noir);border-color:var(--noir);color:#fff}

  /* THE ROOMS PAGE: the blush room. Warm, personal, priced with dignity. */
  #view-rooms{background:#F0E4DC}
  #view-rooms .s-row{border-color:rgba(12,12,11,.16)}
  #view-rooms .s-hero .tag{color:var(--champagne)}

  /* SPEAKING PAGE: the outlined voice */
  .outl{color:transparent;-webkit-text-stroke:2.5px var(--noir);paint-order:stroke}
  @media(max-width:700px){.outl{-webkit-text-stroke:1.6px var(--noir)}}

  /* ===== INQUIRY FORM ===== */
  .inq-form{max-width:680px;margin:64px auto 0;text-align:left}
  .inq-tag{display:block;margin-bottom:28px;color:var(--champagne)}
  .inq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  @media(max-width:640px){.inq-grid{grid-template-columns:1fr}}
  .inq-field{display:block;margin-bottom:22px}
  .inq-field span{display:block;font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-bottom:10px}
  .inq-field input,.inq-field select,.inq-field textarea{
    width:100%;background:transparent;border:0;border-bottom:1px solid rgba(12,12,11,.35);
    font-family:'Inter Tight',sans-serif;font-size:15px;color:var(--noir);
    padding:10px 2px;border-radius:0;outline:none;transition:border-color .25s;
  }
  .inq-field input:focus,.inq-field select:focus,.inq-field textarea:focus{border-bottom-color:var(--champagne)}
  .inq-field textarea{resize:vertical;min-height:110px}
  .inq-send{margin-top:8px;cursor:pointer;border:0}
  .inq-done{display:none;margin-top:18px;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne)}

  /* ===== P4OC PAGE MOOD: forest and harvest ===== */
  #view-p4oc .tag, #view-p4oc .idx{color:#4C6B3C}
  #view-p4oc em.acc{color:#4C6B3C}
  #view-p4oc .bb-link{border-bottom-color:#4C6B3C}
  #view-p4oc .btn-solid:hover{background:#4C6B3C;color:#fff}
  #view-p4oc .s-cta .btn-inv:hover{background:transparent;border:1px solid #F6F5F2;color:#F6F5F2}
  .p4oc-facts{margin-top:26px}
  .conf-band{
    background:#2E4023;color:#F6F5F2;text-align:center;
    padding:clamp(90px,13vh,160px) var(--pad);border-bottom:1px solid var(--line);
  }
  .conf-band .tag{color:#B9CD9F;display:block;margin-bottom:26px}
  .conf-band h2{font-family:var(--disp);font-weight:400;font-size:clamp(34px,6vw,86px);line-height:1;letter-spacing:-.015em;margin-bottom:24px}
  .conf-band h2 em.acc{color:#B9CD9F;transform:none}
  .conf-band p{max-width:520px;margin:0 auto 36px;font-size:14px;line-height:1.95;color:rgba(246,245,242,.7)}
  .conf-band .btn-inv{background:#F6F5F2;border-color:#F6F5F2;color:#2E4023}
  .conf-band .btn-inv:hover{background:transparent;color:#F6F5F2}
  #view-p4oc .s-cta{background:#2E4023}
  #view-p4oc .s-cta .tag{color:#B9CD9F}
  #view-p4oc .s-cta h2 em.acc{color:#B9CD9F}

  /* ===== COLOR TURN-UPS PER PAGE (fonts locked) ===== */
  /* Home: Current Focus becomes the noir board */
  .focus{background:var(--noir)}
  .focus .tag{color:#E25B60}
  .focus-head h2{color:var(--paper)}
  .focus-head h2 em.acc{color:#E25B60}
  .fb-row{border-color:rgba(246,245,242,.16)}
  .fb-name{color:var(--paper)}
  .fb-status{color:rgba(246,245,242,.65)}
  /* Bloodline: blood glow over the hero */
  #view-bloodline .s-hero{background:radial-gradient(ellipse 75% 60% at 50% 0%,rgba(179,40,45,.28),transparent 70%)}
  /* Rooms: prices become blood chips, hero deepens */
  #view-rooms .room-price{background:var(--champagne);color:#fff;display:inline-block;padding:8px 14px;margin-top:14px}
  #view-rooms .s-cta{background:var(--noir)}
  /* Speaking: deep navy closing band, navy indexes */
  #view-speaking .idx{color:#33415F}
  #view-speaking .s-cta{background:#232C46}
  #view-speaking .s-cta .tag{color:#8FA2D4}
  #view-speaking .s-cta h2 em.acc{color:#8FA2D4}

  /* ================================================================
     THE ATELIER : the artistry wing. Luxe, multi-palette, editorial.
     ================================================================ */
  .at-hero .swatches{display:flex;gap:0;margin-top:44px;max-width:520px}
  .at-hero .swatches i{height:10px;flex:1;display:block}
  .at-sec{padding:clamp(80px,11vh,150px) var(--pad);border-bottom:1px solid var(--line)}
  .at-inner{max-width:var(--max);margin:0 auto}
  .at-sec .tag{display:block;margin-bottom:22px}
  .at-sec h2{font-family:var(--disp);font-weight:400;font-size:clamp(40px,7vw,104px);line-height:.96;letter-spacing:-.015em;margin-bottom:22px}
  .at-lede{max-width:62ch;font-size:15px;line-height:1.95;margin-bottom:44px}
  .at-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:44px}
  .at-frames-2{grid-template-columns:repeat(2,1fr)}
  @media(max-width:760px){.at-frames,.at-frames-2{grid-template-columns:1fr}}
  .atf{aspect-ratio:4/5;display:flex;align-items:flex-end;padding:18px;border:1px solid rgba(255,255,255,.14)}
  .atf span{font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
  .at-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;margin-bottom:44px}

  /* (01) URI & HUR: noir and ochre gold */
  .at-uri{background:var(--noir);color:var(--paper)}
  .at-uri .tag, .at-uri em.acc, .at-uri .fact .k{color:#C99A3B}
  .at-uri .at-lede{color:rgba(246,245,242,.65)}
  .at-uri .fact .v{color:var(--paper)}
  .atf-a{background:linear-gradient(160deg,#23201B,#0F0E0C)}
  .atf-b{background:linear-gradient(160deg,#2B1D1E,#120D0D)}
  .atf-c{background:linear-gradient(160deg,#2A2418,#131009)}
  .at-btn-gold{background:transparent;border:1px solid #C99A3B;color:#C99A3B}
  .at-btn-gold:hover{background:#C99A3B;border-color:#C99A3B;color:var(--noir)}

  /* (02) NNEUW: leather and saddle */
  .at-nneuw{background:#E7D9C4;color:var(--noir)}
  .at-nneuw .tag, .at-nneuw em.acc, .at-nneuw .fact .k{color:#8A5A33}
  .at-nneuw .at-lede{color:#54452F}
  .at-nneuw .atf{border-color:rgba(12,12,11,.2)}
  .at-nneuw .atf span{opacity:.6}
  .atf-d{background:linear-gradient(160deg,#D9C4A5,#BFa27C)}
  .atf-e{background:linear-gradient(160deg,#CBB38E,#A98C64)}
  .at-btn-saddle{background:transparent;border:1px solid #8A5A33;color:#8A5A33}
  .at-btn-saddle:hover{background:#8A5A33;border-color:#8A5A33;color:#fff}

  /* (03) Brand & Art: the blueprint */
  .at-kba{
    background:
      repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 44px),
      repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 44px),
      #20304F;
    color:#F6F5F2;
  }
  .at-kba .tag, .at-kba em.acc, .at-kba .fact .k{color:#8FA2D4}
  .at-kba .at-lede{color:rgba(246,245,242,.7)}
  .at-kba .fact .v{color:#F6F5F2}
  .kba-movements{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:44px;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
  .kba-movements i{color:#8FA2D4;font-style:normal}
  .at-btn-blue{background:transparent;border:1px solid #8FA2D4;color:#F6F5F2}
  .at-btn-blue:hover{background:#8FA2D4;border-color:#8FA2D4;color:#20304F}

  /* Closer: plum */
  .at-close{background:#3A2238}
  .at-close .tag{color:#C99AC4}
  .at-close h2 em.acc{color:#C99AC4}
  .at-close-actions{justify-content:center}
  .at-close .btn-inv{background:#F6F5F2;border-color:#F6F5F2;color:#3A2238}
  .at-close .btn-inv:hover{background:transparent;color:#F6F5F2;border:1px solid #F6F5F2}

  /* Creative Director section: ivory, blood, the portrait */
  .at-cd{background:var(--paper)}
  .at-cd-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(32px,5vw,80px);align-items:center}
  @media(max-width:860px){.at-cd-grid{grid-template-columns:1fr}}
  .at-cd .atf-cd{aspect-ratio:3/4;background:linear-gradient(165deg,#E4DCCE,#CBBFA9);border-color:rgba(12,12,11,.18)}
  .at-cd .atf-cd span{opacity:.55}
  .at-cd .tag, .at-cd em.acc, .at-cd .fact .k{color:var(--champagne)}
  .at-cd .at-lede{color:var(--grey)}
  /* Closer buttons: proper row */
  .at-close-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:10px}

  /* (03) The Artist: plum and lavender */
  .at-artist{background:#3A2238;color:#F6F5F2}
  .at-artist .tag, .at-artist em.acc, .at-artist .fact .k{color:#C99AC4}
  .at-artist .at-lede{color:rgba(246,245,242,.72)}
  .at-artist .fact .v{color:#F6F5F2}
  .at-artist .atf{border-color:rgba(246,245,242,.18)}
  .atf-f{background:linear-gradient(160deg,#4A2E47,#2A1728)}
  .atf-g{background:linear-gradient(160deg,#53304C,#241323)}

  /* ===== BRAND BUILD APPLICATION PAGE: noir, blueprint accents ===== */
  #view-brandbuild{background:var(--noir)}
  .app-hero .tag{color:#8FA2D4}
  .app-hero h1{color:var(--paper)}
  .app-red{color:#E25B60}
  .app-hero h1 em{color:#8FA2D4}
  .app-hero .lede{color:rgba(246,245,242,.65)}
  .app-note{font-size:12.5px;color:rgba(246,245,242,.5);margin-top:18px}
  .app-note a{color:#8FA2D4;border-bottom:1px solid rgba(143,162,212,.5)}
  .app-form-wrap{padding:0 var(--pad) clamp(90px,12vh,150px)}
  .app-form{max-width:720px;margin:0 auto}
  .app-div{display:flex;align-items:center;gap:18px;margin:56px 0 30px}
  .app-div span{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#8FA2D4;white-space:nowrap}
  .app-div::after{content:'';height:1px;flex:1;background:rgba(246,245,242,.18)}
  #view-brandbuild .inq-field span{color:rgba(246,245,242,.55)}
  #view-brandbuild .inq-field input,#view-brandbuild .inq-field select,#view-brandbuild .inq-field textarea{
    color:var(--paper);border-bottom-color:rgba(246,245,242,.35);
  }
  #view-brandbuild .inq-field select option{color:var(--noir)}
  #view-brandbuild .inq-field input:focus,#view-brandbuild .inq-field select:focus,#view-brandbuild .inq-field textarea:focus{border-bottom-color:#8FA2D4}
  .app-send{margin-top:16px;cursor:pointer;border:0}
  .app-note-end{margin-top:26px}
  #view-brandbuild .inq-done{color:#8FA2D4}
  .room-clarify{margin-top:14px;font-size:13px;line-height:1.9;color:var(--grey)}
  .at-kba-actions{display:flex;gap:14px;flex-wrap:wrap}

  /* ===== NAV 2.0: wordmark + gradient APPLY + menu, every breakpoint ===== */
  .nav-links{display:none}
  .menu-btn{display:flex}
  .nav-apply{
    position:fixed;top:19px;right:calc(var(--pad) + 54px);z-index:101;
    background:linear-gradient(100deg,#C99A3B 0%,#B3282D 48%,#3A2238 100%);
    color:#fff;font-family:var(--mono);font-weight:700;
    font-size:10px;letter-spacing:.24em;text-transform:uppercase;
    padding:13px 26px;border-radius:2px;
    transition:filter .3s,transform .25s;
  }
  .nav-apply:hover{filter:brightness(1.18);transform:translateY(-1px)}
  .menu-apply{
    display:inline-block;margin-top:34px;
    background:linear-gradient(100deg,#C99A3B 0%,#B3282D 48%,#3A2238 100%);
    color:#fff !important;font-family:var(--mono);font-weight:700;
    font-size:11px !important;letter-spacing:.24em;text-transform:uppercase;
    padding:16px 30px;border-radius:2px;
  }
  .app-diff{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:760px;margin-top:34px}
  @media(max-width:700px){.app-diff{grid-template-columns:1fr}}
  .app-diff .fact .k{color:#8FA2D4}
  .app-diff .fact .v{color:rgba(246,245,242,.8)}

  .rooms-arrow{
    display:inline-block;margin-top:44px;
    font-size:30px;line-height:1;color:var(--champagne);
    transition:transform .3s;
  }
  .rooms-arrow:hover{transform:translateY(6px)}

  /* ===== THE BOOKSHOP ===== */
  .shop-feat{padding:0 var(--pad) clamp(50px,7vh,80px)}
  .shop-wrap .s-ind-head h2{margin-bottom:14px}
  .shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(22px,3vw,44px);max-width:var(--max);margin:0 auto}
  .shop-card h3{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:16.5px;letter-spacing:-.01em;margin:12px 0 10px}
  .shop-cover{aspect-ratio:3/4;display:flex;align-items:flex-end;padding:16px;border:1px solid var(--line);margin-bottom:14px}
  .shop-cover span{font-family:var(--mono);font-weight:700;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(12,12,11,.45)}
  .sc-a{background:linear-gradient(165deg,#191512,#0D0B0A)}
  .sc-a span{color:rgba(246,245,242,.55)}
  .sc-b{background:linear-gradient(165deg,#E4DCCE,#CBBFA9)}
  .sc-c{background:linear-gradient(165deg,#DCCFC5,#B99F92)}
  .sc-d{background:linear-gradient(165deg,#D8D3C6,#ABA492)}
  .sc-e{background:linear-gradient(165deg,#E2D3D0,#BE9E99)}
  .sc-f{background:linear-gradient(165deg,#D5D8CF,#A3A896)}
  .sc-g{background:linear-gradient(165deg,#DED8CB,#B3A88E)}
  .shop-meta{display:block;font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}

/* ============================================================
   WORDPRESS INTEGRATION
   The prototype painted page grounds on #view-* wrappers inside a
   single scrolling document. In WordPress each view is its own page,
   so the ground has to reach the body as well.
   ============================================================ */
  body.proto-page-apply{background:var(--noir)}
  :where(body.proto-page) a{color:inherit;text-decoration:none}

/* ------------------------------------------------------------------
   The Brand Build application form
   The prototype hand-wrote .inq-field markup. In WordPress the form is
   a WPForms form, so its markup is dressed to match that CSS exactly.
   ------------------------------------------------------------------ */
  /* The grid owns the 22px rhythm; WPForms' own field margins are zeroed
     by rules we cannot outrank, so spacing lives on the container. */
  .proto-view .app-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:22px}
  .proto-view .app-form .wpforms-field{grid-column:1 / -1;margin:0 0 22px;padding:0}
  .proto-view .app-form .wpforms-form .wpforms-field.wpforms-one-half{
    grid-column:auto;
    /* WPForms floats halves at 48%; the grid already sizes them. */
    width:auto;max-width:none;float:none;margin:0;
  }
  @media(max-width:640px){
    .proto-view .app-form .wpforms-field-container{grid-template-columns:1fr}
    .proto-view .app-form .wpforms-form .wpforms-field.wpforms-one-half{grid-column:1 / -1}
  }

  .proto-view .app-form .wpforms-field-label{
    display:block;
    font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(246,245,242,.55);margin-bottom:10px;
  }
  .proto-view .app-form .wpforms-required-label{color:#8FA2D4}

  .proto-view .app-form .wpforms-container,
  .proto-view .app-form .wpforms-field-container{padding:0;margin:0}

  .proto-view .app-form input[type="text"],
  .proto-view .app-form input[type="email"],
  .proto-view .app-form select,
  .proto-view .app-form textarea{
    width:100%;max-width:100%;background:transparent;border:0;border-bottom:1px solid rgba(246,245,242,.35);
    font-family:'Inter Tight',sans-serif;font-size:15px;color:var(--paper);
    padding:10px 2px;border-radius:0;outline:none;box-shadow:none;transition:border-color .25s;
  }
  .proto-view .app-form select option{color:var(--noir)}
  .proto-view .app-form input:focus,
  .proto-view .app-form select:focus,
  .proto-view .app-form textarea:focus{border-bottom-color:#8FA2D4;box-shadow:none}
  .proto-view .app-form textarea{resize:vertical;min-height:110px}
  .proto-view .app-form ::placeholder{color:rgba(246,245,242,.3)}

  .proto-view .app-form .wpforms-container{
    --wpforms-button-background-color:#F6F5F2;
    --wpforms-button-border-color:#F6F5F2;
    --wpforms-button-text-color:#0C0C0B;
    --wpforms-button-border-radius:2px;
    --wpforms-button-size-height:auto;
    --wpforms-button-size-font-size:11px;
    --wpforms-button-size-padding-h:54px;
    --wpforms-button-size-margin-top:16px;
  }
  .proto-view .app-form .wpforms-form button.wpforms-submit{
    display:inline-block;
    font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--paper);color:var(--noir);
    padding:20px 54px;border:0;border-radius:2px;margin-top:16px;cursor:pointer;
    transition:background .3s,color .3s,transform .25s;
  }
  .proto-view .app-form .wpforms-form button.wpforms-submit:hover{background:var(--champagne);color:#fff;transform:translateY(-2px)}
  .proto-view .app-form .wpforms-confirmation-container-full,
  .proto-view .app-form .wpforms-confirmation-container{
    background:transparent;border:0;padding:0;
    font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8FA2D4;
  }

  /* The three mono division headers. WPForms Lite has no HTML block field,
     so they are drawn from marker classes on the first field of each group.
     ::after is the hairline, ::before is the label knocking a gap in it. */
  .proto-view .app-form .wpforms-field[class*="app-div-"]{position:relative;margin-top:56px}
  .proto-view .app-form .wpforms-field[class*="app-div-"]::after{
    content:'';position:absolute;left:0;top:-34px;height:1px;
    width:100%;background:rgba(246,245,242,.18);
  }
  .proto-view .app-form .wpforms-field[class*="app-div-"]::before{
    position:absolute;left:0;top:-45px;z-index:1;
    padding-right:18px;background:var(--noir);
    font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#8FA2D4;
  }
  .proto-view .app-form .app-div-you::after{width:calc(200% + 22px)}
  .proto-view .app-form .app-div-you + .wpforms-field{margin-top:56px}
  .proto-view .app-form .app-div-you::before{content:'You'}
  .proto-view .app-form .app-div-brand::before{content:'The Brand'}
  .proto-view .app-form .app-div-engagement::before{content:'The Engagement'}
  /* On one column the label cannot hang above a half width field
     reliably, so it becomes a plain block heading and the rule is
     dropped. Same words, same voice, always visible. */
  @media(max-width:640px){
    .proto-view .app-form .wpforms-field[class*="app-div-"]{margin-top:44px}
    .proto-view .app-form .wpforms-field[class*="app-div-"]::after{display:none}
    .proto-view .app-form .wpforms-field[class*="app-div-"]::before{
      position:static;display:block;
      margin-bottom:18px;padding:0 0 12px;background:none;
      border-bottom:1px solid rgba(246,245,242,.18);
    }
    .proto-view .app-form .app-div-you + .wpforms-field{margin-top:0}
  }

/* ------------------------------------------------------------------
   The Inquiries form on Home
   The prototype hand-wrote .inq-field markup. In WordPress the form is
   a WPForms form, so its markup is dressed to match that CSS exactly.
   The same approach as the Brand Build form above, on the ivory ground.
   ------------------------------------------------------------------ */
  .proto-view .inq-form .wpforms-container,
  .proto-view .inq-form .wpforms-field-container{padding:0;margin:0}
  .proto-view .inq-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:22px}
  .proto-view .inq-form .wpforms-field{grid-column:1 / -1;margin:0;padding:0}
  .proto-view .inq-form .wpforms-form .wpforms-field.wpforms-one-half{grid-column:auto;width:auto;max-width:none;float:none;margin:0}
  @media(max-width:640px){
    .proto-view .inq-form .wpforms-field-container{grid-template-columns:1fr}
    .proto-view .inq-form .wpforms-form .wpforms-field.wpforms-one-half{grid-column:1 / -1}
  }

  .proto-view .inq-form .wpforms-field-label{
    display:block;
    font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--grey);margin-bottom:10px;
  }
  .proto-view .inq-form .wpforms-required-label{color:var(--champagne)}

  .proto-view .inq-form input[type="text"],
  .proto-view .inq-form input[type="email"],
  .proto-view .inq-form select,
  .proto-view .inq-form textarea{
    width:100%;max-width:100%;height:auto;background:transparent;
    border:0;border-bottom:1px solid rgba(12,12,11,.35);border-radius:0;
    font-family:'Inter Tight',sans-serif;font-size:15px;color:var(--noir);
    padding:10px 2px;outline:none;box-shadow:none;transition:border-color .25s;
  }
  .proto-view .inq-form input:focus,
  .proto-view .inq-form select:focus,
  .proto-view .inq-form textarea:focus{border-bottom-color:var(--champagne);box-shadow:none}
  .proto-view .inq-form textarea{resize:vertical;min-height:110px;height:auto}

  /* The submit button is the prototype's .btn-give. WPForms paints its
     button from its own custom properties, so those are set first and the
     shape is stated on a selector that outranks the plugin's default. */
  .proto-view .inq-form .wpforms-container{
    --wpforms-button-background-color:#0C0C0B;
    --wpforms-button-border-color:#0C0C0B;
    --wpforms-button-text-color:#F6F5F2;
    --wpforms-button-border-radius:2px;
    --wpforms-button-size-height:auto;
    --wpforms-button-size-font-size:12px;
    --wpforms-button-size-padding-h:52px;
    --wpforms-button-size-margin-top:8px;
  }
  .proto-view .inq-form .wpforms-form button.wpforms-submit{
    display:inline-block;margin-top:8px;cursor:pointer;
    font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    background:var(--noir);color:var(--paper);
    padding:21px 52px;border:0;border-radius:2px;min-height:0;
    transition:background .3s,transform .25s;
  }
  .proto-view .inq-form .wpforms-form button.wpforms-submit:hover{background:var(--champagne);color:#fff;transform:translateY(-2px)}

  .proto-view .inq-form .wpforms-confirmation-container,
  .proto-view .inq-form .wpforms-confirmation-container-full{
    background:transparent;border:0;padding:0;margin:0;
    font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);
  }

/* ------------------------------------------------------------------
   Rows that carry a fourth block
   .s-row is a three column grid: index, heading, copy. Two rows in the
   prototype hold a fourth child, the P4OC facts and The Drawing Room
   clarifier, and it wraps back into the 90px index column, where the
   text is squeezed to a few characters a line.

   This is a fault in the prototype, reproduced faithfully until now.
   The guide overrides it: Part 4.6 asks for the three P4OC facts
   VISIBLE, and Part 4.4 for the Drawing Room clarifier to read beside
   the booking link. So a fourth block continues under the copy instead.
   ------------------------------------------------------------------ */
  .proto-view .s-row > *:nth-child(n+4){grid-column:2 / -1}

  /* One column below 880px, where there is no column 2 to span. */
  @media(max-width:880px){
    .proto-view .s-row > *:nth-child(n+4){grid-column:auto}
  }

/* ==================================================================
   FULL-SCREEN MENU: layout fix + open effect
   Kept at the very end so it wins over the earlier menu rules.
   ================================================================== */

/* The menu panel starts below the 72px header, so links never slide under
   the wordmark. The shadow paints the header strip dark while it is open. */
.mobile-menu{
  top:72px;
  justify-content:flex-start;
  align-items:stretch;
  flex-wrap:nowrap;
  padding-top:28px;
  padding-bottom:48px;
  overflow-y:auto;
  overscroll-behavior:contain;
  box-shadow:0 -120px 0 0 var(--noir);
}
.mobile-menu > *{flex-shrink:0}
/* Centred when the list fits, top-aligned and scrollable when it does not */
.mobile-menu > :first-child{margin-top:auto}
.mobile-menu > :last-child{margin-bottom:auto}
.admin-bar .mobile-menu{top:calc(72px + 32px)}
@media (max-width:782px){.admin-bar .mobile-menu{top:calc(72px + 46px)}}

.mobile-menu a{font-size:clamp(26px,4vw,42px);line-height:1.15;padding:12px 0}
.mobile-menu .acc{font-size:.8em}
.mobile-menu .menu-apply{align-self:flex-start}

/* Open effect: links rise in one after another; hover stays instant */
.mobile-menu a{
  opacity:0;transform:translateY(16px);
  transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),color .25s,padding-left .25s;
  transition-delay:var(--d,0s),var(--d,0s),0s,0s;
}
.mobile-menu.open a{opacity:1;transform:none}
.mobile-menu.open a:nth-child(1){--d:.10s}
.mobile-menu.open a:nth-child(2){--d:.14s}
.mobile-menu.open a:nth-child(3){--d:.18s}
.mobile-menu.open a:nth-child(4){--d:.22s}
.mobile-menu.open a:nth-child(5){--d:.26s}
.mobile-menu.open a:nth-child(6){--d:.30s}
.mobile-menu.open a:nth-child(7){--d:.34s}
.mobile-menu.open a:nth-child(8){--d:.38s}
.mobile-menu.open a:nth-child(9){--d:.42s}
.mobile-menu.open a:nth-child(10){--d:.46s}
.mobile-menu.open a:nth-child(11){--d:.50s}
.mobile-menu.open a:nth-child(12){--d:.54s}
.mobile-menu.open a:nth-child(n+13){--d:.58s}

/* Burger to X: smoother turn */
.menu-btn span{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s}

@media (prefers-reduced-motion: reduce){
  .mobile-menu,.mobile-menu a,.menu-btn span{transition:none !important}
  .mobile-menu a{opacity:1;transform:none}
}