body{background:#141514;color:#f1f0e9}header{border-color:#343631}.brand i{color:#ff7755}.status{color:#bebfb6}main{padding-top:30px}.hero{position:relative;aspect-ratio:1.92;overflow:hidden;background:linear-gradient(135deg,#373542,#172126)}.hero-art{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 85%,#0a0c16 0,transparent 52%)}.sculpture{position:absolute;width:40%;height:68%;left:48%;top:14%;border:65px solid #ff8569;border-radius:38%;transform:rotate(-25deg);box-shadow:inset 12px 15px 22px #7d314b,15px 20px 35px #080b1877}.sphere{position:absolute;width:18%;aspect-ratio:1;left:72%;top:45%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e5d8ff,#a589de 55%,#5d4d8e);box-shadow:12px 25px 35px #14112566}.bar{position:absolute;width:10%;height:58%;left:39%;top:10%;border-radius:80px;transform:rotate(35deg);background:linear-gradient(90deg,#697b80,#edf0df 30%,#a3b3b4 55%,#3d4a54);box-shadow:20px 15px 35px #10172155}.hero-top{position:absolute;left:32px;top:28px;color:#dddde0;font-size:10px;letter-spacing:1.5px}.hero h1{position:absolute;left:32px;bottom:30px;margin:0;font-size:clamp(36px,5.6vw,78px);letter-spacing:-3px;color:#fff;text-shadow:0 2px 25px #13171e66}.intro{padding:45px 0 30px;align-items:center;gap:50px}.eyebrow{color:#9b9f94}.intro h2{font-size:30px;letter-spacing:-1px;font-weight:400;margin:14px 0 0}.intro p{margin:0;max-width:410px;color:#acafa5}.filters{margin-top:14px;max-width:880px;gap:10px}.filter{border-color:#45483e;color:#c7cabd;background:#1c1e1a;border-radius:5px;padding:17px 18px}.filter:hover{background:#30332b}.filter.active{background:#e5efc6;color:#22271b;border-color:#e5efc6}.filter small{opacity:.65}.toolbar{margin:38px 0 25px;border-color:#393c33}.section-label{color:#9ba08f}.section-label strong{color:#ecefe4}.visual{aspect-ratio:1!important}.grid{gap:48px 30px}.client{margin:23px 0 21px}.client-name{font-size:20px;color:#f2f2e9}.logo{background:#e5efc6;color:#1c251c}.year{color:#adb09f}.role{display:grid;grid-template-columns:95px 1fr;gap:12px;margin:0 0 20px;padding-bottom:19px;border-bottom:1px solid #36392f;font-size:14px;color:#e2e5d9;line-height:1.5}.role span{color:#b0b5a5;font-size:10px;letter-spacing:1.2px;padding-top:3px}.description-label{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#b0b5a5;margin-bottom:10px}.description{color:#b0b4a6;max-width:490px;font-size:14px;line-height:1.7}.pagination-bottom{margin-top:48px;display:flex;align-items:center;gap:24px;border-top:1px solid #393c33;padding-top:24px}.pagination-bottom>span{font-size:11px;color:#989e8b}.pages{gap:8px}.pages button{border:1px solid #565c49;background:#25291f;border-radius:5px;color:#e0e7d2;min-width:46px;height:44px;font-size:13px}.pages button:hover:enabled{border-color:#e5efc6}.pages button.current{background:#e5efc6;color:#1b2316;border-color:#e5efc6}.pages button:disabled{opacity:.4}footer{border-color:#393c33;color:#929987;margin-top:50px}.pause{color:#bac3ab}@media(max-width:650px){main{padding-top:20px}.hero{aspect-ratio:1}.hero-top{left:20px;top:20px;font-size:8px}.hero h1{left:20px;bottom:25px;font-size:43px;letter-spacing:-2px}.sculpture{border-width:30px;width:50%;left:42%;height:50%;top:20%}.sphere{width:25%;left:65%}.bar{width:14%;height:42%;left:35%;top:15%}.intro{padding:32px 0 24px}.intro h2{font-size:26px;margin-bottom:18px}.filters{gap:8px}.filter{padding:14px 10px}.pagination-bottom{gap:14px;flex-wrap:wrap}.pages button{min-width:42px;height:42px}.role{grid-template-columns:82px 1fr}.intro p{max-width:100%}}

.hero-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.35fr);align-items:center;gap:45px;margin:24px 0 62px}.hero-layout .hero{aspect-ratio:16/9;width:100%;min-width:0}.hero-copy h1{position:static;font-size:clamp(24px,2.7vw,39px);letter-spacing:-1.3px;line-height:1.28;margin:23px 0}.hero-copy h1 span{display:block}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.3px;line-height:1.8}.hero-copy p{font-size:13px;line-height:1.75;max-width:340px;color:#acafa5;margin:0}.cover-caption{position:absolute;bottom:18px;left:22px;font-size:8px;letter-spacing:1.5px;color:#e2e2dc}.hero-layout .hero-top{left:22px;top:18px;font-size:8px}.hero-layout .sculpture{border-width:38px}.toolbar{justify-content:flex-start;gap:26px;align-items:center;padding-bottom:22px;margin-top:32px}.toolbar .section-label{font-size:11px}.client{display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:center;margin:22px 0 18px}.field-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#b0b5a5}.client-name{font-size:18px}.role{margin-bottom:18px}.description{margin-top:0}.filters{margin-top:0}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr;gap:28px;margin-top:12px;margin-bottom:38px}.hero-copy h1{font-size:34px}.hero-copy p{max-width:430px}.hero-layout .hero{aspect-ratio:16/9}.hero-layout .sculpture{border-width:40px}.toolbar{flex-wrap:wrap;gap:18px}.hero-copy .eyebrow{font-size:9px}.client{grid-template-columns:82px 1fr auto}.hero-layout .bar{height:58%;width:10%;top:10%;left:39%}.hero-layout .sculpture{width:40%;height:68%;left:48%;top:14%}.hero-layout .sphere{width:18%;left:72%;top:45%}}
@media(max-width:450px){.hero-layout .sculpture{border-width:25px}.client-name{font-size:17px}.toolbar{gap:15px}.pages{gap:6px}}

/* Editorial header: shared top and bottom edges with the showreel. */
.hero-layout{grid-template-columns:minmax(290px,.82fr) minmax(0,1.35fr);align-items:stretch;gap:56px;margin:28px 0 64px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;padding:0}.hero-copy .eyebrow{margin:0;line-height:1.4;color:#9ca294;font-size:9px;letter-spacing:1.45px}.hero-copy h1{font-size:clamp(26px,2.65vw,38px);line-height:1.2;letter-spacing:-1.2px;margin:24px 0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px}.hero-copy p{font-size:13px;line-height:1.65;max-width:350px;margin:0;color:#a6ad9c}.hero-layout .hero{align-self:start}.filters{max-width:940px;column-gap:38px;row-gap:0;border-top:1px solid #34382f;padding-top:11px}.filter{position:relative;background:transparent;border:0;border-bottom:1px solid #30352b;border-radius:0;padding:16px 0;color:#929b87;font-size:13px;transition:color .15s}.filter:hover{background:transparent;color:#edf2e3}.filter.active{background:transparent;color:#e5efc6;border-color:#899a70}.filter.active:before{content:'';width:5px;height:5px;border-radius:50%;background:#e5efc6;position:absolute;left:-13px;top:22px}.filter small{font-size:10px;color:#7e8973;opacity:1}.filter.active small{color:#d1dfba}.toolbar{display:flex;justify-content:space-between;gap:24px;margin:33px 0 25px;border-bottom:1px solid #34382f;padding-bottom:22px}.toolbar .section-label{margin-left:auto;text-align:right;color:#7d8871;font-size:11px}.toolbar .section-label strong{color:#acb69f}.pages{gap:9px;align-items:center}.pages button{background:none;border:0;border-radius:0;color:#8e9882;min-width:32px;height:32px;padding:0 6px;font-size:12px}.pages button.current{background:none;color:#e5efc6;border:0;box-shadow:inset 0 -2px #e5efc6}.pages button:hover:enabled{background:none;color:#e5efc6}.pages button:first-child,.pages button:last-child{font-size:18px;min-width:24px;color:#bdc9ab}.pages button:first-child{margin-right:9px}.pages button:last-child{margin-left:9px}.pages button:disabled{opacity:.22}.pages button:focus-visible{outline-offset:4px}
@media(max-width:1100px) and (min-width:851px){.hero-layout{gap:30px;grid-template-columns:.9fr 1.15fr}.hero-copy h1{font-size:27px;margin:18px 0;gap:2px}.hero-copy p{font-size:12px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1px}}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr;gap:30px;margin-top:20px;margin-bottom:40px}.hero-copy h1{font-size:34px;margin:28px 0;gap:4px}.hero-copy p{max-width:470px}.filters{column-gap:30px}.toolbar{gap:18px}.toolbar .section-label{font-size:10px}.hero-copy .eyebrow{font-size:9px}}
@media(max-width:500px){.filters{column-gap:24px;padding-left:10px}.filter{font-size:11px;padding:15px 0}.filter.active:before{left:-10px;top:20px}.toolbar{flex-wrap:nowrap;gap:12px;align-items:center}.pages{gap:2px}.pages button{min-width:27px;padding:0 3px}.pages button:first-child{margin-right:4px}.pages button:last-child{margin-left:4px}.toolbar .section-label{max-width:120px;line-height:1.7}.toolbar .section-label span{display:block}}

