:root{--site-navy:#142332;--site-yellow:#ffd438;--site-muted:#b6c4cf;--site-paper:#f7f8f5;color-scheme:dark;font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#142332;color:#f7f5ed;font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased;display:block;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffd438;outline-offset:5px}#content{outline:none}#content>main{display:block;flex:none}#content .wrap{margin-inline:auto}#content .contact{flex:none}
.site-skip{position:fixed;top:-100px;left:20px;background:#ffd438;color:#142332;padding:12px;z-index:100}.site-skip:focus{top:12px}
.site-header{background:#12294a;border-bottom:1px solid #ffffff0d}.site-header-inner{max-width:1456px;padding:25px 56px;margin:auto;display:flex;align-items:center;gap:40px;min-height:106px}.site-logo{display:block;flex-shrink:0}.site-logo img{display:block;width:56px;height:56px}.site-header nav{display:flex;align-items:center;justify-content:center;gap:32px;flex:1}.site-header nav a{font-size:17px;line-height:1.5;letter-spacing:-.25px;font-weight:800;color:#879bd9;padding:10px 0;transition:color .2s}.site-header nav a:hover,.site-header nav a[aria-current]{color:#fff}.site-language{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.6px;font-weight:700;color:#8d9bb8}.site-language a{padding:12px 2px}.site-language a[aria-current]{color:#ffd438}.site-language a:hover{color:white}.site-menu-button{display:none}
.site-footer{width:min(1344px,calc(100% - 112px));margin:auto;padding:46px 0 24px;display:grid;grid-template-columns:1fr auto;gap:30px;border-top:1px solid #ffffff20;color:#b6c4cf;font-size:12px;line-height:1.6}.site-footer .site-wordmark{font-size:28px;font-weight:900;letter-spacing:-1.5px;color:#fff;display:inline-block}.site-wordmark span{font-size:15px;color:#ffd438;margin-left:7px;vertical-align:top}.site-footer p{margin:10px 0 0;font-size:10px;letter-spacing:1px}.site-socials{display:flex;gap:24px;align-items:center}.site-footer a:hover{color:#ffd438}.site-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff12;padding-top:20px}
body[data-page=contact] h1{font-size:clamp(34px,4.15vw,60px);overflow-wrap:normal;letter-spacing:-.055em}body[data-page=contact] .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}body[data-page=contact] .photo figcaption{line-height:1.65}body[data-page=contact] .form-intro{flex:none}
body[data-lang=en][data-page=process] .hero h1{font-size:clamp(38px,5.5vw,80px)}body[data-lang=en] .steps .english{display:none}body[data-lang=en] .hero-intro{line-height:1.75}body[data-lang=en][data-page=home] .hero-intro{max-width:280px}body[data-lang=en] .step h3{word-break:normal}
.portfolio-wrap{width:min(1344px,calc(100% - 112px));margin:auto;padding:64px 0 90px}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.site-eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.5px;color:#ffd438;font-weight:700;margin:0 0 24px}.portfolio-heading h1{font-size:clamp(40px,5.4vw,78px);font-weight:900;letter-spacing:-.055em;line-height:1.04;margin:0}.portfolio-heading h1 em{color:#b7c6ed;font-style:normal}.portfolio-heading>p{font-size:15px;color:#b6c4cf;line-height:1.9;min-width:200px;margin:0 0 6px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.project-thumb{position:relative;overflow:hidden;background:#20364b;aspect-ratio:16/9;border-radius:6px}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.project-thumb>span{position:absolute;right:18px;bottom:18px;border-radius:50%;background:#142332e8;width:40px;height:40px;display:grid;place-items:center;font-size:23px;transform:translateY(6px);opacity:0;transition:.2s}.project-card:hover .project-thumb>span,.project-card:focus-visible .project-thumb>span{opacity:1;transform:translateY(0)}.project-card-meta{padding:19px 0 0}.project-card-meta>span{font-size:10px;letter-spacing:1.5px;color:#90a5b7}.project-card h2{font-size:22px;line-height:1.4;letter-spacing:-.5px;margin:6px 0 0;font-weight:700}.project-heading{padding-bottom:42px}.project-heading .back-link{font-size:13px;color:#b6c4cf;display:inline-block;margin-bottom:38px}.project-heading .site-eyebrow{margin:0 0 17px}.project-heading h1{font-size:clamp(40px,5.3vw,76px);line-height:1.1;letter-spacing:-.045em;font-weight:850;margin:0;max-width:1100px}.project-player{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#0b1722;margin-bottom:32px}.project-player iframe{width:100%;height:100%;border:0;display:block}.project-description{display:grid;grid-template-columns:1fr 2.35fr;gap:44px;padding:44px 0 56px}.project-description .site-eyebrow{margin-top:7px}.project-description p{font-size:16px;line-height:1.95;color:#bdccd4;margin:0 0 18px;word-break:keep-all;max-width:830px}.project-description p:first-child{font-size:23px;line-height:1.5;color:#f7f5ed;font-weight:700;margin-bottom:26px}.project-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-still{display:block;min-width:0;background:#102130;border-radius:4px;overflow:hidden;cursor:zoom-in}.project-still img{display:block;width:100%;height:100%;max-height:780px;object-fit:contain}.project-still:first-child:nth-last-child(odd){grid-column:1/-1}.project-paging{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:60px;padding-top:26px;border-top:1px solid #ffffff30;font-size:13px;line-height:1.6}.project-paging a{display:flex;gap:10px;max-width:35%;align-items:center}.project-paging a:hover{color:#ffd438}.project-paging a:last-child{text-align:right}.lightbox{border:0;padding:48px 16px 20px;background:#101d2bf5;color:white;max-width:96vw;max-height:95vh;width:max-content;border-radius:6px}.lightbox::backdrop{background:#06101bec;backdrop-filter:blur(6px)}.lightbox img{display:block;max-width:90vw;max-height:77vh;object-fit:contain}.lightbox button{position:absolute;top:6px;right:12px;background:transparent;border:0;color:white;font-size:32px;width:40px;height:40px}.lightbox p{font-size:12px;text-align:center;margin:12px 0 0}
.inquiry-section{background:#f2f2f2;color:#142332;padding:0 0 70px}.inquiry-wrap{max-width:1280px;width:calc(100% - 80px);margin:auto}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.inquiry-section label{display:block;font-size:13px;font-weight:700;line-height:1.7;margin-bottom:22px}.inquiry-section input:not([type=checkbox]),.inquiry-section textarea{display:block;width:100%;background:white;color:#142332;border:1px solid #c6d0d5;border-radius:5px;padding:15px 16px;margin-top:8px;font-size:16px;resize:vertical;line-height:1.6}.inquiry-section input:focus-visible,.inquiry-section textarea:focus-visible{outline-color:#566d9a}.inquiry-section .privacy-agreement{display:flex;gap:12px;align-items:flex-start;font-size:12px;font-weight:400;color:#536575}.privacy-agreement input{margin-top:4px;accent-color:#142332;flex-shrink:0;width:16px;height:16px}.privacy-agreement a{border-bottom:1px solid currentColor}.inquiry-submit{border:0;border-radius:4px;background:#142332;color:#fff;min-height:52px;padding:15px 24px;font-weight:700;display:inline-flex;gap:50px;align-items:center}.inquiry-submit:hover{background:#243b51}.inquiry-submit:disabled{opacity:.6;cursor:wait}.inquiry-email{font-size:13px;color:#63737c;margin:18px 0 0}.inquiry-email a{color:#142332;text-decoration:underline}#inquiry-status{font-size:14px;line-height:1.7;margin:16px 0 0;max-width:750px;white-space:pre-line}#inquiry-status[data-kind=error]{color:#a32d39}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.privacy-page{width:min(900px,calc(100% - 48px));margin:70px auto 100px;min-height:45vh}.privacy-page h1{font-size:clamp(35px,5vw,64px);letter-spacing:-.04em;line-height:1.15}.privacy-page p{line-height:1.9;color:#b6c4cf;margin:25px 0}.privacy-page a{color:#ffd438}
.video-shell{position:relative}.video-resume{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);border:1px solid #65778a;border-radius:30px;padding:10px 18px;background:#142332e8;color:white;font-size:12px}.video-resume[hidden]{display:none}
@media(min-width:1600px){.site-header-inner{max-width:1600px}.site-header nav a{font-size:20px}.site-header nav{gap:38px}}
@media(max-width:1100px){.site-header-inner{padding:20px 32px;gap:24px}.site-header nav{gap:22px}.site-header nav a{font-size:15px}.site-footer,.portfolio-wrap{width:calc(100% - 64px)}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:24px}.project-heading h1{font-size:52px}.project-description{grid-template-columns:1fr 3fr;gap:28px}.site-header-inner{min-height:90px}.site-logo img{width:48px;height:48px}}
@media(max-width:800px){.site-header-inner{padding:16px 20px;min-height:78px;position:relative;justify-content:space-between;gap:20px}.site-logo img{width:44px;height:44px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#12294a;padding:20px;z-index:30;box-shadow:0 18px 25px #07152240;align-items:stretch;gap:6px;flex-direction:column}.site-header nav.is-open{display:flex}.site-header nav a{padding:12px;font-size:18px}.site-menu-button{display:flex;margin-left:auto;order:3;flex-direction:column;gap:6px;justify-content:center;align-items:center;border:1px solid #667ea3;background:transparent;border-radius:4px;width:40px;height:38px}.site-menu-button span{width:17px;height:2px;background:#f7f5ed}.site-language{order:2}.site-footer,.portfolio-wrap{width:calc(100% - 40px)}.site-footer{grid-template-columns:1fr;gap:22px;padding:32px 0 22px}.site-socials{gap:28px}.portfolio-wrap{padding:38px 0 60px}.portfolio-heading h1{font-size:clamp(34px,7.4vw,56px)}.project-grid{gap:28px 18px}.project-card h2{font-size:18px}.project-heading h1{font-size:clamp(34px,7.2vw,52px)}.project-description{grid-template-columns:1fr;gap:8px;padding:25px 0}.project-description .site-eyebrow{margin-bottom:10px}.project-description p{font-size:15px}.project-description p:first-child{font-size:20px}.project-paging a span{max-width:110px}.inquiry-wrap{width:calc(100% - 40px)}.inquiry-grid{grid-template-columns:1fr;gap:0}.inquiry-section{padding-bottom:45px}body[data-page=contact] .hero{grid-template-columns:1fr}body[data-page=contact] h1{font-size:clamp(34px,9.2vw,60px)}body[data-lang=en][data-page=home] .hero-intro{max-width:none;display:block}body[data-lang=en][data-page=home] .hero-intro .text-link{margin-top:15px}body[data-lang=en] .contact h2{font-size:clamp(35px,8.5vw,62px)}}
@media(max-width:540px){.project-grid{grid-template-columns:1fr;gap:32px}.project-stills{grid-template-columns:1fr;gap:16px}.project-card h2{font-size:21px}.project-thumb>span{opacity:1;transform:none}.project-paging{font-size:11px;gap:12px}.site-eyebrow{font-size:11px}.project-heading .back-link{margin-bottom:26px}.site-footer p{font-size:9px}.project-paging a{max-width:37%}.inquiry-submit{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
