/* =========================================================
   Mohs Management — Shared Design System
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,900&family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,700&family=JetBrains+Mono:wght@300;400;500&display=swap');

:root {
  --bg:         #0a0e14;
  --bg-soft:    #0f141c;
  --fg:         #f0f4f8;
  --fg-dim:     #aab4c2;
  --accent:     #4a7cb5;
  --accent-light:#7ba8d9;
  --hot:        #ff4444;
  --line:       rgba(240,244,248,0.1);
  --ease:       cubic-bezier(.77,0,.175,1);
  --ease-out:   cubic-bezier(.16,1,.3,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html, body { background:var(--bg); color:var(--fg); font-family:"Bricolage Grotesque",sans-serif; font-weight:400; line-height:1.4; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
html { scroll-behavior:smooth; }
body { cursor:none; }
a { color:inherit; text-decoration:none; }
img, video { display:block; max-width:100%; }
button, input, textarea, select { background:none; border:none; color:inherit; font:inherit; cursor:none; }

/* Grain overlay */
.grain { position:fixed; inset:-100%; z-index:9998; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  animation:grain 8s steps(10) infinite; }
@keyframes grain {
  0%,100%{transform:translate(0,0)} 10%{transform:translate(-5%,-10%)} 20%{transform:translate(-15%,5%)}
  30%{transform:translate(7%,-25%)} 40%{transform:translate(-5%,25%)} 50%{transform:translate(-15%,10%)}
  60%{transform:translate(15%,0%)} 70%{transform:translate(0%,15%)} 80%{transform:translate(3%,35%)} 90%{transform:translate(-10%,10%)} }

/* Custom Cursor */
.cursor { position:fixed; top:0; left:0; width:6px; height:6px; background:var(--fg); border-radius:50%; pointer-events:none; z-index:10000; transform:translate(-50%,-50%); transition:width .3s var(--ease-out),height .3s var(--ease-out),background .3s var(--ease-out); }
.cursor-outline { position:fixed; top:0; left:0; width:36px; height:36px; border:1px solid var(--fg); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .4s var(--ease-out),height .4s var(--ease-out),border-color .4s; }
.cursor.hover { width:56px; height:56px; background:var(--accent); }
.cursor-outline.hover { width:0; height:0; }

/* Loader */
.loader { position:fixed; inset:0; z-index:10001; background:var(--bg); display:flex; flex-direction:column; justify-content:space-between; padding:2.5rem; pointer-events:all; }
.loader.done { pointer-events:none; transform:translateY(-100%); transition:transform 1.4s var(--ease); }
.loader-top { display:flex; justify-content:space-between; font-family:"JetBrains Mono",monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-dim); }
.loader-center { display:flex; align-items:center; justify-content:center; flex:1; position:relative; }
.loader-count { font-family:"Fraunces",serif; font-style:italic; font-weight:300; font-size:clamp(8rem,22vw,22rem); line-height:1; letter-spacing:-.04em; font-variation-settings:"opsz" 144; }
.loader-count sup { font-size:.2em; vertical-align:top; color:var(--accent); font-style:normal; font-weight:400; margin-left:.2em; }
.loader-bottom { display:flex; justify-content:space-between; align-items:flex-end; font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-dim); }
.loader-bar { position:absolute; bottom:0; left:0; height:1px; background:var(--accent); width:0%; transition:width .05s linear; }

