@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#111210;--fg:#f1f0e9;--muted:#a6a79d;--line:#34362e;--lime:#d4ff63}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:var(--bg);background:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;background:var(--lime);color:#111;padding:12px;z-index:20}.skip:focus{top:10px}header{height:100px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:31px;font-weight:800;letter-spacing:-2px}.brand span{color:var(--lime);font-size:16px;vertical-align:top;letter-spacing:0;margin-left:4px}nav{display:flex;align-items:center;gap:40px;font-size:14px}nav a:hover,footer a:hover{color:var(--lime)}.nav-contact{border:1px solid #676a59;border-radius:40px;padding:11px 22px}.nav-contact span{margin-left:20px;color:var(--lime)}.hero{max-width:1600px;margin:auto;padding:34px 5% 0;min-height:790px;position:relative;overflow:hidden}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;color:var(--muted)}.hero-copy{position:relative;z-index:2;padding:45px 0 55px;pointer-events:none;max-width:650px}.hero-copy a{pointer-events:auto}.intro{font-size:16px;margin:0 0 20px}h1{font-family:Manrope,sans-serif;font-size:clamp(64px,6.85vw,112px);letter-spacing:-.065em;line-height:1.035;margin:0;font-weight:650}h1 span{color:var(--lime)}.hero-description{color:var(--muted);margin:26px 0;font-size:16px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 26px;border-radius:40px;font-size:14px;font-weight:600;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.primary{background:var(--lime);color:#171c0b}.primary:hover{background:#e0ff94}.primary span{font-size:22px;line-height:1}.outline{border:1px solid #686c5b}.outline:hover{background:#25291b}.sculpture{position:absolute;width:60%;height:590px;right:-3%;top:83px}canvas{display:block;width:100%;height:100%;touch-action:pan-y}.orb-label{position:absolute;bottom:78px;right:15%;font-size:12px;letter-spacing:1px;color:var(--muted)}.cross{font-size:21px;color:var(--lime);margin-right:12px}.coordinate{position:absolute;right:15%;top:40px;color:#868978;letter-spacing:1px;font-size:12px}.motion{position:absolute;right:15%;bottom:36px;color:var(--muted);background:none;border:0;border-bottom:1px solid #5c614b;padding:3px 0;font-size:12px;cursor:pointer}.hero-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-size:11px;letter-spacing:1.3px;color:var(--muted);position:relative;z-index:3}.scroll-line{display:inline-block;height:25px;width:1px;background:var(--lime);vertical-align:middle;margin-left:18px}.discipline-strip{background:var(--lime);color:#1d250f;display:flex;justify-content:space-around;gap:30px;padding:24px 3%;font-size:clamp(15px,2vw,28px);font-family:Manrope,sans-serif;font-weight:650;letter-spacing:-.5px;white-space:nowrap;overflow:hidden}.discipline-strip b{font-size:30px}.section{max-width:1600px;margin:auto;padding:105px 5%;border-bottom:1px solid var(--line)}.section-label{font-size:12px;letter-spacing:1.4px;color:var(--muted);margin-bottom:30px}.about,.capabilities{display:grid;grid-template-columns:1fr 2fr;gap:65px}h2{font-family:Manrope,sans-serif;font-size:clamp(36px,4vw,61px);line-height:1.13;letter-spacing:-.045em;font-weight:500;margin:0 0 32px}em{font-style:normal;color:var(--muted)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:40px}.about-body p,.card-info p,.section-top>p,.retail>p,.cap-row p,.timeline p,.contact p{color:var(--muted);margin:0;line-height:1.75}.text-link{display:inline-block;margin-top:28px;border-bottom:1px solid #899071;padding-bottom:6px;font-size:14px}.text-link:hover{color:var(--lime)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:50px}.section-top h2{margin-bottom:0}.section-top>p{font-size:14px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;perspective:1400px}.work-card{transition:transform .25s;will-change:transform;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#171814;transform-style:preserve-3d}.card-visual{height:330px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.campaign{background:#d2edb6;color:#1b3a26}.visual-header,.visual-bottom{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;font-weight:600}.campaign-type,.design-type{font-family:Manrope,sans-serif;font-size:clamp(28px,3.6vw,53px);font-weight:750;line-height:1.08;letter-spacing:-2px}.campaign-type em{color:#548151}.visual-bottom{gap:10px;justify-content:flex-start}.visual-bottom span{border-top:1px solid currentColor;padding-top:10px;flex:1}.design{background:#d0c4ed;color:#332945}.design-type em{color:#705786}.design-tags{display:flex;gap:7px;flex-wrap:wrap}.design-tags span{font-size:11px;border:1px solid #9584ad;border-radius:20px;padding:4px 10px}.card-info{padding:28px}.tiny{font-size:11px;letter-spacing:1.2px;color:var(--muted)}h3{font-size:22px;letter-spacing:-.5px;font-weight:500;line-height:1.35;margin:12px 0}.card-info>p{font-size:15px}.card-info details{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.card-info summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font-size:14px}.card-info summary::-webkit-details-marker{display:none}.card-info summary span{color:var(--lime);font-size:20px}.card-info details[open] summary span{transform:rotate(45deg)}.card-info details p{font-size:14px;padding-top:20px}.impact{margin:50px 0 0;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:50px;border-top:1px solid var(--line);padding:42px 0}.impact h3{font-size:29px}.impact strong{font-family:Manrope,sans-serif;font-size:75px;color:var(--lime);font-weight:500;line-height:1.2;letter-spacing:-4px}.impact strong span{font-size:40px}.impact p{font-size:14px;color:var(--muted);margin:9px 0}.retail{display:grid;grid-template-columns:1fr 1.3fr 1.5fr;gap:35px;border-top:1px solid var(--line);padding-top:35px;align-items:start}.retail h3{margin:0;font-size:22px}.retail>p{font-size:14px}.cap-row{display:grid;grid-template-columns:35px 1.5fr 1fr;gap:20px;border-top:1px solid var(--line);padding:27px 0}.cap-row>span{font-size:12px;color:var(--lime);padding-top:7px}.cap-row h3{margin:0;font-size:24px}.cap-row p{font-size:14px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding-top:30px}.timeline>div>span{font-size:12px;color:var(--lime);letter-spacing:1px}.timeline h3{margin-top:20px}.timeline p{font-size:14px}.education{border-top:1px solid var(--line);margin-top:45px;padding-top:28px;display:flex;gap:60px;font-size:14px}.education>span{color:var(--muted);font-size:11px;letter-spacing:1px}.education p{margin:0}.education p span{color:var(--muted)}.contact{background:#181b13}.contact h2{font-size:clamp(40px,5.7vw,85px)}.contact h2 em{color:var(--lime)}.contact-email{display:inline-block;font-size:clamp(19px,3vw,40px);border-bottom:1px solid #69734e;line-height:1.6;letter-spacing:-1px}.contact-email:hover{color:var(--lime)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:25px}.contact p{font-size:14px}footer{max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:36px 5%;gap:25px}footer>span{font-size:12px;color:var(--muted)}footer>div{display:flex;gap:25px;font-size:14px}@media(min-width:1600px){.hero{min-height:920px}.sculpture{height:780px}}@media(max-width:900px){.hero{min-height:auto}.hero-copy{padding-top:40px;max-width:65%}h1{font-size:74px}.sculpture{width:65%;right:-15%;top:100px;height:570px}.orb-label,.coordinate{display:none}.motion{right:30%;bottom:30px}.about,.capabilities{grid-template-columns:1fr;gap:10px}.section{padding:75px 6%}.section-top>p{display:none}.retail{grid-template-columns:1fr 2fr}.retail>p{grid-column:2}.impact{gap:25px}.impact strong{font-size:62px}.hero-footer{font-size:10px}.hero-footer>span:last-child{display:none}}@media(max-width:600px){header{height:80px;padding:0 6%}.brand{font-size:28px}nav{gap:18px;font-size:12px}.nav-contact{padding:8px 14px}.nav-contact span{display:none}nav>a:first-child{display:none}.hero{padding:24px 6% 0}.eyebrow{font-size:9px;letter-spacing:1px}.eyebrow>span:last-child{display:none}.hero-copy{padding-top:35px;max-width:100%}h1{font-size:clamp(53px,12.6vw,75px)}.intro{font-size:14px}.hero-description{font-size:14px}.sculpture{position:relative;width:112%;height:330px;top:auto;right:auto;margin:-65px -6% 0}.orb-label{display:block;bottom:35px;right:12%;font-size:10px}.motion{right:12%;bottom:8px}.hero-footer{margin-top:20px;font-size:9px;letter-spacing:.8px;line-height:1.8}.hero-description br{display:none}.discipline-strip{justify-content:flex-start;gap:24px;padding:15px 6%;font-size:16px}.discipline-strip b{font-size:22px}.section{padding:60px 6%}.section-label{font-size:10px;letter-spacing:1px}.about-body{grid-template-columns:1fr;gap:20px}.about-body p{font-size:15px}.work-grid{grid-template-columns:1fr;gap:30px}.card-visual{height:290px}.campaign-type,.design-type{font-size:40px}.card-info{padding:23px}.impact{grid-template-columns:1fr 1fr;gap:20px}.impact>div:first-child{grid-column:1/-1}.impact strong{font-size:58px}.impact p{font-size:12px}.retail{grid-template-columns:1fr;gap:16px}.retail>p{grid-column:auto}.cap-row{grid-template-columns:25px 1fr;gap:10px}.cap-row h3{font-size:22px}.cap-row p{grid-column:2}.section-top{flex-direction:column;align-items:flex-start;margin-bottom:35px}.timeline{grid-template-columns:1fr;gap:28px}.timeline>div{border-bottom:1px solid var(--line);padding-bottom:20px}.education{flex-direction:column;gap:14px}.contact-bottom{flex-direction:column;align-items:flex-start}footer{flex-wrap:wrap;padding:30px 6%}footer>div{width:100%}.button{font-size:13px;padding:14px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Portfolio edition: animated identity, real projects and complete career. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{min-height:760px}.hero-copy{padding-top:70px;padding-bottom:90px;max-width:70%}.hero h1{font-size:clamp(64px,6.6vw,105px);line-height:1.1}.role-line{margin-top:30px;min-height:95px}.role-prefix{font-size:16px;color:var(--muted)}.role-stage{font-family:Manrope,sans-serif;font-size:clamp(25px,2.7vw,43px);font-weight:600;letter-spacing:-1px;min-height:1.5em;display:flex;align-items:center}.type-cursor{width:2px;height:1em;background:var(--lime);display:inline-block;margin-left:5px;animation:caret 1s steps(1) infinite}.motion-stopped .type-cursor{animation:none}.sculpture{top:60px;right:-7%;width:55%;height:570px}.hero-description{margin:17px 0 25px}.hero-footer{margin-top:20px}.portfolio{background:#151612}.portfolio-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.project-filters{display:flex;gap:10px;flex-wrap:wrap}.project-filters button{border:1px solid #3b3e32;background:transparent;color:var(--muted);padding:10px 21px;border-radius:30px;cursor:pointer;font-size:14px;transition:background .2s,color .2s}.project-filters button[aria-pressed=true]{background:var(--lime);color:#111;border-color:var(--lime)}.project-filters button:hover{border-color:var(--lime);color:var(--fg)}.project-filters button[aria-pressed=true]:hover{color:#111}#project-count{font-size:13px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 26px}.project-card[hidden]{display:none}.project-card a{display:block}.project-cover{aspect-ratio:404/316;overflow:hidden;border-radius:12px;position:relative;background:#22251c;border:1px solid #343a28}.project-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .5s}.project-card:hover img,.project-card:focus-within img{transform:scale(1.05);filter:brightness(.7)}.project-open{position:absolute;left:50%;top:50%;transform:translate(-50%,-30%);padding:13px 20px;border-radius:30px;background:var(--lime);color:#14190e;white-space:nowrap;font-size:13px;opacity:0;transition:opacity .3s,transform .3s}.project-card:hover .project-open,.project-card:focus-within .project-open{opacity:1;transform:translate(-50%,-50%)}.project-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:18px}.project-card h3{font-size:20px;margin-top:7px}.experience-entry{display:grid;grid-template-columns:1fr 2.2fr;gap:65px;padding:46px 0;border-top:1px solid var(--line)}.experience-date{position:relative}.experience-number{font-size:47px;line-height:1;font-family:Manrope,sans-serif;letter-spacing:-3px;color:#606651}.experience-date p{font-size:14px;color:var(--muted);margin:18px 0}.current-role{display:inline-block;color:var(--lime);border:1px solid #46532e;border-radius:20px;padding:5px 12px;font-size:11px;letter-spacing:1px}.company-name{color:var(--lime);font-size:18px;margin:0}.experience-content h3{font-family:Manrope,sans-serif;font-size:30px;margin:8px 0 12px;letter-spacing:-1px}.employment-meta{font-size:13px;color:var(--muted);margin:0}.experience-content ul{padding:0;list-style:none;margin:24px 0 0;display:grid;gap:12px}.experience-content li{padding-left:21px;position:relative;color:#b9bbaf;font-size:16px;line-height:1.7}.experience-content li::before{content:'+';position:absolute;left:0;color:#7d8e53}.experience-entry:hover .experience-number{color:var(--lime)}@keyframes caret{50%{opacity:0}}@media(min-width:1600px){.hero{min-height:830px}.sculpture{height:650px}}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:80%}.hero h1{font-size:68px}.sculpture{right:-12%;width:60%;height:520px;top:95px}.orb-label{display:none}.experience-entry{gap:30px}}@media(max-width:600px){header nav{gap:13px}nav>a:first-child{display:block}nav>a[href="#about"]{display:none}nav>a[href="#experience"]{display:none}.hero-copy{max-width:100%;padding-top:40px;padding-bottom:40px}.hero{min-height:0}.hero h1{font-size:clamp(46px,11.5vw,69px)}.role-line{min-height:99px;margin-top:24px}.role-stage{font-size:clamp(20px,5.4vw,32px);letter-spacing:-.65px}.sculpture{position:relative;right:auto;top:auto;width:112%;height:330px;margin:-20px -6% 0}.orb-label{display:block}.hero-footer{margin-top:20px}.portfolio-controls{display:block}.project-filters{gap:8px}.project-filters button{font-size:12px;padding:9px 14px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card h3{font-size:22px}.project-open{opacity:1;top:auto;bottom:14px;left:14px;transform:none;padding:8px 12px;font-size:11px}.project-card:hover .project-open,.project-card:focus-within .project-open{transform:none}.experience-entry{grid-template-columns:1fr;gap:22px;padding:32px 0}.experience-date{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.experience-date p{margin:0}.experience-number{font-size:30px;letter-spacing:-1px}.experience-content h3{font-size:26px}.experience-content li{font-size:15px}.company-name{font-size:16px}.current-role{font-size:9px;padding:4px 8px}}@media(prefers-reduced-motion:reduce){.type-cursor{animation:none}.project-cover img{transition:none}}
.portfolio-intro{color:var(--muted);max-width:660px;margin:-20px 0 32px;font-size:16px}.portfolio-controls{align-items:flex-start}.project-filters{gap:8px}.project-filters button{padding:9px 16px}.collection-open{display:block;text-align:left;width:100%;background:none;border:0;color:inherit;padding:0;cursor:pointer;font:inherit}.collection-description{color:var(--muted);font-size:14px;line-height:1.6;margin:8px 0 0}.collection-open .project-cover img{object-position:top}#collection-dialog{background:#191b15;color:var(--fg);border:1px solid #4a513b;border-radius:18px;padding:26px;width:min(1040px,94vw);max-height:90vh;overflow:auto;overscroll-behavior:contain}#collection-dialog::backdrop{background:#080a08df;backdrop-filter:blur(8px)}.collection-dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;position:sticky;top:-26px;background:#191b15;padding:16px 0;z-index:1}.collection-dialog-top h2{font-size:30px;margin:7px 0 0}.collection-dialog-top>div>span{color:var(--lime);font-size:13px}#close-collection{background:#2c3122;color:var(--fg);border:1px solid #50583e;border-radius:30px;padding:9px 15px;cursor:pointer;font-size:14px;white-space:nowrap}#close-collection span{font-size:20px;margin-left:8px}#collection-description{color:var(--muted);font-size:16px;margin:4px 0 22px}#collection-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}#collection-links:empty{display:none}#collection-links a{background:var(--lime);color:#151b0c;border-radius:25px;padding:10px 18px;font-size:14px}#collection-full{display:block;width:100%;height:auto;border-radius:8px}body:has(#collection-dialog[open]){overflow:hidden}@media(max-width:600px){.portfolio-controls{display:block}.portfolio-intro{margin-top:-12px}.project-filters button{font-size:12px;padding:8px 12px}#collection-dialog{padding:16px;width:96vw;max-height:94vh}.collection-dialog-top{top:-16px}.collection-dialog-top h2{font-size:22px}#close-collection{padding:7px 12px}#collection-description{font-size:14px}}
.about{grid-template-columns:minmax(240px,1fr) 1.65fr;align-items:center;gap:65px}.portrait{margin:0;border-radius:14px;overflow:hidden;background:#0b0c0b;border:1px solid var(--line)}.portrait img{display:block;width:100%;height:auto;max-height:510px;object-fit:cover;object-position:center 25%}.portrait figcaption{padding:19px 21px;font-size:18px}.portrait figcaption span{display:block;font-size:10px;color:var(--muted);letter-spacing:1.2px;margin-top:4px}.about-body{grid-template-columns:1fr;gap:22px}@media(max-width:900px){.about{grid-template-columns:1fr;gap:35px}.portrait-column{max-width:400px}.portrait img{max-height:430px}.about-body{grid-template-columns:1fr 1fr}}@media(max-width:600px){.about-body{grid-template-columns:1fr}.portrait-column{max-width:100%;width:100%}.portrait img{max-height:460px}}
.project-cover{aspect-ratio:1/1;background:#e8e8e3}.project-cover img{object-fit:contain;object-position:center!important}.project-card:has(a) .project-cover{background:#20231b}.project-card:has(a) .project-cover img{object-fit:cover}.gallery-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:45px}.gallery-more p{font-size:14px;color:var(--muted)}#load-more[hidden]{display:none}.artwork-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:8px 0 15px}.artwork-navigation button{background:transparent;border:1px solid #555d44;color:var(--fg);padding:8px 18px;border-radius:25px;cursor:pointer;font-size:14px}.artwork-navigation button:disabled{opacity:.35;cursor:default}#artwork-position{font-size:13px;color:var(--muted)}#collection-full{max-height:68vh;width:100%;object-fit:contain;background:#10110e;border-radius:8px}.collection-dialog-top h2{font-size:26px}#collection-description{font-size:14px;margin-bottom:12px}#collection-links{margin-bottom:14px}#collection-dialog{width:min(1080px,94vw)}@media(max-width:600px){.project-filters{gap:7px}.project-cover{aspect-ratio:1/1}.collection-dialog-top h2{font-size:21px}#collection-dialog{width:96vw}.portrait img{object-fit:cover}}
.contact-phones{display:flex;flex-wrap:wrap;gap:25px 70px;margin-top:30px}.contact-phones a{display:flex;flex-direction:column;gap:7px}.contact-phones span{font-size:12px;letter-spacing:1.4px;color:var(--muted)}.contact-phones strong{font-size:22px;font-weight:500}.contact-phones a:hover strong{color:var(--lime)}.scroll-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.scroll-reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}@media(max-width:600px){.contact-phones{gap:22px 35px}.contact-phones strong{font-size:20px}}
/* Creative toolkit and reference-inspired motion. */
.creative-tools{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.65fr;gap:55px 65px;border-top:1px solid var(--line);padding-top:90px;margin-top:45px}.toolkit-intro{position:sticky;top:70px;align-self:start}.toolkit-intro h2{font-size:clamp(38px,4vw,58px)}.toolkit-intro>p{color:var(--muted);max-width:330px;font-size:16px;line-height:1.8}.toolkit-note{display:flex;gap:17px;margin-top:32px;font-size:11px;color:var(--lime);letter-spacing:1.4px}.toolkit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tool-card{position:relative;border:1px solid #353a2c;background:linear-gradient(135deg,#1d2018,#141610);border-radius:16px;padding:26px 22px 30px;overflow:hidden;min-height:222px;transition:border-color .35s,background .35s,box-shadow .35s}.tool-card:hover{border-color:var(--tool-color);box-shadow:0 14px 36px #0003}.tool-badge{display:flex;align-items:center;justify-content:center;width:49px;height:49px;border-radius:13px;font-size:23px;letter-spacing:-1px;font-weight:600;background:#0d110c;color:var(--tool-color);border:1px solid #404832;transition:transform .4s cubic-bezier(.2,.7,.3,1)}.tool-card:hover .tool-badge{transform:translateY(-3px) rotate(-5deg)}.tool-info h3{font-size:18px;letter-spacing:-.4px;margin:18px 0 7px}.tool-info p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 15px}.tool-level{font-size:10px;letter-spacing:1px;color:var(--tool-color)}.tool-rule{position:absolute;left:22px;bottom:0;right:22px;height:2px;background:var(--tool-color);transform:scaleX(0);transform-origin:left;opacity:.65;transition:transform 1s cubic-bezier(.16,1,.3,1) .25s}.tool-card.is-visible .tool-rule{transform:scaleX(1)}.supporting-tools{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.65fr;gap:65px;border-top:1px solid var(--line);padding-top:26px}.supporting-tools h3{font-size:16px;margin:0 0 9px}.supporting-tools p{font-size:14px;color:var(--muted);margin:0}.page-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.motion-heading .motion-word{display:inline-block;opacity:0;filter:blur(7px);transform:translateY(22px);transition:opacity .8s ease,filter .9s ease,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--word-delay,0s)}.motion-heading.is-visible .motion-word{opacity:1;filter:blur(0);transform:translateY(0)}.scroll-reveal{transition-duration:.85s;transition-timing-function:cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms);transform:translateY(32px)}.scroll-reveal.is-visible{transform:none}.portrait img{transition:transform .2s linear;will-change:transform}.project-cover img{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .5s}.project-card:hover img{transform:scale(1.035)}body.motion-stopped .motion-word{opacity:1;filter:none;transform:none;transition:none}body.motion-stopped .scroll-reveal{opacity:1;transform:none;transition:none}body.motion-stopped .portrait img{transform:none!important}body.motion-stopped .tool-badge{transform:none!important}body.motion-stopped .tool-rule{transform:scaleX(1);transition:none}@media(max-width:1000px){.creative-tools{grid-template-columns:1fr;gap:35px;padding-top:65px}.toolkit-intro{position:static}.toolkit-intro>p{max-width:580px}.supporting-tools{grid-template-columns:1fr 1fr;gap:25px}.tools-nav{display:none}}@media(max-width:600px){.creative-tools{padding-top:48px;margin-top:20px}.toolkit-grid{gap:12px}.tool-card{padding:20px 16px 25px;min-height:235px}.tool-info h3{font-size:16px}.tool-info p{font-size:13px}.tool-level{font-size:9px}.supporting-tools{grid-template-columns:1fr;gap:23px}.tool-badge{width:43px;height:43px;font-size:20px}.tool-rule{left:16px;right:16px}.toolkit-note{font-size:10px}}@media(max-width:370px){.toolkit-grid{grid-template-columns:1fr}.tool-card{min-height:0;display:flex;gap:18px}.tool-badge{flex-shrink:0}.tool-info h3{margin-top:0}}@media(prefers-reduced-motion:reduce){.motion-heading .motion-word{opacity:1;filter:none;transform:none;transition:none}.portrait img{transform:none!important}.tool-rule{transform:scaleX(1);transition:none}.tool-badge{transform:none!important}.page-progress{display:none}}
body.motion-stopped .project-cover img{transform:none!important}html:has(body.motion-stopped){scroll-behavior:auto}
/* Reference-matched toolkit: open rows, circular icons and pill tracks. */
.reference-toolkit{display:block;background:#0d1310;margin:50px -5.6% -105px;padding:70px 5.6% 90px;border-top:1px solid #232b25}.reference-toolkit .toolkit-intro{position:static;max-width:none;margin-bottom:58px}.reference-toolkit .section-label{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(#222925,#181e1a);border-radius:30px;padding:7px 15px;font-size:12px;letter-spacing:.25px;color:#c7cdc8;margin-bottom:35px}.reference-toolkit .section-label>span{font-size:21px;color:#20db68;line-height:1}.reference-toolkit h2{color:#b9bcba;font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(32px,4.15vw,62px);line-height:1.23;letter-spacing:-.045em;max-width:1040px;margin:0}.reference-toolkit .toolkit-grid{display:block}.reference-toolkit .tool-card{display:grid;grid-template-columns:78px minmax(210px,1fr) minmax(250px,1.15fr);gap:30px;align-items:center;padding:34px 0;min-height:160px;background:transparent;border:0;border-bottom:1px solid #242b26;border-radius:0;overflow:visible;box-shadow:none}.reference-toolkit .tool-card:hover{background:transparent;border-color:#354038;box-shadow:none}.tool-icon-circle{display:flex;align-items:center;justify-content:center;width:78px;height:78px;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,#242c27,#1a211d);box-shadow:inset 0 1px 1px #ffffff13,0 8px 20px #0001}.reference-toolkit .tool-badge{width:36px;height:36px;font-size:23px;letter-spacing:-1px;border:0;border-radius:8px;background:#101722;color:var(--tool-color);font-weight:700}.reference-toolkit .tool-card:nth-child(1) .tool-badge{background:#001e36;color:#31a8ff}.reference-toolkit .tool-card:nth-child(2) .tool-badge{background:#330000;color:#ff9a00}.reference-toolkit .tool-info h3{font-size:20px;font-weight:500;color:#bec2bf;letter-spacing:-.3px;margin:0 0 8px}.reference-toolkit .tool-info p{font-size:16px;line-height:1.5;color:#929992;margin:0}.tool-meter{position:relative;height:60px;border-radius:45px;display:flex;align-items:center;justify-content:flex-end;padding:9px;background:#171e19;overflow:hidden}.tool-meter-fill{position:absolute;inset:5px;border-radius:40px;background:linear-gradient(180deg,#2a322d,#232b26);border:1px solid #3a433c;box-shadow:inset 0 1px 2px #ffffff06,0 3px 9px #0004;transform:scaleX(.06);transform-origin:left;transition:transform 1.35s cubic-bezier(.16,1,.3,1) .2s}.tool-card.is-visible .tool-meter-fill{transform:scaleX(1)}.tool-meter-label{position:relative;z-index:1;min-width:82px;text-align:center;padding:7px 13px;background:#141a16;color:#b9c0b9;border:2px solid #0c110d;border-radius:28px;box-shadow:0 0 0 1px #414b42,inset 0 2px 3px #ffffff10;font-size:14px;line-height:1.3;white-space:nowrap}.reference-toolkit .supporting-tools{margin-top:42px;padding-top:25px;grid-template-columns:1fr 1fr}.reference-toolkit .toolkit-note{display:none}body.motion-stopped .tool-meter-fill{transform:scaleX(1);transition:none}@media(max-width:1000px){.reference-toolkit{margin-bottom:-75px}.reference-toolkit .tool-card{grid-template-columns:65px minmax(170px,1fr) minmax(200px,1fr);gap:22px}.tool-icon-circle{width:65px;height:65px}.reference-toolkit .tool-info h3{font-size:18px}.reference-toolkit .tool-info p{font-size:14px}.tool-meter{height:54px}}@media(max-width:600px){.reference-toolkit{padding-top:48px;padding-bottom:55px;margin:30px -6.8% -60px;padding-left:6.8%;padding-right:6.8%}.reference-toolkit .toolkit-intro{margin-bottom:25px}.reference-toolkit .section-label{margin-bottom:27px;font-size:11px}.reference-toolkit h2{font-size:34px}.reference-toolkit h2 br{display:none}.reference-toolkit .tool-card{grid-template-columns:62px minmax(0,1fr);gap:15px 20px;padding:25px 0;min-height:0}.tool-icon-circle{width:62px;height:62px}.reference-toolkit .tool-info h3{font-size:18px}.reference-toolkit .tool-info p{font-size:14px}.tool-meter{grid-column:2;height:47px}.tool-meter-label{font-size:12px;min-width:70px;padding:5px 10px}.reference-toolkit .supporting-tools{grid-template-columns:1fr;gap:24px}.reference-toolkit .tool-badge{width:33px;height:33px;font-size:21px}}@media(prefers-reduced-motion:reduce){.tool-meter-fill{transform:scaleX(1);transition:none}}
/* User-supplied proficiency ratings. */
.reference-toolkit .tool-meter{display:block;padding:0}.reference-toolkit .tool-meter-fill{inset:5px auto 5px 5px;width:0;transform:none;overflow:hidden;transition:width 1.4s cubic-bezier(.16,1,.3,1) .15s;display:flex;align-items:center;justify-content:flex-end}.reference-toolkit .tool-card.is-visible .tool-meter-fill{width:calc((100% - 10px) * var(--rating) / 100);transform:none}.reference-toolkit .tool-meter-label{flex-shrink:0;margin-right:6px;min-width:67px;font-size:16px;padding:6px 12px}.tool-logo-row{display:flex;align-items:center;gap:25px;margin-top:20px;min-height:40px}.tool-logo-row img{display:block;width:34px;height:34px;object-fit:contain;opacity:.85;transition:opacity .2s,transform .2s}.tool-logo-row img:hover{opacity:1;transform:translateY(-2px)}@media(max-width:600px){.reference-toolkit .tool-meter-label{min-width:56px;font-size:13px;padding:4px 9px;margin-right:4px}.tool-logo-row{gap:23px}}body.motion-stopped .tool-meter-fill{width:calc((100% - 10px) * var(--rating) / 100);transition:none}body.motion-stopped .tool-logo-row img{transform:none!important}@media(prefers-reduced-motion:reduce){.reference-toolkit .tool-meter-fill{width:calc((100% - 10px) * var(--rating) / 100);transition:none}.tool-logo-row img{transform:none!important}}
/* Curated work, editorial project stories and direct contact. */
.selection-heading{margin:52px 0 26px;display:flex;justify-content:space-between;align-items:end;gap:24px}.selection-heading h3,.marketing-impact h3{font-family:Manrope,sans-serif;font-size:clamp(26px,3vw,42px);line-height:1.2;letter-spacing:-.035em;margin:0}.selection-heading p{color:var(--muted);max-width:440px;margin:0}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.featured-card{min-width:0}.featured-card>button,.featured-card>a{display:block;width:100%;text-align:left;color:inherit;background:none;border:0;padding:0;cursor:pointer}.featured-card .project-cover{position:relative;overflow:hidden;background:#1d201b;border-radius:12px}.featured-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;transition:transform .5s}.featured-card:hover img{transform:scale(1.035)}.featured-card h3{font-size:20px;line-height:1.35;margin:8px 0}.project-role{color:var(--muted);font-size:14px;margin:8px 0}.case-studies{margin:80px 0}.case-study{border-top:1px solid var(--line)}.case-study:last-child{border-bottom:1px solid var(--line)}.case-study summary{display:flex;align-items:center;gap:25px;cursor:pointer;padding:28px 0;list-style:none}.case-study summary::-webkit-details-marker,.all-work summary::-webkit-details-marker{display:none}.case-number{color:var(--lime);font-size:14px}.case-study summary strong{display:block;font-size:25px;font-weight:500}.case-study summary small{font-size:16px;color:var(--muted)}.case-toggle{margin-left:auto;font-size:32px;color:var(--lime)}.case-study[open] .case-toggle{transform:rotate(45deg)}.case-body{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:12px 0 45px}.case-image{align-self:start;border:0;background:#1b1e19;color:var(--fg);padding:0;cursor:pointer;border-radius:12px;overflow:hidden}.case-image img{width:100%;max-height:540px;object-fit:contain;display:block}.case-image span{display:block;padding:15px}.case-story h4{font-size:14px;color:var(--lime);margin:0 0 8px}.case-story p{color:var(--muted);margin:0 0 25px}.marketing-impact{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;padding:44px;background:#1c2116;border:1px solid #3a4725;border-radius:18px;margin:65px 0}.marketing-impact .section-label{margin:0 0 20px}.marketing-impact>div>p{color:var(--muted)}.impact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:25px}.impact-metrics strong{font-size:clamp(48px,5vw,76px);font-family:Manrope,sans-serif;line-height:1;color:var(--lime)}.impact-metrics h4{margin:15px 0 8px}.impact-metrics p{font-size:14px;color:var(--muted)}.impact-source{grid-column:1/-1;margin:0;border-top:1px solid var(--line);padding-top:18px}.impact-source a{text-decoration:underline;color:var(--fg)}.all-work>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border:1px solid var(--line);border-radius:10px;font-size:22px;cursor:pointer}.all-work>summary:after{content:'+';color:var(--lime);font-size:30px}.all-work[open]>summary:after{content:'−'}.all-work>summary span{font-size:14px;color:var(--muted);margin-left:auto}.all-work-content{padding-top:35px}.quick-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}.quick-contact button{background:transparent;color:var(--fg);cursor:pointer}.quick-contact #copy-status{font-size:14px;color:var(--lime)}.motion-stopped .featured-card img{transition:none;transform:none}
@media(max-width:800px){.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-heading{display:block}.selection-heading p{margin-top:12px}.case-body{gap:25px}.marketing-impact{grid-template-columns:1fr;padding:28px;gap:25px}.all-work>summary{flex-wrap:wrap}.all-work>summary span{margin:0}}
@media(max-width:520px){.featured-grid{grid-template-columns:1fr;gap:30px}.case-body{grid-template-columns:1fr}.case-study summary{gap:14px}.case-study summary strong{font-size:22px}.case-study summary small{font-size:14px}.marketing-impact{padding:22px}.impact-metrics{gap:18px}.all-work>summary{font-size:20px;padding:20px}.all-work>summary span{width:100%;order:3}.all-work>summary:after{margin-left:auto}.quick-contact .button{padding:13px 20px}}
@media(prefers-reduced-motion:reduce){.featured-card img{transition:none!important;transform:none!important}}

.featured-story-link{margin:28px 0}.project-toolkit{display:flex;align-items:center;flex-wrap:wrap;gap:15px 40px;border-block:1px solid var(--line);padding:24px 0;margin-top:48px}.project-toolkit>span{font-size:12px;letter-spacing:1.4px;color:var(--muted)}.project-toolkit p{margin:0}.project-toolkit b{color:var(--lime);margin:0 10px}.case-context{font-size:14px;color:var(--lime)!important}#uniova-case{scroll-margin-top:25px}

/* Navigation follows the order of the page on every screen. */
header nav{gap:clamp(16px,2.2vw,32px)}
@media(max-width:900px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}header nav{flex-wrap:wrap;gap:10px 20px}header nav>a,header nav>a:first-child,header nav>a[href="#about"],header nav>a[href="#experience"],header nav>.tools-nav{display:block}header nav a{font-size:14px;padding:7px 0}header nav .nav-contact{padding:7px 16px}}
@media(max-width:600px){header nav{width:100%;gap:4px 18px}header{padding-top:14px;padding-bottom:14px}}

.testimonials{margin-top:75px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.testimonial-card{padding:28px;border:1px solid var(--line);border-radius:14px;background:#181b15;display:flex;flex-direction:column}.sample-feedback{align-self:start;font-size:12px;letter-spacing:.06em;color:var(--lime);border:1px solid #4a5634;padding:4px 10px;border-radius:20px}.testimonial-card blockquote{font-size:18px;line-height:1.7;margin:24px 0;flex:1}.testimonial-card>p{font-size:14px;margin:0;color:var(--fg)}.testimonial-card>p span{color:var(--muted)}@media(max-width:800px){.testimonial-grid{grid-template-columns:1fr}.testimonial-card{padding:24px}}
/* Interactive hanging identity badge. */
.hero-copy{max-width:58%}.badge-scene{position:absolute;right:2%;top:60px;width:43%;height:615px;perspective:1100px;isolation:isolate}.badge-anchor{position:absolute;left:50%;top:0;width:12px;height:12px;margin-left:-6px;background:#c9cbbb;border-radius:50%;box-shadow:0 0 0 7px #272b22}.badge-rig{position:absolute;left:50%;top:6px;width:280px;margin-left:-140px;transform-origin:50% 0;will-change:transform}.badge-strap{width:30px;height:112px;margin:auto;background:linear-gradient(90deg,#839c37,#d4ff63 35%,#b9df52 75%,#798f34);border-inline:1px solid #d4ff6370;box-shadow:5px 1px 10px #0006;display:flex;align-items:center;justify-content:center}.badge-strap span{writing-mode:vertical-rl;font-size:8px;letter-spacing:1.5px;font-weight:700;color:#303b17;white-space:nowrap}.badge-clip{position:relative;z-index:2;width:26px;height:30px;margin:-2px auto -14px;border:5px solid #acafa4;border-radius:6px;background:#2f332b;box-shadow:inset 0 0 0 2px #555c4c,1px 3px 4px #0008}.identity-card{display:block;position:relative;width:280px;text-align:left;border:1px solid #fafde177;border-radius:19px;padding:22px 18px 15px;background:linear-gradient(145deg,#f1f1e8,#d6d8cc);color:#20251b;box-shadow:8px 13px 0 -7px #515844,14px 30px 45px #0008;cursor:grab;touch-action:pan-y;user-select:none;transform:rotateY(var(--badge-tilt,0deg));overflow:hidden}.identity-card:active,.is-dragging .identity-card{cursor:grabbing}.identity-card:before{content:'';display:block;width:46px;height:6px;background:#353b2e;border-radius:10px;margin:-8px auto 16px;box-shadow:0 1px 0 #fff}.badge-topline{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;font-weight:700;margin-bottom:12px}.badge-topline>span:last-child{font-size:22px}.badge-photo{display:block;height:185px;border-radius:8px;overflow:hidden;background:#111}.badge-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;pointer-events:none}.badge-name{display:block;font-family:Manrope,sans-serif;font-size:27px;line-height:1.1;letter-spacing:-1px;margin-top:16px}.badge-name strong{font-weight:800;font-size:36px}.badge-roles{display:block;font-size:12px;line-height:1.6;margin:10px 0 17px;color:#48503e}.badge-bottom{display:flex;justify-content:space-between;border-top:1px solid #a5ad99;padding-top:12px;font-size:8px;letter-spacing:1px;font-weight:700}.badge-scene>p{position:absolute;bottom:36px;width:100%;text-align:center;font-size:12px;color:var(--muted);letter-spacing:.5px}.badge-scene>p span{color:var(--lime);padding:0 8px}.badge-scene .motion{bottom:12px;right:50%;transform:translateX(50%)}
@media(min-width:1600px){.badge-scene{top:70px;height:650px}.badge-strap{height:135px}}
@media(min-width:901px) and (max-width:1100px){.hero h1{font-size:64px}.hero-copy{max-width:55%}.badge-scene{right:0;width:43%}}
@media(max-width:900px){.hero-copy{max-width:100%;padding-bottom:30px}.badge-scene{position:relative;top:auto;right:auto;width:100%;height:615px;margin:15px auto 0}.hero{min-height:0}.hero-footer{margin-top:15px}}
@media(max-width:600px){.badge-scene{height:605px}.badge-rig{width:260px;margin-left:-130px}.identity-card{width:260px}.badge-strap{height:95px}.badge-photo{height:180px}.badge-scene>p{bottom:40px}.badge-scene .motion{bottom:15px}}
@media(prefers-reduced-motion:reduce){.badge-rig{will-change:auto}}
.badge-scene{height:680px}@media(min-width:1600px){.badge-scene{height:710px}}@media(max-width:900px){.badge-scene{height:680px}}@media(max-width:600px){.badge-scene{height:650px}}

.identity-card{touch-action:none;transform:rotateY(var(--badge-tilt,0deg)) rotateX(var(--badge-pitch,0deg))}.badge-photo img{object-position:50% 22%}.is-dragging{z-index:4}.badge-rig{transform-style:preserve-3d}

.badge-strap{transform-origin:50% 0}.badge-rig{will-change:transform}

/* Full portrait photo badge: no printed identity text. */
.identity-card{padding:20px 8px 8px;border-radius:16px;background:#dfe4d8;overflow:visible;line-height:0}
.identity-card:before{margin:-9px auto 13px;height:5px}
.badge-photo{height:auto;aspect-ratio:1101/1429;border-radius:9px;overflow:hidden}
.badge-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.badge-scene{z-index:3}.badge-scene.is-dragging{z-index:10}

/* Restore the reference badge details, omitting only the large name. */
.identity-card{padding:22px 18px 15px;border-radius:19px;background:linear-gradient(145deg,#f1f1e8,#d6d8cc);line-height:1.6;overflow:hidden}
.identity-card:before{height:6px;margin:-8px auto 16px}
.badge-photo{height:185px;aspect-ratio:auto;border-radius:8px}
.badge-photo img{object-fit:cover;object-position:50% 22%}
.badge-roles{margin:16px 0 17px}
@media(max-width:600px){.badge-photo{height:180px}}

/* Preserve the complete portrait at its native proportions. */
.identity-card .badge-photo{height:auto;aspect-ratio:1101/1429;background:#24547d}
.identity-card .badge-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.badge-scene{height:750px}
@media(min-width:901px){.hero-footer{margin-top:100px}}

/* Services: responsive cards with restrained depth and expandable details. */
#capabilities{display:block}.service-heading{display:flex;justify-content:space-between;gap:35px;align-items:start;margin-bottom:45px}.service-heading h2{margin:0;max-width:650px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{position:relative;padding:34px;border:1px solid #373c30;border-radius:20px;background:linear-gradient(135deg,#20251b,#151812);transform:perspective(950px) rotateX(var(--service-x,0deg)) rotateY(var(--service-y,0deg));transition:transform .18s ease-out,border-color .3s,box-shadow .3s;transform-style:preserve-3d;min-width:0}.service-card:hover,.service-card:focus-within{border-color:#bbeb62;box-shadow:0 0 30px #b6ed5712}.service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.service-icon{display:grid;place-items:center;width:60px;height:60px;border:1px solid #52603d;border-radius:16px;background:#b8e8570a;color:var(--lime)}.service-icon svg{width:28px;height:28px}.service-number{color:#8b967e;font-size:14px;letter-spacing:2px}.service-card h3{font-family:Manrope,sans-serif;font-size:clamp(23px,2.4vw,32px);line-height:1.25;margin:0 0 15px;letter-spacing:-.7px}.service-card>p{font-size:16px;color:var(--muted);max-width:430px;margin:0 0 28px}.service-details{border-top:1px solid #38412d;padding-top:18px}.service-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--fg);list-style:none;min-height:30px}.service-details summary::-webkit-details-marker{display:none}.service-details summary span{font-size:24px;color:var(--lime);transition:transform .25s}.service-details[open] summary span{transform:rotate(45deg)}.service-details ul{padding:0 0 0 18px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.8}.service-details li::marker{color:var(--lime)}.service-card.service-enter{opacity:0;translate:0 25px;filter:blur(3px);transition:opacity .7s var(--service-delay),translate .7s var(--service-delay),filter .7s var(--service-delay),transform .18s,border-color .3s,box-shadow .3s}.service-card.service-enter.service-visible{opacity:1;translate:0 0;filter:none}.motion-stopped .service-card{transform:none!important;opacity:1!important;translate:none!important;filter:none!important;transition:none!important}
@media(max-width:700px){.service-heading{display:block}.service-heading h2{margin-top:25px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:26px;--service-delay:0ms!important}.service-card-top{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.service-card{transform:none!important;opacity:1!important;translate:none!important;filter:none!important;transition:none!important}.service-details summary span{transition:none}}

/* Scroll-linked career timeline, with persistent revealed entries. */
.experience-list{position:relative;padding-left:48px}.experience-rail{position:absolute;left:8px;width:2px;background:#363d2d;overflow:visible}.experience-rail-fill{position:absolute;inset:0;background:var(--lime);transform:scaleY(0);transform-origin:top;box-shadow:0 0 10px #c7fb6350;transition:transform .18s linear}.experience-entry{position:relative}.experience-dot{position:absolute;left:-47px;top:52px;width:16px;height:16px;border:2px solid #5c6949;background:var(--bg);border-radius:50%;z-index:1;transition:background .35s,border-color .35s,box-shadow .35s}.timeline-active .experience-dot{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 6px #d4ff6310,0 0 18px #d4ff6350}.timeline-active .experience-number{color:var(--lime)}.timeline-ready .experience-date,.timeline-ready .experience-content{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1)}.timeline-ready .experience-content{transition-delay:.09s}.timeline-ready .timeline-reached .experience-date,.timeline-ready .timeline-reached .experience-content{opacity:1;transform:none}.experience-entry:focus-within .experience-date,.experience-entry:focus-within .experience-content{opacity:1;transform:none}
@media(max-width:600px){.experience-list{padding-left:28px}.experience-rail{left:5px}.experience-dot{width:12px;height:12px;left:-28px;top:40px}.experience-entry{gap:18px}.experience-content h3{font-size:24px}.timeline-active .experience-dot{box-shadow:0 0 0 4px #d4ff6310,0 0 12px #d4ff6340}}
.motion-stopped .experience-rail-fill{transform:scaleY(1)!important;transition:none}.motion-stopped .timeline-ready .experience-date,.motion-stopped .timeline-ready .experience-content{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.experience-rail-fill{transform:scaleY(1)!important;transition:none}.timeline-ready .experience-date,.timeline-ready .experience-content{opacity:1;transform:none;transition:none}.experience-dot{transition:none}}
.marketing-impact>div,.impact-metrics>article{min-width:0}.impact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:360px){.impact-metrics{grid-template-columns:1fr}.marketing-impact{padding:18px}}

/* About: a clear personal story with gentle, sequential reveals. */
#about{grid-template-columns:minmax(260px,.85fr) minmax(0,1.3fr);gap:clamp(40px,7vw,110px);align-items:start}.about-story{padding-top:50px}.about-eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--lime);margin:0 0 22px}.about-story h2{font-size:clamp(36px,4.1vw,60px);margin-bottom:28px}.about-story .about-body{display:block}.about-story .about-body p{font-size:16px;line-height:1.85;margin:0 0 20px;color:var(--muted)}.about-story .about-body .about-lead{font-size:20px;line-height:1.65;color:var(--fg)}.about-location{font-size:14px;color:var(--fg);margin:20px 0 0}.about-location span{display:block;color:var(--muted);margin-top:4px}.about-principle{display:flex;gap:18px;align-items:start;border-left:2px solid var(--lime);padding:4px 0 4px 22px;margin:30px 0}.about-principle>span{color:var(--lime);font-size:25px}.about-principle p{margin:0;font-size:17px;line-height:1.7}.about-path{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.about-path span{font-size:13px;padding:7px 13px;border:1px solid #414b33;border-radius:30px;color:#cbd3bd}.about-story>.text-link{display:inline-block}.about .portrait{border-radius:18px;overflow:hidden}.about .portrait img{transition:transform .4s ease-out}
@media(max-width:800px){#about{grid-template-columns:1fr;gap:35px}.about-story{padding-top:0}.about .portrait{max-width:430px}.about-story .about-body .about-lead{font-size:19px}.about-principle{padding-left:16px}}
@media(prefers-reduced-motion:reduce){.about .portrait img{transition:none}}

/* Career outcomes and qualifications. */
.career-proof{display:grid;grid-template-columns:.8fr 1.6fr;gap:45px;padding:60px 0 45px;margin-top:45px;border-top:1px solid var(--line)}.proof-heading .section-label,.learning-heading .section-label{display:block;margin-bottom:20px}.proof-heading h3,.learning-heading h3{font-family:Manrope,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-1.2px;margin:0 0 24px}.proof-heading>p,.learning-heading>p{font-size:15px;color:var(--muted)}.proof-heading>p span{display:block;font-size:13px;margin-top:5px}.proof-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}.proof-metric{padding:28px;border:1px solid #435037;border-radius:18px;background:linear-gradient(145deg,#242d1b,#161a12);min-width:0;transition:border-color .3s,box-shadow .3s}.proof-metric:hover{border-color:#9fc750;box-shadow:0 8px 35px #0003}.metric-kicker{font-size:11px;letter-spacing:1.5px;color:#b7c59e}.proof-metric strong{display:block;color:var(--lime);font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(48px,5.5vw,76px);line-height:1.15;letter-spacing:-4px;margin:32px 0 20px}.proof-metric strong span{font-size:.5em;letter-spacing:-1px}.proof-metric h4{font-size:20px;letter-spacing:-.5px;margin:0 0 12px}.proof-metric p{font-size:15px;color:var(--muted);line-height:1.75;margin:0 0 24px}.metric-context{display:block;font-size:12px;border-top:1px solid #3e4933;padding-top:16px;color:#bcc7ab}.proof-source{grid-column:1/-1;color:var(--muted);font-size:12px;margin:0}.learning-block{display:grid;grid-template-columns:.8fr 1.6fr;gap:45px;border-top:1px solid var(--line);padding-top:45px}.qualification-list{display:grid;gap:14px;min-width:0}.qualification{display:flex;gap:20px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:14px;background:#171b14}.qualification-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;color:var(--lime);background:#d4ff630a;border:1px solid #465336;border-radius:50%;font-size:13px}.qualification-date{font-size:11px!important;letter-spacing:1px;color:#b6c79c!important}.qualification h4{font-size:21px;font-weight:500;line-height:1.35;margin:7px 0}.qualification p{font-size:14px;color:var(--muted);margin:0}.qualification-type{margin-left:auto;font-size:10px;letter-spacing:1px;color:#b6c79c;border:1px solid #414d34;padding:5px 10px;border-radius:30px}
@media(max-width:900px){.career-proof,.learning-block{grid-template-columns:1fr;gap:25px}.proof-heading h3,.learning-heading h3{margin-bottom:15px}.career-proof{padding-top:40px}}
@media(max-width:520px){.proof-metrics{grid-template-columns:1fr}.proof-metric{padding:25px}.proof-metric strong{margin:22px 0 16px;font-size:64px}.qualification{padding:20px 16px;gap:13px;align-items:flex-start}.qualification h4{font-size:19px}.qualification-type{display:none}.qualification-icon{width:32px;height:32px}.learning-block{padding-top:30px}}

/* Transparent sample feedback, presented consistently with the portfolio. */
.testimonials{border-top:1px solid var(--line);padding-top:50px}.feedback-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.feedback-heading .section-label{display:block;margin-bottom:18px}.feedback-heading h3{font-family:Manrope,sans-serif;font-size:clamp(29px,3.4vw,45px);line-height:1.2;letter-spacing:-1.2px;margin:0}.feedback-disclosure{max-width:320px;font-size:14px;margin:0;color:var(--fg)}.feedback-disclosure span{display:block;color:var(--muted);margin-top:8px;line-height:1.6}.testimonial-card{background:linear-gradient(145deg,#20251a,#171a14);padding:26px;border-radius:18px;transition:border-color .3s,box-shadow .3s}.testimonial-card:hover{border-color:#73894d;box-shadow:0 8px 30px #0002}.feedback-card-top{display:flex;align-items:center;justify-content:space-between}.feedback-quote{font-family:Georgia,serif;font-size:54px;line-height:1;color:#b3d16d}.testimonial-card blockquote{margin:22px 0 28px;font-size:18px;line-height:1.8}.feedback-byline{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.feedback-avatar{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#d4ff6310;color:var(--lime);font-size:12px}.feedback-byline p{font-size:14px;margin:0}.feedback-byline div>span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}
@media(max-width:800px){.feedback-heading{display:block}.feedback-disclosure{margin-top:20px;max-width:100%}.testimonial-card blockquote{font-size:17px}}
@media(prefers-reduced-motion:reduce){.testimonial-card{transition:none}}

/* Navigation feedback and optional pointer polish. */
header nav a{position:relative}header nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}header nav a[aria-current="location"]{color:var(--lime)}header nav a[aria-current="location"]:after{transform:scaleX(1)}header nav .nav-contact[aria-current="location"]{border-color:var(--lime)}.back-to-top{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;z-index:30;display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid #6e8348;border-radius:30px;background:#202619f5;color:var(--lime);font-size:14px;box-shadow:0 5px 24px #0004;transition:background .2s,transform .2s}.back-to-top[hidden]{display:none}.back-to-top:hover{background:#344327;transform:translateY(-3px)}.identity-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,30%),#fff7 0%,#ffffff12 25%,transparent 55%);opacity:0;transition:opacity .3s;mix-blend-mode:screen}.identity-card.card-shine:after{opacity:.65}.motion-stopped .identity-card:after{opacity:0!important}.motion-stopped nav a:after,.motion-stopped .back-to-top{transition:none}@media(max-width:600px){.back-to-top{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:11px 15px}}@media(prefers-reduced-motion:reduce){header nav a:after,.back-to-top,.identity-card:after{transition:none}.identity-card:after{display:none}}

/* Two faces share one footprint, preserving the hanging card and drag physics. */
.identity-card{perspective:1000px;overflow:visible}
.badge-flipper{display:grid;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.22,.75,.25,1);position:relative}
.identity-card.is-flipped .badge-flipper{transform:rotateY(180deg)}
.badge-face{grid-area:1/1;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-width:0}
.badge-front{transform:rotateY(0deg)}
.badge-back{transform:rotateY(180deg);display:flex;flex-direction:column;text-align:left;background:linear-gradient(145deg,#f1f1e8,#d6d8cc)}
.badge-back-title{display:block;font-size:28px;font-weight:800;letter-spacing:-1.1px;line-height:1.13;margin:14px 0 16px}
.badge-back-intro{display:block;font-size:12px;line-height:1.75;color:#48503e}
.badge-back-skills{display:grid;gap:7px;margin:20px 0;font-size:10px;font-weight:700}
.badge-back-skills>span{display:block;padding:7px 10px;border:1px solid #a5ad99;border-radius:7px;background:#e7ebdc}
.badge-back-contact{display:grid;gap:6px;margin-top:auto;margin-bottom:20px;font-size:12px}
.badge-back-contact>span:first-child{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#596547}
.badge-back-contact strong{font-size:12px;overflow-wrap:anywhere}
.identity-card:focus-visible{outline:3px solid var(--lime);outline-offset:6px}
.motion-stopped .badge-flipper{transition:none}
@media(prefers-reduced-motion:reduce){.badge-flipper{transition:none}}

/* Seamless, constant-speed ribbon; repeated groups have identical widths. */
.discipline-strip{display:block;overflow:hidden;padding:24px 0}
.discipline-track{display:flex;width:max-content;animation:discipline-scroll 28s linear infinite}
.discipline-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;gap:clamp(32px,5vw,100px);min-width:100vw;padding-right:clamp(32px,5vw,100px);white-space:nowrap}
@keyframes discipline-scroll{to{transform:translateX(-50%)}}
.discipline-strip:hover .discipline-track,.motion-stopped .discipline-track{animation-play-state:paused}
@media(max-width:600px){.discipline-strip{padding:18px 0}.discipline-track{animation-duration:24s}.discipline-group{gap:32px;padding-right:32px}}
@media(prefers-reduced-motion:reduce){.discipline-track{animation:none}}

/* Compact ID proportions, with the entire portrait still visible. */
.identity-card{padding:20px 18px 14px}
.identity-card .badge-photo{height:230px;aspect-ratio:auto;background:#306999}
.badge-topline{margin-bottom:8px}
.badge-roles{margin:10px 0 12px;font-size:11px}
.badge-bottom{padding-top:10px}
.badge-back-title{font-size:25px;margin:6px 0 10px}
.badge-back-intro{line-height:1.55}
.badge-back-skills{gap:5px;margin:12px 0}
.badge-back-skills>span{padding:5px 9px}
.badge-back-contact{gap:4px;margin-bottom:12px}
.badge-scene{height:650px}
@media(min-width:1600px){.badge-scene{height:680px}}
@media(max-width:900px){.badge-scene{height:610px}}
@media(max-width:600px){.identity-card .badge-photo{height:215px}.badge-scene{height:590px}}

/* Photo-led front matching the reference: finish immediately after the roles. */
.identity-card .badge-photo{height:auto;aspect-ratio:1101/1429;background:#24547d}
.identity-card .badge-photo img{object-fit:contain;object-position:center}
.badge-front .badge-roles{margin:14px 0 0;font-size:12px;line-height:1.6}
.badge-front{display:flex;flex-direction:column}
.badge-scene{height:680px}
@media(min-width:1600px){.badge-scene{height:710px}}
@media(max-width:900px){.badge-scene{height:640px}}
@media(max-width:600px){.badge-scene{height:620px}}

/* Responsive layout: content-driven breakpoints and comfortable touch controls. */
body{overflow-wrap:break-word}
.section>* , .about-story, .experience-content, .experience-date, .tool-info,
.case-story, .case-body>* , .qualification>div{min-width:0}
.menu-toggle{display:none}
.type-cursor{flex-shrink:0}
#typed-role{min-width:0}
.role-stage{line-height:1.35}
.tool-logo-row{flex-wrap:wrap}
.contact-email{max-width:100%;overflow-wrap:anywhere}
#collection-dialog{max-height:calc(100dvh - 24px)}
.collection-dialog-top>div{min-width:0}
#close-collection{flex-shrink:0;min-height:44px}
.artwork-navigation button,.project-filters button,.service-details summary{min-height:44px}
.badge-scene .motion{min-height:44px;padding:10px 4px;bottom:0}
.badge-scene>p{bottom:40px}
@media(max-width:1100px) and (min-width:901px){
 .hero h1{font-size:clamp(52px,5.8vw,64px)}
 .hero-copy{max-width:55%}
 .role-stage{font-size:28px;min-height:2.7em;align-items:flex-start}
}
@media(max-width:900px){
 .reference-toolkit .tool-card{grid-template-columns:62px minmax(0,1fr);gap:14px 22px;padding:26px 0;min-height:0}
 .reference-toolkit .tool-meter{grid-column:2;height:48px}
 .tool-icon-circle{width:62px;height:62px}
 .experience-entry{grid-template-columns:1fr;gap:20px}
 .experience-date{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
 .experience-date p{margin:0}
 .experience-number{font-size:32px;letter-spacing:-1px}
 .hero-copy{padding-top:36px;max-width:100%}
 .hero h1{font-size:clamp(44px,8vw,68px)}
 .role-line{min-height:105px}
 .badge-scene{height:650px}
 .case-body{grid-template-columns:1fr;gap:28px}
 .case-image{width:100%;max-width:540px;justify-self:center}
 header{min-height:80px;gap:0;align-items:center}
 .menu-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 15px;margin-left:auto;border:1px solid #596448;border-radius:24px;background:transparent;color:var(--fg);cursor:pointer}
 header nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
 header.nav-ready nav{display:none}
 header.nav-open nav{display:grid}
 header nav a,header nav .nav-contact{display:flex!important;align-items:center;min-height:44px;padding:10px 14px;font-size:15px;border-radius:8px}
 header nav a:not(.nav-contact):after{display:none}
 header nav a[aria-current="location"]{background:#d4ff630c}
 header nav .nav-contact{border:1px solid #67794a}
 .hero-footer{margin-top:16px}
}
@media(max-width:600px){
 html{scroll-padding-top:20px}
 header{padding:14px 6%}
 .hero{padding-top:22px}
 .hero h1{font-size:clamp(42px,11.5vw,65px)}
 .hero-copy{padding:28px 0 26px}
 .role-stage{font-size:clamp(22px,5.5vw,30px);min-height:2.7em;align-items:flex-start}
 .role-line{min-height:108px;margin-top:24px}
 .hero-description{font-size:16px}
 .badge-rig{width:min(260px,100%);margin-left:0;translate:-50% 0}
 .identity-card{width:100%;padding:20px 18px 14px}
 .badge-scene{height:620px;margin-top:12px}
 .hero-footer{font-size:10px;letter-spacing:.6px}
 .section{padding:56px 6%}
 .section-top{gap:22px}
 h2,.about-story h2{font-size:clamp(30px,8.5vw,42px)}
 .section-top h2{overflow-wrap:normal}
 #about{gap:28px}
 .about .portrait{max-width:100%}
 .about-story .about-body p{font-size:16px;line-height:1.75}
 .about-story .about-body .about-lead{font-size:18px}
 .reference-toolkit{margin:30px -6.8182% -56px;padding:42px 6.8182% 48px}
 .reference-toolkit h2{font-size:clamp(29px,7.7vw,36px)}
 .reference-toolkit .tool-card{gap:12px 16px}
 .reference-toolkit .tool-meter{grid-column:1/-1}
 .reference-toolkit .tool-info h3{font-size:18px}
 .service-card{padding:24px}
 .experience-content h3{font-size:clamp(22px,6vw,26px);line-height:1.35}
 .experience-content li{font-size:15px;padding-left:17px}
 .experience-content ul{gap:12px}
 .experience-dot{top:40px}
 .qualification{min-width:0}
 .qualification-date{letter-spacing:.5px}
 .case-study summary{align-items:flex-start;gap:12px}
 .case-study summary>span:not(.case-toggle):not(.case-number){min-width:0}
 .case-toggle{flex-shrink:0}
 .case-study summary strong{font-size:21px;line-height:1.4}
 .case-study summary small{display:block;margin-top:6px}
 .case-studies{margin:52px 0}
 .contact h2{font-size:clamp(34px,9vw,50px)}
 .contact-email{font-size:clamp(20px,5.7vw,30px);letter-spacing:-.5px}
 .contact-phones{display:grid;gap:24px}
 .quick-contact{align-items:stretch}
 .quick-contact .button{flex:1 1 190px;min-height:48px}
 .quick-contact #copy-status{flex-basis:100%}
 .contact-bottom .button{width:100%;min-height:48px}
 footer{padding-bottom:calc(80px + env(safe-area-inset-bottom));gap:18px}
 footer>div{flex-wrap:wrap;gap:8px 24px}
 footer>div a{display:inline-flex;align-items:center;min-height:44px}
 #collection-dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px);padding:16px;border-radius:14px}
 .collection-dialog-top{top:-16px;gap:12px}
 .collection-dialog-top h2{font-size:20px;line-height:1.3;margin-bottom:0}
 #close-collection{font-size:13px;padding:8px 10px}
 .artwork-navigation{gap:8px}
 .artwork-navigation button{padding:8px 12px;font-size:13px}
 #artwork-position{white-space:nowrap;font-size:12px}
 #collection-full{max-height:60dvh}
 #collection-links a{min-height:44px;display:flex;align-items:center;font-size:13px}
}
@media(hover:none){
 .project-open{opacity:1;top:auto;bottom:12px;left:12px;transform:none;padding:8px 12px;font-size:12px}
 .project-card:hover .project-open,.project-card:focus-within .project-open{transform:none}
 .project-card:hover img,.featured-card:hover img{transform:none;filter:none}
}
