:root{--ink:#181917;--paper:#f2f0ea;--warm:#e7e1d6;--line:rgba(24,25,23,.19);--muted:#6d6d66;--accent:#b55f37;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace;--edge:clamp(1.25rem,4.2vw,5.75rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:999;left:1rem;top:-4rem;background:var(--paper);padding:.75rem 1rem;color:var(--ink)}.skip-link:focus{top:1rem}.site-header{align-items:center;color:var(--paper);display:flex;justify-content:space-between;left:0;padding:1rem var(--edge);pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.site-header>*{pointer-events:auto}.site-header .home-link{background:rgba(24,25,23,.8);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(242,240,234,.14);border-radius:50px;padding:.62rem 1rem}.header-actions{align-items:center;display:flex;gap:.6rem}.wordmark{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;line-height:1}.wordmark span{display:block;margin-left:1.8rem}.site-header nav{align-items:center;background:rgba(24,25,23,.8);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(242,240,234,.14);border-radius:50px;display:flex;font-size:.86rem;gap:1.8rem;left:50%;padding:.68rem 1.5rem;position:absolute;transform:translateX(-50%)}.nav-contact--menu{display:none}.site-header nav>a{opacity:.8;transition:opacity .2s,color .2s}.site-header nav>a:hover{color:#e7a07a;opacity:1}.site-header .nav-contact{background:var(--accent);border:1px solid var(--accent);border-radius:50px;color:#fff;font-weight:500;opacity:1;padding:.6rem 1rem;transition:background .2s,border-color .2s}
.site-header .nav-contact:hover{background:#9a4b28;border-color:#9a4b28}.nav-contact i{font-style:normal;margin-left:.35rem}.menu-button{background:rgba(24,25,23,.8);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(242,240,234,.14);border-radius:50px;color:inherit;cursor:pointer;display:none;font-size:.8rem;padding:.62rem 1rem}.menu-button span{border-bottom:1px solid currentColor;display:inline-block;margin:0 0 3px 5px;width:15px}.film{background:#111;min-height:100svh;overflow:hidden;position:relative;color:#f6f1e8}.film-stills{inset:0;position:absolute}.still{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;animation:film 18s infinite ease-in-out;filter:grayscale(1) contrast(1.12) brightness(.6)}.still-a{animation-delay:0}.still-b{animation-delay:6s;opacity:0}.still-c{animation-delay:12s;opacity:0}.film-shade{background:linear-gradient(90deg,rgba(4,5,4,.81),rgba(4,5,4,.32) 56%,rgba(4,5,4,.15)),linear-gradient(0deg,rgba(4,5,4,.48),transparent 42%);inset:0;position:absolute}.film-copy{bottom:clamp(4rem,9vw,8rem);left:var(--edge);position:absolute;z-index:1}.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;margin:0 0 1.1rem;text-transform:uppercase}.film h1{font-family:var(--serif);font-size:clamp(5.4rem,13.6vw,13.7rem);font-weight:400;letter-spacing:-.05em;line-height:.84;margin:0 0 1.8rem}.film-role{font-size:clamp(.88rem,1.25vw,1.1rem);margin:0}.film-cta{border-bottom:1px solid rgba(246,241,232,.55);display:inline-flex;font-family:var(--mono);font-size:.68rem;gap:2.6rem;letter-spacing:.06em;margin-top:2.7rem;padding-bottom:.55rem;text-transform:uppercase}.film-cta span{font-size:1rem;line-height:.7}.scroll-label{bottom:2rem;font-family:var(--mono);font-size:.59rem;letter-spacing:.08em;margin:0;position:absolute;right:var(--edge);text-transform:uppercase;transform:rotate(90deg);transform-origin:right center;z-index:1}.scroll-label span{border-right:1px solid currentColor;display:inline-block;height:2rem;margin-left:.6rem;vertical-align:middle}.section-light,.section-warm,.section-dark{padding:clamp(5.7rem,11vw,10rem) var(--edge)}.section-light{background:var(--paper)}.section-warm{background:var(--warm)}.section-dark{background:var(--ink);color:var(--paper)}.intro{overflow:hidden}.intro-grid{align-items:end;display:grid;gap:4rem;grid-template-columns:1.8fr .8fr}.display{font-family:var(--serif);font-size:clamp(3.65rem,7.4vw,8.5rem);font-weight:400;letter-spacing:-.055em;line-height:.88;margin:0}.display em{font-style:italic}.intro-copy{max-width:24rem}.intro-copy p{font-size:1.05rem;margin:0 0 1.25rem}.text-link{border-bottom:1px solid currentColor;display:inline-flex;font-size:.78rem;gap:2.1rem;margin-top:1.8rem;padding-bottom:.45rem}.text-link b{font-size:.9rem}.portrait{display:flex;justify-content:flex-end;margin:clamp(4rem,10vw,9rem) 0 0}.portrait img{height:min(65vw,44rem);object-fit:cover;object-position:center top;width:min(48vw,38rem)}.portrait figcaption{align-self:end;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.61rem;letter-spacing:.04em;margin:0 0 0 1.2rem;padding:0 0 .75rem;width:10rem}.portrait figcaption span{color:var(--muted);display:block;margin-top:.4rem}.section-heading{align-items:flex-end;display:flex;justify-content:space-between;gap:2rem}.section-heading>p{font-size:1rem;margin:0;max-width:16rem}.section-heading--wide{align-items:flex-end}.section-heading--wide>p{max-width:25rem}.focus-list{margin-top:clamp(3.5rem,7vw,7rem)}.focus-item{border-top:1px solid rgba(242,240,234,.27);display:grid;gap:2rem;grid-template-columns:.3fr 1.3fr 1fr;padding:1.3rem 0 2.2rem}.focus-item:last-child{border-bottom:1px solid rgba(242,240,234,.27)}.focus-item>span{align-self:start;border:1px solid rgba(181,95,55,.8);border-radius:50px;color:#9a4b28;font-family:var(--mono);font-size:.85rem;justify-self:start;margin-top:.15rem;padding:.3rem .65rem}.focus-name{font-family:var(--sans);font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:600;letter-spacing:.14em;margin:0 0 .8rem;text-transform:uppercase}.focus-item h2{font-family:var(--serif);font-size:clamp(2.5rem,4.5vw,5rem);font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0}.focus-detail{align-self:end}.focus-detail p{font-size:.9rem;margin:0 0 1.25rem;max-width:24rem}.focus-detail ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.focus-detail li{border:1px solid rgba(242,240,234,.3);border-radius:50px;font-family:var(--mono);font-size:.72rem;padding:.3rem .5rem}.courses .section-heading{margin-bottom:4.5rem}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.course-card{background:var(--paper);display:flex;flex-direction:column;gap:2rem;justify-content:space-between;min-height:0;padding:1.6rem}.course-card .eyebrow{display:flex;justify-content:space-between}.course-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.25rem);font-weight:400;letter-spacing:-.04em;line-height:.92;margin:0 0 1rem}.course-card p:not(.eyebrow){color:#52534d;font-size:.95rem;margin:0;max-width:21rem}.card-bottom{align-items:center;border-top:1px solid var(--line);display:flex;font-family:var(--mono);font-size:.74rem;gap:1rem;justify-content:space-between;padding-top:1.1rem}.card-bottom span{color:var(--muted);max-width:12rem}.card-bottom a{align-items:center;background:var(--ink);border-radius:50px;color:var(--paper);display:inline-flex;flex:none;font-family:var(--sans);font-size:.85rem;font-weight:500;gap:.6rem;padding:.65rem 1.1rem;transition:background .2s}
.card-bottom a:hover{background:var(--accent)}.card-bottom b{font-size:.9rem}.section-cta{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:3.5rem;padding-top:1.3rem}.section-cta p{font-size:.88rem;margin:0;max-width:30rem}.button{align-items:center;border:1px solid currentColor;border-radius:50px;display:inline-flex;font-size:.76rem;gap:2.6rem;padding:.75rem 1rem}.button span{font-size:1rem}.work .section-heading{margin-bottom:4rem}
.work-intro{font-size:1rem;margin:1.6rem 0 0;max-width:30rem}.project-grid{display:grid;gap:clamp(3.5rem,7vw,7rem);grid-template-columns:1.2fr .8fr}.project-image{background:#bbb;display:block;overflow:hidden}.project-image img{display:block;filter:saturate(.72);height:clamp(25rem,48vw,46rem);object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);width:100%}.project-card:not(.project-card--large) .project-image img{height:clamp(19rem,34vw,31rem)}.project-image:hover img{transform:scale(1.035)}.project-meta{padding-top:1.2rem}.project-meta h3{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4.1rem);font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0 0 .9rem}.project-meta>p:not(.eyebrow){font-size:.9rem;margin:0;max-width:29rem}.project-meta .text-link{margin-top:1.4rem}.work-note{border-top:1px solid var(--line);font-family:var(--mono);font-size:.76rem;line-height:1.6;margin:clamp(5rem,9vw,8rem) 0 0;padding-top:1rem;max-width:25rem}.about-top{display:grid;gap:3rem;grid-template-columns:.45fr 1.45fr .8fr}.about-top>div{align-self:end;max-width:26rem}.about-top>div p{font-size:.97rem;margin:0 0 1rem}.experience-list{border-top:1px solid var(--line);margin-top:clamp(5rem,10vw,9rem)}.experience-list article{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:.35fr 1fr 1fr;padding:1.3rem 0}.experience-list span{font-family:var(--mono);font-size:.8rem}.experience-list h3{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.2rem);font-weight:400;letter-spacing:-.04em;line-height:.9;margin:0}.experience-list p{font-size:.85rem;margin:0;max-width:25rem}.proof-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:3rem}.proof-strip span{border:1px solid var(--line);border-radius:50px;font-family:var(--mono);font-size:.74rem;padding:.43rem .6rem}.contact{min-height:75vh;padding-bottom:clamp(4rem,8vw,7rem);padding-top:clamp(6.5rem,12vw,12rem)}.contact .display{font-size:clamp(4.5rem,10.5vw,11.5rem)}.contact-lead{font-size:1rem;margin:2.3rem 0 3rem;max-width:29rem}.contact-email{align-items:center;border-bottom:1px solid rgba(242,240,234,.45);display:inline-flex;font-family:var(--serif);font-size:clamp(2rem,4.8vw,4.6rem);gap:.9rem;letter-spacing:-.04em;line-height:1.1;padding-bottom:.4rem;transition:border-color .2s}
.contact-email:hover{border-color:var(--paper)}.contact-email b,.contact-linkedin b{font-family:var(--sans);font-size:1rem;font-weight:400;letter-spacing:0}
.contact-email b{align-self:flex-start;margin-top:.6em}
.contact-icon{fill:none;flex:none;height:.62em;stroke:#d98a62;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:.62em}
.contact-icon--filled{fill:#d98a62;height:1.3rem;stroke:none;width:1.3rem}.availability{color:#b8b8b0;font-family:var(--mono);font-size:.76rem;margin:4.5rem 0 0;text-transform:uppercase}.availability span{color:var(--paper)}.site-footer{align-items:end;background:#0f100f;color:#acaea5;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr;padding:2.2rem var(--edge)}.site-footer .wordmark,.site-footer .home-link{color:var(--paper)}.site-footer p,.site-footer small{font-family:var(--mono);font-size:.72rem;margin:0}.site-footer small{text-align:right}.footer-links{display:flex;font-family:var(--mono);font-size:.72rem;gap:1rem}.detail-hero{padding-bottom:clamp(4.5rem,9vw,8rem);padding-top:clamp(5.5rem,10vw,9rem)}.back-link{display:inline-block;font-family:var(--mono);font-size:.76rem;margin-bottom:clamp(5rem,10vw,9rem)}.detail-hero .eyebrow{margin-bottom:1.2rem}.detail-hero h1{max-width:55rem}.detail-deck{font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.35;margin:2.5rem 0 0;max-width:37rem}.detail-content{display:grid;gap:3rem;grid-template-columns:1fr 1.5fr;padding-bottom:clamp(7rem,12vw,12rem)}.detail-summary{border-top:1px solid var(--line)}.detail-summary .eyebrow{margin:1rem 0 .3rem}.detail-summary>p:not(.eyebrow){font-family:var(--serif);font-size:1.7rem;line-height:1;margin:0 0 2.2rem;max-width:21rem}.detail-list{display:grid;gap:3rem;grid-template-columns:1fr 1fr}.detail-list ul{list-style:none;margin:1rem 0 0;padding:0}.detail-list li{border-bottom:1px solid var(--line);font-size:.92rem;padding:.75rem 0}.detail-image{grid-column:1/-1;margin-bottom:1rem}.detail-image img{display:block;max-height:45rem;object-fit:cover;width:100%}.detail-body{font-size:1.1rem;grid-column:2;line-height:1.55;margin:0;max-width:38rem}.detail-content>.button{grid-column:2;justify-self:start}.detail-cta{border-top:1px solid var(--line);grid-column:1/-1;align-items:center;display:flex;justify-content:space-between;margin-top:5rem;padding-top:1.2rem}.detail-cta p{font-size:.9rem;max-width:28rem}.not-found{background:var(--paper);min-height:70vh;padding:clamp(8rem,16vw,14rem) var(--edge)}.not-found .button{margin-top:2rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease var(--delay,0ms),transform .75s ease var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}@keyframes film{0%,29%{opacity:0;transform:scale(1.06)}5%,28%{opacity:1}33%,100%{opacity:0;transform:scale(1)}}
@media (max-width:760px){.site-header{padding-bottom:1.1rem;padding-top:1.1rem}.menu-button{display:block}.site-header nav{align-items:flex-start;background:rgba(24,25,23,.94);border-radius:18px;display:none;flex-direction:column;font-size:1rem;gap:1.2rem;left:var(--edge);padding:1.5rem;right:var(--edge);top:calc(100% - .2rem);transform:none}.header-actions>.nav-contact{display:none}.nav-contact--menu{display:inline-flex}.site-header nav.is-open{display:flex}.film h1{font-size:clamp(4.9rem,22vw,7.7rem)}.film-role{max-width:13rem}.scroll-label{display:none}.intro-grid,.about-top{display:block}.intro-copy{margin:2.3rem 0 0}.portrait{justify-content:stretch}.portrait img{height:auto;width:100%}.portrait figcaption{display:none}.section-heading,.section-heading--wide,.section-cta,.detail-cta{align-items:flex-start;flex-direction:column}.section-heading>p{margin-top:1.5rem}.focus-item{grid-template-columns:.25fr 1fr;padding:1.25rem 0 2rem}.focus-detail{grid-column:2}.course-grid,.project-grid{grid-template-columns:1fr}.course-card{min-height:0}.card-bottom{align-items:stretch;flex-direction:column}.card-bottom span{max-width:none}.card-bottom a{justify-content:center}.project-card:not(.project-card--large) .project-image img,.project-image img{height:28rem}.about-top>div{margin-top:2rem}.experience-list article{gap:.7rem;grid-template-columns:.25fr 1fr;padding:1.2rem 0}.experience-list p{grid-column:2}.site-footer{align-items:start;grid-template-columns:1fr 1fr;padding-bottom:1.7rem}.site-footer p{grid-column:2}.footer-links{grid-column:1}.site-footer small{grid-column:2;text-align:left}.detail-content{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr;gap:2rem}.detail-body,.detail-content>.button{grid-column:auto}.detail-cta{margin-top:2rem}.detail-cta .button{margin-top:.5rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.still{animation:none}.still-a{opacity:1}.still-b,.still-c{display:none}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}

/* Scroll-led second act: a timeline told in chapters, scrubbed continuously by scroll (see initScrollStory in main.js). */
.cinematic-pitch{--unit:95svh;background:#121311;color:var(--paper);height:calc((var(--chapters,3) + 1.1) * var(--unit) + 200svh);margin-bottom:-100svh;position:relative}
#what-i-do{box-shadow:0 -40px 80px rgba(0,0,0,.35);position:relative;z-index:2}
.pitch-sticky{background:radial-gradient(ellipse 38% 55% at 20% 38%,rgba(181,95,55,.13),transparent 60%),radial-gradient(ellipse 60% 40% at 30% 100%,rgba(181,95,55,.06),transparent 70%),#121311;height:100svh;overflow:hidden;position:sticky;top:0}
.pitch-scene{inset:0;opacity:0;pointer-events:none;position:absolute}
.pitch-scene:first-child{opacity:1}
.story-visual{inset:0;position:absolute;will-change:opacity}
.story-visual img{will-change:transform}
.pitch-copy{bottom:clamp(6rem,11vw,9.5rem);left:var(--edge);max-width:min(48rem,76vw);position:absolute;z-index:4}
.pitch-copy .eyebrow{color:#c4c4bc}
.pitch-copy .eyebrow span{color:#81827b}
.pitch-copy .display{font-size:clamp(3.6rem,7.4vw,8rem)}
.story-line{display:block;margin:0 -.2em -.2em 0;overflow:hidden;padding:0 .2em .2em 0;width:max-content}
.story-line>span{display:block;will-change:transform}
.story-body{font-size:clamp(.92rem,1.2vw,1.1rem);margin:1.6rem 0 0;max-width:28rem}
.pitch-portrait{background:#eeece6;left:auto;right:0;width:55%;z-index:1}
.pitch-portrait:after{background:linear-gradient(90deg,#121311 0%,transparent 48%);content:"";inset:0;position:absolute}
.pitch-portrait img{bottom:0;height:92%;object-fit:cover;object-position:50% top;position:absolute;right:8%;transform-origin:50% 100%;width:76%}
.pitch-photo:after{background:linear-gradient(90deg,rgba(8,9,8,.88),rgba(8,9,8,.24) 70%),linear-gradient(0deg,rgba(8,9,8,.55),transparent 52%);content:"";inset:0;position:absolute}
.pitch-photo img{filter:grayscale(1) contrast(1.08) brightness(.72);height:100%;object-fit:cover;object-position:var(--pos,center);width:100%}
.pitch-sticky:after{background:linear-gradient(0deg,#121311 0%,rgba(18,19,17,.82) 38%,transparent);bottom:0;content:"";height:9rem;left:0;pointer-events:none;position:absolute;right:0;z-index:30}
.story-timeline{bottom:2.1rem;font-family:var(--mono);font-size:.7rem;left:var(--edge);letter-spacing:.04em;position:absolute;right:calc(var(--edge) + 16rem);z-index:45}
.story-track{background:rgba(242,240,234,.16);height:1px;margin-bottom:.8rem;overflow:hidden}
.story-track i{background:var(--accent);display:block;height:100%;transform:scaleX(0);transform-origin:left}
.story-timeline ol{display:flex;gap:1rem;justify-content:space-between;list-style:none;margin:0;padding:0}
.story-timeline li{color:#6f706a;text-transform:uppercase;transition:color .5s ease}
.story-timeline li span{margin-right:.45rem}
.story-timeline li.is-past{color:#9a9b93}
.story-timeline li.is-current{color:var(--paper)}
.story-timeline li.is-current span{color:var(--accent)}
.story-counter{display:none;margin:0}
.pitch-exit{align-items:center;border:1px solid rgba(242,240,234,.55);border-radius:50px;bottom:1.6rem;display:inline-flex;font-family:var(--mono);font-size:.72rem;gap:.7rem;letter-spacing:.06em;padding:.75rem 1.15rem;position:absolute;right:var(--edge);text-transform:uppercase;transition:background .25s,color .25s;z-index:45}
.pitch-exit:hover{background:var(--paper);color:var(--ink)}
.pitch-exit span{font-size:1rem}
.pitch-scene--hero{min-height:0}
.pitch-scene--hero .film-copy{bottom:clamp(7.5rem,13vw,11rem)}
.pitch-scene--hero h1 .story-line{overflow:visible;padding:0;margin:0}
.pitch-photo img{transform-origin:50% 0}
.story-shade{background:#0b0c0b;inset:0;opacity:0;pointer-events:none;position:absolute;z-index:35}
.hero-cta{align-items:center;background:var(--paper);border-radius:50px;bottom:clamp(2rem,4vw,3rem);color:var(--ink);display:inline-flex;font-size:.8rem;font-weight:500;gap:1.1rem;left:50%;padding:.5rem .55rem .5rem 1.3rem;position:absolute;transform:translateX(-50%);transition:box-shadow .3s;z-index:46}
.hero-cta span{align-items:center;background:var(--ink);border-radius:50%;color:var(--paper);display:inline-flex;height:2.1rem;justify-content:center;width:2.1rem}
.hero-cta:hover{box-shadow:0 0 0 6px rgba(242,240,234,.14)}
.story-timeline,.pitch-exit{opacity:0}
.pitch-scene--hero{background:#121311}
.hero-light{inset:0;overflow:hidden;position:absolute}
.hero-light i{border-radius:50%;filter:blur(70px);position:absolute;will-change:transform}
.hero-light i:nth-child(1){animation:drift-a 16s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(181,95,55,.42),transparent 65%);height:62vmax;right:-12vmax;top:-26vmax;width:62vmax}
.hero-light i:nth-child(2){animation:drift-b 20s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(242,240,234,.13),transparent 62%);height:48vmax;left:18vw;top:-20vmax;width:48vmax}
.hero-light i:nth-child(3){animation:drift-a 24s ease-in-out infinite alternate-reverse;background:radial-gradient(circle,rgba(181,95,55,.16),transparent 65%);bottom:-30vmax;height:56vmax;left:-18vmax;width:56vmax}
.hero-light:after{background:linear-gradient(115deg,transparent 42%,rgba(242,240,234,.05) 50%,transparent 58%);content:"";inset:-20%;position:absolute;animation:sweep 11s ease-in-out infinite alternate}
@keyframes drift-a{to{transform:translate3d(-8vw,6vh,0) scale(1.12)}}
@keyframes drift-b{to{transform:translate3d(10vw,4vh,0) scale(.9)}}
@keyframes sweep{from{transform:translateX(-18%)}to{transform:translateX(18%)}}
.pitch-photo--reveal{will-change:clip-path}
.pitch-photo--reveal img{transform-origin:var(--focus,center)}
.build-stage{background:none}
.build-frame{position:absolute;right:var(--edge);top:50%;transform:translateY(-62%);width:min(40vw,620px)}
.build-window{background:#1b1c1a;border:1px solid rgba(242,240,234,.14);border-radius:10px;box-shadow:0 40px 90px rgba(0,0,0,.45);overflow:hidden}
.build-chrome{align-items:center;border-bottom:1px solid rgba(242,240,234,.1);display:flex;gap:.35rem;padding:.6rem .75rem}
.build-chrome i{background:rgba(242,240,234,.22);border-radius:50%;height:.45rem;width:.45rem}
.build-chrome span{background:rgba(242,240,234,.07);border-radius:50px;color:#8d8e87;font-family:var(--mono);font-size:.55rem;margin:0 auto;padding:.2rem 1.4rem}
.build-window svg{display:block;height:auto;width:100%}
.build-sketch *{fill:none;stroke:rgba(242,240,234,.75);stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-width:1.4}
.build-wire{opacity:0}
.build-wire rect{fill:rgba(242,240,234,.12)}
.build-product{opacity:0}
.bp-mono{fill:#181917;font-family:var(--mono);font-size:9px;letter-spacing:.08em}
.bp-muted{fill:#6d6d66}
.bp-serif{fill:#181917;font-family:var(--serif);font-size:34px;letter-spacing:-.03em}
.bp-button{fill:#f2f0ea;font-family:var(--sans);font-size:11px}
.build-steps{display:flex;font-family:var(--mono);font-size:.7rem;gap:1.6rem;list-style:none;margin:1.1rem 0 0;padding:0;text-transform:uppercase}
.build-steps li{color:#6f706a;transition:color .4s}
.build-steps span{margin-right:.4rem}
.build-steps li.is-current{color:var(--paper)}
.build-steps li.is-current span{color:var(--accent)}
.pitch-scene--build .pitch-copy{max-width:min(44rem,48vw)}
.pitch-scene--build .display{font-size:clamp(3.2rem,6vw,6.6rem)}
.home-link{align-items:center;display:inline-flex;font-family:var(--mono);font-size:.84rem;gap:.6rem;letter-spacing:.08em;text-transform:uppercase}
.home-link svg{fill:none;height:1.15rem;stroke:currentColor;stroke-linejoin:round;stroke-width:1.5;width:1.15rem}
.home-link:hover svg{stroke:var(--accent)}
.story-kicker{align-items:center;color:var(--paper);display:flex;gap:.85rem;margin:0 0 1.4rem}
.story-kicker b{border:1px solid rgba(181,95,55,.8);border-radius:50px;color:#d98a62;font-family:var(--mono);font-size:.8rem;font-weight:400;padding:.28rem .6rem}
.story-kicker span{font-family:var(--sans);font-size:clamp(.95rem,1.25vw,1.2rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.project-photos{display:grid;gap:6px;grid-template-columns:repeat(var(--count,1),1fr)}
.workflow-diagram{background:#181917;display:block;height:clamp(19rem,34vw,31rem);width:100%}
.detail-image .workflow-diagram{height:auto;max-height:40rem}
.detail-image .project-photos img{height:clamp(22rem,40vw,40rem)}
.wd-caption{fill:#8d8e87;font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.wd-links path{animation:wd-flow 1.6s linear infinite;fill:none;stroke:#b55f37;stroke-dasharray:5 7;stroke-width:1.6}
.wd-node rect{fill:#232421;stroke:rgba(242,240,234,.22)}
.wd-node text,.wd-core text{fill:#f2f0ea;font-family:var(--mono);font-size:13px}
.wd-core rect{fill:#2b2c29;stroke:#b55f37}
.wd-core text{fill:#c4c4bc;font-size:12px}
.wd-core .wd-core-title{fill:#f2f0ea;font-family:var(--serif);font-size:28px}
@keyframes wd-flow{to{stroke-dashoffset:-24}}
.contact-lead{margin-bottom:1.2rem}
.contact-reasons{border-top:1px solid rgba(242,240,234,.2);list-style:none;margin:0 0 3.5rem;max-width:44rem;padding:0}
.contact-reasons li{border-bottom:1px solid rgba(242,240,234,.2);display:flex;font-size:clamp(1rem,1.4vw,1.2rem);gap:1.4rem;padding:.95rem 0}
.contact-reasons span{color:#d98a62;font-family:var(--mono);font-size:.7rem;padding-top:.35rem}
.contact-linkedin{align-items:center;border:1px solid rgba(242,240,234,.4);border-radius:50px;display:flex;font-size:.95rem;gap:.7rem;margin-top:2rem;padding:.7rem 1.2rem;transition:background .2s,color .2s;width:fit-content}
.contact-linkedin:hover{background:var(--paper);color:var(--ink)}
.experience-list span{color:#9a4b28}
.automation-media{background:radial-gradient(rgba(242,240,234,.06) 1px,transparent 1.2px) 0 0/22px 22px,#1a1a19;height:clamp(19rem,34vw,31rem);overflow:hidden;position:relative}
.project-image .automation-media img{filter:none;transition:none}
.automation-media .am-wide{animation:am-pan 26s ease-in-out infinite alternate;height:62%!important;left:0;object-fit:cover;object-position:0% 50%;position:absolute;top:6%;width:100%}
.automation-media .am-phone{border:1px solid rgba(242,240,234,.18);border-radius:14px;bottom:6%;box-shadow:0 24px 50px rgba(0,0,0,.5);height:auto!important;position:absolute;right:6%;width:34%}
.project-image:hover .automation-media .am-phone{transform:translateY(-6px);transition:transform .5s}
@keyframes am-pan{to{object-position:100% 50%}}
.automation-media--detail{align-items:start;background:none;display:grid;gap:1.2rem;grid-template-columns:3fr 1fr;height:auto;overflow:visible}
.automation-media--detail img{border-radius:10px;display:block;height:auto!important;max-height:none!important;width:100%}
.automation-media--detail .am-wide,.automation-media--detail .am-phone{animation:none;border:0;box-shadow:none;position:static;width:100%}
.section-heading .eyebrow,.about-top>.eyebrow,.contact>.eyebrow{font-family:var(--sans);font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:600;letter-spacing:.14em}
.contact>.eyebrow{color:#d98a62}
.course-example{align-items:stretch;background:var(--paper);border:1px solid var(--line);display:grid;gap:0;grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);margin-top:4rem;overflow:hidden;transition:box-shadow .3s}
.course-example:hover{box-shadow:0 18px 40px rgba(24,25,23,.12)}
.course-example img{display:block;filter:saturate(.72);height:100%;min-height:18rem;object-fit:cover;width:100%}
.course-example>div{align-self:center;padding:clamp(1.5rem,3vw,2.8rem)}
.course-example .eyebrow{color:#9a4b28}
.course-example h3{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3.2rem);font-weight:400;letter-spacing:-.04em;line-height:.95;margin:0 0 1rem}
.course-example p:not(.eyebrow){font-size:.92rem;margin:0;max-width:30rem}
.course-example .text-link{margin-top:1.4rem}
.hero-stage{inset:0;overflow:hidden;position:absolute}
.pitch-scene--hero .film-copy{text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero-network,.hero-sand{display:block;height:100%;inset:0;pointer-events:none;position:absolute;width:100%}
.hero-sand{z-index:3}
.baseline-probe{display:inline-block;height:0;vertical-align:baseline;width:0}
.hero-phrase{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.6rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 1.2rem}
.hero-word{display:inline-block;height:1.15em;overflow:hidden;position:relative;transition:width .6s cubic-bezier(.2,.7,.2,1);vertical-align:bottom}
.hero-word em{color:#d98a62;left:0;position:absolute;top:0;transform:translateY(105%);transition:transform .7s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.hero-word em.is-in{transform:translateY(0)}
.hero-word em.is-out{transform:translateY(-105%)}
.what.section-light .focus-item{border-color:var(--line)}.what.section-light .focus-item:last-child{border-color:var(--line)}.what.section-light .focus-item>span{color:#9a4b28}.what.section-light .focus-detail li{border-color:var(--line)}

@media (max-width:760px){.cinematic-pitch{--unit:85svh}.pitch-copy{bottom:6.4rem;max-width:calc(100% - 2.5rem)}.pitch-copy .display{font-size:clamp(3.45rem,15.8vw,5.2rem)}.story-body{font-size:.88rem;max-width:19rem}.pitch-copy .eyebrow span{display:none}.pitch-portrait{background:#121311;width:100%}.pitch-portrait:after{background:linear-gradient(0deg,#121311 8%,rgba(18,19,17,.55) 45%,transparent 70%)}.pitch-portrait img{height:82%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%);mask-image:linear-gradient(180deg,transparent,#000 30%);right:-5%;width:110%}.pitch-photo:after{background:linear-gradient(0deg,rgba(8,9,8,.92) 6%,rgba(8,9,8,.1) 85%)}.story-timeline{bottom:1.9rem;right:calc(var(--edge) + 11.5rem)}.story-timeline ol{display:none}.course-example{grid-template-columns:1fr}.course-example img{min-height:14rem}.automation-media--detail{grid-template-columns:1fr}.automation-media--detail .am-phone{max-width:22rem}.story-counter{display:block}.story-counter b{color:var(--paper);font-weight:400}.pitch-exit{bottom:1.3rem;font-size:.66rem;padding:.6rem .85rem}.home-link{font-size:.74rem}.story-kicker span{font-size:.9rem}.contact-reasons li{gap:1rem}.pitch-scene--hero .film-copy{bottom:7rem}.story-line{width:auto}.build-frame{left:var(--edge);right:var(--edge);top:5.5rem;transform:none;width:auto}.pitch-scene--build .pitch-copy{max-width:calc(100% - 2.5rem)}.pitch-scene--build .display{font-size:clamp(3rem,13vw,4.4rem)}.build-steps{gap:1rem}.pitch-photo img{object-position:var(--pos-mobile,var(--pos,center))}}

@media (prefers-reduced-motion:reduce){.cinematic-pitch{height:auto}.pitch-sticky{height:auto;position:relative}.pitch-scene{min-height:100svh;opacity:1;position:relative}.hero-light i,.hero-light:after,.wd-links path,.automation-media .am-wide{animation:none}.hero-network,.hero-sand{display:none}.hero-word em{display:none}.hero-word em.is-in{display:inline;position:static;transform:none}.build-product{opacity:1}.story-timeline,.pitch-exit,.pitch-sticky:after{display:none}.cinematic-pitch{margin-bottom:0}.pitch-scene--hero{min-height:100svh}.hero-cta{bottom:auto;top:calc(100svh - 5rem)}}
