:root{color-scheme:dark;--bg:#101010;--panel:#181818;--line:#30302c;--muted:#aaa9a2;--gold:#ffbd4a;--white:#f4f1e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--white);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{background:none;border:0}img{display:block;max-width:100%}p{color:var(--muted);margin:0 0 20px}h1,h2,h3,h4{line-height:1.15;margin:0;font-weight:700;letter-spacing:-.045em}h1{font-size:clamp(42px,5.5vw,82px)}h2{font-size:clamp(30px,3.7vw,48px)}h3{font-size:26px}h4{font-size:20px}small,.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.13em}.eyebrow{color:var(--gold);display:block;margin-bottom:20px}.wrap{max-width:1260px;margin:auto;padding-left:48px;padding-right:48px}header{border-bottom:1px solid var(--line);background:#111}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}.brand{font-size:18px;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;gap:14px}.brand span{border:1px solid #665132;color:var(--gold);padding:0 10px;font-size:22px}.header-right{display:flex;align-items:center;gap:28px}.languages{display:flex;gap:4px;font-size:14px}.languages button{padding:4px 9px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--gold);background:#ffbd4a12}.text-link{font-size:14px;border-bottom:1px solid #645638;padding-bottom:4px}.hero{position:relative;overflow:hidden;isolation:isolate}.hero .landscape{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 56%;opacity:.67}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101010 4%,#101010e8 28%,#10101040 72%),linear-gradient(0deg,#101010,transparent 55%);z-index:-1}.hero-body{padding-top:72px;padding-bottom:64px;min-height:510px;position:relative}.hero h1{max-width:820px}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{max-width:530px;margin-top:25px;color:#d0cec7}.hero-bottom{display:flex;align-items:center;gap:16px;margin-top:32px}.avatar{width:54px;height:54px;border-radius:50%;border:1px solid #c29a58}.hero-bottom span{font-size:14px;color:#c5c0b7}.hero-bottom strong{display:block;color:var(--white)}.motion{position:absolute;right:48px;bottom:36px;font-size:13px;background:#111a;border:1px solid #ffffff30;padding:6px 12px}.hero.compact .hero-body{min-height:205px;padding-top:38px;padding-bottom:42px}.hero.compact h1{font-size:44px}.hero.compact p,.hero.compact .hero-bottom{display:none}.hero.compact .eyebrow{margin-bottom:10px}nav{position:sticky;top:0;z-index:10;background:#101010f2;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}nav .wrap{display:flex;gap:34px}nav a{padding:22px 0;color:var(--muted);border-bottom:2px solid transparent;font-size:14px;font-weight:700;white-space:nowrap}nav a.active{color:var(--gold);border-color:var(--gold)}nav a span{font-size:12px;margin-right:9px;opacity:.6}main{min-height:50vh;outline:none;animation:appear .45s ease-out}section{padding-top:72px;padding-bottom:12px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-head .eyebrow{margin-bottom:12px}.section-head p{max-width:440px;margin:0}.section-head a{color:var(--gold);font-size:14px}.intro{display:grid;grid-template-columns:1fr 1.25fr;gap:65px}.intro h2{max-width:410px}.intro p{font-size:17px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);padding:5px 12px;font-size:13px;color:#c8c6be}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tool{padding:25px;background:var(--panel);border:1px solid var(--line)}.tool small{color:var(--gold);display:block;margin-bottom:20px;font-size:12px}.tool span{display:block;margin-top:7px;font-size:16px}.card{border:1px solid var(--line);background:var(--panel);transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden}.card:hover{transform:translateY(-4px);border-color:#8e6d33;box-shadow:0 15px 35px #0004}.card-body{padding:28px}.card h3{margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cover{height:210px;display:flex;flex-direction:column;justify-content:space-between;padding:23px;background:linear-gradient(135deg,#24231e,#171717);border-bottom:1px solid var(--line);position:relative}.cover .cover-title{font-size:36px;color:#807865;line-height:1.1;letter-spacing:-.06em;max-width:90%;font-weight:800}.cover small{font-size:11px;color:#a39a84}.cover:after{content:'+';position:absolute;right:18px;top:12px;color:#665e4d}.card p{font-size:14px}.card .eyebrow{font-size:11px;margin-bottom:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border:1px solid #78603c;color:var(--gold);font-size:14px;font-weight:700;transition:background .25s}.button:hover{background:#ffbd4a18}.button.primary{background:var(--gold);color:#111;border-color:var(--gold)}.button.primary:hover{background:#ffd185}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:365px}.feature .cover{height:auto;min-height:320px;border-bottom:0;border-right:1px solid var(--line);padding:35px}.feature .cover-title{font-size:clamp(40px,5vw,70px)}.feature .card-body{padding:40px}.feature h3{font-size:38px}.feature .eyebrow{font-size:12px}.feature p{font-size:16px}.note{font-size:14px;color:var(--muted);margin-top:18px}.timeline{position:relative;display:grid;grid-template-columns:75px repeat(3,1fr);gap:12px}.timeline .lane-label{color:var(--gold);font-size:14px;padding:12px 16px;border-bottom:1px solid var(--gold)}.year{font-size:16px;padding-top:23px;color:var(--muted)}.branch{border-left:1px solid #615034;padding-left:15px;position:relative}.branch:before{content:'';position:absolute;width:8px;height:8px;background:var(--gold);border-radius:50%;left:-4.5px;top:30px}.branch.empty:before{display:none}.event{padding:20px 18px;background:#191919;margin-bottom:12px;border:1px solid #2c2b26}.event small{font-size:11px;color:var(--gold);letter-spacing:.04em}.event h4{font-size:17px;letter-spacing:-.02em;margin:10px 0}.event p{font-size:14px;margin:0}.event details{margin-top:12px;font-size:14px;color:var(--muted)}summary{cursor:pointer;color:#d7c6a5}.foundations{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0 0 87px}.foundations .event{border-left:2px solid #766446}.portfolio-overview{display:block;border:1px solid var(--line);margin-bottom:30px}.portfolio-overview img{width:100%}.carousel-tools{display:flex;align-items:center;gap:16px;font-size:14px}.carousel-tools button{border:1px solid var(--line);width:40px;height:40px;font-size:24px}.carousel-tools button:disabled{opacity:.3;cursor:default}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;scrollbar-width:thin;scrollbar-color:#836735 #191919;padding:5px 0 18px}.carousel .card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}.platform-title{margin:40px 0 20px;display:flex;align-items:center;gap:16px}.platform-title:after{content:'';height:1px;flex:1;background:var(--line)}.list-card{display:grid;grid-template-columns:180px 1fr;gap:26px;border-top:1px solid var(--line);padding:28px 0}.list-card .cover{height:160px;border:1px solid var(--line);padding:16px}.list-card .cover-title{font-size:23px}.list-card h3{font-size:25px;margin:6px 0 14px}.list-card p{margin-bottom:12px}.empty-state{padding:35px;border:1px dashed #494338;color:var(--muted)}.lesson-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;align-items:center}.player{aspect-ratio:16/9;min-height:200px;background:radial-gradient(ellipse at center,#3b3020,#181818 65%);border:1px solid #594729;display:flex;align-items:center;justify-content:center;text-align:center}.player button{width:100%;height:100%;padding:25px}.play-icon{display:block;color:var(--gold);font-size:48px;margin-bottom:12px}.player iframe{width:100%;height:100%;min-height:200px;border:0}.player-label{font-size:14px;display:block}.lesson-layout h3{font-size:32px;margin-bottom:20px}.player-switch{display:flex;gap:10px;margin-bottom:12px}.player-switch button{border:1px solid var(--line);padding:8px 16px;font-size:14px}.player-switch button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.preview-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-row .card{padding:30px}.preview-row h3{margin:10px 0 16px}.preview-row .number{font-size:48px;color:#6c5b3d;font-weight:500}footer{margin-top:80px;border-top:1px solid #615034;background:#151513;padding:50px 0 25px}footer .contact{display:flex;align-items:center;justify-content:space-between;gap:25px}footer h2{font-size:36px}footer .email{font-size:20px;color:var(--gold);overflow-wrap:anywhere}footer .legal{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;color:#8e8e85;font-size:12px}.skip{position:absolute;left:12px;top:-100px;z-index:50;background:var(--gold);color:#111;padding:10px}.skip:focus{top:10px}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:1500px){.hero-body{min-height:570px}}@media(max-width:950px){.wrap{padding-left:28px;padding-right:28px}.tools{grid-template-columns:repeat(2,1fr)}.intro{gap:30px}.cards{grid-template-columns:repeat(2,1fr)}.carousel .card{flex-basis:calc((100% - 18px)/2)}.timeline{grid-template-columns:55px repeat(3,1fr);gap:8px}.event{padding:14px 10px}.branch{padding-left:8px}.foundations{margin-left:63px}.feature .card-body{padding:28px}.lesson-layout{grid-template-columns:1fr}.motion{right:28px}.hero h1{max-width:680px}.hero-body{min-height:470px}}@media(max-width:650px){.wrap{padding-left:20px;padding-right:20px}header .wrap{min-height:70px}.brand{font-size:14px;gap:8px}.header-right{gap:10px}.header-right>.text-link{display:none}.hero-body{padding-top:44px;padding-bottom:65px;min-height:500px}.hero:after{background:linear-gradient(90deg,#101010e8,#10101055),linear-gradient(0deg,#101010,transparent)}.hero h1{font-size:43px}.hero .landscape{object-position:64%}.hero p{font-size:15px}.eyebrow{font-size:11px}.motion{right:20px;bottom:16px}.hero.compact .hero-body{min-height:205px}.hero.compact h1{font-size:34px}nav .wrap{gap:22px;overflow-x:auto;scrollbar-width:none}nav a{font-size:13px;padding:18px 0}nav a span{display:none}.intro,.feature,.cards,.preview-row,.foundations{grid-template-columns:1fr}.intro{gap:25px}.tools{gap:10px}.tool{padding:20px 15px}.tool span{font-size:14px}.section-head{align-items:flex-start;flex-direction:column;gap:15px}section{padding-top:48px}.feature .cover{min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.feature .cover-title{font-size:48px}.feature .card-body{padding:25px}.timeline{display:flex;flex-direction:column;gap:0}.lane-label,.year,.branch.empty{display:none}.branch{margin-left:5px;padding-left:20px}.branch[data-company]:after{content:attr(data-company);position:absolute;top:20px;right:16px;font-size:11px;color:#aaa}.event{padding:20px 16px}.event small{padding-right:85px;display:block}.foundations{margin-left:25px;gap:0}.carousel .card{flex-basis:88%}.list-card{grid-template-columns:1fr;gap:18px}.list-card .cover{height:180px}.list-card .cover-title{font-size:32px}.lesson-layout{gap:25px}.player-switch button{padding:8px 12px}footer .contact{align-items:flex-start;flex-direction:column}footer .legal{gap:15px;flex-direction:column}footer h2{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---- v2 ---- */
.intro{grid-template-columns:minmax(220px,340px) 1fr;gap:56px;align-items:center}
.portrait{border:1px solid var(--line);background:#161616;aspect-ratio:1;overflow:hidden;position:relative}
.portrait:before,.portrait:after{content:'';position:absolute;width:14px;height:14px;border:1px solid var(--gold);z-index:1}
.portrait:before{top:8px;left:8px;border-right:0;border-bottom:0}.portrait:after{bottom:8px;right:8px;border-left:0;border-top:0}
.portrait img{width:100%;height:100%;object-fit:cover}
.intro p{font-size:18px}
.tool-item{display:flex;align-items:center;gap:13px;margin-top:11px}
.tool-item b{font-weight:500;font-size:15px;line-height:1.35}
.ti{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);background:#101010;display:grid;place-items:center;color:#d9d6cc;transition:color .25s,border-color .25s}
.ti svg{width:18px;height:18px}
.tool-item:hover .ti{border-color:#8e6d33;color:var(--gold)}
.ti-blender:hover,.tool-item:hover .ti-blender{color:#ea7600}.tool-item:hover .ti-figma{color:#f24e1e}.tool-item:hover .ti-git{color:#f05032}.tool-item:hover .ti-miro{color:#ffd02f}.tool-item:hover .ti-docs{color:#4285f4}.tool-item:hover .ti-gimp{color:#9d8a68}
.branch.empty{border-left-color:transparent}
.timeline{grid-auto-rows:auto;align-items:stretch}
.timeline .branch{margin-bottom:0}.timeline .event{margin-bottom:12px}
.branch .event{height:calc(100% - 12px);margin-bottom:12px}
.thumb-link{display:block}
.media{position:relative;overflow:hidden;background:#0c0c0c;isolation:isolate}
.media .m-base,.media .m-slide{display:block;width:100%;height:100%;object-fit:cover}
.media .m-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;background:#0c0c0c}
.media .m-slide.on{opacity:1}
.media.contain .m-base,.media.contain .m-slide{object-fit:contain}
.media .m-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:5px;justify-content:center;z-index:3;pointer-events:none}
.media .m-dots i{width:18px;height:3px;background:#fff5;border-radius:2px;transition:background .3s}
.media .m-dots i.on{background:var(--gold)}
.media:after{content:'';position:absolute;inset:auto 0 0;height:60px;background:linear-gradient(0deg,#000a,transparent);opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}
.media.playing:after{opacity:1}
.case .media{aspect-ratio:1}
.case .card-body{padding:24px 26px 28px}
.case h3{font-size:22px;margin-bottom:8px}
.case .sub{color:#d7d3c7;font-size:14px;margin-bottom:10px}
.carousel .card{display:flex;flex-direction:column}
.carousel .card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.carousel .card-body .text-link{margin-top:auto}
.feature{grid-template-columns:1.1fr 1fr}
.feature-media{border-right:1px solid var(--line);background:#0c0c0c;min-height:320px}
.feature-media .media{width:100%;height:100%;min-height:320px}
.feature .media.contain .m-base{background:#150b17}
.list-card{grid-template-columns:200px 1fr}
.list-media{align-self:start}
.list-media .media{width:200px;height:200px;border:1px solid var(--line)}
.list-card .role{color:#d7d3c7;font-size:14px;margin-bottom:10px}
.button-row.tight{margin-top:6px}
.list-card .game-embed{margin-top:18px;max-width:760px}
.platform-title+.list-card{border-top:0;padding-top:4px}
.note.hint{margin-top:6px}
.player{position:relative;overflow:hidden}
.player .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;z-index:0}
.player button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006}
.player button:hover .play-icon{transform:scale(1.12)}.play-icon{transition:transform .2s}
.player iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;background:#000}
.player.on{background:#000}
.player-msg{padding:24px;position:relative;z-index:1}
.player-msg p{max-width:460px;margin:0 auto 16px}
.player.game{aspect-ratio:16/9}
footer{padding-top:64px}
footer .contact{align-items:flex-start;display:grid;grid-template-columns:1.15fr 1fr;gap:56px}
footer .contact-main h2{margin-bottom:18px}
footer .lead{font-size:17px;max-width:520px}
.offers{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:560px}
.offers li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);background:#191917}
.offers strong{display:block;font-size:16px;color:var(--white);letter-spacing:-.01em}.offers div span{font-size:14px;color:var(--muted)}
.offer-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;color:var(--gold);border:1px solid #5f4c2c}
.offer-icon svg{width:22px;height:22px}
.contact-card{padding:30px;border:1px solid var(--line);background:#191917}
.contact-card small{color:var(--gold);display:block;margin-bottom:14px}
footer .email{display:block;font-size:clamp(18px,2.2vw,26px);font-weight:700;margin-bottom:28px}
.socials{display:flex;flex-wrap:wrap;gap:14px 16px}
.social{display:flex;flex-direction:column;align-items:center;gap:8px;width:68px}
.social-icon{width:56px;height:56px;border-radius:50%;background:#262624;border:1px solid #34332f;display:grid;place-items:center;color:#c9c6bd;transition:background .25s,color .25s,transform .25s,border-color .25s}
.social-icon svg{width:24px;height:24px}
.social:hover .social-icon,.social:focus-visible .social-icon{background:#322b1d;color:var(--gold);border-color:#8e6d33;transform:translateY(-3px)}
.social-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media(max-width:950px){.intro{grid-template-columns:240px 1fr;gap:32px}.list-card{grid-template-columns:150px 1fr}.list-media .media{width:150px;height:150px}footer .contact{grid-template-columns:1fr;gap:34px}.feature-media,.feature-media .media{min-height:260px}}
@media(max-width:650px){
 .intro{grid-template-columns:1fr}.portrait{max-width:300px}
 .list-card{grid-template-columns:1fr}.list-media .media{width:100%;height:auto;aspect-ratio:16/10}
 .feature{grid-template-columns:1fr}.feature-media{border-right:0;border-bottom:1px solid var(--line)}.feature-media,.feature-media .media{min-height:0;aspect-ratio:16/9}
 .tool-item b{font-size:13px}.ti{flex-basis:30px;width:30px;height:30px}.ti svg{width:16px;height:16px}
 .tool{padding:18px 12px}
 .player{aspect-ratio:16/9!important;height:auto!important;min-height:0}
 .contact-card{padding:22px}.social{width:64px}
 .hero .landscape{object-position:70% 50%}
}

.tool .tool-item{display:flex;margin-top:11px}.tool .tool-item b{display:block}
@media(max-width:650px){.list-media .media{width:130px;height:130px;aspect-ratio:auto}}

/* Final responsive fixes */
.media,.card,.tool,.intro>div,.list-card>div,.contact>div{min-width:0}
.tool-item b{overflow-wrap:anywhere}
.player:not(.game){min-height:200px}
.player.game:fullscreen{width:100vw;height:100vh;aspect-ratio:auto}
@media(max-width:650px){
 .player:not(.game){min-height:200px!important}
 .branch[data-company]:after{display:none}
 .branch:not(.empty):before{top:56px}
 .branch:not(.empty){padding-top:28px}
 .branch:not(.empty):after{content:attr(data-company);display:block;top:0;left:20px;right:auto;font-size:12px;color:var(--gold)}
 .event small{padding-right:0}
 .list-media .media{width:min(100%,220px);height:auto;aspect-ratio:1}
 .tool-item b{font-size:14px}
}

.preview-toggle{margin:10px 0;width:100%;font-size:14px}.hero video.landscape{pointer-events:none}

/* Portfolio overview caption and uncropped Blueprint previews. */
.portfolio-description{max-width:800px;margin:0 0 24px;line-height:1.75}
.media.fit-slides .m-slide{object-fit:contain;object-position:center;background:#0c0c0c}

/* Shared sticky masthead */
:root{--masthead-height:86px}
html{scroll-padding-top:calc(var(--masthead-height) + 22px)}
.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 max(24px,calc((100vw - 1164px)/2));min-height:86px;background:#151513;border-bottom:1px solid var(--line)}
.topbar header,.topbar header .wrap{display:contents}
.topbar .brand{grid-column:1;grid-row:1;white-space:nowrap;letter-spacing:.01em;text-transform:none}
.topbar .header-right{grid-column:3;grid-row:1;gap:18px}
.topbar nav{grid-column:2;grid-row:1;position:static;border:0;background:transparent;backdrop-filter:none;min-width:0}
.topbar nav .wrap{padding:0;gap:25px;justify-content:center}
.topbar nav a{padding:28px 0}
.topbar .header-right .text-link{white-space:nowrap}
.hero-body{padding-bottom:54px}
.tool-prototyping{grid-column:1/-1;display:flex;gap:22px;align-items:center;padding:20px 25px}
.tool-prototyping small{margin:0;min-width:140px}.tool-prototyping .tool-item{margin:0}.tool-example{margin-left:auto;color:var(--gold);font-size:14px}
.tool-prototyping:hover{border-color:var(--gold)}
.feature-media{display:flex;flex-direction:column;min-width:0;min-height:0}
.feature-media .media{flex:1;min-height:300px;height:auto;aspect-ratio:16/10}
.feature-media .media .m-base{position:absolute;inset:0}
.feature-media .preview-toggle{flex:none;width:calc(100% - 24px);margin:12px;position:relative;z-index:4}
.external-action{display:inline-flex;align-items:center;gap:8px;max-width:100%;vertical-align:middle}
.external-action>a{min-width:0;overflow-wrap:anywhere}
.copy-link{width:36px;height:36px;flex:0 0 36px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.copy-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.copy-link:hover{color:var(--gold);border-color:var(--gold)}
.social-action{flex-direction:column;gap:6px}.social-action .copy-link{width:30px;height:30px;flex-basis:30px}
.carousel .card-body>.external-action{margin-top:auto}
.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;padding:12px 22px;background:#25251f;border:1px solid var(--gold);color:var(--white);box-shadow:0 5px 30px #0008;font-size:14px;max-width:90vw}
dialog{background:#191919;color:var(--white);border:1px solid var(--line);padding:28px;max-width:min(90vw,600px)}dialog::backdrop{background:#0009}dialog h2{font-size:25px;margin-bottom:20px}dialog input{width:100%;padding:12px;margin:0 0 20px;background:#111;color:var(--white);border:1px solid #666;font:inherit}
.image-fallback{display:flex;align-items:center;justify-content:center;min-height:150px;padding:24px;color:var(--muted);background:#191919;text-align:center}
.article-card{display:grid;grid-template-columns:minmax(220px, .9fr) 1.1fr;max-width:960px;align-items:stretch}
.article-card-image{display:block;overflow:hidden}.article-card-image img{width:100%;height:100%;object-fit:cover;max-height:390px}
.article-card .card-body{padding:36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.article-card .button{margin-top:10px}
.article-page{max-width:1100px}.article-page .eyebrow{margin-top:36px}.article-page h1{font-size:clamp(34px,5vw,66px);max-width:960px}.article-intro{font-size:20px;margin:26px 0}
.article-body{max-width:840px;margin:52px auto 0;line-height:1.85;font-size:17px}
.article-body h2{font-size:clamp(26px,3vw,36px);margin:50px 0 22px;scroll-margin-top:calc(var(--masthead-height) + 20px)}
.article-body p{margin-bottom:22px}.article-body li{color:var(--muted);margin:12px 0}.article-body a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.article-body figure{margin:32px 0}.article-body img{width:100%;height:auto}.article-body video{display:block;max-width:100%;max-height:520px;height:auto;margin:auto}.article-body figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.article-body blockquote{margin:28px 0;padding:18px 24px;border-left:2px solid var(--gold);background:#181815;color:#cfccc2}
.article-body blockquote p:last-child{margin-bottom:0}.article-toc{padding:24px 28px;border:1px solid var(--line);background:#171715}.article-toc summary{font-size:20px}.article-toc ul{columns:2;column-gap:30px;padding-left:20px}.article-toc li{break-inside:avoid;font-size:14px}
.studio-links{border:1px solid var(--line);padding:24px;margin:35px 0}.studio-links h3{font-size:24px;margin-bottom:18px}
#fuel-hunters{scroll-margin-top:0;outline-offset:6px}
.article-body h2{scroll-margin-top:0}
.lesson-layout>div,.article-card>div{min-width:0}
.player-switch{flex-wrap:wrap}
.player{width:100%;min-width:0}
@media(max-width:1000px){:root{--masthead-height:128px}.topbar{grid-template-columns:1fr auto;gap:0 20px;padding:0 24px}.topbar .brand{padding-top:14px}.topbar .header-right{grid-column:2;padding-top:14px}.topbar nav{grid-column:1/-1;grid-row:2}.topbar nav .wrap{justify-content:flex-start;gap:28px}.topbar nav a{padding:16px 0}.topbar .header-right .text-link{display:none}}
@media(max-width:650px){:root{--masthead-height:124px}.topbar{padding:0 20px}.topbar .brand{font-size:16px}.topbar nav .wrap{gap:22px}.topbar nav a{font-size:13px}.tool-prototyping{display:block}.tool-prototyping .tool-item{margin:14px 0}.tool-example{display:block;margin-left:0}.feature-media{aspect-ratio:auto;min-height:0}.feature-media .media{flex:none;min-height:0;height:auto;aspect-ratio:16/9}.feature-media .preview-toggle{margin:10px 12px;width:calc(100% - 24px)}.article-card{grid-template-columns:1fr}.article-card-image img{height:auto;max-height:340px}.article-card .card-body{padding:24px}.article-body{font-size:16px}.article-toc ul{columns:1}.article-body blockquote{padding:15px 18px}.copy-link{width:40px;height:40px;flex-basis:40px}}

/* Feedback update: portfolio and contact spacing. */
.portfolio-controls{display:flex;justify-content:flex-end;margin:28px 0 20px}
.collaboration-note{margin-top:20px}
footer .email{display:flex;align-items:center;gap:12px}
.email-icon{display:inline-flex;flex:0 0 24px}.email-icon svg{width:24px;height:24px}
footer .email>span:last-child{min-width:0;overflow-wrap:anywhere}

.tool small{overflow-wrap:anywhere}
@media(max-width:480px){.tools{grid-template-columns:1fr}.tool{padding:22px}.tool-item b{font-size:15px}}

/* FF Montage and FAB feature cards. */
.feature+.feature{margin-top:24px}
.feature.wide{grid-template-columns:1.25fr 1fr}
.feature.wide .feature-media{justify-content:center;background:#0c0c0c}
.feature.wide .feature-media .media{flex:none;min-height:0;aspect-ratio:16/9}
.fab-media .media+.media,.fab-media .preview-toggle+.media{border-top:1px solid var(--line)}
@media(max-width:1100px){.feature.wide{grid-template-columns:1fr}.feature.wide .feature-media{border-right:0;border-bottom:1px solid var(--line)}
 .fab-media{display:grid;grid-template-columns:1fr 1fr}.fab-media .media{grid-row:1}.fab-media .preview-toggle{grid-row:2}
 .fab-media .media+.media,.fab-media .preview-toggle+.media{border-top:0;border-left:1px solid var(--line)}}
@media(max-width:480px){.fab-media{display:flex}.fab-media .media+.media,.fab-media .preview-toggle+.media{border-left:0;border-top:1px solid var(--line)}}
.feature .card-body>p+p{margin-top:-4px}
.fab-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.fab-list li{padding:16px 18px;border:1px solid var(--line);background:#141413}
.fab-list strong{display:block;font-size:15px;line-height:1.4;color:var(--white);margin-bottom:6px}
.fab-list p{margin:0 0 12px;font-size:14px}
.fab-list .button{padding:9px 16px;font-size:13px}
.soon{display:inline-block;padding:8px 14px;border:1px dashed #78603c;color:var(--muted);font-size:13px}
.fab-title{display:flex;align-items:center;gap:14px}.fab-title img{height:1.1em;width:auto;flex:none}
.button-row .soon{display:inline-flex;align-items:center;padding:12px 21px;font-size:14px}
@media(max-width:650px){.fab-list li{padding:14px}}

/* Readable experience summaries; cards fit their contents. */
.branch .event{height:auto}.event .event-projects{color:var(--white);margin:0 0 10px}.event .event-company{color:var(--gold);margin-top:8px}.event-details{display:grid;gap:16px;margin-top:16px}.event-details h5{font-size:14px;font-weight:700;color:var(--white);margin:0 0 6px}.event .event-summary{line-height:1.65}

/* Selected experience layout: alternating cards on a chronological axis. */
.experience-section .section-head{display:block;margin-bottom:36px}
.experience-section .section-head p{max-width:760px;margin-top:18px}
.experience-timeline{position:relative;list-style:none;margin:0;padding:0 0 20px}
.experience-timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #79613b}
.experience-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:start}
.experience-row+.experience-row{margin-top:8px}
.experience-row:after{content:'';position:absolute;left:calc(50% - 52px);top:31px;width:30px;border-top:1px solid #79613b}
.experience-row:nth-child(even):after{left:calc(50% + 22px)}
.experience-marker{grid-column:2;grid-row:1;justify-self:center;text-align:center;width:60px;margin-top:12px;padding:5px 0;background:var(--bg);color:var(--gold);font-size:17px;line-height:1.5;z-index:1}
.experience-marker small{display:block;color:var(--muted);font-size:10px;letter-spacing:0;text-transform:none}
.experience-row .event{grid-column:1;grid-row:1;margin:0;padding:22px;min-width:0}
.experience-row:nth-child(even) .event{grid-column:3}
.experience-card-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 14px;margin-bottom:15px}
.experience-card-top .event-company{font-size:11px;color:var(--gold);margin:0}
.experience-card-top small{font-size:10px;letter-spacing:0;text-transform:none;color:var(--muted);padding:0}
.experience-card h3{font-size:19px;letter-spacing:-.025em;line-height:1.35;margin-bottom:10px}
.experience-thumbnail{float:right;width:68px;height:46px;object-fit:cover;margin:0 0 10px 16px}
.experience-card details{clear:both;padding-top:12px;margin-top:0}
.experience-card .event-details h4{font-size:14px;margin:0 0 6px;color:var(--white)}
@media(max-width:900px){
  .experience-timeline:before{left:8px}
  .experience-row{grid-template-columns:minmax(0,1fr);padding-left:28px;gap:12px}
  .experience-row+.experience-row{margin-top:26px}
  .experience-marker{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:baseline;gap:8px;width:auto;margin:0;padding:0 8px 0 0;text-align:left}
  .experience-row .event,.experience-row:nth-child(even) .event{grid-column:1;grid-row:2}
  .experience-row:after,.experience-row:nth-child(even):after{left:8px;top:14px;width:18px}
  .experience-row .event{padding:20px}
}
@media(max-width:480px){
  .experience-row .event{padding:17px}
  .experience-card-top{display:block}
  .experience-card-top small{display:block;margin-top:5px}
  .experience-thumbnail{width:52px;height:40px;margin-left:10px}
  .experience-card h3{font-size:18px}
}
