@font-face{font-family:SUIT;src:url(assets/SUIT-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:SUIT;src:url(assets/SUIT-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:SUIT;src:url(assets/SUIT-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:SUIT;src:url(assets/SUIT-Heavy.woff2) format('woff2');font-weight:900;font-display:swap}
:root{--ink:#0d0d10;--paper:#f1f0eb;--mint:#b1f4d8;--purple:#8959e8;--pad:4.2vw;--line:#d6d6d0;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:SUIT,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:left}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--purple);outline-offset:6px}button:disabled{opacity:.25;cursor:default}::selection{background:var(--mint);color:var(--ink)}[hidden]{display:none!important}.paper{background:var(--paper);color:var(--ink);color-scheme:light}.purple{color:var(--purple)}.skip{position:fixed;left:20px;top:-80px;background:var(--mint);color:var(--ink);padding:15px;z-index:90}.skip:focus{top:10px}
.site-header{height:90px;padding:0 var(--pad);position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent}.brand{display:block}.brand img{display:block;width:138px;height:auto}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:500}.site-header nav>a,.site-header nav>button{position:relative;padding:10px 0}.site-header nav>a:after,.site-header nav>button:not(.nav-contact):after{content:'';height:1px;background:currentColor;position:absolute;bottom:4px;left:0;width:0;transition:width .25s}.site-header nav>a:hover:after,.site-header nav>button:hover:after{width:100%}.site-header .nav-contact{border:1px solid #ffffff50;border-radius:30px;padding:11px 18px}.nav-contact span{margin-left:20px;color:var(--mint)}.site-header.is-scrolled{position:fixed;background:#0d0d10f2;backdrop-filter:blur(14px);height:72px;border-bottom:1px solid #ffffff12;animation:header-in .35s both}.menu-toggle{display:none}.mobile-menu{position:fixed;z-index:19;inset:0;padding:110px 25px 45px;background:var(--mint);color:var(--ink)}.mobile-menu>a,.mobile-menu>button{display:flex;justify-content:space-between;width:100%;font-size:42px;padding:17px 0;border-bottom:1px solid #0d0d1030;letter-spacing:-.05em}.mobile-menu p{position:absolute;bottom:40px;font-size:11px;letter-spacing:.06em}.menu-open{overflow:hidden}.menu-open .site-header{background:var(--ink)}
.hero{height:900px;min-height:740px;max-height:1200px;height:100svh;position:relative;overflow:hidden;padding:0 var(--pad);isolation:isolate;background:#0d0d10}.hero:after{content:'';pointer-events:none;position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.15' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.11;z-index:5}.hero-meta{position:absolute;top:128px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#b8b8bb}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-left:7px;vertical-align:2px}.hero-type{position:absolute;top:23%;left:var(--pad);right:var(--pad);font-weight:900;letter-spacing:-.075em;line-height:.84;pointer-events:none;z-index:1}.hero-line{font-size:15.35vw;white-space:nowrap}.hero-line.first{animation:title-in 1.25s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}.brand-line{font-size:15px;letter-spacing:.03em;font-weight:400;height:5.4vw;display:flex;align-items:center;padding-left:.6vw;color:#b6b6ba}.hero-line.second{font-size:12.4vw;position:relative;z-index:4;animation:title-in 1.4s .12s cubic-bezier(.2,.8,.2,1) both;letter-spacing:-.065em}.sculpture{position:absolute;left:39%;top:7%;width:57%;height:77%;z-index:2;pointer-events:none;transition:opacity .5s}.sculpture canvas{width:100%;height:100%;display:block;position:relative}.sculpture-fallback{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:45vw;color:var(--purple);transform:rotate(-15deg);line-height:1}.sculpture.is-ready .sculpture-fallback{display:none}.hero-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:65px;display:flex;align-items:flex-end;justify-content:space-between;z-index:6}.hero-bottom h1{font-size:clamp(26px,2.6vw,43px);line-height:1.24;letter-spacing:-.065em;font-weight:500}.hero-bottom h1 span{color:var(--mint)}.hero-right{display:flex;align-items:flex-end;gap:65px}.hero-right p{font-size:13px;color:#b9b9bd;line-height:1.8}.scroll-link{display:flex;gap:23px;align-items:center}.scroll-link>span{font-size:9px;letter-spacing:.08em}.scroll-link i{display:grid;place-items:center;font-size:28px;font-style:normal;width:66px;height:66px;border:1px solid #ffffff55;border-radius:50%;transition:background .25s,color .25s,transform .3s}.scroll-link:hover i{background:var(--mint);color:var(--ink);transform:translateY(5px)}.motion-toggle{position:absolute;right:var(--pad);bottom:18px;font-size:9px;letter-spacing:.08em;color:#95959d;z-index:6;padding:6px}.motion-toggle>span{font-size:12px;margin-right:6px}
.intro{padding:130px var(--pad) 120px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.section-kicker{font-size:11px;letter-spacing:.04em;display:flex;gap:15px;align-items:flex-start;padding-top:12px}.tiny-star{font-size:30px;line-height:.5;color:var(--purple)}.intro-body h2{font-size:clamp(36px,4.7vw,72px);font-weight:500;letter-spacing:-.065em;line-height:1.19;word-break:keep-all}.intro-lower{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-top:37px}.intro-lower p{font-size:15px;color:#666666;line-height:1.8;letter-spacing:-.02em}.round-link{display:flex;gap:25px;align-items:center;white-space:nowrap;font-size:13px}.round-link i{display:grid;place-items:center;border:1px solid #bdbdb7;width:62px;height:62px;border-radius:50%;font-style:normal;font-size:24px;transition:.3s}.round-link:hover i{transform:rotate(45deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}
.work{padding:24px var(--pad) 120px}.section-top{padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-top h2{font-size:clamp(58px,7.2vw,112px);line-height:.88;font-weight:500;letter-spacing:-.07em}.section-top h2 em{font-style:normal;margin-left:11vw}.section-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.section-top p{font-size:14px;line-height:1.5}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{font-size:18px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.work-card{min-width:0;display:block;width:100%}.work-card:nth-child(2){margin-top:50px}.work-card:nth-child(3){margin-top:100px}.work-image{aspect-ratio:1.42;position:relative;overflow:hidden;background:#131313}.work-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}.work-image.city img{object-fit:cover;transform:scale(1.46)}.work-card:hover .work-image img{transform:scale(1.07);filter:brightness(.8)}.work-card:hover .work-image.city img{transform:scale(1.56)}.view-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);padding:15px 22px;background:var(--mint);color:var(--ink);font-size:10px;white-space:nowrap;border-radius:40px;opacity:0;transition:.25s}.work-card:hover .view-tag,.work-card:focus-visible .view-tag{opacity:1;transform:translate(-50%,-50%)}.work-caption{position:relative;padding:18px 25px 0 0}.work-caption h3{font-size:19px;font-weight:500;letter-spacing:-.025em}.work-caption>span{display:block;margin-top:7px;font-size:10px;color:#757575}.work-caption i{position:absolute;right:0;top:17px;font-size:22px;font-style:normal}
.expertise{padding:105px var(--pad) 110px;display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.eyebrow{font-size:10px;letter-spacing:.08em}.expertise-side{position:relative}.expertise-side h2{font-size:clamp(42px,5.4vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1;margin-top:34px}.expertise-side h2 em{font-style:normal;color:var(--mint)}.expertise-side>p{color:#a7a7ae;font-size:14px;line-height:1.8;margin-top:30px}.service-orbit{position:relative;width:155px;height:155px;margin-top:80px;border:1px solid #58545f;border-radius:50%;display:grid;place-items:center;transform:rotate(-20deg)}.service-orbit:after{content:'';position:absolute;inset:15px -16px;border:1px solid var(--purple);border-radius:50%;transform:rotate(40deg)}.service-orbit span{font-size:76px;font-weight:700;color:var(--mint)}.service-orbit i{position:absolute;top:10px;right:12px;width:13px;height:13px;background:var(--purple);border-radius:50%}.service-item{display:grid;width:100%;grid-template-columns:28px 1fr 32px;gap:25px;align-items:start;padding:30px 0;border-top:1px solid #ffffff30;transition:color .3s}.service-item:last-child{border-bottom:1px solid #ffffff30}.service-no{font-size:10px;color:#a2a0a8;padding-top:10px}.service-item h3{font-size:clamp(32px,3.6vw,58px);font-weight:500;line-height:1;letter-spacing:-.05em;transition:transform .35s}.service-item p{color:#939298;font-size:12px;margin-top:18px;line-height:1.6}.service-arrow{font-size:30px;font-weight:400;transition:transform .3s}.service-item:hover h3{transform:translateX(8px);color:var(--mint)}.service-item:hover .service-arrow{transform:rotate(45deg);color:var(--mint)}
.partners{padding:65px var(--pad) 70px}.partner-heading{display:flex;justify-content:space-between;align-items:flex-end}.partner-heading p{font-size:11px;line-height:1.6;letter-spacing:.02em}.home-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:50px;align-items:center;margin-top:53px;min-height:35px}.home-logos img{width:100%;height:34px;object-fit:contain;filter:grayscale(1);opacity:.7;mix-blend-mode:multiply}
.footer{background:var(--mint);color:var(--ink);padding:60px var(--pad) 25px}.footer-top{display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;line-height:1.6}.footer-top>span{font-size:12px}.talk-button{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:clamp(90px,16.4vw,280px);font-weight:500;line-height:1.2;letter-spacing:-.085em;border-bottom:1px solid #0d0d1055;padding:35px 0 45px}.talk-button>span{font-size:13vw;transition:transform .5s}.talk-button:hover>span{transform:rotate(45deg)}.footer-info{display:grid;grid-template-columns:1fr 1.3fr .6fr;gap:35px;padding:42px 0 66px}.footer-info>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:13px}.footer-info>div:first-child>a:first-child{font-size:21px;letter-spacing:-.02em}.footer-info .text-link{font-size:11px}.footer-bottom{border-top:1px solid #0d0d1035;padding-top:24px;display:flex;justify-content:space-between;align-items:flex-start;font-size:10px;gap:25px}.footer-bottom summary{cursor:pointer;list-style:none}.footer-bottom details p{line-height:1.7;margin-top:12px}.floating-contact{display:none}.noscript{padding:25px}
dialog{color-scheme:light;color:var(--ink);background:var(--paper);width:calc(100% - 48px);max-width:1440px;height:calc(100svh - 48px);max-height:none;border:0;margin:auto;padding:0;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#08080bba;backdrop-filter:blur(12px)}dialog[open]{animation:dialog-in .45s cubic-bezier(.2,.8,.2,1)}.dialog-bar{height:76px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:var(--paper)}#dialog-label{font-size:11px;letter-spacing:.05em}.close-dialog{display:flex;align-items:center;gap:18px;font-size:10px}.close-dialog i{font-size:33px;font-style:normal;font-weight:400}.detail-wrap{padding:65px 7% 70px}.detail-wrap h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.065em;font-weight:500;line-height:1.12;max-width:1000px}.detail-wrap>.eyebrow{display:block;margin-bottom:24px}.detail-lead{font-size:19px;line-height:1.8;word-break:keep-all;max-width:800px;color:#5e5c64;margin:28px 0 42px}.about-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:60px 0 20px}.about-metrics strong{font-size:clamp(30px,5vw,72px);display:block;font-weight:500;letter-spacing:-.07em}.about-metrics span{display:block;font-size:12px;margin-top:10px;color:#77757d}.date-note{font-size:10px;color:#8c8a92;margin-bottom:65px}.detail-subhead{font-size:26px;font-weight:500;border-top:1px solid var(--line);padding-top:25px;margin:50px 0 16px;letter-spacing:-.035em}.detail-note{font-size:13px;color:#75737b;line-height:1.8;max-width:680px}.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:35px 30px;margin:40px 0}.logo-grid img{width:100%;height:36px;object-fit:contain;mix-blend-mode:multiply}.detail-actions{display:flex;align-items:center;gap:35px;margin-top:45px;flex-wrap:wrap}.dark-button{display:inline-flex;gap:45px;align-items:center;background:var(--ink);color:white;font-size:13px;padding:17px 23px;border-radius:40px}.dark-button span{color:var(--mint)}.steps{margin:55px 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:0}.steps li{border-top:1px solid #bbb9c0;padding-top:15px;font-size:16px;line-height:1.5}.steps span{font-size:10px;color:var(--purple);display:block;margin-bottom:28px}.detail-pagination{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:65px;font-size:12px;gap:25px}.detail-pagination button{padding:10px 0}.project-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;margin-top:45px}.gallery-frame{background:#e2e1dc;min-width:0;position:relative;display:grid;place-items:center;aspect-ratio:1}.gallery-frame img{width:100%;height:100%;max-height:570px;object-fit:contain;position:absolute;inset:0}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:14px;font-size:11px}.gallery-controls button{padding:8px 18px;border:1px solid #c9c7cf;border-radius:30px}.project-description dl{margin:0}.project-description dt{font-size:11px;color:#85818e;margin:27px 0 10px}.project-description dt:first-child{margin-top:0}.project-description dd{margin:0;font-size:16px;line-height:1.8;word-break:keep-all;white-space:pre-line}.project-description .dark-button{margin-top:35px}
.contact-layout{padding:65px 6%;display:grid;grid-template-columns:1fr 1.3fr;gap:6vw}.contact-heading h2{font-size:clamp(40px,4.7vw,75px);letter-spacing:-.065em;line-height:1.1;font-weight:500;margin:25px 0}.contact-heading h2 em{font-style:normal;color:var(--purple)}.contact-heading>p{font-size:14px;margin-bottom:30px;line-height:1.7}.contact-heading>a{font-size:16px}.contact-heading .preview-notice{font-size:11px;color:#828087;margin-top:35px}.contact-form-wrap{min-width:0}#inquiry-form fieldset{margin:0;padding:0;border:0}#inquiry-form legend{display:none}.contact_box{padding:30px 0;border-bottom:1px solid var(--line)}.contact_box:first-child{padding-top:0}.contact_text{font-size:19px;line-height:1.5;letter-spacing:-.025em}.contact_text>span{font-size:10px;color:#83818b;display:block;margin-top:6px}.contact_item{margin-top:28px;min-width:0}.contact_label{font-size:12px;display:block;margin-bottom:12px;color:#73717b}.contact_half{display:grid;grid-template-columns:1fr 1fr;gap:22px}#inquiry-form input[type=text],#inquiry-form textarea,#inquiry-form select{width:100%;border:0;border-bottom:1px solid #b9b8bd;padding:12px 0;color:var(--ink);background:transparent;font-size:16px;line-height:1.5;border-radius:0;min-width:0}#inquiry-form input:focus,#inquiry-form textarea:focus,#inquiry-form select:focus{outline:0;border-color:var(--purple)}#inquiry-form input:focus-visible,#inquiry-form textarea:focus-visible,#inquiry-form select:focus-visible{outline:2px solid var(--purple);outline-offset:4px}#inquiry-form textarea{min-height:140px;resize:vertical}#inquiry-form ul{list-style:none;padding:0;margin:0}#inquiry-form .check{display:grid;gap:20px}.check_title{font-size:12px;margin-bottom:9px}.check_list{display:flex;flex-wrap:wrap;gap:8px}.check_list li{position:relative;display:flex;align-items:center}.check_list input{position:absolute;width:1px;height:1px;opacity:0}.check_list label{display:block;border:1px solid #c7c5cd;border-radius:30px;padding:9px 13px;font-size:11px;cursor:pointer;transition:background .2s,border-color .2s}.check_list input:checked+label{background:var(--ink);border-color:var(--ink);color:var(--mint)}.check_list input:focus-visible+label{outline:2px solid var(--purple);outline-offset:3px}.num .inp_box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.file-upload{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.file-upload .upload-name{display:none}.file-upload>label{font-size:12px;border-bottom:1px solid currentColor}.file-upload>input{max-width:100%;font-size:11px}.contact_agree{padding:30px 0}.agree_list li{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px;margin-bottom:14px}.agree_list input{accent-color:var(--purple);width:16px;height:16px}.agree_more{font-size:10px;color:#8f8b99;text-decoration:underline}.contact_submit{border:0;background:var(--ink);color:var(--mint);border-radius:30px;padding:17px 24px;width:100%;cursor:pointer;font-size:14px}#form-result{font-size:13px;line-height:1.7;color:#7032c9;margin-top:24px}.policy-panel{background:#e7e5dd;padding:20px;margin-top:24px;font-size:12px;line-height:1.8}
.hero-type{z-index:auto}.hero-line.first{position:relative;z-index:1}.brand-line{position:relative;z-index:4}.sculpture{left:46%;top:15%;width:50%;height:64%}.hero-line.second{z-index:4}
.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@keyframes title-in{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:translateY(0)}}@keyframes header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-line{font-size:min(15.35vw,290px)}.hero-line.second{font-size:min(12.4vw,235px)}.hero-type{top:24%}.hero{max-height:1150px}.hero-meta{top:145px}}
@media(max-width:1000px){.hero{min-height:720px}.hero-right{gap:30px}.hero-right p{display:none}.intro{grid-template-columns:1fr 2.4fr;gap:30px;padding-top:90px;padding-bottom:90px}.intro-lower{gap:20px}.intro-lower p{font-size:13px}.round-link{gap:12px}.round-link i{width:45px;height:45px}.work{padding-bottom:90px}.work-grid{gap:18px}.work-caption h3{font-size:16px}.expertise{gap:6vw}.service-item{gap:15px}.home-logos{gap:30px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-heading .preview-notice{margin-top:20px}.contact-heading h2 br{display:none}.contact-heading h2 em{margin-left:10px}}
@media(max-width:650px){:root{--pad:23px}.site-header{height:78px}.brand img{width:121px}.site-header nav{display:none}.menu-toggle{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:7px}.menu-toggle i{width:26px;height:1px;background:var(--paper);transition:.25s}.menu-open .menu-toggle i:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle i:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{height:calc(100svh - 12px);min-height:710px;max-height:950px}.hero-meta{top:113px;font-size:8px;letter-spacing:.07em}.hero-meta>span:last-child{font-size:8px}.hero-type{top:26%;left:21px;right:21px}.hero-line{font-size:15.1vw;letter-spacing:-.07em}.hero-line.second{font-size:12.25vw;letter-spacing:-.065em}.brand-line{height:85px;font-size:10px;padding-top:0;align-items:center}.sculpture{width:95%;height:52%;left:10%;top:15%}.sculpture-fallback{font-size:90vw}.hero-bottom{bottom:95px;display:block}.hero-bottom h1{font-size:33px;line-height:1.26;letter-spacing:-.055em}.hero-right{margin-top:30px;justify-content:space-between}.scroll-link{gap:15px;flex-direction:row-reverse}.scroll-link i{width:40px;height:40px;font-size:22px}.scroll-link>span{font-size:8px}.motion-toggle{bottom:30px;font-size:8px;left:var(--pad);right:auto}.intro{display:block;padding:65px var(--pad) 73px}.section-kicker{font-size:9px;gap:12px;margin-bottom:35px}.tiny-star{font-size:25px}.intro-body h2{font-size:37px}.intro-lower{display:block;margin-top:24px}.intro-lower p{font-size:14px;line-height:1.8}.round-link{margin-top:26px;gap:24px}.round-link i{width:47px;height:47px}.work{padding-top:0;padding-bottom:65px}.section-top{padding-top:25px;margin-bottom:28px;gap:20px}.section-top h2{font-size:52px}.section-top h2 em{margin-left:35px}.section-top>div p{display:none}.section-top .text-link{font-size:10px;gap:13px;white-space:nowrap}.work-grid{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;margin-right:-23px;padding:0 23px 15px 0}.work-card{flex:0 0 83%;scroll-snap-align:start}.work-card:nth-child(n){margin-top:0}.work-image{aspect-ratio:1.46}.work-caption h3{font-size:18px}.work-caption>span{font-size:10px}.expertise{display:block;padding:65px var(--pad) 62px}.expertise-side h2{font-size:47px;margin-top:27px}.expertise-side h2 br:last-of-type{display:block}.expertise-side>p{font-size:13px;margin-top:20px}.service-orbit{display:none}.service-orbit span{font-size:42px}.service-orbit i{width:9px;height:9px;top:0;right:16px}.service-list{margin-top:42px}.service-item{grid-template-columns:20px 1fr 25px;gap:13px;padding:24px 0}.service-item h3{font-size:32px}.service-item h3 br{display:none}.service-item p{font-size:11px;margin-top:12px}.service-no{font-size:9px;padding-top:6px}.service-arrow{font-size:26px}.partners{padding:38px var(--pad) 48px}.partner-heading p{font-size:9px}.partner-heading .text-link{font-size:10px;gap:13px}.home-logos{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.home-logos img{height:24px}.footer{padding:40px var(--pad) 105px}.footer-top{font-size:9px}.footer-top>span{font-size:10px}.talk-button{font-size:20vw;padding:23px 0 24px;letter-spacing:-.085em}.talk-button>span{font-size:15vw}.footer-info{grid-template-columns:1fr;gap:25px;padding:28px 0 33px}.footer-info>div{gap:8px;font-size:12px}.footer-info>div:first-child>a:first-child{font-size:20px}.footer-info>div:last-child{flex-direction:row;gap:23px;font-size:11px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:18px;font-size:9px}.footer-bottom details{grid-column:1/-1;grid-row:2}.floating-contact{position:fixed;z-index:18;right:19px;bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:28px;padding:14px 22px;border-radius:50px;background:var(--ink);color:var(--paper);border:1px solid #ffffff35;font-size:13px;box-shadow:0 5px 20px #0002;transition:transform .25s}.floating-contact span{color:var(--mint)}body.dialog-open .floating-contact,body.menu-open .floating-contact{display:none}dialog{width:100%;height:100svh;margin:0;max-width:none}.dialog-bar{height:66px;padding:0 23px}.close-dialog{font-size:9px;gap:14px}.close-dialog i{font-size:30px}#dialog-label{font-size:10px}.detail-wrap{padding:35px 23px 70px}.detail-wrap h2{font-size:39px}.detail-lead{font-size:15px;line-height:1.8;margin:25px 0 30px}.about-metrics{grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.about-metrics strong{font-size:50px}.about-metrics span{font-size:11px}.date-note{margin-bottom:42px}.detail-subhead{font-size:25px;margin-top:35px}.detail-note{font-size:12px}.logo-grid{grid-template-columns:repeat(3,1fr);gap:28px 20px;margin:30px 0}.logo-grid img{height:27px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin:35px 0}.steps li{font-size:14px}.steps span{margin-bottom:15px}.detail-actions{gap:25px;margin-top:30px}.detail-pagination{font-size:11px;margin-top:45px}.project-layout{grid-template-columns:1fr;gap:25px;margin-top:30px}.gallery-frame{aspect-ratio:1.15}.project-description dd{font-size:14px}.project-description dt{font-size:10px}.contact-layout{padding:35px 23px 60px;gap:40px}.contact-heading h2{font-size:45px}.contact-heading h2 br{display:block}.contact-heading h2 em{margin-left:0}.contact-heading>p{font-size:13px}.contact-heading>a{font-size:14px}.contact-heading .preview-notice{font-size:10px}.contact_text{font-size:17px}.contact_half{grid-template-columns:1fr;gap:0}.check_list label{font-size:10px;padding:9px 12px}.contact_label{font-size:11px}.contact_item{margin-top:23px}}
.work-grid{scrollbar-width:none}.work-grid::-webkit-scrollbar{display:none}
@media(min-width:651px){.expertise-side{position:sticky;top:115px;height:fit-content}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Selected work: full artwork, a restrained horizontal rhythm. */
.work{scroll-margin-top:110px}.work-carousel{position:relative}.work-grid{position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin:0;padding:0 0 10px}.work-card,.work-card:nth-child(n){flex:0 0 calc((100% - 48px)/3);margin-top:0;scroll-snap-align:start}.work-image,.work-image.city{aspect-ratio:4/3;background:#e7e5df;isolation:isolate}.work-image img,.work-image.city img,.work-card:hover .work-image img,.work-card:hover .work-image.city img{object-fit:contain;transform:none;filter:none;transition:none}.work-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0d0d1009;pointer-events:none}.view-tag{left:auto;top:auto;bottom:12px;right:12px;font-size:10px;padding:12px 16px;transform:translateY(6px)}.work-card:hover .view-tag,.work-card:focus-visible .view-tag{transform:translateY(0)}.work-caption{padding-top:20px;transition:transform .35s}.work-caption>span{font-size:10px;margin:0 0 10px;letter-spacing:.01em;color:#78727e}.work-caption h3{font-size:21px;line-height:1.35;word-break:keep-all}.work-caption p{font-size:12px;color:#77717e;line-height:1.65;margin:10px 0 0}.work-caption i{top:39px;transition:transform .35s}.work-card:hover .work-caption i{transform:translate(3px,-3px)}.work-controls{display:flex;align-items:center;gap:22px;padding-top:27px;color:#78727e;font-size:11px}.work-controls>button{font-size:11px;padding:10px 0}.work-controls [data-work-count]{font-variant-numeric:tabular-nums;min-width:78px}.work-progress{height:1px;background:#d0ccc9;flex:1;position:relative;overflow:hidden}.work-progress i{position:absolute;inset:0;background:var(--purple);transform:scaleX(0);transform-origin:left}.work-arrows{display:flex;gap:10px}.work-arrows button{width:44px;height:44px;border:1px solid #c5c0c8;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--ink);transition:background .25s,transform .25s}.work-arrows button:hover{background:var(--mint);transform:translateY(-2px)}.gallery-frame{aspect-ratio:4/3;overflow:visible}.gallery-frame img{max-height:none;object-fit:contain}.site-header,.section-top,.service-item,.work-card,.detail-wrap{scroll-margin-top:100px}
@media(max-width:1000px) and (min-width:651px){.work-card,.work-card:nth-child(n){flex-basis:calc((100% - 24px)/2)}.service-item h3{font-size:clamp(28px,4.1vw,43px)}}
@media(max-width:650px){.work-grid{margin-right:-23px;padding-right:23px;gap:16px}.work-card,.work-card:nth-child(n){flex:0 0 86%;margin-top:0}.work-image{aspect-ratio:4/3}.work-caption h3{font-size:20px}.work-caption p{font-size:12px}.work-controls{gap:13px;padding-top:19px}.work-progress{display:none}.work-controls [data-work-count]{margin-right:auto;font-size:10px;min-width:0}.work-controls>button{font-size:10px}.work-arrows{gap:7px}.work-arrows button{width:39px;height:39px}.view-tag{display:none}.work{scroll-margin-top:92px}.service-item h3{font-size:29px}.gallery-frame{aspect-ratio:1}.expertise-side h2{font-size:49px}}
.work-image,.work-image.city{aspect-ratio:auto;background:transparent}
.work-image img,.work-image.city img{height:auto;object-fit:contain}
.work-image:after{display:none}
.gallery-frame{aspect-ratio:auto;display:block;background:transparent}
.gallery-frame img{position:static;width:100%;height:auto;max-height:none;object-fit:contain}
.work-image.is-letterboxed{aspect-ratio:1;overflow:hidden}
.work-image.is-letterboxed img,.work-card:hover .work-image.is-letterboxed img{height:100%;object-fit:cover;transform:scale(1.75)!important}
.gallery-frame.is-letterboxed{aspect-ratio:16/9;overflow:hidden;position:relative}
.gallery-frame.is-letterboxed img{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%)}
@media(min-width:1500px){.work-card,.work-card:nth-child(n){flex-basis:calc((100% - 72px)/4)}}
.site-header nav a,.site-header nav button{font-size:14px}.section-top h2{font-size:clamp(48px,5.8vw,86px);line-height:1.08;letter-spacing:-.055em}.section-top h2 em{margin-left:5vw}.expertise-side h2{font-size:clamp(35px,4.3vw,64px);line-height:1.15}.service-item h3{font-size:clamp(29px,3.3vw,48px);word-break:keep-all}.service-item p{font-size:14px;color:#b9b6c1}.work-caption>span{font-size:12px;color:#625d68}.work-caption p{font-size:14px;color:#625d68}.text-link{font-size:14px}.talk-button{font-size:clamp(62px,9vw,145px);letter-spacing:-.055em;line-height:1.2}.talk-button>span{font-size:8vw}.detail-note,.date-note{font-size:13px;color:#625d68}.detail-lead{color:#49464e}.detail-wrap .steps li{font-size:16px}
@media(max-width:650px){.section-top{display:block}.section-top h2{font-size:47px}.section-top>div{margin-top:22px}.section-top>div p{display:block;font-size:14px}.section-top .text-link{font-size:13px}.service-item h3{font-size:28px}.service-item p{font-size:13px}.talk-button{font-size:10.6vw}.talk-button>span{font-size:10vw}.work-caption p{font-size:13px}.work-caption>span{font-size:11px}.work-controls>button{font-size:12px}.work-controls [data-work-count]{font-size:11px}.expertise-side h2{font-size:39px}}
.home-logos,.logo-grid{align-items:center;justify-items:center}.home-logos img,.logo-grid img{width:auto;height:auto;max-width:min(100%,110px);max-height:26px;opacity:1;object-fit:contain}.home-logos{gap:28px;margin-top:38px}.logo-grid{gap:30px 22px}.home-logos img{filter:grayscale(1)}
@media(max-width:650px){.home-logos img,.logo-grid img{max-width:min(100%,92px);max-height:23px}.home-logos{gap:26px 22px}.section-top{display:flex}.section-top>div p{display:none}.section-top>div{margin-top:0}.section-top h2 em{margin-left:25px}}

/* 2026-10-08: readable type and a layered mobile hero composition. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-meta,.brand-line,.scroll-link>span,.motion-toggle{font-size:14px}
.motion-toggle{min-height:44px;color:#c5c3cc;letter-spacing:0}
.motion-toggle>span{font-size:16px}
.view-tag{font-size:14px}
.section-kicker,.eyebrow,.round-link,.partner-heading p,.partner-heading .text-link,
.footer-top,.footer-top>span,.footer-info>div,.footer-info .text-link,.footer-bottom,
#dialog-label,.close-dialog,.about-metrics span,.date-note,.detail-note,.steps span,
.detail-pagination,.gallery-controls,.project-description dt,.work-caption>span,
.work-controls,.work-controls>button,.work-controls [data-work-count]{font-size:14px}
.intro-lower p,.service-item p,.expertise-side>p,.project-description dd{font-size:16px;line-height:1.75}
.work-caption p{font-size:15px;line-height:1.65}
.service-no{font-size:14px;color:#c0bdc8}
.footer-info>div,.footer-bottom{line-height:1.65}
.footer-info a,.footer-info button,.footer-bottom summary,.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}
.detail-pagination button,.gallery-controls button,.close-dialog,.text-link{min-height:44px}
.dark-button{font-size:16px;min-height:48px}
.project-description dt,.detail-note,.date-note,.about-metrics span{color:#625d68}
.dialog-bar{gap:18px;height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}
#dialog-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}
.close-dialog{flex-shrink:0}
.detail-wrap h2,.service-item h3{overflow-wrap:anywhere}
.service-detail-meta{display:flex;align-items:center;gap:22px;margin-bottom:24px}
.service-line-icon{display:block;width:64px;height:64px;flex-shrink:0}
.service-detail-meta .eyebrow{font-size:14px;color:#625d68;letter-spacing:.06em}
@media(max-width:700px){
  :root{--pad:22px}
  html{scroll-padding-top:88px}
  .site-header,.site-header.is-scrolled{height:74px}
  .site-header nav{display:none}
  .brand img{width:121px}
  .menu-toggle{width:44px;height:44px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:7px}
  .menu-toggle i{width:26px;height:1px;background:var(--paper)}
  .menu-open .menu-toggle i:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-open .menu-toggle i:last-child{transform:translateY(-4px) rotate(-45deg)}
  .mobile-menu{padding:100px var(--pad) 32px;overflow-y:auto}
  .mobile-menu>a,.mobile-menu>button{font-size:36px;padding:16px 0}
  .mobile-menu p{position:static;margin-top:32px;font-size:14px;line-height:1.6}
  .hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;padding:104px var(--pad) 24px}
  .hero-meta{display:none}
  .hero-type{position:relative;top:auto;left:auto;right:auto;z-index:auto;flex-shrink:0}
  .hero-line,.hero-line.first{font-size:clamp(45px,14.4vw,88px);line-height:.95;letter-spacing:-.065em}
  .brand-line{height:30px;padding:0;font-size:14px;letter-spacing:.06em;color:#c8c5d0}
  .hero-line.second{font-size:clamp(36px,11.7vw,72px);line-height:1;letter-spacing:-.055em}
  .hero-line.first,.hero-line.second{animation:none}
  .sculpture{position:relative;left:auto;top:auto;align-self:flex-end;width:90%;height:clamp(264px,77vw,332px);flex-shrink:0;margin:clamp(-154px,-35vw,-112px) -26px 0 0}
  .sculpture-fallback{font-size:220px}
  .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;display:block;margin-top:-12px;padding-top:0}
  .hero-bottom h1{font-size:clamp(26px,7.2vw,38px);line-height:1.35;letter-spacing:-.05em;word-break:keep-all}
  .hero-right{margin-top:20px;display:flex;justify-content:flex-start}
  .hero-right p{display:none}
  .scroll-link{gap:12px;flex-direction:row-reverse;min-height:44px}
  .scroll-link>span{font-size:14px;letter-spacing:0}
  .scroll-link i{width:44px;height:44px;font-size:24px}
  .motion-toggle{position:relative;left:auto;right:auto;bottom:auto;align-self:flex-end;margin-top:-44px;padding:8px 0 8px 10px;font-size:14px;min-height:44px}
  .motion-toggle>span{font-size:16px}
  .intro{display:block;padding:40px var(--pad) 44px}
  .section-kicker{font-size:14px;gap:12px;margin-bottom:20px}
  .intro-body h2{font-size:clamp(29px,8.3vw,42px);line-height:1.3}
  .intro-lower{display:block;margin-top:20px}
  .intro-lower p{font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
  .intro-lower p br{display:none}
  .round-link{margin-top:20px;font-size:15px;gap:20px}
  .round-link i{width:48px;height:48px}
  .work{padding:0 var(--pad) 64px;scroll-margin-top:92px}
  .section-top{display:block;padding-top:26px;margin-bottom:28px}
  .section-top h2{font-size:clamp(42px,12vw,62px);line-height:1.08}
  .section-top h2 em{margin-left:24px}
  .section-top>div{margin-top:22px;gap:12px}
  .section-top>div p{display:block;font-size:16px;line-height:1.65}
  .section-top .text-link{font-size:15px;white-space:normal;gap:20px}
  .work-grid{margin-right:calc(-1 * var(--pad));padding-right:var(--pad);gap:16px}
  .work-card,.work-card:nth-child(n){flex:0 0 88%;margin-top:0}
  .work-caption{padding-top:18px}
  .work-caption>span{font-size:14px}
  .work-caption h3{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
  .work-caption p{font-size:15px;line-height:1.65}
  .work-controls{gap:12px;padding-top:20px;flex-wrap:wrap}
  .work-progress{display:none}
  .work-controls [data-work-count]{font-size:14px;margin-right:auto;min-width:0}
  .work-controls>button{font-size:14px;min-height:44px}
  .work-arrows{gap:8px}
  .work-arrows button{width:44px;height:44px}
  .view-tag{display:none}
  .expertise{display:block;padding:64px var(--pad)}
  .expertise-side{position:static}
  .eyebrow{font-size:14px}
  .expertise-side h2{font-size:clamp(32px,9vw,42px);line-height:1.14;margin-top:24px}
  .expertise-side>p{font-size:16px;line-height:1.75;margin-top:24px}
  .service-orbit{display:none}
  .service-list{margin-top:36px}
  .service-item{grid-template-columns:24px minmax(0,1fr) 24px;gap:12px;padding:26px 0}
  .service-no{font-size:14px;padding-top:5px}
  .service-item h3{font-size:clamp(25px,7vw,36px);line-height:1.15}
  .service-item h3 br{display:none}
  .service-item p{font-size:16px;line-height:1.7;margin-top:14px;word-break:keep-all;overflow-wrap:break-word}
  .service-arrow{font-size:26px}
  .partners{padding:42px var(--pad)}
  .partner-heading{gap:20px;flex-wrap:wrap}
  .partner-heading p,.partner-heading .text-link{font-size:14px}
  .home-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}
  .home-logos img,.logo-grid img{max-width:min(100%,92px);max-height:23px}
  .footer{padding:40px var(--pad) calc(100px + env(safe-area-inset-bottom))}
  .footer-top{display:block;font-size:15px;line-height:1.7}
  .footer-top>span{display:block;margin-top:14px;font-size:14px}
  .talk-button{font-size:clamp(56px,18vw,100px);padding:24px 0 28px;letter-spacing:-.055em}
  .talk-button>span{font-size:13vw}
  .footer-info{grid-template-columns:1fr;gap:24px;padding:24px 0 30px}
  .footer-info>div{font-size:15px;gap:4px}
  .footer-info>div:first-child>a:first-child{font-size:22px;overflow-wrap:anywhere}
  .footer-info>div:last-child{flex-direction:row;flex-wrap:wrap;gap:12px 24px;font-size:15px}
  .footer-info .text-link{font-size:15px}
  .footer-info p{line-height:1.75}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:14px;gap:18px}
  .footer-bottom details{grid-column:1/-1;grid-row:2}
  .floating-contact{position:fixed;z-index:18;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:24px;min-height:52px;padding:13px 22px;border-radius:50px;background:var(--ink);color:var(--paper);border:1px solid #ffffff45;font-size:16px;box-shadow:0 5px 20px #0002}
  body.hero-in-view .floating-contact,body.menu-open .floating-contact,body.dialog-open .floating-contact{display:none}
  dialog{width:100%;height:100svh;margin:0;max-width:none}
  .dialog-bar{min-height:72px;padding:12px var(--pad);gap:16px}
  #dialog-label,.close-dialog{font-size:14px}
  .close-dialog{gap:10px;min-height:44px}
  .detail-wrap{padding:32px var(--pad) 60px}
  .service-detail-meta{gap:18px;margin-bottom:22px}
  .service-line-icon{width:52px;height:52px}
  .detail-wrap h2{font-size:clamp(30px,8.5vw,44px);line-height:1.22;word-break:keep-all}
  .detail-lead{font-size:16px;line-height:1.8;margin:24px 0 32px}
  .about-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
  .about-metrics strong{font-size:44px}
  .about-metrics span,.date-note,.detail-note{font-size:14px;line-height:1.7}
  .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .steps li{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
  .steps span{font-size:14px;margin-bottom:14px}
  .detail-actions{gap:20px}
  .detail-pagination{font-size:14px;gap:16px}
  .project-layout{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .gallery-controls,.project-description dt{font-size:14px}
  .gallery-controls button{min-width:48px;min-height:44px}
  .project-description dd{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
}
@media(max-width:359px){
  :root{--pad:18px}
  .work-controls{gap:8px}
  .work-arrows{gap:6px}
  .service-item{gap:8px;grid-template-columns:22px minmax(0,1fr) 20px}
  .service-item h3{font-size:24px}
}

/* Reading order: customer, project title, supporting description. */
.work-caption .work-client{display:flex;align-items:baseline;gap:8px;margin:0 0 9px;padding:0;letter-spacing:0;line-height:1.55;word-break:keep-all;overflow-wrap:break-word}
.work-client>span{color:#716b78;font-size:14px;flex-shrink:0}
.work-client strong{font-size:15px;font-weight:600;color:#49444f}
.work-caption h3{font-size:22px;font-weight:650;line-height:1.4;letter-spacing:-.035em;padding-right:28px;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}
.work-caption p{font-size:15px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;max-width:34em}
.work-caption i{top:50px}
.work-controls{justify-content:flex-end;border-top:1px solid #d2d1cb;margin-top:24px;padding-top:14px}
.work-controls [data-work-count]{margin-right:auto}
.work-controls .work-progress{display:none}
.detail-project-client{display:flex;gap:8px;align-items:baseline;font-size:16px;line-height:1.6;margin:22px 0 12px;color:#4d4655;word-break:keep-all;overflow-wrap:break-word}
.detail-project-client>span{font-size:14px;color:#716b78;flex-shrink:0}
.detail-wrap h2,.detail-lead,.steps li,.service-item h3,.service-item p,.project-description dd{word-break:keep-all;overflow-wrap:break-word}
.nav-note{display:none}.menu-shade{display:none}
.detail-pagination button:disabled{visibility:hidden}
@media(max-width:700px){
 :root{--pad:20px}
 html{scroll-padding-top:80px}
 .site-header,.site-header.is-scrolled{height:64px;padding:0 var(--pad)}
 .brand img{width:116px}
 .menu-toggle{width:44px;height:44px;margin-right:-10px;gap:6px;border:0;border-radius:0;background:none}
 .menu-toggle i{width:22px;height:1.5px}
 .menu-open .menu-toggle i:first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-open .menu-toggle i:last-child{transform:translateY(-3.75px) rotate(-45deg)}
 .mobile-menu{position:fixed;inset:72px 16px auto;width:auto;height:auto;max-height:calc(100svh - 88px);padding:10px 20px;background:#19191d;border:1px solid #ffffff25;border-radius:8px;z-index:35;box-shadow:0 16px 40px #0005}
 .mobile-menu>a,.mobile-menu>button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 0;font-size:25px;line-height:1.25;letter-spacing:-.03em;border-bottom:1px solid #ffffff20;color:#f1f0eb}
 .mobile-menu>:last-of-type{border-bottom:0}.mobile-menu>p{display:none}
 .mobile-menu .nav-note{display:block;font-size:14px;line-height:1.5;letter-spacing:0;color:#b4aebb}
 .menu-open .menu-shade{display:block;position:fixed;inset:64px 0 0;background:#0007;z-index:24}
 .hero{padding-top:98px;padding-bottom:34px}
 .hero-bottom{margin-top:-8px}.hero-right{display:none}
 .hero-bottom h1{font-size:clamp(26px,7.2vw,34px);line-height:1.4}
 .intro-body h2{font-size:clamp(26px,7.2vw,34px);line-height:1.4;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
 .intro-lower p,.detail-lead,.expertise-side>p,.service-item p{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
 .section-top{display:block}.section-top>div{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.section-top>div p{display:none}
 .work-card,.work-card:nth-child(n){flex-basis:92%}
 .work-caption h3{font-size:22px;line-height:1.4;overflow-wrap:break-word}
 .work-caption .work-client{font-size:15px}.work-client>span{font-size:14px}.work-client strong{font-size:15px}
 .work-caption p{font-size:15px;margin-top:10px;line-height:1.7}
 .work-caption i{top:49px;font-size:22px}
 .work-controls{margin-top:22px;padding-top:12px;gap:16px}
 .service-item h3{font-size:clamp(25px,7.2vw,32px);word-break:normal;overflow-wrap:normal;text-wrap:balance}
 .detail-wrap h2{font-size:clamp(28px,7.8vw,36px);line-height:1.35;overflow-wrap:break-word;text-wrap:balance}
 .service-detail h2{word-break:normal}.detail-wrap h2 br{display:none}
 .detail-pagination{gap:8px;font-size:14px}.detail-pagination button{font-size:14px;word-break:keep-all}
 .detail-pagination>span{white-space:nowrap}
 .project-description dd,.steps li{overflow-wrap:break-word}
 .floating-contact{right:16px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;padding:11px 18px;gap:14px;font-size:15px}
 body.reading-down .floating-contact{visibility:hidden;pointer-events:none}
 .footer-bottom{display:flex;flex-wrap:wrap;gap:12px}.footer-bottom details{width:100%}
}
@media(max-width:359px){:root{--pad:18px}.steps{grid-template-columns:1fr}.work-caption h3{font-size:20px}}

/* One button language: filled primary, outlined secondary, visible project action. */
:root{--action:#7040ba;--action-hover:#583092;--action-soft:#eee6f8;--action-border:#ad93cd}
.round-link,.text-link,.dark-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:auto;max-width:100%;min-height:48px;padding:12px 20px;border:1px solid var(--action);border-radius:6px;font-size:15px;font-weight:600;line-height:1.45;letter-spacing:-.015em;white-space:normal;word-break:keep-all;text-align:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.round-link,.dark-button{background:var(--action);color:#fff}
.text-link{background:transparent;border-color:var(--action-border);color:#61369d}
.round-link>i,.text-link>span,.dark-button>span{display:none}
.round-link:hover,.dark-button:hover,.text-link:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff}
.intro-lower{align-items:center}.intro-lower .round-link{flex-shrink:0}
.section-top .text-link,.partner-heading .text-link,.footer-info .text-link{font-size:15px}
.detail-actions{gap:12px}.detail-actions .text-link,.detail-actions .dark-button{min-height:48px}
.work-grid{align-items:stretch}.work-card{display:flex;flex-direction:column;align-self:stretch;cursor:pointer}
.work-image{flex-shrink:0}.work-caption{display:flex;flex-direction:column;flex:1;padding:18px 0 0}
.work-caption .work-client{min-height:24px;margin-bottom:8px}
.work-client strong,.detail-project-client strong{font-size:16px;font-weight:700;color:#7040ba}
.work-caption h3{padding-right:0;text-wrap:pretty}.work-caption p{flex:1}
.work-caption i{display:none}
.work-caption>.project-action{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;width:auto;margin:18px 0 0;padding:10px 16px;border:1px solid var(--action-border);border-radius:6px;background:transparent;color:#61369d;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:0;transition:background .18s,color .18s,border-color .18s}
.work-card:hover .project-action,.work-card:focus-visible .project-action{background:var(--action);border-color:var(--action);color:#fff}
.work-controls>button{border:1px solid var(--action-border);background:transparent;color:#61369d;border-radius:6px;min-width:44px;min-height:44px}
.work-controls>button:hover{background:var(--action);border-color:var(--action);color:#fff}
@media(max-width:700px){
 .intro-lower .round-link{margin-top:22px}.section-top>div{align-items:flex-start}
 .round-link,.text-link,.dark-button{min-height:48px;padding:12px 18px;font-size:15px}
 .work-client strong{font-size:16px}.work-caption h3{padding-right:0}
 .detail-actions{align-items:stretch}.detail-actions>*{flex:1 1 145px}
}

/* Existing platform popups and logged-in banner. */
#hd_pop{z-index:1000;position:absolute;left:0;top:0;margin:0 auto;width:100%;height:0}
#hd_pop h2{position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops{position:absolute;background:#fff}
.hd_pops img{max-width:100%}
.hd_pops_con{}
.hd_pops_footer{padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after{display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button{padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject{background:#000;text-align:left}
.hd_pops_footer .hd_pops_close{background:#393939;position:absolute;top:0;right:0}
#hd_login_msg{position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}

/* 2026-10-12: all hero copy stays in front of the rotating CB sculpture. */
.hero .hero-type,.hero .hero-meta{z-index:3}
.hero .sculpture{z-index:2}
/* FAQ (SEO/AEO) */
.faq{padding:110px var(--pad) 115px;display:grid;grid-template-columns:1fr 2fr;gap:50px;border-top:1px solid var(--line)}
.faq-body h2{font-size:clamp(32px,3.6vw,56px);font-weight:500;letter-spacing:-.06em;line-height:1.19;word-break:keep-all}
.faq-list{margin-top:44px;border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;font-size:22px;line-height:1;color:var(--purple);transition:transform .3s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary h3{font-size:19px;font-weight:500;letter-spacing:-.035em;line-height:1.45;word-break:keep-all}
.faq-list summary:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.faq-list p{padding:0 48px 28px 0;margin-top:-6px;color:#666666;font-size:15px;line-height:1.8;letter-spacing:-.02em;word-break:keep-all}
@media(max-width:1000px){.faq{grid-template-columns:1fr 2.4fr;gap:30px;padding-top:90px;padding-bottom:90px}}
@media(max-width:650px){.faq{display:block;padding:65px var(--pad) 70px}.faq .section-kicker{margin-bottom:30px}.faq-body h2{font-size:31px}.faq-list{margin-top:30px}.faq-list summary{padding:21px 0;gap:16px}.faq-list summary h3{font-size:16px}.faq-list p{font-size:14px;padding-right:0}}

/* 그누보드 화면낭독기 전용 글자 숨김 (팝업 없음 안내 등) */
.sound_only{display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
