/* Newman AI Works — Night gallery. One stylesheet for every route. */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces/Fraunces-Soft-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree/Figtree-Variable.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}

:root{
  color-scheme:dark;
  --paper:#050807;--paper-deep:#1b2422;--surface:#111816;--ink:#eef4ef;--muted:#a9b8b1;--label:#c8d5ce;--on-glass:#06120e;
  --clay:#b0e9d4;--clay-bright:#ee9468;--mint:rgba(74,222,154,.2);--sun:rgba(243,169,60,.22);--sky:rgba(111,195,245,.22);--yellow:#f0d441;
  --case:#080c0b;--case-text:#eef4ef;--case-muted:#a9b8b1;--case-line:rgba(255,255,255,.14);
  --amber:#f3a93c;--blue:#6fc3f5;--green:#4ade9a;--glass:#b0e9d4;
  --line:1px solid rgba(255,255,255,.12);--hair:1px solid rgba(255,255,255,.09);
  --r-s:.7rem;--r-m:1.1rem;--r-l:1.6rem;--r-xl:2.2rem;--pill:999px;
  --shadow-s:0 0 0 1px rgba(255,255,255,.1),0 1.2rem 2rem -1.3rem #000;
  --shadow-m:0 0 0 1px rgba(255,255,255,.15),0 1.8rem 3rem -1.5rem #000;
  --ease:cubic-bezier(.22,1,.36,1);--card-pad:min(1.4rem,4.5vw);
  --gutter:clamp(1.25rem,5vw,4.5rem);--max:90rem;
  --pad:max(var(--gutter),calc((100% - var(--max)) / 2));
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --accent:var(--glass);
}
.theme-yellow{--accent:var(--amber)}.theme-blue{--accent:var(--blue)}.theme-sage{--accent:var(--green)}.theme-clay{--accent:var(--clay-bright)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:1rem;overflow-x:clip;background:var(--paper)}
body{display:flow-root;margin:0;background:radial-gradient(70rem 40rem at 100% 0,rgba(176,233,212,.1),transparent 70%),radial-gradient(60rem 36rem at 0 22rem,rgba(243,169,60,.07),transparent 70%),var(--paper);background-repeat:no-repeat;color:var(--ink);font:1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,picture{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ol,ul,dl,dd,figure,blockquote{margin:0;padding:0}
ol,ul{list-style:none}
a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:.07em}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--clay-bright);outline-offset:3px;border-radius:.4rem}
.jelly-case :focus-visible,.site-footer :focus-visible{outline-color:var(--yellow)}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:20;background:var(--glass);color:var(--on-glass);padding:.8rem 1.2rem;border-radius:var(--pill);font-weight:600}
.skip-link:focus{top:1rem}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1;letter-spacing:-.03em;overflow-wrap:break-word;word-break:normal;hyphens:manual;text-wrap:balance}
h1{font-size:clamp(min(2.4rem,10.5vw),5vw,4.4rem);line-height:1;letter-spacing:-.025em}
h2{font-size:clamp(min(1.9rem,8.6vw),3.6vw,3.1rem)}
h3{font-size:min(1.4rem,7.5vw);line-height:1.08;letter-spacing:-.02em}

/* Small labels: soft sans, never mono */
.rebuild-kicker,.page-hero-meta,.crumbs,.facts dt,.ledger-head span,.ledger-category,.ledger-foot p,.work-catalog-result,.notes-page-position,.notes-results-heading p,.notes-result-cat,.notes-result-time,.note-meta,.note-short h2,.link-list small,.fact-list dt,.case-plate,.jelly-hint,.lab-controls label,.work-catalog-filters summary span,.work-catalog-toolbar label span,.notes-filter-group label,.legal-rebuild-hero strong,.legal-page-rail span,.site-footer h2,.eyebrow,[data-l]::before{font:700 .8rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--label)}

/* Header */
.site-header{position:relative;z-index:10;display:flex;align-items:center;gap:.4rem 1.4rem;flex-wrap:wrap;min-height:3.6rem;margin:.8rem var(--pad) 0;padding:.35rem 0,0 0 0 1px rgba(255,255,255,.12),0 14px 30px -16px #000}
.brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0;min-height:2.75rem;text-decoration:none;margin-right:auto;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.brand-mark img{width:2.2rem;height:2.2rem;border-radius:.7rem;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
@keyframes jelly-wobble{0%{transform:scale(1)}22%{transform:scale(1.16,.84)}42%{transform:scale(.9,1.1)}60%{transform:scale(1.07,.94)}78%{transform:scale(.97,1.03)}100%{transform:scale(1)}}
.brand-mark img{transform-origin:50% 88%}
.brand:hover .brand-mark img,.brand:focus-visible .brand-mark img{animation:jelly-wobble .8s cubic-bezier(.3,.7,.4,1)}
.brand-type{display:flex;flex-wrap:wrap;gap:0 .28em;min-width:0;font-size:clamp(1.05rem,4.6vw,1.16rem);font-weight:700;line-height:1.2;white-space:nowrap}
.product-brand .brand-type{display:grid;gap:0}
.product-brand .brand-type span+span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;white-space:normal;color:var(--muted)}
.site-nav{display:flex;flex-wrap:wrap;gap:.2rem .3rem}
.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.4rem 1rem;border-radius:var(--pill);font-size:.95rem;font-weight:600;color:#cfdcd5;text-decoration:none}
.site-nav a:hover{background:rgba(255,255,255,.08)}
.site-nav a[aria-current="page"]{background:var(--glass);color:var(--on-glass)}
.site-menu-toggle{display:none;align-items:center;gap:.6rem;min-width:2.75rem;min-height:2.75rem;padding:.5rem 1.1rem;border:0;border-radius:var(--pill);background:rgba(255,255,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 22px -14px #000;font-size:.92rem;font-weight:600;cursor:pointer}
.site-menu-toggle[aria-expanded="true"]{background:var(--glass);color:var(--on-glass)}
.site-menu-icon{display:grid;gap:4px;width:1.1rem}
.site-menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor}
.product-status-cta{font:600 .8rem/1.3 var(--sans);border-radius:var(--pill);background:var(--mint);padding:.5rem .9rem}
@media (max-width:1239px){.product-status-cta{display:none}}
@media (max-width:359px){.site-header{column-gap:.6rem}.site-menu-toggle{padding-inline:.85rem}.product-brand .brand-type span+span{display:none}}
@media (max-width:820px){
  .site-menu-toggle{display:inline-flex}
  .site-nav{flex-basis:100%;flex-direction:column;flex-wrap:nowrap;gap:.2rem;padding:.5rem;border-radius:var(--r-l);background:var(--paper-deep);box-shadow:var(--shadow-m)}
  .js-ready .site-header{flex-wrap:nowrap}
  .brand{flex:0 1 auto}
  .js-ready .site-nav{position:absolute;top:calc(100% + .3rem);left:0;right:0;transform-origin:100% 0;animation:menu-in .24s var(--ease)}
  .site-nav a{min-height:3rem;justify-content:flex-start;border-radius:var(--r-m)}
  .js-ready .site-nav:not([data-open="true"]){display:none}
  .js-ready .site-header:has(.site-nav[data-open="true"])::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(5,8,7,.66);animation:fade-in .24s ease}
}

/* Shared pieces */
.rebuild-main{display:block}
.rebuild-main>*,.note-article>*{padding-inline:var(--pad)}
.note-article{padding-inline:0}
.rebuild-kicker{display:block;margin-bottom:.9rem}
.rebuild-lede{font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.5;max-width:36rem}
.rebuild-actions{display:flex;flex-wrap:wrap;gap:.7rem .8rem;align-items:center}
.rebuild-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;max-width:100%;min-height:2.9rem;padding:.7rem min(1.35rem,5vw);text-align:center;border:1.5px solid transparent;border-radius:var(--pill);font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease)}
.rebuild-button-dark,.button-dark{background:linear-gradient(180deg,#d2f7e6,#9fe3c8);color:var(--on-glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 28px -6px rgba(176,233,212,.55)}
.rebuild-button-dark:hover,.button-dark:hover{transform:translateY(-2px)}
.rebuild-button:active,.button:active{transform:scale(.97)}
.rebuild-button-light{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}
.rebuild-button-light:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.45)}
.rebuild-text-link,.text-link{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;font-weight:600;color:var(--clay)}
.rebuild-text-link:hover,.text-link:hover{color:var(--ink)}
.rebuild-section-heading{margin-bottom:2rem}
.rebuild-section-heading::before,.split>div:first-child::before,.notes-layout>aside::before{content:"";display:block;width:2.9rem;height:.55rem;margin-bottom:1.2rem;border-radius:var(--pill);background:linear-gradient(180deg,#c9f4e4,#9bdcc3)}
.rebuild-section-heading p{color:var(--muted);margin-top:.9rem;max-width:38rem}
.section{padding-top:clamp(3.5rem,7vw,6rem)}
.section:last-child{padding-bottom:clamp(3.5rem,7vw,6rem)}

.page-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem 3.5rem;align-items:end;padding-top:clamp(2rem,4.5vw,3.6rem);padding-bottom:clamp(2rem,4vw,3rem)}
.page-hero h1{font-size:clamp(min(2.5rem,11vw),5.2vw,4.6rem)}
.page-hero p{max-width:34rem}
.page-hero .rebuild-actions{margin-top:1.3rem}
.page-hero-meta{margin-top:1rem}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;margin-bottom:1.2rem}
.crumbs a{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem}
@media (max-width:900px){.page-hero{grid-template-columns:minmax(0,1fr)}}

