:root{--ink:#080a0c;--white:#f0f3f4;--chrome:#d7e2ea;--muted:#b9c2c9;--line:rgba(215,226,234,.27);--glass:rgba(10,15,20,.55);--ease:cubic-bezier(.22,.68,0,1.01)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--white);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}::selection{color:var(--ink);background:var(--chrome)}:focus-visible{outline:2px solid var(--chrome);outline-offset:5px}.skip-link{position:fixed;left:8px;top:8px;z-index:150;padding:12px 18px;background:var(--white);color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}
.micro,.section-rail,.site-header nav,.hero-topline,.hero-heading>p,.hero-bottom,.line-link,.text-link,.card-number,.tool-title>span,.category-number,.category-format,.category-foot,.stage-controls,.category-tabs,.footer-meta,.menu-top,.menu-bottom,.menu-preview>span,.dialog-actions button,.slot-meta,.slot-state{font-family:'Space Grotesk',monospace;font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.chrome{background:linear-gradient(180deg,#f2f6f8 12%,#bac7d0 52%,#788c9d 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3,.contact-title{font-family:Kanit,Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.05em}h2{font-size:clamp(56px,7.5vw,125px);line-height:.86;margin:0}main{position:relative;z-index:1}.section-pad{padding:110px 5vw 130px}.section-rail{display:flex;justify-content:space-between;gap:20px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted)}section,footer{position:relative;background:transparent}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:5vw;margin:85px 0 75px}.section-heading>p,.section-intro>p{max-width:32ch;color:var(--muted);font-size:18px;line-height:1.6;margin:0}.section-heading>p{max-width:26ch}
.film-layer{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--ink)}.film-poster,.film-layer canvas,.film-shade,.film-grain{position:absolute;inset:0;width:100%;height:100%}.film-poster{object-fit:cover;object-position:center}.film-layer canvas{opacity:0;transition:opacity .7s}.film-layer.is-ready canvas{opacity:1}.film-shade{background:linear-gradient(90deg,rgba(3,7,11,.23),rgba(3,7,11,.06) 52%,rgba(3,7,11,.22)),linear-gradient(180deg,rgba(3,7,11,.05),rgba(3,7,11,.09));backdrop-filter:none}.film-grain{opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}
.site-header{position:fixed;z-index:60;inset:0 0 auto;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(180deg,rgba(5,8,11,.78),transparent);transition:backdrop-filter .3s}.site-header.is-scrolled{backdrop-filter:blur(12px);background:rgba(5,8,11,.55);border-bottom:1px solid rgba(215,226,234,.1)}.wordmark{font:800 28px/.8 Kanit,sans-serif;letter-spacing:-.1em}.wordmark span{color:var(--muted)}.site-header nav{display:flex;justify-content:space-between;gap:6vw;margin-left:auto;margin-right:4vw}.site-header nav a{transition:opacity .25s}.site-header nav a:hover{opacity:.5}.menu-button,.close-button{height:46px;width:46px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px solid var(--line);background:rgba(8,12,16,.35);color:var(--white)}.menu-button span{height:1px;width:20px;background:currentColor}.close-button{font:300 30px/1 Arial,sans-serif}.menu-button:hover,.close-button:hover{background:rgba(215,226,234,.18)}
dialog{color:var(--white);border:1px solid var(--line);padding:0;background:rgba(5,9,13,.94);backdrop-filter:blur(22px)}dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(16px)}.full-menu{max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:22px 5vw 28px;border:0}.full-menu[open]{display:flex;flex-direction:column}.menu-top,.menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.menu-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;flex:1;align-items:center}.menu-grid nav{display:flex;flex-direction:column}.menu-grid nav a{display:flex;gap:25px;align-items:baseline;border-bottom:1px solid var(--line);padding:12px 0;font:800 clamp(45px,6.4vw,105px)/.88 Kanit,sans-serif;letter-spacing:-.045em;color:rgba(215,226,234,.48);transition:color .25s,transform .25s}.menu-grid nav a:hover,.menu-grid nav a:focus-visible{color:var(--white);transform:translateX(8px)}.menu-grid nav small{font:12px 'Space Grotesk',monospace;color:var(--muted);letter-spacing:0}.menu-grid nav span{margin-left:auto;font-size:25px}.menu-preview{height:55vh;max-height:540px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(4,8,12,.15),rgba(4,8,12,.72)),url('/assets/avatar-eye-poster.jpg') center/cover}.menu-preview strong{font:800 clamp(44px,5.7vw,85px)/.85 Kanit,sans-serif;letter-spacing:-.045em}.menu-bottom a{border-bottom:1px solid var(--chrome);padding-bottom:6px}
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:115px 5vw 38px}.hero-topline{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.hero-heading{padding:6vh 0}.hero-heading>p{margin:0 0 28px}.hero h1{font-size:clamp(100px,14.5vw,245px);font-weight:900;line-height:.72;letter-spacing:-.06em;margin:0}.hero h1 span{display:block}.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end}.hero-bottom p{margin:0;line-height:1.65}.hero-location{text-align:right;color:var(--muted)}.line-link{display:flex;justify-content:space-between;gap:70px;border-top:1px solid var(--chrome);border-bottom:1px solid var(--chrome);padding:15px 0;min-width:220px;transition:padding .25s}.line-link:hover{padding-left:12px;padding-right:12px}.about-story{padding-top:100px}.about-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:8vw;margin-top:85px;align-items:center}.about-copy h2{font-size:clamp(50px,6.8vw,110px);margin-bottom:45px}.about-copy p{font-size:17px;line-height:1.7;color:var(--muted);max-width:55ch;margin-bottom:20px}.about-copy p.lead{color:var(--white);font-size:clamp(20px,2vw,28px);line-height:1.45}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid var(--line);padding:10px 0;margin-top:16px}.certificate-area{position:relative;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.certificate-kicker{color:var(--muted);align-self:flex-start}.certificate-sticker{position:relative;width:min(100%,400px);border:7px solid #e6ecec;border-bottom-width:0;border-radius:8px;padding:0;color:#111;background:#e6ecec;transform:translate(var(--sticker-x,0px),var(--sticker-y,0px)) rotate(-7deg);box-shadow:15px 25px 50px rgba(0,0,0,.45);touch-action:none;cursor:grab;user-select:none;transition:box-shadow .3s;z-index:2}.certificate-sticker:active{cursor:grabbing}.certificate-sticker:hover{box-shadow:10px 20px 70px rgba(0,0,0,.6)}.certificate-sticker img{pointer-events:none;width:100%;border-radius:2px}.certificate-sticker>span{display:flex;justify-content:space-between;padding:10px 8px;font:600 9px 'Space Grotesk',monospace;letter-spacing:.07em}.certificate-area #certificate-hint{font-size:9px;color:var(--muted);margin:0}.certificate-caption{text-align:center;color:var(--white);font-size:15px;line-height:1.6;margin:0}.certificate-caption span{color:var(--muted);font-size:13px}
.ghost-type{position:absolute;top:145px;left:5vw;right:5vw;font:800 clamp(60px,12vw,210px)/1 Kanit,sans-serif;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(215,226,234,.1);pointer-events:none;white-space:nowrap;overflow:hidden}.skills-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start;margin-top:150px}.section-intro{position:sticky;top:140px}.section-intro>p{margin-top:35px}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:40px}.skill-card{position:relative;padding:32px 25px;min-height:260px;background:linear-gradient(135deg,rgba(215,226,234,.085),rgba(8,13,18,.45));border:1px solid var(--line);backdrop-filter:blur(13px);transition:border-color .3s,transform .3s}.skill-card:nth-child(even){transform:translateY(35px)}.skill-card:hover{border-color:rgba(215,226,234,.65)}.card-number{position:absolute;right:20px;top:20px;font-size:10px;color:var(--muted)}.hairline{display:block;height:1px;width:32px;background:var(--chrome);transition:width .4s}.skill-card:hover .hairline{width:65px}.skill-card h3{font-size:clamp(22px,2.15vw,34px);line-height:1.03;margin:35px 0 16px}.skill-card p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.skill-card:last-child{grid-column:1/-1;min-height:200px}.skill-card:last-child p{max-width:55ch}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tool-group{padding:30px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(215,226,234,.075),rgba(8,13,18,.43));backdrop-filter:blur(13px)}.tool-group:nth-child(2){grid-row:span 2}.tool-group:last-child{grid-column:1/-1}.tool-title{display:flex;gap:24px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.tool-title>span{color:var(--muted)}.tool-title h3{font-size:clamp(26px,3vw,42px);line-height:1;margin:0}.tool-group ul{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0;list-style:none}.tool-group li{font-size:14px;padding:11px 16px;border:1px solid rgba(215,226,234,.2);background:rgba(215,226,234,.04);border-radius:1px;color:var(--chrome)}.tool-group:nth-child(2) ul{display:grid;grid-template-columns:1fr 1fr}.tool-group:nth-child(2) li{padding:19px 16px}
.category-stage{height:min(76vh,780px);min-height:570px;position:relative;margin-top:25px;touch-action:pan-y;overflow:hidden;user-select:none}.category-card{position:absolute;top:5%;left:50%;width:min(36vw,480px);height:72%;border:1px solid rgba(215,226,234,.33);border-radius:180px 180px 7px 7px;padding:30px;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,rgba(177,196,209,.2),transparent 62%),linear-gradient(180deg,rgba(100,120,137,.2),rgba(7,13,18,.7));backdrop-filter:blur(17px);transform-origin:center bottom;box-shadow:0 40px 80px rgba(0,0,0,.4);transition:transform .65s var(--ease),opacity .65s,filter .65s;display:flex;flex-direction:column;align-items:stretch;text-align:left}.category-card:after{content:'';position:absolute;left:15%;right:15%;bottom:17%;height:1px;background:linear-gradient(90deg,transparent,rgba(215,226,234,.7),transparent)}.plate-orbit{position:absolute;width:85%;aspect-ratio:1;left:7.5%;top:7%;border:1px solid rgba(215,226,234,.12);border-radius:50%;box-shadow:inset 0 0 40px rgba(215,226,234,.025)}.plate-orbit:before,.plate-orbit:after{content:'';position:absolute;inset:10%;border:1px solid rgba(215,226,234,.08);border-radius:50%}.plate-orbit:after{inset:22%}.category-number{position:relative;font-size:14px;text-align:center;color:var(--muted);margin-top:9%}.category-format{margin:auto 0 15px;position:relative;font-size:9px;color:var(--muted)}.category-card strong{position:relative;font:800 clamp(26px,3.7vw,56px)/.87 Kanit,sans-serif;letter-spacing:-.045em}.category-card strong>span{color:var(--chrome)}.category-foot{margin-top:33px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.role-center{z-index:4;opacity:1;transform:translateX(-50%) scale(1)}.role-left{z-index:2;opacity:.6;filter:blur(1px);transform:translateX(-137%) translateY(7%) scale(.7)}.role-right{z-index:2;opacity:.6;filter:blur(1px);transform:translateX(37%) translateY(7%) scale(.7)}.role-back{z-index:1;opacity:.1;transform:translateX(-50%) translateY(12%) scale(.5);pointer-events:none}.stage-controls{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;z-index:8}.stage-controls button{height:46px;width:46px;border:1px solid var(--line);background:var(--glass);font-size:22px}.stage-controls button:hover{background:rgba(215,226,234,.2)}.category-tabs{display:flex;justify-content:center;gap:8px;margin:55px 0 90px}.category-tabs button{font:inherit;letter-spacing:inherit;font-size:10px;border:1px solid var(--line);background:rgba(6,12,17,.45);padding:15px 22px;transition:background .2s,color .2s}.category-tabs button[aria-selected=true]{background:var(--chrome);color:var(--ink)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-bottom:30px}.gallery-heading .micro{color:var(--muted)}.gallery-heading h3{font-size:clamp(30px,4vw,58px);line-height:.95;margin:14px 0 0}.work-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-slot{padding:0;border:1px solid var(--line);background:rgba(8,14,19,.44);text-align:left;transition:border-color .25s,transform .25s;overflow:hidden}.work-slot:hover{border-color:rgba(215,226,234,.75);transform:translateY(-4px)}.slot-plate{position:relative;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:radial-gradient(ellipse at 50% 68%,rgba(150,177,199,.13),transparent 60%),linear-gradient(145deg,rgba(92,111,128,.16),rgba(7,12,17,.15));overflow:hidden}.slot-plate:before{content:'';position:absolute;left:12%;right:12%;top:30%;bottom:20%;border:1px solid rgba(215,226,234,.14);transform:perspective(300px) rotateX(45deg);box-shadow:0 10px 35px rgba(171,196,213,.07)}.slot-plate:after{content:'';position:absolute;left:0;right:0;bottom:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(215,226,234,.3),transparent)}.slot-plate>strong{position:relative;font:700 clamp(35px,5vw,75px)/1 Kanit,sans-serif;text-align:center;color:rgba(215,226,234,.2);align-self:center;margin:auto}.slot-state{position:relative;color:var(--muted);font-size:9px;display:flex;justify-content:space-between}.slot-meta{display:flex;justify-content:space-between;gap:15px;padding:18px;border-top:1px solid var(--line);font-size:10px}.work-gallery.is-vertical{grid-template-columns:repeat(5,1fr)}.is-vertical .slot-plate{aspect-ratio:9/16;padding:15px}.is-vertical .slot-meta{display:block;padding:14px;font-size:9px}.is-vertical .slot-meta span:last-child{display:block;color:var(--muted);margin-top:5px}.work-slot img{width:100%;aspect-ratio:16/9;object-fit:cover}.is-vertical .work-slot img{aspect-ratio:9/16}.site-footer{padding-top:110px;padding-bottom:35px}.contact-title{position:relative;display:block;font-size:clamp(70px,12vw,200px);line-height:.78;margin:35px 0 95px;max-width:1150px}.contact-arrow{position:absolute;right:0;top:0;font:400 clamp(55px,10vw,150px)/1 'Space Grotesk',sans-serif}.footer-meta{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
.certificate-dialog,.work-dialog{width:min(94vw,1400px);max-height:94dvh;padding:25px;overflow:auto;overscroll-behavior:contain}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-top h2{font-size:clamp(23px,3vw,40px);line-height:1;margin:7px 0 0}.dialog-top .micro{color:var(--muted);font-size:9px}.dialog-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.dialog-actions>button:not(.close-button){padding:12px;border:1px solid var(--line);background:transparent;font-size:9px}.certificate-view{overflow:auto;max-height:73dvh}.certificate-view img{width:100%;height:auto;max-height:73dvh;object-fit:contain;margin:auto}.certificate-view.is-zoomed img{width:160%;max-width:none;max-height:none}.work-dialog .slot-plate{min-height:300px;max-height:65vh}.work-dialog video,.work-dialog-content>img{width:100%;max-height:70vh}.placeholder-note{padding:20px 0 0;color:var(--muted);font-size:15px;margin:0}
@media(min-width:1600px){.section-pad{padding-left:max(5vw,calc((100vw - 1550px)/2));padding-right:max(5vw,calc((100vw - 1550px)/2))}}
@media(max-width:1050px){.about-grid{gap:5vw}.about-copy h2{font-size:6.5vw}.skills-layout{grid-template-columns:.65fr 1.35fr;gap:4vw}.section-intro h2{font-size:6.4vw}.skill-card{padding:25px 20px}.category-card{width:43vw}.work-gallery.is-vertical{grid-template-columns:repeat(3,1fr)}}
@media(max-width:750px){html{scroll-padding-top:75px}.site-header{height:70px}.site-header nav{gap:4vw;margin-right:0;font-size:9px}.wordmark{font-size:24px}.menu-button,.close-button{width:40px;height:40px}.hero{padding-top:100px;min-height:95svh}.hero-topline{font-size:9px}.hero-topline span:last-child{max-width:20ch;text-align:right}.hero h1{font-size:19vw;line-height:.77}.hero-heading>p{font-size:9px;max-width:25ch;line-height:1.6}.hero-location{display:none}.hero-bottom p{font-size:9px}.line-link{min-width:160px;font-size:10px;gap:25px}.section-pad{padding:85px 5vw 100px}.section-rail{font-size:9px;letter-spacing:.09em}.section-rail span:last-child{text-align:right}.about-grid{grid-template-columns:1fr;gap:50px;margin-top:65px}.about-copy h2{font-size:clamp(48px,10.5vw,80px);margin-bottom:35px}.about-copy p{font-size:16px}.about-copy p.lead{font-size:22px}.certificate-area{max-width:450px;margin:auto;width:100%;min-height:440px;padding:25px 30px}.certificate-sticker{max-width:330px}.certificate-kicker{align-self:center;font-size:10px}.skills-layout{display:block;margin-top:100px}.section-intro{position:static;margin-bottom:55px}.section-intro h2{font-size:clamp(65px,12vw,100px)}.section-intro>p{font-size:17px;max-width:40ch;margin-top:25px}.skill-card h3{font-size:26px}.skill-card p{font-size:13px}.skill-card{min-height:245px}.ghost-type{top:135px}.section-heading{display:block;margin:60px 0 45px}.section-heading h2{font-size:clamp(54px,10vw,85px)}.section-heading>p{margin:28px 0 0;max-width:38ch;font-size:16px}.tools-grid{gap:14px}.tool-group{padding:24px 18px}.tool-title{gap:15px}.tool-title h3{font-size:28px}.tool-group li{font-size:12px;padding:9px 10px}.tool-group:nth-child(2) li{padding:14px 10px}.category-stage{height:65svh;min-height:540px}.category-card{width:70vw;height:70%;padding:24px;border-radius:150px 150px 5px 5px}.category-card strong{font-size:clamp(36px,7vw,53px)}.role-left{transform:translateX(-117%) translateY(8%) scale(.7);filter:none}.role-right{transform:translateX(17%) translateY(8%) scale(.7);filter:none}.category-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:40px 0 65px}.category-tabs button{padding:14px 8px;font-size:9px}.work-gallery{grid-template-columns:1fr 1fr;gap:12px}.work-gallery.is-vertical{grid-template-columns:1fr 1fr}.slot-plate{padding:15px}.slot-meta{font-size:9px;padding:12px;display:block}.slot-meta>span:last-child{display:block;margin-top:5px;color:var(--muted)}.gallery-heading h3{font-size:36px}.gallery-heading>.micro{font-size:9px}.contact-title{font-size:14vw;margin-bottom:65px}.contact-arrow{font-size:10vw}.site-footer>.micro{font-size:9px}.footer-meta{flex-wrap:wrap;font-size:9px}.footer-meta>span{width:100%}.menu-grid{display:block;align-content:center}.menu-preview{display:none}.menu-grid nav a{font-size:clamp(50px,12vw,90px);padding:16px 0}.menu-top,.menu-bottom{font-size:9px}.certificate-dialog,.work-dialog{padding:16px}.dialog-top h2{font-size:22px}.dialog-top{gap:12px}.dialog-actions{gap:6px}.dialog-actions>button:not(.close-button){font-size:8px;padding:10px 8px}.certificate-view{max-height:75dvh}.certificate-view img{max-height:75dvh}}
@media(max-width:430px){.site-header nav{display:none}.hero h1{font-size:19.1vw}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:205px;padding:26px}.skill-card:nth-child(even){transform:none}.skill-card:last-child{grid-column:auto}.skill-card h3{max-width:19ch;font-size:28px}.skill-card p{font-size:14px}.tools-grid{grid-template-columns:1fr}.tool-group:nth-child(2){grid-row:auto}.tool-group:last-child{grid-column:auto}.tool-group li{font-size:13px}.certificate-area{padding-left:20px;padding-right:20px;min-height:380px}.category-stage{min-height:480px}.category-card strong{font-size:8vw}.category-foot{font-size:7px}.category-format{font-size:8px}.category-card{padding:20px}.work-gallery:not(.is-vertical){grid-template-columns:1fr}.gallery-heading h3{font-size:29px}.gallery-heading>.micro{max-width:7ch}.certificate-dialog .dialog-top{flex-direction:column}.certificate-dialog .dialog-actions{align-self:flex-end}.slot-state{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.film-layer canvas{display:none}.category-card{filter:none}.certificate-sticker{transition:none}}

