/* Product palette: docs/brand/canva-brand-studio/README.md and landing.css. */
:root{--brand-primary:#3DD68C;--brand-primary-hover:#28B874;--brand-primary-light:#7DE8B4;--brand-secondary:#141A13;--brand-secondary-surface:#1E271D;--brand-background:#F2F7EE;--brand-background-alt:#EAF1E5;--brand-text:#1A2018;--brand-muted:#617060;--brand-surface:#FFFFFF}
:root{--ink:#141A13;--muted:#617060;--green:#28B874;--lime:#7DE8B4;--paper:#F2F7EE;--line:#dce5d7;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8a5c21;outline-offset:5px}p{line-height:1.75}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-2.5px;line-height:1.08}h1{font-size:clamp(58px,5.8vw,84px);margin-bottom:26px}h1 em{font-weight:400;color:#28B874}h2{font-size:clamp(36px,3.5vw,49px);margin-bottom:22px}h3{font-size:19px;letter-spacing:-.5px;line-height:1.4}img{max-width:100%}.wrap{max-width:1240px;margin:auto;padding-left:44px;padding-right:44px}.header{position:sticky;top:0;background:#F2F7EEf2;backdrop-filter:blur(16px);z-index:10;border-bottom:1px solid var(--line)}.nav{height:86px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;font-weight:800;font-size:26px;letter-spacing:-1px;gap:8px}.brand img{border-radius:9px}.brand-dot{margin-left:-8px;color:#7b9b57}.nav nav{display:flex;gap:26px;margin:auto;font-size:12px;font-weight:700;white-space:nowrap}.nav nav a{padding:12px 0;border-bottom:2px solid transparent}.nav nav .active{border-color:var(--green)}.nav-actions{display:flex;align-items:center;gap:20px;white-space:nowrap;font-size:12px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--green);color:white;border:0;border-radius:7px;padding:18px 23px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#28B874;transform:translateY(-2px)}.button.small{padding:13px 17px;font-size:11px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:65px;padding-top:78px;padding-bottom:65px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;margin-bottom:25px;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;background:#28B874;border-radius:50%}.lede{color:var(--muted);font-size:16px;max-width:425px}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:30px}.text-link{font-size:12px;font-weight:800;border-bottom:1px solid #aab9a3;padding-bottom:5px;display:inline-block}.availability{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin:20px 0 0}.journey{position:relative;transform:rotate(1deg);background:white;border:1px solid #e0e5d9;border-radius:18px;padding:12px;box-shadow:0 24px 60px #26422a12}.journey-top{display:flex;justify-content:space-between;align-items:center;padding:10px 8px 18px;font-size:9px;font-weight:800;letter-spacing:1px}.sample{color:var(--muted);font-size:9px;font-weight:500;letter-spacing:0}.map{height:355px;position:relative;overflow:hidden;border-radius:10px;background:#e4ebdd}.map svg{width:100%;height:100%;display:block}.map-label{position:absolute;font-weight:800;font-size:12px;background:white;padding:9px 13px;border-radius:6px;box-shadow:0 4px 13px #223e2310}.home{left:12%;top:72%}.school{left:60%;top:12%}.person-label{position:absolute;top:31%;left:33%;background:var(--green);color:white;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:700}.person-label span{padding-left:10px}.map-note{position:absolute;bottom:12px;left:0;width:100%;text-align:center;font-size:9px;color:#3a5946}.location-card{display:flex;align-items:center;gap:12px;padding:20px 6px 8px}.avatar{background:#e8eacf;border:4px solid #f5f6ed;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px}.location-card strong{font-size:13px}.location-card p{font-size:10px;color:var(--muted);margin:4px 0}.freshness{font-size:10px;margin-left:auto;font-weight:700}.freshness small{display:block;font-size:9px;color:var(--muted);margin-top:5px;font-weight:400}.message-card{display:flex;gap:13px;align-items:center;background:#fffef6;border:1px solid #e7e6d9;border-radius:10px;position:relative;margin:24px -24px -35px 35px;padding:17px;box-shadow:0 10px 24px #23422410;transform:rotate(-3deg)}.message-icon{font-size:30px;color:#688c4b}.message-card strong{font-size:11px}.message-card p{font-size:10px;color:var(--muted);margin:5px 0 0}.values{display:flex;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.values span:before{content:'✓';margin-right:12px;color:#28B874}.section{padding-top:90px;padding-bottom:85px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-heading>p{max-width:330px;font-size:13px;color:var(--muted);margin-bottom:25px}.section-heading .eyebrow{margin-bottom:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.steps article{border-top:1px solid #cbd6c4;padding-top:22px}.step-number{font-size:9px;font-weight:800;letter-spacing:1px}.step-symbol{margin:24px 0 17px;font-size:31px;color:#28B874}.steps p,.device-card p{font-size:13px;color:var(--muted)}.section-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:25px}.devices-section{background:#EAF1E5;padding:80px 0}.devices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.device-card{background:#F2F7EE;border:1px solid #dce3d3;border-radius:12px;padding:25px;display:flex;flex-direction:column;align-items:start}.pill{font-size:8px;font-weight:800;letter-spacing:1px;border:1px solid #d7dfce;border-radius:20px;padding:6px 9px}.device-card .text-link{margin-top:auto}.device-drawing{margin:28px auto 30px;display:grid;place-items:center;background:#141A13;color:#3DD68C;border:5px solid #1E271D;box-shadow:8px 9px 0 #dce5d1;font-size:32px;height:110px;width:62px;border-radius:13px}.device-drawing span{border:1px solid #779668;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.watch-drawing{width:72px;height:83px;margin-top:42px;margin-bottom:43px;border-radius:22px;position:relative}.watch-drawing:before,.watch-drawing:after{content:'';position:absolute;width:40px;height:20px;background:#adc19b;left:11px;z-index:0}.watch-drawing:before{top:-24px;border-radius:8px 8px 0 0}.watch-drawing:after{bottom:-24px;border-radius:0 0 8px 8px}.tracker-drawing{height:94px;width:67px;margin-top:36px;margin-bottom:38px;background:#dce2d3;border-color:#b8c7ad;color:#648459;border-radius:23px;box-shadow:8px 9px 0 #e6eadf}.tracker-drawing span{border:0}.future .pill{color:#756448;background:#f2eee4;border-color:#e3dccb}.trust{display:grid;grid-template-columns:1fr 1fr;gap:90px}.trust .lede{font-size:14px}.trust-items article{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.trust-items article:first-child{padding-top:0}.trust-items article>span{font-family:Georgia,serif;color:#799269}.trust-items h3{font-size:16px;margin-bottom:8px}.trust-items p{font-size:12px;margin:0;color:var(--muted)}.signup-section{background:#EAF1E5;padding:80px 0}.signup{display:grid;grid-template-columns:1fr 1fr;gap:100px}.signup .lede{font-size:14px}.signup-points{padding:0;list-style:none;font-size:12px;line-height:2.5}.signup-points li:before{content:'✓';margin-right:12px}.signup-form{background:#fffef9;padding:28px;border:1px solid #d3ddc9;border-radius:12px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}.field input:not([type=checkbox]),.field textarea{width:100%;border:1px solid #d7dfcf;border-radius:5px;padding:11px;background:#fffefb;color:var(--ink);font-size:12px}.field textarea{resize:vertical}.field-checkbox label{font-size:10px;line-height:1.8;font-weight:400}.field-checkbox a{text-decoration:underline}.field-checkbox input{accent-color:var(--green)}.signup-form .button{width:100%;padding:14px}.form-note{font-size:9px;color:var(--muted);margin:13px 0 0}.hidden{display:none}.ln-beta-message{font-size:12px}.ln-beta-message.error{color:#9c3425}.ln-beta-message.success{color:var(--green)}.partnerships{padding-top:75px;padding-bottom:75px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.partnerships h2{font-size:32px;letter-spacing:-1px}.partnerships p:not(.eyebrow){font-size:12px;color:var(--muted)}.partner-links a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.partner-links strong{display:block;font-size:14px}.partner-links small{display:block;font-size:10px;color:var(--muted);margin-top:8px}footer{background:#141A13;color:#edf2e8;padding-top:48px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:35px;padding-bottom:40px}.footer-top p{font-size:12px;color:#c6d3bf;margin-top:17px}.footer-top h3{font-size:11px;margin-bottom:18px}.footer-top>div>a:not(.brand){display:block;font-size:11px;color:#c6d3bf;margin-bottom:13px}.footer-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #ffffff20;padding-top:22px;padding-bottom:22px;font-size:10px;color:#c6d3bf}.footer-bottom a{margin-right:20px}.footer-bottom small{font-size:9px}.skip{position:fixed;left:10px;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:95px;padding-bottom:85px}}
@media(max-width:1050px){.wrap{padding-left:28px;padding-right:28px}.nav{gap:20px}.nav nav{gap:16px}.nav-actions{gap:12px}.nav .button{display:none}.hero{gap:30px}.hero-actions{flex-wrap:wrap;gap:18px}.map{height:320px}.signup{gap:50px}.trust{gap:50px}.message-card{margin-right:-10px}.partnerships{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{padding-left:22px;padding-right:22px}.nav{height:72px;gap:20px}.brand{font-size:23px}.menu-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;padding:9px;background:transparent;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--ink)}.nav nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:16px 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:5px}.nav nav.open{display:flex}.nav nav a{padding:12px}.nav-actions{margin:0}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:60px;gap:40px}.hero-copy{max-width:550px}h1{font-size:60px;letter-spacing:-2.5px}.eyebrow{font-size:9px;letter-spacing:1.4px}.hero .lede{font-size:15px}.hero-actions{gap:20px}.availability{font-size:9px}.journey{max-width:500px;width:100%;margin:auto;transform:none}.map{height:300px}.message-card{margin-left:15px;margin-right:0}.values{gap:12px;font-size:9px;padding-top:19px;padding-bottom:19px;flex-wrap:wrap;justify-content:center}.values span:before{margin-right:5px}.section{padding-top:58px;padding-bottom:55px}.section-heading{display:block}.section-heading>p{max-width:100%}.steps{grid-template-columns:1fr;gap:24px}.steps article{display:grid;grid-template-columns:40px 1fr;gap:0 18px}.step-number{grid-column:1/-1}.step-symbol{grid-column:1;grid-row:2/4;margin-top:17px}.steps h3{margin-top:20px;margin-bottom:8px}.steps p{grid-column:2}.devices-section{padding:55px 0}.devices{grid-template-columns:1fr}.device-card{padding:24px}.device-card h3{margin-bottom:8px}.device-drawing{margin-top:25px;margin-bottom:25px}.watch-drawing{margin-top:40px;margin-bottom:40px}.trust{grid-template-columns:1fr;gap:30px}.signup-section{padding:55px 0}.signup{grid-template-columns:1fr;gap:25px}.signup-form{padding:22px}.partnerships{grid-template-columns:1fr;gap:10px;padding-top:55px;padding-bottom:55px}.partnerships .eyebrow{line-height:1.7}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-bottom{flex-wrap:wrap;line-height:1.6}.footer-bottom small{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared brand and public-page layouts. */
:root{--ink:var(--brand-text);--muted:var(--brand-muted);--green:var(--brand-primary-hover);--paper:var(--brand-background)}
.header{background:rgba(242,247,238,.96)}
.button{background:var(--brand-primary);color:var(--brand-secondary)}
.button:hover{background:var(--brand-primary-hover)}
.button.small{background:var(--brand-secondary);color:var(--brand-surface)}
.button.small:hover{background:var(--brand-secondary-surface)}
.text-link{color:var(--brand-secondary)}
footer{background:var(--brand-secondary)}
.device-card,.signup-form,.location-card,.message-card{background:var(--brand-surface)}
.device-card.future{background:var(--brand-background)}
.page-main{padding-top:42px;padding-bottom:80px;min-height:60vh}
.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:10px;margin-bottom:35px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.legal-hero{max-width:820px;margin-bottom:44px}
.legal-hero h1,.ln-article-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.13;letter-spacing:-2px;margin-bottom:22px}
.ln-label,.ln-article-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:20px}
.legal-dek,.ln-article-dek{font-size:16px;line-height:1.8;color:var(--muted);max-width:720px}
.legal-updated,.ln-article-meta{font-size:11px;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.legal-card{background:var(--brand-surface);border:1px solid var(--line);border-radius:12px;padding:30px}
.legal-card h2,.legal-contact h2{font-family:Manrope,system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1.4;margin-bottom:14px}
.legal-card p,.legal-card li,.legal-contact p{font-size:13px;color:var(--muted);line-height:1.8}
.legal-card p:last-child{margin-bottom:0}
.page-main a:not(.button){text-decoration:underline;text-underline-offset:4px;text-decoration-color:#98b29c}
.legal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:36px;padding:28px;background:var(--brand-background-alt);border-radius:12px}
.legal-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:14px}
.legal-summary strong{font-size:14px}.legal-summary p{font-size:12px;color:var(--muted);margin:10px 0 0}
.legal-contact{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.legal-contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
.legal-form{background:var(--brand-surface);border:1px solid var(--line);border-radius:12px;padding:30px}
.legal-form label{display:block;margin-bottom:20px;font-size:12px;font-weight:700}
.legal-form label span{display:block;margin-bottom:8px}
.legal-form input,.legal-form textarea,.legal-form select{width:100%;font:inherit;color:var(--ink);padding:12px;border:1px solid #c8d6c2;border-radius:6px;background:white}
.legal-form textarea{resize:vertical;min-height:140px}.legal-form .button{width:100%}
.page-main .pill{display:inline-block;margin-bottom:20px;text-decoration:none}
.page-cta{padding:30px;margin-top:35px;border-radius:12px;background:var(--brand-background-alt);display:flex;align-items:center;justify-content:space-between;gap:24px}
.page-cta h2{font-size:28px;letter-spacing:-1px;margin-bottom:8px}.page-cta p{font-size:12px;color:var(--muted);margin:0}
.article-main{max-width:900px}.ln-article-meta{display:flex;flex-wrap:wrap;gap:20px;margin:25px 0 38px}.ln-article-body h2{font-size:30px;margin-top:35px;letter-spacing:-1px}.ln-article-body p,.ln-article-body li{font-size:15px;line-height:1.9;color:var(--muted)}.ln-article-callout{border-left:4px solid var(--brand-primary-hover);padding:23px;background:var(--brand-background-alt);margin:30px 0}.ln-article-callout p{margin:10px 0 0}
@media(max-width:760px){.legal-grid,.legal-contact-grid,.legal-summary{grid-template-columns:1fr}.page-main{padding-top:26px;padding-bottom:50px}.legal-card,.legal-form{padding:23px}.legal-hero{margin-bottom:30px}.page-cta{align-items:start;flex-direction:column}.page-cta .button{width:100%}.legal-summary{gap:18px}.legal-summary span{margin-bottom:7px}}
/* Keep display text legible; bright brand green is an accent, not body text. */
h1 em{color:var(--brand-secondary);text-decoration:underline;text-decoration-color:var(--brand-primary);text-decoration-thickness:4px;text-underline-offset:9px}

/* Public resource discovery, articles, FAQ and guided setup. */
[hidden]{display:none!important}
.nav nav{gap:20px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.story-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.story-card{border:1px solid var(--line);background:var(--brand-surface);border-radius:12px;overflow:hidden}
.story-card>a{display:block;height:100%;text-decoration:none!important}
.story-card a:hover h3{text-decoration:underline;text-underline-offset:4px}
.story-art{height:170px;position:relative;overflow:hidden;display:grid;place-items:center;background:var(--brand-background-alt);border-bottom:1px solid var(--line)}
.story-symbol{font-family:Georgia,serif;font-size:65px;line-height:1;color:var(--brand-secondary);z-index:1}
.story-orbit{position:absolute;border:1px solid #bdd3b4;border-radius:50%;width:170px;height:170px;transform:translate(60px,40px)}
.story-orbit:after{content:'';position:absolute;border:1px solid #bdd3b4;border-radius:50%;width:230px;height:230px;left:-100px;top:-80px}
.art-freshness{background:var(--brand-secondary)}
.art-freshness .story-symbol{color:var(--brand-primary)}
.art-freshness .story-orbit,.art-freshness .story-orbit:after{border-color:#38523a}
.art-first{background:var(--brand-primary-light)}
.story-copy{padding:25px}.story-copy .eyebrow{font-size:9px;margin-bottom:15px}.story-copy h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:27px;line-height:1.2;letter-spacing:-.7px}.story-copy>p:not(.eyebrow){font-size:12px;color:var(--muted)}
.home-help{margin-top:28px;padding:25px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:35px}.home-help>div{margin-right:auto}.home-help strong{font-size:15px}.home-help p{font-size:12px;color:var(--muted);margin:6px 0 0}
.home-reading{border-top:1px solid var(--line)}.home-reading .section-heading>a{margin-bottom:23px;white-space:nowrap}
.related-reading{margin-top:55px;border-top:1px solid var(--line);padding-top:38px}.related-reading>h2{font-size:34px;letter-spacing:-1px}.related-reading>.text-link{margin-top:24px}
.faq-search{max-width:760px;margin-bottom:24px}.faq-search label{display:block;font-weight:700;font-size:13px;margin-bottom:10px}.search-control{display:flex;gap:12px}.search-control input{font:inherit;font-size:14px;min-width:0;flex:1;border:1px solid #afc3a5;border-radius:7px;padding:16px;background:white;color:var(--ink)}.faq-search>p{font-size:11px;color:var(--muted);margin:10px 0}
.topic-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 40px}.topic-nav a{border:1px solid #bdceb4;border-radius:25px;padding:10px 17px;text-decoration:none!important;font-size:12px;background:var(--brand-background-alt)}.topic-nav a:hover{background:var(--brand-primary-light)}
.faq-group{max-width:850px;margin:38px 0}.faq-group h2{font-size:30px;letter-spacing:-1px}.faq-item{border-top:1px solid #cddac5}.faq-item:last-child{border-bottom:1px solid #cddac5}.faq-item summary{list-style:none;font-weight:700;font-size:14px;padding:22px 35px 22px 0;cursor:pointer;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:8px;top:18px;font-size:24px;font-weight:400}.faq-item[open] summary:after{content:'−'}.faq-item summary:focus-visible{outline:3px solid #8a5c21;outline-offset:2px}.faq-answer{padding:0 35px 20px 0;max-width:740px}.faq-answer p{font-size:13px;color:var(--muted);margin:0;line-height:1.85}.empty-state{padding:35px;background:var(--brand-background-alt);border-radius:12px}.empty-state h2{font-size:30px;letter-spacing:-1px}.empty-state p{font-size:14px}
.guide-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:60px;align-items:start}.guide-nav{position:sticky;top:115px;border-left:2px solid var(--brand-primary);padding-left:20px}.guide-nav p{font-size:9px;font-weight:800;letter-spacing:1px}.guide-nav a{display:block;text-decoration:none!important;font-size:12px;padding:9px 0;color:var(--muted)}.guide-nav a:hover{color:var(--ink);text-decoration:underline!important}.guide-step{padding:35px 0;border-bottom:1px solid var(--line)}.guide-content .guide-step:first-child{padding-top:0}.guide-step .pill{margin-bottom:15px}.guide-step h2{font-size:32px;letter-spacing:-1px}.guide-step h3{font-size:16px}.guide-step p,.guide-step li{font-size:14px;color:var(--muted);line-height:1.85}.guide-step ol{padding-left:22px}.guide-step li{padding-left:5px;margin-bottom:10px}.guide-lede{font-weight:600}.troubleshooting h3{margin-top:25px;margin-bottom:8px}
@media(max-width:1100px){.nav nav{gap:15px}.nav{gap:22px}.nav-actions .button{display:none}}
@media(max-width:760px){.story-grid,.story-grid.two{grid-template-columns:1fr}.story-art{height:150px}.story-copy{padding:22px}.home-help{align-items:start;flex-direction:column;gap:20px}.home-reading .section-heading>a{margin-bottom:8px}.guide-layout{grid-template-columns:1fr;gap:35px}.guide-nav{position:static}.faq-item summary{font-size:14px}.topic-nav{gap:8px}.topic-nav a{font-size:11px}.search-control input{font-size:16px;padding:13px}.search-control{gap:8px}}

/* One shared clock keeps the route, marker and captions in sync. */
.journey{--journey-duration:24s}
.journey-top{gap:10px;flex-wrap:wrap}
.journey-top .sample{margin-left:auto}
.journey-toggle{border:1px solid var(--line);border-radius:5px;padding:6px 8px;background:var(--brand-background);color:var(--brand-secondary);font:inherit;font-size:9px;letter-spacing:0;cursor:pointer}
.journey-marker{transform:translate(245px,190px);transform-origin:0 0;animation:journey-travel var(--journey-duration) linear infinite}
.journey-route{stroke-dasharray:100;stroke-dashoffset:45;animation:journey-trail var(--journey-duration) linear infinite}
.journey-halo{transform-box:fill-box;transform-origin:center;animation:journey-pulse 2.4s ease-out infinite}
.journey-status{display:grid}
.journey-status span{grid-area:1/1;visibility:hidden}
.journey-status .trip-out{visibility:visible;animation:journey-out var(--journey-duration) linear infinite}
.journey-status .trip-school{animation:journey-school var(--journey-duration) linear infinite}
.journey-status .trip-back{animation:journey-back var(--journey-duration) linear infinite}
.journey-status .trip-home{animation:journey-home var(--journey-duration) linear infinite}
.journey[data-paused] *,.journey[data-offscreen] *{animation-play-state:paused!important}
@keyframes journey-travel{
  0%,8%{transform:translate(125px,315px)}
  18%{transform:translate(220px,290px)}
  34%{transform:translate(260px,130px)}
  45%,57%{transform:translate(365px,105px)}
  68%{transform:translate(260px,130px)}
  84%{transform:translate(220px,290px)}
  94%,100%{transform:translate(125px,315px)}
}
@keyframes journey-trail{0%,8%,94%,100%{stroke-dashoffset:100}18%,84%{stroke-dashoffset:73.6}34%,68%{stroke-dashoffset:29.1}45%,57%{stroke-dashoffset:0}}
@keyframes journey-pulse{0%{transform:scale(.65);opacity:.24}85%,100%{transform:scale(1.3);opacity:0}}
@keyframes journey-out{0%,44.99%{visibility:visible}45%,100%{visibility:hidden}}
@keyframes journey-school{0%,44.99%,57%,100%{visibility:hidden}45%,56.99%{visibility:visible}}
@keyframes journey-back{0%,56.99%,94%,100%{visibility:hidden}57%,93.99%{visibility:visible}}
@keyframes journey-home{0%,93.99%{visibility:hidden}94%,100%{visibility:visible}}
@media(prefers-reduced-motion:reduce){
 .journey *{animation:none!important}
 .journey-marker{transform:translate(245px,190px)}
 .journey-halo{opacity:.14}
 .journey-route{stroke-dashoffset:45}
 .journey-status .trip-out{visibility:visible}
 .journey-status .trip-school,.journey-status .trip-back,.journey-status .trip-home{visibility:hidden}
 .journey-toggle{display:none}
}

/* Resources is an ordinary link disclosure, accessible by keyboard and touch. */
.resources-nav{position:relative;font-size:12px;font-weight:700}
.resources-nav summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:12px 0;border-bottom:2px solid transparent}
.resources-nav summary::-webkit-details-marker{display:none}
.resources-nav summary.active{border-bottom-color:var(--green)}
.resources-nav summary:focus-visible{outline:3px solid #8a5c21;outline-offset:4px}
.resources-nav summary span{transition:transform .15s}
.resources-nav[open] summary span{transform:rotate(180deg)}
.resources-panel{position:absolute;top:calc(100% + 10px);left:-22px;width:285px;padding:10px;background:var(--brand-surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 40px #141a131a;max-height:calc(100dvh - 115px);overflow:auto;white-space:normal;z-index:20}
.nav nav .resources-panel a{display:block;padding:12px;border:0;border-radius:6px;line-height:1.5;font-size:12px}
.nav nav .resources-panel a:hover,.nav nav .resources-panel a[aria-current="page"]{background:var(--brand-background-alt)}
.resources-panel small{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:3px}
.optional{font-weight:400;color:var(--muted)}
@media(max-width:1100px) and (min-width:761px){.nav-actions .button.small{display:inline-flex}}
@media(max-width:760px){.resources-nav summary{padding:12px}.resources-panel{position:static;width:100%;margin-top:4px;max-height:45vh;box-shadow:none}.nav nav.open{max-height:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain}}

/* First Times series list on the home page */
.first-times{margin-top:28px}
.first-times-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.first-times-list a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--brand-surface);text-decoration:none;font-weight:600;font-size:14px}
.first-times-list a:hover{text-decoration:underline;text-underline-offset:4px}
