:root{color:#f5f1eb;background:#11101d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;--paper: #f5f1eb;--paper-muted: rgba(235, 234, 240, .62);--paper-faint: rgba(235, 234, 240, .38);--line: rgba(245, 241, 235, .14);--line-strong: rgba(245, 241, 235, .24);--night: #11101d;--panel: rgba(15, 14, 27, .82);--warm: #ffc28f;--warm-soft: rgba(255, 194, 143, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--night)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}a:focus-visible,button:focus-visible,.world-canvas canvas:focus-visible{outline:2px solid var(--warm);outline-offset:4px;border-radius:6px}.site-shell{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 14% 18%,rgba(255,161,105,.1),transparent 27%),radial-gradient(circle at 78% 8%,rgba(141,126,236,.12),transparent 26%),#11101d}.site-shell:before,.site-shell:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;content:""}.site-shell:before{background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 52%);mask-image:linear-gradient(to bottom,black,transparent 52%);opacity:.45}.site-shell:after{background:linear-gradient(to bottom,rgba(8,7,17,.05),transparent 24%,transparent 72%,rgba(8,7,17,.4)),radial-gradient(ellipse at center,transparent 48%,rgba(7,6,15,.34) 100%)}.world-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse at 13% 52%,rgba(255,120,73,.3),transparent 34%),radial-gradient(ellipse at 48% 104%,rgba(184,64,99,.2),transparent 48%),linear-gradient(180deg,#080b22,#121432 42%,#2a1a3c 73%,#0b0c21);transition:opacity .6s ease,filter .6s ease}.world-canvas canvas{display:block;touch-action:none}.site-shell--page{overflow-y:auto}.site-shell--page .world-canvas{opacity:.32;filter:saturate(.78) blur(1px);pointer-events:none}.town-label{position:absolute;transform:translate(-50%,-100%);padding:8px 12px;border:1px solid rgba(255,194,143,.38);border-radius:999px;background:#0e0c19db;box-shadow:0 12px 40px #06050e57;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#ffe1c2;font-size:.68rem;font-weight:720;letter-spacing:.055em;white-space:nowrap;pointer-events:none;transition:opacity .16s ease}.town-hint,.mobile-town-directory,.site-shell--page .town-label{display:none}.masthead,.hero,.page{position:relative;z-index:3}.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:100%;padding:24px clamp(22px,3.5vw,64px)}.brand{display:inline-flex;align-items:center;justify-self:start;width:fit-content;text-decoration:none}.brand-mark{display:grid;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;place-items:center;color:var(--paper);background:#11101d75;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.67rem;font-weight:800;letter-spacing:.04em}.masthead nav{display:inline-flex;align-items:center}.masthead-site{justify-self:center;gap:2px;padding:5px;border:1px solid rgba(245,241,235,.1);border-radius:999px;background:#11101d6b;box-shadow:0 14px 44px #05040d2e;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.masthead-site a{min-width:68px;padding:8px 13px;border-radius:999px;color:#f5f1eb8c;font-size:.67rem;font-weight:720;letter-spacing:.065em;text-align:center;text-decoration:none;text-transform:uppercase;transition:color .18s ease,background .18s ease}.masthead-site a:hover,.masthead-site a[aria-current=page]{color:var(--paper);background:#f5f1eb17}.masthead-elsewhere{justify-self:end;gap:6px}.masthead-elsewhere a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid transparent;color:#f5f1eb8f;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease}.masthead-elsewhere a:hover{color:var(--paper)}.icon-link{width:40px;border-radius:50%}.icon-link:hover{border-color:var(--line);background:#f5f1eb0f}.masthead-elsewhere .contact-link{gap:8px;margin-left:3px;padding:0 15px;border-color:var(--line-strong);border-radius:999px;color:var(--paper);font-size:.68rem;font-weight:740;letter-spacing:.05em;text-transform:uppercase}.masthead-elsewhere .contact-link:hover{border-color:#ffc28f75;background:var(--warm-soft);color:#ffe0c4}.hero{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;padding:clamp(118px,14vh,158px) clamp(22px,3.5vw,64px) 42px;pointer-events:none}.hero-copy{width:min(1120px,88vw)}.hero h1{display:flex;align-items:baseline;gap:.16em;width:fit-content;max-width:100%;margin:0;color:#faf7f1f7;font-size:clamp(4.8rem,9.4vw,9.4rem);font-weight:730;line-height:.84;letter-spacing:-.072em;white-space:nowrap;text-shadow:0 24px 60px rgba(7,6,17,.24)}.hero-name-accent{color:var(--warm)}.hero-actions{display:flex;gap:9px;margin:31px 0 0 .3vw;width:fit-content;pointer-events:auto}.hero-action{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:45px;padding:0 17px;border:1px solid var(--line);border-radius:999px;color:#f5f1ebb8;background:#11101d5c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:.7rem;font-weight:730;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease}.hero-action:hover{transform:translateY(-2px);border-color:var(--line-strong);color:var(--paper);background:#f5f1eb12}.hero-action--primary{border-color:#ffc28f61;color:#261b1a;background:var(--warm)}.hero-action--primary:hover{border-color:#ffd3ad;color:#1c1516;background:#ffd0a8}.page{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 88px);min-height:calc(100dvh - 88px);padding:clamp(30px,5vw,64px) clamp(20px,4vw,64px) calc(96px + env(safe-area-inset-bottom,0px))}.page-panel{width:min(920px,100%);padding:clamp(28px,5vw,58px);border:1px solid rgba(245,241,235,.11);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 32%),var(--panel);box-shadow:0 38px 100px #04030b52;backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1)}.page-panel h1{margin:0 0 16px;color:var(--paper);font-size:clamp(2.3rem,5vw,4.6rem);font-weight:740;line-height:.98;letter-spacing:-.055em;text-wrap:balance}.page-intro{max-width:52ch;margin:0 0 38px;color:var(--paper-muted);font-size:clamp(.94rem,1.4vw,1.08rem);line-height:1.65}.article-eyebrow,.project-kind{color:#ffc28fb3;font-size:.66rem;font-weight:740;letter-spacing:.12em;text-transform:uppercase}.article-eyebrow{margin:0 0 16px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none}.project-list li{min-width:0}.project-list a{position:relative;display:flex;flex-direction:column;min-height:190px;height:100%;padding:24px;overflow:hidden;border:1px solid rgba(245,241,235,.1);border-radius:18px;background:#f5f1eb06;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.project-list a:after{position:absolute;top:20px;right:21px;color:#f5f1eb45;font-size:1rem;content:"↗";transition:color .18s ease,transform .18s ease}.project-list a:hover{transform:translateY(-3px);border-color:#ffc28f57;background:#ffc28f0f}.project-list a:hover:after{transform:translate(2px,-2px);color:var(--warm)}.project-list h2{margin:auto 0 8px;color:var(--paper);font-size:1.32rem;font-weight:710;letter-spacing:-.025em}.project-list p{margin:0;color:#ebeaf08f;font-size:.87rem;line-height:1.58}.clips-panel{width:min(1120px,100%)}.clips-status{padding:34px;border:1px dashed rgba(255,194,143,.24);border-radius:17px;color:#ebeaf080;text-align:center}.clips-status p{margin:0}.clips-retry{margin-top:15px;padding:9px 15px;border:1px solid rgba(255,194,143,.34);border-radius:999px;color:#ffe0c4;background:#ffc28f14;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease}.clips-retry:hover,.clips-retry:focus-visible{border-color:#ffc28fad;background:#ffc28f24}.clips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:15px}.clip-card{overflow:hidden;border:1px solid rgba(245,241,235,.1);border-radius:19px;background:#f5f1eb06}.clip-card video,.clip-card img{display:block;width:100%;max-height:440px;aspect-ratio:16 / 10;background:#080711;object-fit:contain}.clip-card audio{display:block;width:calc(100% - 30px);margin:24px 15px 5px}.clip-file{display:grid;min-height:180px;place-items:center;color:var(--warm);font-weight:720;text-decoration:none}.clip-copy{padding:19px 20px 22px}.clip-copy time{color:#ffc28f94;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.055em;text-transform:uppercase}.clip-copy h2{margin:9px 0 0;color:var(--paper);font-size:1.14rem;letter-spacing:-.02em}.clip-copy p{margin:9px 0 0;color:#ebeaf08f;font-size:.86rem;line-height:1.58}body>.application-version{right:auto;bottom:11px;left:15px;border:0;background:transparent;color:#f5f1eb42;opacity:1}@keyframes hero-rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.hero-copy,.hero-actions{animation:hero-rise .9s cubic-bezier(.2,.72,.25,1) backwards}.hero-actions{animation-delay:.13s}@media(max-width:900px){.masthead{grid-template-columns:1fr auto}.masthead-site{position:fixed;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:16px;z-index:5;justify-self:auto;justify-content:center;box-shadow:0 18px 52px #04030b66}.masthead-site a{flex:1;max-width:140px}.masthead-elsewhere{grid-column:2}.hero{padding-top:126px}.hero h1{font-size:clamp(4.4rem,14vw,8.2rem)}.page{padding-top:34px;padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}}@media(max-width:620px){.mobile-town-directory{position:absolute;right:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:14px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;pointer-events:auto}.mobile-town-directory a{overflow:hidden;padding:7px 6px;border:1px solid rgba(255,194,143,.24);border-radius:999px;background:#0c0b1cad;color:#ffe7cfdb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.61rem;font-weight:700;letter-spacing:.025em;line-height:1.1;text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.site-shell--page .mobile-town-directory{display:none}.site-shell:before{background-size:44px 44px}.masthead{gap:10px;padding:18px 20px}.brand-mark{width:36px;height:36px}.masthead-elsewhere{gap:2px}.icon-link{display:none!important}.masthead-elsewhere .contact-link{min-height:37px;margin-left:0;padding:0 13px}.hero{padding:112px 20px 92px}.hero-copy{width:100%}.hero h1{flex-direction:column;align-items:flex-start;gap:.04em;font-size:clamp(4.4rem,20vw,6.8rem);line-height:.78;white-space:normal}.hero-actions{flex-direction:column;gap:7px;margin:24px 0 0}.hero-action{justify-content:space-between;min-width:178px;min-height:42px}.page{padding:16px 14px calc(104px + env(safe-area-inset-bottom,0px))}.page-panel{padding:30px 22px;border-radius:22px}.page-panel h1{font-size:clamp(2.5rem,13vw,4rem)}.project-list{grid-template-columns:1fr}.project-list a{min-height:165px;padding:21px}body>.application-version{display:none}}@media(max-height:560px){.site-shell:not(.site-shell--page){overflow-y:auto}.masthead-site{bottom:calc(8px + env(safe-area-inset-bottom,0px))}.hero{position:relative;min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px);padding:6px clamp(20px,3.5vw,64px) calc(80px + env(safe-area-inset-bottom,0px))}.hero h1{flex-direction:row;align-items:baseline;gap:.16em;font-size:clamp(3.4rem,9vw,4.5rem);line-height:.82;white-space:nowrap}.hero-actions{flex-direction:row;margin-top:16px}.hero-action{min-width:0;min-height:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-actions{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
