@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.06cvo47x4w1en.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.0pz0x0eczp58u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_939a1a68-module__LwpU0q__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_939a1a68-module__LwpU0q__variable{--font-body:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(../media/efadc3f7fcf6ac94-s.0ronfshk6c11u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(../media/8e410338cab7e12e-s.0pzfatk.cc28~.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(../media/7e93c0a52799e849-s.02iuq1j5cuj0..woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(../media/037b6aa687f94b32-s.04mfs5x1exovh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(../media/9a800f173b8d9e8f-s.p.129r4siq6of2c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald Fallback;src:local(Arial);ascent-override:146.51%;descent-override:35.49%;line-gap-override:0.0%;size-adjust:81.43%}.oswald_30218696-module__c5oaGG__className{font-family:Oswald,Oswald Fallback;font-style:normal}.oswald_30218696-module__c5oaGG__variable{--font-display:"Oswald", "Oswald Fallback"}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 8% 12%, var(--hero-glow-primary), transparent 38%), radial-gradient(ellipse at 78% 8%, var(--hero-glow-secondary), transparent 34%), linear-gradient(180deg, var(--white-warm) 0%, var(--bg) 28%, var(--white-accent) 100%);min-width:320px;min-height:100vh;color:var(--charcoal);font-family:var(--font-family-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}body:after{content:"";pointer-events:none;z-index:9999;opacity:.15;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.page-shell{position:relative;overflow-x:clip}.split-layout{grid-template-columns:42fr 58fr;align-items:start;min-height:100dvh;display:grid}.split-left{justify-content:center;align-items:center;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.split-left:before{content:"";pointer-events:none;background:radial-gradient(at 30% 100%,#c45c2e24,#0000 65%);width:100%;height:60%;position:absolute;bottom:0;left:0}.split-intro{align-items:center;min-height:100dvh;padding-inline:clamp(2rem,5vw,5rem);display:flex}.split-intro .hero-summary{max-width:32rem}.split-intro-type{flex-direction:column;justify-content:center;min-height:100dvh;padding-block:7rem 4rem;padding-inline:clamp(2rem,5vw,5rem);display:flex}.split-intro-words{flex-direction:column;display:flex}.split-intro-word{font-family:var(--font-family-display);font-size:clamp(3.5rem,8vw,9rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;text-transform:uppercase;line-height:.9;animation:.85s cubic-bezier(.22,1,.36,1) both intro-word-rise;display:block}.split-intro-word-1{color:var(--subtle);animation-delay:80ms}.split-intro-word-2{color:var(--charcoal);animation-delay:.2s}.split-intro-word-3{color:var(--accent);animation-delay:.32s}@keyframes intro-word-rise{0%{opacity:0;transform:translateY(.28em)}to{opacity:1;transform:translateY(0)}}.split-intro-rule{background:var(--accent);width:2.5rem;height:1px;margin-block:2.5rem 2rem;animation:.85s cubic-bezier(.22,1,.36,1) .46s both intro-word-rise}.split-intro-body{max-width:28rem;font-size:var(--font-size-body-large);line-height:var(--line-height-body-relaxed);color:var(--charcoal-mid);margin:0;animation:.85s cubic-bezier(.22,1,.36,1) .54s both intro-word-rise}.shell{width:min(calc(100% - 5rem), var(--shell));margin:0 auto}.section-shell{padding:6rem 0;scroll-margin-top:6.5rem}.section-surface{position:relative}.section-surface:before{content:"";background:linear-gradient(180deg, var(--white-pure), #f0e8dcd6);z-index:-1;border:1px solid #9b6a3e1f;border-radius:2rem;position:absolute;inset:1.5rem 1rem}.section-projects{padding-top:5rem}.section-connect{padding-bottom:8rem}.site-footer{padding-top:0;padding-bottom:2.2rem}.section-kicker,.eyebrow-label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}.section-kicker{align-items:center;gap:.75rem;display:inline-flex}.section-kicker:before{content:"";background:var(--accent);width:1.8rem;height:1px}.section-heading{max-width:42rem;margin-bottom:2.75rem}.section-heading-narrow{max-width:32rem}.section-title{font-family:var(--font-family-display);font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);line-height:var(--line-height-heading);text-transform:uppercase;letter-spacing:var(--tracking-section);margin:.9rem 0 0}.section-lead,.body-stack p,.project-copy,.info-card p,.connect-card p{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--charcoal-mid)}.body-stack{gap:.9rem;padding:1.35rem 0;display:grid}.body-stack p{margin:0}.body-stack-tight{gap:.65rem}.reveal{opacity:0;transition:opacity var(--motion-reveal-duration) var(--motion-reveal-ease), transform var(--motion-reveal-duration) var(--motion-reveal-ease);transform:translateY(24px)}.reveal[data-revealed]{opacity:1;transform:translateY(0)}.site-header{z-index:20;pointer-events:none;padding-top:1rem;position:fixed;inset:0 0 auto}.header-row{pointer-events:none;justify-content:flex-end;align-items:flex-start;gap:1rem;width:100%;padding-inline:1.75rem;display:flex}.menu-toggle-icon{width:1rem;height:1rem;transition:transform var(--motion-fast);display:inline-block;position:relative}.menu-toggle-icon span{width:1rem;height:2px;transition:transform var(--motion-fast), opacity var(--motion-fast), top var(--motion-fast);background:currentColor;border-radius:999px;display:block;position:absolute;left:0}.menu-toggle-icon span:first-child{top:.15rem}.menu-toggle-icon span:nth-child(2){top:.46rem}.menu-toggle-icon span:nth-child(3){top:.77rem}.menu-toggle-icon.is-open span:first-child{top:.46rem;transform:rotate(45deg)}.menu-toggle-icon.is-open span:nth-child(2){opacity:0}.menu-toggle-icon.is-open span:nth-child(3){top:.46rem;transform:rotate(-45deg)}.header-shell{pointer-events:auto;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:fit-content;max-width:min(100%,54rem);box-shadow:var(--shadow-floating);transition:gap var(--motion-fast), padding var(--motion-fast), border-color var(--motion-fast);background:#faf7f2d1;border:1px solid #9b6a3e26;justify-content:flex-end;align-items:center;gap:.55rem;margin-top:.75rem;padding:.45rem;display:flex}.header-shell.is-open{gap:.35rem;padding-left:.7rem}.menu-toggle{pointer-events:auto;background:var(--charcoal);width:2.9rem;height:2.9rem;color:var(--bg);cursor:pointer;transition:transform var(--motion-fast), opacity var(--motion-fast);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.menu-toggle:hover,.menu-toggle:focus-visible{transform:translateY(-1px)}.header-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem;display:flex;overflow:hidden}.header-link{border-radius:var(--radius-pill);color:var(--muted);font-size:var(--font-size-nav);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-nav);padding:.7rem 1rem;transition:background-color .16s,color .16s,transform .16s}.header-link:hover,.header-link:focus-visible{background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.social-dock{z-index:15}.social-dock-desktop{gap:.7rem;display:grid;position:fixed;top:50%;right:1.5rem;transform:translateY(-50%)}.social-dock-mobile{display:none}.social-chip{border-radius:var(--radius-pill);min-width:6.2rem;box-shadow:var(--shadow-soft);color:var(--charcoal-mid);letter-spacing:.12em;text-transform:uppercase;background:#ffffffc7;border:1px solid #9b6a3e29;justify-content:center;align-items:center;padding:.85rem 1rem;font-size:.7rem;font-weight:700;transition:transform .18s,color .18s,border-color .18s;display:inline-flex}.social-chip:hover,.social-chip:focus-visible{color:var(--accent);border-color:#c45c2e47;transform:translateY(-2px)}.hero-section{width:100%}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.82fr);align-items:center;gap:clamp(1.5rem,3vw,3rem);width:100%;display:grid}.hero-shell{width:min(calc(100% - 9rem), var(--hero-shell))}.hero-copy{align-self:center;gap:clamp(1.5rem,3.2dvh,2.5rem);width:100%;max-width:38rem;padding-inline:clamp(2rem,4vw,4rem);display:grid}.hero-heading-wrap{gap:.45rem;display:grid}.hero-title{font-family:var(--font-family-display);font-size:var(--font-size-hero-title);line-height:var(--line-height-tight);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--charcoal);margin:0}.hero-title-main,.hero-title-accent{display:block}.hero-title-accent{color:var(--accent)}.hero-subtitle{font-family:var(--font-family-display);letter-spacing:.03em;text-transform:uppercase;color:var(--cognac);margin:0;font-size:clamp(1.65rem,2.2vw,2.35rem);line-height:.95}.hero-summary{max-width:34rem;font-size:var(--font-size-body-large);line-height:var(--line-height-body-relaxed);color:var(--charcoal-mid);margin:0}.hero-actions,.project-actions,.tag-row{flex-wrap:wrap;gap:.8rem;display:flex}.hero-actions{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.25rem;display:flex}.hero-socials{align-items:center;gap:.5rem;display:flex}.button{min-width:var(--button-md-min-width);padding:var(--button-md-padding);border-radius:var(--radius-pill);font-size:var(--button-md-font-size);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-button);text-transform:uppercase;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.8rem;transition:transform .18s,opacity .18s,border-color .18s,background-color .18s;display:inline-flex}.button-sm{min-width:var(--button-sm-min-width);padding:var(--button-sm-padding);font-size:var(--button-sm-font-size)}.button-md{min-width:var(--button-md-min-width);padding:var(--button-md-padding);font-size:var(--button-md-font-size)}.button-lg{min-width:var(--button-lg-min-width);padding:var(--button-lg-padding);font-size:var(--button-lg-font-size)}.button-label{white-space:nowrap}.button-orb{width:var(--button-md-orb);height:var(--button-md-orb);transition:transform var(--motion-fast), background-color var(--motion-fast), color var(--motion-fast);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.button-orb svg{width:var(--button-md-svg);height:var(--button-md-svg);stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none}.button-sm .button-orb{width:var(--button-sm-orb);height:var(--button-sm-orb)}.button-sm .button-orb svg{width:var(--button-sm-svg);height:var(--button-sm-svg)}.button-lg .button-orb{width:var(--button-lg-orb);height:var(--button-lg-orb)}.button-lg .button-orb svg{width:var(--button-lg-svg);height:var(--button-lg-svg)}.button-conic-wrapper{border-radius:var(--radius-pill);background:conic-gradient(from var(--angle,135deg), #c25d2e, #996a3d, #c25d2e);padding:1px;display:inline-block;position:relative}.button-conic-wrapper:before{content:"";border-radius:var(--radius-pill);filter:blur(12px);opacity:0;transition:opacity var(--motion-fast);z-index:-1;background:linear-gradient(135deg,#c25d2e,#996a3d);position:absolute;inset:-6px}.button-conic-wrapper:hover:before,.button-conic-wrapper:focus-within:before{opacity:1}.button-charcoal{background:var(--bg);color:var(--charcoal);transition:letter-spacing var(--motion-fast), transform .18s ease, opacity .18s ease;border-color:#0000}.button-conic-wrapper:hover .button-charcoal,.button-conic-wrapper:focus-within .button-charcoal{letter-spacing:.1em}.button-charcoal .button-orb{color:var(--charcoal);background:#fcfaf6f5}.button-accent{color:#fffaf6;background:linear-gradient(135deg,#c25d2e,#996a3d);position:relative;overflow:hidden}.button-accent:active{transform:translateY(-1px)}.button-accent:hover,.button-accent:focus-visible{box-shadow:0 0 28px 8px #c25d2e66}.button-accent:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:33%;height:100%;position:absolute;top:0;left:0}.button-accent:hover:after,.button-accent:focus-visible:after{opacity:1;animation:.6s ease-out forwards shimmer-sweep}.button-accent .button-orb{color:#fff7f1;background:#e8a88885}.button:hover .button-orb,.button:focus-visible .button-orb{transform:translate(2px)}.button-outline{background:linear-gradient(135deg,#c25d2e,#996a3d);color:#0000;-webkit-text-fill-color:transparent;letter-spacing:.04em;transition:letter-spacing var(--motion-fast), transform .18s ease, opacity .18s ease;-webkit-background-clip:text;background-clip:text;border:none;position:relative}.button-outline:after{content:"";transform-origin:0;height:1px;transition:transform var(--motion-fast);background:linear-gradient(135deg,#c25d2e,#996a3d);position:absolute;bottom:.5rem;left:1.5rem;right:1.5rem;transform:scaleX(0)}.button-outline:hover,.button-outline:focus-visible{letter-spacing:.12em}.button-outline:hover:after,.button-outline:focus-visible:after{transform:scaleX(1)}.tag{justify-content:center;align-items:center;font-size:.82rem;display:inline-flex}.hero-social-wrapper{background:linear-gradient(135deg,#c25d2e,#996a3d);border-radius:50%;padding:1px;display:inline-flex;position:relative}.hero-social-wrapper:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#c25d2e,#996a3d);border-radius:50%;position:absolute;inset:0}.hero-social-wrapper:hover:before,.hero-social-wrapper:focus-visible:before{animation:.6s ease-out forwards ring-expand}.hero-social-button{background:var(--bg);width:3.35rem;height:3.35rem;color:var(--muted);transition:background-color var(--motion-fast), color var(--motion-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.hero-social-wrapper:hover .hero-social-button,.hero-social-wrapper:focus-visible .hero-social-button{color:#fff;background:0 0}.hero-social-button svg{fill:currentColor;flex-shrink:0;width:1.15rem;height:1.15rem}@keyframes shimmer-sweep{0%{transform:translate(-100%)skew(-15deg)}to{transform:translate(200%)skew(-15deg)}}@keyframes ring-expand{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.hero-visual{place-self:center end;position:relative}.hero-portrait-frame{aspect-ratio:1;background:linear-gradient(145deg, var(--white-overlay), #f0e8dca6);width:min(100%,29rem,100dvh - 12rem);box-shadow:var(--shadow-hero);border-radius:50%;padding:clamp(.7rem,1.3dvh,1rem);position:relative}.hero-portrait-crop{border-radius:50%;width:100%;height:100%;overflow:hidden}.hero-portrait{object-fit:cover;border-radius:50%;width:100%;height:100%}.hero-portrait-note{background:var(--white-overlay);max-width:min(60%,13rem);box-shadow:var(--shadow-card);font-family:var(--font-family-display);font-size:clamp(.78rem,1vw,.95rem);line-height:var(--line-height-label);text-transform:uppercase;letter-spacing:var(--tracking-display-wide);z-index:1;border:1px solid #9b6a3e2e;border-radius:1.15rem;padding:.9rem 1rem;position:absolute;bottom:clamp(1rem,3dvh,1.8rem);left:clamp(.95rem,2vw,1.25rem)}.about-section-grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.1fr) minmax(280px,.85fr);gap:2rem;display:grid}.about-section-head{grid-area:1/1}.about-copy-card{grid-area:2/1;align-self:start}.about-info-stack{grid-area:2/2;align-self:start;min-height:0;overflow-y:auto}.section-copy{max-width:38rem}.section-copy .section-title{margin-bottom:1.25rem}.about-copy-card .body-stack{padding:0}.info-card-stack{gap:1rem;display:grid}.info-card,.experience-card,.project-card,.connect-card{background:var(--white-soft);box-shadow:var(--shadow-soft);border:1px solid #9b6a3e24}.info-card-link,.connect-card{display:block}.info-card{border-radius:1.4rem;padding:1.35rem 1.4rem}.info-card h3,.project-content h3,.connect-card h3{font-family:var(--font-family-display);font-size:var(--font-size-card-title);line-height:var(--line-height-compact);text-transform:uppercase;margin:.35rem 0 0}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.skills-grid .skill-card:nth-child(4){grid-column:1/-1}.skill-card{background:linear-gradient(160deg,#f5eee5a6,#f2eae0e6);border:1px solid #9b6a3e1a;border-radius:1.5rem;padding:1.5rem;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;position:relative;box-shadow:0 2px 12px #52392212,inset 0 1px #ffffffb8}.skill-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #5239221f,inset 0 1px #ffffffb8}.skill-card-header{border-bottom:1px solid #9b6a3e1a;justify-content:space-between;align-items:baseline;margin-bottom:1.1rem;padding-bottom:.9rem;display:flex}.skill-card-num{font-family:var(--font-family-display);font-size:.65rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;color:var(--accent);opacity:.7}.skill-card-summary{min-height:4.5rem;color:var(--charcoal-mid);margin:.45rem 0 1.2rem}.tag{border:1px solid #0000}.skill-tag-row{gap:.55rem}.skill-tag{color:var(--charcoal-mid);letter-spacing:.08em;text-transform:uppercase;background:#fcfaf685;border-color:#9b6a3e1f;border-radius:999px;padding:.48rem .72rem;font-size:.7rem}.tag-neutral{background:var(--surface);color:var(--charcoal-mid);border-color:#9b6a3e1f}.tag-accent{background:var(--accent-soft);color:var(--accent);border-color:#c45c2e2e}.tag-outlined{color:var(--charcoal);background:0 0;border-color:#9b6a3e2e}.experience-timeline{gap:clamp(3rem,7vw,5.5rem);padding-block:.75rem;display:grid;position:relative}.experience-timeline:before{content:"";background:#b49b8057;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.experience-item{grid-template-columns:minmax(0,1fr) 7rem minmax(0,1fr);align-items:center;column-gap:clamp(1rem,2vw,2rem);display:grid;position:relative}.experience-item-left .experience-panel{grid-column:1;justify-self:end}.experience-item-right .experience-panel{grid-column:3;justify-self:start}.experience-track{z-index:1;grid-column:2;justify-content:center;align-items:center;display:flex;position:relative}.experience-track:before{content:"";background:#b49b807a;width:clamp(2rem,3.8vw,3rem);height:1px}.experience-item-left .experience-track:before{margin-right:auto}.experience-item-right .experience-track:before{margin-left:auto}.experience-node{aspect-ratio:1;border:2px solid var(--accent);width:clamp(4rem,6vw,4.7rem);font-family:var(--font-family-display);letter-spacing:-.02em;color:var(--accent);background:#fcfaf6fa;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1;display:inline-flex;box-shadow:0 0 0 .35rem #faf7f2eb}.experience-panel{z-index:1;width:min(100%,34rem);box-shadow:none;background:linear-gradient(#f5eee5cc,#f2eae0eb);border:1px solid #9b6a3e14;border-radius:clamp(2rem,3vw,2.6rem);padding:clamp(1.6rem,2.7vw,2.25rem);position:relative}.experience-panel:after{content:"";pointer-events:none;border-top:1.5px solid #9b6a3ed1;border-bottom:1.5px solid #9b6a3ed1;width:2.45rem;position:absolute;top:0;bottom:0}.experience-item-left .experience-panel:after{border-top-left-radius:inherit;border-bottom-left-radius:inherit;border-left:1.5px solid #9b6a3ed1;left:0}.experience-item-right .experience-panel:after{border-top-right-radius:inherit;border-bottom-right-radius:inherit;border-right:1.5px solid #9b6a3ed1;right:0}.experience-spacer{min-height:1px}.experience-item-left .experience-spacer{grid-column:3}.experience-item-right .experience-spacer{grid-column:1}.experience-period{color:var(--muted);letter-spacing:-.02em;margin:0;font-size:clamp(1rem,1.35vw,1.2rem)}.experience-header{margin:1.15rem 0 1rem}.experience-header h3{font-family:var(--font-family-display);font-size:var(--font-size-experience-title);line-height:var(--line-height-heading);text-transform:uppercase;margin:0}.experience-company{color:var(--accent);margin:.45rem 0 0;font-size:clamp(1.2rem,1.6vw,1.5rem)}.experience-summary{max-width:26rem;color:var(--charcoal-mid);margin:0;font-size:clamp(1.02rem,1.4vw,1.12rem);line-height:1.75}.experience-tags{gap:.55rem;margin-top:1.3rem}.experience-tags .tag{color:var(--charcoal-mid);letter-spacing:.08em;text-transform:uppercase;background:#fcfaf675;border-color:#9b6a3e1f;padding:.48rem .7rem;font-size:.7rem}.experience-tab-layout{grid-template-columns:15rem 1fr;align-items:start;gap:2.5rem;display:grid}.experience-tab-nav{flex-direction:column;display:flex;position:sticky;top:7rem}.experience-tab-btn{text-align:left;cursor:pointer;width:100%;transition:background var(--motion-medium);background:0 0;border:none;border-left:2px solid #9b6a3e26;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.2rem;display:flex;position:relative}.experience-tab-btn:hover{background:#f5eee580}.experience-tab-btn-active{background:#f5eee58c}.experience-tab-btn-active:after{content:"";background:var(--accent);transform-origin:top;width:2px;height:100%;animation:.22s cubic-bezier(.22,1,.36,1) both tab-line-draw;position:absolute;top:0;left:-2px}.experience-tab-btn-up:after{transform-origin:bottom}@keyframes tab-line-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.experience-tab-period{font-size:.67rem;font-weight:var(--font-weight-semibold);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);transition:color var(--motion-medium)}.experience-tab-btn-active .experience-tab-period{color:var(--accent)}.experience-tab-title{font-family:var(--font-family-display);font-size:.98rem;font-weight:var(--font-weight-medium);letter-spacing:-.01em;text-transform:uppercase;color:var(--charcoal);line-height:1.1}.experience-tab-company{color:var(--muted);font-size:.78rem}.experience-tab-panel{background:var(--surface-card);box-shadow:var(--shadow-card);border:1px solid #9b6a3e24;border-radius:clamp(1.5rem,2vw,2rem);padding:clamp(1.6rem,2.5vw,2.2rem)}@keyframes tab-content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.experience-tab-panel .experience-period,.experience-tab-panel .experience-header,.experience-tab-panel .experience-bullets,.experience-tab-panel .experience-tags{animation:.3s cubic-bezier(.22,1,.36,1) both tab-content-enter}.experience-tab-panel .experience-period{animation-delay:0s}.experience-tab-panel .experience-header{animation-delay:40ms}.experience-tab-panel .experience-bullets{animation-delay:80ms}.experience-tab-panel .experience-tags{animation-delay:.115s}.experience-bullets{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.experience-bullets li{color:var(--charcoal-mid);padding-left:1.1rem;font-size:clamp(.9rem,1.2vw,1rem);line-height:1.72;position:relative}.experience-bullets li:before{content:"–";color:var(--accent);opacity:.55;position:absolute;left:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{border-radius:1.8rem;flex-direction:column;display:flex;overflow:hidden}.project-media{aspect-ratio:16/11;background:linear-gradient(135deg,#2c2c2af5,#533a25d1);position:relative}.project-image{object-fit:cover;width:100%;height:100%}.project-placeholder{color:#fff8f0;background:radial-gradient(circle at 0 0,#c45c2e47,#0000 36%),linear-gradient(135deg,#2f2d29 0%,#6b4a31 100%);align-content:end;height:100%;padding:1.5rem;display:grid}.project-placeholder p{font-family:var(--font-family-display);font-size:var(--font-size-project-display);text-transform:uppercase;margin:0;line-height:.9}.project-placeholder span{text-transform:uppercase;letter-spacing:.1em;margin-top:.7rem;font-size:.78rem}.project-badge{border-radius:var(--radius-pill);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;background:#faf7f2e0;padding:.55rem .8rem;font-size:.68rem;font-weight:700;position:absolute;top:1rem;right:1rem}.project-content{flex-direction:column;flex:1;padding:1.45rem;display:flex}.project-actions{margin-top:auto}.project-actions .button{justify-content:center}.project-copy{margin:.65rem 0 1rem}.project-tag-row{gap:.55rem;margin-bottom:1.15rem}.project-tag{color:var(--charcoal-mid);letter-spacing:.08em;text-transform:uppercase;background:#fcfaf67a;border-color:#9b6a3e1f;border-radius:999px;padding:.48rem .72rem;font-size:.7rem}.connect-shell{gap:2rem;display:grid}.connect-copy{max-width:38rem}.connect-layout{grid-template-columns:1fr;gap:1.3rem;display:grid}.connect-card-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.connect-card{border-radius:1.45rem;padding:1.45rem;transition:transform .18s,box-shadow .18s,border-color .18s;background:linear-gradient(160deg, var(--white-warm), var(--surface))!important;box-shadow:var(--shadow-soft)!important}.connect-card:hover,.connect-card:focus-visible{border-color:#c45c2e3d;transform:translateY(-3px);box-shadow:0 12px 32px #5239221f!important}.connect-action{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-top:1rem;font-size:.75rem;font-weight:700;display:inline-flex}.contact-form-panel{box-shadow:var(--shadow-soft);background:radial-gradient(circle at 100% 0,#c45c2e1a,#0000 30%),linear-gradient(#fffcf7fa,#f3ebe0eb);border:1px solid #9b6a3e24;border-radius:1.8rem;gap:1.5rem;padding:clamp(1.5rem,2.5vw,2rem);display:grid}.contact-form-copy{max-width:30rem}.contact-form-copy h3{font-family:var(--font-family-display);text-transform:uppercase;letter-spacing:var(--tracking-section);margin:.35rem 0 0;font-size:clamp(2rem,3vw,2.6rem);line-height:.94}.contact-form-copy p:last-child{color:var(--charcoal-mid);margin:.8rem 0 0;line-height:1.7}.contact-form{gap:1rem;display:grid}.contact-field{gap:.45rem;display:grid}.contact-field span{font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.contact-field input,.contact-field textarea{width:100%;color:var(--charcoal);transition:border-color var(--motion-fast), background-color var(--motion-fast), box-shadow var(--motion-fast);background:#fcfaf6e0;border:1px solid #9b6a3e29;border-radius:1.15rem;padding:.95rem 1rem}.contact-field textarea{resize:vertical;min-height:9rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted)}.contact-field input:focus,.contact-field textarea:focus{background:#fffdf9fa;border-color:#c45c2e4d;outline:none;box-shadow:0 0 0 .2rem #c45c2e14}.contact-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.25rem;display:flex}.contact-form-footer p{max-width:24rem;color:var(--charcoal-mid);margin:0;line-height:1.6}.contact-inline-link{color:var(--accent);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.footer-shell{border-top:1px solid #9b6a3e24;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;padding-top:1.35rem;display:grid}.footer-copy,.footer-meta{gap:.45rem;display:grid}.footer-meta{justify-items:end}.footer-signoff,.footer-note,.footer-copyright{margin:0}.footer-signoff{font-family:var(--font-family-display);letter-spacing:.04em;text-transform:uppercase;color:var(--charcoal);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1}.footer-note,.footer-copyright{color:var(--muted);font-size:.88rem;line-height:1.55}.footer-archive{grid-column:1/-1;gap:.25rem;padding-top:.3rem;display:grid}.footer-archive-link{width:fit-content;font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);transition:color var(--motion-fast), transform var(--motion-fast)}.footer-archive-link:hover,.footer-archive-link:focus-visible{color:var(--charcoal);transform:translateY(-1px)}.footer-archive-note{max-width:30rem;color:var(--muted);margin:0;font-size:.82rem;line-height:1.55}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:.9rem;display:flex}.footer-link{font-size:.74rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal-mid);transition:color var(--motion-fast), transform var(--motion-fast)}.footer-link:hover,.footer-link:focus-visible{color:var(--charcoal);transform:translateY(-1px)}.footer-link-accent{color:var(--accent)}@media (max-width:1120px){.social-dock-desktop{display:none}.social-dock-mobile{inset-inline:1rem;flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex;position:fixed;bottom:1rem}.shell{width:min(calc(100% - 3.5rem), var(--shell))}.hero-shell{width:min(calc(100% - 5.5rem), var(--hero-shell))}}@media (max-width:960px){.split-layout{grid-template-columns:1fr;min-height:auto}.split-left{height:auto;padding-top:5.25rem;padding-bottom:3rem;display:block;position:static}.split-intro{min-height:auto;padding-block:3rem}.split-intro-type{min-height:auto;padding-block:5rem 3.5rem}.split-intro-word{font-size:clamp(3rem,14vw,6rem)}.hero-grid,.project-grid,.skills-grid,.connect-layout,.footer-shell{grid-template-columns:1fr}.about-section-grid{grid-template-rows:auto;grid-template-columns:1fr}.about-section-head,.about-copy-card,.about-info-stack{grid-area:auto/1}.about-info-stack{overflow-y:visible}.hero-copy{max-width:100%;padding-top:0}.hero-visual{order:-1;justify-self:stretch}.hero-portrait-frame{width:min(100%,26rem,100dvh - 14rem);margin-inline:auto}.header-shell{max-width:calc(100vw - 3.5rem)}.footer-meta{justify-items:start}.footer-links{justify-content:flex-start}.header-nav{justify-content:flex-end}.skill-card-summary{min-height:auto}.experience-tab-layout{grid-template-columns:1fr;gap:1.5rem}.experience-tab-nav{flex-direction:row;gap:0;padding-bottom:.5rem;position:static;overflow-x:auto}.experience-tab-btn{white-space:nowrap;border-bottom:2px solid #9b6a3e26;border-left:none;flex-shrink:0;width:auto;padding:.75rem 1rem}.experience-tab-btn:hover{background:#f5eee580}.experience-tab-btn-active{background:#f5eee58c}.experience-tab-btn-active:after{transform-origin:0;width:100%;height:2px;animation:.22s cubic-bezier(.22,1,.36,1) both tab-line-draw-h;top:auto;bottom:-2px;left:0}@keyframes tab-line-draw-h{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.connect-layout{gap:1rem}.connect-card-stack{grid-template-columns:1fr}.contact-form-panel{order:2}}@media (max-width:720px){.site-header{padding-top:.75rem}.header-row{padding-inline:1rem}.header-brand{min-height:3.2rem;font-size:1rem}.menu-toggle{width:2.75rem;height:2.75rem}.section-shell{padding:4.5rem 0}.site-footer{padding-top:0;padding-bottom:1.75rem}.shell,.hero-shell{width:min(calc(100% - 2.5rem), var(--shell))}.hero-title{font-size:clamp(2.7rem,12vw,4.6rem)}.header-nav{gap:.05rem}.header-link{padding:.6rem .7rem;font-size:.68rem}.hero-portrait-note{font-size:.78rem;bottom:.8rem;left:.8rem}.social-dock-mobile{inset-inline:.75rem}.footer-shell{gap:1rem;padding-top:1.1rem}.footer-links{gap:.7rem}.footer-link{font-size:.68rem}.social-chip{flex:auto;min-width:0}.experience-tab-nav{padding-bottom:0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),#0000 100%)}.experience-tab-btn{gap:.15rem;padding:.55rem .8rem}.experience-tab-company{display:none}.experience-tab-period{font-size:.58rem}.experience-tab-title{font-size:.86rem}.experience-tab-panel{border-radius:1.2rem;padding:1.1rem 1.1rem 1.25rem}.experience-bullets li{font-size:.9rem;line-height:1.65}.experience-tags{gap:.4rem}.experience-tags .tag{padding:.38rem .6rem;font-size:.72rem}}@media (max-height:860px) and (min-width:961px){.hero-section{min-height:100dvh;padding-top:4rem;padding-bottom:1.25rem}.hero-grid{gap:1.5rem}.hero-copy{gap:clamp(1.1rem,2.2dvh,1.65rem)}.hero-summary{font-size:.95rem;line-height:1.65}.hero-social-button,.tag{font-size:.76rem}.button{min-width:10.8rem;padding:.5rem .55rem .5rem .95rem;font-size:.72rem}.button-lg{padding:.55rem .58rem .55rem 1rem;font-size:.78rem}.button-orb{width:2.2rem;height:2.2rem}.hero-portrait-frame{width:min(100%,24rem,100dvh - 10.5rem)}}
