*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Arial,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.hidden{display:none}:root{--ink: #080808;--surface: #101010;--paper: #f0eee9;--muted: #8d8b87;--line: rgba(240, 238, 233, .17);--line-strong: rgba(240, 238, 233, .34);--red: #ef202d;--red-deep: #9f111c}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;min-width:320px;color:var(--paper);background:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.portfolio-shell{overflow:hidden;background:var(--ink)}.section-frame{width:min(100% - 64px,1400px);margin:0 auto}.section-pad{padding-top:150px;padding-bottom:150px}.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;width:min(100% - 64px,1400px);height:80px;margin:0 auto;border-bottom:1px solid var(--line)}.brand-mark{display:inline-flex;align-items:center;gap:11px;color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.16em}.brand-square{display:grid;width:25px;height:25px;place-items:center;color:var(--ink);background:var(--paper);font-size:12px;letter-spacing:0}.brand-dot{color:var(--red)}.site-nav{display:flex;gap:31px;margin-left:auto;margin-right:70px}.site-nav a,.header-availability,.eyebrow,.project-type,.skill-label,.timeline-year,.scroll-cue{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.site-nav a{color:var(--muted);transition:color .25s ease}.site-nav a:hover{color:var(--paper)}.header-availability{display:flex;align-items:center;gap:9px;color:var(--paper);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red)}.menu-toggle{display:none;border:0;color:var(--paper);background:transparent}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:calc(100vh - 80px);padding-top:13vh;padding-bottom:100px}.hero:after{position:absolute;right:0;bottom:55px;left:0;height:1px;content:"";background:var(--line)}.hero-watermark{position:absolute;top:3.5vh;left:-8px;color:transparent;font-size:clamp(150px,22.5vw,335px);font-weight:900;line-height:.83;letter-spacing:-.1em;-webkit-text-stroke:1px rgba(239,32,45,.72);opacity:.8;pointer-events:none}.hero-copy{position:relative;z-index:2;align-self:center;padding:7vh 0 7vh 7.5vw}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 31px;color:var(--red);font-weight:700}.red-line{width:27px;height:1px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{text-transform:uppercase;font-weight:800;letter-spacing:-.065em;line-height:.92}h1{max-width:700px;margin-bottom:39px;font-size:clamp(64px,8.2vw,126px)}h1 em,h2 span{color:var(--red);font-style:normal}.hero-intro{max-width:360px;margin-bottom:35px;color:var(--muted);font-size:14px;line-height:1.65}.text-link{display:inline-flex;align-items:center;gap:15px;padding-bottom:8px;border-bottom:1px solid var(--red);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:gap .25s ease,color .25s ease}.text-link span{color:var(--red);font-size:18px;line-height:10px}.text-link:hover{gap:22px;color:var(--red)}.hero-profile{position:relative;z-index:1;align-self:center;justify-self:end;width:min(100%,570px);margin-right:8%}.profile-frame{position:relative;aspect-ratio:.82;overflow:hidden;border:1px solid var(--line-strong);background:linear-gradient(145deg,#171717,#050505 65%)}.profile-frame:before{position:absolute;top:12%;left:12%;width:67%;height:85%;content:"";border:1px solid rgba(239,32,45,.4);border-bottom:0;transform:rotate(7deg)}.profile-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,238,233,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(240,238,233,.05) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 90%);mask-image:linear-gradient(to bottom,black 0%,transparent 90%)}.profile-photo{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.profile-index{position:absolute;top:22px;right:25px;color:var(--paper);font-size:10px;letter-spacing:.12em}.profile-index span{margin:0 5px;color:var(--red)}.profile-note{position:absolute;right:-45px;bottom:18%;color:var(--muted);font-size:11px;line-height:1.45}.cross{margin-right:8px;color:var(--red);font-size:20px}.hero-meta{position:absolute;right:0;bottom:91px;left:7.5%;display:flex;gap:clamp(30px,8vw,125px)}.hero-meta div{display:flex;align-items:baseline;gap:13px}.hero-meta strong{color:var(--red);font-size:27px;font-weight:400;letter-spacing:-.06em}.hero-meta span{color:var(--muted);font-size:9px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase}.scroll-cue{position:absolute;right:0;bottom:91px;display:flex;align-items:center;gap:11px;color:var(--muted)}.scroll-line{width:40px;height:1px;background:var(--line-strong)}.section-heading{position:relative;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:end;padding-bottom:39px;border-bottom:1px solid var(--line)}.section-heading .eyebrow{align-self:start;margin-bottom:0}h2{margin-bottom:0;font-size:clamp(54px,7vw,100px)}.heading-aside{justify-self:end;margin-bottom:5px;color:var(--muted);font-size:12px;line-height:1.5}.project-showcase{padding-top:55px}.project-featured{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border:1px solid var(--line);transition:border-color .4s ease}.project-featured:hover{border-color:#ef202d73}.project-featured .project-visual{aspect-ratio:auto;height:100%;min-height:480px;border:0}.project-featured .project-detail{padding:45px 40px;display:flex;flex-direction:column;justify-content:center;gap:0;border-left:1px solid var(--line)}.project-detail-header{margin-bottom:20px}.project-category{display:block;margin:0 0 14px;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.project-detail h3,.project-info h3{margin:0 0 8px;font-size:28px;font-weight:800;letter-spacing:-.05em;text-transform:uppercase}.project-subtitle{margin:0;color:var(--muted);font-size:12px;letter-spacing:.02em}.project-desc{max-width:400px;margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.65}.project-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px}.project-highlights span{padding:5px 10px;border:1px solid var(--line-strong);color:var(--paper);font-size:9px;letter-spacing:.04em;text-transform:uppercase;transition:border-color .3s ease,color .3s ease}.project-highlights span:hover{border-color:var(--red);color:var(--red)}.project-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line)}.stack-list{display:flex;flex-wrap:wrap;gap:7px}.stack-list span{color:var(--muted);font-size:9px;letter-spacing:.03em}.project-link{display:inline-flex;align-items:center;gap:8px;color:var(--paper);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .3s ease,gap .3s ease}.project-link span{color:var(--red);font-size:17px;transition:transform .3s ease}.project-link:hover{color:var(--red);gap:12px}.project-link:hover span{transform:translate(3px,-3px)}.project-grid-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:55px}.project-card{position:relative;border:1px solid var(--line);transition:border-color .4s ease}.project-card:hover{border-color:#ef202d73}.project-card .project-visual{border:0;aspect-ratio:1.45}.project-card .project-info{padding:24px 22px 28px;border-top:1px solid var(--line)}.project-info .project-category{margin-bottom:10px}.project-info h3{font-size:20px;margin-bottom:5px}.project-info .project-subtitle{margin-bottom:12px;font-size:11px}.project-info .project-desc{font-size:12px;line-height:1.6;margin-bottom:16px}.project-info .project-highlights{margin-bottom:20px}.project-info .project-highlights span{font-size:8px;padding:4px 8px}.project-info .project-detail-footer{padding-top:14px}.project-card .project-index,.project-featured .project-index{transition:color .35s ease}.project-card:hover .project-index,.project-featured:hover .project-index{color:var(--red)}.project-visual{position:relative;display:block;overflow:hidden;border:1px solid var(--line);background:#151515;transition:border-color .35s ease}.project-visual:after{position:absolute;inset:0;background:#ef202d0a;content:"";transition:background .35s ease}.project-visual:hover:after{background:#ef202d1f}.visual-noise{position:absolute;inset:0;opacity:.15;background-image:radial-gradient(#fff .5px,transparent .6px);background-size:8px 8px}.project-index{position:absolute;top:20px;left:22px;z-index:1;color:var(--paper);font-size:11px;letter-spacing:.14em;font-weight:700}.project-arrow{position:absolute;top:17px;right:21px;z-index:1;color:var(--paper);font-size:24px;transition:transform .35s ease,color .35s ease}.project-visual:hover .project-arrow{color:var(--red);transform:translate(5px,-5px)}.visual-content{position:absolute;inset:0;display:grid;place-items:center}.visual-rtb{background:radial-gradient(circle at 50% 55%,#74121a 0 2%,transparent 2.5%),radial-gradient(circle at 50% 55%,rgba(179,17,29,.4),transparent 30%),#0a0a0a}.rtb-grid{position:relative;width:60%;height:60%;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;place-items:center}.rtb-node{width:44px;height:44px;border:1px solid rgba(239,32,45,.6);border-radius:50%;position:relative}.rtb-node:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--red);border-radius:50%;box-shadow:0 0 14px var(--red)}.rtb-pulse{position:absolute;top:50%;left:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border:1px solid rgba(239,32,45,.25);border-radius:50%}.rtb-label{position:absolute;bottom:20px;left:22px;color:#f0eee9a6;font-size:9px;letter-spacing:.14em}.rtb-metric{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:transparent;font-size:clamp(80px,10vw,140px);font-weight:900;line-height:1;-webkit-text-stroke:1px rgba(239,32,45,.4);letter-spacing:-.06em}.visual-motolife{background:linear-gradient(145deg,#1a1a1a,#0a0a0a 60%)}.moto-title{color:var(--paper);font-size:clamp(38px,4.5vw,62px);font-weight:900;line-height:.85;letter-spacing:-.06em;text-transform:uppercase}.moto-title i{color:var(--red);font-style:normal;font-weight:400;font-family:Georgia,serif;text-transform:none;letter-spacing:-.03em}.moto-badge{position:absolute;bottom:20px;right:22px;border:1px solid var(--line-strong);padding:6px 10px;color:var(--muted);font-size:8px;letter-spacing:.14em}.visual-legacy{background:linear-gradient(110deg,#171717,#2a0f14)}.legacy-bars{display:flex;align-items:end;gap:5px;width:35%;height:45%;border-bottom:1px solid rgba(240,238,233,.3);position:absolute;left:15%;top:50%;transform:translateY(-50%)}.legacy-bars i{display:block;width:18%;background:#f0eee940}.legacy-bars i:nth-child(1){height:30%}.legacy-bars i:nth-child(2){height:50%}.legacy-bars i:nth-child(3){height:70%}.legacy-bars i:nth-child(4){height:45%}.legacy-bars i:nth-child(5){height:85%}.legacy-bars-new{left:auto;right:15%}.legacy-bars-new i{background:var(--red)}.legacy-bars-new i:nth-child(1){height:45%}.legacy-bars-new i:nth-child(2){height:65%}.legacy-bars-new i:nth-child(3){height:90%}.legacy-bars-new i:nth-child(4){height:72%}.legacy-bars-new i:nth-child(5){height:95%}.legacy-label{position:absolute;bottom:20px;left:22px;color:#f0eee9a6;font-size:9px;letter-spacing:.14em}.legacy-arrow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--red);font-size:22px;opacity:.7}.visual-bikelog{background:linear-gradient(140deg,#1e1e1e 10%,#060606 55%)}.bikelog-mark{color:transparent;font-size:clamp(70px,9vw,120px);font-weight:900;line-height:1;-webkit-text-stroke:1px rgba(240,238,233,.4);letter-spacing:-.04em}.bikelog-route{position:absolute;bottom:40%;left:50%;transform:translate(-50%);color:var(--red);font-size:12px;letter-spacing:.2em}.bikelog-data{position:absolute;bottom:20px;left:22px;color:#f0eee9a6;font-size:9px;letter-spacing:.14em}.projects-cta{display:flex;justify-content:center;padding-top:65px;border-top:1px solid var(--line);margin-top:65px}.beyond{border-top:1px solid var(--line)}.beyond-statement{padding:70px 0 60px;border-bottom:1px solid var(--line)}.beyond-headline{font-size:clamp(36px,5vw,68px);font-weight:800;letter-spacing:-.06em;line-height:.92;text-transform:uppercase}.beyond-headline span{color:var(--red)}.beyond-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:55px}.beyond-card{border:1px solid var(--line);transition:border-color .4s ease}.beyond-card:hover{border-color:#ef202d73}.beyond-visual{position:relative;display:block;aspect-ratio:1.5;overflow:hidden;background:#121212;transition:border-color .35s ease}.beyond-visual:after{position:absolute;inset:0;background:#ef202d08;content:"";transition:background .35s ease}.beyond-card:hover .beyond-visual:after{background:#ef202d1a}.beyond-tag{position:absolute;top:20px;left:22px;z-index:1;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.14em}.beyond-arrow{position:absolute;top:17px;right:21px;z-index:1;color:var(--paper);font-size:22px;transition:transform .35s ease,color .35s ease}.beyond-card:hover .beyond-arrow{color:var(--red);transform:translate(4px,-4px)}.beyond-info{padding:24px 22px 28px}.beyond-info h4{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:-.04em;text-transform:uppercase}.beyond-info p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.65;max-width:340px}.beyond-tags{display:flex;flex-wrap:wrap;gap:6px}.beyond-tags span{padding:5px 10px;border:1px solid var(--line-strong);color:var(--paper);font-size:9px;letter-spacing:.04em;text-transform:uppercase;transition:border-color .3s ease,color .3s ease}.beyond-tags span:hover{border-color:var(--red);color:var(--red)}.visual-ducati{background:radial-gradient(ellipse at 40% 60%,rgba(159,17,28,.25),transparent 55%),linear-gradient(160deg,#1a0a0c,#0a0a0a,#111)}.ducati-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.ducati-text{color:transparent;font-size:clamp(48px,6vw,80px);font-weight:900;line-height:1;letter-spacing:-.04em;-webkit-text-stroke:1px rgba(239,32,45,.6)}.ducati-line{width:60px;height:1px;background:var(--red);opacity:.6}.ducati-meta{color:var(--muted);font-size:9px;letter-spacing:.18em}.visual-vespa{background:linear-gradient(145deg,#151515,#0a0a0a 60%)}.vespa-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.vespa-text{color:transparent;font-size:clamp(100px,14vw,180px);font-weight:900;line-height:.8;-webkit-text-stroke:1px rgba(240,238,233,.2)}.vespa-circle{position:absolute;width:120px;height:120px;border:1px solid rgba(240,238,233,.12);border-radius:50%}.vespa-meta{position:absolute;bottom:20px;left:22px;color:#f0eee98c;font-size:9px;letter-spacing:.14em}.beyond-footer{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start;padding-top:55px;margin-top:55px;border-top:1px solid var(--line)}.beyond-desc{margin:0;color:var(--muted);font-size:14px;line-height:1.7;max-width:480px}.beyond-brand{display:flex;align-items:flex-start;gap:16px}.beyond-brand-mark{display:grid;width:36px;height:36px;place-items:center;flex-shrink:0;color:var(--ink);background:var(--paper);font-size:14px;font-weight:800;letter-spacing:0}.beyond-brand-name{margin:0 0 4px;color:var(--paper);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.beyond-brand-sub{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.split-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.about-copy{max-width:520px;padding-top:69px}.large-lead{color:var(--paper)!important;font-size:clamp(23px,2.6vw,37px)!important;line-height:1.05!important;letter-spacing:-.04em}.about-copy p:not(.large-lead){max-width:440px;margin-bottom:22px;color:var(--muted);font-size:13px;line-height:1.7}.about-copy .text-link{margin-top:21px}.skills{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.skill-groups{padding-top:19px}.skill-group{display:grid;grid-template-columns:155px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.skill-label{margin:0;color:var(--red)}.skill-tags{display:flex;flex-wrap:wrap;gap:7px}.skill-tags span{padding:8px 12px;border:1px solid var(--line-strong);color:var(--paper);font-size:11px;transition:border-color .25s ease,color .25s ease}.skill-tags span:hover{border-color:var(--red);color:var(--red)}.experience{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.timeline{padding-top:10px}.timeline-item{display:grid;grid-template-columns:130px 20px 1fr;gap:20px;min-height:174px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline-year{padding-top:7px;color:var(--muted)}.timeline-marker{position:relative;display:flex;justify-content:center}.timeline-marker:before{width:9px;height:9px;margin-top:7px;border:1px solid var(--red);border-radius:50%;background:var(--ink);content:""}.timeline-marker:after{position:absolute;top:24px;bottom:-30px;width:1px;background:var(--line-strong);content:""}.timeline-item:last-child .timeline-marker:after{display:none}.timeline-content .project-type{margin-bottom:6px}.timeline-content h3{margin-bottom:11px;font-size:21px;letter-spacing:-.03em}.timeline-content>p:not(.project-type){max-width:400px;margin-bottom:15px;color:var(--muted);font-size:12px}.timeline-tags{color:var(--red);font-size:10px;letter-spacing:.05em}.process{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.process-list{padding-top:7px}.process-step{position:relative;display:grid;grid-template-columns:63px 1fr 30px;gap:20px;align-items:start;padding:20px 0 24px;border-bottom:1px solid var(--line)}.process-number{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:10px}.process-step:not(:last-child) .process-number:after{position:absolute;top:61px;left:20px;height:38px;border-left:1px dashed var(--line-strong);content:""}.process-step h3{margin:2px 0 6px;font-size:16px}.process-step p{max-width:400px;margin:0;color:var(--muted);font-size:12px}.process-arrow{color:var(--red);font-size:20px}.quote-section{position:relative;display:flex;min-height:490px;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--red);color:var(--ink);text-align:center}.quote-section:before{position:absolute;width:580px;height:580px;border:1px solid rgba(8,8,8,.17);border-radius:50%;content:""}.quote-mark{position:absolute;top:50px;left:7%;font-family:Georgia,serif;font-size:130px;line-height:1;opacity:.35}.quote-section blockquote{position:relative;z-index:1;margin:0;font-size:clamp(38px,5vw,76px);font-weight:800;letter-spacing:-.07em;line-height:.94;text-transform:uppercase}.quote-section blockquote em{font-family:Georgia,serif;font-weight:400;text-transform:none}.quote-line{width:52px;height:1px;margin:35px 0 15px;background:var(--ink)}.quote-section p{position:relative;z-index:1;margin:0;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;padding-top:170px;padding-bottom:160px;border-bottom:1px solid var(--line)}.contact-copy>p:not(.eyebrow){max-width:345px;margin:30px 0 38px;color:var(--muted);font-size:13px;line-height:1.65}.outline-button{display:inline-flex;align-items:center;gap:36px;padding:18px 23px;border:1px solid var(--paper);color:var(--paper);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .25s ease,color .25s ease}.outline-button span{color:var(--red);font-size:20px}.outline-button:hover{background:var(--paper);color:var(--ink)}.contact-details{align-self:end}.contact-details a,.contact-details p{display:grid;grid-template-columns:35px 1fr 30px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);color:var(--paper);font-size:13px}.contact-details span{color:var(--red);font-size:10px;letter-spacing:.1em}.contact-details b{color:var(--red);font-size:17px;font-weight:400}.contact-details .available-text{color:var(--paper);font-size:10px;letter-spacing:.04em}.contact-details .available-text:first-letter{color:var(--red)}.site-footer{display:flex;align-items:center;justify-content:space-between;min-height:100px}.site-footer p,.back-top{margin:0;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.back-top:hover{color:var(--red)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.32s}.social{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.social-grid{display:grid;grid-template-columns:1fr;gap:0;padding-top:7px}.social-item{position:relative;display:grid;grid-template-columns:52px 1fr 30px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);color:var(--paper);text-decoration:none;transition:background .3s ease}.social-item:first-child{border-top:1px solid var(--line)}.social-item:hover{padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px;background:#ef202d0a}.social-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line-strong);color:var(--muted);transition:border-color .3s ease,color .3s ease}.social-icon svg{width:20px;height:20px}.social-item:hover .social-icon{border-color:var(--red);color:var(--red)}.social-info h3{margin:0 0 2px;font-size:14px;font-weight:700;letter-spacing:-.02em;text-transform:uppercase}.social-info p{margin:0;color:var(--muted);font-size:12px;letter-spacing:.02em}.social-arrow{color:var(--muted);font-size:18px;justify-self:end;transition:transform .3s ease,color .3s ease}.social-item:hover .social-arrow{color:var(--red);transform:translate(4px)}@media (max-width: 900px){.section-frame,.site-header{width:min(100% - 40px,700px)}.site-header{height:70px}.site-nav{gap:17px;margin-right:25px}.header-availability{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:100px}.hero-copy{padding:0}.hero-profile{width:min(70%,460px);margin:72px 6% 0 auto}.hero-meta{position:static;gap:30px;margin-top:45px}.scroll-cue{right:0;bottom:25px}.section-pad{padding-top:105px;padding-bottom:105px}.section-heading{grid-template-columns:1fr 1.2fr;gap:25px}.heading-aside{display:none}.split-section,.skills,.experience,.process,.contact,.social{grid-template-columns:1fr;gap:55px}.about-copy,.skill-groups,.timeline,.process-list{padding-top:0}.contact{padding-top:110px;padding-bottom:110px}.project-featured{grid-template-columns:1fr}.project-featured .project-visual{min-height:360px}.project-featured .project-detail{border-left:0;border-top:1px solid var(--line);padding:35px 30px}.project-grid-secondary{grid-template-columns:1fr 1fr;gap:20px}.beyond-statement{padding:50px 0 45px}.beyond-footer{grid-template-columns:1fr;gap:35px}}@media (max-width: 620px){.section-frame,.site-header{width:calc(100% - 36px)}.site-header{height:64px}.brand-mark{font-size:11px}.menu-toggle{display:flex;width:27px;flex-direction:column;gap:6px;padding:5px 0;cursor:pointer}.menu-toggle span{display:block;width:27px;height:1px;background:var(--paper)}.site-nav{position:absolute;top:64px;right:0;left:0;display:none;flex-direction:column;gap:0;margin:0;padding:12px 0;border-bottom:1px solid var(--line);background:var(--ink)}.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;font-size:11px}.hero{padding-top:83px}.hero-watermark{top:35px;font-size:31vw}.hero-copy{padding-top:0}.eyebrow{margin-bottom:24px;font-size:9px}h1{margin-bottom:30px;font-size:clamp(51px,16vw,82px)}.hero-intro{max-width:315px;font-size:13px}.hero-profile{width:88%;margin-top:65px;margin-right:0}.profile-note{right:-4px;bottom:-48px;font-size:9px}.hero-meta{flex-wrap:wrap;gap:20px 27px;margin-top:75px}.hero-meta strong{font-size:22px}.hero-meta span{font-size:8px}.scroll-cue{position:static;margin-top:48px}.hero:after{bottom:31px}.section-pad{padding-top:85px;padding-bottom:85px}.section-heading{display:block;padding-bottom:28px}.section-heading .eyebrow{margin-bottom:28px}h2{font-size:clamp(48px,15vw,75px)}.project-showcase{padding-top:32px}.project-featured{grid-template-columns:1fr}.project-featured .project-visual{min-height:280px;aspect-ratio:1.25}.project-featured .project-detail{border-left:0;border-top:1px solid var(--line);padding:28px 20px}.project-detail h3{font-size:22px}.project-grid-secondary{grid-template-columns:1fr;gap:30px;margin-top:30px}.project-card .project-visual{aspect-ratio:1.25}.project-info h3{font-size:18px}.project-info .project-detail-footer{flex-direction:column;align-items:flex-start;gap:14px}.project-info .project-detail-footer .project-link{align-self:flex-end}.projects-cta{margin-top:45px;padding-top:45px}.beyond-statement{padding:40px 0 35px}.beyond-headline{font-size:clamp(30px,10vw,48px)}.beyond-grid{grid-template-columns:1fr;gap:24px;padding-top:35px}.beyond-visual{aspect-ratio:1.3}.beyond-footer{grid-template-columns:1fr;gap:28px;padding-top:35px;margin-top:35px}.beyond-desc{font-size:13px}.large-lead{font-size:27px!important}.skill-group{display:block}.skill-label{margin-bottom:17px}.timeline-item{grid-template-columns:1fr 19px;gap:15px}.timeline-year{grid-column:1 / -1;padding:0}.timeline-marker{grid-column:2;grid-row:2}.timeline-content{grid-column:1;grid-row:2}.timeline-marker:after{bottom:-30px}.process-step{grid-template-columns:48px 1fr 20px;gap:14px}.quote-section{min-height:410px}.quote-section blockquote{font-size:clamp(34px,10vw,56px)}.quote-mark{top:29px;left:5%;font-size:100px}.contact-copy>p:not(.eyebrow){margin-top:25px}.site-footer{flex-wrap:wrap;gap:20px;padding:27px 0}.site-footer p:first-of-type{order:3;width:100%}.site-footer p:last-of-type{font-size:8px}.back-top{font-size:8px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.text-link,.project-arrow,.outline-button{transition:none}}
