@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,400;12..96,75..100,500;12..96,75..100,600&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root { --ink:#050505; --muted:rgba(5,5,5,.6); --line:rgba(5,5,5,.12); --blue:#35b5ff; --surface:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--surface); font-family:"Bricolage Grotesque",Arial,sans-serif; letter-spacing:-.025em; }
main, footer { max-width:1440px; margin:auto; padding-left:64px; padding-right:64px; }
.nav { height:128px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line); margin:0 -64px; }
.wordmark { display:block; line-height:0; }
.wordmark img { display:block; width:clamp(180px,20vw,288px); height:auto; }
.eyebrow { margin:0 0 22px; color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-family:"IBM Plex Sans",sans-serif; font-size:12px; font-weight:600; }
h1,h2,h3,p { margin-top:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
h1 { font-size:clamp(58px,7.2vw,104px); line-height:1; letter-spacing:-.04em; font-weight:600; margin:0 auto 18px; max-width:1280px; text-wrap:balance; }
.lead { font-family:"IBM Plex Sans",sans-serif; font-size:clamp(18px,1.67vw,24px); line-height:1.35; max-width:840px; margin:0 auto; color:var(--muted); letter-spacing:-.015em; }
.hero { max-width:1312px; min-height:calc(100svh - 210px); margin:auto; padding:260px 0 220px; text-align:center; }
.hero-links { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:34px; }
.button,.secondary-button { min-height:64px; display:inline-flex; align-items:center; justify-content:center; padding:16px 32px; border-radius:999px; font-family:"IBM Plex Sans",sans-serif; font-weight:600; font-size:clamp(17px,1.67vw,24px); line-height:1; text-decoration:none; letter-spacing:-.03em; }
.button,.secondary-button { transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease; }
.button { background:var(--blue); color:#fff; }
.secondary-button { color:var(--ink); border:1px solid var(--ink); }
.button:hover,.secondary-button:hover { transform:translateY(-2px); }
.statement { max-width:1120px; margin:auto; padding:0 0 520px; }
h2 { font-size:clamp(40px,4.45vw,64px); line-height:1.02; letter-spacing:-.032em; font-weight:600; margin-bottom:0; }
.method { padding:0 0 360px; display:grid; grid-template-columns:.84fr 1.16fr; align-items:center; gap:64px; }
.method header h2 { max-width:520px; }
.method ol { list-style:none; padding:0; margin:0; }
.method li { display:grid; grid-template-columns:64px 1fr; align-items:center; gap:16px; padding:24px 0; margin:0; border-bottom:1px solid var(--line); }
.method li span { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; color:var(--muted); background:rgba(5,5,5,.06); font-family:"Bricolage Grotesque",sans-serif; font-size:32px; font-weight:600; }
h3 { font-size:32px; line-height:1.15; margin-bottom:12px; letter-spacing:-.03em; font-weight:600; }
.method li p { color:var(--muted); font-family:"Bricolage Grotesque",sans-serif; font-size:24px; line-height:1.33; margin-bottom:0; letter-spacing:-.015em; }
.motion-ready .hero-reveal,.motion-ready .reveal,.motion-ready .step-reveal { opacity:0; transform:translateY(14px); }
.motion-ready .hero-reveal { transition:opacity .52s ease var(--delay),transform .52s cubic-bezier(.22,1,.36,1) var(--delay); }
.motion-ready .reveal { transition:opacity .56s ease,transform .56s cubic-bezier(.22,1,.36,1); }
.motion-ready .step-reveal { transition:opacity .46s ease var(--delay),transform .46s cubic-bezier(.22,1,.36,1) var(--delay); }
.motion-ready .hero-reveal.is-visible,.motion-ready .reveal.is-visible,.motion-ready .reveal.is-visible .step-reveal { opacity:1; transform:translateY(0); }
.contact { padding:0 0 328px; max-width:1120px; margin:auto; }
.contact h2 { max-width:1000px; margin-bottom:24px; }
.maintainer-form { max-width:100%; display:grid; gap:32px; }
.form-row { display:grid; gap:24px; }
.form-row-two { grid-template-columns:1fr 1fr; }
.maintainer-form label { display:grid; gap:16px; font-family:"Bricolage Grotesque",sans-serif; font-size:24px; line-height:1.33; font-weight:400; letter-spacing:-.015em; }
.maintainer-form label span { color:var(--ink); }
.form-row-two label,.form-row-full { gap:0 !important; border-bottom:1px solid var(--line); padding:24px 0 12px; }
.form-row-two label span,.form-row-full span { color:rgba(5,5,5,.4); font-size:32px; font-weight:600; line-height:1.15; letter-spacing:-.03em; }
.maintainer-form input,.maintainer-form textarea,.maintainer-form select { width:100%; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:40px; padding:24px 32px; font:400 16px/1.5 "Bricolage Grotesque",sans-serif; letter-spacing:-.015em; outline:none; resize:vertical; }
.form-row-two input,.form-row-full input { min-height:48px; border:0; border-radius:0; padding:0; font-size:32px; font-weight:600; line-height:1.15; letter-spacing:-.03em; }
.form-row-two input::placeholder,.form-row-full input::placeholder { color:rgba(5,5,5,.4); opacity:1; }
.form-row-full input[aria-invalid="true"] { border-bottom:2px solid var(--ink); }
.field-error { margin:10px 0 0; color:rgba(5,5,5,.62); font:400 15px/1.4 "IBM Plex Sans",sans-serif; letter-spacing:-.015em; }
.form-row-two label:focus-within,.form-row-full:focus-within { border-bottom-color:var(--ink); }
.form-row-two label:focus-within span,.form-row-full:focus-within span { color:var(--ink); }
.maintainer-form input:focus,.maintainer-form textarea:focus,.maintainer-form select:focus { border-color:var(--ink); box-shadow:none; }
.maintainer-form textarea { min-height:240px; }
.support-options { padding:0; border:0; margin:0; }
.support-options legend { padding:0; margin:0 0 16px; font:400 24px/1.33 "Bricolage Grotesque",sans-serif; letter-spacing:-.015em; }
.support-options-list { display:flex; flex-wrap:wrap; gap:12px; }
.support-options label { display:block; position:relative; cursor:pointer; }
.support-options input { position:absolute; opacity:0; pointer-events:none; }
.support-options label span { display:block; padding:12px 18px; border-radius:999px; background:rgba(5,5,5,.07); color:rgba(5,5,5,.6); font:400 16px/1.5 "Bricolage Grotesque",sans-serif; letter-spacing:-.015em; transition:background .16s ease,color .16s ease,box-shadow .16s ease; }
.support-options input:checked + span { background:var(--ink); color:#fff; }
.support-options input:focus-visible + span { box-shadow:0 0 0 3px rgba(53,181,255,.45); }
.form-submit { justify-self:start; border:0; cursor:pointer; margin-top:2px; }
.form-submit:disabled { cursor:wait; opacity:.7; }
.form-status { min-height:24px; margin:0; color:var(--muted); font:400 16px/1.45 "IBM Plex Sans",sans-serif; letter-spacing:-.015em; }
.form-success { max-width:720px; padding:42px; border:1px solid var(--ink); border-radius:40px; background:var(--blue); }
.motion-ready .form-success { opacity:0; transform:translateY(12px); transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1); }
.motion-ready .form-success.is-visible { opacity:1; transform:translateY(0); }
.form-success .eyebrow { color:var(--ink); margin-bottom:18px; }
.form-success h3 { font-size:clamp(38px,4vw,56px); line-height:1; letter-spacing:-.04em; margin-bottom:16px; }
.form-success p:not(.eyebrow) { max-width:580px; color:rgba(5,5,5,.72); font:400 18px/1.45 "IBM Plex Sans",sans-serif; letter-spacing:-.015em; margin-bottom:30px; }
.form-success .secondary-button { background:#fff; }
.email { color:var(--ink); text-decoration:none; font-size:clamp(32px,3.4vw,50px); font-weight:600; letter-spacing:-.06em; border-bottom:2px solid var(--blue); }
.contact-note { margin:0; color:rgba(5,5,5,.4); font-family:"Bricolage Grotesque",sans-serif; font-size:16px; line-height:1.5; }
footer { border-top:1px solid var(--line); padding-top:40px; overflow:hidden; }
.footer-links { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:66px; }
.footer-intro { color:var(--muted); font-family:"Bricolage Grotesque",sans-serif; font-size:20px; line-height:1.4; margin:0; max-width:400px; }
.footer-links h3 { font-size:18px; margin:0 0 16px; letter-spacing:-.035em; }
.footer-links a,.footer-links span { display:block; color:var(--muted); font-family:"IBM Plex Sans",sans-serif; font-size:16px; line-height:1.5; text-decoration:none; }
.footer-mark { display:block; width:100%; height:auto; margin:0 0 -2px; }
@media (max-width:720px) { main,footer { padding-left:24px; padding-right:24px; } .nav { height:112px; margin:0 -24px; } .wordmark img { width:190px; } .hero { min-height:0; padding:150px 0 130px; text-align:left; } h1 { font-size:clamp(52px,15vw,78px); } .lead { margin:0; font-size:18px; } .hero-links { align-items:stretch; flex-direction:column; justify-content:flex-start; } .button,.secondary-button { width:100%; } .statement { padding-bottom:224px; } h2 { font-size:clamp(38px,10vw,58px); } .method { grid-template-columns:1fr; gap:54px; padding-bottom:224px; } .method li { grid-template-columns:52px 1fr; gap:14px; } .method li span { width:52px; height:52px; font-size:26px; } .method li p { font-size:18px; } h3 { font-size:25px; } .contact { padding-bottom:200px; } .form-row-two { grid-template-columns:1fr; } .form-row-two label span,.form-row-full span { font-size:26px; } .maintainer-form label { font-size:19px; } .maintainer-form textarea { min-height:180px; } .support-options legend { font-size:19px; } .support-options-list { gap:10px; } .support-options label { width:100%; } .support-options label span { text-align:center; } .form-submit { width:100%; } .form-success { padding:30px 24px; border-radius:20px; } .footer-links { grid-template-columns:1fr 1fr; gap:34px 24px; } .footer-intro { grid-column:1/-1; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