/* Nav */
nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:1.75rem 2.5rem; display:flex; justify-content:space-between; align-items:center; mix-blend-mode:difference; transition:opacity .4s var(--ease); }
body.menu-open nav { opacity:0; pointer-events:none; }
.brand { font-family:"Fraunces",serif; font-weight:300; font-style:italic; font-size:1.4rem; letter-spacing:-.02em; display:flex; align-items:baseline; gap:.4em; }
.brand em { font-style:normal; font-family:"JetBrains Mono",monospace; font-size:.55rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); vertical-align:super; }
.nav-right { display:flex; gap:2rem; align-items:center; font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
.nav-time { color:var(--fg-dim); }
.menu-btn { display:flex; align-items:center; gap:.6rem; padding:.6rem 1.1rem; border:1px solid var(--fg); border-radius:40px; position:relative; overflow:hidden; }
.menu-btn::before { content:""; position:absolute; inset:0; background:var(--fg); transform:translateY(100%); transition:transform .5s var(--ease); }
.menu-btn:hover::before { transform:translateY(0); }
.menu-btn span { position:relative; z-index:1; transition:color .5s var(--ease); }
.menu-btn:hover span { color:var(--bg); }
.menu-btn .dot { width:5px; height:5px; background:var(--hot); border-radius:50%; position:relative; z-index:1; animation:pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }

/* Menu Overlay */
.menu-overlay { position:fixed; inset:0; z-index:9997; background:var(--bg); display:flex; flex-direction:column; padding:2rem 2.5rem; clip-path:circle(0% at calc(100% - 5rem) 2.5rem); transition:clip-path 1s var(--ease); pointer-events:none; }
.menu-overlay.open { clip-path:circle(150% at calc(100% - 5rem) 2.5rem); pointer-events:all; }
.menu-overlay-inner { flex:1; display:grid; grid-template-columns:1.5fr 1fr; gap:6rem; align-items:center; padding:4rem 0; }
.menu-nav { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.menu-nav li { overflow:hidden; opacity:0; transform:translateY(60px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.menu-overlay.open .menu-nav li { opacity:1; transform:translateY(0); }
.menu-overlay.open .menu-nav li:nth-child(1){transition-delay:.3s}
.menu-overlay.open .menu-nav li:nth-child(2){transition-delay:.38s}
.menu-overlay.open .menu-nav li:nth-child(3){transition-delay:.46s}
.menu-overlay.open .menu-nav li:nth-child(4){transition-delay:.54s}
.menu-overlay.open .menu-nav li:nth-child(5){transition-delay:.62s}
.menu-overlay.open .menu-nav li:nth-child(6){transition-delay:.70s}
.menu-nav a { font-family:"Fraunces",serif; font-weight:300; font-size:clamp(2.4rem,6.5vw,7rem); line-height:1; letter-spacing:-.04em; display:flex; align-items:baseline; gap:1.5rem; transition:color .4s var(--ease),padding-left .5s var(--ease); font-variation-settings:"opsz" 144; }
.menu-nav a .num { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; color:var(--fg-dim); font-weight:400; transition:color .4s var(--ease); }
.menu-nav a em { font-style:italic; color:var(--accent); }
.menu-nav a:hover { color:var(--accent); padding-left:2rem; }
.menu-nav a:hover .num { color:var(--accent); }
.menu-side { display:flex; flex-direction:column; gap:3rem; opacity:0; transform:translateX(60px); transition:opacity 1s var(--ease),transform 1s var(--ease); transition-delay:.6s; }
.menu-overlay.open .menu-side { opacity:1; transform:translateX(0); }
.menu-side-block h4 { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; display:flex; gap:.5rem; align-items:center; }
.menu-side-block h4::before { content:""; width:20px; height:1px; background:var(--accent); }
.menu-side-block a { display:block; font-size:1.05rem; line-height:1.7; color:var(--fg); margin-bottom:.3rem; position:relative; width:fit-content; }
.menu-side-block a::after { content:""; position:absolute; left:0; right:0; bottom:.1em; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .4s var(--ease); }
.menu-side-block a:hover::after { transform:scaleX(1); transform-origin:left; }
.menu-side-block p { font-size:.95rem; line-height:1.7; color:var(--fg-dim); }
.menu-close { position:absolute; top:2rem; right:2.5rem; width:52px; height:52px; border:1px solid var(--fg); border-radius:50%; display:flex; align-items:center; justify-content:center; background:transparent; transition:all .4s var(--ease); z-index:10; }
.menu-close:hover { background:var(--accent); border-color:var(--accent); transform:rotate(90deg); }
.menu-close::before, .menu-close::after { content:""; position:absolute; width:18px; height:1px; background:var(--fg); }
.menu-close::before { transform:rotate(45deg); }
.menu-close::after { transform:rotate(-45deg); }
.menu-close:hover::before, .menu-close:hover::after { background:var(--bg); }
.menu-footer { display:flex; justify-content:space-between; align-items:center; padding-top:2rem; border-top:1px solid var(--line); font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-dim); flex-wrap:wrap; gap:1rem; opacity:0; transition:opacity .6s var(--ease); transition-delay:.9s; }
.menu-overlay.open .menu-footer { opacity:1; }
.menu-footer .ital { font-family:"Fraunces",serif; font-style:italic; text-transform:none; font-size:1rem; color:var(--accent); letter-spacing:-.01em; }

/* Footer */
footer { padding:4rem 2.5rem 2.5rem; border-top:1px solid var(--line); background:var(--bg-soft); }
.footer-massive { font-family:"Fraunces",serif; font-weight:300; font-size:clamp(2rem,6vw,6rem); line-height:.95; letter-spacing:-.04em; color:var(--fg); margin-bottom:3rem; font-variation-settings:"opsz" 144; }
.footer-massive .ital { font-style:italic; color:var(--accent); display:inline-block; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:3rem; padding-top:3rem; border-top:1px solid var(--line); }
.footer-col h4 { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--fg-dim); margin-bottom:1.5rem; }
.footer-col a, .footer-col p { display:block; font-size:.95rem; line-height:1.7; margin-bottom:.5rem; color:var(--fg); position:relative; width:fit-content; }
.footer-col a::after { content:""; position:absolute; left:0; right:0; bottom:.1em; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .5s var(--ease); }
.footer-col a:hover::after { transform:scaleX(1); transform-origin:left; }
.footer-bottom { margin-top:4rem; padding-top:2rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-dim); flex-wrap:wrap; gap:1rem; }

/* Marquee */
.marquee { padding:2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; white-space:nowrap; display:flex; }
.marquee-track { display:flex; gap:4rem; padding-right:4rem; animation:march 60s linear infinite; font-family:"Fraunces",serif; font-weight:300; font-size:clamp(2rem,5vw,5rem); line-height:1; letter-spacing:-.03em; white-space:nowrap; flex-shrink:0; }
.marquee-track span { display:flex; align-items:center; gap:4rem; }
.marquee-track .ital { font-style:italic; color:var(--accent); }
.marquee-track .dot { width:10px; height:10px; background:var(--fg); border-radius:50%; flex-shrink:0; }
@keyframes march { to { transform:translateX(-50%); } }

/* Scroll cue */
.scroll-cue { display:flex; align-items:center; gap:.75rem; font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; }
.scroll-cue .arrow { width:24px; height:1px; background:var(--fg); position:relative; overflow:hidden; }
.scroll-cue .arrow::after { content:""; position:absolute; top:0; left:-100%; width:100%; height:100%; background:var(--accent); animation:slide 2s infinite; }
@keyframes slide { to { left:100%; } }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:.6rem; padding:.9rem 1.8rem; font-family:"JetBrains Mono",monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; border-radius:2px; font-weight:500; transition:all .4s var(--ease); position:relative; overflow:hidden; }
.btn::before { content:""; position:absolute; inset:0; transform:translateY(101%); transition:transform .4s var(--ease); z-index:0; }
.btn:hover::before { transform:translateY(0); }
.btn span, .btn-text { position:relative; z-index:1; }
.btn-primary { background:var(--accent); color:var(--bg); border:1px solid var(--accent); }
.btn-primary::before { background:var(--accent-light); }
.btn-primary:hover { color:var(--bg); }
.btn-secondary { background:transparent; color:var(--fg); border:1px solid var(--fg); }
.btn-secondary::before { background:var(--fg); }
.btn-secondary:hover { color:var(--bg); }
.btn-arrow::after { content:"↗"; font-family:"Fraunces",serif; font-size:1rem; font-weight:300; font-style:italic; }