/* Status pills: text plus shape, never colour alone */
.work-status{display:inline-flex;flex-wrap:wrap;max-width:100%;align-items:center;gap:.5rem;padding:.42rem .85rem .42rem .7rem;border-radius:var(--pill);background:rgba(255,255,255,.08);font:600 .82rem/1.25 var(--sans)}
.work-status strong{font-weight:700}
.work-status i{flex:none;width:.6rem;height:.6rem;border:2px solid var(--ink);border-radius:50%}
.work-status.status-available{background:var(--mint)}
.work-status.status-available i{background:#7fe8b4;border-color:#7fe8b4}
.work-status.status-review{background:var(--sun)}
.work-status.status-review i{border-color:#f1c56b}
.work-status.status-testing{background:var(--sky)}
.work-status.status-testing i{border-color:#8fd2f7;border-radius:.15rem}
.work-status.status-soon i{border-style:dashed}
.status-stack{display:flex;flex-wrap:wrap;gap:.45rem}

/* Specimen cases: the jelly's home on paper */
.specimen{position:relative;overflow:hidden;background:var(--case);border-radius:var(--r-l);aspect-ratio:1}
.specimen img{width:100%;height:100%;object-fit:cover}
.specimen-icon{display:grid;place-items:center;background:radial-gradient(ellipse 70% 34% at 50% 86%,color-mix(in srgb,var(--accent) 42%,transparent),transparent 72%),radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 62%),var(--case)}
.specimen-icon img{width:56%;height:auto;border-radius:22%}
.specimen-icon span{display:grid;place-items:center;width:58%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--accent) 70%,transparent);border-radius:28% 34% 30% 36%;background:color-mix(in srgb,var(--accent) 12%,transparent);font:700 2.4rem/1 var(--display);color:var(--accent)}
.jelly-case{display:grid;color:var(--case-text)}
.jelly-case:has(.specimen-icon){background:var(--case);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-m)}
.jelly-case>.specimen:not(.specimen-icon){overflow:visible;border-radius:0;background:none;mix-blend-mode:screen}
.jelly-case>.specimen:not(.specimen-icon) img,.hero-jelly img{-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.case-plate{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1.4rem;padding:.9rem 1.3rem 1rem;color:var(--case-muted)}
.jelly-case:has(.specimen-icon) .case-plate{justify-content:space-between}

/* Soft slab: a tinted rounded panel for a short row of principles */
.rebuild-main>.band-soft{margin:clamp(3.5rem,7vw,6rem) var(--pad) 0;padding:clamp(1.8rem,3.5vw,2.8rem) clamp(min(1.4rem,5vw),3.5vw,3rem);border-radius:var(--r-xl);background:linear-gradient(135deg,rgba(176,233,212,.14),rgba(243,169,60,.09));box-shadow:var(--shadow-s)}
.band-soft .rule-cols{gap:1.6rem 2.6rem}

/* Jelly lab */
.lab{padding-bottom:clamp(3.5rem,7vw,6rem)}
.lab-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:0 0 1rem}
.lab-controls label{margin-left:auto}
.lab-controls select{width:auto;min-width:min(11rem,100%);max-width:100%}
.lab-controls button:disabled{opacity:.55;cursor:default;transform:none}
.lab-study{height:min(36rem,68vh);min-height:18rem;overflow:hidden;border-radius:var(--r-xl);background:#ece4d3;box-shadow:var(--shadow-m)}
.lab-study canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.lab-fallback{height:100%;background:var(--case)}
.lab-fallback img{width:100%;height:100%;object-fit:contain}
.lab-status{margin-top:1.1rem;min-height:1.6rem;font-weight:600}
.lab-credit{margin-top:.4rem;color:var(--muted);font-size:.9rem}
@media (max-width:620px){.lab-controls label{margin-left:0}.lab-controls select{flex:1}}

/* Home: night gallery. The jellies glow straight on the page; one lit room per app, built from the registry. */
.home-hero{position:relative;isolation:isolate;overflow:hidden;margin-top:-4.4rem;padding-top:4.8rem;padding-bottom:clamp(2.6rem,6vw,4.6rem)}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(55% 34% at 12% 24%,rgba(243,169,60,.46),transparent 72%),radial-gradient(55% 34% at 92% 28%,rgba(74,222,154,.4),transparent 72%),radial-gradient(50% 30% at 50% 10%,rgba(124,199,242,.32),transparent 72%)}
.home-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 45% at 50% 22%,#000,transparent);mask-image:radial-gradient(70% 45% at 50% 22%,#000,transparent)}
.cluster{position:relative;height:min(82vw,24rem);margin-inline:calc(var(--gutter) * -1)}
.cluster-jelly{position:absolute;display:block;mix-blend-mode:screen;-webkit-tap-highlight-color:transparent}
.cluster-jelly>span{display:block;animation:jelly-bob 7s ease-in-out infinite}
.cluster-jelly img,.room-jelly img{width:100%;max-width:none;transform-origin:50% 88%;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.cluster-jelly img{transform:translate(calc(var(--px,0) * var(--depth,12px)),calc(var(--py,0) * var(--depth,12px)));transition:transform .25s var(--ease)}
.cluster-jelly:nth-child(1){width:58%;left:-9%;top:20%;--depth:-14px}
.cluster-jelly:nth-child(2){width:66%;left:17%;top:-4%;z-index:2;--depth:22px}
.cluster-jelly:nth-child(2)>span{animation-delay:-2.3s}
.cluster-jelly:nth-child(3){width:58%;left:auto;right:-10%;top:22%;--depth:-10px}
.cluster-jelly:nth-child(3)>span{animation-delay:-4.6s}
.cluster[data-count="1"] .cluster-jelly{width:66%;left:17%;top:-4%}
.cluster[data-count="2"] .cluster-jelly:nth-child(1){width:62%;left:-6%;top:8%}
.cluster[data-count="2"] .cluster-jelly:nth-child(2){width:62%;left:auto;right:-6%;top:8%}
@keyframes jelly-bob{50%{transform:translateY(-10px)}}
@keyframes jelly-drop{0%{opacity:0;transform:translateY(-2.2rem) scale(.9)}60%{opacity:1;transform:translateY(.3rem) scale(1.03,.97)}100%{opacity:1;transform:none}}
@keyframes rise-in{from{opacity:0;transform:translateY(1.2rem)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes menu-in{from{opacity:0;transform:translateY(-.5rem) scale(.96)}}
@keyframes glow-breathe{50%{opacity:.72}}
@keyframes gloss-sweep{from{opacity:1;transform:translateX(-130%) skewX(-18deg)}to{opacity:1;transform:translateX(230%) skewX(-18deg)}}
.reveal-on .cluster-jelly{animation:jelly-drop .7s var(--ease) both}
.reveal-on .cluster-jelly:nth-child(1){animation-delay:0s}.reveal-on .cluster-jelly:nth-child(2){animation-delay:.08s}.reveal-on .cluster-jelly:nth-child(3){animation-delay:.16s}
.reveal-on .home-hero-copy>*{animation:rise-in .4s var(--ease) both}
.reveal-on .home-hero-copy>:nth-child(1){animation-delay:0s}.reveal-on .home-hero-copy>:nth-child(2){animation-delay:.06s}.reveal-on .home-hero-copy>:nth-child(3){animation-delay:.12s}.reveal-on .home-hero-copy>:nth-child(4){animation-delay:.18s}
.reveal-on .home-hero::before{animation:glow-breathe 8s ease-in-out infinite}
.home-hero.is-away::before,.home-hero.is-away .cluster-jelly>span{animation-play-state:paused}
.is-squish img{animation:jelly-wobble .8s cubic-bezier(.3,.7,.4,1)}
.home-hero h1{font-size:clamp(3.2rem,14.4vw,5.6rem);line-height:.92;letter-spacing:-.035em;margin-top:-.2rem}
.home-hero h1 span{display:block}
.home-hero h1 span+span{padding-bottom:.14em;background:linear-gradient(95deg,#f6b24a 4%,#ffe9a8 38%,#8ff0c3 82%);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-lede{margin:1rem 0 1.3rem;font-size:1.12rem;line-height:1.5;color:#c9d6cf;max-width:30rem}
.hero-cta{min-height:3.25rem;padding-inline:1.5rem;font-size:1.02rem;font-weight:700;box-shadow:inset 0 1px 0 #fff,0 0 0 6px rgba(176,233,212,.12),0 0 44px rgba(176,233,212,.5)}
.hero-cta span,.room .rebuild-button-dark span{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;margin-right:-.5rem;border-radius:50%;background:rgba(0,0,0,.16)}
.promise{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}
.promise li{display:flex;align-items:center;gap:.4rem;padding:.45rem .85rem .45rem .6rem;border-radius:var(--pill);font-size:.86rem;font-weight:600;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.promise li::before{content:"";width:.95rem;height:.95rem;border-radius:50%;background:var(--glass) url("../img/check-dark.svg") center/contain}

.rebuild-main>.rooms{padding-inline:0;scroll-margin-top:1rem}
.room{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:1rem;padding:1rem max(.75rem,calc(var(--gutter) - .5rem)) 2.25rem;--glow:#8fdcc0;--glow2:#e2fbf1}
.room.theme-yellow{--glow:#f3a93c;--glow2:#ffdf9c}.room.theme-blue{--glow:#6fc3f5;--glow2:#c9ecff}.room.theme-sage{--glow:#4ade9a;--glow2:#c4f8de}.room.theme-clay{--glow:#ee9468;--glow2:#ffd8c2}
.room::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(90% 40% at 40% 18%,color-mix(in srgb,var(--glow) 48%,transparent),transparent 74%)}
.room-ghost{position:absolute;left:-.04em;top:.2rem;z-index:-1;font:700 31vw/.8 var(--display);letter-spacing:-.03em;white-space:nowrap;color:var(--glow);opacity:.1;transform:translateX(calc(var(--sy,0) * -1.5rem))}
.room-in{max-width:76rem;margin-inline:auto}
.room-art{position:relative;height:19.5rem}
.room-jelly{position:absolute;left:-12%;top:-7%;width:88%;mix-blend-mode:screen;-webkit-tap-highlight-color:transparent}
.room-jelly img{transform:translateY(calc(var(--sy,0) * 14px))}
.room-jelly.is-icon{left:8%;top:14%;width:52%;mix-blend-mode:normal}
.room-jelly.is-icon img{border-radius:22%;-webkit-mask-image:none;mask-image:none;box-shadow:0 0 5rem color-mix(in srgb,var(--glow) 55%,transparent)}
.room-phone{position:absolute;right:3%;top:2rem;width:37%;overflow:hidden;transform:rotate(7deg);border-radius:1.5rem;padding:4px;background:linear-gradient(140deg,#4a5553,#141a19 40%,#0b0f0e);box-shadow:0 30px 60px -16px #000,0 0 70px color-mix(in srgb,var(--glow) 45%,transparent)}
.room-phone img{width:100%;border-radius:1.25rem}
.room-phone::after{content:"";position:absolute;inset:4px;border-radius:1.25rem;background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 32%)}
.room-phone::before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:0;width:45%;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent)}
.room-chip{position:absolute;left:3%;bottom:3.6rem;z-index:2;padding:.5rem .9rem;border-radius:var(--pill);font-size:.86rem;font-weight:700;color:#0a0d0c;background:linear-gradient(180deg,var(--glow2),var(--glow));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 26px -8px color-mix(in srgb,var(--glow) 70%,transparent);transform:rotate(-4deg)}
.room-panel{position:relative;z-index:3;margin-top:-2.6rem;padding:1.3rem 1.15rem;border-radius:2rem;background:linear-gradient(180deg,rgba(26,34,32,.96),rgba(12,17,16,.97));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 34px 60px -30px #000}
.room-plain .room-art{display:none}.room-plain .room-panel{margin-top:1rem}
.room-panel::before{content:"";position:absolute;left:2rem;right:2rem;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--glow),transparent)}
.room-who{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem;font-size:.9rem;font-weight:700}
.room-who img{width:2.6rem;height:2.6rem;border-radius:.8rem;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.room h3{font-size:clamp(3rem,13vw,4.8rem);line-height:.9;letter-spacing:-.035em;padding-bottom:.08em;background:linear-gradient(100deg,var(--glow2),var(--glow) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.room h3 a{text-decoration:none;color:inherit}
.room-tag{margin:.3rem 0 .55rem;font:700 1.5rem/1.1 var(--display);letter-spacing:-.02em}
.room-line{color:#c9d6cf}
.room-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1.05rem 0}
.room-facts div{padding:.7rem .7rem .75rem;border-radius:var(--r-m);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11)}
.room-facts .is-key{background:color-mix(in srgb,var(--glow) 20%,transparent);border-color:color-mix(in srgb,var(--glow) 55%,transparent)}
.room-facts dt{font-size:.8rem;font-weight:600;line-height:1.3;color:var(--label);margin-bottom:.15rem}
.room-facts dd{font:700 1.65rem/1.02 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.room-facts dd.is-words{font:700 .98rem/1.2 var(--sans);letter-spacing:0}
.room .status-stack{margin-top:1.05rem}
.room-price{margin:.6rem 0 1.05rem;font-size:.9rem;color:var(--muted)}
.room .rebuild-actions{gap:.5rem}
.room .rebuild-button{flex:1 1 auto;min-height:3rem}
.room .rebuild-button-dark{flex-basis:100%;min-height:3.25rem;font-size:1.02rem;font-weight:700;background:linear-gradient(180deg,var(--glow2),var(--glow));color:#0a0d0c;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 36px color-mix(in srgb,var(--glow) 45%,transparent)}
.rooms-more{display:flex;justify-content:center;padding:0 var(--gutter) .5rem}
.room-jelly,.room-phone,.room-chip,.room-panel{transition:opacity .3s var(--ease),transform .42s var(--ease)}
.room-phone{transition-delay:.05s}.room-panel{transition-delay:.03s}
.room-chip{transition-delay:.16s;transition-timing-function:cubic-bezier(.3,1.5,.5,1)}
/* Rooms arrive as they scroll in. reveal.js adds is-live; without it nothing is hidden. */
.reveal-on .room:not(.is-live) :is(.room-jelly,.room-phone,.room-chip,.room-panel){opacity:0}
.reveal-on[data-motion="on"] .room:not(.is-live) .room-jelly{transform:scale(.86) translateY(1.5rem)}
.reveal-on[data-motion="on"] .room:not(.is-live) .room-phone{transform:translateX(2.5rem) rotate(16deg)}
.reveal-on[data-motion="on"] .room:not(.is-live) .room-chip{transform:scale(.5) rotate(-4deg)}
.reveal-on[data-motion="on"] .room:not(.is-live) .room-panel{transform:translateY(1.6rem)}
.reveal-on[data-motion="on"] .room.is-live .room-phone::before{animation:gloss-sweep .9s .55s var(--ease) both}
@media (hover:hover) and (pointer:fine){.reveal-on[data-motion="on"] .room.is-live .room-art:hover .room-phone{transform:rotate(3deg) translateY(-.6rem);transition-delay:0s}}

.band,.home-notes{padding-inline:max(var(--gutter),calc((100% - 76rem) / 2))}
.band{padding-top:2rem;padding-bottom:1.5rem}
.band h2{font-size:clamp(1.9rem,8.2vw,3.4rem);line-height:1.02}
.band h2 span:nth-of-type(1){color:#f6b24a}.band h2 span:nth-of-type(2){color:#8fd2f7}.band h2 span:nth-of-type(3){color:#7fe8b4}
.trio{margin-top:1.3rem;border-radius:var(--r-l);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}
.trio li{padding:1rem 1.15rem}.trio li+li{border-top:1px solid rgba(255,255,255,.09)}
.trio strong{display:block;font-size:1.05rem}.trio span{color:var(--muted);font-size:.94rem}
.home-notes{padding-top:2rem;padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.home-notes h2{font-size:clamp(2.2rem,9.5vw,3.4rem);line-height:.95}
.home-notes h2+p{margin:.5rem 0 1.1rem;color:var(--muted)}
.note-rail{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:.2rem var(--gutter) 1.2rem;scroll-padding-inline:var(--gutter)}
.note-rail a{flex:0 0 78%;scroll-snap-align:start;overflow:hidden;border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s);text-decoration:none;transition:transform .25s var(--ease)}
.note-rail a:hover{transform:translateY(-4px)}
.note-rail img{width:100%;aspect-ratio:16/10;object-fit:cover}
.note-rail h3{padding:.9rem 1.05rem .2rem;font-size:1.4rem;line-height:1.08}
.note-rail i{font-style:normal}
.note-rail span{display:block;padding:.2rem 1.05rem 1.05rem;font-size:.88rem;font-weight:600;color:var(--glass)}

@media (min-width:620px){.home-hero h1{font-size:clamp(4rem,9.6vw,8rem)}}
@media (min-width:900px){
.home-hero{padding-bottom:4.5rem;text-align:center}
.home-hero::before{background:radial-gradient(34% 46% at 28% 32%,rgba(243,169,60,.46),transparent 72%),radial-gradient(34% 46% at 72% 34%,rgba(74,222,154,.4),transparent 72%),radial-gradient(30% 40% at 50% 14%,rgba(124,199,242,.32),transparent 72%)}
.cluster{height:27rem;width:62rem;max-width:100%;margin-inline:auto}
.cluster-jelly:nth-child(1){width:38%;left:9%;top:16%}.cluster-jelly:nth-child(2){width:44%;left:28%;top:-7%}.cluster-jelly:nth-child(3){width:38%;right:9%;top:18%}
.cluster[data-count="1"] .cluster-jelly{width:44%;left:28%;top:-7%}
.cluster[data-count="2"] .cluster-jelly:nth-child(1){width:42%;left:10%;top:2%}.cluster[data-count="2"] .cluster-jelly:nth-child(2){width:42%;right:10%;top:2%}
.home-hero h1{margin-top:-2.2rem;position:relative;z-index:3}
.home-lede{margin-inline:auto;max-width:34rem;font-size:1.25rem}.promise{justify-content:center}
.room{padding:3.5rem 2rem}
.room-in{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.room:nth-of-type(even) .room-art{order:2}
.room-plain .room-in{grid-template-columns:minmax(0,40rem);justify-content:center}
.room-ghost{font-size:20rem;top:1rem}.room:nth-of-type(even) .room-ghost{left:auto;right:-.04em}
.room-art{height:36rem}.room-jelly{width:86%;left:-8%;top:0}.room-jelly.is-icon{left:14%;top:18%;width:44%}
.room-phone{width:34%;right:5%;top:auto;bottom:1.5rem;border-radius:2rem;padding:6px}.room-phone img,.room-phone::after{border-radius:1.65rem}.room-phone::after{inset:6px}
.room-chip{left:6%;bottom:4rem;font-size:1rem;padding:.65rem 1.15rem}
.room-panel{margin-top:0;padding:2.2rem}
.room h3{font-size:5.4rem}.room-tag{font-size:1.8rem}.room-facts dd{font-size:1.9rem}
.room-who{font-size:1rem}.room-line{font-size:1.12rem}.room-facts dt{font-size:.88rem}.room-facts dd.is-words{font-size:1.08rem}.room-price{font-size:1rem}
.room::before{background:radial-gradient(48% 60% at 28% 48%,color-mix(in srgb,var(--glow) 46%,transparent),transparent 74%)}
.room:nth-of-type(even)::before{background:radial-gradient(48% 60% at 72% 48%,color-mix(in srgb,var(--glow) 46%,transparent),transparent 74%)}
.room .rebuild-button,.room .rebuild-button-dark{flex:0 0 auto}
.band{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center;padding-top:4rem}
.band h2{font-size:3.5rem}.trio{margin:0}
.home-notes{padding-top:3rem}
.note-rail{overflow:visible;margin:0;padding:.2rem 0 1.2rem}.note-rail a{flex:1}
}

/* Centred section heads */
.section-heading-center{display:grid;justify-items:center;text-align:center}
.section-heading-center::before{margin-inline:auto}
.section-more{display:flex;justify-content:flex-start;margin-top:1.6rem}

/* Entrance motion (classes are added by reveal.js; nothing is hidden without it) */
.reveal-on .reveal{opacity:0;transform:translateY(1.4rem)}
.reveal-on .reveal.is-in{opacity:1;transform:none;transition:opacity .3s var(--ease),transform .42s var(--ease)}

/* Ledger: soft rows that still line up as columns */
.ledger{display:grid;grid-template-columns:minmax(20rem,1fr) auto minmax(9rem,13rem) auto;column-gap:clamp(1.2rem,2.4vw,2.4rem);row-gap:.9rem}
.ledger-head,.ledger-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1}
.ledger-head{padding:0 var(--card-pad)}
.ledger-row{align-items:start;padding:1.3rem var(--card-pad);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s);transition:transform .25s var(--ease)}
.ledger-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}
.work-catalog-identity{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.3rem 1.6rem;align-items:start}
.work-catalog-identity .specimen{width:8.5rem;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 1.1rem 1.9rem -1rem var(--accent);transition:transform .3s var(--ease)}
.ledger-row:hover .specimen{transform:scale(1.04) rotate(-2deg)}
.work-catalog-identity h2,.work-catalog-identity h3{font-size:clamp(min(1.8rem,8.4vw),2.3vw,2.2rem);line-height:1.1}
.work-catalog-identity h2 a,.work-catalog-identity h3 a{display:inline-block;padding:.45rem 0;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.15em;text-underline-offset:.1em;text-decoration-skip-ink:none}
.work-catalog-identity h2 a:hover,.work-catalog-identity h3 a:hover{color:var(--accent)}
.ledger-category{display:block;margin-top:.1rem}
.ledger-benefit{font-size:1.15rem;font-weight:700;margin-top:.7rem}
.ledger-copy{color:var(--muted);font-size:.98rem;margin-top:.25rem;max-width:34rem}
.ledger-statuses{display:grid;gap:.45rem;justify-items:start}
.ledger-price{font-size:.95rem}
.ledger-actions{display:grid;gap:.3rem;justify-items:start}
.ledger-stores{display:flex;flex-wrap:wrap;gap:0 1.1rem;padding-inline:.4rem}
.ledger-stores a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.9rem;font-weight:600;color:var(--clay)}
.ledger-stores a:hover{color:var(--ink)}
.ledger-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem 1.5rem;padding:.9rem var(--card-pad) 0}
.work-catalog-result{padding:.2rem var(--card-pad) 1rem}
.notes-discovery{padding-bottom:clamp(3.5rem,7vw,6rem)}
.work-release-details{margin-top:.2rem}
.work-release-details summary{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.9rem;font-weight:600;color:var(--clay);text-decoration:underline;text-underline-offset:.24em;cursor:pointer}
.work-release-details summary:hover{color:var(--ink)}
.work-release-details p{color:var(--muted);max-width:44rem}
.work-catalog-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.work-catalog-tags li,.chip-list>*{font:600 .82rem/1.3 var(--sans);border-radius:var(--pill);background:var(--paper-deep);padding:.45rem .9rem}
[data-l]::before{display:none}
.ledger-scope{container-type:inline-size}
@media (max-width:1100px){
  .ledger{display:grid;grid-template-columns:minmax(0,1fr)}
  .ledger-head{display:none}
  .ledger-row{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:var(--card-pad)}
  .ledger-statuses{display:flex;flex-wrap:wrap}
  .ledger-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1rem}
  [data-l]::before{display:block;content:attr(data-l);margin-bottom:.3rem}
}
/* Same stacked state when enlarged text, not a narrow window, runs the row out of room. */
@container (max-width:66rem){
  .ledger{display:grid;grid-template-columns:minmax(0,1fr)}
  .ledger-head{display:none}
  .ledger-row{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:var(--card-pad)}
  .ledger-statuses{display:flex;flex-wrap:wrap}
  .ledger-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1rem}
  [data-l]::before{display:block;content:attr(data-l);margin-bottom:.3rem}
}
@supports not (grid-template-columns:subgrid){
  .ledger{grid-template-columns:minmax(0,1fr)}.ledger-head{display:none}
  .ledger-row{grid-template-columns:minmax(0,1fr);gap:1rem}
}
@media (max-width:520px){
  .work-catalog-identity{grid-template-columns:4.5rem minmax(0,1fr);gap:.3rem 1rem}
  .work-catalog-identity .specimen{width:4.5rem;border-radius:var(--r-m)}
  .ledger-row{border-radius:var(--r-l)}
  .ledger-foot,.work-catalog-result{padding-inline:.4rem}
}
@container (max-width:19rem){
  .work-catalog-identity{grid-template-columns:minmax(0,1fr)}
  .work-catalog-identity .specimen{width:4.5rem}
}

/* Catalog filters, form controls, pagination */
.work-catalog-filters{margin-bottom:1rem;padding:.3rem var(--card-pad);border-radius:var(--r-l);background:var(--paper-deep);box-shadow:var(--shadow-s)}
.work-catalog-filters summary{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem 1rem;min-height:3rem;font-weight:700;cursor:pointer}
.work-catalog-toolbar,.notes-discovery-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}
.work-catalog-toolbar{padding:.4rem 0 1.2rem}
.work-catalog-toolbar label,.notes-filter-group{display:grid;gap:.4rem;flex:1 1 11rem;min-width:0}
select,input[type="search"]{width:100%;min-height:2.9rem;padding:.55rem 1rem;border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}
select:hover,input[type="search"]:hover{border-color:rgba(255,255,255,.4)}
input::placeholder{color:var(--muted);opacity:.85}
.work-catalog-clear,.notes-reset{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;font-weight:600;color:var(--clay)}
.catalog-pagination,.notes-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding-top:1.4rem}
.catalog-pagination a,.catalog-pagination [aria-current],.notes-page-actions a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:2.9rem;min-height:2.9rem;padding:.4rem 1.1rem;border:1.5px solid rgba(255,255,255,.16);border-radius:var(--pill);background:var(--surface);font-weight:600;text-decoration:none}
.catalog-pagination a:hover,.notes-page-actions a:hover{border-color:rgba(255,255,255,.4);box-shadow:var(--shadow-s)}
.catalog-pagination [aria-current]{background:var(--glass);border-color:var(--glass);color:var(--on-glass)}
.catalog-pagination-pages,.notes-page-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.work-catalog-empty,.notes-empty,.note-not-found,.app-not-found{display:grid;gap:1rem;justify-items:start;padding:2rem;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s)}
.rebuild-main>.note-not-found,.rebuild-main>.app-not-found{margin:clamp(2rem,6vw,4rem) var(--pad) clamp(3rem,8vw,6rem);padding:clamp(2rem,5vw,3.5rem)}
.work-catalog-empty p,.notes-empty p,.note-not-found p,.app-not-found p{color:var(--muted);max-width:34rem}

/* Columns, steps, link lists */
.rule-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:1.4rem 2.4rem}
.rule-cols h3{font-size:1.7rem}
.rule-cols p{color:var(--muted);margin-top:.5rem;font-size:1rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:1.6rem 1.8rem;counter-reset:step}
.steps li{counter-increment:step}
.steps li::before{content:counter(step);display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.8rem;border-radius:50%;background:var(--glass);color:var(--on-glass);font:700 1.3rem/1 var(--display)}
.steps strong{display:block;font:700 1.55rem/1 var(--display)}
.steps p{color:var(--muted);margin-top:.45rem;font-size:.98rem}
.link-list{display:grid;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s);overflow:hidden}
.link-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem min(1.2rem,3vw);align-items:center;min-height:3.8rem;padding:.9rem min(1rem,3.5vw) .9rem var(--card-pad);text-decoration:none}
.link-list a+a{border-top:var(--hair)}
.link-list a:hover{background:rgba(255,255,255,.05)}
.link-list small{grid-column:1/-1}
.link-list strong{font-size:1.08rem;font-weight:700;line-height:1.3}
.link-list span,.link-list p{grid-column:1;color:var(--muted);font-size:.96rem}
.link-list i{grid-column:2;grid-row:1/span 3;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--paper-deep);font-style:normal;font-weight:700}
.link-list a:hover i{background:var(--glass);color:var(--on-glass)}
.link-list small~i{grid-row:2/span 2}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem clamp(2rem,5vw,4.5rem);align-items:start}
.split>div:first-child p{color:var(--muted);margin-top:.9rem;max-width:30rem}
@media (max-width:820px){.split{grid-template-columns:minmax(0,1fr)}}

