@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Tokens are also distributed as assets/tokens.css. Kept inline here to avoid a second request. */
:root{--ink:#211b19;--walnut:#241914;--night:#181419;--paper:#f5eddf;--paper-deep:#e9dac3;--muted:#685b4e;--gold:#e2b96f;--copper:#8c4b24;--line:#cbb99e;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,Arial,sans-serif;--space:clamp(1.25rem,4vw,4.5rem);--max:1320px;--radius:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;text-wrap:balance}h1{font-size:clamp(3.5rem,5.4vw,6rem);letter-spacing:-.035em}h2{font-size:clamp(2.5rem,3.65vw,4.2rem);letter-spacing:-.035em}h3{font-size:2rem;letter-spacing:-.02em}p{max-width:70ch}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--copper)}button,summary,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}button,input{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #087f9b;outline-offset:5px;border-radius:2px}.hero a:focus-visible,.site-header a:focus-visible,.shared a:focus-visible,.site-footer a:focus-visible{outline-color:#ffd48d}#main:focus{outline:0}.wrap{width:min(calc(100% - var(--space)*2),var(--max));margin-inline:auto}.eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.7}.ornament{display:block;color:var(--copper);font-size:1.25rem;line-height:1}.skip-link{position:fixed;z-index:1000;top:.75rem;left:1rem;background:var(--paper);color:var(--ink);padding:.8rem 1.25rem;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus{clip-path:none;width:auto;height:auto;overflow:visible}
.site-header{position:relative;z-index:20;background:var(--night);color:var(--paper);border-bottom:1px solid #bd986333}.home .site-header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(#130d0be6,#130d0b55);border:0}.nav-wrap{width:min(calc(100% - var(--space)*2),1440px);margin:auto;min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #dbb77b44}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#edcc8e;white-space:nowrap}.brand img{width:59px;height:59px;object-fit:contain}.brand span{font-family:var(--serif);font-size:1.75rem;letter-spacing:.025em}.desktop-nav{display:flex;align-items:center;gap:clamp(1.3rem,2.5vw,2.8rem);font-size:.8rem}.desktop-nav a,.mobile-nav a{text-decoration:none;padding:.6rem 0}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--gold)}.desktop-nav a[aria-current=page]{box-shadow:0 1px 0 var(--gold)}.mobile-nav{display:none}.github-icon{width:1.15em;height:1.15em;fill:currentColor;flex-shrink:0;vertical-align:-.15em;margin-right:.45em}.github-link,.github-footer-link{white-space:nowrap}.github-link{border-left:1px solid #d3ac6c60;padding-left:1.7rem!important}
.hero{position:relative;isolation:isolate;min-height:min(970px,68vw);height:max(760px,65vw);max-height:1080px;color:#fff1d9;background:var(--night);overflow:hidden;text-align:center}.hero .scene{position:absolute;inset:0;z-index:-2}.hero .scene img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08060a10 0%,transparent 60%,#110b0e55 100%)}.hero-copy{padding-top:clamp(150px,12.5vw,220px);position:relative}.hero-copy .eyebrow{margin-bottom:1.2rem;color:#e7c894;text-shadow:0 2px 8px #000}.hero h1{max-width:900px;margin-inline:auto;text-shadow:0 2px 20px #100a15}.hero-subtitle{font-size:clamp(.95rem,1.25vw,1.2rem);margin:1.4rem auto 1.8rem;text-shadow:0 2px 8px #000}.actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:48px;padding:.8rem 1.4rem;border:1px solid transparent;border-radius:var(--radius);font-size:.82rem;line-height:1.5;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s}.button.primary{color:#21170e;background:linear-gradient(110deg,#ecc58c,#dba362);box-shadow:0 3px 12px #22120d30;border-color:#e4b57b}.button.primary:hover{background:#f1cf9d;transform:translateY(-2px)}.button.ghost{color:#fff1d9;border-color:#e4bc7b;background:#191319b8;box-shadow:0 3px 12px #110b0a50}.button.ghost:hover{background:#31212a}.status{display:inline-flex;align-items:center;gap:.5rem;font-size:.69rem;color:#62513e;line-height:1.5;max-width:100%;padding:.35rem .8rem;border:1px solid #b38b5a66;border-radius:30px;background:#ede0cc}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:#a65b1b;flex-shrink:0}.status.light{margin-top:1.5rem;color:#f2d5a6;background:#211722d9;border:1px solid #b38b5a66;padding:.35rem .8rem;border-radius:30px}.status.light:before{background:var(--gold)}.hero-bottom{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:.5rem;text-decoration:none;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;width:max-content;max-width:90%;text-shadow:0 1px 5px #000}.hero-bottom span:last-child{font-size:1.2rem}
.applications-feature{background:var(--paper);padding-top:3rem}.section-heading{text-align:center;padding-bottom:2.5rem}.section-heading .eyebrow{margin:1rem auto .65rem;color:var(--muted)}.section-heading h2{margin-bottom:.65rem}.section-heading>p:last-child{font-family:var(--serif);font-size:1.5rem;margin:auto}.worktable{position:relative;isolation:isolate;background:#38251b;padding-top:33.5vw;overflow:hidden}.table-scene{position:absolute;inset:0 0 auto;z-index:-2;width:100%}.table-scene img{width:100%;height:auto}.worktable:after{content:'';position:absolute;z-index:-1;inset:35vw 0 0;background:linear-gradient(transparent,#281d17 75%)}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:1440px;padding-bottom:1.8rem}.app-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--paper);padding:2rem 2rem 1.6rem;border-radius:5px;border:1px solid #d6bb8f;box-shadow:0 12px 28px #160a0355;text-align:center;transition:transform .22s}.app-card:hover,.app-card:focus-within{transform:translateY(-4px)}.app-card h3{font-size:3rem}.app-card .tagline{font-family:var(--serif);font-size:1.25rem;margin:.4rem 0 1rem}.upstream{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:.8rem;min-height:50px;text-decoration:none;margin-bottom:1.1rem}.upstream{flex-direction:column;gap:.25rem}.upstream-mark{display:flex;align-items:center;justify-content:center;width:180px;max-width:100%;height:76px}.upstream img{width:36px;height:auto;max-height:42px;object-fit:contain}.app-card.image .upstream img{width:46px;max-height:none}.upstream img.wide-logo{width:auto;height:76px;max-height:none}.upstream.fallback{font-family:var(--sans);color:#4a3930;border-block:1px solid #cfbda455;min-height:50px}.upstream.fallback:before{content:'↳';color:var(--copper);font-size:1.1rem}.app-description{font-size:.82rem;line-height:1.7;margin-bottom:1.3rem}.app-card .status{align-self:center;justify-content:center;margin-top:auto;margin-bottom:.9rem}.app-card .button{align-self:center;width:100%;max-width:260px}.app-destination{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;margin:.65rem 0 0;color:var(--muted)}.device-view{position:absolute;bottom:calc(100% + 2vw);height:25vw;pointer-events:none;width:100%;left:0}.mobile-device{display:none}.applications-note{padding:1.4rem 0 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.applications-note p{font-size:.66rem;color:var(--muted);max-width:80ch}.text-link{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-size:.8rem;line-height:1.5;border-bottom:1px solid currentColor;padding:.4rem 0;white-space:normal}.applications-note .text-link{flex-shrink:0;color:var(--copper)}
.shared{background:var(--night);color:var(--paper)}.shared-scene{position:relative;isolation:isolate;min-height:510px;display:flex;align-items:center}.shared-scene>.scene{position:absolute;inset:0;z-index:-2}.shared-scene>.scene img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.shared-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#181419ee 0%,#181419b5 32%,#18141911 65%),linear-gradient(0deg,var(--night),transparent 20%)}.shared-copy{padding-block:3.6rem}.shared-copy .eyebrow{color:var(--gold);margin-bottom:1rem}.shared-copy h2{font-size:clamp(3.2rem,4.5vw,5rem);margin-bottom:1.25rem}.shared-copy p:not(.eyebrow){font-size:.9rem;max-width:43ch;color:#eadfce;margin-bottom:.9rem}.shared-copy .text-link{color:var(--gold);margin-top:.5rem}.layers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-block:1.7rem 1rem}.layer{padding:0 1.6rem;border-left:1px solid #ad87594d}.layer:first-child{border:0;padding-left:0}.layer:last-child{padding-right:0}.layer-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;color:var(--gold)}.layer-top svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}.layer h3{font-size:1.7rem}.layer p{font-size:.73rem;color:#d2c4b4;line-height:1.65}.layer a{font-size:.68rem;display:inline-block;padding-top:.7rem;color:#ecd5ad}.shared-boundary{font-size:.67rem;color:#c5b5a5;padding-block:1rem 2.3rem;max-width:var(--max)}
.milestones{padding-block:4.5rem}.milestone-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.3rem}.milestone-intro .eyebrow{color:var(--muted);margin-bottom:1rem}.milestone-intro h2{font-size:clamp(2.3rem,3vw,3.4rem);max-width:19ch}.milestone-intro .text-link{color:var(--copper);max-width:250px}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem}.milestone-grid article{border-top:1px solid var(--line);padding-top:1.2rem}.milestone-date{font-size:.65rem;color:var(--muted);margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.03em}.milestone-grid h3{font-size:1.8rem;margin-bottom:.8rem}.milestone-grid article>p:not(.milestone-date){font-size:.8rem;line-height:1.8}.milestone-grid a{display:inline-block;font-size:.73rem;color:var(--copper);padding-top:1rem}.milestone-limit{font-size:.72rem;color:var(--muted);margin-top:2rem;max-width:100ch}.invitation{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:46% 1fr;min-height:clamp(540px,30vw,700px);background:var(--paper);border-top:1px solid #d4bea0}.invitation-copy{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:3.5rem var(--space)}.invitation-copy .eyebrow{color:var(--muted);margin:1.2rem 0 .8rem}.invitation-copy h2{font-size:clamp(2.8rem,3.8vw,4.2rem);margin-bottom:1.1rem}.invitation-copy p:not(.eyebrow){font-size:.85rem;line-height:1.8;margin-bottom:1.6rem}.invitation>.scene{position:absolute;inset:0 0 0 36%;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 24%)}.invitation>.scene img{height:100%;width:100%;object-fit:cover;object-position:center 60%}.invitation-links{display:flex;justify-content:center;gap:.5rem 1.4rem;flex-wrap:wrap;margin-top:1.2rem;font-size:.68rem;color:#624226}.site-footer{background:var(--night);color:#d6c8b5;padding:2.5rem 0 1.2rem}.footer-main{display:flex;align-items:center;gap:2.5rem;justify-content:space-between;padding-bottom:2rem}.footer-main p{font-size:.73rem;line-height:1.8}.footer-main nav{display:flex;gap:1.5rem;flex-wrap:wrap;max-width:440px;font-size:.73rem}.footer-main nav a{text-decoration:none}.footer-bottom{border-top:1px solid #a77e5044;padding-top:1.3rem;display:flex;justify-content:space-between;gap:1.5rem;font-size:.63rem}.footer-bottom nav{display:flex;gap:1.3rem;flex-wrap:wrap}
/* Document and index pages share the same layout and source navigation. */
.page-hero{background:var(--night);color:var(--paper);padding:4.5rem 0 4rem;border-bottom:3px solid #b58d52}.page-hero .eyebrow{color:var(--gold);margin-bottom:1rem}.page-hero h1{font-size:clamp(3.2rem,5vw,5rem);margin-bottom:1.3rem}.page-hero .lead{font-family:var(--serif);font-size:1.6rem;max-width:55ch;line-height:1.4;color:#e3d4be}.page-body{padding-block:3.3rem 4.5rem}.page-body h2{font-size:2.6rem;margin-bottom:1.2rem}.page-body p+p{margin-top:1rem}.page-intro{color:var(--muted);font-size:.9rem;margin-bottom:2.5rem}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.portal-card{padding:1.7rem 0;border-top:1px solid var(--line)}.portal-card .number{font-size:.7rem;color:var(--copper);letter-spacing:.12em;margin-bottom:.7rem}.portal-card h2{font-size:2.2rem;margin-bottom:.8rem}.portal-card p{font-size:.85rem;color:var(--muted)}.portal-card ul{padding:0;list-style:none;margin:1rem 0 0}.portal-card li+li{margin-top:.45rem}.portal-card a{display:inline-block;padding:.3rem 0;font-size:.8rem;color:#70431f}.page-note{margin-top:2.5rem;padding:1.5rem 1.7rem;background:#eadfcf;border-left:3px solid var(--copper);font-size:.85rem}.page-note h2{font-size:1.8rem}.application-list{padding:0;margin:0;list-style:none}.application-row{display:grid;grid-template-columns:170px 1fr 220px;gap:2rem;border-top:1px solid var(--line);padding:1.8rem 0}.application-row h2{font-size:2.4rem;margin:0}.application-row .upstream-line{font-size:.68rem;color:var(--muted);margin-top:.3rem}.application-row p{font-size:.85rem}.application-row .scope{font-size:.74rem;color:var(--muted);margin-top:.65rem}.application-row .row-action{display:flex;align-items:flex-start;flex-direction:column;gap:.6rem}.application-row .text-link{font-size:.76rem;color:var(--copper)}.prose{max-width:850px;margin-inline:auto}.prose h2{margin-top:2.2rem}.prose h3{font-size:1.7rem;margin-top:1.5rem}.prose p,.prose li{font-size:.94rem;line-height:1.9}.prose ul{padding-left:1.2rem}.prose li+li{margin-top:.6rem}.prose a{color:#794019}.credit-list{display:grid;gap:2rem}.credit-item{border-top:1px solid var(--line);padding-top:1.5rem}.credit-item h2{font-size:2rem}.credit-item p{font-size:.85rem}.example-notice{background:#eadbc2;padding:1rem;text-align:center;font-size:.8rem}.error-page{min-height:55vh}.not-found-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

@media(max-width:1100px){.desktop-nav{gap:1.2rem;font-size:.72rem}.brand span{font-size:1.5rem}.brand img{width:48px;height:48px}.nav-wrap{gap:1rem;min-height:88px}.github-link{padding-left:1rem!important}.app-grid{gap:1rem}.app-card{padding:1.5rem 1rem}.app-description{font-size:.75rem}.app-card .tagline{font-size:1.13rem}.app-card h3{font-size:2.5rem}.upstream{font-size:.72rem}.layers{gap:1rem}.layer{padding:0 .7rem}.footer-main{gap:1.5rem;flex-wrap:wrap}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.application-row{grid-template-columns:140px 1fr 185px;gap:1.2rem}}
@media(max-width:800px){.desktop-nav{display:none}.mobile-nav{display:block;font-size:.8rem}.mobile-nav summary{display:flex;list-style:none;gap:.7rem;align-items:center;min-height:48px;padding:.7rem;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;left:var(--space);right:var(--space);top:calc(100% - 4px);padding:1rem 1.5rem;background:#211920;border:1px solid #8b6940;box-shadow:0 15px 30px #0006;display:grid;gap:.1rem}.mobile-nav nav a{min-height:44px;display:flex;align-items:center}.mobile-nav .github-link{border-left:0;border-top:1px solid #9c774b66;padding-left:0!important}.mobile-nav [aria-current=page]{color:var(--gold)}.hero{height:760px;min-height:0;max-height:none}.hero-copy{padding-top:154px}.hero h1{font-size:clamp(3.2rem,7.8vw,4.6rem)}.hero-subtitle{max-width:36ch;font-size:.93rem}.hero .scene img{object-position:40% center}.hero .scene{inset:0}.hero:after{background:linear-gradient(#110e16aa 0%,#110e1644 45%,transparent 70%,#110b0e88)}.hero-bottom{bottom:1.5rem}.shared-scene{min-height:540px}.shared-copy p:not(.eyebrow){max-width:40ch}.shared-scene:after{background:linear-gradient(90deg,#181419f2,#181419aa 55%,#18141922),linear-gradient(0deg,var(--night),transparent 20%)}.layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 1rem}.layer{padding:0 .9rem}.layer:nth-child(4){border:0;padding-left:0}.layer p{font-size:.76rem}.milestone-grid{gap:1.5rem}.milestone-intro{align-items:flex-start;flex-direction:column;gap:1rem}.milestones{padding-block:3rem}.invitation{grid-template-columns:1fr;min-height:0}.invitation>.scene{position:relative;inset:auto;z-index:0;width:100%;height:380px;grid-row:2;margin-top:-2rem;mask-image:linear-gradient(180deg,transparent,#000 20%)}.invitation>.scene img{object-position:center 55%}.invitation-copy{padding-block:3rem}.application-row{grid-template-columns:110px 1fr}.application-row .row-action{grid-column:2}.footer-bottom{flex-direction:column;gap:1rem}}
@media(max-width:650px){:root{--space:1.25rem}.brand span{font-size:1.45rem}.nav-wrap{min-height:82px}.brand img{width:47px;height:47px}.hero{height:760px}.hero-copy{padding-top:146px}.hero h1{font-size:clamp(2.9rem,11.6vw,4rem);line-height:1.02}.hero-copy .eyebrow{font-size:.59rem;margin-bottom:1.2rem}.hero-subtitle{font-size:.85rem;max-width:30ch;line-height:1.8;margin-top:1.25rem}.actions{flex-direction:column;align-items:center;gap:.7rem}.actions .button{width:245px;max-width:100%;font-size:.76rem}.status.light{margin-top:1.2rem}.hero .scene img{object-fit:cover;object-position:32% center}.hero-bottom{font-size:.55rem;bottom:1.3rem}.applications-feature{padding-top:2.5rem}.section-heading{padding-bottom:2rem}.section-heading h2{font-size:2.65rem;max-width:14ch;margin-inline:auto;line-height:1.04}.section-heading>p:last-child{font-size:1.3rem;max-width:26ch;line-height:1.35}.section-heading .eyebrow{font-size:.6rem}.worktable{padding:0;background:var(--walnut)}.table-scene{display:none}.worktable:after{display:none}.app-grid{display:block;width:100%;padding:0}.app-card{display:grid;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;text-align:center;transform:none!important}.device-view{position:relative;left:auto;bottom:auto;height:auto;width:100%;aspect-ratio:600/560;overflow:hidden;grid-row:1}.mobile-device{display:block;position:absolute;inset:0}.mobile-device img{width:100%;height:100%;object-fit:cover}.app-card.image .device-view{aspect-ratio:500/470}.app-card.cloud .device-view{aspect-ratio:486/480}.app-content{position:relative;padding:1.8rem 1.5rem 2.3rem;background:var(--paper);margin:0 1.1rem 1.1rem;border:1px solid #d6bb8f;border-radius:4px}.app-card h3{font-size:2.8rem}.app-card .tagline{font-size:1.3rem;margin:.4rem auto .8rem}.upstream{margin-bottom:.9rem}.app-description{font-size:.83rem;max-width:34ch;margin:0 auto 1.1rem}.app-card .status{display:flex;font-size:.68rem;margin-bottom:1rem}.app-card .button{width:100%}.applications-note{flex-direction:column;text-align:center;gap:.9rem;padding:1.4rem 0 1.8rem}.applications-note p{font-size:.63rem}.shared-scene{min-height:650px;align-items:flex-start}.shared-copy{padding-top:2.8rem}.shared-copy h2{font-size:3.4rem}.shared-copy p:not(.eyebrow){font-size:.83rem;max-width:35ch}.shared-scene>.scene img{object-position:66% center}.shared-scene:after{background:linear-gradient(#181419f5,#181419d9 47%,#18141911 78%,var(--night))}.layers{grid-template-columns:1fr 1fr;gap:1.6rem 1rem;padding-top:.5rem}.layer{padding:0 0 0 1rem}.layer:nth-child(odd){padding-left:0;border:0}.layer:nth-child(4){border-left:1px solid #ad87594d;padding-left:1rem}.layer:last-child{grid-column:1/-1;padding-top:1rem;border-top:1px solid #ad87594d}.layer h3{font-size:1.7rem}.layer-top{gap:.5rem}.layer p{font-size:.74rem}.layer a{font-size:.7rem;padding-block:.6rem}.shared-boundary{font-size:.65rem;padding-bottom:2rem}.milestone-grid{grid-template-columns:1fr;gap:1.8rem}.milestone-grid article{padding-top:1.2rem}.milestone-grid h3{font-size:2rem}.milestone-grid article>p:not(.milestone-date){font-size:.83rem}.milestone-limit{font-size:.71rem}.milestone-intro h2{font-size:2.65rem}.invitation-copy h2{font-size:3rem}.invitation-copy p:not(.eyebrow){font-size:.8rem}.invitation-links{flex-direction:column;gap:.9rem;font-size:.73rem}.invitation>.scene{height:300px}.footer-main{flex-direction:column;align-items:flex-start;gap:1.4rem}.footer-main nav{gap:1rem 1.5rem;font-size:.73rem}.footer-main nav a,.footer-bottom nav a{padding:.4rem 0}.footer-bottom{font-size:.64rem}.footer-bottom nav{gap:.5rem 1.2rem}.page-hero{padding-block:3rem}.page-hero h1{font-size:3.3rem}.page-hero .lead{font-size:1.45rem}.page-body{padding-block:2rem 3rem}.portal-grid{grid-template-columns:1fr;gap:.5rem}.portal-card{padding:1.7rem 0}.portal-card a{padding-block:.5rem}.application-row{display:block;padding:1.6rem 0}.application-row h2{font-size:2.2rem}.application-row .upstream-line{margin-bottom:.9rem}.application-row .row-action{margin-top:1rem}.page-note{padding:1.2rem}.prose p,.prose li{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.app-card:hover,.button.primary:hover{transform:none}}
@media(forced-colors:active){.button,.app-card,.status,.mobile-nav nav{border:1px solid CanvasText}.scene,.table-scene,.mobile-device{opacity:.25}.hero:after,.shared-scene:after{background:Canvas}.status:before{background:CanvasText}a:focus-visible,summary:focus-visible{outline:3px solid Highlight}}
@media print{.site-header,.scene,.table-scene,.device-view,.hero-bottom,.site-footer{display:none}.hero{height:auto;min-height:0;color:#000;background:none}.hero-copy{padding:2rem 0}.worktable{padding:0}.app-grid{display:block}.app-card{box-shadow:none;border:1px solid #888;margin-bottom:1rem}.shared{color:#000;background:none}.shared-copy p:not(.eyebrow),.layer p,.shared-boundary{color:#000}.shared-scene{min-height:0}.invitation{display:block;min-height:0}.milestones,.invitation-copy{padding:2rem 0}a{color:#000}}
/* Panoramic device coordinates follow the 1536 × 710 source image. */
@media(min-width:651px){.worktable{padding-top:44vw}.app-card .device-view{display:none}.app-content{display:flex;flex-direction:column;flex:1}.panorama-screens{position:absolute;top:0;left:0;width:100%;aspect-ratio:1536/710;pointer-events:none;z-index:-1}.worktable:after{inset:42vw 0 0}.app-card .status{margin-top:auto}.app-card .app-description{flex:1}}

@media(min-width:1921px){.worktable{padding-top:44vw}.table-scene{height:auto}.table-scene img{height:auto;object-fit:fill}}
.hero-copy .eyebrow{margin-inline:auto}.external-icon{display:inline-block;width:.9em;height:.9em;vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.upstream.fallback:before{content:'';width:5px;height:5px;background:var(--copper);border-radius:50%}
@media(max-width:800px){.hero{height:760px}}
@media(max-width:800px){.hero .scene img{object-position:center center}.hero:after{background:linear-gradient(#110e1633,transparent 55%,#110b0e44)}}
/* Let the desktop artwork determine the section height. No cover crop or cap. */
@media(min-width:801px){
  .hero{display:grid;height:auto;min-height:0;max-height:none}
  .hero .scene{position:relative;inset:auto;grid-area:1/1;align-self:start}
  .hero .scene img{width:100%;height:auto;object-fit:contain}
  .hero-copy{grid-area:1/1;align-self:start;padding-bottom:6rem}
}
@media(min-width:651px){.applications-feature{padding-top:0;position:relative}.applications-feature>.section-heading{position:absolute;top:2.7vw;left:var(--space);z-index:3;color:var(--paper);text-shadow:0 2px 12px #100b0b;width:calc(100% - var(--space)*2);max-width:none;padding:0}.applications-feature .section-heading .eyebrow{display:none}.applications-feature .section-heading .ornament{color:var(--gold);margin-bottom:.6rem}.applications-feature .section-heading h2{font-size:clamp(1.8rem,3.65vw,4.2rem)}.applications-feature .section-heading>p:last-child{font-size:clamp(1.1rem,1.75vw,1.6rem)}.worktable:before{content:'';position:absolute;top:0;left:0;right:0;height:19vw;background:linear-gradient(#110b0bb3,#110b0b55,transparent);z-index:-1}.applications-note{background:var(--paper);width:100%;padding-inline:var(--space);max-width:none}}
/* Reflow also when users enlarge text without changing the viewport. */
h1,h2,h3{overflow-wrap:anywhere}.brand{max-width:100%;min-width:0}.brand span{min-width:0;overflow-wrap:anywhere}.brand img{flex-shrink:0}.app-content,.layer{min-width:0}.layer-top{flex-wrap:wrap}
@media(max-width:800px){.nav-wrap{flex-wrap:wrap;gap:.2rem 1rem;padding-block:.3rem}.brand{white-space:normal}.home .site-header{position:relative;background:var(--night)}.hero{height:auto;min-height:720px;padding-bottom:5rem}.hero-copy{padding-top:4rem}.hero-bottom{bottom:1.3rem}}
@media(max-width:650px){.app-card{grid-template-columns:minmax(0,1fr)}.app-content{min-width:0}.layers{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}}
/* Defer off-screen layout and image decoding without hiding DOM content. */
@supports(content-visibility:auto){.app-card{content-visibility:auto;contain-intrinsic-size:auto 420px}.shared{content-visibility:auto;contain-intrinsic-size:auto 740px}.milestones{content-visibility:auto;contain-intrinsic-size:auto 600px}.invitation{content-visibility:auto;contain-intrinsic-size:auto 480px}@media(max-width:650px){.app-card{contain-intrinsic-size:auto 760px}.shared{contain-intrinsic-size:auto 1100px}.milestones{contain-intrinsic-size:auto 1000px}.invitation{contain-intrinsic-size:auto 800px}}}

/* The same SVG coordinate frame follows the panorama and each mobile crop. */
.device-screens{position:absolute;inset:0;width:100%;height:auto;pointer-events:none;overflow:hidden}
.screen{position:absolute;left:0;top:0;max-width:none;border:0;border-radius:3px;transform-origin:0 0;object-fit:contain;background:#121212}
.screen-image{background:#000}.screen-cloud{background:#fff;object-position:center top}
.screen-image{clip-path:polygon(0 0,100% 0,100% 88%,98% 92%,97% 100%,0 100%)}
@media(min-width:651px){
  .app-grid{width:90%;max-width:none;gap:clamp(1rem,3vw,5rem)}
  .app-card{width:100%;max-width:440px;justify-self:center}
}
@media(max-width:650px){.panorama-screens{display:none}}
/* Keep the shared six-link header usable when text alone is enlarged. */
.nav-wrap,.desktop-nav{flex-wrap:wrap}.desktop-nav{max-width:100%}.page-hero .lead{overflow-wrap:anywhere}
