@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PatrickHand-Regular.ttf)format("truetype")}:root{--paper:#f4f0e6;--paper-deep:#e7dfcf;--paper-light:#fbf8f0;--ink:#20201d;--ink-soft:#59574f;--graphite:#67635b;--rule:#364f6026;--accent:#365b73;--accent-dark:#203f53;--margin-red:#97483b6b;--display:"Patrick Hand", "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--content:1180px;--stroke:1.5px solid var(--ink);--fast:.18s;--medium:.32s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7.5rem}body{background-color:var(--paper);background-image:radial-gradient(circle at 18% 22%, #332b1e0b 0 .8px, transparent 1px), radial-gradient(circle at 73% 66%, #332b1e09 0 .7px, transparent 1px), linear-gradient(90deg, transparent 5.4rem, var(--margin-red) 5.45rem, transparent 5.5rem), repeating-linear-gradient(0deg, transparent 0 31px, var(--rule) 32px, transparent 33px);min-width:320px;color:var(--ink);font-family:var(--body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-size:13px 17px,19px 23px,100% 100%,100% 33px;margin:0;font-size:1rem;line-height:1.7}::selection{background:#365b7333}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper-light);padding:.6rem .9rem;font-weight:800;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header{z-index:20;backdrop-filter:blur(10px);background:#f4f0e6f0;border-bottom:1px solid #20201da6;position:sticky;top:0;box-shadow:0 4px #20201d0d}.header-inner{width:min(var(--content), calc(100% - 3rem));align-items:center;gap:2.5rem;min-height:5rem;margin:0 auto;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.04em;white-space:nowrap;flex:none;font-size:1.3rem;font-weight:700;text-decoration:none}.wordmark span{font-family:var(--mono);margin-right:.25rem;font-size:.78em;display:inline-block;transform:rotate(-4deg)}.notebook-nav{scrollbar-width:thin;margin-left:auto;overflow-x:auto}.notebook-nav ul{align-items:center;gap:.15rem;margin:0;padding:.75rem .15rem;list-style:none;display:flex}.notebook-nav a{letter-spacing:.035em;white-space:nowrap;padding:.68rem .62rem;font-size:.76rem;font-weight:750;text-decoration:none;display:block;position:relative}.notebook-nav a span{color:var(--graphite);font-family:var(--mono);font-size:.74em}.notebook-nav a:after,.text-link:after,.project-link:after{content:"";transform-origin:0;height:2px;transition:transform var(--medium) ease;background:currentColor;position:absolute;bottom:.25rem;left:.55rem;right:.55rem;transform:scaleX(0)rotate(-1deg)}.notebook-nav a:hover:after,.notebook-nav a:focus-visible:after,.text-link:hover:after,.text-link:focus-visible:after,.project-link:hover:after,.project-link:focus-visible:after{transform:scaleX(1)rotate(-1deg)}main,.site-footer{width:min(var(--content), calc(100% - 3rem));margin:0 auto}.page-section{padding:clamp(5rem,9vw,8.5rem) clamp(1rem,3.2vw,3rem);scroll-margin-top:6rem;position:relative}.page-section:not(:last-child):after{background:linear-gradient(var(--ink), var(--ink)) 0 0 / 100% 1px no-repeat, linear-gradient(var(--ink-soft), var(--ink-soft)) 2rem 4px / calc(100% - 4rem) 1px no-repeat;content:"";opacity:.55;height:7px;position:absolute;bottom:0;left:1rem;right:1rem;transform:rotate(-.08deg)}.ruled-section:before{z-index:-1;content:"";background:#fbf8f094;border:1px solid #20201d33;position:absolute;inset:1.5rem .1rem;transform:rotate(.12deg)}.eyebrow{color:var(--accent-dark);font-family:var(--mono);letter-spacing:.16em;margin-bottom:1rem;font-size:.75rem;font-weight:800}.hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(2rem,7vw,6.5rem);min-height:calc(100svh - 5rem);padding-top:clamp(4.5rem,8vw,7.5rem);display:grid}.hero-copy{z-index:2;position:relative}.hero h1{font-family:var(--display);letter-spacing:-.075em;margin-bottom:.7rem;font-size:clamp(3.6rem,7.6vw,7rem);font-weight:700;line-height:.98}.hero h1 span{display:inline-block;position:relative}.hero h1 span:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20'%3E%3Cpath d='M3 13 C80 3 160 18 297 7' fill='none' stroke='%23365b73' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:.12em;position:absolute;bottom:-.05em;left:.02em;right:-.05em;transform:rotate(-1.5deg)}.hero-role{max-width:680px;font-family:var(--display);margin-bottom:1.25rem;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:700;line-height:1.25}.hero-intro{max-width:660px;color:var(--ink-soft);margin-bottom:2rem;font-size:clamp(1rem,1.4vw,1.12rem)}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.sketch-button{border:var(--stroke);background:var(--paper-light);min-height:3rem;box-shadow:3px 3px 0 var(--ink);letter-spacing:.035em;transition:transform var(--fast) ease, box-shadow var(--fast) ease;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative;transform:rotate(.25deg)}.sketch-button--primary{background:var(--ink);color:var(--paper-light);box-shadow:3px 3px 0 var(--accent)}.sketch-button:hover,.sketch-button:focus-visible{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)rotate(0)}.hero-footnote{color:var(--graphite);font-family:var(--display);margin:1.6rem 0 0 .25rem;font-size:.95rem;transform:rotate(-1deg)}.architect-figure{transition:transform var(--medium) ease;background:#fff;border:1px solid #20201dbf;margin:0;padding:clamp(.65rem,1.4vw,1rem);position:relative;transform:rotate(1.1deg);box-shadow:10px 12px #20201d14}.architect-figure:before{z-index:-1;content:"";border:1px solid #20201d6b;position:absolute;inset:.45rem -.55rem -.55rem .45rem}.architect-figure:hover{transform:rotate(.25deg)translateY(-3px)}.architect-figure img{aspect-ratio:4/3;object-fit:contain;filter:grayscale()contrast(1.08);width:100%}.architect-figure figcaption{font-family:var(--display);font-size:.92rem;font-weight:700;position:absolute;bottom:-3.2rem;right:-1.5rem;transform:rotate(-4deg)}.annotation-arrow{transition:transform var(--medium) ease;margin-right:.4rem;font-size:1.7rem;display:inline-block}.architect-figure:hover .annotation-arrow{transform:translate(-4px,-4px)rotate(-8deg)}.tape{z-index:2;background:#d8ccaab8;width:5.5rem;height:1.8rem;position:absolute;top:-1.1rem;box-shadow:0 0 0 1px #564c3914}.tape--left{left:-1rem;transform:rotate(-7deg)}.tape--right{right:-1rem;transform:rotate(8deg)}.hero-page-number{font-family:var(--display);font-size:1.1rem;position:absolute;bottom:1rem;right:.5rem}.section-heading{grid-template-columns:minmax(0,1fr) minmax(200px,.45fr) auto;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid;position:relative}.section-heading h2{font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:700;line-height:1.04}.margin-note{max-width:19rem;color:var(--ink-soft);font-family:var(--display);margin:0 0 .35rem;font-size:.95rem;font-weight:700;line-height:1.45;transform:rotate(-1.5deg)}.margin-note:before{color:var(--accent);content:"↳";margin-right:.45rem;font-size:1.2rem}.page-number{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;align-self:start;font-size:.72rem;font-weight:700}.about-grid,.experience-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:clamp(2.5rem,8vw,7rem);display:grid}.prose-block,.experience-copy{max-width:660px}.lead{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:650;line-height:1.55}.prose-block p:not(.lead),.experience-copy p:not(.lead){color:var(--ink-soft)}.process-sketch{border:var(--stroke);background:#fbf8f0bf;padding:2rem 1.7rem 1.7rem;position:relative;transform:rotate(.6deg)}.process-sketch:before{z-index:-1;border:1px solid var(--ink-soft);content:"";position:absolute;inset:-6px 5px 5px -6px;transform:rotate(-1deg)}.process-label{background:var(--paper);font-family:var(--display);padding:.1rem .55rem;font-size:.8rem;font-weight:700;position:absolute;top:-1rem;right:1rem}.process-sketch ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.process-sketch li{font-family:var(--display);place-items:center;gap:.25rem;font-size:1rem;font-weight:700;display:grid;position:relative}.process-sketch li:not(:last-child):after{content:"→";font-family:var(--body);position:absolute;top:.55rem;right:-.35rem}.process-sketch li span{border:1px solid var(--ink);width:2.1rem;height:2.1rem;font-family:var(--mono);border-radius:50%;place-items:center;font-size:.62rem;display:grid}.section-intro{max-width:760px;color:var(--ink-soft);margin:-2rem 0 3rem;font-size:1.06rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.8rem,4vw,3.2rem);display:grid}.project-card{border:var(--stroke);min-height:31rem;transition:transform var(--fast) ease, box-shadow var(--fast) ease;background:linear-gradient(135deg,#0000 0 86%,#20201d09 86% 100%),#fbf8f0e0;flex-direction:column;padding:clamp(1.4rem,3vw,2.2rem);display:flex;position:relative;box-shadow:6px 7px #20201d14}.project-card:nth-child(2n){transform:rotate(.35deg)}.project-card:nth-child(odd){transform:rotate(-.25deg)}.project-card:before{z-index:-1;content:"";pointer-events:none;border:1px solid #20201d8c;position:absolute;inset:5px -7px -7px 5px}.project-card:hover,.project-card:focus-within{transform:translateY(-4px)rotate(0);box-shadow:3px 4px #20201d1f}.project-card__topline{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.project-number{color:var(--graphite);font-family:var(--mono);letter-spacing:.12em;font-size:.7rem;font-weight:700}.status-chip{border:1px solid var(--accent-dark);max-width:13rem;color:var(--accent-dark);font-family:var(--mono);text-align:right;text-transform:uppercase;background:#365b730f;padding:.22rem .52rem;font-size:.66rem;font-weight:800;line-height:1.35;transform:rotate(.8deg)}.project-card h3{font-family:var(--display);letter-spacing:-.045em;margin-bottom:1rem;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:700;line-height:1.1}.project-summary{color:var(--ink-soft)}.boundary-note{border-left:3px solid var(--accent);background:#365b730e;grid-template-columns:auto 1fr;gap:.55rem;margin:.5rem 0 1.4rem;padding:.8rem .95rem;display:grid}.boundary-note span{color:var(--accent);font-family:var(--display);font-size:1.2rem}.boundary-note p{margin:0;font-size:.82rem;line-height:1.55}.tag-list{flex-wrap:wrap;gap:.45rem;margin:auto 0 1.3rem;padding:0;list-style:none;display:flex}.tag-list li{border-bottom:1px solid var(--graphite);font-family:var(--mono);padding:.15rem .45rem;font-size:.68rem}.project-link,.text-link{color:var(--accent-dark);text-underline-offset:.3rem;align-self:flex-start;padding:.3rem .05rem .45rem;font-weight:800;display:inline-flex;position:relative}.project-link:after,.text-link:after{bottom:.25rem;left:0;right:0}.research-layout{grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);gap:clamp(3rem,8vw,7rem);display:grid}.research-statement>p:first-child{font-size:1.12rem}.research-status{border:1px dashed var(--ink-soft);color:var(--ink-soft);font-family:var(--mono);padding:.8rem 1rem;font-size:.75rem;line-height:1.5;transform:rotate(-.5deg)}.research-themes,.capability-list,.contact-links{margin:0;padding:0;list-style:none}.research-themes{gap:.4rem;display:grid}.research-themes li{border-bottom:1px solid #20201d80;grid-template-columns:3rem 1fr;gap:1rem;padding:1.25rem 0;display:grid}.research-themes h3{font-family:var(--display);margin:0 0 .25rem;font-size:1.45rem}.research-themes p{color:var(--ink-soft);margin:0;font-size:.9rem}.theme-mark{border:1px solid var(--ink);border-radius:48% 52% 43% 57%;place-items:center;width:2.7rem;height:2.7rem;font-size:1.3rem;display:grid;transform:rotate(-5deg)}.capability-list{border-top:2px solid var(--ink)}.capability-list li{border-bottom:1px solid #20201d7a;grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.85rem;padding:1.15rem .25rem;display:grid}.capability-list span{font-family:var(--mono);font-size:.68rem}.capability-list strong{font-family:var(--display);font-size:1.1rem}.capability-list small{color:var(--ink-soft);font-size:.78rem}.contact-section{padding-bottom:7rem}.contact-section:before{z-index:-1;border:var(--stroke);content:"";background:#fbf8f0d6;position:absolute;inset:3rem .25rem 2rem;transform:rotate(-.15deg);box-shadow:8px 8px #20201d12}.contact-layout{grid-template-columns:minmax(0,.72fr) minmax(380px,1.28fr);gap:clamp(3rem,8vw,7rem);display:grid}.contact-lead{font-size:1.15rem;font-weight:650}.contact-note{color:var(--graphite);font-family:var(--display);font-size:.9rem}.contact-links li{border-top:1px solid var(--ink)}.contact-links li:last-child{border-bottom:1px solid var(--ink)}.contact-links a{transition:background var(--fast) ease, padding var(--fast) ease;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem .35rem;text-decoration:none;display:grid}.contact-links a:hover,.contact-links a:focus-visible{background:#365b7312;padding-left:.7rem;padding-right:.7rem}.contact-links span:first-child{font-family:var(--display);font-size:1.35rem;font-weight:700}.contact-links small{color:var(--ink-soft);font-family:var(--mono);overflow-wrap:anywhere;font-size:.68rem}.site-footer{border-top:2px solid var(--ink);font-family:var(--mono);justify-content:space-between;gap:1.5rem;padding:2rem clamp(1rem,3.2vw,3rem) 3rem;font-size:.74rem;display:flex}.site-footer p{color:var(--ink-soft);margin:0}.site-footer a{text-underline-offset:.3rem;font-weight:800}@media (width<=980px){body{background-image:radial-gradient(circle at 18% 22%, #332b1e0b 0 .8px, transparent 1px), radial-gradient(circle at 73% 66%, #332b1e09 0 .7px, transparent 1px), repeating-linear-gradient(0deg, transparent 0 31px, var(--rule) 32px, transparent 33px)}.header-inner{width:100%;min-height:0;padding-top:.65rem;display:block}.wordmark{margin-left:1rem;display:inline-block}.notebook-nav{scroll-snap-type:inline proximity;border-top:1px solid #20201d33;margin-top:.35rem;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 3rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 3rem),#0000 100%)}.notebook-nav ul{width:max-content;padding:.25rem 3rem .45rem 1rem}.notebook-nav li{scroll-snap-align:start}main,.site-footer{width:min(100% - 2rem, var(--content))}.hero{grid-template-columns:1fr .85fr;min-height:auto;padding-top:5rem}.section-heading{grid-template-columns:1fr auto}.section-heading .margin-note{grid-area:2/1/auto/-1}.section-heading .page-number{grid-area:1/2}.about-grid,.experience-grid,.research-layout,.contact-layout{grid-template-columns:1fr}.process-sketch,.capability-list,.research-themes,.contact-links{width:100%}}@media (width<=720px){body{font-size:.97rem}.page-section{padding:4.5rem .8rem}.hero{grid-template-columns:1fr;gap:3.5rem;padding-top:4.5rem}.hero-copy{order:2}.architect-figure{order:1;justify-self:center;width:min(82vw,20rem)}.architect-figure img{object-fit:cover;object-position:center;height:18rem}.architect-figure figcaption{bottom:-3rem;right:.25rem}.section-heading{gap:1rem}.section-heading h2{font-size:clamp(2.4rem,12vw,3.5rem)}.project-grid{grid-template-columns:1fr}.project-card{min-height:0}.project-card:nth-child(2n),.project-card:nth-child(odd){transform:rotate(0)}.site-footer{flex-direction:column}}@media (width<=430px){main,.site-footer{width:calc(100% - 1rem)}.hero h1{font-size:clamp(3rem,17vw,4.4rem)}.hero-actions{flex-direction:column;align-items:stretch}.sketch-button{width:100%}.process-sketch{padding-left:.7rem;padding-right:.7rem}.process-sketch ol{grid-template-columns:repeat(2,1fr);gap:1.5rem .5rem}.process-sketch li:nth-child(2):after{display:none}.project-card__topline{flex-direction:column;align-items:flex-start}.status-chip{text-align:left;max-width:100%}.capability-list li{grid-template-columns:2rem 1fr}.capability-list small{grid-column:2}.contact-links a{grid-template-columns:1fr auto}.contact-links small{grid-area:2/1}.contact-links b{grid-area:1/2/span 2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header{position:static}body{background:#fff}.page-section{break-inside:avoid}}
