@charset "UTF-8";
/* Bundled display face: consistent on phones without Impact installed. */
@font-face{font-family:"Anton";src:url("assets/Anton-Latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--navy:#081426;--navy2:#0d2036;--ink:#101f31;--muted:#adbed0;--mint:#00eba0;--blue:#146bfa;--ice:#edf2f5;--line:rgba(199,218,237,.22);--display:"Anton","SUIT Variable",sans-serif;--body:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--navy);color:#fff;font-family:var(--body);font-size:16px;line-height:1.75;word-break:keep-all}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.25;letter-spacing:-.045em}h2{font-size:clamp(30px,3.4vw,48px);font-weight:850}h3{font-size:24px}p+p{margin-top:20px}p{color:var(--muted)}.wrap{max-width:1440px;margin:auto;padding-left:7%;padding-right:7%}.eyebrow{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.17em;color:var(--mint);margin-bottom:26px}.lead{font-size:20px;line-height:1.85;color:#e4ebf4}.skip{position:fixed;top:-100px;left:20px;padding:12px 24px;background:var(--mint);color:var(--ink);z-index:100}.skip:focus{top:10px}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:sticky;top:0;z-index:20;background:rgba(8,20,38,.97);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font:bold 18px/1.2 Arial,sans-serif;letter-spacing:-.02em}.brand img{width:56px;height:33px}.brand small{font-size:7px;letter-spacing:.15em;display:block;margin-top:5px;color:#afbdcf}nav{display:flex;align-items:center;gap:31px}nav a{font:bold 11px Arial,sans-serif;letter-spacing:.06em;position:relative;padding:16px 0}nav a[aria-current=page]:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:2px;background:var(--mint)}nav a:hover{color:var(--mint)}nav .nav-contact{padding:14px 19px;border:1px solid #5b6b7c}.nav-contact span{margin-left:18px}.menu-toggle{display:none;background:none;color:white;border:0}.hero{min-height:690px;height:calc(100svh - 94px);max-height:960px;position:relative;overflow:hidden;isolation:isolate}.hero-photo{position:absolute;inset:0 0 0 38%;z-index:-2}.hero-photo img{width:100%;height:100%;object-position:60% center;filter:brightness(.65) saturate(1.1)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081426 8%,rgba(8,20,38,.93) 30%,rgba(8,20,38,.15) 76%),linear-gradient(0deg,#081426,transparent 40%);z-index:-1}.hero-orbit{position:absolute;width:67vw;height:67vw;border:1px solid rgba(0,235,160,.27);border-radius:50%;left:48%;top:-25%;z-index:0;pointer-events:none}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:48px;border:1px solid rgba(34,131,255,.3);border-radius:50%}.hero-orbit:after{inset:96px}.hero-content{position:relative;padding:65px 7% 100px;z-index:1;max-width:1440px;margin:auto}.hero .eyebrow{margin-bottom:28px}.hero h1{font:clamp(80px,9.5vw,150px)/.94 var(--display);letter-spacing:-.025em;margin-left:-4px}.hero h1 em{font-style:normal;color:var(--mint)}.hero h2{font-size:27px;letter-spacing:-.05em;margin-top:30px}.hero-content>p:not(.eyebrow){margin-top:18px;color:#bbc8d7;font-size:16px}.actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:var(--mint);border:1px solid var(--mint);color:var(--navy);font-weight:700;font-size:14px;line-height:1.6;transition:background .2s,color .2s}.button:hover{background:#fff;border-color:#fff}.button span{font-size:22px;line-height:1}.button.outline{background:transparent;color:white;border-color:#758393}.button.outline:hover{background:white;color:var(--navy)}.button.dark{background:var(--navy);border-color:var(--navy);color:white}.button.dark:hover{background:#164888}.hero-foot{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;color:#9caebe;font:10px Arial;letter-spacing:.13em}.mobile-break{display:none}.ticker{display:flex;justify-content:space-around;align-items:center;gap:32px;overflow:hidden;white-space:nowrap;padding:22px 32px;background:var(--mint);color:var(--navy);font:26px/1 var(--display);letter-spacing:.03em}.ticker b{font:32px Arial}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding-top:110px;padding-bottom:110px}.intro h2{font-size:34px}.intro .lead{font-size:21px}.intro .text-link{margin-top:30px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;line-height:1.7;font-weight:700;padding:8px 0;border:0;border-bottom:1px solid currentColor;background:none;color:inherit}.text-link:hover{color:var(--mint)}.text-link span{font-size:24px;line-height:1}.light{background:var(--ice);color:var(--ink)}.light p{color:#566477}.light .eyebrow{color:#087454}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading>p{font-size:16px}.services-overview{padding:95px 0 105px}.service-index{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.service-index>a{display:flex;align-items:center;gap:20px;padding:25px 0;border-top:1px solid #bac5cf;transition:color .2s}.service-index>a:hover{color:#007252}.index{font:12px Arial;opacity:.65;align-self:flex-start;margin-top:8px}.service-title{display:block;flex:1}.service-title b{font:25px/1.2 var(--display);letter-spacing:.01em}.service-title small{display:block;font-size:13px;margin-top:7px;color:#526274}.service-index>a>span:last-child{font-size:27px}.selected{padding-top:100px;padding-bottom:100px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.project-card{padding:0;background:none;border:0;color:white;text-align:left;width:100%;display:block}.project-image{position:relative;aspect-ratio:1.5;overflow:hidden;background:var(--navy2)}.project-image>img{width:100%;height:100%;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.round-arrow{position:absolute;right:18px;bottom:18px;background:var(--mint);color:var(--navy);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:26px;transition:transform .2s}.project-card:hover .round-arrow{transform:rotate(45deg)}.project-meta{display:flex;justify-content:space-between;gap:12px;margin:20px 0 10px;font:11px Arial;letter-spacing:.1em;color:var(--mint)}.project-card h3{font-size:23px;line-height:1.4}.project-card p{font-size:14px;margin-top:8px}.home-grid{grid-template-columns:1.35fr 1fr}.home-grid .project-card:first-child{grid-row:span 2}.home-grid .project-card:first-child .project-image{aspect-ratio:.89}.home-grid .project-card:not(:first-child) .project-image{aspect-ratio:2.6}.home-grid{gap:32px}.wide-statement{position:relative;padding:105px 0;isolation:isolate;overflow:hidden;min-height:400px}.wide-statement>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:center 42%}.wide-statement:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,38,.95),rgba(8,20,38,.7) 60%,rgba(8,20,38,.3));z-index:-1}.wide-statement .text-link{margin-top:24px}.cta{position:relative;background:var(--mint);color:var(--navy);overflow:hidden;padding-top:70px;padding-bottom:85px;max-width:none}.cta>.eyebrow{color:#064932}.cta>div{display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;z-index:1}.cta h2{font-size:clamp(34px,4.5vw,64px)}.cta-word{position:absolute;right:3%;bottom:-39px;color:rgba(8,20,38,.07);font:clamp(80px,12vw,190px)/1 var(--display);white-space:nowrap;pointer-events:none}footer{padding:60px 5% 24px}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:30px;padding-bottom:50px;border-bottom:1px solid var(--line)}.footer-brand{font:64px/.85 var(--display);letter-spacing:-.04em;width:max-content}.footer-brand span{display:block;font:12px Arial;letter-spacing:.2em;margin-top:10px}.footer-top p{font-size:12px;line-height:2}.footer-top>a:last-child{font-size:13px;text-align:right}.footer-bottom{padding-top:24px;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:10px;color:#97a8ba}.page-hero{padding-top:82px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-hero h1{font:clamp(62px,8vw,115px)/.96 var(--display);letter-spacing:-.02em}.page-hero .lead{margin-top:30px;max-width:680px;font-size:17px}.page-hero .eyebrow{margin-bottom:24px}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:85px;padding-bottom:85px;align-items:center}.about-split>img{width:100%;height:600px}.about-split h2{margin-bottom:28px}.about-split p{font-size:16px}.about-split .lead{font-size:20px}.values{padding:85px 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.values-grid article+article{border-left:1px solid #c1cbd4;padding-left:40px}.values-grid article>span{font:11px Arial;color:#356f67;letter-spacing:.1em}.values-grid h2{font-size:38px;margin:30px 0 20px}.values-grid p{font-size:15px}.process-section{padding-top:100px;padding-bottom:100px;scroll-margin-top:105px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.process-grid article{border-top:1px solid var(--line);padding-top:28px}.step{display:block;font:50px/1 var(--display);color:#426288;margin-bottom:32px}.process-grid .eyebrow{font-size:10px;margin-bottom:15px}.process-grid h3{font-size:22px;margin-bottom:17px}.process-grid p:last-child{font-size:14px}.company-info{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;padding-top:30px;padding-bottom:100px}.company-info dl{margin:0}.company-info dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:17px 0}.company-info dt{font-size:13px;color:var(--muted)}.company-info dd{margin:0;font-size:14px}.service-jump{display:flex;flex-wrap:wrap;gap:10px;padding-top:40px;padding-bottom:40px}.service-jump a{border:1px solid var(--line);padding:9px 15px;font-size:12px}.service-jump a:hover{background:var(--mint);color:var(--navy)}.service-details{padding-bottom:60px}.service-details details{border-top:1px solid var(--line);scroll-margin-top:110px}.service-details details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-details summary{display:flex;align-items:center;gap:30px;padding:32px 0}.service-details summary>div{flex:1}.service-details summary>div>span{font:12px Arial;letter-spacing:.12em;color:var(--mint)}.service-details summary h2{font-size:30px;margin-top:10px}.expand{font:35px Arial;color:var(--mint)}details[open] .expand{transform:rotate(45deg)}.service-body{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:15px 0 60px 42px}.service-visual>img{aspect-ratio:1.15;width:100%;object-fit:cover}.service-visual p{font-size:12px;letter-spacing:.03em;margin-top:16px}.service-body h3{font-size:24px;margin-bottom:22px}.service-body p{font-size:15px}.service-body h4{font-size:12px;color:var(--mint);margin-top:25px;margin-bottom:10px}.service-body ul{padding-left:18px;margin:0;color:#c1ccda;font-size:14px}.service-body .button{margin-top:28px}.brief-note{padding-top:50px;padding-bottom:85px}.brief-note h2{font-size:32px}.brief-note>p:last-child{margin-top:24px}.portfolio-section{padding-top:40px;padding-bottom:95px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:45px}.filters button{border:1px solid var(--line);color:#b4c2d2;background:none;font-size:13px;padding:10px 19px}.filters button[aria-pressed=true]{background:var(--mint);color:var(--navy);border-color:var(--mint)}.filters>span{margin-left:auto;font:11px Arial;letter-spacing:.08em;color:var(--muted)}.archive-note{font-size:12px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px}.contact-grid{padding-top:70px;padding-bottom:90px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.contact-info h2{font-size:35px}.email{display:block;font-size:clamp(20px,2.4vw,32px);line-height:1.4;color:var(--mint);margin:35px 0 20px;overflow-wrap:anywhere}.contact-info dl{margin-top:50px}.contact-info dl>div{border-top:1px solid var(--line);padding:20px 0}.contact-info dt{font:10px Arial;letter-spacing:.1em;color:#8ea2b7}.contact-info dd{margin:10px 0 0;font-size:15px}form{background:#102239;padding:35px}form h3{font-size:24px}.form-note{font-size:12px;line-height:1.8;margin-top:15px;margin-bottom:25px}label{display:block;font-size:12px;color:#d6e0eb;margin-bottom:20px}label>span{color:var(--mint)}input,select,textarea{display:block;width:100%;border:1px solid #41536a;border-radius:0;color:#f1f5fa;background:#0b1b2f;padding:12px 13px;margin-top:8px;min-height:46px;font-size:14px;word-break:normal}input::placeholder,textarea::placeholder{color:#8194a9;opacity:1}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.form-actions .text-link{font-size:12px}#form-status:empty{display:none}.faq{padding-bottom:100px}.faq>h2{font-size:32px;margin-bottom:35px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;font-size:16px}.faq summary span{color:var(--mint);font-size:24px}.faq details p{margin-top:18px;font-size:14px;max-width:900px}dialog{border:1px solid #365069;padding:0;width:min(1000px,94vw);max-height:90svh;background:var(--navy);color:#fff}dialog::backdrop{background:rgba(0,5,13,.86);backdrop-filter:blur(5px)}.dialog-close{position:sticky;display:block;top:15px;margin:15px 15px 0 auto;z-index:1;background:var(--mint);color:var(--navy);border:0;font-size:13px;font-weight:bold;padding:10px 17px}.dialog-intro{padding:25px 6% 35px}.dialog-intro .eyebrow{margin-bottom:15px}.dialog-intro h2{font-size:36px}.dialog-intro .lead{font-size:17px;margin-top:12px}.dialog-intro>p:last-child{font-size:13px;margin-top:10px}.dialog-gallery{display:grid;gap:10px;padding:0 6%}.dialog-gallery img{width:100%;max-height:600px;object-fit:contain;background:#06101e}.dialog-detail{padding:35px 6% 55px}.dialog-detail h3{font-size:15px;margin:25px 0 12px;color:var(--mint)}.dialog-detail p{font-size:14px}.dialog-detail .source-note{font-size:11px;margin-top:30px;color:#8296ad}.dialog-detail .text-link{margin-top:20px}.noscript{padding:50px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--mint);color:var(--navy);padding:13px 24px;font-size:13px;z-index:100;pointer-events:none;max-width:90vw;text-align:center;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1600px){.hero-content{padding-left:0;padding-right:0}.hero-photo{left:40%}}
@media(max-width:1100px){nav{gap:20px}.brand{font-size:15px}.brand img{width:45px;height:auto}.hero h1{font-size:11vw}.hero{min-height:650px}.hero-content{padding-top:65px}.service-title b{font-size:21px}.service-index{column-gap:30px}.intro{gap:6%}.intro h2{font-size:29px}.contact-grid{gap:5%}form{padding:28px}.about-split>img{height:510px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:850px){.header{height:78px;padding:0 6%}.brand{font-size:16px}.brand small{font-size:7px}.menu-toggle{display:flex;gap:16px;align-items:center;font-size:12px;padding:12px 0}.menu-toggle span{font-size:22px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:20px 6% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav a{padding:17px 0;font-size:14px}.header.menu-open nav{display:flex}nav .nav-contact{margin-top:15px}.hero{height:auto;min-height:730px}.hero h1{font-size:clamp(83px,14vw,115px)}.hero-photo{left:25%}.hero-content{padding-top:70px}.hero h2{font-size:25px}.hero-orbit{width:100vw;height:100vw;left:40%;top:4%}.intro{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:70px}.intro h2{font-size:34px}.intro>div:last-child{max-width:600px}.section-heading{align-items:start;flex-direction:column;gap:25px}.service-title b{font-size:19px}.service-title small{font-size:12px}.service-index>a{gap:13px}.selected{padding-top:75px;padding-bottom:75px}.project-card h3{font-size:20px}.project-card p{font-size:13px}.home-grid{gap:25px}.about-split{grid-template-columns:1fr;gap:40px}.about-split>img{height:400px}.values-grid{gap:25px}.values-grid article+article{padding-left:25px}.values-grid h2{font-size:28px}.process-grid{grid-template-columns:1fr 1fr;gap:40px}.company-info{grid-template-columns:1fr;gap:30px}.service-body{padding-left:0;gap:5%}.service-body h3{font-size:20px}.service-details summary{gap:20px}.service-details summary h2{font-size:25px}.service-body .button{font-size:12px;gap:15px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-info dl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.contact-info .email{font-size:30px}.contact-info .email br{display:none}.footer-top{grid-template-columns:1fr 2fr}.footer-top>a:last-child{text-align:left;grid-column:2}.footer-top p{font-size:11px}.page-hero{padding-top:65px}.page-hero h1{font-size:75px}.cta{padding-top:55px;padding-bottom:70px}.cta h2{font-size:40px}}
@media(max-width:580px){body{font-size:14px}.wrap{padding-left:6%;padding-right:6%}.header{height:72px}nav{top:72px}.brand img{width:43px}.brand{font-size:14px}.hero{min-height:700px}.hero-content{padding:60px 6% 110px}.hero .eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:19.3vw;letter-spacing:-.02em}.hero-photo{inset:0 0 0 5%;opacity:.65}.hero:after{background:linear-gradient(90deg,rgba(8,20,38,.94),rgba(8,20,38,.45)),linear-gradient(0deg,#081426,transparent)}.hero h2{font-size:26px;margin-top:33px}.mobile-break{display:block}.hero-content>p:not(.eyebrow){font-size:14px;margin-top:20px}.actions{gap:9px;margin-top:28px}.button{font-size:12px;padding:14px 16px;gap:15px}.hero-foot{left:6%;right:6%;bottom:25px;font-size:8px;letter-spacing:.03em}.hero-foot span:last-child{display:none}.ticker{font-size:20px;justify-content:flex-start;padding:19px 6%;gap:22px}.ticker b{font-size:24px}.eyebrow{font-size:10px;margin-bottom:20px}.intro{padding-top:60px;padding-bottom:60px}.intro h2{font-size:29px;line-height:1.4}.intro .lead{font-size:18px}.intro p{font-size:14px}h2{font-size:30px}.section-heading h2{font-size:31px}.section-heading>p{font-size:14px}.services-overview{padding:60px 0}.service-index{grid-template-columns:1fr;gap:0}.service-index>a{padding:22px 0}.service-title b{font-size:23px}.service-title small{font-size:13px}.index{font-size:11px}.selected{padding-top:65px;padding-bottom:65px}.section-heading{margin-bottom:30px}.project-grid,.home-grid{grid-template-columns:1fr;gap:36px}.home-grid .project-card:first-child{grid-row:auto}.home-grid .project-card:first-child .project-image,.home-grid .project-card:not(:first-child) .project-image,.project-image{aspect-ratio:1.45}.project-card h3{font-size:22px}.project-meta{font-size:10px;margin-top:16px}.wide-statement{padding:75px 0;min-height:350px}.wide-statement h2{font-size:30px}.cta>div{align-items:start;flex-direction:column;gap:30px}.cta h2{font-size:37px}.cta .button{font-size:13px}.cta-word{bottom:-10px;font-size:20vw}.footer-top{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.footer-top>a:last-child{grid-column:auto}.footer-top p{font-size:11px}.footer-brand{font-size:52px}.footer-bottom{gap:15px}.footer-bottom>span{width:100%}.page-hero{padding-top:55px;padding-bottom:45px}.page-hero h1{font-size:15vw}.page-hero .lead{font-size:15px;margin-top:25px}.about-split{padding-top:50px;padding-bottom:60px}.about-split>img{height:340px}.about-split h2{font-size:32px}.about-split p{font-size:14px}.about-split .lead{font-size:18px}.values{padding:60px 0}.values-grid{grid-template-columns:1fr;gap:30px}.values-grid article+article{border-left:0;border-top:1px solid #c1cbd4;padding:30px 0 0}.values-grid h2{font-size:30px;margin:18px 0}.values-grid h2 br{display:none}.values-grid p{font-size:14px}.process-section{padding-top:65px;padding-bottom:65px}.process-grid{gap:30px 20px;margin-top:35px}.process-grid h3{font-size:19px}.process-grid p:last-child{font-size:13px}.step{font-size:40px;margin-bottom:22px}.company-info{padding-bottom:60px}.company-info dl>div{grid-template-columns:75px 1fr;gap:10px}.company-info dd{font-size:12px}.service-jump{gap:7px;padding-top:28px;padding-bottom:28px}.service-jump a{font-size:10px;padding:7px 10px}.service-details summary{gap:14px;padding:25px 0}.service-details summary h2{font-size:22px}.service-details summary>div>span{font-size:10px}.expand{font-size:28px}.service-body{grid-template-columns:1fr;gap:28px;padding-bottom:35px}.service-visual>img{aspect-ratio:1.7}.service-visual p{font-size:10px}.service-body h3{font-size:23px}.service-body p{font-size:14px}.brief-note{padding-top:15px;padding-bottom:60px}.brief-note h2{font-size:28px}.brief-note>p:last-child{font-size:14px}.filters{gap:7px;margin-bottom:30px}.filters button{font-size:11px;padding:9px 12px}.filters>span{width:100%;margin-top:13px;font-size:10px}.archive-note{font-size:11px}.contact-grid{padding-top:45px;padding-bottom:55px}.contact-info h2{font-size:30px}.contact-info .email{font-size:25px}.contact-info .email br{display:block}.contact-info dl{grid-template-columns:1fr;margin-top:35px;gap:0}.contact-info dl>div{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;padding:16px 0}.contact-info dt{padding-top:4px}.contact-info dd{font-size:13px;margin:0}form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.form-note{font-size:11px}label{font-size:11px}input,select,textarea{font-size:16px}.form-actions{gap:20px}.faq{padding-bottom:60px}.faq>h2{font-size:26px}.faq summary{font-size:14px}.faq details p{font-size:13px}.dialog-intro h2{font-size:26px}.dialog-intro .lead{font-size:14px}.dialog-intro>p:last-child{font-size:11px}.dialog-detail p{font-size:13px}.dialog-close{font-size:11px}dialog{max-height:93svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Brand typography revision: larger SUIT Korean text, open spacing, clear hierarchy. */
@font-face{font-family:"SUIT Variable";src:url("assets/SUIT-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--body:"SUIT Variable","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
html{scroll-padding-top:130px}body{font-size:19px;line-height:1.8;font-weight:450}h1,h2,h3{letter-spacing:-.035em}h2{font-weight:800}h3{font-weight:750}
.header{height:108px;padding:0 4%;gap:28px}.brand{font-family:var(--body);font-size:28px;font-weight:800;gap:14px;letter-spacing:-.035em;flex-shrink:0}.brand img{width:60px;height:auto}.brand-name{white-space:nowrap}.brand small{font:600 9px/1.3 Arial,sans-serif;letter-spacing:.11em;margin-top:8px}
nav{gap:28px}nav a{font:750 16px/1.5 var(--body);letter-spacing:.035em;padding:18px 0}nav .nav-contact{padding:14px 18px;font-size:15px}.nav-contact span{margin-left:10px}
.eyebrow{font-size:14px;letter-spacing:.14em}.lead{font-size:24px;line-height:1.8}.hero{height:auto;min-height:760px;max-height:none}.hero-content{padding-top:76px;padding-bottom:125px}.hero h2{font-size:34px;line-height:1.45;margin-top:32px}.hero-content>p:not(.eyebrow){font-size:20px;line-height:1.8;margin-top:22px}.hero-foot{font-size:12px}.actions{margin-top:35px;gap:16px}
.button{font-size:17px;padding:18px 26px;gap:32px}.text-link{font-size:17px;gap:28px}.intro{padding-top:125px;padding-bottom:125px}.intro h2{font-size:clamp(35px,3vw,46px);line-height:1.45}.intro .lead{font-size:24px}.intro p{font-size:19px}
.section-heading{gap:50px;margin-bottom:55px}.section-heading>p{font-size:20px;line-height:1.8}.services-overview{padding:110px 0 120px}.service-index{column-gap:60px}.service-index>a{padding:32px 0;gap:23px}.service-title b{font-size:29px}.service-title small{font-size:18px;margin-top:10px}.index{font-size:14px;margin-top:10px}
.project-card h3{font-size:27px}.project-card p{font-size:18px;line-height:1.7}.project-meta{font-size:13px;line-height:1.6;margin-top:24px;margin-bottom:12px}.selected{padding-top:115px;padding-bottom:115px}.project-grid{gap:65px 36px}.home-grid{gap:38px}.home-grid .project-card:not(:first-child) .project-image{aspect-ratio:2.35}
.page-hero{padding-top:95px;padding-bottom:78px}.page-hero .lead{font-size:22px;max-width:900px;margin-top:35px}.about-split{gap:7%;padding-top:100px;padding-bottom:110px}.about-split p{font-size:19px}.about-split .lead{font-size:24px}.about-split>img{height:660px}.values{padding:100px 0}.values-grid h2{font-size:36px;line-height:1.5}.values-grid p{font-size:18px}.values-grid article>span{font-size:13px}.process-grid{gap:35px}.process-grid h3{font-size:24px;line-height:1.5}.process-grid p:last-child{font-size:18px}.process-grid .eyebrow{font-size:12px}.process-section{scroll-margin-top:125px}.company-info dt,.company-info dd{font-size:18px}.company-info dl>div{padding:23px 0}
.service-jump{gap:12px;padding-top:50px;padding-bottom:50px}.service-jump a{font-size:16px;padding:12px 18px}.service-details details{scroll-margin-top:130px}.service-details summary{padding:38px 0;gap:30px}.service-details summary h2{font-size:36px;margin-top:13px}.service-details summary>div>span{font-size:14px}.service-body{padding-top:22px;padding-bottom:70px;gap:6%;grid-template-columns:1fr 1.08fr}.service-body h3{font-size:28px;line-height:1.5;margin-bottom:24px}.service-body p{font-size:19px;line-height:1.8}.service-body h4{font-size:18px;letter-spacing:-.015em;margin-top:32px;margin-bottom:14px}.service-body ul{font-size:18px;line-height:1.95}.service-visual>p{font-size:15px}.service-body .button{margin-top:32px}.brief-note h2{font-size:38px}.brief-note>p:last-child{font-size:20px;line-height:1.9}
.screen-references{display:grid;gap:26px}.screen-references figure{margin:0;border:1px solid var(--line);background:#0b1b2f}.screen-pair{display:grid;grid-template-columns:.78fr 1.22fr;min-width:0}.screen-pair img{width:100%;height:260px;object-fit:cover;min-width:0}.screen-pair .screen-poster{object-fit:contain;background:#06101d}.screen-pair .screen-recording{object-position:center}.screen-references figcaption{padding:20px 22px}.screen-references figcaption strong{display:block;font-size:21px;line-height:1.5;letter-spacing:-.035em}.screen-references figcaption span{display:block;color:var(--muted);font-size:15px;line-height:1.7;margin-top:7px}.service-body .recording-credit{font-size:14px;line-height:1.8;color:#a4b6c9;margin:0}
.filters{gap:12px}.filters button{font-size:17px;padding:12px 23px}.filters>span{font-size:13px}.archive-note{font-size:15px;line-height:1.8}.contact-grid{gap:7%;padding-top:85px;padding-bottom:105px}.contact-info h2{font-size:40px}.contact-info dd{font-size:19px}.contact-info dt{font-size:13px}form{padding:40px}form h3{font-size:29px}.form-note{font-size:15px;line-height:1.8}label{font-size:17px;line-height:1.7;margin-bottom:25px}input,select,textarea{font-size:18px;min-height:54px;padding:14px 15px;margin-top:11px}.form-actions{gap:20px}.form-actions .text-link{font-size:16px}.form-actions .button{font-size:16px;gap:16px}
.faq>h2{font-size:38px}.faq details{padding:28px 0}.faq summary{font-size:20px}.faq details p{font-size:18px;line-height:1.85}.footer-top p{font-size:15px;line-height:1.9}.footer-top>a:last-child{font-size:17px}.footer-bottom{font-size:13px;line-height:1.8}.dialog-intro h2{font-size:40px}.dialog-intro .lead{font-size:21px}.dialog-intro>p:last-child{font-size:16px}.dialog-detail h3{font-size:20px}.dialog-detail p{font-size:18px;line-height:1.8}.dialog-detail .source-note{font-size:14px}.dialog-close{font-size:16px;padding:12px 20px}
@media(min-width:1600px){.hero{min-height:850px}}
@media(max-width:1200px){.brand{font-size:25px}.brand img{width:50px}nav{gap:20px}nav a{font-size:15px}.service-title b{font-size:25px}.service-index{column-gap:38px}.intro h2{font-size:36px}.contact-grid{gap:5%}form{padding:30px}.values-grid h2{font-size:31px}.process-grid h3{font-size:22px}}
@media(max-width:1080px){.header{height:90px;padding:0 6%}.menu-toggle{display:flex;gap:16px;align-items:center;font-size:17px;padding:12px 0}.menu-toggle span{font-size:25px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--navy);padding:20px 6% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header.menu-open nav{display:flex}nav a{font-size:19px;padding:18px 0}nav .nav-contact{font-size:18px;margin-top:15px;padding:17px 20px}.service-body{padding-left:0}.service-body h3{font-size:26px}.service-body .button{font-size:17px;gap:22px}.footer-top{grid-template-columns:1fr 1.5fr}.footer-top>a:last-child{grid-column:2;text-align:left}}
@media(max-width:850px){.brand{font-size:26px}.intro{padding-top:80px;padding-bottom:80px;gap:36px}.intro h2{font-size:38px}.section-heading{gap:28px}.section-heading h2{font-size:39px}.service-index{grid-template-columns:1fr}.service-title b{font-size:29px}.service-title small{font-size:19px}.about-split>img{height:450px}.values-grid{grid-template-columns:1fr}.values-grid article+article{border-left:0;border-top:1px solid #c1cbd4;padding:30px 0 0}.values-grid h2{font-size:34px}.values-grid h2 br{display:none}.process-grid{grid-template-columns:1fr 1fr}.service-body{grid-template-columns:1fr;gap:35px}.service-visual>img{aspect-ratio:1.7}.screen-references{grid-template-columns:1fr 1fr;gap:18px}.screen-pair{grid-template-columns:.8fr 1.2fr}.screen-pair img{height:240px}.screen-references figcaption{padding:18px}.screen-references figcaption strong{font-size:20px}.recording-credit{grid-column:1/-1}.contact-grid{grid-template-columns:1fr;gap:50px}.contact-info dl{grid-template-columns:1fr 1fr 1fr}.contact-info dd{font-size:17px}.form-row{grid-template-columns:1fr 1fr;gap:20px}.hero h2{font-size:32px}.hero-content>p:not(.eyebrow){font-size:20px}.page-hero .lead{font-size:21px}}
@media(max-width:580px){body{font-size:18px;line-height:1.8}.header{height:88px;gap:15px}.brand{font-size:23px;gap:9px}.brand img{width:42px}.brand small{font-size:7px;letter-spacing:.09em;margin-top:6px}.menu-toggle{font-size:15px;gap:10px}nav{top:88px}nav a{font-size:19px}.hero{min-height:0}.hero-content{padding:55px 6% 100px}.hero .eyebrow{font-size:11px}.hero h2{font-size:29px;line-height:1.5;margin-top:32px}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.85;margin-top:23px}.hero-foot{font-size:10px}.actions{gap:12px;flex-wrap:wrap;margin-top:32px}.button{font-size:16px;padding:15px 19px;gap:18px}.text-link{font-size:17px}.eyebrow{font-size:12px;line-height:1.6}.intro{padding-top:70px;padding-bottom:70px}.intro h2{font-size:31px;line-height:1.5}.intro .lead{font-size:21px}.intro p{font-size:18px}.section-heading h2{font-size:32px;line-height:1.4}.section-heading>p{font-size:18px}.services-overview{padding:75px 0}.service-index>a{padding:26px 0;gap:17px}.service-title b{font-size:26px}.service-title small{font-size:18px;line-height:1.7}.index{font-size:13px}.selected{padding-top:75px;padding-bottom:75px}.project-grid,.home-grid{gap:43px}.project-card h3{font-size:25px;line-height:1.45}.project-card p{font-size:17px}.project-meta{font-size:12px}.wide-statement h2{font-size:32px;line-height:1.45}.cta h2{font-size:35px;line-height:1.5}.cta .button{font-size:16px}.footer-top{grid-template-columns:1fr}.footer-top>a:last-child{grid-column:auto;font-size:17px}.footer-top p{font-size:14px}.footer-bottom{font-size:12px}.page-hero{padding-top:65px;padding-bottom:55px}.page-hero .lead{font-size:19px;line-height:1.9}.about-split{padding-top:60px;padding-bottom:70px}.about-split>img{height:360px}.about-split p{font-size:18px}.about-split .lead{font-size:21px}.about-split h2{font-size:34px}.values{padding:70px 0}.values-grid h2{font-size:30px}.values-grid p{font-size:18px}.process-grid{gap:35px 22px}.process-grid h3{font-size:21px;line-height:1.5}.process-grid p:last-child{font-size:17px}.process-grid .eyebrow{font-size:11px}.company-info dl>div{grid-template-columns:76px 1fr;gap:14px}.company-info dt,.company-info dd{font-size:16px}.service-jump{gap:9px;padding-top:32px;padding-bottom:32px}.service-jump a{font-size:14px;padding:10px 13px}.service-details summary{gap:16px;padding:30px 0}.service-details summary h2{font-size:27px;line-height:1.4}.service-details summary>div>span{font-size:12px}.service-body{padding-bottom:45px;gap:30px}.service-body h3{font-size:26px;line-height:1.5}.service-body p{font-size:18px}.service-body h4{font-size:18px}.service-body ul{font-size:17px;line-height:2}.service-visual>p{font-size:15px}.screen-references{grid-template-columns:1fr}.screen-pair img{height:280px}.screen-references figcaption strong{font-size:23px}.screen-references figcaption span{font-size:16px}.service-body .recording-credit{font-size:14px}.brief-note h2{font-size:30px;line-height:1.5}.brief-note>p:last-child{font-size:18px}.filters{gap:9px}.filters button{font-size:15px;padding:11px 15px}.filters>span{font-size:12px}.archive-note{font-size:14px}.contact-info h2{font-size:34px}.contact-info dl{grid-template-columns:1fr}.contact-info dt{font-size:12px}.contact-info dd{font-size:17px}form{padding:30px 20px}form h3{font-size:27px}.form-row{grid-template-columns:1fr;gap:0}.form-note{font-size:14px}label{font-size:16px}input,select,textarea{font-size:17px}.form-actions .button,.form-actions .text-link{font-size:16px}.faq>h2{font-size:31px}.faq summary{font-size:18px;line-height:1.7}.faq details p{font-size:17px}.dialog-intro h2{font-size:30px}.dialog-intro .lead{font-size:19px}.dialog-intro>p:last-child{font-size:15px}.dialog-detail p{font-size:17px}.dialog-detail .source-note{font-size:13px}.dialog-close{font-size:15px}}
@media(max-width:360px){.brand{font-size:21px}.brand img{width:34px}.brand small{font-size:6px}.menu-toggle{font-size:14px}.hero h2{font-size:27px}.button{font-size:15px;padding:14px 16px}.screen-pair img{height:240px}}

/* Responsive layout and cinematic project showcase */
:root{--header-height:108px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body{overflow-wrap:break-word}
main,.wrap,.intro>div,.about-split>div,.contact-grid>*,.service-body>*,.service-title,.project-card,.process-grid>article,.form-row>*,.footer-top>*,.section-heading>*{min-width:0}
img{height:auto}
.button,.text-link{max-width:100%}
input,select,textarea{width:100%;min-width:0}
.header{height:var(--header-height)}
.hero{min-height:min(880px,calc(100svh - var(--header-height)));display:flex;flex-direction:column;justify-content:space-between}
.hero-stage{position:absolute;inset:0;z-index:-2;perspective:1400px;overflow:hidden}
.hero-photo{inset:0;z-index:0;opacity:1}
.hero-slide{position:absolute;inset:-3%;opacity:0;transition:opacity 1400ms ease;pointer-events:none}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-photo .hero-scene{width:100%;height:100%;object-fit:cover;object-position:var(--focal);filter:brightness(.82) saturate(1.12);transform:scale(1.03)}
.hero-slide.is-active .hero-scene{animation:stage-depth 7.4s cubic-bezier(.16,.7,.26,1) both}
@keyframes stage-depth{0%{transform:perspective(1400px) scale(1.1) translate3d(1.3%,0,0) rotateY(-1.2deg)}20%{transform:perspective(1400px) scale(1.035) translate3d(-.35%,0,0) rotateY(.25deg)}55%{transform:perspective(1400px) scale(1.055) translate3d(.15%,-.1%,0) rotateY(0deg)}100%{transform:perspective(1400px) scale(1.08) translate3d(-.7%,-.3%,0) rotateY(.4deg)}}
.hero.motion-paused .hero-scene{animation-play-state:paused}
.hero:after{background:linear-gradient(90deg,rgba(5,14,27,.91) 0%,rgba(5,14,27,.7) 35%,rgba(5,14,27,.1) 76%),linear-gradient(0deg,rgba(5,14,27,.98),transparent 42%)}
.hero-orbit{opacity:.45}
.hero-content{width:100%;padding-top:clamp(52px,6vw,95px);padding-bottom:70px}
.hero h1{font-size:clamp(84px,9.5vw,146px)}
.hero h2{font-size:clamp(28px,2.6vw,38px)}
.hero-content>p:not(.eyebrow){max-width:650px}
.hero-showcase{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px;width:100%;padding-top:0;padding-bottom:35px}
.hero-caption{display:grid;gap:7px;max-width:580px}
.hero-caption-label{font:700 11px/1.5 var(--body);letter-spacing:.16em;color:var(--mint)}
.hero-caption strong{font-size:22px;line-height:1.5;letter-spacing:-.025em}
#hero-caption-detail{font-size:14px;color:#cfdae6}
.hero-controls,.hero-dots{display:flex;align-items:center;gap:8px;flex-shrink:0}
.hero-controls button{display:grid;place-items:center;min-width:44px;height:48px;border:1px solid #8391a280;background:#08142680;color:white;font:600 16px var(--body);padding:8px}
.hero-dots button{border:0;border-bottom:2px solid #ffffff50;background:transparent;position:relative;font-size:13px}
.hero-dots button[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}
.hero-controls button:hover{background:#173952}.hero-controls button:disabled{opacity:.5}
.project-credit-label{display:inline-block;margin-top:14px;padding:5px 10px;border:1px solid #557086;color:#c5d7e8;font-size:13px;line-height:1.5}
.project-image>img{width:100%;height:100%;object-fit:cover}
.filters{flex-wrap:wrap}
.filters button{min-height:48px}
.filters>span{margin-left:auto}
.project-meta{flex-wrap:wrap}
.project-history{padding-top:90px;padding-bottom:115px;border-top:1px solid var(--line)}
.project-history details{border-top:1px solid var(--line)}
.project-history summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;cursor:pointer;list-style:none}
.project-history summary::-webkit-details-marker{display:none}
.project-history summary>span:first-child{font:clamp(26px,3.5vw,48px)/1.2 var(--display)}
.project-history summary>span:last-child{font:600 12px/1.6 var(--body);letter-spacing:.08em;white-space:nowrap;color:var(--muted)}
.project-history summary b{display:inline-block;margin-left:15px;font-size:26px;color:var(--mint)}
.project-history details[open] summary b{transform:rotate(45deg)}
.project-history ul{list-style:none;margin:0;padding:0 0 30px}
.project-history li{display:flex;justify-content:space-between;gap:30px;align-items:start;padding:25px 0;border-top:1px solid #ffffff12}
.project-history li>div{min-width:0}
.project-history h3{font-size:21px;line-height:1.5}
.project-history li p{font-size:16px;line-height:1.8;margin-top:9px}
.history-role{flex-shrink:0;font-size:12px;color:var(--mint);padding-top:5px}
.project-history .archive-note{margin-top:30px}
.contact-info .email{overflow-wrap:anywhere}
.form-actions{flex-wrap:wrap}
.footer-bottom{flex-wrap:wrap}
dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px)}
.dialog-gallery img{width:100%;height:auto;max-height:680px;object-fit:contain}
.dialog-close{min-height:48px}
@media(min-width:1440px){.portfolio-section .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-section .project-card h3{font-size:25px}}
@media(max-width:1080px){
 :root{--header-height:90px}
 nav{top:var(--header-height);max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}
 .hero h1{font-size:clamp(80px,11vw,118px)}
 .hero-content{padding-bottom:60px}
 .hero-showcase{gap:24px}
 .hero-caption strong{font-size:20px}
 .hero-controls,.hero-dots{gap:5px}
 .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .screen-pair img{height:clamp(200px,28vw,280px)}
}
@media(max-width:850px){
 .intro,.about-split{grid-template-columns:minmax(0,1fr)}
 .intro{gap:32px}
 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-grid .project-card:first-child{grid-row:auto;grid-column:1/-1}
 .home-grid .project-card:first-child .project-image{aspect-ratio:1.8}
 .home-grid .project-card:not(:first-child) .project-image{aspect-ratio:1.5}
 .hero-showcase{align-items:start;flex-direction:column;gap:22px}
 .hero-caption{max-width:100%}
 .section-heading{flex-direction:column;align-items:start}
}
@media(max-width:719px){
 .project-grid,.home-grid{grid-template-columns:minmax(0,1fr)}
 .home-grid .project-card:first-child{grid-column:auto}
 .project-image,.home-grid .project-card:first-child .project-image,.home-grid .project-card:not(:first-child) .project-image{aspect-ratio:1.5}
 .screen-references{grid-template-columns:minmax(0,1fr)}
 .contact-info dl{display:block}
 .project-history{padding-top:65px;padding-bottom:75px}
 .project-history li{flex-direction:column;gap:10px}
 .history-role{padding-top:0}
 .project-history h3{font-size:20px}
 .project-history summary{padding:25px 0}
 .filters>span{width:100%;margin-left:0}
 .hero-caption strong{font-size:19px}
 .hero h1{font-size:18vw}
 .hero .eyebrow{font-size:11px}
 .hero-content{padding-top:52px;padding-bottom:42px}
 .hero-content>p:not(.eyebrow){font-size:18px}
 .hero:after{background:linear-gradient(90deg,rgba(5,14,27,.79),rgba(5,14,27,.3)),linear-gradient(0deg,#081426,rgba(8,20,38,.1) 70%)}
 .hero-slide{inset:-2%}
 .hero-photo .hero-scene{object-position:58% center}
 .hero-showcase{padding-bottom:26px}
 .hero-controls button{height:44px}
 .hero-orbit{display:none}
}
@media(max-width:580px){
 :root{--header-height:84px}
 .header{padding:0 5%;gap:12px}
 .wrap{padding-left:6%;padding-right:6%}
 .brand{font-size:clamp(20px,5.8vw,23px);gap:8px}
 .brand img{width:36px}
 .brand small{font-size:6.5px;letter-spacing:.05em}
 .menu-toggle{min-height:48px;min-width:48px;justify-content:end;font-size:14px;gap:8px}
 .hero h2{font-size:clamp(25px,6.6vw,30px)}
 .hero-content>p:not(.eyebrow) br{display:none}
 .hero-content .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .hero-content .button{font-size:15px;padding:14px 12px;gap:10px}
 .hero-controls{width:100%;justify-content:space-between}
 .hero-dots{flex:1;justify-content:center}
 .hero-dots button{flex:1;max-width:65px}
 .service-title b{font-size:clamp(21px,6vw,26px)}
 .service-title small{font-size:17px}
 .service-index>a{gap:13px}
 .service-details summary{gap:12px}
 .service-details summary h2{font-size:clamp(23px,6.5vw,27px)}
 .service-details summary>div{flex:1;min-width:0}
 .service-details summary .expand{flex-shrink:0}
 .process-grid{grid-template-columns:minmax(0,1fr)}
 .process-grid article{border-bottom:1px solid var(--line);padding-bottom:28px}
 .step{margin-bottom:14px}
 .company-info dl>div{grid-template-columns:65px minmax(0,1fr)}
 .contact-info .email{font-size:clamp(23px,6vw,30px)}
 .form-actions{align-items:stretch;flex-direction:column;gap:18px}
 .form-actions .button{justify-content:space-between}
 .form-actions .text-link{align-self:flex-start}
 .footer-bottom{gap:16px}
 .footer-bottom a{overflow-wrap:anywhere}
 .page-hero h1{font-size:clamp(43px,14.5vw,80px)}
 .page-hero .lead{font-size:19px}
 .dialog-intro h2{font-size:clamp(25px,7vw,32px)}
 dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .dialog-intro,.dialog-detail{padding-left:6%;padding-right:6%}
 .dialog-gallery{padding:0 4%}
 .screen-pair img{height:240px}
 .project-history summary>span:first-child{font-size:clamp(23px,7vw,32px)}
 .project-history summary>span:last-child{font-size:10px}
 .project-history summary b{margin-left:5px}
}
@media(max-width:360px){.brand img{width:30px}.brand small{font-size:6px}.menu-toggle{font-size:13px}.hero-content .button{font-size:14px;padding:13px 10px}.hero-controls,.hero-dots{gap:3px}.hero-caption strong{font-size:18px}.hero-caption-label{font-size:10px}.screen-pair img{height:210px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide.is-active .hero-scene{animation:none;transform:none}}

/* Original photography and orchestra partner attribution */
.partner-section{padding-top:80px;padding-bottom:100px;border-top:1px solid var(--line)}.partner-section .section-heading>div:last-child{max-width:620px}.partner-section h3{margin-bottom:20px}.partner-credit{font-size:15px;color:#93b5c8}.partner-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.partner-gallery figure{margin:0}.partner-gallery img{width:100%;aspect-ratio:1.5;object-fit:cover}.partner-gallery figcaption{font-size:11px;letter-spacing:.12em;color:#91a5b9;margin-top:14px}dialog{width:min(1220px,94vw)}.dialog-gallery img{max-height:800px}.hero-dots{gap:5px}.hero-dots button{min-width:40px}
@media(max-width:719px){.partner-section{padding-top:55px;padding-bottom:65px}.partner-gallery{grid-template-columns:1fr}.partner-credit{font-size:14px}.hero-controls,.hero-dots{gap:3px}.hero-controls button{min-width:40px;padding:6px}.dialog-gallery img{max-height:none}}

.hero-photo .hero-scene{filter:brightness(.98) saturate(1.05)}.hero:after{background:linear-gradient(90deg,rgba(5,14,27,.88),rgba(5,14,27,.63) 34%,rgba(5,14,27,.03) 78%),linear-gradient(0deg,rgba(5,14,27,.94),transparent 33%)}
/* Cinematic continuity: outgoing motion stays alive beneath the dissolve. */
.hero-slide{inset:-2%;opacity:0;z-index:0;transition:opacity 1800ms cubic-bezier(.4,0,.2,1)}
.hero-slide.is-active{opacity:1;z-index:2}
.hero-slide.is-leaving{opacity:1;z-index:1;transition:none}
.hero-slide .hero-scene,.hero-slide.is-active .hero-scene{animation:none;transform:scale(1.045);backface-visibility:hidden}
.hero-slide.is-active .hero-scene,.hero-slide.is-leaving .hero-scene{will-change:transform}
.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero-line>span{display:block;transform-origin:left bottom}
.hero-content h1{letter-spacing:-.065em}
.hero-caption strong{font-weight:650}
.hero-caption #hero-caption-detail{line-height:1.65}
.portfolio-guide{color:var(--muted);font-size:16px;line-height:1.8;margin-top:38px}
.project-story{max-width:900px;padding:0 5% 38px;font-size:clamp(19px,2vw,25px);line-height:1.9;color:#dce3eb}
.recording-intro{font-size:16px;line-height:1.8;color:var(--muted)}
@media(max-width:719px){.hero-controls{gap:6px}.hero-controls>button{width:34px;min-width:34px}.hero-dots{gap:2px}.hero-dots button{width:30px;min-width:30px}.hero-showcase{gap:22px}.hero-caption strong{font-size:19px}.hero-caption #hero-caption-detail{font-size:14px}.project-story{padding:0 6% 26px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide .hero-scene{transform:none!important}}

/* Action-led headline and a more useful project guide. */
.hero-content h1{font-size:clamp(64px,7.9vw,124px);line-height:.98}
.faq-intro{color:var(--muted);line-height:1.8;max-width:720px;margin:24px 0 48px}
.faq summary{display:flex;align-items:baseline;gap:24px;line-height:1.55}
.faq summary .faq-number{font-size:13px;font-weight:500;color:var(--mint);flex:0 0 26px}
.faq summary .faq-question{font-size:clamp(19px,2vw,25px);font-weight:600;flex:1;color:inherit}
.faq summary .faq-toggle{flex:0 0 24px;font-size:26px;text-align:center}
.faq-answer{max-width:1000px;padding:0 48px 28px 50px}
.faq .faq-answer p{padding:0;margin:0 0 18px;font-size:18px;line-height:1.95;max-width:none}
.faq .faq-answer p:last-child{margin-bottom:0}
@media(max-width:719px){.hero-content h1{font-size:clamp(46px,11.2vw,80px)}.faq summary{gap:12px}.faq-answer{padding:0 0 24px}.faq .faq-answer p{font-size:17px;line-height:1.9}.faq-intro{margin-bottom:28px}}

.hero-content h1{letter-spacing:-.035em;word-spacing:.08em}
.faq-toggle{transition:transform .2s ease}
.faq details[open] .faq-toggle{transform:rotate(45deg)}
@media(max-width:359px){.hero-controls{gap:4px}.hero-controls>button{width:28px;min-width:28px}.hero-dots button{width:24px;min-width:24px}.hero-dots{gap:2px}}

/* Kinetic title: dimensional letter reveal, light sweep, and drawing rules. */
.hero-title-lockup{display:inline-block;position:relative;max-width:100%}
.hero-content .hero-motion-title{position:relative;isolation:isolate;overflow:hidden;letter-spacing:-.025em;word-spacing:normal}
.hero-line>.hero-title-row{display:flex;align-items:baseline;gap:.16em;perspective:900px}
.motion-word{display:inline-flex;white-space:nowrap}
.motion-letter{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden}
.motion-accent{color:var(--mint)}
.title-sweep{position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(0,235,160,.08) 43%,rgba(220,255,245,.8) 50%,rgba(0,235,160,.08) 57%,transparent 65%);mix-blend-mode:screen;z-index:2}
.title-rule{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--mint),rgba(0,235,160,.06));opacity:0;transform-origin:left;pointer-events:none}
.title-rule-top{top:-12px}.title-rule-bottom{bottom:-12px;transform-origin:right}
.hero-replay{position:absolute;right:0;bottom:8px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(200,224,234,.3);border-radius:50%;background:rgba(8,20,38,.25);color:#d9e9f3;font:22px/1 Arial,sans-serif;transition:color .2s,border-color .2s}
.hero-replay:hover{color:var(--mint);border-color:var(--mint)}
.hero-replay:disabled{opacity:.3}
@media(max-width:719px){.hero-replay{width:30px;height:30px;font-size:19px;bottom:3px}.title-rule-top{top:-8px}.title-rule-bottom{bottom:-8px}}
@media(prefers-reduced-motion:reduce){.motion-letter{transform:none!important;filter:none!important;opacity:1!important}.title-sweep,.title-rule{display:none}}

/* Keep the replay control clear of the longer STAGE line. */
.hero-title-lockup{padding-right:52px}
@media(max-width:719px){.hero-title-lockup{padding-right:42px}}

/* Mobile art direction. Desktop typography and full-screen photography stay intact. */
.mobile-label,.mobile-heading-break{display:none}
.button .desktop-label,.button .mobile-label{font:inherit;line-height:inherit}
@media(max-width:719px){
 :root{--header-height:76px}
 .header{height:var(--header-height);padding:0 5%;gap:12px}
 .brand{gap:9px}.brand img{width:32px;height:auto}
 .brand-name{font-size:21px;line-height:1.2;letter-spacing:-.035em}
 .brand small{font-size:6.3px;line-height:1.4;letter-spacing:.05em;margin-top:5px}
 .menu-toggle{min-height:48px;min-width:48px;font-size:14px;gap:10px}
 nav{top:var(--header-height);padding:12px 6% 24px;max-height:calc(100dvh - var(--header-height))}
 nav a{font-size:18px;min-height:52px;display:flex;align-items:center;padding:14px 0}
 .header.menu-open nav{box-shadow:0 20px 36px rgba(0,0,0,.35)}
 .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;background:var(--navy);overflow:hidden}
 .hero:after{background:none}
 .hero-content{order:0;padding:38px 6% 32px;width:100%}
 .hero .eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.6;margin-bottom:24px}
 .hero-title-lockup{padding-right:42px}
 .hero-content .hero-motion-title{font-size:clamp(54px,16.5vw,100px);line-height:.96;letter-spacing:-.03em}
 .hero-line>.hero-title-row{gap:.14em}
 .hero h2{font-size:clamp(25px,6.4vw,34px);line-height:1.4;letter-spacing:-.045em;margin-top:27px}
 .mobile-heading-break{display:block}
 .hero-content>p:not(.eyebrow){font-size:17px;line-height:1.85;margin-top:18px;max-width:35em;color:#c5d1df;text-wrap:pretty}
 .hero-content>p:not(.eyebrow) br{display:initial}
 .hero-content .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:26px}
 .hero-content .button{min-width:0;min-height:54px;padding:13px 14px;gap:8px;font-size:15px;line-height:1.5;align-items:center}
 .hero-content .button>span:last-child{font-size:20px;flex-shrink:0}
 .desktop-label{display:none}.button .mobile-label{display:inline}
 .hero-content .button.outline{border-color:#67788a}
 .hero-stage{position:relative;order:1;inset:auto;width:100%;aspect-ratio:16/10;min-height:0;z-index:0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);touch-action:pan-y}
 .hero-photo{inset:0}
 .hero-photo .hero-scene{object-position:var(--focal);filter:brightness(.94) saturate(1.08)}
 .hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,20,38,.32),transparent 40%);pointer-events:none;z-index:4}
 .hero-showcase{order:2;padding:22px 6% 28px;gap:18px;display:flex;flex-direction:column;align-items:stretch;background:var(--navy)}
 .hero-caption{gap:5px;max-width:none}
 .hero-caption-label{font-size:9px;letter-spacing:.14em}
 .hero-caption strong{font-size:18px;line-height:1.5}
 .hero-caption #hero-caption-detail{font-size:14px;line-height:1.65;color:#bdcad8}
 .hero-controls{width:100%;gap:4px;justify-content:space-between}
 .hero-controls>button{width:44px;min-width:44px;height:44px;padding:6px}
 .hero-dots{flex:1;min-width:120px;gap:0;justify-content:space-evenly}
 .hero-dots button{flex:1;min-width:24px;max-width:44px;width:auto;height:44px;padding:4px 0;font-size:11px}
 .hero-replay{width:32px;height:32px;bottom:5px}
 .ticker{padding:18px 20px;gap:24px;font-size:22px}
 .wrap{padding-left:6%;padding-right:6%}
 .page-hero{padding-top:42px;padding-bottom:36px}
 .page-hero h1{font-size:clamp(38px,11vw,72px);line-height:1.06;letter-spacing:-.03em}
 .page-hero .eyebrow{font-size:11px;margin-bottom:20px}
 .page-hero .lead{font-size:18px;line-height:1.85;margin-top:22px}
 .intro,.about-split,.selected,.process-section,.company-info,.partner-section{padding-top:56px;padding-bottom:56px}
 .section-heading{gap:22px;margin-bottom:30px}
 .section-heading h2,.intro h2{font-size:30px;line-height:1.4}
 .intro .lead{font-size:20px;line-height:1.8}
 .intro p,.about-split p{font-size:17px;line-height:1.9}
 .services-overview,.values{padding-top:56px;padding-bottom:60px}
 .service-index>a{padding:22px 0;gap:12px;min-height:88px}
 .service-title b{font-size:23px;line-height:1.2}
 .service-title small{font-size:17px;line-height:1.5}
 .service-jump{gap:8px;padding-top:24px;padding-bottom:24px}
 .service-jump a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;padding:10px 12px}
 .service-details summary{padding:24px 0;gap:12px}
 .service-details summary h2{font-size:24px;line-height:1.4}
 .service-body{gap:24px}
 .service-body h3{font-size:24px;line-height:1.5}
 .service-body p,.service-body ul{font-size:17px;line-height:1.85}
 .portfolio-section{padding-top:28px}
 .filters{gap:7px;margin-bottom:28px}
 .filters button{min-height:44px;padding:10px 13px;font-size:14px}
 .filters>span{font-size:11px;margin:8px 0 0}
 .project-grid,.home-grid{gap:34px}
 .project-card h3{font-size:23px;line-height:1.4}
 .project-card p{font-size:16px;line-height:1.7;margin-top:8px}
 .project-meta{font-size:11px;margin-top:16px}
 .round-arrow{width:44px;height:44px;right:12px;bottom:12px}
 .project-history{padding-top:52px;padding-bottom:56px}
 .project-history h3{font-size:19px;line-height:1.5}
 .project-history li p{font-size:15px;line-height:1.8}
 .contact-grid{gap:38px;padding-bottom:56px}
 .contact-info h2{font-size:30px}
 .contact-info .email{font-size:27px;line-height:1.35}
 form{padding:26px 18px}
 form h3{font-size:25px}
 label{font-size:15px}
 input,select{min-height:52px;font-size:16px}
 textarea{font-size:16px;line-height:1.75}
 .form-actions .button{min-height:54px}
 .faq{padding-top:48px;padding-bottom:56px}
 .faq>h2{font-size:30px}
 .faq-intro{font-size:17px;line-height:1.8}
 .faq summary{padding:22px 0;gap:10px;align-items:flex-start}
 .faq summary .faq-number{flex-basis:22px;font-size:11px;padding-top:4px}
 .faq summary .faq-question{font-size:18px;line-height:1.65}
 .faq summary .faq-toggle{font-size:23px;flex-basis:22px}
 .faq .faq-answer p{font-size:16px;line-height:1.9}
 .cta{padding-top:42px;padding-bottom:42px}
 .cta h2{font-size:31px;line-height:1.4}
 .cta .button{min-height:54px}
 .footer-top{gap:26px}
 .footer-bottom{gap:14px;font-size:12px}
}
@media(max-width:359px){
 .brand-name{font-size:19px}.brand img{width:29px}
 .brand small{font-size:5.8px}
 .hero-content{padding-top:32px}
 .hero .eyebrow{font-size:9px;letter-spacing:.08em}
 .hero-content .button{padding:12px 10px;font-size:14px}
 .hero-content>p:not(.eyebrow){font-size:16px}
 .hero h2{font-size:24px}
 .hero-replay{width:30px;height:30px}
 .contact-info .email{font-size:24px}
}

/* Stage lighting, orbital lines and scroll choreography. */
.hero-lightfield{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.stage-aura{position:absolute;width:70%;aspect-ratio:1;pointer-events:none;animation:stage-atmosphere 18s ease-in-out infinite alternate}
.aura-blue{right:-18%;top:-30%;background:radial-gradient(ellipse,rgba(38,93,255,.2),transparent 68%)}
.aura-mint{left:10%;bottom:-55%;background:radial-gradient(ellipse,rgba(0,235,160,.13),transparent 68%);animation-delay:-9s}
.stage-sweep{position:absolute;inset:-15% auto -15% 0;width:40%;background:linear-gradient(100deg,transparent 10%,rgba(52,255,204,.05) 40%,rgba(220,255,245,.12) 49%,rgba(52,255,204,.03) 60%,transparent 90%);animation:stage-light-sweep 14s cubic-bezier(.4,0,.3,1) infinite;opacity:0}
@keyframes stage-atmosphere{from{transform:translate3d(-4%,2%,0) scale(.9);opacity:.5}to{transform:translate3d(10%,-4%,0) scale(1.15);opacity:1}}
@keyframes stage-light-sweep{0%{transform:translateX(-150%) skewX(-18deg);opacity:0}8%{opacity:.7}38%{opacity:.4}55%,100%{transform:translateX(380%) skewX(-18deg);opacity:0}}
.hero-orbit{animation:stage-orbit 52s linear infinite;opacity:.5}
.hero-orbit:before{border-color:rgba(0,235,160,.5) transparent rgba(34,131,255,.1) transparent}
.hero-orbit:after{border-color:transparent rgba(58,137,255,.45) transparent rgba(0,235,160,.1)}
.orbit-point{position:absolute;left:-4px;top:50%;width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 18px rgba(0,235,160,.65)}
.orbit-tick{position:absolute;right:13%;top:12%;font:20px/1 Arial;color:#65bfff}
@keyframes stage-orbit{to{transform:rotate(360deg)}}
.hero.motion-paused .hero-orbit,.hero.motion-paused .hero-lightfield *{animation-play-state:paused}
.hero-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.06);z-index:6;pointer-events:none}
.hero-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1474dc,var(--mint));transform:scaleX(0);transform-origin:left;box-shadow:0 0 16px rgba(0,235,160,.4)}
.hero-caption-label{display:flex;align-items:center;gap:9px}
.hero-caption-label:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px rgba(0,235,160,.65)}
.reveal-ready{opacity:0;transform:translate3d(0,28px,0);transition:opacity .85s ease var(--reveal-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;transform:none}
@media(max-width:719px){.hero-lightfield{opacity:.65}.stage-aura{width:90%}.aura-mint{bottom:-80%}.hero-progress{height:2px}.reveal-ready{transform:translate3d(0,18px,0)}.reveal-ready.is-revealed,.reveal-ready:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-orbit,.hero-lightfield *{animation:none!important}.stage-sweep{display:none}.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}}

/* Phone edition: a shorter opening, generous touch controls and focused reading. */
.mobile-copy,.hero-position,.nav-mobile,.nav-signature{display:none}
@media(max-width:1080px){
 body.navigation-open{overflow:hidden}
 .header.menu-open nav{height:calc(100dvh - var(--header-height));max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:20px 6% max(32px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 110% 90%,#103b45 0,transparent 60%),var(--navy)}
 nav .nav-desktop{display:none}nav .nav-mobile{display:flex;align-items:center;gap:16px;width:100%}
 nav a,nav .nav-contact{padding:18px 0;min-height:76px;margin:0;border:0;border-bottom:1px solid var(--line);font-size:25px;font-weight:650;line-height:1.3}
 nav a[aria-current=page]{color:var(--mint)}nav a[aria-current=page]:after{display:none}
 .nav-number{font:11px/1 var(--body);color:#7793a9;min-width:18px}.nav-mobile small{display:block;font:10px/1.5 var(--body);letter-spacing:.14em;color:#91a8bd;margin-top:5px}.nav-arrow{margin-left:auto;font:24px/1 var(--body);color:var(--mint)}
 .nav-signature{display:block;margin-top:auto;padding-top:36px;font:26px/1 var(--display);color:var(--mint)}.nav-signature>span{display:block;font:12px/1.8 var(--body);color:#a5b6c7;margin-top:10px}
 .menu-toggle[aria-expanded=true]>span{font-size:0}.menu-toggle[aria-expanded=true]>span:after{content:'×';font:30px/1 var(--body)}
}
@media(max-width:719px){
 .hero-content{padding-top:28px;padding-bottom:26px}
 .hero .eyebrow{margin-bottom:20px}
 .hero h2{margin-top:22px}
 .desktop-copy{display:none}.mobile-copy{display:inline}
 .hero-content>p.hero-description{font-size:16px;line-height:1.8;margin-top:15px}
 .hero-content .actions{margin-top:22px}
 .hero-stage{aspect-ratio:16/10}
 .hero-replay{width:44px;height:44px;bottom:0;background:transparent;border-color:#4a6278}
 .hero-title-lockup{padding-right:48px}
 .hero-showcase{padding-top:20px;padding-bottom:22px;gap:16px}
 .hero-controls{display:grid;grid-template-columns:1fr 44px 44px 44px;gap:8px}
 .hero-dots{display:none}
 .hero-position{display:flex;align-items:baseline;gap:8px;font:13px/1 var(--body);letter-spacing:.08em;color:#8ba0b6}
 .hero-position b{font-size:22px;font-weight:650;color:var(--mint)}
 .hero-controls>button{width:44px;min-width:44px;height:44px}
 .hero-caption-label{font-size:10px}
 .ticker{font-size:20px;padding:16px 6%;gap:20px}
 .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:30px}
 .filters button{min-width:0;min-height:48px;font-size:13px;line-height:1.4;padding:10px 5px;word-break:keep-all}
 .filters>span{grid-column:1/-1;width:auto;justify-self:end;margin:5px 0 0}
 .project-image,.home-grid .project-card:first-child .project-image,.home-grid .project-card:not(:first-child) .project-image{aspect-ratio:3/2}
 dialog{inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);scroll-padding-top:80px}
 .dialog-close{top:calc(12px + env(safe-area-inset-top));margin:12px 6% 0 auto;min-width:80px;min-height:48px;z-index:5;box-shadow:0 4px 24px #0005}
 .dialog-intro{padding:24px 6% 26px}.dialog-intro h2{font-size:28px;line-height:1.4;word-break:keep-all}.dialog-intro .lead{font-size:18px;line-height:1.75}
 .project-story{font-size:17px;line-height:1.9;padding-bottom:28px}
 .dialog-gallery{padding:0;gap:12px}.dialog-gallery img{max-height:none}
 .dialog-detail{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.dialog-detail .button{width:100%;justify-content:space-between;margin-top:20px;min-height:54px}
 .process-grid{grid-template-columns:1fr;gap:0;margin-top:30px}
 .process-grid article{position:relative;padding:24px 0 24px 58px}
 .process-grid .step{position:absolute;left:0;top:26px;font-size:34px;margin:0;color:var(--mint)}
 .process-grid .eyebrow{margin-bottom:10px}.process-grid h3{margin-bottom:10px;font-size:23px}.process-grid p:last-child{font-size:17px;line-height:1.85}
 .service-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .service-jump a{font-size:12px;line-height:1.55;min-height:56px;padding:10px;word-break:keep-all}
 .faq details{padding:0}.faq summary{padding:23px 0}.faq-answer{padding-bottom:24px}
 .contact-grid{padding-top:36px;gap:32px}.contact-info dl{margin-top:28px}
 .contact-info .email{margin-top:24px;margin-bottom:16px;font-size:clamp(21px,6vw,27px)}
 .form-actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}.form-actions .button{justify-content:space-between}.form-actions .text-link{min-height:48px;display:flex;align-items:center;justify-content:center}
 .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){
 .hero-content .hero-motion-title{font-size:15.9vw}
 .hero h2{font-size:23px}.hero-content>p.hero-description{font-size:15px}
 .hero .eyebrow{font-size:8.5px}
 nav a,nav .nav-contact{font-size:23px}
}
@media(max-width:1080px) and (max-height:600px){.header.menu-open nav{padding-top:8px}nav a,nav .nav-contact{padding:12px 0;min-height:64px}.nav-signature{padding-top:24px}}@media(max-width:1080px){nav .nav-contact{width:100%;max-width:none}}
/* Balanced project selection and an integrated mobile cover. */
.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.home-grid .project-card:first-child{grid-column:auto;grid-row:auto}
.home-grid .project-card:first-child .project-image,.home-grid .project-card:not(:first-child) .project-image{aspect-ratio:3/2}
.home-grid .project-meta{gap:12px;flex-wrap:wrap}
.ticker{flex-wrap:wrap;white-space:normal;overflow:visible;gap:18px 28px;line-height:1.25}
.ticker>span{white-space:nowrap}
@media(min-width:720px) and (max-width:1080px){
 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:719px){
 .hero{display:flex;min-height:calc(100svh - var(--header-height));height:auto;max-height:none;justify-content:space-between}
 .hero-stage{position:absolute;inset:0;order:initial;width:100%;height:100%;aspect-ratio:auto;z-index:-2;border:0}
 .hero-stage:after{background:linear-gradient(180deg,rgba(4,13,26,.26),rgba(4,13,26,.08) 40%,rgba(4,13,26,.72) 100%)}
 .hero:after{background:linear-gradient(90deg,rgba(4,13,26,.68),rgba(4,13,26,.18)),linear-gradient(180deg,rgba(4,13,26,.14) 20%,rgba(4,13,26,.35) 54%,rgba(4,13,26,.96) 100%)}
 .hero-photo .hero-scene{object-position:var(--focal);filter:brightness(.98) saturate(1.05)}
 .hero-content{padding:48px 6% 38px;margin:0;width:100%}
 .hero .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:25px;color:#b6f6e2}
 .hero-title-lockup{width:100%;padding-right:42px}
 .hero-content .hero-motion-title{font-size:clamp(42px,12.5vw,82px);line-height:1.02;letter-spacing:-.025em}
 .hero-replay{right:0;bottom:2px;width:36px;height:44px;border-color:rgba(202,230,241,.45);background:rgba(8,20,38,.25)}
 .hero h2{font-size:clamp(23px,5.7vw,32px);line-height:1.45;margin-top:27px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
 .hero-content>p.hero-description{font-size:clamp(14px,3.65vw,18px);line-height:1.85;margin-top:18px;color:#e0e8f0;text-shadow:0 2px 10px rgba(0,0,0,.45)}
 .hero-content .actions{margin-top:26px;gap:10px}
 .hero-content .button.outline{background:rgba(8,20,38,.35);border-color:#9badbb}
 .hero-showcase{background:transparent;order:initial;padding:0 6% 25px;gap:16px;margin:0}
 .hero-caption strong{font-size:17px}
 .hero-caption #hero-caption-detail{font-size:13px;color:#cbd8e5}
 .hero-controls{padding-top:10px;border-top:1px solid rgba(211,231,241,.25)}
 .home-grid{grid-template-columns:minmax(0,1fr);gap:34px}
 .ticker{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:21px 6%;gap:10px;font-size:clamp(17px,4.6vw,24px);line-height:1.3}
 .ticker b{display:none}
 .ticker>span{white-space:normal;max-width:100%}
}
@media(max-width:359px){
 .hero-content{padding-top:36px;padding-bottom:30px}
 .hero-content>p.hero-description{font-size:13px}
 .hero .eyebrow{font-size:8px;letter-spacing:.07em}
}
