@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#111513;--panel:#1a211d;--ink:#f1f0e7;--muted:#b0b9b0;--accent:#d6f08c;--line:#354037}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line)}.brand{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.12em;font-size:13px;display:flex;gap:14px;align-items:center}.mark{font-size:30px;color:var(--accent);letter-spacing:-5px;padding-right:8px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;padding:85px 5.5% 74px;min-height:650px;align-items:center}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.17em;margin:0 0 24px}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:10px}h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.05;font-weight:500;margin:0}h1{font-size:clamp(44px,5.5vw,84px);letter-spacing:-.065em}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro{max-width:430px;color:var(--muted);margin:28px 0 30px;font-size:17px}.actions{display:flex;align-items:center;gap:28px}.button{background:var(--accent);color:#182015;padding:14px 21px;display:inline-flex;gap:35px;font-size:14px;font-weight:700}.button:hover{background:#e5ffab}.text-link{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:5px}.credential{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:52px}.credential span{padding:0 12px;color:var(--accent)}.signal-art{height:450px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#344632 0,#1a241c 42%,#111513 72%);border:1px solid var(--line)}.orbit{position:absolute;border:1px solid #62765c77;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-30deg)}.o1{width:75%;height:75%}.o2{width:48%;height:90%}.o3{width:90%;height:48%}.axis{position:absolute;top:50%;width:100%;height:1px;background:#54684c}.wave{position:absolute;inset:15% 8%;display:flex;align-items:center;justify-content:center;gap:3px;transform:rotate(-13deg)}.wave i{width:3px;background:var(--accent);opacity:.82;box-shadow:0 0 10px #d6f08c33}.art-label,.art-bottom{position:absolute;font-size:9px;letter-spacing:.15em;color:var(--muted);left:22px;top:20px}.art-bottom{top:auto;bottom:20px}.cross{position:absolute;right:20px;bottom:12px;color:var(--accent);font-size:27px}.discipline-strip{display:flex;justify-content:space-between;align-items:center;padding:23px 5.5%;border-block:1px solid var(--line);font-size:11px;letter-spacing:.14em}.discipline-strip i{color:var(--accent);font-size:23px}.section{padding:90px 5.5%}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px}h2{font-size:clamp(36px,3.7vw,56px);letter-spacing:-.045em}.section-note{color:var(--muted);font-size:14px;max-width:230px}.draft-note{margin-top:36px;padding:12px 0;border-block:1px solid var(--line);font-size:10px;letter-spacing:.1em;color:var(--accent)}.draft-note span{margin-left:18px;color:var(--muted);letter-spacing:0;font-size:12px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 30px}.filters button{border:1px solid var(--line);background:none;color:var(--muted);border-radius:30px;font-size:12px;padding:9px 17px}.filters button[aria-pressed=true]{color:#172015;background:var(--accent);border-color:var(--accent)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project[hidden]{display:none}.project-art{height:255px;position:relative;overflow:hidden}.project-art>span{position:absolute;bottom:18px;left:20px;font-size:9px;letter-spacing:.14em;color:#e5e7d9}.world{background:linear-gradient(140deg,#304536,#17271e 70%)}.portal{position:absolute;width:115px;height:170px;left:50%;top:32px;transform:translateX(-50%) rotate(12deg);border:1px solid #c9e9ac;box-shadow:12px 12px 0 #8eae7433,24px 24px 0 #8eae7422,36px 36px 0 #8eae7411;background:linear-gradient(150deg,#94ac7955,transparent)}.score{background:#39372c}.score-lines{position:absolute;inset:40px 25px;background:repeating-linear-gradient(0deg,transparent 0 17px,#b4ab8566 18px 19px);transform:rotate(-13deg)}.score-lines:after{content:'● ━ ● ━━ ●';font-family:Georgia;font-size:40px;letter-spacing:8px;position:absolute;top:35px;color:#e3d6a5}.systems{background:#2d353c}.nodes{height:100%;display:flex;align-items:center;justify-content:center;font-size:75px;color:#b3c4d3;gap:8px}.nodes span{font-size:25px}.project-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em;color:var(--muted);margin:20px 0 12px}.project h3{font-size:24px;letter-spacing:-.04em}.project p{font-size:14px;color:var(--muted);line-height:1.7}details{border-block:1px solid var(--line);margin-top:22px}summary{cursor:pointer;list-style:none;font-size:12px;padding:13px 0;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{color:var(--accent)}details[open] summary span{transform:rotate(45deg)}.detail{padding-bottom:10px}.sound-section{padding:75px 5.5%;background:var(--accent);color:#172015;display:grid;grid-template-columns:1fr 1fr;gap:10%}.sound-section h2{font-size:60px}.sound-section>div>p:last-child{color:#49563e}.reel{border:1px solid #72844f;padding:25px 32px}.reel-number{font-size:10px;letter-spacing:.14em}.reel-wave{font-size:36px;letter-spacing:3px;overflow:hidden;white-space:nowrap;line-height:1.8;color:#4f633b}.reel h3{font-size:25px}.reel p{font-size:14px;max-width:400px}.reel .text-link{border-color:#71844e}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.about-lead{font-size:26px;line-height:1.45;margin-top:0;letter-spacing:-.02em}.about p:not(.eyebrow):not(.about-lead){color:var(--muted)}.approach{margin-top:35px}.approach>div{border-top:1px solid var(--line);padding:22px 0 8px;position:relative;padding-left:45px}.approach span{position:absolute;left:0;font-size:11px;color:var(--accent)}.approach h3{font-size:19px}.approach p{font-size:14px;margin-top:10px}.contact{margin:0 5.5%;padding:65px 0 75px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(60px,7vw,100px)}.contact-row{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:20px}.contact-row>a{font-size:clamp(20px,3vw,40px);letter-spacing:-.04em}.contact-row>a span{color:var(--accent);margin-left:20px}.contact button{background:none;border:1px solid var(--line);padding:11px 20px;color:var(--ink);font-size:12px}.contact p:last-child{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:30px 5.5%;gap:20px;font-size:10px;color:var(--muted);letter-spacing:.1em}.skip{position:absolute;left:15px;top:-100px;background:var(--accent);color:#111;padding:10px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1600px){header,main,footer{max-width:1600px;margin-inline:auto}}@media(max-width:900px){.hero{gap:25px;padding-top:55px}.signal-art{height:360px}.projects{gap:18px}.project-art{height:210px}.sound-section h2{font-size:46px}.about{gap:7%}.discipline-strip{font-size:9px}}@media(max-width:650px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:15px;padding-block:18px}nav{width:100%;justify-content:space-between;gap:15px;font-size:13px}.hero{grid-template-columns:1fr;padding-block:45px;gap:35px}.hero h1{font-size:54px}.signal-art{height:330px}.credential{margin-top:30px}.discipline-strip{flex-wrap:wrap;gap:12px;justify-content:center}.discipline-strip i{font-size:15px}.section{padding-block:55px}.section-top{display:block}.section-note{max-width:none}.draft-note span{display:block;margin:5px 0 0}.projects{grid-template-columns:1fr;gap:36px}.project-art{height:270px}.sound-section,.about{grid-template-columns:1fr;gap:32px}.sound-section{padding-block:50px}.sound-section h2{font-size:48px}.reel{padding:22px}.reel-wave{font-size:25px}.contact-row{align-items:start;flex-direction:column}.contact{padding-block:50px}footer{flex-wrap:wrap}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero>*,.sound-section>*,.about>*,.projects>*{min-width:0}.reel-wave{max-width:100%}@media(max-width:650px){.hero h1{font-size:clamp(38px,11.5vw,54px)}.eyebrow{font-size:10px}.actions{gap:18px}.button{gap:20px}}

