:root{--paper:#f5f2ee;--panel-rust:#bd4936;--panel-rust-dark:#a33e2d;--panel-ink:#13110f;--panel-olive:#403b2b;--panel-cream:#f6ead8;--panel-mustard:#edb55b;--panel-blush:#d7856a;--border-rust:#24130f;--border-ink:#3f3526;--border-olive:#e0bc76;--ink:#15120f;--frame:#11100f;--section-gap:clamp(1rem, 2vw, 1.5rem);--frame-pad:clamp(1.5rem, 3vw, 2.5rem);--card-gap:1rem;--display:"Barlow Condensed", "Arial Narrow", "Helvetica Neue", "Franklin Gothic Medium", sans-serif;--body:"Plus Jakarta Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--body);margin:0}h1,h2,h3,p,ul{margin:0}#app{min-height:100svh}.poster-shell{gap:var(--section-gap);background:var(--paper);isolation:isolate;min-height:100svh;padding:clamp(1rem,2vw,1.5rem);display:grid;position:relative}.shell-background-marquee{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.shell-background-word{font-family:var(--display);letter-spacing:-.11em;text-transform:uppercase;white-space:nowrap;color:#11100f1c;opacity:0;will-change:transform, opacity;font-size:clamp(10rem,30vw,28rem);font-weight:700;line-height:.8;position:absolute}.shell-background-word-1{color:#11100f21;animation:72s linear infinite shellWordDriftWide;top:4vh;right:-34vw}.shell-background-word-2{color:#bd49361c;font-size:clamp(9rem,24vw,22rem);animation:54s linear -14s infinite shellWordDriftTight;top:26vh;right:-18vw}.shell-background-word-3{color:#403b2b1a;font-size:clamp(12rem,34vw,32rem);animation:88s linear -33s infinite reverse shellWordDriftWide;top:48vh;right:-38vw}.shell-background-word-4{color:#11100f1f;font-size:clamp(8rem,21vw,18rem);animation:48s linear -21s infinite shellWordDriftTight;top:68vh;right:-12vw}.shell-background-word-5{color:#d7856a1a;font-size:clamp(11rem,28vw,24rem);animation:68s linear -39s infinite shellWordDriftWide;top:84vh;right:-28vw}.poster-shell>:not(.shell-background-marquee){z-index:1;position:relative}.poster-hero{border:10px solid var(--panel-mustard);background:var(--panel-rust);width:100%;max-width:1120px;min-height:min(100svh,58rem);margin:0 auto;position:relative;overflow:hidden}.hero-title{z-index:1;width:min(100%,11.5ch);font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;color:var(--panel-mustard);text-align:center;transform-origin:50%;pointer-events:none;font-size:clamp(5.2rem,17.5vw,13.5rem);font-weight:700;line-height:.8;animation:12s ease-in-out infinite titleDrift;position:absolute;top:50%;left:50%;translate:-50% -50%}.hero-socials{z-index:2;flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex;position:absolute;bottom:2.25rem;left:50%;transform:translate(-50%)}.hero-social-link{width:3.3rem;height:3.3rem;color:var(--panel-cream);background:0 0;justify-content:center;align-items:center;text-decoration:none;transition:color .16s;display:inline-flex}.hero-social-link:hover,.hero-social-link:focus-visible{color:var(--panel-mustard)}.hero-social-link:focus-visible{outline:2px solid var(--panel-cream);outline-offset:2px}.hero-social-icon{fill:currentColor;width:1.4rem;height:1.4rem}.hero-title:before{content:attr(data-text);color:#11100f29;z-index:-1;position:absolute;inset:0;transform:translate(.025em,.02em)}.content-section{padding:0;position:relative}.content-section-personal,.content-section-about,.content-section-work,.content-section-contact{background:0 0}.section-frame{border:10px solid var(--frame);background:var(--panel-rust);width:100%;max-width:1120px;margin:0 auto;padding:clamp(2rem,5vw,3rem);position:relative}.content-section-about .section-frame{border-color:var(--panel-ink);background:#e6b29e}.content-section-personal .section-frame{background:var(--panel-ink);border-color:var(--border-ink)}.content-section-work .section-frame{background:var(--panel-olive);border-color:var(--border-olive)}.content-section-contact .section-frame{background:var(--panel-cream);border-color:var(--panel-ink)}.section-header{z-index:1;align-items:start;gap:.9rem;display:grid;position:relative}.section-heading{gap:.65rem;display:grid}.section-title{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;max-width:11ch;color:var(--panel-mustard);font-size:clamp(3.2rem,9vw,7rem);line-height:.82}.section-intro{max-width:34rem;font-family:var(--body);letter-spacing:.01em;color:var(--panel-cream);font-size:clamp(1rem,2vw,1.16rem);font-weight:500;line-height:1.65}.section-inline-link{color:inherit;text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:1px;transition:opacity .16s}.section-inline-link:hover,.section-inline-link:focus-visible{opacity:.72}.section-inline-link:focus-visible{outline-offset:2px;outline:2px solid}.section-body{z-index:1;margin-top:2rem;position:relative}.content-section-contact .section-title,.content-section-contact .section-intro,.content-section-about .section-title,.content-section-about .section-intro,.content-section-about .about-body{color:var(--panel-ink)}.about-copy{gap:1rem;max-width:44rem;display:grid}.about-body{font-family:var(--body);letter-spacing:.01em;color:var(--panel-cream);font-size:clamp(1.05rem,2vw,1.2rem);font-weight:500;line-height:1.7}.projects-grid{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{background:#f6ead80f;border:1.5px solid #f6ead838;gap:1.35rem;min-height:100%;padding:1.45rem;display:grid;position:relative;overflow:hidden}.project-card:before{content:"";background:#edb55be6;width:100%;height:.2rem;position:absolute;inset:0 auto auto 0}.project-meta{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.project-years,.project-status{font-size:.9rem}.project-years{color:#f6ead8b8}.project-status{color:var(--panel-mustard);background:0 0;border:1px solid #edb55b8c;justify-content:center;align-items:center;margin-left:auto;padding:.35rem .65rem;display:inline-flex}.project-copy{gap:.55rem;display:grid}.project-title{font-family:var(--display);letter-spacing:-.05em;text-transform:uppercase;color:var(--panel-cream);font-size:clamp(2rem,4vw,3rem);line-height:.92}.project-description{font-family:var(--body);letter-spacing:.01em;color:#f6ead8e0;max-width:28rem;font-size:1rem;font-weight:500;line-height:1.6}.project-link,.work-link{border:1px solid var(--panel-mustard);width:fit-content;min-height:2.85rem;color:var(--panel-mustard);font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;background:0 0;justify-content:center;align-self:start;align-items:center;padding:.3rem .95rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.project-link:hover,.project-link:focus-visible,.work-link:not(.work-link-muted):hover,.work-link:not(.work-link-muted):focus-visible{background:var(--panel-mustard);color:var(--frame)}.project-link:focus-visible,.work-link:focus-visible{outline:2px solid var(--panel-cream);outline-offset:2px}.work-list{gap:0;display:grid}.work-item{background:0 0;border-top:1px solid #f6ead838;grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.35rem 1.2rem;display:grid}.work-item:last-child{border-bottom:1px solid #f6ead838}.work-year{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:#f6ead8b8;font-size:.92rem}.work-copy{flex-direction:column;justify-content:center;gap:.5rem;min-height:100%;display:flex}.work-heading{display:block}.work-title{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;color:var(--panel-cream);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1}.work-description{max-width:42rem;font-family:var(--body);letter-spacing:.01em;color:#f6ead8e0;font-size:1rem;font-weight:500;line-height:1.6}.work-link{text-align:center;align-self:center;min-width:5.5rem}.work-link-muted{color:#f6ead899;border-color:#f6ead838;justify-content:center;align-items:center;display:inline-flex}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.5rem;display:grid}.contact-copy{gap:1rem;max-width:29rem;display:grid}.contact-note{width:fit-content;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--panel-ink);background:#13110f0d;border:1.5px solid #13110f29;padding:.45rem .7rem;font-size:.92rem;line-height:1.3}.contact-body,.contact-status,.contact-success-body{color:#13110fdb;font-size:1rem;font-weight:500;line-height:1.65}@keyframes shellWordDrift{0%{opacity:0;transform:translate(0,0)}10%{opacity:.07}50%{opacity:.08}to{opacity:0;transform:translate(-135vw)}}@keyframes shellWordDriftWide{0%{opacity:0;transform:translate(0,0)}8%{opacity:.1}50%{opacity:.14}to{opacity:0;transform:translate(-155vw)}}@keyframes shellWordDriftTight{0%{opacity:0;transform:translate(8vw)}10%{opacity:.11}55%{opacity:.15}to{opacity:0;transform:translate(-125vw)}}@media (width<=720px){.shell-background-word{font-size:clamp(6rem,28vw,10rem)}.shell-background-word-1,.shell-background-word-3,.shell-background-word-5{display:none}.shell-background-word-2{top:18vh;right:-45vw}.shell-background-word-4{top:72vh;right:-28vw}}@media (prefers-reduced-motion:reduce){.shell-background-word{opacity:.12;animation:none;transform:none}}.contact-email{color:inherit;text-underline-offset:.16em;text-decoration-thickness:.08em}.contact-email:hover,.contact-email:focus-visible{color:var(--panel-rust)}.contact-form,.contact-success{background:#ffffff57;border:1.5px solid #13110f24;gap:1rem;padding:1.4rem;display:grid}.contact-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-field{gap:.45rem;display:grid}.contact-label{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--panel-ink);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem;display:flex}.contact-error{color:var(--panel-rust)}.contact-input{width:100%;color:var(--panel-ink);font:inherit;background:#f5f2eed9;border:1.5px solid #13110f38;border-radius:0;padding:.9rem 1rem}.contact-textarea{resize:vertical;min-height:10rem}.contact-input:focus-visible{outline:2px solid var(--panel-rust);outline-offset:2px}.contact-input-error{border-color:#bd4936b3}.contact-actions{flex-wrap:wrap;gap:.8rem;display:flex}.contact-submit,.contact-reset{min-height:3rem;font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.94rem;font-weight:700;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex}.contact-submit{border:1.5px solid var(--panel-ink);background:var(--panel-ink);color:var(--panel-cream)}.contact-submit:hover,.contact-submit:focus-visible{background:var(--panel-rust);border-color:var(--panel-rust)}.contact-submit:disabled{cursor:not-allowed;opacity:.55}.contact-reset{color:var(--panel-ink);background:0 0;border:1.5px solid #13110f4d}.contact-reset:hover,.contact-reset:focus-visible{border-color:var(--panel-ink)}.contact-status-error{color:var(--panel-rust)}.contact-success-title{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;color:var(--panel-ink);font-size:clamp(2.1rem,4vw,3rem);line-height:.92}@keyframes titleDrift{0%,to{transform:translate(0,0)}50%{transform:translate(.012em,-.01em)}}@media (width<=900px){.poster-hero{min-height:80svh}.hero-title{font-size:clamp(4.8rem,24vw,9rem)}.projects-grid{grid-template-columns:1fr}.section-header{align-items:start}.section-intro{max-width:34rem}.project-meta{align-items:start}.project-status{margin-left:0}.work-item{grid-template-columns:1fr;align-items:start}.contact-layout{grid-template-columns:1fr}}@media (width<=640px){.section-frame{border-width:8px;padding:1.55rem}.poster-hero{border-width:8px}.hero-title{width:calc(100% - 1.4rem);font-size:clamp(3.9rem,16vw,6.2rem);line-height:.86}.hero-socials{gap:.65rem;width:max-content;bottom:1.4rem}.hero-social-link{width:3rem;height:3rem}.project-card,.contact-form,.contact-success{padding:1.1rem}.contact-label{flex-direction:column;align-items:start;gap:.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-title,.shell-background-word{animation:none}.project-link,.work-link,.section-link,.contact-submit,.contact-reset{transition:none}}