/* Disclosure */
.rebuild-details,.faq details{margin-bottom:.5rem;padding:0 var(--card-pad);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.rebuild-details summary,.faq summary{display:flex;align-items:center;gap:min(1rem,3vw);min-height:3.6rem;padding:.6rem 0;font-size:min(1.08rem,5.2vw);font-weight:700;cursor:pointer;list-style:none}
.rebuild-details summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}
.rebuild-details summary::after,.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:min(2.2rem,9vw);height:min(2.2rem,9vw);margin-left:auto;border-radius:50%;background:var(--paper-deep);font:700 1.4rem/1 var(--display)}
.rebuild-details[open] summary::after,.faq details[open] summary::after{content:"\2212";background:var(--glass);color:var(--on-glass)}
.faq summary strong{font-weight:700}
.rebuild-details>:not(summary),.faq details>p{padding-bottom:1.3rem;color:var(--muted);max-width:46rem}
.rebuild-details>.feature-list{max-width:none}
.collectory-feature-graphic{border-radius:var(--r-l);box-shadow:var(--shadow-m)}
.rebuild-details li strong{display:block;color:var(--ink)}

/* Notes */
.notes-layout{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:2rem clamp(2rem,5vw,4.5rem);align-items:start}
.notes-layout>aside p{color:var(--muted);margin-top:.8rem;font-size:1rem}
.notes-cats{display:grid;gap:.15rem;margin-top:1.2rem}
.notes-cats a{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem min(1rem,3vw);max-width:100%;min-height:2.75rem;padding:.3rem min(.5rem,2vw) .3rem min(1rem,4vw);margin-inline:-1rem 0;border-radius:var(--pill);font-size:.96rem;font-weight:600;text-decoration:none}
.notes-cats a:hover{background:var(--paper-deep)}
.notes-cats a[aria-current]{background:var(--glass);color:var(--on-glass)}
.notes-cats a[aria-current] span{background:rgba(0,0,0,.14);color:var(--on-glass)}
.notes-cats span{display:grid;place-items:center;min-width:1.9rem;height:1.9rem;padding:0 .5rem;border-radius:var(--pill);background:rgba(255,255,255,.07);font-size:.8rem;font-weight:600;color:var(--muted)}
.notes-discovery-form{margin-bottom:1.6rem;padding:1.1rem var(--card-pad) 1.3rem;border-radius:var(--r-xl);background:var(--paper-deep);box-shadow:var(--shadow-s)}
.notes-filter-search{flex:2 1 16rem}
.notes-filter-actions{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}
.notes-filter-actions button{min-height:2.9rem;padding:.5rem 1.5rem;border:0;border-radius:var(--pill);background:linear-gradient(180deg,#d2f7e6,#9fe3c8);color:var(--on-glass);font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:transform .2s var(--ease)}
.notes-filter-actions button:hover{transform:translateY(-1px)}
.notes-results-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.5rem;padding:0 .4rem .9rem}
.notes-results-heading h2{font-size:1.9rem}
.notes-results-list{container-type:inline-size;display:grid;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s);overflow:hidden}
.notes-ledger-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr) 5rem;gap:.3rem 1.5rem;align-items:baseline;padding:.7rem var(--card-pad) 1.3rem}
.notes-ledger-row+.notes-ledger-row{border-top:var(--hair)}
.notes-ledger-row:hover{background:rgba(255,255,255,.04)}
.notes-ledger-row h3{font-size:clamp(min(1.55rem,8vw),2.2vw,1.9rem);line-height:1.02}
.notes-ledger-row h3 a{display:inline-block;padding:.7rem 0;text-decoration:none}
.notes-ledger-row h3 a:hover{color:var(--clay)}
.notes-ledger-row p{color:var(--muted);font-size:.98rem;max-width:44rem}
.notes-result-time{text-align:right}
@media (max-width:900px){.notes-layout{grid-template-columns:minmax(0,1fr)}
  .notes-cats{display:flex;flex-wrap:wrap;gap:.4rem}
  .notes-cats a{margin:0;background:var(--surface);box-shadow:var(--shadow-s)}}
