/* Extracted from the approved reference; shared declarations reuse the same class. */
:root{--paper:#F6F1E7;--paper-2:#EFE7D8;--card:#FFFDF8;--line:#E3DACB;--line-strong:#D6CBB8;--ink:#1C1C1A;--muted:#57524A;--terracotta:#A04722;--azure:#2E63D8;--on-dark-muted:#C9C1B2;--on-dark-accent:#E9A27F;--on-dark-blue:#9DB8F5}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper)}
a{color:var(--azure)}a:hover{color:#1F4BAE}
button,input{font:inherit}button,a,input{touch-action:manipulation}
:focus-visible{outline:3px solid var(--azure);outline-offset:5px}
.page-layout{background: var(--paper); color: var(--ink); font-family: Inter, system-ui, sans-serif; font-size: 17px; line-height: 1.6}
.header-shell{border-bottom: 1px solid var(--line)}
.header-layout{max-width: 1200px; margin: 0 auto; padding: 18px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px}
.header-link{text-decoration: none; color: var(--ink); font-family: Newsreader, Georgia, serif; font-size: 28px; font-weight: 600; letter-spacing: -0.01em}
.header-label{color: var(--terracotta)}
.header-navigation{display: flex; flex-wrap: wrap; align-items: center; gap: 24px; font-size: 15px}
.header-link-2{color: var(--ink); text-decoration: none}
.header-link-3{background: var(--terracotta); color: #FFFFFF; text-decoration: none; padding: 12px 20px; border-radius: 6px; font-weight: 600}
.hero-section{max-width: 1200px; margin: 0 auto; padding: 80px 32px 72px; display: flex; flex-wrap: wrap; gap: 56px; align-items: center}
.hero-layout{flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 22px}
.hero-copy{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terracotta)}
.hero-headline{margin: 0; font-family: Newsreader, Georgia, serif; font-weight: 500; font-size: 72px; line-height: 1.02; letter-spacing: -0.02em}
.hero-copy-2{margin: 0; font-size: 21px; line-height: 1.5; color: var(--muted); max-width: 620px}
.hero-layout-2{display: flex; flex-wrap: wrap; gap: 14px; padding-top: 6px}
.hero-link{background: var(--terracotta); color: #FFFFFF; text-decoration: none; padding: 15px 26px; border-radius: 6px; font-weight: 600}
.hero-link-2{border: 1px solid var(--ink); color: var(--ink); text-decoration: none; padding: 14px 26px; border-radius: 6px; font-weight: 600}
.hero-card{flex: 1 1 360px; min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 18px}
.hero-copy-3{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted)}
.hero-layout-3{display: flex; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line)}
.hero-layout-4{width: 88px; height: 56px; flex: 0 0 88px; border-radius: 6px; background: var(--ink); display: flex; align-items: center; justify-content: center}
.hero-layout-5{display: flex; flex-direction: column; gap: 2px}
.hero-label{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--azure)}
.hero-label-2{font-weight: 600}
.hero-label-3{font-size: 15px; color: var(--muted)}
.hero-layout-6{width: 88px; height: 56px; flex: 0 0 88px; border-radius: 6px; background: var(--line); display: flex; align-items: center; justify-content: center}
.hero-emphasis{color: var(--ink)}
.method-section{background: var(--ink); color: var(--paper)}
.method-layout{max-width: 1200px; margin: 0 auto; padding: 88px 32px; display: flex; flex-direction: column; gap: 48px}
.method-layout-2{display: flex; flex-wrap: wrap; gap: 48px}
.method-layout-3{flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.method-copy{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--on-dark-accent)}
.method-heading{margin: 0; font-family: Newsreader, Georgia, serif; font-weight: 500; font-size: 48px; line-height: 1.1}
.method-list{flex: 1 1 420px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; color: var(--on-dark-muted); font-size: 18px}
.method-emphasis{color: var(--paper)}
.method-layout-4{display: flex; flex-wrap: wrap; gap: 20px}
.method-layout-5{flex: 1 1 300px; border: 1px solid #4A4740; border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 8px}
.method-label{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: var(--on-dark-blue)}
.method-label-2{font-family: Newsreader, Georgia, serif; font-size: 26px}
.method-label-3{color: var(--on-dark-muted)}
.library-section{max-width: 1200px; margin: 0 auto; padding: 96px 32px; display: flex; flex-direction: column; gap: 40px}
.library-layout{display: flex; flex-direction: column; gap: 14px; max-width: 780px}
.library-heading{margin: 0; font-family: Newsreader, Georgia, serif; font-weight: 500; font-size: 52px; line-height: 1.08}
.library-copy{margin: 0; font-size: 19px; color: var(--muted)}
.library-card{flex: 1 1 300px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 24px; display: flex; gap: 16px}
.library-layout-2{width: 64px; height: 64px; flex: 0 0 64px; border-radius: 999px; background: var(--line)}
.library-layout-3{display: flex; flex-direction: column; gap: 4px}
.library-label{font-family: Newsreader, Georgia, serif; font-size: 20px; line-height: 1.3}
.library-link{align-self: flex-start; color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--terracotta); padding-bottom: 2px; margin-top: -16px}
.library-layout-4{background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 22px}
.library-layout-5{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px}
.library-label-2{font-family: Newsreader, Georgia, serif; font-size: 28px}
.library-label-3{color: var(--muted); font-size: 15px}
.library-field{display: flex; flex-direction: column; gap: 4px; flex: 0 1 320px}
.library-label-4{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--muted)}
.library-input{min-height: 44px; padding: 0 14px; border-radius: 6px; border: 1px solid var(--line-strong); background: var(--paper); font: inherit; font-size: 15px; color: var(--ink)}
.library-layout-6{display: flex; flex-wrap: wrap; gap: 8px}
.library-link-2{text-decoration: none; background: var(--ink); color: var(--paper); border-radius: 999px; padding: 8px 16px; font-size: 14px; font-weight: 500}
.library-link-3{text-decoration: none; border: 1px solid var(--line-strong); color: var(--ink); border-radius: 999px; padding: 8px 16px; font-size: 14px}
.library-layout-7{display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px}
.library-layout-8{border: 1px solid var(--line); border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 6px}
.library-label-5{font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--azure)}
.library-label-6{font-size: 14px; color: var(--muted)}
.library-layout-9{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 18px}
.library-link-4{color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--terracotta); padding-bottom: 2px}
.membership-section{background: var(--paper-2)}
.membership-layout{display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-end}
.membership-layout-2{flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.membership-list{flex: 1 1 480px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; color: var(--muted)}
.membership-layout-3{display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch}
.membership-layout-4{flex: 1 1 280px; border: 1px solid var(--line); border-radius: 12px; padding: 28px; background: var(--card); display: flex; flex-direction: column; gap: 12px}
.membership-label{font-family: Newsreader, Georgia, serif; font-size: 40px; line-height: 1}
.membership-label-2{color: var(--muted); font-size: 15px; flex-grow: 1}
.membership-link{border: 1px solid var(--ink); color: var(--ink); text-decoration: none; padding: 12px 18px; border-radius: 6px; font-weight: 600; text-align: center}
.membership-layout-5{flex: 1 1 280px; border: 2px solid var(--terracotta); border-radius: 12px; padding: 27px; background: var(--card); display: flex; flex-direction: column; gap: 12px}
.membership-label-3{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--terracotta)}
.membership-label-4{font-family: Inter, sans-serif; font-size: 15px; color: var(--muted)}
.membership-steps{margin: 0; padding-left: 20px; color: var(--muted); font-size: 15px; flex-grow: 1}
.membership-label-5{color: var(--muted); font-size: 14px}
.membership-link-2{background: var(--terracotta); color: #FFFFFF; text-decoration: none; padding: 12px 18px; border-radius: 6px; font-weight: 600; text-align: center}
.membership-layout-6{flex: 1 1 420px; border-top: 1px solid var(--line-strong); padding-top: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px}
.membership-label-6{font-family: Newsreader, Georgia, serif; font-size: 24px}
.mentors-layout{display: flex; flex-direction: column; gap: 14px; max-width: 760px}
.mentors-layout-2{flex: 1 1 320px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 26px; display: flex; gap: 18px}
.mentors-layout-3{width: 96px; height: 96px; flex: 0 0 96px; border-radius: 10px; background: var(--line)}
.mentors-layout-4{display: flex; flex-direction: column; gap: 6px}
.mentors-label{font-weight: 600; font-size: 19px}
.mentors-label-2{font-size: 15px}
.mentors-label-3{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--azure); padding-top: 4px}
.mentors-copy{margin: 0; color: var(--muted)}
.signup-layout{max-width: 1200px; margin: 0 auto; padding: 88px 32px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center}
.signup-layout-2{flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.signup-copy{margin: 0; font-size: 19px; color: var(--on-dark-muted)}
.signup-form{flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 10px}
.signup-field{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--on-dark-muted)}
.signup-layout-3{display: flex; flex-wrap: wrap; gap: 10px}
.signup-input{flex: 1 1 220px; min-height: 48px; padding: 0 16px; border-radius: 6px; border: 1px solid #4A4740; background: #2A2926; color: var(--paper); font: inherit}
.signup-button{min-height: 50px; padding: 0 24px; border: none; border-radius: 6px; background: var(--terracotta); color: #FFFFFF; font: inherit; font-weight: 600; cursor: pointer}
.footer-shell{max-width: 1200px; margin: 0 auto; padding: 40px 32px 56px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; font-size: 15px; color: var(--muted)}
.footer-label{font-family: Newsreader, Georgia, serif; font-size: 22px; color: var(--ink)}
.footer-navigation{display: flex; flex-wrap: wrap; gap: 24px}
.footer-link{color: var(--muted)}

/* Responsive and accessible behaviors. Desktop spacing retains the reference geometry. */
h1{font-size:clamp(2.65rem,5.1vw,4.5rem)!important}
section,article,aside,form,nav,main,footer,header{min-width:0}
input{min-width:0;max-width:100%;box-sizing:border-box}
.skip-link{position:fixed;z-index:10;top:10px;left:10px;padding:12px 18px;background:var(--card);color:var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.menu-toggle{display:none;padding:10px 16px;border:1px solid var(--line-strong);border-radius:6px;background:var(--card);color:var(--ink)}
.menu-toggle[hidden]{display:none}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.signup-status{margin:0;font-size:15px;color:var(--paper);min-height:1.6em}
.signup-status[data-state="error"]{color:var(--on-dark-accent)}
.signup-notice{margin:0;color:var(--on-dark-muted);font-size:13px}
.signup-notice a{color:var(--on-dark-blue)}
button:disabled{cursor:wait;opacity:.65}
input[type="search"]:disabled{cursor:not-allowed;opacity:.75}
.legal{max-width:780px;margin:auto;padding:60px 24px;font:17px/1.7 Inter,system-ui,sans-serif;color:var(--ink)}
.legal h1{font-family:Newsreader,Georgia,serif;font-weight:500}
.legal .notice{border-left:4px solid var(--terracotta);padding:16px 20px;background:var(--paper-2)}
@media(max-width:759px){
  .menu-toggle:not([hidden]){display:block}
  #main-nav{flex-basis:100%;align-items:flex-start;gap:16px}
  #main-nav[data-collapsible="true"]{display:none}
  #main-nav[data-collapsible="true"][data-open="true"]{display:flex;flex-direction:column}
  h2{font-size:clamp(2rem,7vw,2.75rem)!important}
  #top,#guests,#mentors{padding:52px 20px}
  #method>div,#membership>div,#free>div{padding:52px 20px}
  header>div,footer{padding-left:20px!important;padding-right:20px!important}
  #mentors>div:nth-of-type(2)>div{flex-direction:column}
  #guests article{flex-direction:column}
  #guests>div:last-child{padding:18px}
  #guests input{width:100%}
  .library-layout-7{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
  #guests [class*="layout"]{min-width:0}
  #free button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.access-eyebrow{font:12px monospace;letter-spacing:.12em;color:var(--terracotta)}
.access-materials{display:grid;gap:20px;margin:32px 0}
.access-card{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.access-card h2{margin:0 0 12px;font:32px Newsreader,Georgia,serif}
.access-card p{margin-bottom:0;color:var(--muted)}
.access-card video{display:block;width:100%;border-radius:8px}
