    :root{--paper:#f5f3ed;--ink:#202b30;--muted:#5b6464;--red:#9f352e;--serif:Georgia,'Times New Roman',serif}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}a:focus-visible{outline:2px solid currentColor;outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}section{scroll-margin-top:35px}.wrap{width:min(1320px,100% - 112px);margin:auto}.hero{position:relative;min-height:850px;height:100svh;max-height:1200px;color:#fff;background:#16354d;isolation:isolate;display:flex;flex-direction:column}.hero{overflow:hidden}.hero:before{filter:blur(4px);transform:scale(1.025);content:'';position:absolute;inset:0;z-index:-2;background:url('./capitol.jpg') center 40%/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,23,33,.3),transparent 30%,rgba(7,22,31,.12) 42%,rgba(7,22,31,.9) 100%)}header{display:flex;align-items:center;justify-content:space-between;padding-top:30px;gap:32px}.brand{font-family:var(--serif);font-size:37px;letter-spacing:-1.7px;line-height:1.2}nav{display:flex;align-items:center;gap:36px;font-size:14px}.nav-cta{background:var(--paper);color:var(--ink);padding:11px 20px;border-radius:2px}.hero-body{margin-top:auto;padding-top:220px;padding-bottom:65px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.hero .eyebrow{margin-bottom:21px;color:#e5e9e8}h1{font-size:clamp(58px,6.3vw,92px);line-height:1.02;letter-spacing:-.055em;max-width:840px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:26px}.hero-description{font-size:17px;line-height:1.7;max-width:480px;color:#e0e5e6}.hero-link{display:inline-block;margin-top:24px;font-size:14px}.scroll-link{font-size:12px;white-space:nowrap;padding-bottom:5px;color:#dfe5e7}.intro{padding:120px 0 110px;display:grid;grid-template-columns:1fr 2fr;gap:75px}.intro .eyebrow{color:var(--red);padding-top:12px}h2{font-size:clamp(38px,4.4vw,64px);line-height:1.12;letter-spacing:-.045em}.intro-copy{max-width:790px}.intro-copy p{max-width:610px;color:var(--muted);font-size:18px;margin-top:30px}.work{padding:0 0 120px;display:grid;grid-template-columns:1fr 1fr;gap:70px 100px}.work article{max-width:520px}.work h3{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin-bottom:17px}.work p{color:var(--muted);max-width:465px;font-size:16px}.purpose{background:#e8e8df;padding:100px 0}.purpose-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.purpose h2{max-width:570px}.purpose p{color:#505b59;font-size:18px}.purpose .eyebrow{color:var(--red);margin-bottom:22px}.invitation{padding:120px 0 110px;text-align:center}.invitation .eyebrow{color:var(--red);margin-bottom:26px}.invitation h2{max-width:700px;margin:auto}.invitation p{max-width:475px;margin:24px auto 30px;color:var(--muted)}.button{display:inline-block;background:var(--red);color:white;padding:14px 27px;border-radius:2px;font-size:14px}.button:hover{background:#852a25;text-decoration:none}footer{padding:28px 0 40px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand{font-size:30px}footer .legal{display:flex;gap:25px;font-size:12px;color:var(--muted)}.footer-note{font-size:12px;color:var(--muted)}
    @media(min-width:1600px){.hero:before{background-position:center 45%}}@media(max-width:800px){.wrap{width:calc(100% - 48px)}.hero{min-height:740px;max-height:1000px}.hero:before{background-position:43% center}header{padding-top:24px}nav{gap:20px}nav .secondary{display:none}.brand{font-size:33px}.nav-cta{font-size:12px;padding:10px 14px}.hero-body{padding-bottom:42px}h1{font-size:clamp(53px,9vw,72px)}.hero-description{font-size:16px;max-width:410px}.scroll-link{display:none}.intro{padding:75px 0 60px;grid-template-columns:1fr;gap:22px}.intro-copy p{font-size:17px}.work{gap:45px;padding-bottom:75px}.work h3{font-size:27px}.purpose{padding:70px 0}.purpose-inner{grid-template-columns:1fr;gap:30px}.invitation{padding:80px 0}footer{flex-wrap:wrap}.footer-note{display:none}}@media(max-width:500px){.hero{min-height:730px}.hero:before{background-position:40% top}.hero-body{padding-top:230px}h1{font-size:55px}.hero-bottom{margin-top:22px}.work{grid-template-columns:1fr}.intro h2,.purpose h2,.invitation h2{font-size:41px}footer .legal{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
    .campaign-label{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;letter-spacing:0;text-transform:none}

    .opening{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;align-items:center;padding-top:120px;padding-bottom:120px}.opening .campaign-label{color:var(--red);margin-bottom:28px}.opening h2{font-size:clamp(45px,5.2vw,76px)}.section-copy{max-width:420px;margin:28px 0;color:var(--muted);font-size:18px}.text-cta{font-size:14px;font-weight:700}.opening-preview{background:#e6e4da;padding:32px}.preview-caption{font-size:11px;margin-bottom:20px;color:#58615f}.app-panel{background:#fff;padding:24px;box-shadow:0 20px 40px #172b3820}.app-heading{font:34px/1.2 Georgia,serif;letter-spacing:-.02em;display:flex;align-items:center;gap:16px;margin-bottom:18px}.pill{font:10px/1.5 Arial,sans-serif;padding:3px 7px;background:#e8f4eb;color:#216343;letter-spacing:0;white-space:nowrap}.pending{background:#fff4d9;color:#7d5511}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.metrics>div{background:#fff;border:1px solid #e4e7ee;padding:15px}.metrics strong{font-size:20px;display:block;font-weight:500;color:#0a1024}small{display:block;font:10px/1.6 Arial,sans-serif;color:#5b6478;margin-bottom:7px}.spotlight h3,.app-box h3{font-size:26px;letter-spacing:-.02em}.spotlight>p,.app-muted{color:#5b6478;font-size:12px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;font-size:12px}.facts b{font-weight:500}.note{background:#f5f6f8;padding:14px;font-size:12px;line-height:1.7}.product{background:#132944;color:#fff;padding:95px 0 80px}.product-intro{display:flex;justify-content:space-between;align-items:end;gap:50px}.product-intro p{max-width:385px;color:#c7d0da;font-size:17px}.product-tabs{display:flex;gap:12px;margin:45px 0 25px}.product-tabs button{font:600 14px Arial,sans-serif;color:#d9e0e8;background:transparent;border:0;padding:13px 22px;cursor:pointer;border-radius:2px}.product-tabs button[aria-selected=true]{background:#f5f3ed;color:#16294a}.product-tabs button:hover{background:#ffffff20}.product-tabs button[aria-selected=true]:hover{background:white}.product-tabs button:focus-visible{outline:2px solid white;outline-offset:4px}.product-window{background:#f7f8fa;color:#0a1024;box-shadow:0 30px 70px #06182d55}.app-top{background:white;padding:18px 27px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e7ee;font-size:11px;color:#5b6478}.app-top .brand{color:#16294a;font-size:28px}.view{padding:28px;min-height:475px}.view[hidden]{display:none}.call-layout{display:grid;grid-template-columns:1fr 1.4fr 1.1fr;gap:15px}.app-box{background:white;border:1px solid #e4e7ee;padding:20px}.donor-list p{padding:9px 8px;font-size:12px}.donor-list p span{display:block;font-size:10px;color:#5b6478}.donor-list .selected{background:#edf1f7}.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:24px}.outcomes span{background:#f3f4f7;padding:8px 5px;text-align:center;font-size:10px}.history{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e4e7ee;font-size:12px}.history b{font-weight:500}.demo-caption{font-size:11px;color:#b8c6d5;margin-top:18px}.view-caption{max-width:640px;font-size:22px;line-height:1.5;margin-top:35px}.sample-filters{display:flex;gap:20px;font-size:12px;margin:24px 0 12px}.sample-filters b{background:#16294a;color:#fff;padding:0 9px}.table-scroll{overflow-x:auto;margin-top:22px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap;text-align:left}th{font-size:10px;color:#5b6478;font-weight:600}td,th{padding:16px 14px;border-bottom:1px solid #e4e7ee}td{background:#fff}td small{margin:3px 0 0}.report-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:28px}.report-grid h3{font-size:21px;margin-bottom:18px}.editorial{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.editorial figure{margin:0;position:relative;min-height:580px;background:#c5c7c1}.editorial img{width:100%;height:100%;position:absolute;object-fit:cover;filter:grayscale(1);object-position:center}.editorial figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px;font-size:10px;color:white;background:linear-gradient(transparent,#0009)}.editorial-copy{padding:100px 65px;align-self:center}.editorial-copy .campaign-label{color:var(--red);margin-bottom:30px}.editorial-copy h2{font-size:clamp(38px,4vw,59px)}.editorial-copy>p:not(.campaign-label){color:var(--muted);margin-top:26px;max-width:460px}.closing{background:#8c302f;color:#fff;padding:90px 0 100px}.closing h2{font-size:clamp(45px,6vw,86px);margin-top:25px}.closing-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:38px}.closing-bottom p{color:#f0dedd}.closing .button{background:var(--paper);color:#722c2b;font-weight:700;padding:17px 27px}
    @media(max-width:1000px){.opening{gap:35px}.opening-preview{padding:20px}.app-panel{padding:18px}.metrics strong{font-size:17px}.editorial-copy{padding:65px 35px}.call-layout{grid-template-columns:1fr 1.3fr}.call-layout>.app-box:last-child{grid-column:1/-1}.outcomes{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:700px){.opening{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:40px}.opening-preview{padding:20px}.product{padding:65px 0}.product-intro{display:block}.product-intro p{margin-top:25px}.product-tabs{gap:0}.product-tabs button{padding:12px 14px;font-size:12px}.view{padding:16px}.app-top{padding:16px}.app-top>span:last-child{max-width:140px;text-align:right}.app-heading{font-size:27px;flex-wrap:wrap}.metrics{gap:6px}.metrics>div{padding:10px}.metrics strong{font-size:15px}.call-layout,.report-grid{grid-template-columns:1fr}.call-layout>.app-box:last-child{grid-column:auto}.donor-list{max-height:190px;overflow:auto}.editorial{grid-template-columns:1fr}.editorial figure{min-height:400px}.editorial-copy{padding:65px 24px}.closing{padding:65px 0}.closing-bottom{display:block}.closing .button{margin-top:28px}.view-caption{font-size:19px}}

    /* Text remains visible without JavaScript or when reduced motion is preferred. */
    .text-reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
    .text-reveal.is-visible{opacity:1;transform:translateY(0)}
    @media(prefers-reduced-motion:reduce){.text-reveal{opacity:1;transform:none;transition:none}}

    /* Original Donori mark, copied from marketing/app/globals.css. */
    .brand{display:inline-flex;align-items:center;gap:10px}
    .brand-mark{display:inline-block;width:28px;height:28px;background:#BF1B2C;flex-shrink:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transform:translateY(-3px)}
  

/* ─── Additions below. Everything above is concept.html's CSS, unchanged. ─── */

/* Waitlist form: sits where the concept's "Join the waitlist" button was, in the
   red closing band. The submit button keeps the concept's .closing .button look. */
.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}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.waitlist{max-width:540px}
.waitlist-row{display:flex;gap:10px;align-items:stretch}
.waitlist input[type=email]{flex:1 1 auto;min-width:250px;font:15px/1.2 Arial,Helvetica,sans-serif;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.6);border-radius:2px;padding:0 16px}
.waitlist input[type=email]::placeholder{color:rgba(255,255,255,.72)}
.waitlist input[type=email]:focus-visible{outline:2px solid #fff;outline-offset:2px}
.waitlist input[type=email]:disabled{opacity:.7}
button.button{border:0;font-family:inherit;line-height:inherit;cursor:pointer;white-space:nowrap}
button.button:disabled{opacity:.75;cursor:default}
button.button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.waitlist-msg{font-size:14px;margin-top:12px;color:#fff}
.waitlist-msg:empty{display:none}
.waitlist-msg.is-error{color:#ffd9d6}
.waitlist-legal{font-size:12px;margin-top:12px;color:rgba(255,255,255,.72)}
.waitlist-legal a{text-decoration:underline;text-underline-offset:2px}
.waitlist.is-success .waitlist-row,.waitlist.is-success .waitlist-legal{display:none}
.waitlist.is-success .waitlist-msg{font-size:17px;margin-top:0}
@media(max-width:700px){.waitlist{margin-top:28px}.waitlist-row{flex-direction:column}.waitlist input[type=email]{min-width:0;width:100%;padding:15px 16px}.closing .waitlist .button{margin-top:0}}

/* Privacy / Terms / 404: same header + footer, on the concept's paper. */
.legal-page header{padding-bottom:28px;border-bottom:1px solid #ddd9cf}
.legal-page .nav-cta{background:var(--ink);color:var(--paper)}
.doc{width:min(760px,100% - 112px);margin:auto;padding:80px 0 100px}
.doc h1{font-size:clamp(44px,5vw,64px);letter-spacing:-.045em;line-height:1.05}
.doc-meta{font-size:13px;margin-top:16px;color:var(--muted)}
.doc-lede{font-size:18px;margin-top:28px}
.doc section{margin-top:48px}
.doc h2{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.025em;margin-bottom:12px}
.doc section p{color:var(--muted)}
.doc section a{text-decoration:underline;text-underline-offset:2px}
.doc-links{display:flex;gap:24px;margin-top:64px;padding-top:28px;border-top:1px solid #ddd9cf;font-size:13px;color:var(--muted)}
.notfound{text-align:center;padding:140px 0 160px}
.notfound p{color:var(--muted);margin:22px auto 30px;max-width:420px}
@media(max-width:800px){.doc{width:calc(100% - 48px);padding:56px 0 72px}}
