@font-face{font-family:Instrument Sans;src:url('/assets/fonts/instrument-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:JetBrains Mono;src:url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
:root{--paper:#f0eee9;--ink:#12151c;--muted:#525965;--blue:#1e3be1;--line:rgba(18,21,28,.18);--mono:'JetBrains Mono',monospace;--body:'Instrument Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(18,21,28,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,21,28,.035) 1px,transparent 1px);background-size:72px 72px}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}img{max-width:100%;display:block}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1,h2{letter-spacing:-.055em}h2{font-size:clamp(2.1rem,4.6vw,3.65rem);line-height:1.08;margin-bottom:1.2rem}h3{letter-spacing:-.035em;font-size:1.5rem}section[id]{scroll-margin-top:1rem}.wrap{width:min(1240px,calc(100% - 104px));margin-inline:auto}.mono,.eyebrow{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.65}.eyebrow{color:var(--blue);margin-bottom:1.8rem}.skip{position:fixed;top:8px;left:20px;z-index:50;padding:12px;background:var(--ink);color:white;transform:translateY(-160%)}.skip:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;background:rgba(240,238,233,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:24px}.identity{display:inline-flex;gap:12px;align-items:center;font-family:var(--mono);font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500}.monogram{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);border-radius:8px;color:var(--blue);font-size:.7rem}.site-header nav{display:flex;align-items:center;gap:27px;font-size:.84rem}.site-header nav a{padding:12px 0}.site-header nav .contact-nav{border:1px solid var(--line);border-radius:30px;padding:10px 18px}.hero{position:relative;padding-top:clamp(64px,8vw,112px);padding-bottom:66px}.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:7%;align-items:center}.hero h1{font-size:clamp(3.4rem,6.7vw,6.4rem);line-height:1.015;max-width:12ch;margin-bottom:28px}.blue{color:var(--blue)}.hero .intro{font-size:1.08rem;max-width:48ch;color:var(--muted);margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--blue);color:white;padding:15px 22px;border:1px solid var(--blue);border-radius:5px;font-weight:500;font-size:.87rem;line-height:1.5}.button:hover{background:#112bbb;color:white}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--blue);color:var(--blue)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:.9rem;font-weight:500;color:var(--blue);padding-block:10px;border-bottom:1px solid rgba(30,59,225,.3)}.text-link:hover{border-color:var(--blue)}.site-index{padding:28px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.45);box-shadow:14px 16px 0 rgba(30,59,225,.045);transform:rotate(2deg)}.index-label{display:flex;justify-content:space-between;color:var(--muted);padding-bottom:24px;border-bottom:1px solid var(--line)}.index-row{display:flex;align-items:center;gap:16px;padding:27px 0;border-bottom:1px solid var(--line)}.index-row:last-child{border:0;padding-bottom:4px}.index-icon{width:55px;height:62px;border:1px solid rgba(30,59,225,.3);border-radius:6px;display:grid;place-items:center;flex:none;color:var(--blue);background:#e6e8f7}.index-icon svg{width:30px;height:30px}.index-row h2{font-size:1.5rem;letter-spacing:-.035em;margin:0 0 7px}.index-row p{font-size:.8rem;line-height:1.5;color:var(--muted);margin:0}.index-arrow{margin-left:auto;font-size:1.3rem;color:var(--blue)}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;margin-top:72px;color:var(--muted)}.hero-foot a{color:var(--blue)}.section{padding-block:88px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:42px}.section-heading h2{margin:0}.section-heading>p{justify-self:end;max-width:34ch;color:var(--muted);margin:0}.project-card{padding:38px 40px;background:#faf9f6;border:1px solid var(--line);border-radius:10px;position:relative}.project-top{display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.63rem;letter-spacing:.015em;padding:7px 10px;border:1px solid var(--line);border-radius:30px;color:#4b5362;line-height:1.5}.status>span{display:inline-block;background:var(--blue);width:5px;height:5px;border-radius:50%;flex:none}.project-card h3{font-size:clamp(2.6rem,5vw,4.2rem);margin:34px 0 12px}.project-card>p{max-width:49ch;font-size:1.08rem;color:var(--muted);margin-bottom:20px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 28px}.tags li{font-family:var(--mono);font-size:.63rem;color:var(--muted)}.project-card .text-link{min-width:190px}.project-image{max-width:420px;margin-top:24px}.projects-list{display:grid;gap:24px}.music-panel{background:var(--ink);color:var(--paper);border-radius:10px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding:64px;overflow:hidden}.music-panel .eyebrow{color:#a7b5ff}.music-panel h2{font-size:clamp(3rem,6vw,5rem);margin-bottom:18px}.music-panel p:not(.eyebrow){color:#c2c6d0;max-width:32ch}.music-panel .text-link{color:#b9c4ff;border-color:#5c668d}.cassette{position:relative;width:min(100%,320px);aspect-ratio:1.58;margin:auto;background:#252a38;border:1px solid #71788c;border-radius:16px;transform:rotate(-9deg);padding:20px;box-shadow:12px 22px 0 rgba(0,0,0,.2)}.cassette-label{height:72%;border-radius:5px;background:#e3e1da;color:#242a36;padding:12px 16px;border-bottom:12px solid #1e3be1}.cassette-label strong{display:block;font-size:1.5rem;letter-spacing:-.04em;margin:2px 0 10px}.cassette-label .mono{font-size:.5rem}.tape-window{display:flex;justify-content:space-between;align-items:center;margin:15px auto 0;background:#12151c;border-radius:40px;padding:6px;width:75%;height:36px}.tape-window:before,.tape-window:after{content:'';width:24px;height:24px;background:#dddcd7;border:6px dotted #53596b;border-radius:50%}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.portrait-frame{border-radius:10px;overflow:hidden;background:#e1dfda;aspect-ratio:4/4.3;max-width:380px;margin-inline:auto;position:relative}.portrait-frame img{height:100%;width:100%;object-fit:cover;object-position:60% center}.portrait-caption{display:flex;justify-content:space-between;gap:20px;max-width:380px;margin:14px auto 0;color:var(--muted)}.about-copy p:not(.eyebrow){color:var(--muted);max-width:39ch;font-size:1.08rem}.signature{font-size:1.7rem;letter-spacing:-.05em;margin-top:30px;color:var(--blue)}.contact-section{padding:70px 0}.contact-heading{display:flex;gap:30px;align-items:end;justify-content:space-between;margin-bottom:38px}.contact-heading h2{margin:0}.contact-heading p{max-width:30ch;color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-card{padding:26px 0;border-top:1px solid var(--line)}.contact-card .mono{color:var(--muted)}.email{display:inline-block;font-size:clamp(1.1rem,2.5vw,1.8rem);letter-spacing:-.03em;color:var(--blue);overflow-wrap:anywhere;border-bottom:1px solid rgba(30,59,225,.35);padding-bottom:5px;margin:10px 0}.contact-card>p{color:var(--muted);font-size:.86rem;margin:4px 0}.site-footer{padding:24px 0 30px;border-top:1px solid var(--line);color:var(--muted)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:.76rem}.site-footer .mono{font-size:.61rem}.app-hero{padding:66px 0 64px}.breadcrumbs{color:var(--muted);font-size:.76rem;margin-bottom:40px;display:flex;gap:12px}.breadcrumbs a{color:var(--blue)}.app-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:center}.wordmark{font-size:1.5rem;letter-spacing:-.045em;font-weight:600;margin-bottom:20px}.app-hero h1{font-size:clamp(2.7rem,5.5vw,5rem);line-height:1.04;margin-bottom:24px}.app-description{font-size:1.1rem;color:var(--muted);max-width:42ch}.app-hero .status{margin-bottom:25px}.app-note{background:#e6e8f7;border:1px solid rgba(30,59,225,.18);border-radius:8px;padding:32px}.app-note h2{font-size:1.8rem;letter-spacing:-.04em;margin-bottom:20px}.app-note p{font-size:.95rem;margin-bottom:0;color:#3f465d}.app-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.app-nav .wrap{display:flex;gap:28px;flex-wrap:wrap;font-size:.83rem}.app-nav a{padding:5px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature{padding:24px 0;border-top:1px solid var(--line)}.feature .mono{color:var(--blue)}.feature h3{margin:17px 0 12px;font-size:1.2rem}.feature p{font-size:.92rem;color:var(--muted);margin:0}.scope-note{border-left:3px solid var(--blue);padding:7px 0 7px 24px;margin:28px 0 0;max-width:80ch;color:var(--muted)}.reading-layout{display:grid;grid-template-columns:1fr 2fr;gap:9%}.reading-label h2{font-size:2.5rem}.prose{min-width:0;max-width:760px}.prose h3{font-size:1.3rem;margin:32px 0 12px}.prose h3:first-child{margin-top:0}.prose p,.prose li{font-size:1rem;line-height:1.8;color:#3c4350}.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.prose ul{padding-left:22px}.callout{background:#e6e8f7;border:1px solid rgba(30,59,225,.2);border-radius:6px;padding:22px 24px;margin-bottom:30px}.callout p{margin:0;color:#2f3855}.limits-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:22px 0}.limits-table caption{text-align:left;margin-bottom:14px;font-weight:600}.limits-table th,.limits-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px 9px 13px 0;vertical-align:top;line-height:1.6}.limits-table th{font-size:.8rem;color:var(--muted);font-weight:500}.limits-table th:last-child,.limits-table td:last-child{padding-left:16px;white-space:nowrap}.policy-meta{padding-bottom:20px;margin-bottom:30px;border-bottom:1px solid var(--line)}.policy-meta p{font-size:.87rem;margin:4px 0}.policy-title{font-size:1.6rem;letter-spacing:-.03em}.support-box{padding:32px;background:#faf9f6;border:1px solid var(--line);border-radius:8px}.support-box .email{margin-top:0;font-size:clamp(1.2rem,3vw,1.8rem)}.support-box p:last-child{margin-bottom:0}.privacy-page{padding:65px 0 90px}.privacy-page h1{font-size:clamp(2.8rem,6vw,4.5rem);margin:0 0 30px}.privacy-page .prose{margin-top:35px}.back-link{display:inline-block;color:var(--blue);font-size:.85rem;margin-bottom:30px}
@media(min-width:1500px){.hero{padding-top:110px}.hero-foot{margin-top:95px}}
@media(max-width:960px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:5%;grid-template-columns:1.3fr 1fr}.hero h1{font-size:4.4rem}.site-index{padding:20px}.index-row{gap:12px}.index-icon{width:40px;height:48px}.index-row h2{font-size:1.25rem}.site-header nav{gap:18px}.music-panel{padding:44px;gap:30px}.reading-layout{grid-template-columns:1fr 2.4fr;gap:6%}.reading-label h2{font-size:2.1rem}.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:12px;padding-block:15px;min-height:0}.identity{font-size:.7rem}.monogram{width:30px;height:30px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:.76rem}.site-header nav a{padding:5px 0}.site-header nav .contact-nav{padding:5px 12px}.hero{padding-top:47px;padding-bottom:30px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero h1{font-size:clamp(3.1rem,12vw,5.2rem);max-width:12ch;margin-bottom:23px}.hero .intro{font-size:1rem}.eyebrow{font-size:.61rem;margin-bottom:23px}.actions{gap:13px 20px}.button{padding:13px 17px;font-size:.82rem}.text-link{font-size:.83rem}.site-index{transform:rotate(1deg);padding:20px 24px;max-width:460px;width:100%;margin-inline:auto}.index-label{padding-bottom:15px}.index-row{padding:20px 0}.index-row h2{font-size:1.35rem}.hero-foot{margin-top:45px;gap:20px;align-items:center;font-size:.56rem}.section{padding-block:54px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-heading>p{justify-self:start;font-size:.94rem}.project-card{padding:24px}.project-top{align-items:flex-start;flex-direction:column;gap:14px}.project-card h3{margin-top:28px}.project-card>p{font-size:1rem}.music-panel{padding:35px 26px;grid-template-columns:1fr;gap:40px}.cassette{width:240px;margin-bottom:17px}.about-grid{grid-template-columns:1fr;gap:34px}.about-copy{order:-1}.portrait-frame{max-width:340px;width:100%;aspect-ratio:4/4}.portrait-caption{max-width:340px;font-size:.55rem}.about-copy p:not(.eyebrow){font-size:1rem}.contact-heading{align-items:start;flex-direction:column;gap:20px}.contact-grid{grid-template-columns:1fr;gap:8px}.contact-card{padding:21px 0}.email{font-size:1.45rem}.footer-inner{align-items:flex-start;gap:22px}.site-footer nav{gap:16px;font-size:.72rem}.app-hero{padding-top:35px;padding-bottom:42px}.breadcrumbs{margin-bottom:30px}.app-intro{grid-template-columns:1fr;gap:32px}.app-hero h1{font-size:clamp(2.65rem,10vw,4rem)}.app-description{font-size:1rem}.app-note{padding:25px}.app-nav .wrap{gap:13px 25px}.reading-layout{grid-template-columns:1fr;gap:22px}.reading-label h2{font-size:2.3rem}.reading-label .eyebrow{margin-bottom:16px}.prose p,.prose li{font-size:.96rem}.limits-table{font-size:.8rem}.limits-table td:last-child{white-space:normal}.support-box{padding:23px}.privacy-page{padding-top:40px}}
@media(max-width:370px){.site-header nav{font-size:.69rem;gap:8px}.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.9rem}.feature-grid{grid-template-columns:1fr}.status{font-size:.57rem}.hero-foot{flex-direction:column;align-items:start;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Allow browser text enlargement to reflow rather than clip navigation or copy. */
h1,h2,h3,p{overflow-wrap:anywhere}.site-header nav{flex-wrap:wrap}.header-inner>*{min-width:0}.button,.text-link,.status{max-width:100%}.feature,.about-copy,.app-intro>*,.hero-grid>*{min-width:0}
/* Compact app directory. Full policies and support stay on each app page. */
.minimal-home{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:48px;background:var(--paper)}.minimal-home .wrap{width:min(640px,calc(100% - 64px))}.minimal-home .site-header{position:static;background:none;backdrop-filter:none;border:0}.minimal-home .header-inner{min-height:64px;padding:0;flex-wrap:nowrap}.minimal-home .site-header nav{width:auto;gap:24px;font-size:.8rem;justify-content:flex-end}.minimal-main{padding-block:48px 0;flex:none}.minimal-main h1{font-size:clamp(2.1rem,4vw,2.7rem);line-height:1.15;letter-spacing:-.045em;margin:0 0 14px}.minimal-intro{font-size:1rem;color:var(--muted);margin:0 0 40px}.app-entry{padding:27px 0;border-top:1px solid var(--line)}.app-entry:last-child{border-bottom:1px solid var(--line)}.app-entry-heading{display:flex;justify-content:space-between;gap:14px 24px;align-items:center;flex-wrap:wrap}.app-entry h2{font-size:1.35rem;letter-spacing:-.025em;margin:0;line-height:1.5}.app-entry h2 span{font-size:.95rem;color:var(--blue);margin-left:5px}.app-entry-status{font-size:.75rem;line-height:1.6;color:var(--muted)}.app-entry>p{font-size:.91rem;color:var(--muted);margin:10px 0 20px}.app-entry nav{display:flex;gap:26px;flex-wrap:wrap;font-size:.83rem;color:var(--blue)}.app-entry nav a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(30,59,225,.25);padding-block:6px}.app-entry nav a:hover{text-decoration-color:var(--blue)}.minimal-home .site-footer{border:0;padding:32px 0 0}.minimal-home .footer-inner{border-top:0;padding-top:0}
@media(max-width:700px){.minimal-home{padding-block:32px}.minimal-home .wrap{width:calc(100% - 40px)}.minimal-home .header-inner{min-height:48px;gap:18px}.minimal-home .site-header nav{font-size:.76rem;gap:20px}.minimal-main{padding-block:36px 0}.minimal-intro{max-width:27ch;margin-bottom:32px}.app-entry-heading{align-items:start;gap:7px;flex-direction:column}.minimal-home .footer-inner{gap:20px}.minimal-home .site-footer{padding:28px 0 0}}
@font-face{font-family:'4GetNot Bricolage';src:url('/assets/4getnot/fonts/BricolageGrotesque_600SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:#1e3f6e;vertical-align:middle}.brand-lockup img{width:40px;height:40px;object-fit:contain;flex:none}.brand-lockup .brand-name{font-family:'4GetNot Bricolage',system-ui,sans-serif;font-weight:600;font-size:1.5rem;line-height:1.2;letter-spacing:-.4px;white-space:nowrap;color:#1e3f6e;margin:0}.brand-lockup .brand-four{font:inherit;color:#187f76}.app-entry h2 .brand-lockup{margin:0;font-size:inherit;color:#1e3f6e}.app-entry h2 a{display:inline-flex;align-items:center;gap:10px}.wordmark .brand-lockup{gap:12px}.wordmark .brand-lockup img{width:48px;height:48px}.wordmark .brand-name{font-size:1.85rem}
.exact-limits{margin:22px 0 0;border-top:1px solid var(--line);padding-top:18px}.exact-limits summary{cursor:pointer;color:var(--blue);font-size:.9rem;line-height:1.7}.exact-limits p{margin-top:16px}.exact-limits li{overflow-wrap:anywhere}
@media(max-width:700px){.limits-table th:last-child,.limits-table td:last-child{width:39%}}
@media print{.site-header,.site-footer,.skip,.app-nav,.actions{display:none}.wrap{width:100%}.section{padding-block:24px}.reading-layout{display:block}.reading-label{margin-bottom:20px}body{background:white}.prose{max-width:none}}