@media (max-width:620px){
  .notes-ledger-row{grid-template-columns:minmax(0,1fr) auto}
  .notes-ledger-row .notes-result-copy{grid-column:1/-1;grid-row:2}
}
@container (max-width:34rem){
  .notes-ledger-row{grid-template-columns:minmax(0,1fr) auto}
  .notes-ledger-row .notes-result-copy{grid-column:1/-1;grid-row:2}
}

/* Article */
.note-head{padding-top:clamp(1.4rem,3.6vw,2.6rem);padding-bottom:clamp(1.8rem,3.4vw,2.8rem)}
.note-head h1{font-size:clamp(min(2.1rem,9.4vw),4.6vw,4rem);line-height:1.03;max-width:17em}
.note-head .rebuild-lede{margin-top:1.4rem;max-width:40rem;font-size:clamp(1.2rem,1.8vw,1.45rem)}
.note-meta{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;margin-top:1.1rem}
.note-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3rem)}
.note-rebuild-body{max-width:46rem}
.note-short{grid-row:1;padding:1.3rem var(--card-pad) .6rem;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s)}
.note-short ol{counter-reset:take;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:0 2.2rem;margin-top:.5rem}
.note-short li{counter-increment:take;position:relative;padding:.8rem 0 .8rem 2.6rem;font-weight:600;line-height:1.4}
.note-short li::before{content:counter(take);position:absolute;left:0;top:.7rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--glass);color:var(--on-glass);font:700 1.05rem/1 var(--display)}
.note-body-section{padding:0 0 2.4rem}
.note-body-section+.note-body-section{padding-top:2.2rem;border-top:var(--line)}
.note-body-section h2{font-size:clamp(min(1.9rem,9vw),3vw,2.6rem)}
.note-body-section p{font-size:1.15rem;line-height:1.75;margin-top:.9rem}
.note-related{margin-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
.note-clay-cta{margin-top:1rem;display:grid;gap:1rem}
.note-clay-cta p{margin:0}
.note-clay-cta strong{color:var(--ink)}

/* Closing block */
.rebuild-clay-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;justify-items:start;margin:clamp(3.5rem,7vw,6rem) var(--pad) clamp(3.5rem,7vw,6rem);padding:clamp(min(1.8rem,6vw),4vw,3rem)!important;border-radius:var(--r-xl);background:radial-gradient(34rem 16rem at 100% 0,rgba(176,233,212,.16),transparent 70%),radial-gradient(26rem 14rem at 0 100%,rgba(243,169,60,.08),transparent 70%),var(--paper-deep);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),var(--shadow-m)}
.rebuild-clay-cta>div:first-child{display:grid;gap:.8rem}
.rebuild-clay-cta .rebuild-kicker{margin:0}
.rebuild-clay-cta>div:first-child p{color:var(--muted);max-width:38rem}

