/* Where’s Blooma — garden storybook, 15 October 2026. Shared public and family UI. */
@font-face{font-family:Mont;src:url('/static/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Mont;src:url('/static/Montserrat-SemiBold.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:Cutesy;src:url('/static/Cutesy.woff2') format('woff2');font-display:swap}
:root{--sage:#adc8b9;--sage-deep:#315c49;--sage-ink:#264737;--sage-tint:#edf2e9;--sage-tint2:#dce8dd;--coral:#f3ae87;--coral-deep:#a34e2d;--coral-ink:#803f27;--coral-tint:#fae9dc;--amber:#e6b764;--amber-tint:#f8edcf;--ink:#283e33;--ink2:#53665a;--ink3:#5e6d62;--paper:#fcfaf5;--panel:#fffefa;--line:#dce2d8;--line2:#b9c6b8;--radius:22px;--shadow:0 5px 20px #294d3710;--shadow-lg:0 14px 32px #294d3716}
*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}body{font-family:Mont,system-ui,sans-serif;color:var(--ink);line-height:1.7;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper);font-size:15px}img,video{max-width:100%}img{vertical-align:middle}h1,h2,h3,.display{color:var(--sage-ink);font-weight:600;line-height:1.18;letter-spacing:-.04em}h1{font-size:clamp(30px,4.5vw,46px)}h2{font-size:clamp(27px,3.2vw,38px)}h3{font-size:18px;letter-spacing:-.02em}p,a,h1,h2,h3{overflow-wrap:break-word}a{color:var(--coral-deep);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--coral-deep);outline-offset:4px}main:focus{outline:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);z-index:100;padding:10px 20px;background:var(--sage-ink);color:white;border-radius:8px}.skip-link:focus{transform:none}
/* A recognisable masthead, with a compact wrapping family navigation on phones. */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;min-height:88px;padding:14px max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fcfaf5f5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:18px;color:var(--sage-ink);flex-shrink:0}.brand:hover{text-decoration:none}.brand img{height:48px;width:auto}.brand-name{font-family:Cutesy,sans-serif;font-size:28px;line-height:1}.sp{flex:1}.topbar .nav{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:30px;font-weight:600;font-size:13px;color:var(--ink2);text-align:center}.topbar .nav:hover,.topbar .nav.on{color:var(--sage-ink);background:var(--sage-tint);text-decoration:none}.topbar .nav-login{border:1px solid var(--sage-deep);margin-left:10px;padding-inline:22px}.nav .short{display:none}.topbar .nav[href="/"] .full{display:none}.topbar .nav[href="/"] .short{display:inline}
main{flex:1;width:100%;max-width:840px;padding:48px 24px 80px;margin:0 auto}.page-home main,.page-feed main{max-width:1160px}.page-home main{padding-top:48px}.page-join main,.page-account main{max-width:1040px}body:has(.join-layout) main{max-width:1040px}
footer{border-top:1px solid var(--line);background:#edf2e9;padding:36px 24px}.footer-inner{max-width:1112px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-brand{font-family:Cutesy,sans-serif;font-size:30px;color:var(--sage-ink);line-height:1.3}.footer-brand span{display:block;font:11px/1.8 Mont,sans-serif;letter-spacing:.01em;margin-top:6px;color:var(--ink2)}footer p{font-size:12px;color:var(--ink2)}footer nav{display:flex;gap:18px;flex-wrap:wrap}footer nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--sage-ink);font-size:12px;font-weight:600}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:12px 23px;border-radius:30px;border:1px solid transparent;background:var(--sage-deep);color:#fff;font:600 14px/1.5 Mont,sans-serif;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s}.btn:hover{text-decoration:none;background:var(--sage-ink)}.btn:active{transform:translateY(1px)}.btn.sage{background:var(--sage-deep)}.btn.ghost{background:transparent;border-color:var(--line2);color:var(--sage-ink)}.btn.ghost:hover{background:var(--sage-tint);border-color:var(--sage-deep)}.btn.lg{padding:15px 25px;font-size:14px;min-height:54px}.btn.block{display:flex;width:100%}.btn:disabled{cursor:wait;opacity:.65}.textlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--sage-deep);font-size:13px;font-weight:600}.muted{font-size:13px;color:var(--ink3)}.muted a,a.muted{display:inline-block;min-height:44px;padding-block:10px}.center{text-align:center}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.field{margin:18px 0}.field label{display:block;font-weight:600;font-size:13px;color:var(--ink);margin-bottom:7px}input,textarea,select{width:100%;font-size:16px;color:var(--ink);background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:12px 14px;min-height:48px}input:focus,textarea:focus,select:focus{outline:2px solid var(--sage-deep);outline-offset:2px}input[type=checkbox]{accent-color:var(--sage-deep);min-height:0}textarea{min-height:110px;resize:vertical}.pill{display:inline-block;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.02em}.pill.pending{background:var(--amber-tint);color:#72541b}.pill.approved{background:var(--sage-tint2);color:var(--sage-ink)}.pill.rejected{background:var(--coral-tint);color:var(--coral-ink)}.flash{background:var(--sage-tint);border:1px solid var(--line2);color:var(--sage-ink);padding:15px 20px;border-radius:12px;margin-bottom:18px}.flash.err{background:var(--coral-tint);border-color:#dba98b;color:var(--coral-ink)}.sect{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;margin-bottom:28px}.sect>picture img{width:auto;height:38px}.sect .muted{max-width:48ch;font-size:14px}.sect h2{font-size:30px}
/* Photo foregrounds stay whole, including on hover. */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.tiles>a{display:block;color:inherit;text-decoration:none;min-width:0}.tile{height:100%;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 3px 12px #294d3707;transition:border-color .15s,box-shadow .15s}.tiles>a:hover .tile,.tiles>a:focus-visible .tile{border-color:var(--sage-deep);box-shadow:var(--shadow-lg)}.pf{position:relative;overflow:hidden;isolation:isolate;background:var(--sage-tint)}.pf .bg{position:absolute;inset:-12%;width:124%;height:124%;max-width:none;object-fit:cover;filter:blur(20px);opacity:.3;z-index:0}.pf .fg{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}.tile .ph{aspect-ratio:1}.tile .cap{padding:18px 20px 20px}.tile .cap .t{font-size:16px;font-weight:600;line-height:1.45;color:var(--sage-ink)}.tile .cap .m{font-size:12px;line-height:1.7;color:var(--ink2);margin-top:6px}.adventure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bubble{padding:16px 20px;margin-top:12px;background:var(--sage-tint);border-radius:18px 18px 18px 4px}.bubble .who{font-size:13px;font-weight:600;color:var(--sage-ink)}.bubble .body{font-size:14px;margin-top:4px}.js .apply-fallback{display:none}
.eyebrow{font-size:10px;font-weight:600;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-deep)}.seed-dot{width:8px;height:8px;display:inline-block;background:var(--coral);border-radius:50%;margin-right:8px}.home-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:58px;align-items:center;padding:12px 0 64px}.hero-copy h1{font-size:clamp(42px,5.4vw,68px);line-height:1.09;letter-spacing:-.055em;margin:22px 0}.hero-copy h1 span{color:var(--coral-deep)}.hero-intro{font-size:16px;line-height:1.85;max-width:43ch;color:var(--ink2)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{font-size:11px;color:var(--ink2);max-width:45ch;margin-top:19px}.hero-portrait{position:relative;margin:0;padding:12px 12px 0;background:var(--sage-tint);border-radius:48% 48% 20px 20px}.hero-portrait picture{display:block;border-radius:48% 48% 12px 12px;overflow:hidden}.hero-portrait img{width:100%;height:auto}.hero-portrait figcaption{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;padding:14px 10px 18px}.handwritten{font-family:Cutesy,sans-serif;font-size:30px;line-height:1.2;color:var(--sage-ink)}.hero-portrait figcaption>span+span{font-size:10px;color:var(--ink2)}.how-section{border-top:1px solid var(--line);padding-top:42px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-heading h2{margin-top:12px;font-size:clamp(25px,2.65vw,32px)}.section-heading>p{font-size:12px;color:var(--ink2);flex-shrink:0}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.steps li{border-top:1px solid var(--line2);padding:22px 0}.step-number{font-family:Cutesy,sans-serif;font-size:32px;line-height:1;color:var(--coral-deep)}.steps h3{margin:18px 0 9px;font-size:16px}.steps p{font-size:13px;color:var(--ink2)}.latest-section{margin-top:62px}.story-feature{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:50px;background:var(--sage-tint);border-radius:24px;margin-top:52px;padding:30px}.story-feature picture img{width:100%;height:auto;border-radius:14px}.story-feature>div{padding:12px 12px 12px 0}.story-feature h2{margin:16px 0 20px}.story-feature p:not(.eyebrow){font-size:14px;color:var(--ink2);max-width:42ch}.story-feature .btn{margin-top:24px;background:var(--paper)}.closing-note{text-align:center;padding:58px 0 0}.closing-note>img{height:44px;width:auto;margin-bottom:18px}.closing-note blockquote{font-family:Cutesy,sans-serif;font-size:clamp(30px,3vw,40px);line-height:1.3;color:var(--sage-ink)}.closing-note>p{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin:14px 0 6px}
.join-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.join-story{padding:20px 0}.join-story h2{margin:16px 0 24px;font-size:36px}.join-story picture img{width:100%;border-radius:130px 130px 18px 18px;height:auto}.join-story>p:not(.eyebrow){font-size:14px;color:var(--ink2);margin-top:20px}.join-form{min-width:0}.join-form .sect{align-items:flex-start;text-align:left}.join-form .sect>picture{display:none}.join-form h1{font-size:32px}.share-layout{max-width:560px;margin:auto}#photo-in:focus-visible~#pv{outline:3px solid var(--coral-deep)}.field:has(#photo-in:focus-visible) #drop{outline:3px solid var(--coral-deep);outline-offset:4px}.book-layout{max-width:680px;margin:auto}#reader{border-radius:24px;background:var(--panel)}#pageArt{object-fit:contain!important}#reader button{font-size:13px}.page-about .card,.page-privacy .card{box-shadow:none;line-height:1.95}.page-privacy li{padding-bottom:14px;border-bottom:1px solid var(--line)}.page-privacy li:last-child{border-bottom:0}
@keyframes pop{40%{transform:scale(1.2)}to{transform:scale(1)}}
@media(min-width:1100px){.page-book main{max-width:1100px}.book-layout{max-width:none}.book-layout>#reader{display:grid;grid-template-columns:1.25fr 1fr;column-gap:28px;align-items:center;padding:24px!important}.book-layout #reader>div:first-child{grid-row:1/4}.book-layout #pageTextWrap{height:auto!important;min-height:160px!important}.book-layout #reader>div:nth-child(3){align-self:start}.book-layout #reader>p{align-self:start}.book-layout #pageText{font-size:19px!important;line-height:1.8!important}}
@media(max-width:1000px){.brand-name{display:none}.home-hero{gap:30px}.section-heading>p{flex-shrink:1}.hero-copy h1{font-size:52px}.hero-actions{gap:8px}.hero-actions .btn{padding-inline:18px}.join-layout{gap:32px}.footer-inner{flex-wrap:wrap}.footer-inner>p{display:none}}
@media(max-width:900px){.adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr);gap:14px 28px}.home-hero{gap:24px}.hero-copy h1{font-size:46px}.hero-intro{font-size:14px}.hero-actions .btn{font-size:12px}.story-feature{gap:30px}}
@media(max-width:680px){.topbar{min-height:66px;padding:10px 14px;gap:2px;justify-content:space-between;flex-wrap:wrap}.topbar .brand{display:none}.topbar .sp{display:none}.topbar .nav{padding:8px 10px;font-size:12px;flex:1 0 auto}.topbar .nav-login{margin-left:4px;padding-inline:14px}.topbar .nav[href="/"] .short{display:inline}.topbar .nav[href="/"] .full{display:none}main{padding:30px 18px 54px}.page-home main{padding-top:28px}.home-hero{grid-template-columns:1fr;gap:28px;padding:0 0 38px}.hero-copy h1{font-size:clamp(40px,10.5vw,62px);margin:18px 0}.hero-intro{font-size:15px;max-width:46ch}.hero-actions{margin-top:22px}.hero-actions .btn{font-size:13px;padding-inline:20px}.hero-note{margin-top:16px;font-size:10px}.hero-portrait{max-width:440px;width:100%;justify-self:center;padding:9px 9px 0}.hero-portrait picture{border-radius:48% 48% 10px 10px}.hero-portrait figcaption{padding:10px 8px 14px}.hero-portrait .handwritten{font-size:28px}.eyebrow{font-size:9px;letter-spacing:.1em}.how-section{padding-top:30px}.section-heading{align-items:start;flex-direction:column;gap:14px;margin-bottom:22px}.section-heading h2{font-size:28px}.section-heading>p br{display:none}.steps{gap:8px 22px}.steps li{padding:18px 0}.steps h3{font-size:15px;margin-top:12px}.steps p{font-size:12px}.story-feature{grid-template-columns:1fr;gap:12px;padding:20px;margin-top:32px}.story-feature>picture{max-width:360px;justify-self:center}.story-feature>div{padding:12px 4px}.story-feature h2{font-size:30px}.closing-note{padding-top:40px}.footer-inner{flex-direction:column;text-align:center;gap:18px}.footer-inner nav{justify-content:center}.join-layout{display:block}.join-story{display:none}.join-form{max-width:460px;margin:auto}.join-form .sect{align-items:center;text-align:center}.join-form .sect>picture{display:block}.sect h1{font-size:30px}.card{padding:22px}.sect{margin-bottom:24px}.tile .cap{padding:16px}.page-me main>div:first-of-type{flex-wrap:wrap}.page-me .card:has(form[action$="/remove"]){flex-wrap:wrap}.page-me .card form[action$="/remove"]{margin-left:auto!important}}
@media(max-width:600px){.adventure-grid{grid-template-columns:1fr;gap:24px}.adventure-grid .ph{aspect-ratio:4/3}.tiles:not(.adventure-grid){grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}}
@media(max-width:360px){.hero-actions{flex-direction:column;align-items:stretch}.topbar .nav{font-size:11px;padding-inline:8px}.steps{gap:16px}.book-layout #reader{padding:10px!important}#reader #btnPrev,#reader #btnNext{width:90px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