/* Compact showreel introduction and high-contrast amber navigation. */
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;background:#181817;color:#f7f5ed}
.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:68px;align-items:start;margin:36px 0 40px}
.hero-copy{display:block;padding:0;max-width:490px}
.hero-copy .eyebrow{color:#ffc454;font-weight:600;font-size:10px;line-height:1.3;letter-spacing:1.65px;margin-bottom:18px}
.hero-copy h1{display:block;flex:none;font-size:clamp(28px,3vw,42px);line-height:1.04;letter-spacing:-1.35px;font-weight:650;margin:0 0 20px}
.hero-copy h1 span{display:block}
.hero-copy p{font-size:14px;line-height:1.65;color:#bcbcb1;max-width:450px;margin:0}
.hero-layout .hero{margin:0;aspect-ratio:16/9;border-radius:10px;background:linear-gradient(135deg,#373542,#172126);box-shadow:0 12px 40px #0002}
.hero-layout .hero-top{font-size:7px;left:18px;top:15px}
.cover-caption{left:18px;bottom:14px;font-size:7px}
.filters{max-width:none;width:100%;border-top:1px solid #55544a;padding:18px 0 0;column-gap:38px;row-gap:0}
.filter{color:#bbbdb2;border-bottom:1px solid #42433b;padding:16px 0;font-size:13px}
.filter small{color:#9b9e91}
.filter.active{color:#ffd06b;border-bottom:2px solid #ffc454;background:none;font-weight:600}
.filter.active:before{display:none;content:none}
.filter.active small{color:#ffd06b}
.filter:hover{color:#fff4db}
.toolbar{border-color:#55544a;margin-top:28px;padding-bottom:20px}
.pages button{color:#b4b8aa}
.pages button.current{color:#ffd06b;box-shadow:inset 0 -2px #ffc454;font-weight:700}
.pages button:first-child,.pages button:last-child{color:#e6e6da}
.pages button:hover:enabled{color:#ffd06b}
.toolbar .section-label{color:#a1a491}
.toolbar .section-label strong{color:#d3d5c8}
.logo{background:#ffd06b;color:#242014}
.role span,.field-label{color:#bfc1b3}
.brand i,.status:before{color:#ffc454}
.status:before{background:#ffc454}
button:focus-visible{outline-color:#ffc454}
@media(min-width:1440px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}.hero-copy h1{font-size:42px}}
@media(max-width:1100px) and (min-width:851px){.hero-layout{gap:36px}.hero-copy h1{font-size:30px}.hero-copy p{font-size:12px}.hero-copy .eyebrow{font-size:8px;margin-bottom:15px}}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr;gap:28px;margin:24px 0 32px}.hero-copy{max-width:550px}.hero-copy h1{font-size:36px;margin:0 0 18px}.hero-copy p{font-size:14px;max-width:500px}.hero-copy .eyebrow{font-size:9px;margin-bottom:16px}.hero-layout .hero{max-width:600px}.filters{column-gap:25px;padding-top:12px}}
@media(max-width:500px){.hero-copy h1{font-size:32px;letter-spacing:-1px}.hero-copy p{font-size:13px}.filters{padding-left:0;column-gap:24px}.filter{font-size:11px}.hero-layout .hero{border-radius:7px}}
.toolbar-bottom{margin:40px 0 0;padding:22px 0;border-top:1px solid #55544a}.rive-visual{background:#242523}.rive-visual canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:pan-y}.rive-status{font-size:13px;color:#d3d6ca;padding:20px;text-align:center;pointer-events:none}.rive-status.unavailable{color:#ffc454}
/* Keep one divider above the lower pagination. */
.toolbar-bottom{border-bottom:0;margin-top:40px}
footer{border-top:0;margin-top:24px;padding-top:12px}
@media(max-width:850px){
.hero-layout{display:flex;flex-direction:column;gap:0}
.hero-copy{display:contents}
.hero-copy .eyebrow{order:0;margin:0 0 20px}
.hero-layout .hero{order:1;margin:0 0 26px;width:100%;max-width:none}
.hero-copy h1{order:2;margin:0 0 18px}
.hero-copy p{order:3;margin:0}
}
.visual{border-radius:14px;overflow:hidden;isolation:isolate}
.visual canvas{border-radius:inherit}
@media(max-width:650px){.visual{border-radius:10px}}
@media(max-width:650px){.pages{flex-wrap:wrap;row-gap:8px;max-width:230px}.toolbar .section-label{flex-shrink:0;max-width:100px}}
.visual video,.lottie-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.lottie-canvas svg{width:100%;height:100%}
.client-name{min-width:0;overflow-wrap:anywhere}
.client .year{white-space:nowrap}
.role{align-items:start}
.tutorial-visual{aspect-ratio:16/9!important;background:#252724}
.tutorial-cover{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.tutorial-visual:before{content:'';position:absolute;inset:0;background:#0003;z-index:1;pointer-events:none}
.tutorial-play{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:13px 23px;background:#181817d9;border:1px solid #ffc454;border-radius:28px;color:#ffd06b;font-size:13px}
.tutorial-play:hover{background:#ffc454;color:#181817}
.tutorial-title{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.3px;margin:20px 0 0;color:#f1f0e9}
.tutorial-visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
/* Compact portfolio layout, shared type scale and neutral palette. */
:root{--muted:#b1b1a6;--line:#3b3b34;--accent:#ffce59}html{scroll-behavior:smooth}body{font-family:"Helvetica Neue",Arial,sans-serif;color:#f2f1ea;background:#181817;-webkit-font-smoothing:antialiased}header,main{max-width:1440px;width:100%;padding-left:5%;padding-right:5%}header{padding-top:30px;padding-bottom:32px;border:0;gap:48px}.brand{display:flex;flex-shrink:0;width:38px;height:44px}.brand svg{width:100%;height:100%}.services{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;font-size:14px;line-height:1.5;letter-spacing:-.25px;font-weight:600;margin:0;flex:1}.main-menu{display:flex;gap:28px;align-items:center}.main-menu a{font-size:12px;font-weight:500;line-height:1.6;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:8px 0;white-space:nowrap}.main-menu a.active{color:#f2f1ea;box-shadow:inset 0 -1px var(--accent)}.main-menu a:hover{color:var(--accent)}main{padding-top:0;padding-bottom:54px;scroll-margin-top:20px}.filters{border-top:0;padding-top:0;gap:0 38px;grid-template-columns:repeat(3,minmax(0,1fr))}.filter{font-size:16px;line-height:1.5;font-weight:400;padding:16px 0;color:var(--muted);border-color:var(--line)}.filter.active{font-weight:600;color:var(--accent);border-color:var(--accent)}.toolbar{margin:32px 0 42px;padding-bottom:20px;border-color:var(--line)}.toolbar .section-label{font-size:12px;line-height:1.5;color:var(--muted)}.toolbar .section-label strong{color:#d2d2c6}.pages button{font-size:13px;color:var(--muted)}.grid{gap:34px 30px}.client{grid-template-columns:95px 1fr auto;margin:22px 0 16px;gap:12px}.client-name{font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.3px}.logo{width:23px;height:23px;border-radius:6px;background:var(--accent);font-size:16px}.field-label,.role span{font-size:10px;font-weight:500;line-height:1.5;letter-spacing:1.2px;color:var(--muted)}.year{font-size:13px;line-height:1.5;color:var(--muted)}.role{font-size:15px;line-height:1.6;grid-template-columns:95px 1fr;margin-bottom:18px;padding-bottom:18px;border-color:var(--line);color:#e3e3d9}.description{font-size:15px;line-height:1.65;max-width:none;color:var(--muted)}.tutorial-title{font-size:18px;line-height:1.5;font-weight:600}.toolbar-bottom{margin-top:40px;margin-bottom:0}footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}.pause{font-size:12px;color:var(--muted)}
@media(max-width:1100px){header{gap:28px}.services{gap:8px 16px;font-size:13px}.main-menu{gap:18px}}
@media(max-width:850px){header{flex-wrap:wrap;gap:18px 28px;padding-top:22px;padding-bottom:24px}.services{order:3;flex-basis:100%;font-size:14px}.main-menu{margin-left:auto}.filters{column-gap:24px}.filter{font-size:15px}.toolbar{margin-bottom:28px}}
@media(max-width:650px){header,main{padding-left:6%;padding-right:6%}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.services{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.filter{padding:14px 0;font-size:15px}.grid{gap:34px}.client,.role{grid-template-columns:72px 1fr}.client{grid-template-columns:72px 1fr auto}.client-name{font-size:17px}.description,.role{font-size:15px}.toolbar .section-label{font-size:11px}.main-menu{gap:22px}.main-menu a{font-size:11px}footer{flex-wrap:wrap;gap:18px}.toolbar-bottom{margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand img{display:block;width:38px;height:38px;object-fit:contain}.info-page{padding-top:36px;max-width:1280px}.info-page .eyebrow{color:var(--accent);font-size:12px;font-weight:500;letter-spacing:1.4px;line-height:1.5;margin-bottom:26px}.info-page h2{font-size:clamp(42px,6vw,76px);font-weight:500;line-height:1.08;letter-spacing:-2.5px;margin:0 0 24px}.lead{font-size:22px;color:#d9d9cf;line-height:1.5;margin:0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-layout figure{margin:0}.portrait{display:block;width:100%;border-radius:14px}.about-layout figcaption{font-size:11px;line-height:1.6;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-top:12px}.specialties{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:36px 0 0;padding:0}.specialties li{border-bottom:1px solid var(--line);padding:14px 0;color:var(--muted);font-size:15px;line-height:1.5}.bio{max-width:780px;margin:60px 0}.info-page p{font-size:17px;line-height:1.75;color:var(--muted)}.info-page .lead{font-size:22px;color:#d9d9cf}.info-page a{color:inherit;text-underline-offset:5px}.experience{margin:60px 0}.experience h3{font-size:12px;color:var(--accent);text-transform:uppercase;font-weight:500;letter-spacing:1.4px;margin:0 0 22px}.experience article{display:grid;grid-template-columns:220px 1fr;gap:40px;border-top:1px solid var(--line);padding:28px 0}.experience article>span{font-size:14px;color:var(--muted);line-height:1.7}.experience h4{font-size:21px;font-weight:500;margin:0 0 10px}.experience h4 a{text-decoration:none}.experience p{margin:0;max-width:690px}.contact-intro{max-width:640px}.contact-links{margin:52px 0 100px}.contact-links a{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;border-top:1px solid var(--line);padding:28px 0;text-decoration:none}.contact-links a:last-child{border-bottom:1px solid var(--line)}.contact-links span{font-size:12px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase}.contact-links strong{font-size:24px;line-height:1.5;font-weight:400;overflow-wrap:anywhere}.contact-links b{font-size:22px;color:var(--accent);font-weight:400}.contact-links a:hover strong,.experience a:hover{color:var(--accent)}
@media(max-width:750px){.about-layout{grid-template-columns:1fr;gap:36px}.about-layout figure{max-width:500px}.info-page{padding-top:24px}.info-page h2{font-size:46px;letter-spacing:-1.5px}.info-page .lead{font-size:19px}.bio{margin:36px 0}.info-page p{font-size:16px}.experience article{grid-template-columns:1fr;gap:12px}.contact-links a{grid-template-columns:1fr auto;gap:8px 16px;padding:22px 0}.contact-links span{grid-column:1/-1}.contact-links strong{font-size:20px}.contact-links{margin-bottom:60px}}
/* Refined category and project spacing. */
header{padding-top:32px;padding-bottom:50px;min-height:124px;justify-content:space-between}.main-menu{margin-left:auto;gap:30px}.brand{width:40px;height:40px;align-items:center;justify-content:center}.brand img{width:40px;height:40px}.filters{column-gap:40px}.filter{min-height:66px;padding:15px 10px 15px 0;gap:18px;align-items:center;font-size:18px;line-height:1.4}.category-name{text-align:left;min-width:0}.category-tools{display:flex;gap:8px;align-items:center;flex-shrink:0}.tool-icon{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;line-height:1;box-sizing:border-box}.tool-rive{background:#fff;color:#141414;padding:7px;border-radius:5px}.tool-rive svg{display:block;width:100%;height:100%;overflow:visible}.tool-adobe{background:#080052;color:#a7a5ff;font-size:21px;font-weight:700;letter-spacing:-1px}.toolbar{margin-top:34px;margin-bottom:42px;padding-bottom:24px;min-height:58px}.toolbar [data-summary]{display:none}.pages{gap:12px}.pages button{min-width:34px;height:36px;font-size:14px}.grid{gap:40px 30px}.client{grid-template-columns:96px minmax(0,1fr) auto;gap:14px;margin:20px 0 12px;min-height:32px}.client-name{gap:10px;line-height:1.4;font-size:17px;font-weight:600;letter-spacing:-.2px}.client-logo{display:block;width:32px;height:32px;flex:0 0 32px;object-fit:contain;border-radius:6px}.role{grid-template-columns:96px minmax(0,1fr);gap:14px;line-height:1.6;font-size:14px;padding-bottom:20px;margin-bottom:18px;min-height:40px}.role span{padding-top:4px}.description{font-size:14px;line-height:1.65}.field-label,.role span{font-size:10px;letter-spacing:1.2px}.year{font-size:12px}.toolbar-bottom{margin-top:46px;margin-bottom:0}footer{margin-top:36px;padding-top:26px;gap:24px;align-items:center;font-size:13px}.pause{font-size:13px}
@media(min-width:1500px){.filter{font-size:19px;min-height:72px}.tool-icon{width:34px;height:34px}.tool-rive{padding:8px}}
@media(max-width:850px){header{min-height:106px;padding-top:26px;padding-bottom:34px;flex-wrap:nowrap}.filters{column-gap:26px}.filter{font-size:16px;min-height:62px;padding-right:8px;gap:12px}.tool-icon{width:28px;height:28px}.tool-rive{padding:6px}.tool-adobe{font-size:18px}.category-tools{gap:6px}}
@media(max-width:650px){header{min-height:100px;padding-top:24px;padding-bottom:30px}.main-menu{gap:22px}.filters{column-gap:22px}.filter{font-size:15px;min-height:62px;padding-right:6px;gap:10px}.category-tools{gap:5px}.tool-icon{width:26px;height:26px}.tool-rive{padding:6px}.tool-adobe{font-size:17px}.grid{gap:36px}.client{grid-template-columns:64px minmax(0,1fr) auto;gap:12px;margin-top:18px}.client-name{font-size:16px;gap:8px}.client-logo{width:30px;height:30px;flex-basis:30px}.role{grid-template-columns:64px minmax(0,1fr);gap:12px}.toolbar{margin-top:26px;margin-bottom:30px;padding-bottom:20px}.pages{max-width:100%;gap:7px}.pages button{min-width:30px;font-size:13px}footer{display:grid;grid-template-columns:1fr auto;font-size:12px;gap:18px}footer>span:last-child{grid-column:1/-1}.pause{font-size:12px}}
/* Software marks accompany the role while text can wrap independently. */
.tool-lottie{background:#00cbb1;color:#fff;padding:5px}.tool-lottie svg{display:block;width:100%;height:100%}.role{align-items:start;min-height:48px}.role>span{padding-top:7px}.role-value{display:flex;gap:12px;align-items:center;min-width:0;min-height:28px}.role-tools{display:flex;gap:6px;flex-shrink:0;align-items:center}.role-tools .tool-icon{width:25px;height:25px;font-size:17px;letter-spacing:-.8px;line-height:1;padding:0;text-transform:none}.role-tools .tool-rive{padding:6px;color:#141414}.role-tools .tool-adobe{color:#a7a5ff}.role-tools .tool-lottie{padding:4px;color:#fff}.role-text{min-width:0;line-height:1.6}.role-tools .tool-icon svg{width:100%;height:100%}
@media(max-width:650px){.role-value{gap:10px;align-items:flex-start}.role-tools{padding-top:1px;gap:5px}.role-tools .tool-icon{width:24px;height:24px;font-size:16px}.role-tools .tool-rive{padding:5px}.role-text{font-size:14px}.role>span{padding-top:6px}}
/* Keep only the logo and main menu visible while projects scroll. */
.portfolio-navigation{position:sticky;top:0;z-index:30;background:#181817;}.work-controls{max-width:1440px;width:100%;padding:0 5%;margin:0 auto}.work-controls .toolbar{margin-bottom:0}#work{padding-top:40px;scroll-margin-top:104px}.portfolio-navigation header{min-height:104px;padding-top:24px;padding-bottom:30px}
@media(max-width:850px){.portfolio-navigation header{min-height:90px;padding-top:20px;padding-bottom:22px}}
@media(max-width:650px){.work-controls{padding-left:6%;padding-right:6%}.portfolio-navigation header{min-height:76px;padding-top:18px;padding-bottom:18px}.work-controls .filter{min-height:52px;padding-top:10px;padding-bottom:10px}.work-controls .toolbar{margin-top:18px;padding-bottom:16px;min-height:50px}#work{padding-top:28px;scroll-margin-top:76px}}
/* About and Contact: compact editorial layout from the supplied concept. */
.info-shell{background:#181817;color:#f2f1ea}.info-topbar{position:sticky;top:0;z-index:30;background:#181817}.info-shell header,.info-shell .info-page{width:76%;max-width:1040px;padding-left:0;padding-right:0}.info-shell header{min-height:120px;padding-top:28px;padding-bottom:38px;gap:24px}.info-shell .brand,.info-shell .brand img{width:34px;height:34px}.info-shell .main-menu{gap:30px}.info-shell .main-menu a{font-size:12px;letter-spacing:1.3px}.info-shell .info-page{padding-top:14px;padding-bottom:46px}.info-page h1{font-size:clamp(40px,4.6vw,64px);font-weight:500;line-height:1.06;letter-spacing:-2.4px;margin:0;color:#f2f1ea}.about-layout{grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,104px);align-items:start}.about-layout>div{min-width:0}.about-layout figure{min-width:0;max-width:none}.portrait{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 40%;border-radius:16px}.specialties{grid-template-columns:1fr 1fr;gap:0 26px;margin-top:28px}.specialties li{font-size:14px;line-height:1.5;padding:16px 0;color:var(--muted);border-color:var(--line)}.software-list{margin-top:12px}.info-page .experience{margin:76px 0 0}.experience h3{font-size:10px;font-weight:600;letter-spacing:1.3px;color:var(--accent);margin-bottom:18px}.experience article{grid-template-columns:190px minmax(0,1fr);gap:34px;padding:25px 0;border-color:var(--line)}.experience article>span{font-size:12px;line-height:1.7;padding-top:2px;color:var(--muted)}.experience h4{font-size:18px;line-height:1.5;font-weight:500;margin:0 0 8px}.info-page .experience p{font-size:14px;line-height:1.8;margin:0;max-width:none}.info-page a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}.info-page a:hover{color:var(--accent)}.info-shell footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:48px;padding-top:24px;font-size:10px;line-height:1.6}.contact-page{min-height:calc(100svh - 120px);display:flex;flex-direction:column}.contact-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,104px);align-items:start;margin-bottom:58px}.contact-heading .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.3px;margin:0 0 22px}.contact-heading .contact-intro{font-size:17px;line-height:1.75;margin:0;color:var(--muted);max-width:400px;padding-top:34px}.contact-links{margin:0 0 72px}.contact-links a{grid-template-columns:190px minmax(0,1fr) auto;gap:34px;padding:26px 0;border-color:var(--line)}.contact-links span{font-size:11px;line-height:1.5;letter-spacing:1.2px}.contact-links strong{font-size:21px;line-height:1.5;font-weight:400;letter-spacing:-.3px}.contact-links b{font-size:21px;font-weight:400}.contact-page footer{margin-top:auto}
@media(max-width:1000px){.info-shell header,.info-shell .info-page{width:80%}.about-layout{gap:50px}.info-page h1{font-size:46px}.specialties{column-gap:20px}.specialties li{font-size:13px;padding:13px 0}.experience article{grid-template-columns:150px minmax(0,1fr);gap:28px}.contact-links a{grid-template-columns:130px minmax(0,1fr) auto;gap:24px}.contact-links strong{font-size:19px}}
@media(max-width:700px){.info-shell header,.info-shell .info-page{width:88%}.info-shell header{min-height:94px;padding-top:22px;padding-bottom:26px}.info-shell .main-menu{gap:22px}.info-shell .main-menu a{font-size:11px}.info-shell .info-page{padding-top:12px;padding-bottom:30px}.about-layout{grid-template-columns:1fr;gap:32px}.info-page h1{font-size:clamp(36px,9.8vw,52px);letter-spacing:-1.8px}.specialties{margin-top:22px}.software-list{margin-top:8px}.specialties li{font-size:14px;padding:14px 0}.about-layout figure{width:100%;max-width:460px}.info-page .experience{margin-top:48px}.experience article{grid-template-columns:1fr;gap:10px;padding:22px 0}.experience h4{font-size:18px;margin-bottom:8px}.info-page .experience p{font-size:14px;line-height:1.75}.experience article>span{font-size:11px}.info-shell footer{margin-top:34px;padding-top:20px;font-size:10px;flex-wrap:wrap;gap:12px}.contact-heading{grid-template-columns:1fr;gap:22px;margin-bottom:36px}.contact-heading .eyebrow{margin-bottom:16px}.contact-heading .contact-intro{padding-top:0;font-size:16px}.contact-links a{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:22px 0}.contact-links span{grid-column:1/-1;font-size:10px}.contact-links strong{font-size:18px;overflow-wrap:anywhere}.contact-links{margin-bottom:54px}.contact-page{min-height:calc(100svh - 94px)}.contact-page footer{margin-top:auto}}

/* Align the Contact introduction directly with its heading. */
.contact-heading .contact-intro{padding-top:0}

/* Keep category underlines only on the selected category. */
.filter:not(.active),.filter:not(.active):hover{border-bottom-color:transparent}
