:root{--orange:#ff8c00;--blue:#b9ecff;--ink:#050505;--white:#f6f6f6;--lime:#b5ff62}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{margin:0;background:var(--ink);color:var(--white);font-family:'Funnel Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}
.topbar{position:fixed;z-index:100;inset:0 0 auto 0;display:flex;justify-content:center;align-items:center;height:78px;padding:15px 20px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.87) 0%,rgba(0,0,0,.37) 30%,transparent 56%);backdrop-filter:none}
.topnav{display:flex;gap:clamp(28px,3.8vw,65px);align-items:center;pointer-events:auto}
.topnav a{font-family:'Chakra Petch',sans-serif;font-size:clamp(13px,.94vw,17px);font-weight:400;letter-spacing:.035em;color:var(--orange);text-shadow:0 2px 5px #000;transition:color .2s ease,transform .2s ease}
.topnav a:hover,.topnav a:focus-visible{color:var(--blue);transform:translateY(-2px)}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,3fr);min-height:100svh;isolation:isolate;background:#050505}
.hero-left{position:relative;isolation:isolate;min-width:0;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#080808}
.background-media{position:absolute;z-index:-2;inset:0;overflow:hidden;background:#111 url('assets/hero-poster.webp') center/cover no-repeat}
.background-film,.original-framer-gif{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.background-film{z-index:0}.original-framer-gif{z-index:1}.original-framer-gif.not-loaded{display:none}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.60)}
.hero-content{position:relative;z-index:2;width:100%;padding:120px clamp(28px,3.9vw,80px) 95px;max-width:1190px}
.hero h1{font-family:'Chakra Petch',sans-serif;font-size:clamp(36px,3.75vw,73px);font-weight:400;line-height:1.12;letter-spacing:.022em;white-space:nowrap;margin-bottom:clamp(40px,3.9vw,71px);background:linear-gradient(90deg,#ff8100 5%,#ffa02b 55%,#ffc078 100%);color:var(--orange);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 5px rgba(0,0,0,.3))}
.intro{max-width:1010px}
.intro p{font-weight:400;font-size:clamp(16px,1.26vw,23px);line-height:1.41;margin-bottom:29px;letter-spacing:.001em;text-shadow:0 1px 5px rgba(0,0,0,.65)}
.intro strong{font-weight:800}
.intro .most-recent{font-weight:400;margin:34px 0 0}
.intro .inspirations{font-size:clamp(12px,.95vw,16px);margin:53px 0 0;line-height:1.5}
.intro .inspirations em{font-style:italic}
.hero-right{height:100svh;min-height:680px;padding:0 clamp(10px,1.4vw,26px) 0 7px;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,.9vw,16px);min-width:0}
.game-tile{display:block;position:relative;overflow:hidden;isolation:isolate;flex:none;height:clamp(125px,20vh,210px);width:100%;background:#080808;border:3px solid var(--orange);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.game-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:rgba(163,221,255,.22);opacity:0;transition:opacity .22s ease;z-index:2}
.game-tile:hover,.game-tile:focus-visible{border-color:var(--blue);box-shadow:0 0 0 1px rgba(181,235,255,.45),0 0 22px rgba(138,205,255,.22);transform:translateY(-2px)}
.game-tile:hover::after,.game-tile:focus-visible::after{opacity:1}
.game-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.game-tile:hover img{transform:scale(1.045)}
.fishing-tile{display:grid;place-items:center;text-align:center}
.fishing-tile span{font:400 clamp(23px,2.2vw,42px)/1.08 'Chakra Petch',sans-serif;color:var(--orange);letter-spacing:.02em}
.inner{width:min(1330px,calc(100% - clamp(42px,9vw,160px)));margin:0 auto}
.about-section{padding:clamp(88px,9vw,150px) 0;background:linear-gradient(112deg,#9a4518 0%,#a45226 27%,#65505a 60%,#154356 100%);color:#fff}
.about-section h2{font:400 clamp(45px,5.1vw,82px)/1.08 'Chakra Petch',sans-serif;letter-spacing:.015em;margin-bottom:clamp(30px,4vw,56px)}
.about-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,4fr);align-items:start;gap:clamp(30px,3.4vw,58px)}
.portrait-frame{width:100%;aspect-ratio:3/4;overflow:hidden;border:2px solid rgba(255,255,255,.5);background:rgba(0,0,0,.2);box-shadow:0 18px 45px rgba(9,14,23,.2)}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .34s ease}
.portrait-frame:hover img{transform:scale(1.09)}
.about-copy{max-width:900px}
.about-copy p{font-size:clamp(17px,1.32vw,22px);line-height:1.52;font-weight:500;margin:0 0 24px;text-shadow:0 1px 5px rgba(0,0,0,.22)}
.skills-section{background:#090909;padding:clamp(80px,8vw,135px) 0 clamp(100px,10vw,160px)}
.skills-section h2{font:400 clamp(53px,6vw,93px)/1.08 'Chakra Petch',sans-serif;color:var(--orange);margin:0 0 clamp(40px,4vw,60px);letter-spacing:.04em}
.skills-subheading{font:500 clamp(29px,3.1vw,47px)/1.1 'Chakra Petch',sans-serif;color:var(--orange);margin:0 0 26px}
.skill-methods{display:grid;gap:22px;max-width:1200px;margin:0 0 clamp(76px,7vw,115px);padding-left:27px;list-style:disc}
.skill-methods li{font-size:clamp(17px,1.22vw,21px);line-height:1.63;padding-left:2px}.skill-methods li::marker{color:#fff}
.skill-methods strong{color:#fff;font-weight:800}
.skills-trio{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:clamp(27px,4vw,72px)}
.skills-group h3{color:var(--orange);font:300 clamp(30px,3.2vw,50px)/1.12 'Chakra Petch',sans-serif;letter-spacing:-.025em;margin-bottom:25px}
.skills-group ul{font-size:clamp(17px,1.19vw,20px);line-height:1.7;margin:0;padding-left:25px}
.skills-group li{padding-left:1px;overflow-wrap:anywhere}
.skills-group li::marker{color:#a7a7a7;font-size:.92em}
.toolbox-primary{color:var(--white);font-weight:800;margin-bottom:0!important}
.toolbox-primary li::marker{color:var(--white);font-weight:900}
.toolbox-secondary{font-weight:400;color:white}
.toolbox-secondary li::marker{color:white}
.inline-project-link{color:var(--orange);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}
.inline-project-link:hover{color:var(--blue)}
.connect-section{background:#090909;padding:clamp(100px,9vw,165px) 0 clamp(105px,9vw,170px)}
.connect-inner{text-align:center}
.connect-section h2{font:300 clamp(54px,6vw,100px)/1.12 'Chakra Petch',sans-serif;color:#fb7600;letter-spacing:.07em;margin-bottom:clamp(40px,4vw,70px)}
.social-icons{display:flex;flex-wrap:wrap;gap:clamp(20px,3.5vw,50px);align-items:center;justify-content:center}
.social-icon{width:clamp(70px,8.6vw,128px);height:clamp(70px,8.6vw,128px);display:grid;place-items:center;color:var(--orange);transition:transform .22s ease,filter .22s ease}
.social-icon svg{display:block;width:100%;height:100%}
.social-icon:hover,.social-icon:focus-visible{transform:scale(1.12);filter:drop-shadow(0 8px 13px rgba(255,137,0,.25))}
.site-footer{background:#252525;display:flex;justify-content:space-between;align-items:flex-end;gap:36px;padding:28px clamp(22px,4vw,68px) 26px;font-size:13px;min-height:116px}
.footer-details{line-height:1.4;font-weight:600}.footer-details div:first-child{margin-bottom:12px}
.footer-details a:hover{text-decoration:underline}
.footer-links{display:flex;gap:clamp(16px,1.6vw,28px);flex-wrap:wrap;font:500 15px 'Chakra Petch',sans-serif;color:var(--orange)}
.footer-links a{transition:transform .2s ease,color .2s ease}.footer-links a:hover{transform:scale(1.09);color:var(--blue)}
.case-page{background:#080808;color:white;min-height:100vh}
.case-nav{padding:25px 0;text-align:center;font:16px 'Chakra Petch',sans-serif;color:var(--orange)}
.case-body{padding:120px max(22px,8vw);max-width:1000px;margin:auto}
.case-body h1{font:400 clamp(40px,6vw,70px)/1.1 'Chakra Petch',sans-serif;color:var(--orange);margin-bottom:25px}
.case-body p{font-size:20px;line-height:1.5;max-width:750px;margin:0 0 20px}
.case-body .soon{font:13px 'Chakra Petch',sans-serif;letter-spacing:.11em;color:var(--orange);margin-top:40px}
@media(max-width:1150px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-left{min-height:680px}
 .hero-content{padding:124px clamp(26px,5vw,70px) 95px}
 .hero h1{font-size:clamp(37px,5.7vw,66px)}
 .intro p{font-size:clamp(17px,2vw,21px)}
 .hero-right{height:auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:12px;padding:15px 20px 22px}
 .game-tile{height:clamp(150px,23vw,245px)}
 .fishing-tile span{font-size:clamp(25px,4vw,41px)}
 .about-layout{grid-template-columns:minmax(160px,1fr) minmax(0,3fr)}
}
@media(max-width:750px){
 .about-layout{grid-template-columns:minmax(135px, .8fr) minmax(0,2fr);gap:26px}
 .about-copy p{font-size:16px;line-height:1.5}
 .skills-trio{grid-template-columns:repeat(2,minmax(0,1fr))}
 .skills-trio>.skills-group:first-child{grid-row:span 2}
}
@media(max-width:600px){
 html{scroll-padding-top:58px}
 .topbar{height:59px;padding:9px 12px;background:linear-gradient(180deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.32) 44%,transparent 70%)}
 .topnav{gap:clamp(30px,9vw,65px)}
 .topnav a{font-size:13px}
 .hero-left{min-height:620px}
 .hero-content{padding:101px 22px 62px}
 .hero h1{font-size:clamp(28px,7.55vw,44px);white-space:normal;line-height:1.05;margin-bottom:37px}
 .intro p{font-size:clamp(15px,3.85vw,17px);line-height:1.5;margin-bottom:19px}
 .intro .most-recent{margin-top:23px}
 .intro .inspirations{font-size:12px;margin-top:29px}
 .hero-right{gap:9px;padding:9px}
 .game-tile{height:clamp(115px,28vw,170px);border-width:2px}
 .game-tile img{object-fit:contain;background:#080808}
 .fishing-tile span{font-size:clamp(18px,5vw,27px)}
 .inner{width:calc(100% - 42px)}
 .about-section{padding:75px 0 82px}
 .about-section h2{font-size:49px;margin-bottom:31px}
 .about-layout{grid-template-columns:1fr;gap:25px}
 .portrait-frame{width:min(56%,230px);aspect-ratio:3/4}
 .about-copy p{font-size:16px;line-height:1.54;margin-bottom:19px}
 .skills-section{padding:80px 0 100px}
 .skills-section h2{font-size:55px;margin-bottom:30px}
 .skills-subheading{font-size:32px}
 .skill-methods{margin-bottom:68px;gap:20px}
 .skill-methods li{font-size:16px}
 .skills-trio{grid-template-columns:1fr;gap:46px}
 .skills-trio>.skills-group:first-child{grid-row:auto}
 .skills-group h3{font-size:38px;margin-bottom:19px}
 .skills-group ul{font-size:17px}
 .connect-section{padding:95px 0 100px}
 .connect-section h2{font-size:clamp(43px,10vw,62px);letter-spacing:.04em}
 .social-icons{gap:12px}
 .social-icon{width:clamp(61px,18vw,80px);height:clamp(61px,18vw,80px)}
 .site-footer{flex-direction:column;align-items:flex-start;gap:24px;padding:27px 21px 30px;font-size:12px}
 .footer-links{gap:20px;font-size:14px}
}
@media(max-width:375px){.hero h1{font-size:28px}.intro p{font-size:15px}.game-tile{height:108px}.topnav{gap:24px}.topnav a{font-size:12px}.social-icons{gap:9px}.social-icon{width:62px;height:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.background-film{display:none}.game-tile,.game-tile img,.portrait-frame img,.social-icon,.footer-links a,.inline-project-link,.topnav a{transition:none}}

/* Fishing Simulator artwork: preserve the full logo at every aspect ratio. */
.fishing-tile{background:#fdfcf3}
.fishing-tile img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