/* Shibuya signal pass: street-poster duotone, torn edges and restrained rangoli geometry. */
:root{--bg:#f0e9d8;--panel:#171717;--ink:#171717;--muted:#55504a;--accent:#ff3c24;--line:#181818;--paper:#f0e9d8;--signal:#ff3c24}
body{background:var(--paper);color:var(--ink);background-image:radial-gradient(#17171718 .65px,transparent .65px);background-size:5px 5px}header{background:var(--paper);border-bottom:3px solid var(--ink);position:relative;z-index:2}.brand,nav,.eyebrow,.project-meta,.credential,.discipline-strip,.art-label,.art-bottom,footer{font-family:'Space Grotesk','Arial Black',sans-serif;font-weight:700}nav{font-weight:700;text-transform:uppercase}nav a:nth-child(odd){transform:rotate(-3deg)}nav a:nth-child(even){transform:rotate(2deg)}.mark{color:var(--signal);font-family:'Arial Black',sans-serif;font-size:37px;transform:rotate(-9deg)}.hero{min-height:630px;background:var(--signal);position:relative;overflow:hidden;padding-top:65px;padding-bottom:65px}.hero:before{content:'';position:absolute;font-size:clamp(250px,38vw,540px);line-height:1;right:26%;top:2%;color:#1717170c;font-family:serif;pointer-events:none}.hero-copy{position:relative;z-index:1}.hero .eyebrow{background:var(--ink);color:var(--paper);display:inline-block;padding:8px 12px;transform:rotate(-2deg)}.hero .dot{background:var(--signal)}h1,h2,h3{font-family:'Space Grotesk','Arial Black',sans-serif;font-weight:700;text-transform:uppercase}h1{font-size:clamp(48px,6.5vw,94px);line-height:.9;letter-spacing:-.085em;transform:rotate(-2deg);text-shadow:4px 4px 0 var(--paper)}h1 em{font-family:Georgia,serif;font-style:italic;text-transform:none;background:var(--ink);color:var(--signal);padding:0 .08em;box-shadow:5px 5px 0 var(--paper)}.intro{color:var(--ink);font-weight:600;max-width:390px}.button{background:var(--ink);color:var(--paper);text-transform:uppercase;font-weight:700;box-shadow:5px 5px 0 var(--paper);transform:rotate(-2deg)}.button:hover{background:var(--paper);color:var(--ink)}.hero .text-link{border-color:var(--ink);font-weight:700}.credential{color:var(--ink)}.credential span{color:var(--paper)}.signal-art{height:440px;background:var(--ink);border:4px solid var(--paper);box-shadow:10px 10px 0 var(--ink);transform:rotate(2deg);overflow:hidden}.signal-art img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.15);mix-blend-mode:screen;opacity:.88}.art-label,.art-bottom{color:var(--paper);background:var(--ink);padding:7px 10px;left:14px;top:14px}.art-bottom{top:auto;bottom:14px}.cross{color:var(--signal);background:var(--paper);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;right:15px;bottom:12px;font-size:26px}.discipline-strip{background:var(--ink);color:var(--paper);border:0;transform:rotate(-1deg) scale(1.02);position:relative;z-index:1}.discipline-strip i{color:var(--signal)}.section{position:relative}.section:before{content:'✳';position:absolute;top:56px;right:6%;font-size:56px;color:var(--signal);opacity:.9;transform:rotate(17deg)}.section-top h2,.about h2{background:var(--ink);color:var(--paper);display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 9px;line-height:1.3;transform:rotate(-1deg)}.section-note{font-weight:600}.draft-note{border-block:2px solid var(--ink);color:var(--signal);font-weight:700}.filters button{border:2px solid var(--ink);color:var(--ink);font-weight:700;text-transform:uppercase;box-shadow:3px 3px 0 var(--ink)}.filters button[aria-pressed=true]{background:var(--signal);color:var(--ink);border-color:var(--ink)}.project-art{border:3px solid var(--ink);filter:grayscale(1);background-image:linear-gradient(135deg,#ff3c24 0 48%,#171717 48% 52%,#f0e9d8 52%);box-shadow:7px 7px 0 var(--signal)}.project-art:after{content:'✳';position:absolute;right:20px;top:15px;font-size:58px;color:var(--signal);text-shadow:2px 2px var(--ink)}.project-art>span{background:var(--signal);color:var(--ink);padding:5px 8px;font-weight:700}.world{background:linear-gradient(135deg,#171717 0 34%,#ff3c24 34% 68%,#f0e9d8 68%)}.portal{border:4px solid var(--paper);box-shadow:10px 10px 0 var(--ink),20px 20px 0 var(--signal);transform:translateX(-50%) rotate(12deg);border-radius:50% 50% 0 0}.score{background:linear-gradient(160deg,#ff3c24 0 45%,#171717 45%)}.score-lines{background:repeating-linear-gradient(0deg,transparent 0 17px,#f0e9d8 18px 20px)}.score-lines:after{color:var(--signal);text-shadow:2px 2px var(--ink)}.systems{background:linear-gradient(120deg,#f0e9d8 0 35%,#171717 35% 68%,#ff3c24 68%)}.nodes{color:var(--paper);text-shadow:3px 3px var(--signal)}.project-meta{color:#555}.project h3{font-weight:700}.project p{color:#49443e}summary{font-weight:700;text-transform:uppercase}summary span{color:var(--signal)}.sound-section{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.sound-section:after{content:'✳';position:absolute;right:41%;top:-100px;color:var(--signal);opacity:.25;font-size:350px}.sound-section>div{position:relative;z-index:1}.sound-section .eyebrow{color:var(--signal)}.sound-section h2{color:var(--paper);text-shadow:4px 4px var(--signal)}.sound-section>div>p:last-child,.reel p{color:#d0c8b8}.reel{border:3px solid var(--paper);box-shadow:8px 8px 0 var(--signal);background:var(--paper);color:var(--ink);transform:rotate(1deg)}.reel-wave{color:var(--signal);font-size:42px}.reel p{color:var(--ink)}.reel .text-link{border-color:var(--ink);font-weight:700}.about{background:#e4dac6}.about:before{color:var(--signal)}.about-lead{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:29px;text-transform:uppercase}.about p:not(.eyebrow):not(.about-lead){color:#49443e}.approach>div{border-top:2px solid var(--ink)}.approach span{color:var(--signal);font-weight:700}.approach h3{text-transform:uppercase}.contact{background:var(--signal);margin:0;padding:65px 5.5% 75px;border-top:4px solid var(--ink);position:relative;overflow:hidden}.contact:after{content:'✺';position:absolute;right:5%;top:-30%;font-size:300px;opacity:.16}.contact>*{position:relative;z-index:1}.contact h2{font-size:clamp(60px,8vw,110px);text-shadow:4px 4px var(--paper);transform:rotate(-2deg);display:inline-block}.contact-row>a{font-family:'Space Grotesk',sans-serif;font-weight:700}.contact-row>a span{color:var(--paper)}.contact button{border:2px solid var(--ink);color:var(--ink);font-weight:700;text-transform:uppercase;box-shadow:4px 4px var(--paper)}.contact p:last-child{color:var(--ink);font-weight:600}footer{background:var(--ink);color:var(--paper);border:0}footer a:last-child{color:var(--signal)}
@media(max-width:650px){.hero{padding-top:48px}.signal-art{height:290px}.hero h1{font-size:clamp(40px,11vw,60px)}.section:before{top:30px;font-size:34px}.section-top h2,.about h2{font-size:37px}.sound-section:after{right:-25%;font-size:220px}.contact:after{font-size:200px;top:0}.discipline-strip{gap:10px}}

/* Palette study from the linked neon comic city pin: violet, signal green, teal and ink. */
:root{--bg:#2b1240;--panel:#21102f;--ink:#171020;--muted:#d4c3e5;--accent:#77ef78;--paper:#f2e9d8;--signal:#77ef78;--violet:#672d91;--teal:#48d8b6}
body{background-color:var(--bg);color:var(--paper);background-image:radial-gradient(#f2e9d81a .65px,transparent .65px)}
header{background:#21102f;border-color:var(--signal);color:var(--paper)}
.mark{color:var(--signal)}nav a:hover,.text-link:hover,footer a:last-child{color:var(--signal)}
.hero{background:#351451;color:var(--paper)}.hero:before{color:#77ef7812}.hero .eyebrow{background:var(--signal);color:var(--ink)}.hero .dot{background:#48d8b6}.hero h1{text-shadow:4px 4px #171020}.hero h1 em{background:var(--signal);color:#21102f;box-shadow:5px 5px #48d8b6}.intro{color:var(--paper)}.button{background:var(--signal);color:var(--ink);box-shadow:5px 5px #48d8b6}.button:hover{background:#f2e9d8;color:#21102f}.hero .text-link{border-color:var(--signal);color:var(--paper)}.credential{color:#ddcfea}.credential span{color:var(--signal)}
.signal-art{border-color:#f2e9d8;box-shadow:10px 10px #171020;background:#171020}.signal-art img{filter:grayscale(1) contrast(1.15);mix-blend-mode:screen;opacity:.9}.art-label,.art-bottom{background:#171020;color:#f2e9d8}.cross{color:#171020;background:var(--signal)}
.discipline-strip{background:#171020;color:#f2e9d8}.discipline-strip i{color:#48d8b6}
.section{color:#21102f}.section:before{color:#48d8b6}.section-top h2,.about h2{background:#21102f;color:#f2e9d8}.section-note{color:#51435c}.draft-note{border-color:#21102f;color:#672d91}.draft-note span{color:#51435c}
.filters button{border-color:#21102f;color:#21102f;box-shadow:3px 3px #48d8b6}.filters button[aria-pressed=true]{background:#77ef78;color:#171020;border-color:#171020}
.project-art{box-shadow:7px 7px #672d91}.project-art:after{color:#77ef78;text-shadow:2px 2px #171020}.project-art>span{background:#171020;color:#77ef78}.world{background:linear-gradient(135deg,#21102f 0 34%,#77ef78 34% 68%,#48d8b6 68%)}.portal{border-color:#f2e9d8;box-shadow:10px 10px #171020,20px 20px #48d8b6}.score{background:linear-gradient(160deg,#672d91 0 45%,#171020 45%)}.score-lines{background:repeating-linear-gradient(0deg,transparent 0 17px,#f2e9d8 18px 20px)}.score-lines:after{color:#77ef78;text-shadow:2px 2px #171020}.systems{background:linear-gradient(120deg,#48d8b6 0 35%,#171020 35% 68%,#672d91 68%)}.nodes{color:#f2e9d8;text-shadow:3px 3px #77ef78}.project-meta{color:#51435c}.project p{color:#51435c}summary span{color:#672d91}
.sound-section{background:#77ef78;color:#171020}.sound-section:after{color:#672d91;opacity:.19}.sound-section .eyebrow{color:#672d91}.sound-section h2{color:#171020;text-shadow:4px 4px #48d8b6}.sound-section>div>p:last-child{color:#38204b}.reel{border-color:#171020;box-shadow:8px 8px #672d91;background:#f2e9d8;color:#171020}.reel-wave{color:#672d91}.reel p{color:#38204b}.reel .text-link{border-color:#171020}
.about{background:#351451;color:#f2e9d8}.about:before{color:#48d8b6}.about h2{background:#77ef78;color:#171020}.about-lead{color:#f2e9d8}.about p:not(.eyebrow):not(.about-lead){color:#d4c3e5}.approach>div{border-color:#48d8b6}.approach span{color:#77ef78}
.contact{background:#48d8b6;color:#171020;border-color:#171020}.contact:after{color:#672d91}.contact h2{text-shadow:4px 4px #f2e9d8}.contact-row>a span{color:#672d91}.contact button{border-color:#171020;color:#171020;box-shadow:4px 4px #672d91}.contact p:last-child{color:#30203b}
footer{background:#171020;color:#f2e9d8}

.section{background:#f2e9d8;color:#21102f}.about{background:#351451;color:#f2e9d8}


/* Extreme-saturation palette sampled from the linked vaporwave anime pin. */
:root{--bg:#100B1F;--panel:#1B1030;--ink:#080611;--muted:#D8C6F2;--accent:#FF38D1;--paper:#F8F1FF;--signal:#FFE84A;--violet:#7A2CFF;--teal:#19E6FF}
body{background-color:#100B1F;color:#F8F1FF;background-image:radial-gradient(#F8F1FF17 .65px,transparent .65px)}
header{background:#100B1F;border-color:#FF38D1;color:#F8F1FF}.mark{color:#FF38D1}nav a:hover,.text-link:hover,footer a:last-child{color:#19E6FF}
.hero{background:linear-gradient(128deg,#FF38D1 0%,#C21BFF 39%,#7A2CFF 72%,#27104C 100%);color:#F8F1FF}.hero:before{color:#FFE84A18}.hero .eyebrow{background:#080611;color:#FFE84A}.hero .dot{background:#19E6FF}.hero h1{text-shadow:5px 5px #080611}.hero h1 em{background:#FFE84A;color:#080611;box-shadow:5px 5px #19E6FF}.intro{color:#F8F1FF}.button{background:#FFE84A;color:#080611;box-shadow:5px 5px #19E6FF}.button:hover{background:#19E6FF;color:#080611}.hero .text-link{border-color:#FFE84A;color:#F8F1FF}.credential{color:#F8F1FF}.credential span{color:#19E6FF}
.signal-art{border-color:#F8F1FF;box-shadow:10px 10px #080611;background:#080611}.signal-art img{filter:grayscale(1) contrast(1.4);mix-blend-mode:screen;opacity:.96}.art-label,.art-bottom{background:#080611;color:#FFE84A}.cross{color:#080611;background:#19E6FF}
.discipline-strip{background:#080611;color:#F8F1FF}.discipline-strip i{color:#FF38D1}
.section{background:#F8F1FF;color:#080611}.section:before{color:#FF38D1}.section-top h2,.about h2{background:#080611;color:#F8F1FF}.section-note{color:#38264A}.draft-note{border-color:#080611;color:#7A2CFF}.draft-note span{color:#38264A}
.filters button{border-color:#080611;color:#080611;box-shadow:3px 3px #19E6FF}.filters button[aria-pressed=true]{background:#FF38D1;color:#080611;border-color:#080611}
.project-art{box-shadow:7px 7px #FF38D1}.project-art:after{color:#FFE84A;text-shadow:2px 2px #080611}.project-art>span{background:#080611;color:#FFE84A}.world{background:linear-gradient(135deg,#080611 0 32%,#FF38D1 32% 65%,#19E6FF 65%)}.portal{border-color:#F8F1FF;box-shadow:10px 10px #080611,20px 20px #FFE84A}.score{background:linear-gradient(155deg,#FF38D1 0 45%,#080611 45% 100%)}.score-lines{background:repeating-linear-gradient(0deg,transparent 0 17px,#F8F1FF 18px 20px)}.score-lines:after{color:#FFE84A;text-shadow:2px 2px #080611}.systems{background:linear-gradient(120deg,#19E6FF 0 35%,#080611 35% 68%,#7A2CFF 68%)}.nodes{color:#F8F1FF;text-shadow:3px 3px #FF38D1}.project-meta{color:#38264A}.project p{color:#38264A}summary span{color:#7A2CFF}
.sound-section{background:#19E6FF;color:#080611}.sound-section:after{color:#FF38D1;opacity:.23}.sound-section .eyebrow{color:#7A2CFF}.sound-section h2{color:#080611;text-shadow:4px 4px #F8F1FF}.sound-section>div>p:last-child{color:#27104C}.reel{border-color:#080611;box-shadow:8px 8px #FF38D1;background:#F8F1FF;color:#080611}.reel-wave{color:#7A2CFF}.reel p{color:#27104C}.reel .text-link{border-color:#080611}
.about{background:#27104C;color:#F8F1FF}.about:before{color:#19E6FF}.about h2{background:#FFE84A;color:#080611}.about-lead{color:#F8F1FF}.about p:not(.eyebrow):not(.about-lead){color:#D8C6F2}.approach>div{border-color:#19E6FF}.approach span{color:#FFE84A}
.contact{background:#FF38D1;color:#080611;border-color:#080611}.contact:after{color:#FFE84A}.contact h2{text-shadow:4px 4px #F8F1FF}.contact-row>a span{color:#19E6FF}.contact button{border-color:#080611;color:#080611;box-shadow:4px 4px #19E6FF}.contact p:last-child{color:#27104C}
footer{background:#080611;color:#F8F1FF}

/* Print grain and heavier comic-ink outlines. */
body:after{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
h1,h2,h3{-webkit-text-stroke:1px currentColor;text-shadow:3px 3px 0 #080611,5px 5px 0 #080611}
.hero h1{-webkit-text-stroke:1.5px #080611;text-shadow:4px 4px 0 #080611,7px 7px 0 #080611}
.hero h1 em{-webkit-text-stroke:1px #080611}
.section-top h2,.about h2{border:3px solid #080611;box-shadow:5px 5px 0 #FF38D1}
.project-art{border:4px solid #080611;box-shadow:9px 9px 0 #FF38D1}
.signal-art{border:5px solid #F8F1FF;box-shadow:12px 12px 0 #080611}
.filters button{border-width:3px;box-shadow:4px 4px 0 #19E6FF}
.button,.contact button{outline:3px solid #080611;outline-offset:2px;box-shadow:6px 6px 0 #19E6FF}
.reel{border-width:4px;box-shadow:10px 10px 0 #FF38D1}
.approach>div{border-top-width:3px}
.contact{border-top-width:5px}

/* Refine line weight and skew: heavier display type and external square outlines only. */
h1,h2,h3{-webkit-text-stroke:1px currentColor;text-shadow:none}
.hero h1{-webkit-text-stroke:1.5px #080611;text-shadow:4px 4px 0 #080611,7px 7px 0 #080611}
.hero h1 em{-webkit-text-stroke:1px #080611}
.project-art{border-width:3px;outline:4px solid #080611;outline-offset:0;box-shadow:9px 9px 0 #FF38D1}
.signal-art{border-width:4px;outline:2px solid #080611;outline-offset:3px;box-shadow:10px 10px 0 #080611}
.filters button{border-width:2px;outline:2px solid #080611;outline-offset:1px;box-shadow:3px 3px 0 #19E6FF}
.button,.contact button{outline:3px solid #080611;outline-offset:2px;box-shadow:5px 5px 0 #19E6FF}
.reel{border-width:3px;box-shadow:8px 8px 0 #FF38D1}
.approach>div{border-top-width:2px}
.contact{border-top-width:4px}
.project:nth-child(1) .project-art{clip-path:polygon(2% 0,100% 2%,98% 100%,0 97%);transform:rotate(-.6deg)}
.project:nth-child(2) .project-art{clip-path:polygon(0 2%,98% 0,100% 97%,2% 100%);transform:rotate(.45deg)}
.project:nth-child(3) .project-art{clip-path:polygon(3% 0,100% 3%,97% 100%,0 98%);transform:rotate(-.35deg)}

/* Slightly hotter neon and analog display texture. */
:root{--accent:#FF00D4;--violet:#8B00FF;--signal:#FFF000;--teal:#00F0FF}
body:after{opacity:.2}
body:before{content:'';position:fixed;inset:0;z-index:998;pointer-events:none;opacity:.14;background:repeating-linear-gradient(0deg,transparent 0 2px,#08061155 3px 4px),radial-gradient(ellipse at center,transparent 56%,#8B00FF26 100%);mix-blend-mode:soft-light}
.hero,.sound-section,.contact{filter:saturate(1.22)}
.project-art{filter:grayscale(1) contrast(1.18) saturate(1.3)}


/* Colored window light and depth on framed artwork. */
.signal-art{box-shadow:inset 0 0 22px 3px #00F0FF45,inset 4px 4px 0 #FFF00066,0 0 15px #8B00FF60,10px 10px 0 #080611}
.signal-art img{filter:grayscale(1) contrast(1.4);box-shadow:inset 0 0 30px #FF00D455}
.project-art{position:relative;box-shadow:inset 0 0 22px 2px #00F0FF35,0 0 10px #8B00FF55,9px 9px 0 #FF00D4}
.project-art:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 18px 3px #00F0FF50,inset 3px 3px 0 #FFF00070}
.project-art:after{z-index:2}
.reel{box-shadow:inset 0 0 18px #8B00FF22,0 0 13px #FF00D455,8px 8px 0 #FF00D4}

/* Comic-ink section breaks with a small neon registration echo. */
main>section{box-shadow:inset 0 -6px 0 #080611,inset 0 -9px 0 #FF00D4}

.hero h1 em{text-shadow:2px 2px 0 rgba(216,198,242,.62),4px 4px 0 rgba(216,198,242,.28);-webkit-text-stroke:1px #080611}


.hero h1 em{text-shadow:3px 2px 0 rgba(28,24,34,.96),-2px -1px 0 rgba(48,42,55,.78),6px 5px 0 rgba(16,12,23,.58)}



/* Faint rangoli-inspired floral linework behind the opening introduction. */
.hero:before{content:'';width:clamp(360px,52vw,650px);height:auto;aspect-ratio:1;right:25%;top:-5%;background:url('rangoli-background.svg') center/contain no-repeat;opacity:.095;transform:rotate(12deg);pointer-events:none}
@media(max-width:650px){.hero:before{width:115vw;right:-20%;top:0}}

/* About Me on one line; section-centered rangoli and the former Approach palette on Contact. */
.hero h1{white-space:nowrap}
.hero:before{left:50%;right:auto;top:50%;transform:translate(-50%,-50%) rotate(12deg)}
.contact{background:#27104C;color:#F8F1FF}
.contact h2{color:#FFE84A}
.contact:after{color:#19E6FF}
.contact-row>a{color:#F8F1FF}
.contact button{color:#F8F1FF;border-color:#19E6FF}
.contact p:last-child{color:#D8C6F2}

/* Intro spacing, larger section backdrop, and clearer contact lettering. */
.hero h1 em{margin-left:.14em}
.hero:before{inset:24px;left:24px;right:24px;top:24px;width:auto;height:auto;aspect-ratio:auto;transform:none;background-size:cover;background-position:center}
.contact h2{text-shadow:4px 4px 0 #080611}
.project .project-art.reel-video{display:block;clip-path:none;transform:rotate(-.6deg);filter:none;background:#080611;border:3px solid #080611;outline:4px solid #080611;outline-offset:0;box-shadow:inset 0 0 22px 2px #00F0FF35,0 0 10px #8B00FF55,9px 9px 0 #FF00D4}
.reel-video img{display:block;width:100%;height:100%;object-fit:cover}
.reel-video:before,.reel-video:after{display:none}
.reel-video .play-badge{inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:54px;border:3px solid #080611;background:#FFE84A;color:#080611;font-size:26px;box-shadow:4px 4px 0 #19E6FF}
.reel-video:hover .play-badge{background:#19E6FF}
.reel-link{display:inline-block;margin-top:8px;border-color:#080611}

/* Clicking the poster swaps it for a native YouTube player in the same frame. */
button.reel-video{width:100%;padding:0;text-align:left;cursor:pointer}
.reel-player{cursor:auto}
.reel-player iframe{display:block;width:100%;height:100%;border:0}

/* Original portrait, with a reversible purple duotone treatment in the page. */
.signal-art.portrait{background:#27104C}
.signal-art.portrait img{object-fit:cover;object-position:57% 58%;filter:grayscale(1) contrast(1.12);mix-blend-mode:screen;opacity:1}
.discipline-strip{min-height:65px}
.project h3{margin-top:24px}

/* Natural-color portrait with a closer, centered upper-body crop. */
.hero{filter:none}
.signal-art.portrait img{filter:none;mix-blend-mode:normal;opacity:1;object-position:50% 48%;transform:scale(1.25);transform-origin:50% 43%}

.signal-art.portrait img{transform:translateX(-4%) scale(1.25)}




/* Contact adopts the former listening room cyan palette. */
.contact{background:#19E6FF;color:#080611}
.contact .eyebrow,.contact-row>a,.contact p:last-child{color:#080611}
.contact button{color:#080611;border-color:#080611;box-shadow:4px 4px #FF38D1}
.contact-row>a span{color:#080611}
.contact:after{color:#FF38D1}