/* AI Direction */
.ai-lane{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem clamp(2rem,5vw,4.5rem);align-items:start;padding:1.6rem 0 2.2rem}
.ai-lane+.ai-lane{border-top:var(--line)}
.ai-lane-heading p{color:var(--muted);margin-top:.9rem}
.ai-lane-ledger div{padding:.7rem 0}
.ai-lane-ledger div+div{border-top:var(--hair)}
.ai-lane-ledger dt{font-weight:700;color:var(--ink)}
.ai-lane-actions{grid-column:1/-1}
@media (max-width:820px){.ai-lane{grid-template-columns:minmax(0,1fr)}}

/* App detail and Collectory */
.app-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:2rem clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(1.6rem,3.6vw,3rem);padding-bottom:clamp(2.4rem,5vw,4rem);background:radial-gradient(40% 62% at 76% 48%,color-mix(in srgb,var(--accent) 42%,transparent),transparent 74%)}
.app-hero h1{font-size:clamp(min(2.5rem,11vw),5.4vw,4.9rem)}
.app-hero .rebuild-lede{margin:1.3rem 0}
.app-hero .status-stack{margin-bottom:1.4rem}
.app-hero .jelly-case{width:min(100%,32rem);justify-self:center}
.app-hero .jelly-case:has(.specimen-icon){width:min(100%,19rem);justify-self:end}
.app-hero .jelly-case .specimen-icon{aspect-ratio:1}
.app-hero .jelly-case .specimen-icon span{font-size:min(5rem,20vw)}
@media (max-width:900px){.app-hero{grid-template-columns:minmax(0,1fr);gap:.4rem;margin-top:-4.4rem;padding-top:4.7rem;background:radial-gradient(34rem 21rem at 50% 10.5rem,color-mix(in srgb,var(--accent) 46%,transparent),transparent 74%)}.app-hero .jelly-case{order:-1;width:min(60vw,14.5rem)}.app-hero .jelly-case:not(:has(.specimen-icon)) .case-plate{display:none}.app-hero .jelly-case:has(.specimen-icon){justify-self:center}}
.feature-list{columns:2 22rem;column-gap:clamp(2rem,5vw,4.5rem)}
.feature-list li{break-inside:avoid;padding:.9rem 0;border-bottom:var(--hair)}
.feature-list strong{display:block;font-weight:700}
.feature-list li>span:last-child{color:var(--muted);font-size:.98rem}
.chip-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;align-content:flex-start}
.rebuild-details .chip-list>*{background:var(--paper-deep)}
.fact-list{display:grid;gap:.5rem}
.fact-list div{display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:.2rem 1.2rem;align-items:baseline;padding:1rem var(--card-pad);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.app-detail-brief .chip-list{margin-top:1.3rem}
.app-detail-more .link-list+.link-list{margin-top:.7rem}
.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:.6rem}
.fact-grid div{padding:1rem var(--card-pad);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.fact-grid dt{font-weight:700}
.fact-grid dd{color:var(--muted);font-size:.98rem}

/* Legal */
.legal-rebuild-hero{padding-top:clamp(2rem,4.5vw,3.6rem);padding-bottom:1.5rem}
.legal-rebuild-hero h1{font-size:clamp(min(2.4rem,10.5vw),5.2vw,4.6rem)}
.legal-rebuild-hero p{margin-top:1.3rem;font-size:1.2rem;max-width:40rem}
.legal-rebuild-hero strong{display:block;margin-top:1rem}
.legal-rebuild-hero .rebuild-actions{margin-top:1.4rem}
.legal-rebuild-hero .rebuild-actions a:not(.rebuild-button),.rebuild-clay-cta .rebuild-actions a:not(.rebuild-button){display:inline-flex;align-items:center;min-height:2.75rem;font-weight:600;color:var(--clay)}
.legal-page-rail{display:flex;flex-wrap:wrap;gap:0 1.4rem;align-items:center;margin-inline:var(--pad);padding:.3rem var(--card-pad)!important;border-radius:var(--r-l);background:var(--paper-deep);box-shadow:var(--shadow-s)}
.legal-page-rail a{display:inline-flex;align-items:center;min-width:2.75rem;min-height:2.75rem;font-size:.92rem;font-weight:600}
.legal-short-version{padding-top:clamp(2.5rem,6vw,4.5rem)}
.legal-short-version>div:last-child,.collectory-policy-proof>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:.6rem}
.legal-short-version article,.rebuild-proof-band article{padding:1.1rem var(--card-pad);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.legal-short-version article>span,.rebuild-proof-band article>span{display:none}
.legal-short-version article strong,.rebuild-proof-band article strong{display:block;font-weight:700}
.legal-short-version article p,.rebuild-proof-band article p{color:var(--muted);font-size:.98rem;margin-top:.3rem}
.legal-section-ledger{padding-top:clamp(2.5rem,6vw,4.5rem)}
.legal-section-ledger>section{display:grid;grid-template-columns:minmax(0,46rem) minmax(0,18rem);justify-content:space-between;gap:1rem clamp(2rem,6vw,6rem);align-items:start;padding:0 0 2.2rem}
.legal-section-ledger>section+section{padding-top:2.2rem;border-top:var(--line)}
.legal-section-ledger>section>span{display:none}
.legal-section-ledger h2{font-size:clamp(min(1.9rem,9vw),3vw,2.6rem)}
.legal-section-ledger h3{margin-top:1.4rem}
.legal-section-ledger p,.legal-section-ledger li{font-size:1.1rem;line-height:1.75;margin-top:.8rem}
.legal-section-ledger ul{list-style:disc;padding-left:1.2rem}
.legal-section-ledger aside{padding:1rem var(--card-pad) 1.1rem;border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.legal-section-ledger aside p{font-size:.95rem;line-height:1.5;color:var(--muted);margin-top:.3rem}
.legal-boundary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:clamp(2.5rem,6vw,4.5rem)}
.legal-boundary-grid>div{grid-column:1/-1}
.legal-boundary-grid>article{padding:1.3rem var(--card-pad);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-s)}
.legal-boundary-grid li{padding:.45rem 0;color:var(--muted)}
.legal-boundary-grid li+li{border-top:var(--hair)}
.legal-boundary-grid h3{margin-bottom:.5rem}
.rebuild-proof-band{padding-top:clamp(2.5rem,6vw,4.5rem)}
@media (max-width:900px){.legal-section-ledger>section,.legal-boundary-grid{grid-template-columns:minmax(0,1fr)}}

