.page-builds{background:var(--cobalt) url('cobalt.webp') center top/max(100vw,1050px) auto repeat-y}
.page-builds>.site-header{background:transparent;border-bottom:0}
.page-builds #main{background:var(--chalk)}
.builds-opening{background:var(--cobalt) url('cobalt.webp') center/cover;color:var(--chalk);padding:clamp(45px,5vw,80px) 0 0}
.builds-opening-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding-bottom:clamp(48px,6vw,90px)}
.builds-opening h1{font-size:clamp(72px,9vw,146px);line-height:.98;letter-spacing:-.07em;margin:0}
.builds-opening h1 span{color:var(--gold)}
.builds-opening p{font-size:clamp(22px,1.8vw,28px);line-height:1.45;margin-bottom:24px;max-width:650px}
.builds-opening p:first-child{font-size:clamp(29px,2.6vw,42px);line-height:1.2;letter-spacing:-.04em}
.builds-directory{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid #eeede566;padding:28px 0;font-size:clamp(19px,1.6vw,24px)}
.builds-directory a{padding:5px 0;border-bottom:1px solid transparent}
.builds-directory a:hover,.builds-directory a:focus-visible{border-color:var(--gold);color:var(--gold)}
.polly-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,130px);align-items:start;padding-block:clamp(72px,7vw,115px)}
.polly-story h2{font-size:clamp(86px,8vw,128px);letter-spacing:-.07em;line-height:1;margin:0 0 32px}
.polly-story h2 span{color:var(--cobalt)}
.portfolio-promise{font-size:clamp(40px,4vw,62px)!important;line-height:1.08!important;letter-spacing:-.055em;font-weight:600;margin:0 0 32px}
.polly-story>p:not(.portfolio-promise):not(.build-status),.font-feature-grid>div>p:not(.portfolio-promise):not(.build-status){font-size:clamp(22px,1.8vw,28px);line-height:1.48;margin-bottom:26px}
.build-status{font-size:clamp(17px,1.2vw,20px);line-height:1.4;margin:30px 0 24px;opacity:.78}
.page-builds .text-link,.page-builds .button{font-size:clamp(19px,1.6vw,24px)}
.polly-play-column{position:sticky;top:calc(var(--site-header-height,140px) + 32px);max-width:620px;width:100%;justify-self:center;padding-top:26px}
.polly-jar{position:relative;border-radius:75px 75px 95px 95px;padding:16px 18px 24px;background:linear-gradient(100deg,#fff9,#c0d2dc22 18%,#fff1 72%,#fff9);border:2px solid #fff;box-shadow:inset 0 0 0 8px #c5d2da55,inset 18px 0 36px #ffffff80,0 25px 55px #101e321f}
.polly-jar:before{content:'';position:absolute;left:12%;right:12%;height:22px;top:-12px;border:3px solid #fff;border-radius:50%;background:linear-gradient(#d2e0e9,#f7faf9,#c7d8e3);box-shadow:0 4px 8px #101e321c}
.polly-jar:after{content:'';position:absolute;pointer-events:none;inset:35px 16px 34px 20px;border-radius:60px 60px 80px 80px;border-left:5px solid #fff7;border-right:2px solid #fff7}
#polly-playground{position:relative;isolation:isolate;overflow:hidden;height:clamp(390px,36vw,600px);border-radius:60px 60px 75px 75px;background:radial-gradient(ellipse at 35% 20%,#ffffffe6,#d8e3e766 70%)}
.arena-body{position:absolute;left:0;top:0;padding:0;background:none;border:0;cursor:grab;touch-action:none;user-select:none;will-change:transform;border-radius:30%}
.arena-body img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:hue-rotate(var(--polly-hue,0deg)) brightness(var(--polly-light,1)) drop-shadow(0 5px 3px #101e3226)}
.polly-eyes{position:absolute;display:flex;justify-content:center;gap:3px;left:24%;right:24%;top:42%;pointer-events:none}
.polly-eyes i{position:relative;display:block;width:13px;height:14px;border-radius:50%;background:#fafaf5;box-shadow:0 1px 3px #0005}
.polly-eyes i:after{content:'';position:absolute;width:6px;height:7px;left:4px;top:4px;background:#101e32;border-radius:50%;transform:translate(var(--pupil-x,0),var(--pupil-y,0))}
.eyes-cylinder{top:43%}.eyes-pebble{top:44%}
.arena-body:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}
.arena-body.held{cursor:grabbing;z-index:5}
.colour-ball{border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff9,var(--ball-colour) 50%,#101e3266);box-shadow:0 3px 4px #101e3233}
#elastic-tether{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;overflow:visible}
#elastic-tether.visible{opacity:1}
#elastic-line{stroke:var(--cobalt);stroke-width:3;stroke-dasharray:5 6;fill:none}
#elastic-anchor{fill:var(--gold)}
.jar-actions{display:flex;justify-content:center;gap:32px;margin-top:28px}
.jar-actions button{font:inherit;font-size:19px;color:var(--ink);padding:10px 0;background:none;border:0;border-bottom:1px solid var(--ink);cursor:pointer}
.jar-actions button:hover{color:var(--cobalt);border-color:var(--cobalt)}
.font-feature{background:var(--cobalt) url('cobalt.webp') center/cover;color:var(--chalk);padding-block:clamp(64px,7vw,115px)}
.font-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,115px);align-items:center}
.portfolio-font-wordmark{font:600 clamp(110px,11vw,175px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.065em;margin:0 0 45px}
.portfolio-font-wordmark span{color:#7091f0}
.font-feature .portfolio-promise span{color:var(--gold)}
.font-system{position:relative;padding:clamp(30px,4vw,70px);background:var(--ink) url('midnight.webp') center/cover;border:1px solid #d7b46180;min-height:520px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.font-system-centre{font:600 150px/1 Georgia,serif;color:var(--chalk);letter-spacing:-.08em;align-self:center;margin-bottom:45px;position:relative}
.font-system-centre:after{content:'';height:45px;width:1px;background:var(--gold);position:absolute;top:100%;left:50%}
.font-system-centre span{color:#7091f0}
.font-system-rail{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--gold);padding-top:24px}
.font-system-rail span{font-size:clamp(18px,1.6vw,24px);padding:16px 10px;text-align:center;background:#214fcc2b;border:1px solid #eeede540;transition:background .3s,transform .3s}
.font-system-rail span:hover{background:#214fcc88;transform:translateY(-4px)}
.font-system>p{font-size:clamp(27px,2.7vw,42px);line-height:1.12;letter-spacing:-.045em;margin:40px 0 0;text-align:center}
.more-builds>h2{font-size:clamp(46px,5.3vw,82px);line-height:1.02;margin-bottom:60px}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px clamp(35px,4vw,64px)}
.portfolio-card{min-width:0;border-bottom:1px solid #101e3240;padding-bottom:40px;scroll-margin-top:180px}
.portfolio-card-copy{padding:30px 0 0}
.portfolio-card h3{font-size:clamp(34px,3.2vw,50px);line-height:1.08;letter-spacing:-.045em;margin-bottom:18px}
.portfolio-card p{font-size:clamp(21px,1.7vw,27px);line-height:1.48;margin-bottom:20px}
.portfolio-card .card-promise{font-weight:600;letter-spacing:-.025em}
.portfolio-card .build-status{font-size:18px;margin-bottom:18px}
.build-visual{height:clamp(300px,28vw,440px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cued-visual{background:var(--ink) url('midnight.webp') center/cover;padding:48px}
.cued-card{position:relative;width:100%;padding:28px;border:1px solid #eeede559;background:#101e32;box-shadow:0 25px 40px #0008;transform:rotate(-3deg);color:var(--chalk)}
.cued-card-back{position:absolute;width:70%;height:65%;transform:rotate(6deg);background:var(--cobalt);border-color:#eeede580}
.cued-card span{font-size:18px;opacity:.8}
.cued-card strong{font-size:clamp(29px,3vw,45px);line-height:1.1;letter-spacing:-.04em;display:block;margin:27px 0}
.cued-card i{font-style:normal;color:var(--gold);font-size:24px;letter-spacing:7px}
.reader-visual{background:var(--cobalt) url('cobalt.webp') center/cover;padding:35px;gap:20px}
.reader-sheet{background:var(--chalk);padding:30px 25px;transform:rotate(-5deg);box-shadow:12px 15px 0 #101e3270;max-width:70%}
.reader-sheet>span{font-size:16px}.reader-sheet strong{font-size:clamp(26px,2.7vw,40px);line-height:1.1;display:block;letter-spacing:-.045em;margin:30px 0}
.reader-rule{height:2px;background:#101e3266;margin-top:13px;width:100%}.reader-rule.short{width:65%}
.reader-platforms{display:flex;flex-direction:column;gap:24px;color:var(--chalk);font-size:clamp(21px,1.8vw,28px)}
.reader-platforms span{border-bottom:1px solid #eeede580;padding-bottom:8px}
.stratus-visual{background:#101516;gap:25px;color:#d7ae5e;flex-direction:column}
.stratus-visual img{width:45%;height:65%;object-fit:contain}
.stratus-visual>span{font:500 clamp(36px,4vw,60px)/1 Georgia,serif;letter-spacing:.03em}
.fodder-visual{flex-direction:column;background:repeating-linear-gradient(0deg,#0002 0 2px,transparent 2px 5px),radial-gradient(ellipse at bottom,#536235,#1b251c 65%);color:#f5e6b3;text-align:center;gap:20px;text-decoration:none}
.fodder-title{font-size:clamp(48px,5.6vw,85px);font-weight:600;letter-spacing:.04em;text-shadow:5px 5px #0c1510}
.fodder-subtitle{font-size:23px}.fodder-pixels{font-size:36px;letter-spacing:18px;color:#a8bc70}.fodder-play{font-size:19px;margin-top:10px;border-bottom:1px solid currentColor;padding-bottom:5px}
.fodder-visual:hover .fodder-play{color:#fff;transform:translateY(-2px)}
.masterchef-visual{background:#f7f4ed;padding:0;color:var(--ink);display:block}
.masterchef-visual>img{width:100%;height:100%;object-fit:contain}
.concept-caption{position:absolute;bottom:8px;left:10px;font-size:13px;background:#f7f4edf0;padding:4px 8px}
.meal-plan{width:88%;border:1px solid #101e3240;padding:25px 30px;background:#f6f2e9;box-shadow:8px 10px 0 #101e3220;transform:rotate(3deg);display:grid;grid-template-columns:1fr 1fr;gap:20px}
.meal-plan>span{grid-column:1/-1;font-size:19px}.meal-plan strong{font-size:clamp(34px,3.8vw,58px);line-height:1.04;letter-spacing:-.05em}.meal-divider{width:1px;background:#101e3230;position:absolute;left:56%;top:85px;bottom:28px}.meal-plan p{font-size:clamp(22px,2vw,30px);line-height:1.2;align-self:end;margin:0}
.freya-build{background:var(--ink) url('midnight.webp') center/cover;color:var(--chalk);padding-block:clamp(64px,7vw,110px)}
.freya-build>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,110px);align-items:start}
.freya-build h2{font-size:clamp(42px,4vw,64px);line-height:1.08}.freya-build h2 span{color:var(--gold)}.freya-build h3{font-size:36px;margin-bottom:25px}.freya-build p{font-size:clamp(22px,1.8vw,28px);line-height:1.45}.freya-build .build-status{font-size:18px}
.page-builds .closing{align-items:start}.page-builds .closing p{font-size:clamp(23px,2vw,31px);line-height:1.45}
@media(max-width:960px){.builds-opening-grid{grid-template-columns:1fr;gap:40px}.builds-opening h1{font-size:clamp(70px,12vw,110px)}.polly-feature{gap:35px}.polly-play-column{position:relative;top:auto}.font-feature-grid{grid-template-columns:1fr}.font-system{min-height:460px;max-width:700px;width:100%;justify-self:center}.portfolio-grid{gap:48px 28px}.reader-margin{display:none}.reader-sheet{max-width:90%}.cued-visual{padding:30px}.meal-plan{padding:20px}.meal-plan p{font-size:22px}.freya-build>.wrap{gap:40px}}
@media(max-width:680px){.polly-feature,.portfolio-grid,.freya-build>.wrap{grid-template-columns:1fr}.polly-play-column{padding-top:0}.polly-story h2{font-size:86px}.portfolio-promise{font-size:44px!important}.polly-jar{max-width:460px;margin:auto}#polly-playground{height:420px}.font-system-rail{gap:10px}.font-system{padding:28px;min-height:480px}.portfolio-font-wordmark{font-size:130px}.builds-directory{gap:14px 24px}.build-visual{height:330px}.more-builds>h2{font-size:44px}.reader-margin{display:block}.reader-sheet{max-width:75%}.freya-build h2{font-size:42px}.portfolio-card p{font-size:22px}.font-system-rail span{font-size:19px}.meal-plan{width:90%}.cued-card strong{font-size:35px}.reader-sheet strong{font-size:33px}}
@media(prefers-reduced-motion:reduce){.font-system-rail span{transition:none}}

/* Revision 31: publication and meal planning each get their own feature. */
.showcase-feature{padding-block:clamp(64px,7vw,112px)}
.showcase-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.bayesian-feature{background:#fff;color:var(--ink)}
.showcase-copy{min-width:0}
.showcase-copy h2{font-size:clamp(44px,4.8vw,76px);letter-spacing:-.055em;line-height:1.05;margin:0 0 28px}
.showcase-copy .showcase-promise{font-size:clamp(31px,2.65vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.045em;margin:0 0 28px}
.showcase-copy>p:not(.showcase-promise){font-size:clamp(22px,1.8vw,28px);line-height:1.48;margin:0 0 24px}
.showcase-media{min-width:0;margin:0}
.showcase-media img{display:block;width:100%;height:auto}
.bayesian-publication>a{display:block;box-shadow:0 18px 45px #101e3222}
.bayesian-platforms{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.bayesian-platforms span{font-size:clamp(23px,2.4vw,35px);padding:22px 25px;border:1px solid #101e3233}
.showcase-links{display:flex;gap:20px 28px;flex-wrap:wrap;margin-top:30px}
.showcase-links .text-link{font-size:clamp(18px,1.5vw,23px)}
.mstrchf-feature{background:var(--cobalt) url('cobalt.webp') center/cover;color:var(--chalk)}
.mstrchf-feature .showcase-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr)}
.mstrchf-feature .showcase-promise{color:var(--gold)}
.mstrchf-art>a{display:block}
.mstrchf-art figcaption{font-size:16px;color:var(--chalk);margin-top:14px;opacity:.7}
.freya-build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;background:var(--ink)}
.freya-build-art{position:relative;min-height:540px;isolation:isolate;overflow:hidden}
.freya-build-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.freya-build-art h2{position:relative;z-index:1;padding:clamp(42px,4vw,64px) var(--gutter) 0;margin:0;font-size:clamp(37px,3.6vw,58px);line-height:1.06;max-width:700px;text-shadow:0 2px 18px #07101c}
.freya-build-copy{background:var(--ink) url('midnight.webp') center/cover;padding:clamp(54px,6vw,96px) var(--gutter);display:flex;flex-direction:column;justify-content:center}
.freya-build-copy h3{font-size:clamp(38px,3vw,50px)}
@media(max-width:960px){
 .showcase-grid,.mstrchf-feature .showcase-grid{grid-template-columns:1fr;gap:44px}
 .bayesian-publication{max-width:820px}
 .showcase-copy{max-width:780px}
 .mstrchf-art{max-width:850px}
 .freya-build-art{min-height:500px}
 .freya-build-art h2{font-size:40px;padding-top:42px}
}
@media(max-width:680px){
 .showcase-copy h2{font-size:42px;overflow-wrap:anywhere}
 .showcase-copy .showcase-promise{font-size:33px}
 .showcase-copy>p:not(.showcase-promise){font-size:22px}
 .bayesian-platforms{gap:12px;margin-top:18px}
 .bayesian-platforms span{font-size:23px;padding:18px}
 .freya-build{grid-template-columns:1fr}
 .freya-build-art{min-height:430px}
 .freya-build-art h2{font-size:36px;padding-top:34px;max-width:520px}
 .freya-build-copy{padding-block:55px}
}
