@font-face{font-family:Satoshi;src:url('assets/satoshi-regular.woff2') format('woff2');font-weight:400 500;font-display:swap}@font-face{font-family:Satoshi;src:url('assets/satoshi-bold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--paper:#f6f4ee;--ink:#203c35;--muted:#626e64;--line:#d5d8cc;--sage:#dbe3c7;--sand:#e9dfcd;--serif:Georgia,'Times New Roman',serif;--ease:cubic-bezier(.16,1,.3,1);--transition:all .4s var(--ease);--gutter:clamp(1.5rem,6vw,7rem);--chapter:clamp(5rem,9.7vw,9rem);--gap:clamp(1.5rem,4vw,4.5rem);--body:clamp(.9375rem,.84rem + .22vw,1.075rem);--small:clamp(.7rem,.66rem + .15vw,.85rem);font-family:Satoshi,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:clamp(1.5rem,5vh,4rem)}body{margin:0}a,button,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:none;font-size:var(--small);transition:var(--transition)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:.16rem solid #7b854b;outline-offset:.35rem}p{font-size:var(--body);line-height:1.7;margin:0 0 clamp(1rem,1.6vw,1.6rem)}h1,h2,h3{font-weight:500;letter-spacing:-.045em;margin:0;text-wrap:balance}h2{font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1.12}h3{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.2}em{font-family:var(--serif);font-weight:400}img{display:block;max-width:100%;object-fit:cover}svg{width:1.25em;height:1.25em;flex-shrink:0}a svg{transition:transform .4s var(--ease)}.overflow-x-hidden{overflow-x:hidden}.w-full{width:100%}.max-w-full{max-width:100%}.max-w-6xl{width:100%;max-width:72rem}.chapter{padding:var(--chapter) max(var(--gutter),calc((100vw - 88rem)/2))}.eyebrow{font-size:clamp(.625rem,.57rem + .15vw,.75rem);font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin:0 0 clamp(1.5rem,2.4vw,2.6rem)}.underlined,.text-link{position:relative;width:fit-content}.underlined:after,.text-link:after{content:'';position:absolute;bottom:-.2rem;left:0;width:100%;height:.0625rem;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.underlined:hover:after,.text-link:hover:after{transform:scaleX(1)}.text-link{display:inline-flex;align-items:center;gap:clamp(.6rem,1.3vw,1.2rem);font-size:clamp(.75rem,.68rem + .18vw,.9rem);padding-bottom:.3rem;border-bottom:.0625rem solid var(--line)}.text-link:hover svg{transform:translate(.12rem,-.12rem)}.button{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.65rem,1.8vw,1.6rem);min-height:3.4rem;padding:clamp(.8rem,1.05vw,1rem) clamp(1rem,1.7vw,1.6rem);border-radius:.2rem;font-size:clamp(.75rem,.68rem + .19vw,.9rem);font-weight:700;transition:var(--transition)}.button:hover{transform:translateY(-.125rem);box-shadow:0 .6rem 1.7rem #122c3514}.button:hover svg{transform:translate(.12rem,-.12rem)}.button-light{color:var(--ink);background:var(--paper)}.button-light:hover{background:#e5ecad}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#355349}.button-outline{color:var(--paper);border:.0625rem solid #f6f4ee80;background:#13231b52}.button-outline:hover{background:var(--ink)}.skip-link{position:fixed;top:-8rem;left:1rem;padding:1rem;background:var(--paper);z-index:99;font-size:var(--body)}.skip-link:focus{top:1rem}
.header{min-height:clamp(4.8rem,6.5vw,6rem);padding:clamp(.8rem,1.5vw,1.3rem) clamp(1.3rem,3.7vw,4rem);display:flex;align-items:center;gap:clamp(.7rem,2.5vw,2.5rem);position:relative;z-index:20;background:var(--paper)}.wordmark{font-size:clamp(1.9rem,2.6vw,2.4rem);font-weight:700;letter-spacing:-.08em;line-height:.84;display:inline-flex;flex-direction:column}.wordmark span{font-size:clamp(.56rem,.53rem + .1vw,.65rem);letter-spacing:.1em;font-weight:400;line-height:1.9;margin-top:.32rem}.nav{display:flex;gap:clamp(.9rem,2vw,1.9rem);align-items:center;margin-left:auto;font-size:clamp(.72rem,.61rem + .24vw,.85rem)}.nav>a{padding:.3rem 0}.nav-contact{display:flex;gap:.7rem;align-items:center}.header-tools{display:flex;align-items:center;gap:clamp(.45rem,1vw,1rem)}.language-switch{display:flex;gap:.15rem;border:.0625rem solid var(--line);border-radius:2rem;padding:.2rem}.language-switch button{padding:.4rem .6rem;border-radius:2rem;font-size:clamp(.64rem,.6rem + .1vw,.73rem);font-weight:700;min-height:2rem;min-width:2.4rem}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.language-switch button:hover{box-shadow:0 .2rem .8rem #203c3512}.menu-toggle{display:none}.hero{margin:0 clamp(.6rem,1.4vw,1.3rem);min-height:clamp(39rem,82svh,56rem);position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;border-radius:.3rem;overflow:hidden;color:var(--paper);background:var(--ink)}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:50% 61%;filter:saturate(.72)}.hero-shade{z-index:-1;background:linear-gradient(180deg,#11271f38,#071e1775 54%,#0c1b13b3),radial-gradient(ellipse at 50% 35%,#132c2140,transparent 70%)}.hero-content{text-align:center;width:100%;padding:clamp(3rem,7vw,6rem) clamp(1rem,3vw,3rem)}.hero-recipient{font-size:clamp(.78rem,.7rem + .3vw,1rem);margin-bottom:clamp(1.6rem,3vw,3rem)}.hero-recipient strong{display:block;font-weight:500;font-size:clamp(1.05rem,.8rem + .9vw,1.5rem);margin-top:.3rem}.hero h1{font-size:clamp(3.45rem,8vw,8rem);line-height:1.02;letter-spacing:-.06em;margin:0 auto clamp(1.4rem,2.5vw,2.5rem);font-weight:500}.hero h1 span{display:block}.hero h1 span:last-child{font-family:var(--serif);font-style:italic;letter-spacing:-.035em}.hero-role{font-size:clamp(1rem,.85rem + .6vw,1.35rem);margin:0 auto clamp(1.8rem,3vw,3rem);max-width:40rem;overflow-wrap:anywhere}.hero-role>span{display:block;font-size:var(--small);margin-bottom:.3rem}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(.55rem,1vw,1rem)}.statement{font-size:clamp(2.2rem,5.3vw,5rem);max-width:76rem;line-height:1.13;margin-bottom:clamp(2rem,3.5vw,3.5rem)}.intro-copy{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:clamp(.2rem,3vw,4rem);max-width:63rem;margin:0 0 clamp(2rem,4vw,4rem) auto}.intro-copy p{font-size:var(--body)}.application-hook{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.4;max-width:48rem;margin-bottom:clamp(3rem,6vw,6rem)}.background-tabs{display:flex;flex-wrap:wrap;gap:clamp(.4rem,1.2vw,1.2rem);border-bottom:.0625rem solid var(--line);margin-bottom:clamp(1.3rem,2vw,2rem)}.background-tabs button{position:relative;padding:.8rem clamp(.2rem,1vw,.9rem);font-size:clamp(.73rem,.66rem + .3vw,.95rem);border-bottom:.15rem solid transparent;line-height:1.4}.background-tabs button[aria-selected=true]{border-color:var(--ink);font-weight:700}.background-tabs button:hover{background:#e9ebdf}.question-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr));border-radius:.3rem;overflow:hidden;background:#e9ebdf}.question-image{position:relative;min-height:clamp(18rem,37vw,34rem);overflow:hidden}.question-image>img{position:absolute;inset:0;width:100%;height:100%;object-position:50% 43%;transition:transform .7s var(--ease)}.question-image:hover>img{transform:scale(1.025)}.question-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#11201780)}.question-image>span{position:absolute;z-index:1;bottom:1.3rem;left:1.5rem;color:var(--paper);font-size:var(--small)}.question-panel{padding:clamp(1.5rem,3.4vw,3.3rem);display:flex;flex-direction:column;min-width:0;min-height:clamp(29rem,37vw,34rem)}.question-text h3{font-size:clamp(1.7rem,2.7vw,2.6rem);white-space:pre-line;margin:0 0 clamp(1.2rem,2vw,2rem)}.question-text>p{font-size:clamp(.9rem,.82rem + .2vw,1rem)}.question-text .experience-source{font-size:var(--small);font-weight:700;margin-top:clamp(1.2rem,2vw,2rem)}.carousel-controls{margin-top:auto;padding-top:clamp(1.3rem,2vw,2rem);display:flex;justify-content:space-between;align-items:center;font-size:var(--small)}.carousel-controls>div{display:flex;gap:.6rem}.carousel-controls button{height:2.75rem;aspect-ratio:1;border:.0625rem solid #96a28f;border-radius:50%;display:grid;place-items:center;font-size:clamp(1rem,.9rem + .3vw,1.2rem)}.carousel-controls button:hover{background:var(--ink);color:var(--paper);transform:scale(1.02)}.reverse{transform:rotate(180deg);display:flex}.muted{color:var(--muted)}
.proposal{background:#eeeee5;padding-bottom:clamp(4rem,6.5vw,6rem)}.proposal>.eyebrow{margin-bottom:clamp(2.5rem,4.5vw,4rem)}.proposal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr));gap:clamp(2.5rem,6vw,7rem);align-items:start}.proposal-heading h2{font-size:clamp(2.3rem,4.2vw,4.1rem);line-height:1.13;margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}.proposal-heading>p{font-size:var(--body);max-width:27rem;color:#53604f}.proposal-heading .proposal-intro{font-size:clamp(1.1rem,.95rem + .45vw,1.35rem);line-height:1.55;color:var(--ink)}.proposal-heading .button{margin-top:clamp(.5rem,1vw,1rem)}.phase-list{padding-bottom:clamp(0rem,2vw,2rem);isolation:isolate}.phase-card{position:relative;min-height:clamp(27rem,35vw,32rem);padding:clamp(1.7rem,3vw,3rem);background:var(--sage);border:.0625rem solid #a8b29740;border-radius:.3rem;margin-bottom:clamp(1.2rem,4vw,4rem);display:flex;flex-direction:column;will-change:transform}.phase-card:last-child{margin-bottom:0}.phase-1{background:var(--sand)}.phase-2{background:var(--ink);color:var(--paper)}.phase-label{font-size:var(--small);margin-bottom:clamp(2rem,3vw,3rem)}.phase-card h3{font-size:clamp(1.65rem,2.5vw,2.5rem);margin-bottom:clamp(1rem,1.5vw,1.5rem);text-wrap:pretty}.phase-card>p:not(.phase-label){font-size:clamp(.9rem,.83rem + .18vw,1rem)}.deliverable{border-top:.0625rem solid #203c352b;padding-top:clamp(1rem,1.5vw,1.5rem);margin-top:auto}.deliverable>span{font-size:clamp(.65rem,.6rem + .13vw,.75rem);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.deliverable>p{font-size:var(--small);margin:.7rem 0 0}.phase-2 .deliverable{border-color:#f6f4ee38}.story-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr));gap:clamp(2.5rem,8vw,8rem);align-items:start}.portrait-wrap{padding-top:clamp(0rem,1.8vw,1.8rem)}.portrait-wrap>img{aspect-ratio:4/4.5;width:100%;object-position:center;filter:grayscale(1);border-radius:.2rem;transition:transform .7s var(--ease)}.portrait-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:var(--small);margin-top:1rem}.portrait-caption span:last-child{color:var(--muted)}.story-copy h2{font-size:clamp(2.15rem,3.6vw,3.65rem);margin-bottom:clamp(1.5rem,2.5vw,2.5rem);line-height:1.14}.story-copy p:not(.eyebrow){font-size:var(--body);color:#53604f}.story-copy .personal-note{border-top:.0625rem solid var(--line);padding-top:clamp(1.2rem,2vw,2rem);margin-top:clamp(1.8rem,3vw,3rem);font-size:clamp(.85rem,.78rem + .2vw,.95rem)}.cv-section{padding-top:0}.cv-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(1rem,2vw,2rem);margin-bottom:clamp(1.8rem,2.5vw,2.5rem)}.cv-top h2{font-size:clamp(2rem,2.7vw,2.6rem)}.timeline{border-top:.0625rem solid #a9b3a2}.timeline details{border-bottom:.0625rem solid var(--line)}.timeline summary{display:flex;align-items:center;padding:clamp(1.3rem,1.9vw,1.8rem) 0;gap:clamp(.8rem,1.7vw,1.6rem);cursor:pointer;list-style:none}.timeline summary::-webkit-details-marker{display:none}.timeline summary:hover .role{color:#70814e}.timeline .date{width:clamp(4.2rem,16vw,15rem);font-size:clamp(.68rem,.59rem + .25vw,.85rem);color:var(--muted);flex-shrink:0}.timeline .role{font-size:clamp(1rem,.8rem + .62vw,1.4rem);letter-spacing:-.025em;line-height:1.3;transition:color .4s var(--ease)}.timeline small{display:block;font-size:clamp(.65rem,.57rem + .23vw,.8rem);color:var(--muted);margin-top:.5rem;letter-spacing:0}.timeline .plus{margin-left:auto;font-size:clamp(1.4rem,1.2rem + .5vw,1.8rem);font-weight:400;transition:transform .4s var(--ease)}.timeline details[open] .plus{transform:rotate(45deg)}.timeline details>p{padding-left:calc(clamp(4.2rem,16vw,15rem) + clamp(.8rem,1.7vw,1.6rem));max-width:60rem;padding-right:clamp(.3rem,3vw,3rem);font-size:clamp(.85rem,.75rem + .25vw,1rem);color:#53604f;margin-bottom:clamp(1.2rem,2vw,2rem)}.cv-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(1rem,3vw,3rem);margin-top:clamp(2rem,4vw,4rem)}.cv-extras h3{font-size:clamp(.85rem,.8rem + .13vw,.95rem);font-weight:700;letter-spacing:0;margin-bottom:1rem}.cv-extras p{font-size:clamp(.75rem,.69rem + .17vw,.88rem);color:var(--muted);line-height:1.9}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr));background:var(--ink);color:var(--paper)}.contact-image{overflow:hidden;position:relative;min-height:clamp(18rem,44vw,43rem)}.contact-image img{width:100%;height:100%;position:absolute;inset:0;filter:brightness(.76) saturate(.7);transition:transform .7s var(--ease)}.contact-image:hover img{transform:scale(1.025)}.contact-content{padding:clamp(3.8rem,6.5vw,6.5rem) var(--gutter)}.contact-content h2{font-size:clamp(2.8rem,4.5vw,4.85rem);margin:clamp(1.7rem,2.5vw,2.5rem) 0;line-height:1.13}.contact-content>p:not(.eyebrow){font-size:var(--body);color:#dce1d4}.contact-content .button{margin:.65rem 0 1.5rem}.contact-email{display:block;font-size:clamp(.85rem,.8rem + .13vw,.95rem)}footer{padding:clamp(2rem,3vw,3rem) var(--gutter) clamp(1.5rem,2vw,2rem)}.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1.2rem,2vw,2rem);padding-bottom:clamp(2rem,3vw,3rem)}.footer-top>a:not(.wordmark){display:flex;align-items:center;gap:.7rem;font-size:clamp(.75rem,.68rem + .2vw,.9rem)}.footer-bottom{border-top:.0625rem solid var(--line);padding-top:clamp(1.1rem,1.6vw,1.6rem);display:flex;flex-wrap:wrap;gap:clamp(1rem,2vw,2rem);align-items:baseline;font-size:clamp(.625rem,.58rem + .13vw,.75rem);color:var(--muted)}.motion-toggle{padding:0;font-size:var(--small);color:var(--ink);margin-left:auto}.credits{max-width:27rem}.credits summary{cursor:pointer}.credits p{font-size:var(--small);padding-top:.8rem}.motion-off *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:62em){.header-tools{margin-left:auto}.menu-toggle{display:block;border:.0625rem solid var(--line);padding:.55rem .8rem;border-radius:.2rem;min-height:2.6rem;font-size:clamp(.72rem,.67rem + .2vw,.85rem)}.nav{display:none;position:absolute;inset:calc(100% - .2rem) .7rem auto;background:var(--paper);padding:clamp(1.2rem,3vw,2rem);box-shadow:0 1.3rem 2rem #10251a1c;border:.0625rem solid var(--line);border-radius:.3rem}.nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:1rem;font-size:clamp(.85rem,.75rem + .3vw,1rem)}.nav .nav-contact{border-top:.0625rem solid var(--line);padding-top:1rem}.nav a{min-height:2rem}.hero-image{object-position:48% 57%}.question-panel{min-height:28rem}.story-intro{gap:clamp(2.5rem,6vw,5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Role-first cover, concrete profile examples, and a two-chapter company narrative. */
.hero .role-title{font-family:var(--serif);font-size:clamp(2.7rem,6.8vw,6.5rem);font-weight:400;font-style:italic;line-height:1.1;letter-spacing:-.04em;max-width:65rem;overflow-wrap:anywhere;text-wrap:balance;margin:clamp(2rem,5vw,5rem) auto}.profile-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr));gap:clamp(2rem,6vw,6rem);align-items:start;margin-bottom:clamp(3rem,5vw,5rem)}.profile-copy p{font-size:clamp(1.07rem,.88rem + .6vw,1.35rem);line-height:1.65;margin:0;max-width:42rem}.profile-strength{border-left:.0625rem solid #a6b396;padding-left:clamp(1.4rem,3vw,3rem);align-self:center}.profile-strength>span{font-size:var(--small);font-weight:700}.profile-strength>p{font-family:var(--serif);font-style:italic;font-size:clamp(1.45rem,2.3vw,2.1rem);line-height:1.4;margin:1rem 0 0;max-width:31rem}.work-panel{align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr))}.work-panel .question-panel{min-height:clamp(32rem,42vw,40rem)}.work-panel .question-text h3{font-size:clamp(1.6rem,2.6vw,2.4rem)}.work-highlights{margin:clamp(1.5rem,2.5vw,2.5rem) 0}.work-highlights>div{padding:clamp(.8rem,1.2vw,1.2rem) 0;border-top:.0625rem solid #bfc8b3}.work-highlights dt{font-size:clamp(.85rem,.79rem + .2vw,1rem);font-weight:700;margin-bottom:.35rem}.work-highlights dd{font-size:clamp(.85rem,.79rem + .2vw,.95rem);line-height:1.6;margin:0;color:#485a46}.work-media{min-width:0;background:#e2e4d9;padding:clamp(1.4rem,3vw,3rem)}.media-placeholder{display:flex;align-items:stretch;min-height:clamp(21rem,40vw,39rem);background:linear-gradient(130deg,#e9e7db,#d7dfd0)}.placeholder-frame{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:.0625rem dashed #89977e80;padding:clamp(1.5rem,3vw,3rem)}.placeholder-frame>span{font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;max-width:18rem}.placeholder-frame>p{font-size:var(--small);max-width:17rem;margin:1.4rem 0 0;color:var(--muted)}.document-placeholder{display:flex;flex-direction:column;justify-content:center;min-height:clamp(24rem,40vw,39rem)}.document-placeholder>h3{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.4vw,2.3rem);margin-bottom:clamp(1.5rem,3vw,3rem)}.document-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.5rem)}.document-sheet{aspect-ratio:1/1.42;padding:clamp(.7rem,1.8vw,1.8rem);border:.0625rem dashed #aeb7a3;background:#f6f4ee65;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.document-sheet>span{font-size:clamp(.58rem,.52rem + .19vw,.73rem);line-height:1.4;color:var(--muted)}.document-sheet>strong{font-family:var(--serif);font-weight:400;font-size:clamp(.9rem,.65rem + .9vw,1.6rem);line-height:1.3;overflow-wrap:anywhere}.document-placeholder>p{font-size:var(--small);margin:1.5rem 0 0;color:var(--muted)}.film-media{padding:clamp(1rem,1.8vw,1.7rem);display:flex;flex-direction:column;justify-content:center;background:#dedfd4}.embedded-film{aspect-ratio:16/9;position:relative;overflow:hidden;background:#173028;border-radius:.2rem}.embedded-film>iframe,.video-launch{width:100%;height:100%;position:absolute;inset:0;border:0}.video-launch{padding:0;display:block;color:var(--paper);isolation:isolate;overflow:hidden}.video-launch>img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.video-launch:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0b211de0);z-index:1}.video-launch:hover>img{transform:scale(1.02)}.play-control{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(3.2rem,5vw,4.4rem);aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--ink);font-size:clamp(1.3rem,2vw,1.8rem);z-index:2;transition:var(--transition)}.video-launch:hover .play-control{background:var(--sage);box-shadow:0 .5rem 2rem #0a241d40}.video-name{position:absolute;left:1rem;right:1rem;bottom:.8rem;text-align:left;font-size:clamp(.65rem,.59rem + .2vw,.85rem);z-index:2}.video-fallback{display:flex;align-items:center;gap:.4rem;font-size:var(--small);margin:.7rem 0 1.3rem}.work-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.6rem,1vw,1rem)}.work-stills>button{padding:0;overflow:hidden;border-radius:.2rem;background:#d0d4c4}.work-stills img{width:100%;aspect-ratio:1.4;object-fit:cover;object-position:center 35%;transition:transform .7s var(--ease)}.work-stills>button:hover img{transform:scale(1.025)}.stills-caption{font-size:var(--small);margin:.8rem 0 0;color:var(--muted)}.photo-dialog{width:min(92vw,58rem);max-height:92svh;padding:clamp(.6rem,1.8vw,1.5rem);border:0;border-radius:.2rem;background:var(--paper);overflow:auto}.photo-dialog::backdrop{background:#0d2118d9}.photo-dialog>img{width:100%;max-height:78svh;object-fit:contain}.dialog-close{display:block;margin:0 0 .8rem auto;padding:.7rem 1rem;background:var(--ink);color:var(--paper);border-radius:.2rem;font-size:var(--small)}.portrait-wrap>img{filter:none;object-position:center 37%;aspect-ratio:4/5}.company{background:#e9eddf}.company-opening{max-width:77rem}.company-opening>h2{font-family:var(--serif);font-style:italic;font-size:clamp(2.5rem,5.7vw,5.5rem);max-width:62rem;line-height:1.15;margin-bottom:clamp(2.5rem,5vw,5rem)}.company-reason{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:clamp(.8rem,3.5vw,3.5rem);max-width:56rem;margin-left:auto}.company-reason>p{font-size:clamp(1rem,.87rem + .4vw,1.25rem);margin:0;line-height:1.65}.approach{background:var(--paper)}.approach-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:clamp(1.5rem,3vw,3rem);margin-bottom:clamp(2.5rem,4vw,4rem)}.approach-header>h2{font-size:clamp(2.2rem,4vw,3.7rem);max-width:37rem}.approach-header>p{font-size:var(--body);max-width:26rem;margin:0}.approach-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:clamp(1.2rem,4vw,4rem);padding:clamp(2rem,4vw,4rem) 0;border-top:.0625rem solid #bac4ad}.approach-row>h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);font-style:italic;max-width:29rem;line-height:1.2}.approach-row>div>p{font-size:clamp(.95rem,.86rem + .3vw,1.15rem);line-height:1.65;max-width:37rem}.approach-row .approach-question{border-left:.0625rem solid #a3b28f;padding-left:clamp(1rem,2vw,2rem);margin:clamp(1.5rem,2.5vw,2.5rem) 0 0}.approach-question>span{display:block;font-size:var(--small);font-weight:700;margin-bottom:.5rem}.story{padding-top:clamp(3rem,5vw,5rem)}

.gallery-media{display:flex;align-items:center;justify-content:center;padding:clamp(1rem,2vw,2rem)}.asset-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:clamp(1rem,2vw,2rem);width:100%}.asset-previews figure{margin:0;min-width:0}.asset-open{display:block;width:100%;padding:0;background:transparent;border:0;cursor:pointer}.asset-open img{width:100%;height:auto;object-fit:contain;transition:filter .4s var(--ease)}.asset-open:hover img{filter:brightness(.95)}.asset-previews figcaption{padding-top:.8rem;line-height:1.45}.asset-previews figcaption>span{display:block;font-size:var(--small);color:var(--muted);margin-bottom:.3rem}.asset-previews figcaption>strong{font-size:clamp(.85rem,1.1vw,1.05rem);font-weight:500}.workshop-media .asset-previews{grid-template-columns:1fr}.workshop-media .asset-open img{max-height:36rem;object-fit:contain}.gallery-media .photo-dialog>img{height:auto;max-height:78svh;object-fit:contain}

.approach-outcome{padding:clamp(1rem,2vw,1.7rem);background:#e9eddf;border-radius:.2rem;margin-block:1.5rem}.approach-outcome>strong{display:block;font-size:var(--small);margin-bottom:.5rem}.company-reason{display:block;max-width:51rem}.company-reason>p+p{margin-top:1.6rem}
/* Focused application cover and a guided, centred portfolio module. */
.hero .role-title{font-family:Satoshi,Arial,sans-serif;font-style:normal;font-weight:500;font-size:clamp(1.6rem,6.2vw,6.2rem);line-height:1.1;letter-spacing:-.05em;overflow-wrap:normal;max-width:100%}
.background-showcase{width:100%;max-width:78rem;margin:clamp(3rem,6vw,6rem) auto 0}
.background-introduction{text-align:center;max-width:43rem;margin:0 auto clamp(1.5rem,3vw,3rem)}
.background-introduction h2{font-family:Satoshi,Arial,sans-serif;font-style:normal;font-size:clamp(1.6rem,2.6vw,2.7rem);line-height:1.2;margin-bottom:.8rem}
.background-introduction p{color:var(--muted);font-size:var(--body);margin:0}
.background-showcase .background-tabs{width:fit-content;max-width:100%;margin:0 auto clamp(1.5rem,2.5vw,2.5rem);justify-content:center;border:0;gap:.5rem}
.background-showcase .background-tabs button{border:0;border-radius:.2rem;padding:.8rem 1rem}
.background-showcase .background-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.background-showcase .work-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));box-shadow:0 1rem 3rem #203c3508}
.background-showcase .work-panel .question-panel{min-height:0}
.company-reason{max-width:100%;margin-left:0}
.company-point{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.8rem,3vw,3rem) 0;border-top:.0625rem solid #bfc8b3}
.company-point h3{font-family:Satoshi,Arial,sans-serif;font-style:normal;font-weight:500;font-size:clamp(1.15rem,2vw,2rem);line-height:1.3}
.company-point p{margin:0;max-width:57ch}
.proposal-steps{margin-block:1.8rem}
.proposal-steps h4{font-family:inherit;font-size:var(--small);font-weight:700;line-height:1.5;margin:0 0 .9rem}
.proposal-steps ol{padding-left:1.3rem;margin:0;display:grid;gap:.9rem}
.proposal-steps li{padding-left:.3rem;font-size:var(--body);line-height:1.65}
.approach-row .approach-outcome{margin:1.8rem 0 0;border:0;border-top:.0625rem solid #bac4ad;border-radius:0;background:transparent;padding:1.3rem 0 0}
.approach-row .approach-outcome>strong{font-size:var(--small);margin-bottom:.5rem}
@media(width < 45rem){.company-point{grid-template-columns:1fr;gap:.8rem}}
.skip-link{opacity:0;pointer-events:none}.skip-link:focus{opacity:1;pointer-events:auto}

/* Portrait at first introduction; a winding path for the personal story. */
.profile-overview{align-items:center;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.profile-portrait{width:100%;max-width:25rem;justify-self:end;overflow:hidden;border-radius:.2rem}
.profile-portrait img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 35%}
.proposal-heading .eyebrow{display:block;margin-bottom:clamp(.6rem,1vw,1rem);color:var(--muted);font-size:clamp(.72rem,.85vw,.85rem)}
.approach-row .approach-outcome{margin:clamp(1.4rem,2.5vw,2rem) 0 0;padding:clamp(1.2rem,2.5vw,1.8rem);background:var(--sage);border:0;border-radius:.25rem;color:var(--ink)}
.approach-row .approach-outcome>strong{display:block;font-size:clamp(.75rem,.95vw,.9rem);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem}
.journey-art{background:#e9ecdf;border-radius:.25rem;align-self:start;overflow:hidden}
.journey-art svg{display:block;width:100%;height:auto}
.journey-guide{fill:none;stroke:#d0d8c1;stroke-width:30;stroke-linecap:round}
.journey-line{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round}
.journey-art circle{fill:var(--ink);stroke:#e9ecdf;stroke-width:3}
.journey-art text{font-family:Satoshi,Arial,sans-serif;font-size:clamp(.85rem,1.05vw,1rem);fill:var(--ink)}
@media(max-width:45rem){.profile-overview{grid-template-columns:1fr}.profile-portrait{justify-self:start;max-width:22rem}.journey-art{max-width:30rem;width:100%;justify-self:center}}

.profile-superpower{margin-top:clamp(1.6rem,3vw,2.5rem);padding-left:clamp(1rem,2vw,1.5rem);border-left:.15rem solid var(--ink);max-width:38rem}.profile-superpower>span{font-size:clamp(.72rem,.9vw,.85rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-superpower>p{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.6;margin:.65rem 0 0;color:var(--ink)}

/* A continuous editorial rhythm for the three placement ideas. */
.approach-header{margin-bottom:clamp(1.5rem,4vw,3rem)}
.approach-directions{position:relative}
.approach-row{position:relative;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,6vw,6rem);padding:clamp(2rem,5vw,4.5rem) 0;border-top:.0625rem solid var(--line)}
.proposal-heading{position:relative;padding-left:clamp(2.5rem,4vw,4rem)}
.proposal-number{position:absolute;left:0;top:0;font-size:clamp(.8rem,1vw,1rem);color:var(--muted);font-variant-numeric:tabular-nums}
.proposal-heading h3{font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.12;font-weight:500;letter-spacing:-.04em;margin:0;max-width:20rem}
.proposal-heading .eyebrow{margin-bottom:clamp(.8rem,1.5vw,1.4rem)}
.approach-row>div>p:first-child{margin-top:0}
.approach-row .approach-question{border:0;padding:0;margin-top:clamp(1.2rem,2vw,1.8rem);color:var(--muted)}
.approach-row .approach-question span{color:var(--ink);font-size:clamp(.75rem,.95vw,.9rem)}
.approach-row .approach-outcome{border-radius:.65rem;padding:clamp(1.3rem,2.6vw,2rem);background:#e4e9d8;max-width:none}
.parallel-journey{padding:clamp(1.1rem,3vw,2.5rem) clamp(.5rem,1vw,1rem) clamp(1.2rem,2vw,2rem)}
.journey-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;text-align:center;padding:0 .5rem}
.journey-labels span{font-size:clamp(.7rem,1.05vw,.95rem);line-height:1.4;font-weight:500}
.parallel-journey svg{margin-top:clamp(1rem,2vw,1.7rem)}
.parallel-journey .journey-guide{stroke-width:19}
.parallel-journey g:nth-child(2) .journey-guide{stroke:#bdcbb0}
.parallel-journey g:nth-child(3) .journey-guide{stroke:#c9d5ce}
.journey-footer{text-align:center;font-size:clamp(.85rem,1.2vw,1.05rem);color:var(--ink);margin:clamp(.8rem,2vw,1.5rem) 0 0}
@media(max-width:45rem){.approach-row{grid-template-columns:1fr}.proposal-heading{padding-left:2.5rem}.approach-row>div:last-child{padding-left:2.5rem}}

.journey-heading{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:500;line-height:1.25;text-align:center;letter-spacing:-.025em;margin:0 clamp(.5rem,1vw,1rem) clamp(1.5rem,3vw,2.5rem)}

.intro .profile-overview{margin-bottom:0}.expertise .background-showcase{margin-top:0}.expertise{padding-top:clamp(2.5rem,5vw,5rem)}

/* Personal image spaces and a clearer mobile reading sequence. */
.hero-image-note{position:absolute;left:clamp(1rem,2vw,2rem);bottom:clamp(1rem,2vw,2rem);font-size:clamp(.7rem,.9vw,.85rem);letter-spacing:.04em;color:#e2e7db}
.personal-image-placeholder{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin:0 0 clamp(3rem,6vw,6rem)}
.personal-image-placeholder img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.3rem}
.personal-image-placeholder figcaption strong{display:block;font-size:clamp(1.3rem,2.1vw,2rem);font-weight:500;line-height:1.25;max-width:18rem}
.personal-image-placeholder figcaption p{font-size:clamp(.85rem,1.1vw,1rem);line-height:1.65;color:var(--muted);max-width:26rem;margin:clamp(.8rem,2vw,1.4rem) 0 0}
.parallel-journey .journey-open{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.journey-labels span{font-size:clamp(.82rem,1.05vw,.95rem)}
@media(max-width:45rem){
.profile-portrait{order:-1;max-width:15rem}.profile-overview{gap:clamp(1.5rem,5vw,2rem)}
.personal-image-placeholder{grid-template-columns:1fr;gap:1.2rem}.personal-image-placeholder figcaption strong{max-width:none}
.story-intro{display:flex;flex-direction:column;gap:clamp(1.5rem,5vw,2rem)}.story-copy{display:contents}.story-opening{order:0}.parallel-journey{order:1}.story-body{order:2}.story-opening>p:last-child,.story-body>p:first-child{margin-bottom:0}.story-body>p:first-child{margin-top:0}
.journey-labels{gap:.65rem}.hero-image-note{max-width:80%;line-height:1.5}
}

/* Personal photographs: preserve the people and the landscape. */
.hero .hero-image{object-fit:cover;object-position:50% 48%;filter:none}
.personal-experience-photo{margin:0 0 clamp(3rem,6vw,6rem);width:100%}
.personal-experience-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:.3rem}
@media(max-width:45rem){.hero .hero-image{object-position:34% 50%}.personal-experience-photo{margin-bottom:clamp(2rem,6vw,3rem)}}

/* Full photographs in their original proportions, without hover cropping. */
.work-stills{align-items:start}
.work-stills>button{background:transparent;overflow:visible;align-self:start}
.work-stills img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.work-stills>button:hover img{transform:none}
.hero .hero-image{object-position:50% 46%}
@media(max-width:45rem){.hero .hero-image{object-position:56% 50%}}

/* Compact personal imagery alongside the statement, not a full-width interruption. */
.company-introduction{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.company-introduction>h2{font-family:var(--serif);font-style:italic;font-size:clamp(2.5rem,5.2vw,5rem);line-height:1.15;margin:0;max-width:45rem}
.experience-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.4rem,.9vw,.8rem);width:100%;max-width:23rem;justify-self:end}
.experience-collage figure{margin:0;aspect-ratio:1;overflow:hidden;border-radius:.2rem}
.experience-collage img{display:block;width:100%;height:100%;object-fit:cover}
.experience-collage figure:nth-child(1) img{object-position:34% 50%}
.experience-collage figure:nth-child(2) img{object-position:50% 50%}
.experience-collage figure:nth-child(3) img{object-position:43% 56%}
.experience-collage figure:nth-child(4) img{object-position:57% 43%}
@media(max-width:45rem){.company-introduction{grid-template-columns:1fr;gap:1.8rem}.experience-collage{max-width:20rem;justify-self:start;width:85%}}

/* Four-image interlude after the complete company section. */
.landfolk-image-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.4rem,1vw,1rem);padding:clamp(.4rem,1vw,1rem) clamp(.6rem,1.4vw,1.3rem);background:var(--paper)}
.landfolk-image-strip figure{margin:0;min-width:0;overflow:hidden;border-radius:.2rem}
.landfolk-image-strip img{display:block;width:100%;height:auto;aspect-ratio:auto}
@media(max-width:45rem){.landfolk-image-strip{grid-template-columns:repeat(4,minmax(65vw,1fr));overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:1rem;padding:1rem;gap:.7rem}.landfolk-image-strip figure{scroll-snap-align:start}}
.landfolk-image-strip figure{aspect-ratio:4/5}.landfolk-image-strip img{height:100%;object-fit:cover;object-position:center}
/* Continuous edge-to-edge image strip. */
.landfolk-image-strip{padding:0;gap:0}
.landfolk-image-strip figure{border-radius:0}
@media(max-width:45rem){.landfolk-image-strip{padding:0;gap:0;scroll-padding-inline:0}}