/* Section label */
.section-label { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:flex; gap:.5rem; align-items:center; margin-bottom:1.5rem; }
.section-label::before { content:""; width:30px; height:1px; background:var(--accent); }

/* Page Hero (subpages) */
.page-hero { padding:10rem 2.5rem 6rem; position:relative; }
.page-hero-label { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:flex; gap:.5rem; align-items:center; margin-bottom:2rem; }
.page-hero-label::before { content:""; width:30px; height:1px; background:var(--accent); }
.page-hero h1 { font-family:"Fraunces",serif; font-weight:300; font-size:clamp(2.5rem,8vw,9rem); line-height:.9; letter-spacing:-.04em; max-width:900px; font-variation-settings:"opsz" 144; }
.page-hero h1 .ital { font-style:italic; color:var(--accent); }
.page-hero p { max-width:640px; font-size:1.05rem; line-height:1.75; color:var(--fg-dim); margin-top:2.5rem; }
.page-hero p strong { color:var(--fg); }

/* Content sections */
.section { padding:6rem 2.5rem; }
.section-alt { background:var(--bg-soft); }
.section + .section { border-top:1px solid var(--line); }

.content-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.content-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; }

/* Cards */
.card { padding:2.5rem; border:1px solid var(--line); background:var(--bg-soft); border-radius:2px; position:relative; overflow:hidden; transition:border-color .4s var(--ease); }
.card::before { content:""; position:absolute; top:-100px; right:-100px; width:200px; height:200px; background:radial-gradient(circle,rgba(74,124,181,.15),transparent 70%); border-radius:50%; pointer-events:none; }
.card:hover { border-color:rgba(74,124,181,.4); }
.card h3 { font-family:"Fraunces",serif; font-weight:400; font-size:1.6rem; letter-spacing:-.02em; margin-bottom:1rem; position:relative; }
.card h3 em { font-style:italic; color:var(--accent); font-weight:300; }
.card .card-label { font-family:"JetBrains Mono",monospace; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; display:flex; gap:.5rem; align-items:center; }
.card .card-label::before { content:""; width:16px; height:1px; background:var(--accent); }
.card p { font-size:.93rem; line-height:1.7; color:var(--fg-dim); position:relative; }
.card ul { list-style:none; position:relative; }
.card li { font-size:.9rem; line-height:1.65; color:var(--fg-dim); margin-bottom:.4rem; }
.card li::before { content:"→ "; color:var(--accent); }
.card .card-tag { display:inline-block; padding:.3rem .7rem; border:1px solid rgba(74,124,181,.3); border-radius:40px; font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--accent); margin-top:1.5rem; }

