@font-face{font-family:Newsreader;src:url('/stories/building-bloomline/assets/newsreader.woff2') format('woff2');font-weight:200 800;font-display:swap}@font-face{font-family:Inter;src:url('/stories/building-bloomline/assets/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}:root{color-scheme:dark;--bg:#071d19;--ink:#f7efd9;--muted:#c5cdbf;--gold:#dac58c;--rule:#52634d}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid #f2d47b;outline-offset:5px}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.masthead{display:flex;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--gold)}.masthead .author{font-size:18px;font-weight:600;text-decoration:none}.masthead img{width:140px;height:auto;border-left:1px solid var(--gold);padding-left:24px}.masthead nav{margin-left:auto;display:flex;gap:30px;font-size:14px}.masthead nav a{text-decoration:none}.hero{position:relative;height:840px;isolation:isolate;margin-top:28px;overflow:hidden}.hero-art{position:absolute;inset:0;width:100%;height:580px;object-fit:cover;z-index:-1}.hero-copy{position:absolute;bottom:44px;left:40px;max-width:660px;text-shadow:0 2px 20px #00120f}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.22em;color:var(--gold);font-weight:600;margin:0 0 22px}h1,h2{font-family:Newsreader,Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.025em;margin:0}h1{font-size:clamp(64px,7vw,104px)}h2{font-size:52px}h1 em,h2 em{font-weight:400}.deck{font-family:Newsreader,Georgia,serif;font-size:30px;line-height:1.2;margin:26px 0 20px}.byline{font-size:15px}.art-credit{position:absolute;bottom:16px;right:22px;font-family:Newsreader,serif;font-size:14px;font-style:italic}.intro{max-width:820px;padding:64px 0 42px;font-family:Newsreader,Georgia,serif;font-size:27px;line-height:1.42}.intro p{margin:0 0 26px}.game-figure{margin-block:0 64px}.annotated{position:relative}.annotated img{width:100%;height:auto;display:block;border:1px solid var(--rule)}.pin{position:absolute;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f5dfa0;color:#102821;border:2px solid #102821;border-radius:50%;font-weight:700;box-shadow:0 1px 8px #0006;pointer-events:none}.one{left:3%;top:26%}.two{left:3%;top:54%}.three{left:2%;top:89%}figcaption{font-size:14px;color:var(--muted);margin-top:18px}.caption-label{color:var(--gold);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-left:24px;margin:18px 0}.callouts li::marker,.mobile-notes li::marker{color:var(--gold);font-weight:700}.callouts b{color:var(--ink)}.fine{font-size:12px;line-height:1.6;color:var(--muted)}.loop-section{padding:64px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.section-intro{display:grid;grid-template-columns:1fr 1.2fr;column-gap:64px}.section-intro .eyebrow{grid-column:1/-1}.section-intro>p:last-child{margin:0}.loop{margin:24px 0 0}.loop>img{display:block;width:100%;height:auto}.loop figcaption{text-align:center;margin-top:0}.mobile-loop{display:none}.details{padding:72px 0;display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.detail-copy p:not(.eyebrow):not(.fine){max-width:560px;margin-top:28px}.numbers{display:flex;gap:44px;border-top:1px solid var(--rule);padding-top:22px;margin-top:34px}.numbers dt{font-family:Newsreader,serif;color:var(--gold);font-size:58px;line-height:1}.numbers dd{font-size:13px;margin:8px 0 0}.mobile-figure{max-width:420px;margin:0 auto}.phone-shot{position:relative}.phone-shot img{width:100%;height:auto;display:block;border:1px solid var(--rule)}.mobile-a{top:2%;right:26%}.mobile-b{top:88%;right:1%}.mobile-notes{padding-left:24px}.film{padding:56px 0 60px;border-top:1px solid var(--gold)}.film-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.download{font-size:14px;white-space:nowrap}.film video{width:100%;height:auto;aspect-ratio:16/9;background:#03120f;display:block}.music-credit{border-bottom:1px solid var(--rule);padding:16px 0 22px;font-size:13px;color:var(--muted)}.music-credit p{margin:5px 0}.film details{font-size:14px;margin-top:20px}.film details p{max-width:760px}.film summary{cursor:pointer;color:var(--gold)}.closing{font-family:Newsreader,serif;font-size:28px;line-height:1.4;max-width:800px;margin:48px 0 0}footer{border-top:1px solid var(--rule);padding:24px 0 40px;display:flex;gap:28px;font-size:12px;color:var(--muted)}footer a{margin-left:auto}.skip{position:fixed;top:-100px;z-index:9;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:0}dialog{width:min(96vw,1500px);max-height:94vh;border:1px solid var(--gold);background:var(--bg);padding:20px;color:var(--ink)}dialog::backdrop{background:#000d}dialog img{display:block;max-width:100%;height:auto;margin:20px auto 0}dialog p{font-size:14px}dialog button{font:inherit;background:var(--ink);color:var(--bg);border:0;padding:8px 20px;cursor:pointer}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.masthead{gap:12px;padding:18px 0}.masthead .author{font-size:14px}.masthead img{width:102px;padding-left:12px}.masthead nav{gap:14px;font-size:12px}.masthead nav a:last-child{display:none}.hero{height:700px;margin-top:18px}.hero-art{height:360px;object-position:66% center}.hero-copy{left:4px;bottom:24px;text-shadow:none;max-width:100%}h1{font-size:62px}.deck{font-size:25px;margin-top:18px}.art-credit{top:332px;bottom:auto;right:8px;font-size:12px}.hero-copy .eyebrow{margin-bottom:18px}h2{font-size:42px}.intro{font-size:23px;padding:28px 0 24px}.game-figure{margin-bottom:42px}.pin{width:24px;height:24px;font-size:12px}.callouts{grid-template-columns:1fr;gap:10px;margin:14px 0}.loop-section{padding:40px 0}.section-intro{display:block}.section-intro h2{margin-bottom:24px}.loop>img{display:none}.mobile-loop{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style-position:inside;padding:0;margin:30px 0 18px}.mobile-loop li{padding:18px 10px;border-top:1px solid var(--rule)}.mobile-loop li::marker{color:var(--gold)}.mobile-loop b{font-family:Newsreader,serif;font-size:25px;font-weight:400}.mobile-loop span{display:block;font-size:12px;color:var(--muted)}.loop figcaption{text-align:left}.details{display:block;padding:46px 0}.mobile-figure{max-width:360px;margin-top:38px}.numbers{gap:40px}.film{padding:40px 0}.film-heading{display:block}.download{display:inline-block;margin-top:18px}.closing{font-size:24px;margin-top:32px}footer{flex-wrap:wrap;gap:10px}footer span{flex-basis:100%}footer a{margin-left:0}}@media(max-width:360px){.masthead nav{display:none}.hero{height:680px}h1{font-size:55px}.hero-art{height:330px}.art-credit{top:300px}.deck{font-size:23px}.numbers{gap:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{body{background:white;color:black}.hero{height:auto}.hero-art{position:static;height:300px}.hero-copy{position:static;text-shadow:none}.hero h1{font-size:54px}.art-credit{position:static}.wrap{width:100%}.masthead nav,dialog,video,.download{display:none}a,.eyebrow,.fine,figcaption,.music-credit{color:inherit}.film:before{content:'Film: Bloomline showcase (45 seconds). See accompanying video file.'}.details{gap:24px}.mobile-figure{max-width:260px}.loop img{background:#071d19}footer{color:black}}

/* Documentary additions: material studies and one concrete design iteration. */
.materials,.iteration{padding:60px 0;border-top:1px solid var(--rule)}
.materials{margin-bottom:36px}.section-lead{max-width:700px;margin:24px 0 32px}.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.study-grid figure{margin:0;min-width:0}.study-crop{display:block;position:relative;aspect-ratio:380/250;overflow:hidden;border:1px solid var(--rule);background:#10352f}.study-crop img{position:absolute;width:336.842%;max-width:none;height:auto;left:-14.474%;top:-152%}.study-grid h3,.worked-loop h3,.next-questions h3{font-family:Newsreader,Georgia,serif;font-size:29px;line-height:1.12;font-weight:400;margin:9px 0 12px;color:var(--ink)}.study-grid figcaption p{margin:10px 0}.study-number,.worked-loop>li>span{font-size:12px;letter-spacing:.12em;color:var(--gold)}.study-choice{border-top:1px solid var(--rule);padding-top:12px;color:var(--gold);font-size:12px}.material-decision{font-family:Newsreader,Georgia,serif;font-size:26px;line-height:1.35;max-width:790px;margin:32px 0 16px}.iteration blockquote{margin:32px 0;padding:12px 0 12px 24px;border-left:2px solid var(--gold);max-width:800px}.iteration blockquote p{font-family:Newsreader,Georgia,serif;font-size:30px;line-height:1.25;margin:0 0 16px}.iteration cite{font-size:12px;font-style:normal;color:var(--muted)}.worked-loop{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:40px 0 16px}.worked-loop li{border-top:1px solid var(--gold);padding-top:20px}.worked-loop p{font-size:15px;margin:0;color:var(--muted)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:800px;margin:40px auto 24px}.comparison-grid figure{margin:0;min-width:0}.comparison-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.comparison-shot{position:relative}.comparison-shot img{display:block;width:100%;height:auto;border:1px solid var(--rule)}.before-hand{left:4%;top:73%}.after-hand{left:3%;top:88%}.after-tools{left:63%;top:2%}.comparison-grid figcaption b{color:var(--ink)}.evidence-note{font-size:13px;color:var(--muted);max-width:800px}.evidence-note summary{cursor:pointer;color:var(--gold)}.details-text{display:block;border-top:1px solid var(--rule)}.details-text .detail-copy{max-width:820px;margin:auto}.details-text .detail-copy p:not(.eyebrow):not(.fine){max-width:none}.next-questions{margin-top:40px;padding:28px;border:1px solid var(--rule);max-width:800px}.next-questions .eyebrow{margin-bottom:12px}.next-questions p:last-child{margin-bottom:0;font-size:16px;color:var(--muted)}
@media(max-width:700px){.materials,.iteration{padding:40px 0}.study-grid{grid-template-columns:1fr;gap:30px}.study-grid figure{max-width:440px}.study-grid figcaption{margin-top:12px}.study-grid figcaption h3{display:inline;margin-left:12px}.study-grid figcaption p{margin:12px 0}.worked-loop{grid-template-columns:1fr;gap:22px}.worked-loop li{padding-top:15px}.comparison-grid{grid-template-columns:1fr;gap:28px;max-width:360px}.iteration blockquote{padding-left:18px}.iteration blockquote p{font-size:26px}.material-decision{font-size:24px}.next-questions{padding:22px}}
