@font-face{font-family:'Prompt';src:url('/assets/prompt-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Unbounded';src:url('/assets/unbounded-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{color-scheme:dark;--bg:#292429;--ink:#f2eedf;--focus:#f2d976;--word-face:#fff0db;--word-shadow:#b291f5;--button-fill:#f3a174;--corner-top:max(20px,env(safe-area-inset-top));--corner-right:max(24px,env(safe-area-inset-right));--corner-bottom:max(24px,env(safe-area-inset-bottom));--corner-left:max(24px,env(safe-area-inset-left))}
@media(pointer:coarse){:root{--corner-top:max(16px,env(safe-area-inset-top));--corner-right:max(16px,env(safe-area-inset-right));--corner-bottom:max(16px,env(safe-area-inset-bottom));--corner-left:max(16px,env(safe-area-inset-left))}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Avenir Next",Avenir,"Trebuchet MS",sans-serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:6px}
[hidden]{display:none!important}

/* The page-switch buttons share one corner on both pages. */
.action{position:absolute;top:var(--corner-top);right:var(--corner-right);display:flex;align-items:center;justify-content:center;width:128px;height:44px;padding:10px 12px;border:2px solid #0d0b11;background:var(--button-fill);color:#292429;box-shadow:3px 3px 0 var(--word-shadow);font-size:12px;font-weight:700;text-align:center;text-decoration:none;touch-action:manipulation;transition:transform .12s}
.action:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--word-shadow)}

/* Landing page: one transparent scene keeps the moving birds behind readable content. */
#home-header{position:relative;z-index:6;min-height:99px}
.hero{min-height:calc(100svh - 99px);touch-action:pinch-zoom}
.color-study{position:fixed;inset:0;display:grid;place-items:center;z-index:0;pointer-events:none}
.color-wordmark{width:min(calc(100% - 40px),780px);margin:0}
.color-wordmark svg{display:block;width:100%;height:auto;overflow:visible}
.art-wrap{position:fixed;inset:0;z-index:1;pointer-events:none}
canvas{display:block;width:100%;height:100%}
#projectiles-overlay{position:fixed;inset:0;z-index:4;pointer-events:none}
#bursts{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:5}
.fireball{position:absolute;object-fit:contain;pointer-events:none;will-change:transform,opacity}
#motion-toggle{position:fixed;left:var(--corner-left);bottom:var(--corner-bottom);z-index:6;display:flex;align-items:center;justify-content:center;gap:9px;width:128px;height:44px;padding:10px 12px;border:2px solid #0d0b11;background:var(--word-face);color:#292429;box-shadow:3px 3px 0 var(--word-shadow);font-size:12px;font-weight:700;touch-action:manipulation}
#motion-toggle:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--word-shadow)}
.motion-icon{width:14px;text-align:center}
.profile-links{position:fixed;right:var(--corner-right);bottom:var(--corner-bottom);z-index:3;display:flex;gap:12px}
.profile-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#292429;text-decoration:none;touch-action:manipulation}
.profile-link svg{width:23px;height:23px;display:block}
.profile-face{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--word-face);border:2px solid #0d0b11;box-shadow:3px 3px 0 var(--word-shadow);pointer-events:none}
.profile-link:hover .profile-face{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--word-shadow)}
.profile-link:focus-visible .profile-face{opacity:1!important}

/* Privacy policy and not-found pages: a restrained, geometric type system. */
.privacy,.not-found{max-width:1060px;margin:0 auto;padding:32px 40px 80px}
.privacy a{overflow-wrap:anywhere}
.policy-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 28px;border-bottom:1px solid #625968}
.policy-brand{display:inline-flex;align-items:center;min-height:44px;font-family:'Prompt',sans-serif;font-weight:600;font-size:20px;letter-spacing:-.6px;text-decoration:none}
.policy-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:64px 0 48px}
.privacy h1,.not-found h1{font-family:'Unbounded',sans-serif;font-weight:500;font-size:clamp(34px,7.8vw,88px);line-height:1.02;letter-spacing:-.065em;text-transform:uppercase;margin:0}
.privacy h1 span,.not-found h1 span{color:var(--word-shadow)}
.privacy .date,.not-found .date{font-size:11px;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;color:#c4bac9;margin:0 0 5px;flex-shrink:0}
.privacy .date time,.not-found .date strong{display:block;color:var(--word-face);font-weight:600}
.policy-sections{border-top:3px solid var(--button-fill)}
.privacy section{display:grid;grid-template-columns:88px minmax(0,1fr);gap:28px;border-bottom:1px solid #625968;padding:30px 0 32px}
.policy-number{font-family:'Unbounded',sans-serif;font-size:36px;font-weight:500;letter-spacing:-.065em;line-height:1.2;color:var(--button-fill)}
.privacy h2{font-family:'Unbounded',sans-serif;font-weight:500;font-size:18px;line-height:1.5;letter-spacing:-.035em;margin:0 0 12px;color:var(--word-face)}
.privacy section p{max-width:680px;margin:0;font-size:17px;line-height:1.75;color:#d6cfd9}
.policy-email,.not-found-note a{color:var(--word-shadow);text-decoration-thickness:1px;text-underline-offset:5px}
.policy-email:hover,.not-found-note a:hover{color:var(--button-fill)}
.not-found-note{margin:0;padding-top:30px;border-top:3px solid var(--button-fill);font-size:17px;line-height:1.75;color:#d6cfd9}

@media(max-width:650px){
 .privacy,.not-found{padding:24px max(24px,env(safe-area-inset-left)) max(48px,env(safe-area-inset-bottom))}
 .policy-masthead{padding-bottom:24px;gap:12px}
 .policy-brand{font-size:16px}
 .policy-intro{display:block;padding:44px 0 30px}
 .privacy .date,.not-found .date{margin:25px 0 0;font-size:10px}
 .privacy .date time,.not-found .date strong{display:inline;margin-left:8px}
 .privacy section{grid-template-columns:48px minmax(0,1fr);gap:16px;padding:25px 0}
 .policy-number{font-size:25px}
 .privacy h2{font-size:15px;margin-bottom:10px}
 .privacy section p{font-size:16px;line-height:1.7}
 .not-found-note{padding-top:25px;font-size:16px;line-height:1.7}
}
@media(max-width:600px){
 #home-header{min-height:93px}
 .hero{min-height:calc(100svh - 93px)}
}
@media(prefers-reduced-motion:reduce){.action{transition:none}}