/* CTA section */
.cta-section { padding:10rem 2.5rem; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:700px; height:700px; background:radial-gradient(circle,rgba(74,124,181,.1),transparent 70%); border-radius:50%; pointer-events:none; }
.cta-section .cta-label { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--accent); margin-bottom:2rem; position:relative; }
.cta-section h2 { font-family:"Fraunces",serif; font-weight:300; font-size:clamp(3rem,10vw,10rem); line-height:.9; letter-spacing:-.045em; position:relative; font-variation-settings:"opsz" 144; margin-bottom:2.5rem; }
.cta-section h2 .ital { font-style:italic; color:var(--accent); }
.cta-section .cta-sub { max-width:520px; margin:0 auto 3rem; color:var(--fg-dim); font-size:1rem; line-height:1.75; position:relative; }
.cta-btn-group { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }

/* Lists */
.list-clean { list-style:none; }
.list-clean li { font-size:.95rem; line-height:1.75; color:var(--fg-dim); padding:.6rem 0; border-bottom:1px solid var(--line); display:flex; align-items:baseline; gap:.75rem; }
.list-clean li::before { content:"→"; color:var(--accent); flex-shrink:0; }
.list-clean li strong { color:var(--fg); }

/* Bullet group */
.bullet-group { margin-bottom:2.5rem; }
.bullet-group h3 { font-family:"JetBrains Mono",monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; display:flex; gap:.5rem; align-items:center; }
.bullet-group h3::before { content:""; width:20px; height:1px; background:var(--accent); }
.bullet-group ul { list-style:none; }
.bullet-group li { font-size:.95rem; line-height:1.7; color:var(--fg-dim); margin-bottom:.45rem; padding-left:1.2rem; position:relative; }
.bullet-group li::before { content:"·"; position:absolute; left:0; color:var(--accent); font-size:1.2rem; line-height:1.4; }