/* Preserve background clarity; contrast is local to content, never a full-page blur. */
.about-copy,.section-intro>p,.section-heading>p{background:rgba(6,10,14,.65);border:1px solid rgba(215,226,234,.16);padding:24px;backdrop-filter:blur(8px);border-radius:3px}
.hero-heading,.section-rail,h2,.contact-title,.footer-meta{filter:drop-shadow(0 2px 8px rgba(0,0,0,.65))}
.skill-card,.tool-group{background:linear-gradient(135deg,rgba(20,27,33,.66),rgba(8,13,18,.76))}
/* Refined portfolio flow: art-directed categories and compact practice cards. */
.hero-bottom .line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:#edf4f7;color:#10191e;border:1px solid #fff;border-radius:14px;padding:19px 25px;min-width:215px;font-size:13px;font-weight:700;box-shadow:0 8px 35px #0005;opacity:1}
.hero-bottom .line-link:hover{background:#fff;transform:translateY(-3px)}
.about-copy .text-link{display:inline-flex;padding:15px 18px;background:rgba(215,226,234,.15);border:1px solid #d7e2ea88;border-radius:12px;color:#fff;font-weight:600;gap:20px}
.practice-label{position:relative;margin:42px 0 25px;color:#fff;font:600 clamp(22px,3vw,42px)/1.1 'Space Grotesk',sans-serif;letter-spacing:.12em;text-shadow:0 2px 12px #000}
.skills-layout{margin-top:45px;grid-template-columns:.75fr 1.25fr;gap:5vw}
.skill-grid{grid-template-columns:1fr;gap:12px;padding:0}
.skill-card,.skill-card:last-child{min-height:0;padding:20px 26px;border-radius:18px;grid-column:auto;display:grid;grid-template-columns:32px 1fr;column-gap:16px}
.skill-card:nth-child(even){transform:none}
.skill-card .hairline{display:none}.skill-card .card-number{position:static;grid-row:1/3;padding-top:5px;font-size:12px}
.skill-card h3{font-size:clamp(20px,2vw,28px);margin:0 0 8px;line-height:1.1}.skill-card p{grid-column:2;margin:0;max-width:65ch;font-size:14px;line-height:1.5}
.tool-group,.about-copy,.section-intro>p,.section-heading>p,.work-slot,.work-dialog,.certificate-dialog,.menu-preview{border-radius:18px}
.tool-group:nth-child(2){grid-row:auto}.tool-group:last-child{grid-column:auto}.tool-group:nth-child(2) ul{display:flex}.tool-group:nth-child(2) li{padding:11px 16px}.tool-group li{border-radius:10px}.model-label{margin:22px 0 12px;color:var(--muted)}
.category-card{border-radius:110px 110px 24px 24px;background-size:cover;background-position:center;backdrop-filter:none}
.category-card[data-category=long]{background-image:linear-gradient(180deg,#0000 30%,#000b 78%,#000e),url('/assets/category-long.webp')}
.category-card[data-category=short]{background-image:linear-gradient(180deg,#0000 30%,#000b 78%,#000e),url('/assets/category-short.webp')}
.category-card[data-category=campaign]{background-image:linear-gradient(180deg,#0000 30%,#000b 78%,#000e),url('/assets/category-campaign.webp')}
.category-card[data-category=motion]{background-image:linear-gradient(180deg,#0000 30%,#000b 78%,#000e),url('/assets/category-motion.webp')}
.category-card .plate-orbit,.category-card:after{display:none}.category-number{color:#fff;text-shadow:0 2px 8px #000}.category-format,.category-foot{color:#edf4f7}.role-left,.role-right{opacity:.88;filter:none}.role-back{visibility:hidden}.category-card strong{text-shadow:0 3px 15px #0008}.category-card:hover{border-color:#fff}.category-tabs button,.stage-controls button,.menu-button,.close-button{border-radius:12px}
#work-selections{scroll-margin-top:110px;outline:none}.category-tabs{margin-bottom:50px}
@media(max-width:750px){.skills-layout{grid-template-columns:1fr;gap:30px}.practice-label{font-size:23px;margin-top:32px}.skill-card,.skill-card:last-child{padding:18px;grid-template-columns:25px 1fr;column-gap:10px}.category-card{border-radius:75px 75px 20px 20px}.tools-grid{grid-template-columns:1fr}.hero-bottom .line-link{min-width:180px;padding:16px 20px}.tool-group:last-child{grid-column:1/-1}}

/* Actual film thumbnails: visible playback affordance and balanced four-film grid. */
.work-gallery:not(.is-vertical):has(>.work-slot:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.work-slot:has(img){position:relative}.work-slot:has(img):after{content:'▶';position:absolute;top:calc(50% - 24px);left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;border:1px solid #fff8;border-radius:50%;background:#0008;color:white;pointer-events:none;backdrop-filter:blur(5px)}
@media(max-width:600px){.work-gallery:not(.is-vertical):has(>.work-slot:nth-child(4):last-child){grid-template-columns:1fr}}

/* Content-height toolkit stacks: no equal-height row whitespace. */
.tools-grid{align-items:start}.tool-column{display:flex;flex-direction:column;gap:20px;min-width:0}.tool-column .tool-group{min-width:0;height:auto;grid-column:auto;grid-row:auto}.tool-column .tool-group ul{display:flex;flex-wrap:wrap}.tool-column .tool-group li{padding:11px 16px}.tool-column .tool-group .tool-title{gap:18px}
@media(max-width:750px){.tool-column{display:contents}.tools-grid{grid-template-columns:minmax(0,1fr)}.tool-group[data-tool-order="1"]{order:1}.tool-group[data-tool-order="2"]{order:2}.tool-group[data-tool-order="3"]{order:3}.tool-group[data-tool-order="4"]{order:4}}

/* Editorial category covers using the actual portfolio footage. */
.category-card[data-category]{background:#10181d;border-radius:26px;padding:25px;isolation:isolate}
.category-card .cover-art{position:absolute;inset:0 0 29%;z-index:-2;overflow:hidden;pointer-events:none}
.category-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07101515 35%,#09121855 57%,#091218 77%);pointer-events:none}
.category-card .category-number{margin-top:0;text-align:left;align-self:start;border:1px solid #fff5;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:10px;background:#071015b3}
.category-card strong{font-size:clamp(24px,3vw,43px);line-height:.94}.category-card .category-foot{margin-top:22px}.category-card .category-format{margin-bottom:12px}
.cover-film .film-main{width:100%;height:75%;object-fit:cover}
.film-insets{position:absolute;left:7%;right:7%;bottom:1%;display:flex;gap:10px;transform:rotate(-4deg)}
.film-insets img{width:calc(50% - 5px);aspect-ratio:16/9;object-fit:cover;border:3px solid #c7d3d9;border-radius:8px;box-shadow:0 10px 22px #0008}
.cover-reels{perspective:800px;background:radial-gradient(ellipse at 50% 40%,#344a57,#10181d 75%)}
.reel-leaf{position:absolute;width:47%;height:87%;top:10%;left:26.5%;border:2px solid #aebdc666;border-radius:14px;overflow:hidden;box-shadow:0 15px 30px #0009;transform:translateX(calc((var(--i) - 1)*65%)) rotate(calc((var(--i) - 1)*12deg));transition:transform .5s}
.reel-leaf:nth-child(2){z-index:2;top:3%}.reel-leaf img{width:100%;height:100%;object-fit:cover}
.category-card:hover .reel-leaf{transform:translateX(calc((var(--i) - 1)*76%)) rotate(calc((var(--i) - 1)*15deg))}
.cover-motion{background:radial-gradient(ellipse at 50% 40%,#405660,#10181d 75%)}.cover-motion .reel-leaf{border-color:#d9eef3aa}
.cover-calendar{background:radial-gradient(ellipse at 50% 40%,#687066,#152024 80%);perspective:900px}
.calendar-leaf{position:absolute;left:31%;top:18%;width:39%;height:69%;background:#e5e7dd;padding:5px;border-radius:10px;box-shadow:0 15px 25px #0007;transform-origin:center 120%;transform:translateX(calc((var(--i) - 2)*27%)) rotate(calc((var(--i) - 2)*11deg));transition:transform .55s;overflow:hidden}
.calendar-leaf>span{display:flex;justify-content:space-between;align-items:center;color:#1a282b;padding:7px 6px;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.1em}.calendar-leaf b{font-size:21px}.calendar-leaf img{width:100%;height:calc(100% - 39px);object-fit:cover;border-radius:5px}
.calendar-leaf:nth-child(3){z-index:3}.calendar-leaf:nth-child(2),.calendar-leaf:nth-child(4){z-index:2}
.category-card:hover .calendar-leaf{transform:translateX(calc((var(--i) - 2)*34%)) rotate(calc((var(--i) - 2)*14deg))}
@media(max-width:750px){.category-card[data-category]{border-radius:20px;padding:19px}.category-card strong{font-size:clamp(23px,5vw,34px)}}

/* Long-form category: one uninterrupted hero frame. */
.cover-film .film-main{height:100%;width:100%;object-fit:cover}

/* Frame all three long-form stills consistently. */
.cover-film .film-main{position:absolute;top:7%;left:7%;width:86%;height:65%;object-fit:cover;border:3px solid #c7d3d9;border-radius:10px;box-shadow:0 10px 22px #0008}.cover-film .film-insets{bottom:1%}

/* Clear, premium contact actions. */
.hero-topline{justify-content:flex-end}
.hero-actions{display:flex;flex-direction:column;align-items:center;gap:16px}
.hero-contact-link{font:500 11px 'Space Grotesk',sans-serif;letter-spacing:.12em;color:#edf4f6;text-decoration:none;padding:8px 0;border-bottom:1px solid #ffffff55}
.hero-contact-link:hover{border-color:#fff}
.contact-intro{max-width:530px;color:#d0dbe0;font-size:clamp(16px,1.5vw,20px);line-height:1.65;margin:24px 0 30px}
.contact-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 64px}
.contact-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 20px;border:1px solid #ffffff40;border-radius:16px;background:#101a20bb;backdrop-filter:blur(16px);color:#f0f5f7;text-decoration:none;font:500 14px 'Space Grotesk',sans-serif;transition:transform .2s,background .2s,border-color .2s}
.contact-action.primary{background:#e9f0f2;color:#111c22;border-color:#e9f0f2}
.contact-action:hover{transform:translateY(-3px);border-color:#e5f0f5;background:#25333ded}
.contact-action.primary:hover{background:#fff}
.contact-action:focus-visible,.hero-contact-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:750px){.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-action{padding:18px 14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.contact-action{transition:none}}

.contact-action .cta-icon{width:24px;height:24px;flex-shrink:0}.contact-action>span:first-of-type{flex:1}.contact-action{gap:12px}

/* Floating creative tools, independent from the background portrait. */
.portrait-tools{position:absolute;inset:0;z-index:2;pointer-events:none}
.floating-tool{position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid #ffffff40;background:linear-gradient(145deg,#26343def,#0b1019ee);box-shadow:0 7px 20px #0006,inset 0 1px 0 #ffffff15;color:#eef6fa;font:600 19px 'Space Grotesk',sans-serif;animation:tool-drift 6s ease-in-out infinite;animation-delay:calc(var(--tool-i) * -.8s);pointer-events:auto;cursor:default}
.tool-higgsfield{left:4%;top:19%}
.tool-claude{left:23%;top:-4%;color:#e7ac92}
.tool-resolve{right:25%;top:-8%;color:#a1e2e1}
.tool-ae{right:4%;top:12%;color:#b8abff;background:linear-gradient(145deg,#292252f2,#111027f2)}
.tool-premiere{right:-3%;top:48%;color:#d0aaff;background:linear-gradient(145deg,#392044f2,#191022f2)}
.tool-photoshop{left:-3%;top:55%;color:#75c9ff;background:linear-gradient(145deg,#133452f2,#0b192af2)}
@keyframes tool-drift{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@media(max-width:750px){.floating-tool{width:32px;height:32px;border-radius:10px;font-size:15px}.tool-photoshop{left:0}.tool-premiere{right:0}}
@media(prefers-reduced-motion:reduce){.floating-tool{animation:none}}

/* Authentic brand assets; reset portrait-only image effects on badges. */
.hero-tools .floating-tool .tool-logo{display:block;width:28px;height:28px;object-fit:contain;border-radius:0;filter:none;mask-image:none;-webkit-mask-image:none}
.tool-resolve{background:#dce8edf2}
@media(max-width:750px){.hero-tools .floating-tool .tool-logo{width:23px;height:23px}}

/* Camera-based portfolio: open contact-sheet layout, separate from AI categories. */
.shot-section{position:relative;scroll-margin-top:100px}
.shot-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:end;margin:65px 0 45px}
.shot-intro h2{margin:14px 0 0}
.shot-intro>p{font-size:clamp(16px,1.6vw,22px);line-height:1.7;max-width:430px;color:#dae3e7;margin:0 0 8px;text-shadow:0 2px 12px #000}
.shot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.shot-filters{display:flex;flex-wrap:wrap;gap:8px}
.shot-filters button{font:500 11px 'Space Grotesk',sans-serif;letter-spacing:.08em;padding:13px 17px;border:1px solid #ffffff50;border-radius:30px;background:#101a20cc;color:#edf2f5;cursor:pointer;transition:background .2s,color .2s}
.shot-filters button[aria-pressed=true]{background:#edf2f5;color:#101a20;border-color:#edf2f5}
.shot-filters button:focus-visible,.shot-card:focus-visible{outline:2px solid white;outline-offset:5px}
.shot-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px;align-items:start}
.shot-card{width:100%;display:block;padding:0;text-align:left;color:#f1f5f7;background:transparent;border:0;cursor:pointer}
.shot-frame{position:relative;display:block;aspect-ratio:9/13;overflow:hidden;border-radius:18px;border:1px solid #ffffff55;background:#101820;box-shadow:0 10px 30px #0004}
.shot-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.shot-card.is-landscape .shot-frame{aspect-ratio:16/9}
.shot-play{position:absolute;left:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0c151ab3;backdrop-filter:blur(8px);border:1px solid #ffffff66}
.shot-duration{position:absolute;right:14px;bottom:23px;font:500 11px 'Space Grotesk',sans-serif;background:#101820ba;padding:4px 7px;border-radius:5px}
.shot-card:hover .shot-frame img{transform:scale(1.035)}
.shot-meta{display:flex;justify-content:space-between;gap:12px;margin:15px 2px 0;font:500 13px 'Space Grotesk',sans-serif;text-shadow:0 2px 10px #000}
.shot-meta small{display:block;margin-top:7px;color:#b8cbd5;letter-spacing:.08em;font-size:9px;text-transform:uppercase}
.shot-meta>span:last-child{color:#c6d5dc;font-size:11px}
.site-header nav{gap:clamp(16px,2.5vw,45px)}
@media(max-width:1050px){.shot-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav a{font-size:10px}}
@media(max-width:750px){.shot-intro{grid-template-columns:1fr;gap:26px;margin:38px 0 28px}.shot-toolbar{align-items:start;flex-direction:column;gap:15px}.shot-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.shot-frame{border-radius:13px}.shot-filters button{font-size:9px;padding:11px 12px}.shot-meta{font-size:11px}.shot-play{width:34px;height:34px;left:10px;bottom:10px}.shot-duration{right:8px;bottom:18px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.shot-frame img,.shot-filters button{transition:none}}

/* Compact contact-sheet columns preserve each film's original aspect ratio. */
.shot-gallery{display:block;columns:4;column-gap:22px}
.shot-card{break-inside:avoid;margin-bottom:30px}
@media(max-width:1050px){.shot-gallery{columns:3}}
@media(max-width:750px){.shot-gallery{columns:2;column-gap:12px}.shot-card{margin-bottom:24px}}

@media(max-width:750px){.work-section{overflow-x:clip}}

[hidden]{display:none!important}.cover-custom img{width:100%;height:100%;object-fit:cover}

.draft-banner{position:fixed;left:18px;bottom:18px;z-index:999;background:#d6efc8;color:#193b29!important;padding:12px 17px;border-radius:10px;font:600 11px/1.2 sans-serif;letter-spacing:.5px;text-decoration:none;box-shadow:0 5px 25px #0005}

/* Mobile film: stable canvas while browser chrome moves, edge-to-edge scene, cheaper compositing. */
@media(max-width:767px){
 .film-layer{height:100vh;height:100lvh;bottom:auto}
 .film-poster{object-fit:cover}
 .film-grain{display:none}
 .site-header.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,8,11,.91)}
 .skill-card,.tool-group,.contact-action,.shot-play{backdrop-filter:none;-webkit-backdrop-filter:none}
 .skill-card,.tool-group{background:linear-gradient(135deg,rgba(19,29,36,.93),rgba(8,13,18,.86))}
}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
 .floating-tool{animation-duration:7s;will-change:transform}
}


/* Red portrait introduction → certificate → eye-opening film, with no hard cut. */
.hero-background{position:absolute;inset:0;z-index:1;display:block;opacity:var(--hero-opacity,1);will-change:opacity;pointer-events:none}
.hero-background img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 26%;filter:none}
.hero-background:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.68),rgba(5,7,10,.25) 38%,transparent 68%),linear-gradient(0deg,rgba(5,7,10,.8),transparent 66%)}
.film-shade,.film-grain{z-index:2}
.hero{min-height:100svh;padding-top:115px;padding-bottom:36px}
.hero-heading{padding:0;margin-top:auto;margin-bottom:42px;filter:drop-shadow(0 2px 10px #0007)}
.hero-heading>p{margin:0 0 24px;max-width:none;font-size:11px;letter-spacing:.14em}
.hero h1{display:flex;flex-direction:column;gap:0;font-size:clamp(110px,13.1vw,212px);line-height:.78;letter-spacing:-.055em}
.hero h1>span{display:block}
.hero h1>span.chrome>span{display:inline}
.hero-tools{position:relative;width:340px;max-width:100%;height:84px;margin:38px 0 26px;isolation:isolate}
.hero-tools .floating-tool{width:42px;height:42px;border-radius:13px;border-color:#ffffff38;box-shadow:0 8px 24px #0007,inset 0 1px #ffffff18}
.hero-tools .tool-higgsfield{left:0;top:28px;right:auto}
.hero-tools .tool-claude{left:57px;top:9px;right:auto}
.hero-tools .tool-resolve{left:114px;top:0;right:auto}
.hero-tools .tool-ae{left:171px;top:9px;right:auto}
.hero-tools .tool-premiere{left:228px;top:24px;right:auto}
.hero-tools .tool-photoshop{left:285px;top:34px;right:auto}
.hero-tools .floating-tool .tool-logo{width:28px;height:28px;object-fit:contain;filter:none;mask-image:none;-webkit-mask-image:none}
.about-copy{background:linear-gradient(110deg,#05070b99,#05070b33);padding:28px;border-radius:24px}
@media(min-width:1700px){.hero-background img{object-position:50% 24%}.hero-heading{margin-bottom:52px}}
@media(max-width:767px){
 .hero-background img{object-position:57% 36%}
 .hero-background:after{background:linear-gradient(0deg,#05070be6,rgba(5,7,10,.15) 72%),linear-gradient(90deg,#05070b40,transparent 70%)}
 .hero{min-height:100svh;padding:100px 5vw 25px}
 .hero-topline{font-size:9px;line-height:1.5}
 .hero-heading{margin-top:auto;margin-bottom:30px;padding:0}
 .hero-heading>p{font-size:9px;max-width:32ch;line-height:1.5;margin-bottom:20px}
 .hero h1{font-size:19vw;line-height:.8}
 .hero-tools{width:285px;height:74px;margin:36px 0 18px}
 .hero-tools .floating-tool{width:34px;height:34px;border-radius:11px}
 .hero-tools .floating-tool .tool-logo{width:24px;height:24px}
 .hero-tools .tool-higgsfield{left:0;top:25px}
 .hero-tools .tool-claude{left:48px;top:9px}
 .hero-tools .tool-resolve{left:96px;top:0}
 .hero-tools .tool-ae{left:144px;top:8px}
 .hero-tools .tool-premiere{left:192px;top:22px}
 .hero-tools .tool-photoshop{left:240px;top:30px}
 .hero-bottom{align-items:center;gap:12px}
 .hero-bottom p{font-size:8px;letter-spacing:.07em}
 .hero-actions{gap:8px}
 .hero-bottom .line-link{min-width:150px;font-size:10px;padding:14px 16px;gap:18px}
 .hero-contact-link{font-size:8px;letter-spacing:.06em}
 .about-copy{padding:22px 18px}
}
@media(max-height:660px) and (min-width:768px){.hero h1{font-size:min(12vw,150px)}.hero-tools{margin-top:18px;margin-bottom:12px;height:70px}.hero-heading{margin-bottom:26px}.hero-heading>p{margin-bottom:18px}}
@media(max-width:767px) and (max-height:700px){
 .hero{padding-top:90px;padding-bottom:20px}
 .hero-tools{height:66px;margin-top:18px;margin-bottom:10px}
 .hero-heading{margin-bottom:22px}
 .hero-heading>p{margin-bottom:14px}
 .hero h1{font-size:18vw}
 .hero-bottom .line-link{padding-top:12px;padding-bottom:12px}
}

/* A straight, gently floating row at every screen size. */
.hero-tools .portrait-tools{display:flex;align-items:center;gap:15px;inset:0;animation:tool-row-float 6s ease-in-out infinite}
.hero-tools .floating-tool{position:relative;left:auto;right:auto;top:auto;flex:0 0 42px;animation:none;transform:none}
@keyframes tool-row-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:767px){.hero-tools .portrait-tools{gap:14px}.hero-tools .floating-tool{flex-basis:34px}}
@media(prefers-reduced-motion:reduce){.hero-tools .portrait-tools{animation:none}}