/* Admin-only launch readiness page */
.page-shell{padding:clamp(2rem,5vw,3.5rem) var(--pad)}
.eyebrow{display:block;margin-bottom:.8rem}
.page-shell p{max-width:44rem;margin-top:.8rem}
.button{margin-top:1rem}

/* Inner page hero with the jelly beside the title */
.page-hero:has(.hero-jelly){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title art" "copy art";align-items:center;gap:1.2rem clamp(2rem,5vw,4.5rem)}
.page-hero:has(.hero-jelly)>h1{grid-area:title;align-self:end}
.page-hero:has(.hero-jelly)>div:not(.hero-jelly){grid-area:copy;align-self:start}
.hero-jelly{grid-area:art;isolation:isolate;overflow:visible;width:clamp(11rem,21vw,18rem);border-radius:0;background:none}
.hero-jelly{--glow:#4ade9a}.hero-jelly.theme-blue{--glow:#6fc3f5}.hero-jelly.theme-yellow{--glow:#f3a93c}
.hero-jelly::before{content:"";position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 44%,transparent),transparent)}
.reveal-on[data-motion="on"] .hero-jelly img{animation:jelly-bob 7s ease-in-out infinite}
.page-hero,.legal-rebuild-hero{overflow-x:clip}
.hero-jelly img{position:relative;mix-blend-mode:screen}
@media (max-width:900px){
  .page-hero:has(.hero-jelly){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title art" "copy copy";gap:1rem 1rem}
  .hero-jelly{width:min(27vw,8.5rem);align-self:center}
}

/* Catalog and support heroes: the app jellies as a cluster */
.hero-cluster{position:relative;display:flex;align-items:center;width:auto}
.hero-cluster::before{inset:-22% -14%;border-radius:0;background:radial-gradient(23% 47% at 25% 52%,rgba(243,169,60,.4),transparent),radial-gradient(23% 47% at 50% 48%,rgba(111,195,245,.34),transparent),radial-gradient(23% 47% at 75% 52%,rgba(74,222,154,.4),transparent)}
.hero-cluster img{flex:none;width:clamp(10rem,15vw,13.5rem);height:auto}
.hero-cluster img+img{margin-left:clamp(-4.6rem,-5vw,-3.2rem)}
.hero-cluster img:nth-child(even){z-index:1;translate:0 -1.1rem;scale:1.08}
.hero-cluster img:nth-child(2){animation-delay:-2.3s}
.hero-cluster img:nth-child(3){animation-delay:-4.6s}
@media (max-width:900px){
  .page-hero:has(.hero-cluster){grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "title" "copy"}
  .hero-cluster{width:auto;justify-self:end;margin:-.4rem 0 -.2rem}
  .hero-cluster img{width:min(31vw,9.5rem)}
  .hero-cluster img+img{margin-left:-9vw}
  .hero-cluster img:nth-child(even){translate:0 -.6rem}
}

/* Legal heroes: the jelly floats beside the title */
.legal-rebuild-hero .hero-jelly{float:right;margin:0 0 .8rem 1.2rem;shape-outside:circle(50%)}
.legal-rebuild-hero>div::after{content:"";display:block;clear:both}

/* A real app screen in the phone frame, for inner pages */
.page-phone{--glow:#8fdcc0;position:relative;justify-self:center;align-self:center;width:min(15rem,64%);margin:1.4rem auto .6rem;padding:5px;border-radius:1.9rem;transform:rotate(4deg);background:linear-gradient(140deg,#4a5553,#141a19 40%,#0b0f0e);box-shadow:0 30px 60px -16px #000,0 0 90px color-mix(in srgb,var(--glow) 42%,transparent)}
.page-phone.theme-blue{--glow:#6fc3f5}.page-phone.theme-yellow{--glow:#f3a93c}.page-phone.theme-sage{--glow:#4ade9a}
.page-phone img{display:block;width:100%;height:auto;border-radius:1.6rem}
.page-phone::after{content:"";position:absolute;inset:5px;border-radius:1.6rem;background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 32%);pointer-events:none}
.split .chip-list{margin-top:1.1rem}

/* Closing blocks: the app jellies sit on the top edge */
.rebuild-clay-cta>.cta-jellies{display:flex;order:-1;justify-self:end;margin:-4.2rem -.4rem -1.6rem 0;pointer-events:none}
.cta-jellies img{flex:none;width:min(21vw,6.6rem);height:auto;margin-left:-5vw;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.cta-jellies img:nth-child(even){transform:translateY(.9rem)}
.cta-jellies img:only-child{width:min(26vw,8rem)}
@media (min-width:761px){
  .rebuild-clay-cta:has(.cta-jellies){grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .rebuild-clay-cta:has(.cta-jellies)>:not(.cta-jellies){grid-column:1}
  .rebuild-clay-cta>.cta-jellies{order:0;grid-column:2;grid-row:1/span 2;margin:0}
  .cta-jellies img{width:clamp(7rem,11vw,10rem);margin-left:-2.2rem}
  .cta-jellies img:only-child{width:clamp(9rem,14vw,12rem)}
}

/* Phone rails: a row that swipes and shows part of the next item */
@media (max-width:760px){
  .rail-phone{display:flex!important;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--pad) * -1);padding:.2rem var(--pad) 1rem;scroll-padding-inline:var(--pad);-webkit-overflow-scrolling:touch}
  .rail-phone>*{flex:0 0 78%;scroll-snap-align:start;padding:1.2rem var(--card-pad) 1.3rem;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-s)}
}
.rail-cue{display:none}
@media (max-width:760px){.rail-cue{display:block;margin-top:-.3rem;font:600 .76rem/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.rail-phone>*{flex-basis:84%}}
@media (max-width:900px){.notes-discovery .notes-layout>aside{display:none}}
.split>.chip-list>*{padding:.7rem 1.15rem;background:var(--surface);box-shadow:var(--shadow-s);font-size:1rem}
.store-art{margin:0;display:grid;gap:.5rem;max-width:22rem}
.store-art img{width:100%;height:auto;border-radius:var(--r-l);box-shadow:var(--shadow-m)}
.store-art figcaption{font-size:.88rem;color:var(--muted)}
.rebuild-clay-cta:has(.store-art){grid-template-columns:minmax(0,1fr) auto;align-items:center}
.rebuild-clay-cta:has(.store-art)>.store-art{grid-column:2;grid-row:1/span 2}
@media (max-width:760px){.rebuild-clay-cta:has(.store-art){grid-template-columns:minmax(0,1fr)}.rebuild-clay-cta:has(.store-art)>.store-art{grid-column:1;grid-row:auto}}
.note-head,.note-columns{padding-inline:max(var(--gutter),calc((100% - 52rem) / 2))}
.note-rebuild-body{max-width:none}

/* Motion control (shown only when the script is running) */
.motion-control{display:none;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%}
.js-ready .motion-control{display:flex}
.motion-control>span{margin-right:.3rem}
.motion-control button{min-width:2.75rem;min-height:2.75rem;padding:.3rem min(.9rem,3.5vw);border:1px solid var(--case-line);border-radius:var(--pill);background:transparent;color:var(--case-text);font-size:.88rem;font-weight:600;cursor:pointer}
.motion-control button[aria-pressed="true"]{background:var(--glass);border-color:var(--glass);color:var(--on-glass)}

/* Footer */
.site-footer{overflow:hidden;background:linear-gradient(180deg,#0c1311,var(--paper));color:var(--muted);padding:clamp(2rem,4vw,3rem) var(--pad) 1.4rem;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.footer-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:2rem clamp(1.5rem,4vw,3.5rem)}
.footer-brand{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.2rem;align-items:center;align-self:start}
.footer-brand .specimen{width:5.5rem;border-radius:var(--r-m);background:none;mix-blend-mode:screen}
.footer-brand strong{display:block;font:700 1.9rem/1 var(--display);color:var(--case-text)}
.footer-brand p{margin-top:.5rem;font-size:.95rem;max-width:26rem}
.site-footer h2{color:var(--case-muted);margin-bottom:.4rem}
.site-footer nav a{display:flex;align-items:center;min-height:2.75rem;font-size:.95rem;font-weight:600;color:var(--case-text);text-decoration:none}
.site-footer nav a:hover{color:var(--glass)}
.footer-word{margin:1.6rem 0 -.2rem;padding-bottom:.08em;font:700 clamp(2.2rem,9.4vw,8.5rem)/.9 var(--display);letter-spacing:-.035em;white-space:nowrap;text-align:center;color:transparent;background:linear-gradient(180deg,#b0e9d4,rgba(176,233,212,.14));-webkit-background-clip:text;background-clip:text;user-select:none}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--case-line);font-size:.88rem}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr))}.footer-brand{grid-column:1/-1;grid-template-columns:min(5.5rem,30%) minmax(0,1fr)}.footer-brand .specimen{width:100%}}

/* Motion levels. The footer control sets html[data-motion]; with no choice it follows the system setting. */
html[data-motion="on"]{scroll-behavior:smooth}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{transition:none!important;animation:none!important}
html[data-motion="gentle"] .reveal{transform:none}
html[data-motion="gentle"] :is(.cluster-jelly,.home-hero-copy>*,.site-nav){animation-name:fade-in}
html[data-motion="gentle"] :is(.cluster-jelly>span,.is-squish img){animation:none}
html[data-motion="gentle"] .brand-mark img{animation:none!important}
html:is([data-motion="off"],[data-motion="gentle"]) :is(.ledger-row,.rebuild-button,.button,.note-rail a,.notes-filter-actions button):is(:hover,:active),html:is([data-motion="off"],[data-motion="gentle"]) .ledger-row:hover .specimen{transform:none}
@media (prefers-reduced-motion:reduce){html:not([data-motion="on"]):not([data-motion="gentle"]) *,html:not([data-motion="on"]):not([data-motion="gentle"]) *::before,html:not([data-motion="on"]):not([data-motion="gentle"]) *::after{transition:none!important;animation:none!important}}
@media (max-width:640px){
  .site-footer{padding-top:1.5rem}
  .footer-grid{display:block}
  .footer-brand{grid-template-columns:3.4rem minmax(0,1fr);gap:.8rem;margin-bottom:.8rem}
  .footer-brand strong{font-size:1.4rem}
  .footer-brand p{display:none}
  .site-footer nav{display:flex;flex-wrap:wrap;align-items:center;column-gap:1.1rem;margin-top:.5rem}
  .site-footer nav h2{flex:0 0 100%;margin:0}
  .site-footer nav a{min-width:2.75rem}
  .footer-word{margin-top:.9rem}
  .footer-bottom{margin-top:.8rem;padding-top:.9rem}
}
@media print{:root{--paper:#fff;--paper-deep:#eee;--surface:#fff;--ink:#000;--muted:#333;--clay:#000}.site-nav,.site-menu-toggle,.site-footer nav,.motion-control{display:none}body{background:#fff}}