/* Stats */
.stats-row { padding:5rem 2.5rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.stat { display:flex; flex-direction:column; gap:.5rem; }
.stat-num { font-family:"Fraunces",serif; font-weight:300; font-style:italic; font-size:clamp(3rem,5vw,5.5rem); line-height:1; letter-spacing:-.04em; color:var(--accent); }
.stat-num sup { font-size:.4em; color:var(--fg); vertical-align:top; }
.stat-label { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--fg-dim); line-height:1.5; }

/* Form */
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; font-family:"JetBrains Mono",monospace; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--fg-dim); margin-bottom:.5rem; }
.form-group input,
.form-group textarea,
.form-group select { width:100%; padding:.9rem 1rem; background:var(--bg); border:1px solid var(--line); border-radius:2px; color:var(--fg); font-size:.9rem; font-family:inherit; transition:border-color .3s var(--ease); appearance:none; }
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--fg-dim); font-size:.85rem; }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { outline:none; border-color:var(--accent); }
.form-group textarea { min-height:140px; resize:vertical; }
.form-group select { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%237a8494' stroke-width='1.5' fill='none'/></svg>"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-check { display:flex; align-items:flex-start; gap:.75rem; margin-top:.75rem; }
.form-check input[type=checkbox] { width:16px; height:16px; min-width:16px; border:1px solid var(--line); border-radius:2px; background:var(--bg); accent-color:var(--accent); margin-top:.1rem; cursor:pointer; }
.form-check label { font-size:.85rem; color:var(--fg-dim); line-height:1.5; cursor:pointer; }
.form-check label a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.submit-btn { padding:.9rem 2rem; background:var(--accent); color:var(--bg); font-family:"JetBrains Mono",monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; border-radius:2px; font-weight:500; transition:all .4s var(--ease); cursor:pointer; position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:.5rem; margin-top:1.5rem; width:100%; justify-content:center; }
.submit-btn::before { content:""; position:absolute; inset:0; background:var(--accent-light); transform:translateY(101%); transition:transform .4s var(--ease); z-index:0; }
.submit-btn:hover::before { transform:translateY(0); }
.submit-btn span { position:relative; z-index:1; }
.submit-btn span::after { content:"↗"; font-family:"Fraunces",serif; font-size:1rem; margin-left:.3rem; }

/* Waitlist form inline */
.waitlist-form { display:grid; grid-template-columns:1fr 1.4fr auto; gap:.5rem; }
.waitlist-form input { padding:.85rem 1rem; background:var(--bg); border:1px solid var(--line); border-radius:2px; color:var(--fg); font-size:.85rem; font-family:inherit; transition:border-color .3s var(--ease); }
.waitlist-form input:focus { outline:none; border-color:var(--accent); }
.waitlist-submit { padding:.85rem 1.4rem; background:var(--accent); color:var(--bg); font-family:"JetBrains Mono",monospace; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; border-radius:2px; font-weight:500; transition:all .4s var(--ease); cursor:pointer; white-space:nowrap; }
.waitlist-submit:hover { background:var(--accent-light); }

/* Prose / Impressum / Legal */
.prose { max-width:760px; }
.prose h2 { font-family:"Fraunces",serif; font-weight:300; font-size:1.8rem; letter-spacing:-.02em; color:var(--fg); margin:3rem 0 1rem; }
.prose h2:first-child { margin-top:0; }
.prose h3 { font-family:"JetBrains Mono",monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin:2rem 0 .75rem; display:flex; gap:.5rem; align-items:center; }
.prose h3::before { content:""; width:16px; height:1px; background:var(--accent); }
.prose p { font-size:.95rem; line-height:1.8; color:var(--fg-dim); margin-bottom:1rem; }
.prose p strong { color:var(--fg); }
.prose a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.prose ul, .prose ol { padding-left:1.5rem; margin-bottom:1rem; }
.prose li { font-size:.95rem; line-height:1.8; color:var(--fg-dim); margin-bottom:.35rem; }
.prose address { font-style:normal; }
.prose address p { margin-bottom:.25rem; }

/* Profile block */
.profile-block { padding:2.5rem; border:1px solid var(--line); background:var(--bg-soft); border-radius:2px; }
.profile-block h3 { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:1.25rem; display:flex; gap:.5rem; align-items:center; }
.profile-block h3::before { content:""; width:20px; height:1px; background:var(--accent); }
.profile-block p { font-size:.93rem; line-height:1.75; color:var(--fg-dim); margin-bottom:.6rem; }
.profile-block p strong { color:var(--fg); }

/* Responsive */
@media (max-width:900px) {
  nav { padding:1.25rem; }
  .page-hero, .section, .cta-section, .stats-row { padding-left:1.25rem; padding-right:1.25rem; }
  .content-grid, .content-grid-3 { grid-template-columns:1fr; gap:2.5rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .loader { padding:1.5rem 1.25rem; }
  .loader-top, .loader-bottom { font-size:.6rem; gap:1rem; flex-wrap:wrap; }
  .loader-top span, .loader-bottom span { white-space:nowrap; }
  .loader-count { font-size:clamp(5rem,28vw,12rem); }
  .menu-overlay { padding:1.5rem 1.25rem; clip-path:circle(0% at calc(100% - 3rem) 2rem); overflow-y:auto; overflow-x:hidden; }
  .menu-overlay.open { clip-path:circle(150% at calc(100% - 3rem) 2rem); }
  .menu-overlay-inner { grid-template-columns:1fr; gap:3rem; padding:3rem 0 2rem; align-items:start; }
  .menu-close { top:1.25rem; right:1.25rem; width:44px; height:44px; }
  .menu-nav a { font-size:clamp(1.7rem,8vw,2.8rem); gap:.6rem; flex-wrap:wrap; overflow-wrap:break-word; }
  .menu-nav a:hover { padding-left:.5rem; }
  .menu-nav a .num { font-size:.6rem; }
  .menu-side { gap:2rem; }
  .menu-side-block a { font-size:.95rem; overflow-wrap:break-word; max-width:100%; }
  .menu-footer { font-size:.6rem; }
  .menu-footer .ital { font-size:.85rem; }
  .stats-row { grid-template-columns:1fr 1fr; }
  .waitlist-form { grid-template-columns:1fr; }
  body { cursor:auto; }
  .cursor, .cursor-outline { display:none; }
  a, button { cursor:pointer; }
  .page-hero { padding:8rem 1.25rem 2rem; }
  .page-hero + .section { padding-top:2rem; }
  .section { padding:3.5rem 1.25rem; }
  .form-row { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .footer-grid { grid-template-columns:1fr; }
  .stats-row { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:.6rem; font-size:.55rem; letter-spacing:.08em; }
  .footer-bottom span { white-space:nowrap; }
}
