@font-face{font-family:'Finger Paint';src:url('assets/fonts/FingerPaint-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{background:#cae3f1;color:#010103;--ink:#010103;--paper:#cae3f1;--purple:#b94eb2;--pink:#fa54c5;--lime:#cae3f1;--yellow:#fa54c5}
.homepage{overflow-x:clip}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:8px;left:8px;z-index:30;transform:translateY(-200%);background:var(--yellow);padding:12px}.skip-link:focus{transform:none}.corner-wordmark{position:absolute;top:30px;left:32px;z-index:2;font-family:'Finger Paint',cursive;font-size:18px;line-height:1.12;text-decoration:none;transform:rotate(-5deg)}.corner-wordmark span{position:absolute;left:115px;top:3px;font-size:38px;color:#ab56bc}.early-menu{position:absolute;top:34px;right:32px;font-size:11px;font-weight:bold;letter-spacing:.1em;text-underline-offset:5px}.homepage .stage{padding:64px 32px 52px;isolation:isolate}.homepage .stage-meta{position:absolute;inset:150px 8% auto;width:auto;align-items:start;font-size:10px;line-height:1.7;font-weight:bold;letter-spacing:.1em;pointer-events:none}.side-note{font-family:'Finger Paint',cursive;font-size:26px;letter-spacing:-.03em;line-height:1.2!important;transform:rotate(9deg);margin-top:80px;color:#694b99}.homepage .stage-foot{position:absolute;bottom:28px;left:32px;right:32px;width:auto;align-items:center;color:var(--ink);font-weight:bold;font-size:9px;line-height:1.5}.scroll-sticker{font-family:'Finger Paint',cursive;display:flex;align-items:center;gap:12px;font-size:14px;background:var(--lime);border:2px solid var(--ink);padding:9px 15px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-4deg)}.scroll-sticker b{font:26px Arial}.homepage #eye-button{z-index:22}.about-section{position:relative;padding:100px max(7vw,24px) 92px;border-top:3px solid var(--ink);background:var(--purple);overflow:hidden;scroll-margin-top:0}.kicker{font-size:11px;font-weight:bold;letter-spacing:.13em}.about-section h2{position:relative;font-family:'Finger Paint',cursive;font-size:clamp(42px,7.5vw,110px);font-weight:400;letter-spacing:-.06em;line-height:1.06;margin:42px 0 48px}.about-section em{font-style:normal;color:var(--yellow);text-shadow:3px 3px 0 var(--ink);display:inline-block;transform:rotate(-5deg)}.scribble{position:absolute;right:7%;top:120px;font:250px 'Finger Paint',cursive;color:var(--lime);transform:rotate(16deg);-webkit-text-stroke:3px var(--ink)}.about-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px}.about-bottom p{font-size:18px;line-height:1.6;margin:0}.hello-link{font:26px 'Finger Paint',cursive;text-decoration:none;border-bottom:3px solid var(--ink);padding-bottom:8px;white-space:nowrap}.hello-link span{margin-left:30px}.site-footer{position:relative;padding:42px max(7vw,24px);border-top:3px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;font-weight:bold;letter-spacing:.07em}.site-footer nav{display:flex;gap:30px;align-items:center;margin-right:50px}.site-footer a,.site-footer button{font:17px 'Finger Paint',cursive;color:var(--ink);background:none;border:0;padding:0;text-decoration:none}.site-footer a:hover,.site-footer button:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.footer-star{position:absolute;right:24px;top:22px;font-size:48px;color:#a261ba}
#eye-menu{position:fixed;z-index:21;right:20px;top:106px;width:310px;max-width:calc(100vw - 32px);visibility:hidden;pointer-events:none;transform:translateY(-26px) scale(.3,.05);transform-origin:calc(100% - 42px) 0;opacity:0;transition:transform .44s cubic-bezier(.2,1.5,.4,1),opacity .18s,visibility .44s}
#eye-menu.is-open{visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);opacity:1}.menu-tether{position:absolute;top:-42px;right:34px;width:24px;height:78px;background:var(--pink);border:3px solid var(--ink);border-radius:45% 30% 35% 20%;transform:rotate(12deg)}.menu-paper{position:relative;background:var(--purple);padding:17px 18px 12px;border:3px solid var(--ink);border-radius:9px 24px 10px 18px;box-shadow:7px 8px 0 var(--ink);transform:rotate(1.5deg);max-height:calc(100svh - 130px);overflow:auto}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:10px;font-weight:bold;letter-spacing:.1em}.menu-top button{flex:none;width:32px;height:32px;line-height:1;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:0;border-radius:50%;font-size:24px}.menu-item{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:64px;margin:0 0 13px;padding:12px 14px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);font:25px 'Finger Paint',cursive;text-decoration:none;transform:rotate(-3deg);transition:transform .16s}.menu-item:nth-of-type(2){background:var(--lime);transform:rotate(2deg);border-radius:15% 3% 13% 3%}.menu-item:nth-of-type(3){background:var(--pink);transform:rotate(-2deg)}button.menu-item{background:var(--paper);color:var(--ink);font-size:22px;transform:rotate(2deg);border-color:var(--ink)}.menu-item:hover,.menu-item:focus-visible{transform:rotate(0) translateX(-4px)}.menu-paper>p{font-size:11px;text-align:center;font-style:italic;margin:20px 0 4px}dialog{max-width:min(540px,calc(100vw - 36px));max-height:85svh;background:var(--paper);border:3px solid var(--ink);padding:38px;box-shadow:8px 8px 0 var(--ink);color:var(--ink)}dialog::backdrop{background:#241b3b99}dialog h2{font:42px 'Finger Paint',cursive;margin:24px 0}dialog p{font-size:15px;line-height:1.6}.dialog-close{position:absolute;right:12px;top:12px;background:transparent!important;color:var(--ink)!important;font-size:24px;border:0;padding:0 8px}.static-logo{max-width:300px;width:80%;display:block;margin:100px auto}:focus-visible{outline:3px dashed var(--ink);outline-offset:5px}
@media(max-width:700px){.corner-wordmark{top:22px;left:20px;font-size:13px}.corner-wordmark span{left:84px;font-size:26px}.early-menu{top:26px;right:20px;font-size:9px}.homepage .stage{padding:88px 20px 64px}.homepage .stage-meta{display:none}.homepage .stage-foot{left:20px;right:20px;bottom:25px}.side-note{display:none}.homepage #art-frame{max-width:100%}.about-section{padding-top:62px;padding-bottom:56px}.about-section h2{font-size:clamp(38px,9.5vw,66px)}.scribble{font-size:130px;top:40px;right:-30px;opacity:.75}.about-bottom{align-items:start;flex-direction:column;gap:24px}.about-bottom p{font-size:15px}.hello-link{font-size:22px}.site-footer{flex-direction:column;align-items:start;padding-top:30px;padding-bottom:30px;gap:24px}.site-footer nav{gap:28px}.site-footer nav a,.site-footer nav button{font-size:16px}.footer-star{top:34px}#eye-menu{right:18px;width:290px}.menu-item{font-size:23px;min-height:59px}.menu-paper{padding:14px 16px 8px}}
@media(prefers-reduced-motion:reduce){#eye-menu,.menu-item{transition:none}}
@media(min-width:701px) and (max-width:1050px){.homepage .stage-meta{left:4%;right:4%}.homepage .stage-meta>span:first-child{font-size:9px}.scribble{font-size:140px;top:32px;right:5%}}
/* The homepage content enters while the folded eye moves into its corner. */
.homepage .stage{padding:32px 24px}
.placeholder-content{position:relative;margin:0 auto;padding:32px 24px 64px;width:min(100%,780px);min-height:70svh;scroll-margin-top:140px}
.placeholder-content h2,.policy-placeholder h1,.reading-page h1{font:clamp(32px,5vw,54px)/1.2 'Finger Paint',cursive;letter-spacing:-.04em;margin:0 0 28px}
.placeholder-content p,.policy-placeholder p{font-size:17px;line-height:1.8;margin:0 0 24px}
.site-footer{justify-content:center;padding:32px 24px;border-top:0}
.site-footer nav{margin:0;gap:32px}
.menu-top{justify-content:flex-end;margin-bottom:12px}
.policy-placeholder{max-width:780px;margin:0 auto;padding:170px 24px 64px;min-height:calc(100svh - 90px)}
.policy-eye{position:fixed;right:18px;top:18px;width:88px;z-index:5}.policy-eye img{width:100%;display:block}
@media(max-width:700px){.homepage .stage{padding:32px 20px}.site-footer{align-items:center}.placeholder-content{padding-top:32px}.placeholder-content p,.policy-placeholder p{font-size:16px}}

#content-flow{position:relative;will-change:transform}

.footer-labels{display:flex;gap:32px;align-items:center;font:17px "Finger Paint",cursive}
@media(max-width:700px){.footer-labels{font-size:16px}}
/* Coolors palette: pale blue paper, dark ink, purple and pink accents. */
.homepage{
  --paper:#cae3f1;
  color:#010103;
  background-color:#fff2bd;
  background-image:url("assets/critter-pattern.svg");
  background-size:520px 520px;
  min-height:100svh;
}
html:has(body.homepage){background:#fff2bd}
.homepage .placeholder-content h2{color:#240006}
.homepage .placeholder-content p,.homepage .footer-labels{color:#010103}
.homepage .menu-paper{--ink:#010103;--paper:#cae3f1;color:var(--ink);background:#b94eb2;box-shadow:7px 8px 0 #240006}
.homepage .menu-tether{background:#fa54c5;border-color:#010103}
.homepage .menu-item{background:#cae3f1;color:#010103}
.homepage .menu-top button{background:#cae3f1;color:#010103}
.homepage .menu-item:hover{background:#fa54c5;color:#010103}
.homepage :focus-visible{outline-color:#240006}

/* Enlarge the touch target without changing the artwork size. */
@media(any-pointer:coarse){#eye-button:not(:disabled)::before{content:"";position:absolute;inset:-12px;pointer-events:auto}}

/* Public information pages share the fold-in's paper, ink, and hand lettering. */
.homepage{--ink:#010103}
.home-copy{width:min(calc(100% - 48px),860px);padding:32px clamp(20px,4vw,40px) 40px;margin:0 auto 48px;background:#b94eb2;border:2px solid #240006;border-radius:3px 28px 5px 22px;box-shadow:6px 7px 0 #240006}
.home-copy h3,.reading-page h2{font-family:'Finger Paint',cursive;font-weight:400;font-size:24px;line-height:1.35;letter-spacing:-.025em;margin:36px 0 16px}
.home-copy .kicker,.reading-page .kicker{font-size:11px;letter-spacing:.15em;font-weight:bold}
.home-copy .lead,.reading-page .lead{font-size:17px;line-height:1.8}
.manifesto{margin:36px 0}
.manifesto h3{margin:12px 0 24px}
.manifesto p:last-child{margin-bottom:0}
.text-link{font:inherit;text-underline-offset:7px;overflow-wrap:anywhere}
.site-footer{flex-direction:column;align-items:center;flex-wrap:wrap;border-top:1px solid #240006;margin:0 24px;padding:32px 0 40px;line-height:1.6;text-align:center}
.site-footer nav{flex-wrap:wrap;justify-content:center;gap:16px 28px}
.site-footer nav a{font-size:15px}
.page-brand{position:absolute;top:36px;left:24px;max-width:calc(100% - 145px);font:20px/1.3 'Finger Paint',cursive;text-decoration:none}
.inner-page #eye-button{left:auto;right:18px;top:18px;width:88px;height:91.608px;z-index:22}
.reading-page{width:min(100%,860px);margin:0 auto;padding:160px 24px 70px;min-height:80svh;overflow-wrap:break-word}
.reading-page p,.reading-page li{font-size:17px;line-height:1.8}
.reading-page p{margin:0 0 24px}.reading-page li{margin-bottom:12px}.reading-page ul{padding-left:24px}
.reading-page h2{scroll-margin-top:32px}.reading-page a{text-underline-offset:4px}
.policy-contents{margin:32px 0;padding:20px 24px;background:#b94eb2;border:1px solid #240006;border-radius:8px}
.policy-contents summary{cursor:pointer;font-weight:bold;min-height:24px}.policy-contents nav{display:grid;gap:12px;padding-top:24px;line-height:1.5}
.table-scroll{overflow-x:auto;margin:24px 0}table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;background:#b94eb2}th,td{text-align:left;vertical-align:top;border:1px solid #240006;padding:14px}th{background:#cae3f1}
.company-note{margin-top:48px!important;padding-top:24px;border-top:1px solid #240006}
@media(max-width:600px){.reading-page p,.reading-page li,.home-copy .lead,.reading-page .lead{font-size:16px}.page-brand{font-size:16px}.reading-page{padding-top:140px}th,td{padding:9px;font-size:13px}.site-footer{margin:0 20px}}

/* Keep long policy content on pale paper; reserve saturated colours for accents. */
.homepage .menu-item:nth-of-type(2){background:#fa54c5}
.homepage .menu-item:nth-of-type(3){background:#cae3f1}
.policy-contents,table{background:#cae3f1}
th{background:#b94eb2}
.homepage .menu-item:hover,.homepage .menu-item:focus-visible{background:#fa54c5}

/* Contact uses the same full-content paper panel as the homepage. */
.reading-page.contact-panel{width:min(calc(100% - 48px),860px);min-height:0;margin:160px auto 48px;padding:32px clamp(20px,4vw,40px) 40px;background:#b94eb2;border:2px solid #240006;border-radius:3px 28px 5px 22px;box-shadow:6px 7px 0 #240006}
@media(max-width:600px){.reading-page.contact-panel{margin-top:140px}}

/* Internal Home navigation bypasses the introductory fold without storing a preference. */
.skip-fold #scroll-track{display:none}
.skip-fold #content-flow{padding-top:140px}
.skip-fold #eye-button{left:auto;right:18px;top:18px;width:88px;height:91.608px}

/* Readable policy cards with coloured section headings. */
.policy-section{margin:28px 0;padding:0 clamp(18px,3vw,28px) 8px;background:#cae3f1;border:1px solid #240006;border-radius:3px 18px 5px 14px;box-shadow:3px 4px 0 #24000633}
.reading-page .policy-section h2{margin:0 calc(-1 * clamp(18px,3vw,28px)) 24px;padding:18px clamp(18px,3vw,28px);background:#b94eb2;border-bottom:1px solid #240006;border-radius:2px 17px 0 0;font-family:'Finger Paint',cursive;font-weight:400;font-size:22px;scroll-margin-top:24px}
.policy-section p:last-child{margin-bottom:20px}
@media(max-width:600px){.reading-page .policy-section h2{font-size:20px}.policy-section .table-scroll{margin-left:-10px;margin-right:-10px}}

/* Shared card treatment for Home, Contact, and policy sections. */
.home-copy,.reading-page.contact-panel{background:#cae3f1;border-width:1px;border-radius:3px 18px 5px 14px;box-shadow:3px 4px 0 #24000633;padding-top:0}
.panel-heading{margin:0 calc(-1 * clamp(20px,4vw,40px)) 28px;padding:28px clamp(20px,4vw,40px);background:#b94eb2;border-bottom:1px solid #240006;border-radius:2px 17px 0 0}
.panel-heading h1,.panel-heading h2{margin-bottom:0}

/* Consistent spacing and hierarchy within the main content cards. */
.home-copy{min-height:0}
.home-copy .panel-heading .kicker,.contact-panel .panel-heading .kicker{margin-bottom:16px}
.home-copy .manifesto .kicker{margin-bottom:12px}
.home-copy .manifesto h3{margin:0 0 16px}
.home-copy .lead,.contact-panel .lead{font-size:19px;line-height:1.6}
.home-copy p,.contact-panel p{margin-bottom:20px}
.home-copy .text-link{display:inline-block;margin-top:4px}
@media(max-width:600px){.home-copy h3,.contact-panel h2{font-size:22px}.home-copy .lead,.contact-panel .lead{font-size:17px}}

/* Policy introduction shares the title-card treatment of Home and Contact. */
.policy-intro{padding:0 clamp(20px,4vw,40px) 8px;background:#cae3f1;border:1px solid #240006;border-radius:3px 18px 5px 14px;box-shadow:3px 4px 0 #24000633}
.policy-intro .panel-heading .kicker{margin-bottom:16px}
.policy-intro .policy-contents{margin:24px 0}
