@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@400;500;600;700;800&display=swap');
:root{--paper:#faf7ee;--ink:#1f1f1f;--yellow:#ffc629;--muted:#6a665d;--line:#e8dfc9;--sage:#eee6cf;--bg:#faf7ee;--panel:#fffdf7;--accent:#ffc629;--accent-soft:#fff0b7;--sea:#f1eedf;--land:#3d4940;--grid:#3d494033}
body{background:var(--paper);color:var(--ink);font-family:'Nunito Sans',sans-serif;font-size:17px}
h1,h2,h3{font-family:'Fredoka',sans-serif;font-weight:600;letter-spacing:-.035em;line-height:1.09}
h1{font-size:clamp(40px,4.6vw,66px)}h2{font-size:43px}h3{font-size:27px}
.header{height:114px;max-width:1390px}.header .brand{display:block;width:185px;line-height:0;padding:0}.brand img{display:block;width:100%;height:auto}.header nav{gap:32px}.header nav a{font-weight:800;font-size:15px;border-bottom:0}.header nav a:hover,.header nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:5px;text-underline-offset:8px}
.eyebrow{font-family:'Nunito Sans',sans-serif;color:#777165;font-size:11px;letter-spacing:.17em;font-weight:800}
.brand-hero{padding-top:10px;padding-bottom:84px;text-align:center;position:relative}
.brand-lockup{width:min(690px,87%);margin:0 auto 20px;display:block;height:auto}
.brand-hero h1{font-size:clamp(34px,3.6vw,49px);font-weight:600;margin:0 auto;max-width:900px}
.brand-hero .lead{max-width:680px;margin:19px auto 30px;font-size:18px;line-height:1.7}
.brand-hero .eyebrow{margin:0 0 5px;font-size:10px}.brand-hero .actions{justify-content:center;gap:34px}
.button{background:var(--yellow);color:var(--ink);font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:16px;padding:17px 29px;border:0;border-radius:999px;position:relative;box-shadow:0 8px 0 -5px #e8dfc9;transition:transform .18s,background .18s}
.button:hover{background:#ffd550;color:var(--ink);transform:translateY(-2px)}.button span{font-size:23px;font-weight:500;line-height:1}.text-link{font-weight:800;border:0;text-decoration:underline;text-decoration-color:#ccc2a9;text-underline-offset:5px}.text-link:hover{text-decoration-color:#1f1f1f}
.bee-button{padding-left:39px}.bee-button img{width:75px;height:64px;object-fit:contain;position:absolute;left:-42px;top:-29px;pointer-events:none}
.section{padding-block:78px 92px}.section-heading{gap:80px;margin-bottom:42px}.section-heading h2{font-size:43px}.section-heading .eyebrow{margin-bottom:17px}
.project-grid{gap:42px 28px}.project-card{border:1px solid var(--line);border-radius:23px;overflow:hidden;background:#fffdf6;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:#d3b95f}.project-card:hover .art{transform:none}.project-card:hover h3{color:#1f1f1f}.art{border-radius:0;height:226px;background:#f1e9d3}.card-copy{padding:24px 25px 28px}.card-copy h3{font-size:27px}.card-copy p{color:#666056;font-size:15px}.card-copy .eyebrow{font-size:10px;letter-spacing:.15em;color:#7b715c}
.check{background:#ffe9a0}.check:after{background:#fff9e8;box-shadow:0 3px 0 #dfca87}.check>span{font-family:'Fredoka',sans-serif}.words{background:#f0e6cc}.words>span{font-family:'Fredoka',sans-serif;font-weight:600}.chart{background:#f4ead0}.chart i{background:#d9b747;border-radius:5px 5px 0 0}.chart i:nth-of-type(5){background:#1f1f1f}.editorial{background:#e8dfc9}.editorial>span{color:#1f1f1f}.post{background:#ffeab0}.post i{border-color:#dfc777;background:#fffdf5}.post b{background:#ffc629;color:#1f1f1f}.post>span{color:#766129}.ban{background:#eee6d3}.ban>span{border-color:#1f1f1f;color:#1f1f1f;background:#ffc629}.ban:after{background:#ffc629;border-color:#1f1f1f}.memory{background:#ffe69a}.memory i{background:repeating-linear-gradient(45deg,#1f1f1f 0 7px,#ffc629 7px 14px);border-color:#fffdf5}.memory>span{font-family:'Fredoka',sans-serif;background:#fffdf5}.globe{background:#f0e8d4}.globe:before,.globe:after{border-color:#665b40}.eclipse{background:#1f1f1f}.eclipse:before{background:#1f1f1f;box-shadow:0 0 0 3px #ffc629,0 0 23px 8px #ffc62955,0 0 60px 30px #ffc62911}
.lab-band{background:#f1e8d0;border-block:1px solid #e8dfc9}.lab-inner{padding-block:67px;gap:65px}.lab-inner .button{margin-top:12px}.closing{position:relative;padding-block:90px;max-width:930px}.closing h2{font-size:45px}.closing p:not(.eyebrow){max-width:500px}
.footer{padding-top:40px;padding-bottom:28px}.footer .brand{width:160px;line-height:0;display:block}.footer .brand img{width:100%}.footer p{margin-top:10px}.footer-links{font-weight:800}.footer small{margin-top:12px;color:#827a69}
.page-intro{padding-top:56px;padding-bottom:54px}.page-intro h1{font-size:clamp(39px,5vw,64px);max-width:1030px}.page-intro .lead{max-width:730px}.page-intro h1 em:after{height:10px;background:#ffc629;bottom:1px}
.filters{padding-block:22px 32px;gap:7px}.filters button{font-family:'Nunito Sans',sans-serif;font-weight:800}.filters button[aria-pressed=true]{background:#ffc629;color:#1f1f1f}.filters button:hover{border-color:#d8c794}
.story{gap:90px}.story-aside{background:transparent;text-align:center;padding:0 25px}.about-bee{width:100%;height:230px;object-fit:contain;display:block;margin-bottom:15px}.story-aside p{font-family:'Fredoka',sans-serif;font-size:24px;line-height:1.3;color:#1f1f1f}.story h2{font-size:38px}.contact{border-top:2px dashed #e8dfc9}
.detail-grid{gap:65px}.detail-grid h1{font-size:clamp(38px,4.2vw,56px)}.detail-grid .art{border-radius:25px;height:330px}.detail-body h2{font-size:38px}.feature-list li:before{color:#816100}.status{color:#746c5c}.next-project h2{font-size:34px}
.justbee-return{background:#faf7ee!important;align-items:center;padding-block:8px!important;border-bottom:1px solid #e8dfc9!important;font:800 14px 'Nunito Sans',sans-serif!important}.justbee-return .brand{display:block;width:156px;line-height:0}.justbee-return .brand img{width:100%;height:auto}.justbee-return a{color:#1f1f1f!important}
.justbee-mercator .layout{max-width:1260px;padding-top:30px}.justbee-mercator .hero,.justbee-mercator .map-card,.justbee-mercator .notes{background:#fffdf6;box-shadow:none;border:1px solid #e8dfc9;backdrop-filter:none}.justbee-mercator .hero{padding:34px;border-radius:24px}.justbee-mercator h1{font-size:clamp(36px,4vw,55px);max-width:21ch;line-height:1.07}.justbee-mercator h2{font-size:30px}.justbee-mercator .intro,.justbee-mercator .notes p,.justbee-mercator .map-header p{font-family:'Nunito Sans',sans-serif;color:#6a665d}.justbee-mercator button{font-family:'Nunito Sans',sans-serif;font-weight:800;background:#ffc629;color:#1f1f1f}.justbee-mercator button.secondary{background:#eee6d3}.justbee-mercator .eyebrow{color:#73654c}.justbee-mercator input[type=range]{accent-color:#b38b10}.justbee-mercator .animation-controls label,.justbee-mercator .animation-controls select{font-family:'Nunito Sans',sans-serif}.justbee-mercator .notes{margin-top:24px}.justbee-mercator .notes a{color:#1f1f1f;text-decoration-thickness:2px;text-decoration-color:#d5a400;text-underline-offset:4px}.justbee-mercator .reading-note{padding-top:22px;margin-top:25px;border-top:1px dashed #d4c9af}.justbee-mercator .reading-note h3{font-size:25px;margin-bottom:12px}.justbee-mercator .reading-note p{font-size:16px}
@media(max-width:1000px){.brand-lockup{width:620px;max-width:90%}.brand-hero{padding-top:5px;padding-bottom:65px}.section-heading{gap:45px}.section-heading h2{font-size:37px}.card-copy{padding:22px 20px}.card-copy h3{font-size:24px}.detail-grid{gap:40px}.story{gap:40px}}
@media(max-width:700px){body{font-size:16px}.header{height:99px;padding-inline:20px;gap:10px}.header .brand{width:126px;flex-shrink:0}.header nav{gap:15px}.header nav a{font-size:12px}.brand-hero{padding:12px 23px 54px}.brand-hero .eyebrow{font-size:9px;letter-spacing:.09em;max-width:280px;margin:auto}.brand-lockup{width:100%;max-width:100%;margin:12px auto 25px}.brand-hero h1{font-size:35px;max-width:340px;line-height:1.06}.brand-hero .lead{font-size:16px;line-height:1.65;margin:20px auto 26px}.brand-hero .actions{gap:23px;flex-direction:column}.bee-button{margin-left:10px;padding-left:28px}.bee-button img{left:-30px;top:-23px;width:60px;height:50px}.button{font-size:15px;padding:15px 25px}.section{padding-block:47px 58px}.section-heading h2{font-size:34px}.section-heading{margin-bottom:30px}.section-heading p:not(.eyebrow){font-size:16px}.project-grid{gap:25px}.project-card{border-radius:22px}.art{height:220px}.card-copy{padding:23px}.card-copy h3{font-size:26px}.lab-inner{padding-block:45px;gap:20px}.lab-inner h2{font-size:33px}.closing{padding-block:65px}.closing h2{font-size:36px}.page-intro{padding-top:30px;padding-bottom:35px}.page-intro h1{font-size:40px}.detail-grid h1{font-size:40px}.detail-grid .art{height:250px}.story-aside{padding:0;display:block}.about-bee{height:195px;max-width:290px;margin-inline:auto}.story h2{font-size:33px}.story-aside p{font-size:23px}.footer .brand{width:140px}.footer-links{font-size:13px}.justbee-mercator .hero{padding:24px}.justbee-mercator h1{font-size:36px}.justbee-mercator h2{font-size:27px}.justbee-mercator .controls{gap:9px}.justbee-mercator button{font-size:13px;padding:12px 16px}.justbee-return{padding-inline:18px!important}.justbee-return .brand{width:126px}.justbee-return>a:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Actual project screenshots, 2026-10-29 */
.project-shot{display:block;overflow:hidden;background:#fff;border:1px solid #e8dfc9;border-radius:18px;min-width:0;align-self:center}.project-shot img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:top}.project-card .project-shot{border:0;border-bottom:1px solid #e8dfc9;border-radius:0}.detail-grid .project-shot{box-shadow:0 18px 45px #1f1f1f12}.lab-inner .project-shot{width:100%}

/* One mascot, with space to breathe. */
.header .brand.wordmark,.footer .brand.wordmark{display:inline-flex;align-items:baseline;width:auto;line-height:1;font-family:'Fredoka',sans-serif;font-weight:700;letter-spacing:-.055em;color:#1f1f1f;text-decoration:none}
.header .brand.wordmark{font-size:46px}.footer .brand.wordmark{font-size:36px}.brand.wordmark>.wordmark-bee{color:#e8a900}.brand.wordmark>.wordmark-dot{color:#1f1f1f}
.brand-hero .bee-button{padding-left:29px;margin-left:0}.button-flight{position:absolute;width:100px;height:69px;left:-76px;top:-37px;color:#b68a09;pointer-events:none;transform:rotate(-8deg);transition:transform .25s}.bee-button:hover .button-flight{transform:translate(5px,-4px) rotate(-3deg)}
@media(prefers-reduced-motion:no-preference){.justbee-home .brand-lockup{animation:bee-hello 3.8s ease-in-out 1;transform-origin:50% 70%}.button-flight path{animation:flight-arrive 1.8s ease-out 1}}
@keyframes bee-hello{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-7px) rotate(.7deg)}65%{transform:translateY(-2px) rotate(-.45deg)}}
@keyframes flight-arrive{from{stroke-dashoffset:35;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:700px){.header .brand.wordmark{font-size:36px;flex-shrink:0}.footer .brand.wordmark{font-size:31px}.header nav{gap:15px}.brand-hero .bee-button{padding-left:25px}.button-flight{width:70px;height:48px;left:-23px;top:-36px}}
@media(max-width:360px){.header{padding-inline:17px;gap:12px}.header .brand.wordmark{font-size:31px}.header nav{gap:11px}.header nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.button-flight{transition:none!important}}

/* Restore the original header logo; animate the bee independently. */
.justbee-home .brand-lockup{animation:none!important;transform:none!important}.brand-live-logo{overflow:visible}
.brand-hero .bee-button{padding-left:40px;padding-right:29px;margin-left:12px;margin-right:0}.bee-button img.button-bee-right{left:-42px;right:auto;top:-29px;width:75px;height:64px;transform:scaleX(-1);object-fit:contain;position:absolute;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.logo-bee-fly{transform-origin:900px 350px;animation:bee-arrival 1.9s cubic-bezier(.22,.7,.24,1) 1 both}}
@keyframes bee-arrival{0%{opacity:0;transform:translate(430px,-200px) rotate(17deg)}12%{opacity:1}65%{opacity:1;transform:translate(-24px,10px) rotate(-3deg)}84%{transform:translate(8px,-5px) rotate(1deg)}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@media(max-width:700px){.brand-hero .bee-button{padding-left:36px;padding-right:25px;margin-left:10px;margin-right:0}.bee-button img.button-bee-right{right:auto;left:-28px;top:-23px;width:60px;height:50px}}
@media(max-width:360px){.header .brand{width:104px}.header nav{gap:10px}}
@media(prefers-reduced-motion:reduce){.logo-bee-fly{animation:none!important;opacity:1;transform:none}}
/* Native WordPress menus: the marker only appears on hover or keyboard focus. */
.justbee-menu{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0}.justbee-menu li{margin:0;padding:0}.footer-links .justbee-menu{gap:24px;flex-wrap:wrap}.header nav a[aria-current]{border-bottom:0}
.header nav .justbee-menu a,.footer-links .justbee-menu a,.justbee-return>a:not(.brand){position:relative;isolation:isolate;display:inline-block;text-decoration:none;border-bottom:0}
.header nav .justbee-menu a::after,.footer-links .justbee-menu a::after,.justbee-return>a:not(.brand)::after{content:"";position:absolute;left:-2px;right:-2px;bottom:5px;height:7px;background:#ffc629;z-index:-1;opacity:0;transform:rotate(-2deg) scaleX(.4);transform-origin:left;transition:transform .18s ease,opacity .18s ease;pointer-events:none}
.footer-links .justbee-menu a::after{bottom:1px}.header nav .justbee-menu a:hover::after,.header nav .justbee-menu a:focus-visible::after,.footer-links .justbee-menu a:hover::after,.footer-links .justbee-menu a:focus-visible::after,.justbee-return>a:not(.brand):hover::after,.justbee-return>a:not(.brand):focus-visible::after{opacity:1;transform:rotate(-2deg) scaleX(1)}
@media(max-width:700px){.header .justbee-menu{gap:15px}.footer-links .justbee-menu{gap:18px}}@media(max-width:360px){.header .justbee-menu{gap:10px}}@media(prefers-reduced-motion:reduce){.justbee-menu a::after,.justbee-return>a::after{transition:none}}

.bee-button .button-label{margin:0;color:inherit;font:inherit}
