:root{
  --bg:#0b0e10;--bg2:#101519;--bg3:#151b1f;--panel:#12171b;--paper:#e8e5dc;
  --text:#f1efe8;--muted:#9aa5a3;--line:rgba(239,242,237,.14);--line2:rgba(239,242,237,.26);
  --acid:#b7ff3c;--cyan:#57d7ff;--orange:#ff8b54;--black:#07090a;
  --max:1480px;--pad:clamp(22px,4vw,72px);--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --sans:Inter,"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
}
@view-transition{navigation:auto}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden;word-break:keep-all}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:var(--acid);color:#111}
.wrap{width:min(var(--max),100%);margin:auto;padding-inline:var(--pad)}.wrap-left{padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.mono{font-family:var(--mono);letter-spacing:.04em}.section{position:relative;padding:clamp(100px,10.5vw,170px) 0}.section-id{font-size:10px;letter-spacing:.15em;color:#7e8a88;margin-bottom:34px}.section-id::before{content:"";display:inline-block;width:36px;height:1px;background:var(--acid);vertical-align:middle;margin-right:12px}.huge{font-size:clamp(48px,6.5vw,100px);line-height:.91;letter-spacing:-.063em;margin:0;font-weight:760}.huge em{font-style:normal;color:var(--acid)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}
.scroll-progress{position:fixed;left:0;top:0;height:2px;background:var(--cyan);width:0;z-index:160}
.site-header{position:fixed;inset:0 0 auto;z-index:120;height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right));border-bottom:1px solid transparent;transition:.3s}.site-header.is-scrolled{background:rgba(11,14,16,.82);backdrop-filter:blur(18px);border-color:var(--line)}.brand{display:flex;align-items:center;width:max-content;gap:5px;font-weight:800;letter-spacing:-.04em}.brand__slash{font-size:12px;color:var(--acid);margin-right:3px}.brand__name{font-size:17px}.brand__lab{font-size:10px;color:#7b8785;letter-spacing:.12em;margin-left:3px}.nav{display:flex;gap:30px;font-size:9px;color:#8d9896}.nav a{padding:8px 0;position:relative}.nav a::after{content:"";position:absolute;left:0;right:100%;height:1px;bottom:2px;background:var(--acid);transition:.25s}.nav a:hover{color:#fff}.nav a:hover::after{right:0}.phone-link{justify-self:end;font-size:10px;border:1px solid var(--line2);padding:12px 14px;background:rgba(255,255,255,.02)}.phone-link span{color:var(--acid);margin-left:10px}
.nav-toggle{display:none;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--line2);background:rgba(255,255,255,.02);cursor:pointer;padding:0}
.nav-toggle span{display:block;width:18px;height:1px;background:var(--text);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:130;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:130px 28px 40px;background:rgba(7,10,11,.97);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),visibility .4s;overflow-y:auto}
.mobile-nav.is-open{opacity:1;visibility:visible;transform:none}
.mobile-nav a{font-family:var(--sans);font-size:24px;letter-spacing:-.02em;color:var(--text);padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.mobile-nav a:active{color:var(--acid)}
.mobile-nav__call{margin-top:24px;color:var(--acid)!important;font-family:var(--mono)!important;font-size:15px!important;letter-spacing:.04em;border-bottom:0!important}
body.nav-open{overflow:hidden}
@media(min-width:1101px){.mobile-nav{display:none}}
@media(max-width:1100px){.nav-toggle{display:flex}}
@media(max-width:720px){.mobile-nav{padding:110px 22px 32px}.mobile-nav a{font-size:20px;padding:14px 0}}
@media(prefers-reduced-motion:reduce){.mobile-nav{transition:none}.nav-toggle span{transition:none}}
.hero{position:relative;min-height:100svh;padding-top:94px;display:grid;grid-template-columns:56% 44%;overflow:hidden;background:radial-gradient(circle at 13% 35%,rgba(87,215,255,.07),transparent 28%),var(--bg);border-bottom:1px solid var(--line)}.hero__grid{position:absolute;inset:0 44% 0 0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 98%)}.hero__left{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding-right:5vw;padding-top:36px;padding-bottom:72px}.hero__meta{font-size:9px;color:#87928f;margin-bottom:34px}.hero__meta span{color:var(--acid);margin-left:18px}.hero__title{font-size:clamp(70px,7.5vw,122px);line-height:.82;letter-spacing:-.075em;margin:0;font-weight:830}.hero__title span{display:block}.hero__title .outline{color:transparent;-webkit-text-stroke:1px rgba(241,239,232,.62)}.hero__copy{font-size:clamp(14px,1.25vw,19px);line-height:1.7;color:#aab3b0;margin:29px 0 0}.hero__actions{display:flex;align-items:center;gap:28px;margin-top:30px}.primary{display:flex;align-items:center;justify-content:space-between;min-width:220px;padding:15px 16px;background:var(--acid);color:#0b0e10;font-family:var(--mono);font-size:9px;font-weight:750;letter-spacing:.1em}.text-link{font-size:9px;color:#8f9997;border-bottom:1px solid #5a6462;padding-bottom:4px}.text-link:hover{color:var(--cyan);border-color:var(--cyan)}
.hero__visual{position:relative;z-index:2;min-height:calc(100svh - 94px);padding:clamp(20px,2.8vw,42px) var(--pad) clamp(24px,3.5vw,54px) 0;display:flex;align-items:center}.hero__photo{position:relative;width:100%;height:clamp(560px,76vh,850px);overflow:hidden;border-left:1px solid var(--line2);border-bottom:1px solid var(--line2);clip-path:polygon(8% 0,100% 0,100% 93%,91% 100%,0 100%,0 9%)}.hero__photo img{filter:saturate(.92) contrast(1.03) brightness(.82)}.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(9,12,14,.35),transparent 45%),linear-gradient(0deg,rgba(8,11,13,.5),transparent 38%)}.photo-index{position:absolute;left:18px;bottom:17px;z-index:3;font-size:7px;letter-spacing:.13em;color:#e6ebe4}
.hero__facts{position:absolute;right:calc(var(--pad) + 16px);bottom:34px;z-index:5;display:flex;gap:24px;background:rgba(8,11,13,.82);border:1px solid var(--line);padding:16px 20px;backdrop-filter:blur(10px)}.hero__facts div{display:flex;flex-direction:column;gap:6px}.hero__facts strong{font-size:16px;color:#fff;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.hero__facts span{font-size:9px;color:#7c8885;font-family:var(--mono);letter-spacing:.02em;white-space:nowrap}
.hero__scroll{position:absolute;left:var(--pad);bottom:23px;z-index:5;font-size:7px;color:#6f7a78;display:flex;gap:11px;align-items:center}.hero__scroll i{width:44px;height:1px;background:#4c5654;overflow:hidden;position:relative}.hero__scroll i::after{content:"";position:absolute;width:14px;height:1px;background:var(--acid);animation:scrollLine 1.7s linear infinite}@keyframes scrollLine{from{left:-15px}to{left:45px}}
.manifesto{background:#0d1113}.manifesto__layout{display:grid;grid-template-columns:1.45fr .55fr;gap:8vw;align-items:end}.manifesto__layout .huge{max-width:1000px}.manifesto__layout .huge em{color:transparent;-webkit-text-stroke:1px var(--acid)}.manifesto__side p{margin:0;color:#9fa9a7;line-height:1.9;font-size:14px}.manifesto__terminal{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;flex-direction:column;gap:8px;font-size:8px;color:#777f7d}.manifesto__terminal .ok{color:var(--acid)}
.build{background:var(--bg)}.build__rows{border-top:1px solid var(--line)}.build-row{position:relative;display:grid;grid-template-columns:70px 1.15fr .9fr 220px;align-items:center;gap:28px;min-height:145px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s;padding:0 10px 0 0;overflow:hidden}.build-row:hover{background:linear-gradient(90deg,rgba(183,255,60,.06),transparent 72%);padding-left:8px}.build-row__num{font-size:9px;color:#677270}.build-row h3{font-size:clamp(30px,3.3vw,50px);letter-spacing:-.055em;margin:0;font-weight:700}.build-row p{font-size:13px;color:#8e9996;margin:0;line-height:1.6}
.build-row__tags{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.build-row__tags b{font-weight:600;font-size:9px;letter-spacing:.06em;color:#8c9895;border:1px solid var(--line2);padding:8px 10px;white-space:nowrap;transition:color .25s,border-color .25s}.build-row:hover .build-row__tags b{color:var(--acid);border-color:rgba(183,255,60,.4)}
.photo-break{position:relative;height:min(78vh,780px);min-height:570px;overflow:hidden}.photo-break__image{position:absolute;inset:-7%}.photo-break__image img{filter:saturate(.9) contrast(1.05) brightness(.72)}.photo-break__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,11,.88) 0%,rgba(7,10,11,.28) 48%,rgba(7,10,11,.18)),linear-gradient(0deg,rgba(8,11,12,.55),transparent 45%)}.photo-break__caption{position:absolute;z-index:2;left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));bottom:75px}.photo-break__caption small{font-size:8px;color:var(--acid);letter-spacing:.12em}.photo-break__caption strong{display:block;font-size:clamp(43px,5.8vw,88px);line-height:.93;letter-spacing:-.055em;margin-top:15px}
.automation{background:linear-gradient(180deg,#0f1417,#0a0d0f)}.automation__intro{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.automation__intro>p{font-size:14px;line-height:1.9;color:#9ca6a3;margin:0 0 7px}
.engine{display:flex;align-items:stretch;gap:0;margin-top:75px;border:1px solid var(--line);background:#0b0f11;flex-wrap:wrap}
.engine-node{flex:1 1 220px;padding:32px 26px;border-right:1px solid var(--line)}.engine-node:last-child{border-right:0}
.engine-node span{font-size:10px;color:var(--acid);letter-spacing:.08em}
.engine-node b{display:block;margin-top:16px;font-size:19px;font-weight:600;letter-spacing:-.02em}
.engine-node p{margin:14px 0 0;font-size:13px;line-height:1.7;color:#8a9592}
.engine-arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;font-style:normal;color:#465350;font-size:16px}
.architecture{position:relative;min-height:900px;display:flex;align-items:flex-end;overflow:hidden;padding:0;background:#0a0d0f}.architecture__photo{position:absolute;inset:-5% 0 -5% 34%}.architecture__photo img{filter:saturate(.78) contrast(1.05) brightness(.72)}.architecture::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0d0f 0%,#0a0d0f 34%,rgba(10,13,15,.55) 55%,rgba(10,13,15,.12)),linear-gradient(0deg,rgba(8,11,12,.8),transparent 45%)}.architecture__content{position:relative;z-index:2;padding-bottom:90px}.architecture__content>span{display:block;font-size:8px;color:var(--acid);margin-bottom:22px}.architecture__content h2{font-size:clamp(70px,9vw,142px);line-height:.76;letter-spacing:-.07em;margin:0;font-weight:820}.architecture__content h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(241,239,232,.58)}.architecture__content p{max-width:530px;margin:36px 0 0;font-size:14px;line-height:1.9;color:#abb4b1}
.projects{background:#101416}.projects__head{display:grid;grid-template-columns:1.2fr .55fr;gap:8vw;align-items:end}.projects__head>p{font-size:13px;line-height:1.8;color:#899491;margin:0 0 7px}.projects .huge em{color:transparent;-webkit-text-stroke:1px rgba(183,255,60,.7)}.project-filter{display:flex;flex-wrap:wrap;gap:0;margin-top:66px;border-bottom:1px solid var(--line)}.project-filter button{appearance:none;background:transparent;border:0;border-bottom:1px solid transparent;color:#78827f;padding:12px 17px;margin-bottom:-1px;cursor:pointer;font-family:var(--mono);font-size:8px;letter-spacing:.09em}.project-filter button span{color:#56605e;margin-left:4px}.project-filter button.is-active,.project-filter button:hover{color:#fff;border-color:var(--acid)}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:90px 135px 1fr 110px;gap:22px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line);transition:.22s}.project-row:hover{padding-left:14px;background:linear-gradient(90deg,rgba(183,255,60,.05),transparent 58%)}.project-row[hidden]{display:none}.project-row time,.project-row .cat,.project-row .status{font-family:var(--mono);font-size:7px}.project-row time{color:#687370}.project-row .cat{color:var(--cyan);letter-spacing:.08em}.project-row h3{font-size:14px;font-weight:520;margin:0;letter-spacing:-.015em}.project-row .status{color:#6e7976;justify-self:end}.project-row .status::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--acid);margin-right:7px}
.process{background:#0b0f11}.process__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.process__copy p{font-size:14px;line-height:1.9;color:#909b98;max-width:500px;margin:34px 0 0}.process__visual{position:relative;height:720px;overflow:hidden;border:1px solid var(--line)}.process__visual>img{filter:saturate(.83) brightness(.76);object-position:center}.process__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,10,11,.72),transparent 55%)}.process__code{position:absolute;z-index:3;left:0;right:0;bottom:0;background:rgba(8,11,12,.78);backdrop-filter:blur(13px);border-top:1px solid var(--line);padding:0 18px}.process__code div{display:grid;grid-template-columns:34px 1fr 1fr;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.075);font-size:7px;color:#72807c}.process__code div:last-of-type{border-bottom:0}.process__code div span{color:#56615e}.process__code div b{color:#d8ddd8;font-weight:500}.process__code div em{font-style:normal;text-align:right;color:#77827f}.process__runner{position:absolute;left:17px;right:17px;height:1px;background:var(--acid);top:0;box-shadow:0 0 12px rgba(183,255,60,.35);animation:runner 8s ease-in-out infinite}@keyframes runner{0%,100%{top:0}50%{top:232px}}
.studio{background:#0f1315}.studio__heading{display:grid;grid-template-columns:.45fr 1fr;align-items:end;margin-bottom:62px}.studio__heading .section-id{margin:0 0 10px}.editorial-gallery{position:relative;display:grid;grid-template-columns:1.55fr .62fr;grid-template-rows:310px 310px;gap:14px}.editorial-gallery figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--line)}.gallery-main{grid-row:1/3}.editorial-gallery img{filter:saturate(.86) brightness(.8);transition:filter .5s,transform 1s cubic-bezier(.22,1,.36,1)}.editorial-gallery figure:hover img{transform:scale(1.025);filter:saturate(1) brightness(.9)}.editorial-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,10,11,.55),transparent 45%)}.editorial-gallery figcaption{position:absolute;left:14px;bottom:12px;z-index:2;font-size:7px;color:#e3e8e2;letter-spacing:.12em}
.contact{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:#080b0c}.contact__inner{position:relative;z-index:3}.contact__inner>h2{font-size:clamp(70px,9vw,145px);line-height:.78;letter-spacing:-.075em;margin:0;font-weight:840}.contact__inner>h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--acid)}.contact__inner>p{font-size:14px;line-height:1.8;color:#919c99;margin:35px 0 0}.contact__phone{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:22px;width:min(720px,100%);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:20px 0;margin-top:52px}.contact__phone small{font-size:8px;color:var(--acid);align-self:center}.contact__phone strong{font-size:clamp(38px,5vw,76px);letter-spacing:-.055em}.contact__phone>span{font-size:28px;color:var(--acid);align-self:center}.contact__area{margin-top:28px;font-size:11px;letter-spacing:.08em;color:var(--muted)}.contact__area a{color:inherit;text-decoration:underline}
.footer{border-top:1px solid var(--line);background:#07090a}.footer .wrap{display:grid;grid-template-columns:1fr auto auto;gap:25px;padding-top:21px;padding-bottom:21px;font-size:7px;color:#5d6865;letter-spacing:.1em}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto auto;column-gap:14px}.nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero__grid{inset:0}.hero__left{min-height:720px;padding-right:var(--pad);padding-top:130px}.hero__visual{min-height:auto;padding:0 var(--pad) 60px}.hero__photo{height:620px}.hero__facts{right:calc(var(--pad) + 14px);bottom:24px;flex-wrap:wrap;gap:14px 22px}.hero__scroll{display:none}.manifesto__layout,.automation__intro,.projects__head,.process__layout{grid-template-columns:1fr;gap:45px}.build-row{grid-template-columns:55px 1fr 1fr 160px}.engine{flex-wrap:wrap}.engine-node{flex-basis:calc(50% - 1px);border-bottom:1px solid var(--line)}.engine-arrow{display:none}.architecture__photo{inset:-4% -20% -4% 25%}.studio__heading{grid-template-columns:1fr;gap:25px}}
@media(max-width:720px){:root{--pad:20px}.scroll-progress{top:0}.site-header{height:60px;padding:0 18px}.phone-link{font-size:8px;padding:13px 14px}.brand__name{font-size:15px}.hero__left{min-height:690px;padding-top:120px}.hero__meta{font-size:7px;margin-bottom:24px}.hero__title{font-size:clamp(55px,17vw,82px);line-height:.85}.hero__copy{font-size:13px}.hero__actions{align-items:flex-start;flex-direction:column;gap:18px}.hero__visual{padding:0 20px 55px}.hero__photo{height:500px;clip-path:polygon(6% 0,100% 0,100% 95%,94% 100%,0 100%,0 6%)}.hero__facts{position:static;margin-top:16px;background:none;border:0;padding:0;backdrop-filter:none;flex-wrap:wrap;gap:16px 24px}.section{padding:86px 0}.section-id{margin-bottom:25px}.huge{font-size:clamp(43px,13vw,64px)}.manifesto__layout{gap:40px}.build-row{grid-template-columns:35px 1fr;gap:10px 15px;min-height:150px;padding:20px 0}.build-row h3{font-size:32px}.build-row p{grid-column:2;font-size:12px}.build-row__tags{grid-column:1/-1;justify-content:flex-start;margin-top:14px}.photo-break{height:670px}.photo-break__image{inset:-4% -35%}.photo-break__caption{left:20px;right:20px;bottom:55px}.photo-break__caption strong{font-size:45px}.automation__intro{gap:32px}.engine{margin-top:48px;flex-wrap:wrap}.engine-node{flex-basis:100%;border-right:0;border-bottom:1px solid var(--line)}.engine-node:last-child{border-bottom:0}.engine-arrow{display:none}.architecture{min-height:800px}.architecture__photo{inset:0 -70% 0 15%}.architecture::after{background:linear-gradient(90deg,#0a0d0f 0%,rgba(10,13,15,.83) 45%,rgba(10,13,15,.35)),linear-gradient(0deg,rgba(8,11,12,.85),transparent 50%)}.architecture__content{padding:0 20px 70px}.architecture__content h2{font-size:20vw}.architecture__content p{font-size:13px}.project-filter{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.project-filter button{white-space:nowrap}.project-row{grid-template-columns:65px 1fr;gap:8px 12px;padding:17px 2px}.project-row .cat{grid-column:2}.project-row h3{grid-column:1/-1;font-size:13px;line-height:1.45}.project-row .status{display:none}.process__visual{height:620px}.process__visual>img{object-position:58% center}.process__code div{grid-template-columns:28px 1fr}.process__code em{display:none}.studio__heading{margin-bottom:38px}.editorial-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:390px 250px 250px}.gallery-main{grid-row:auto}.contact{min-height:520px}.contact__inner>h2{font-size:19vw}.contact__phone{grid-template-columns:1fr auto;gap:12px}.contact__phone small{grid-column:1/-1}.contact__phone strong{font-size:12vw}.footer .wrap{grid-template-columns:1fr;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.parallax-media{transform:none!important}}

/* V4 interaction layer */
.section-id::before{transform-origin:left}.section-id.is-visible::before{animation:sectionLine 1s cubic-bezier(.22,1,.36,1) both}
@keyframes sectionLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nav a{transition:color .25s}.nav a:hover,.nav a.is-active{color:#fff}.nav a:hover::after,.nav a.is-active::after{right:0}
.nav a.is-active::before{content:"●";position:absolute;left:-11px;top:9px;color:var(--acid);font-size:5px}
.hero__title span{clip-path:inset(0 0 100% 0);transform:translateY(34px);transition:clip-path 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}
.hero__title span:nth-child(2){transition-delay:.11s}
.hero__title.is-visible span{clip-path:inset(0);transform:none}
.hero__photo img{transform:scale(1.055);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .5s}
.hero__photo:hover img{filter:saturate(1.02) contrast(1.04) brightness(.88);transform:scale(1.07)}
.project-result{display:flex;align-items:center;gap:7px;margin-top:18px;margin-bottom:12px;font-size:7px;color:#68736f}
.project-result>span{color:var(--acid)}
.project-row{animation:rowIn .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--row-index,0) * 24ms)}
@keyframes rowIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.editorial-gallery figure:hover img{transform:scale(1.03)}
::view-transition-old(root){animation:.18s ease both fadeOut}::view-transition-new(root){animation:.42s cubic-bezier(.22,1,.36,1) both fadeIn}@keyframes fadeOut{to{opacity:0}}@keyframes fadeIn{from{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero__title span{clip-path:none;transform:none}.project-row{animation:none}}

/* V4.2 typography and layout refinement */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(a,button):focus-visible{outline:2px solid var(--acid);outline-offset:5px}
.huge,.hero__title,.contact__inner>h2{text-wrap:balance}
.build-row h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px}
.build-row h3 small{color:#697571;font:500 7px var(--mono);letter-spacing:.08em;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s,color .3s}
.build-row:hover h3 small,.build-row:focus-visible h3 small{opacity:1;transform:none;color:var(--acid)}
.projects__head>p{max-width:520px}.manifesto__side{max-width:520px}.automation__intro>p{max-width:580px}
@media(max-width:720px){.build-row h3 small{display:block;width:100%;margin-top:8px;opacity:.7;transform:none}.build-row p{max-width:78%}.project-result{margin-top:14px}}

/* V4.3 wide system, readable microcopy and certification */
:root{--max:1628px;--pad:clamp(24px,3.2vw,64px)}
.hero{grid-template-columns:54% 46%}
.section-id{font-size:12px}
.nav{font-size:11px}.nav a{padding-inline:2px}
.phone-link{font-size:11px}
.hero__meta{font-size:11px}
.primary,.text-link{font-size:11px}
.photo-index{font-size:9px}
.build-row__num{font-size:10px}.build-row h3 small{font-size:9px}
.project-filter button{font-size:10px}.project-result{font-size:9px}
.project-row time,.project-row .cat,.project-row .status{font-size:9px}
.editorial-gallery figcaption,.footer .wrap{font-size:9px}
.hero__typing{display:flex;align-items:center;gap:9px;min-height:18px;margin:15px 0 0;color:#6f7b77;font-size:10px;letter-spacing:.08em}
.hero__typing strong{color:var(--cyan);font-weight:600;min-width:165px}
.hero__typing i{width:7px;height:12px;background:var(--acid);animation:typeCaret .72s step-end infinite}
@keyframes typeCaret{50%{opacity:0}}
.certification{position:relative;padding:clamp(95px,8vw,135px) 0;background:#e9e8df;color:#0a0d0f;overflow:hidden}
.certification__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:end}
.certification__intro>span{font-size:10px;letter-spacing:.13em;color:#66705f}
.certification__intro h2{margin:24px 0 0;font-size:clamp(45px,5vw,76px);line-height:.94;letter-spacing:-.06em;text-wrap:balance}
.certification__intro h2 em{font-style:normal;color:#4d6b18}
.certification__intro p{max-width:480px;margin:28px 0 0;color:#596056;font-size:15px;line-height:1.75}
.certification__cards{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(10,13,15,.28);border-left:1px solid rgba(10,13,15,.28)}
.iso-card{position:relative;min-height:320px;padding:30px;border-right:1px solid rgba(10,13,15,.28);border-bottom:1px solid rgba(10,13,15,.28);overflow:hidden;transition:background .35s,transform .35s}
.iso-card::before{content:"";position:absolute;inset:auto -30% -70% 22%;height:280px;border:1px solid rgba(10,13,15,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(10,13,15,.035),0 0 0 84px rgba(10,13,15,.025);transition:transform .7s cubic-bezier(.22,1,.36,1)}
.iso-card:hover{background:#f2f1e9;transform:translateY(-5px)}.iso-card:hover::before{transform:scale(1.08) rotate(12deg)}
.iso-card>span{font-size:10px;letter-spacing:.1em;color:#596056}
.iso-card strong{position:relative;display:block;margin-top:72px;font-size:clamp(40px,4.2vw,67px);letter-spacing:-.06em;font-weight:780}
.iso-card strong b{color:#4d6b18;font-weight:780}
.iso-card p{position:relative;margin:12px 0 0;font-size:15px;font-weight:600}
.iso-card>i{position:absolute;left:30px;bottom:27px;font-size:9px;font-style:normal;color:#4f5a4b}
@media(max-width:720px){:root{--pad:20px}.hero{grid-template-columns:1fr}.section-id{font-size:10px}.hero__meta{font-size:9px}.certification__layout{grid-template-columns:1fr;gap:52px}.certification__cards{grid-template-columns:1fr}.iso-card{min-height:260px}.iso-card strong{margin-top:48px}.hero__typing{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero__typing i{animation:none}.iso-card,.iso-card::before{transition:none}}
.manifesto__terminal{font-size:10px}
.process__code{font-size:9px}
.contact__phone small{font-size:10px}

/* Project archive detail system */
body.modal-open{overflow:hidden}
.project-row{cursor:pointer}.project-row:focus-visible{position:relative;z-index:2;background:rgba(183,255,60,.055);outline:1px solid var(--acid);outline-offset:-1px}
.project-row .status{transition:color .25s,transform .25s}.project-row:hover .status{transform:translateX(3px)}
.project-modal{position:fixed;z-index:9000;inset:0;display:flex;justify-content:flex-end}
.project-modal[hidden]{display:none}
.project-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,5,6,.72);opacity:0;backdrop-filter:blur(0);cursor:pointer;transition:opacity .38s,backdrop-filter .38s}
.project-dialog{position:relative;width:min(1240px,88vw);height:100%;display:flex;flex-direction:column;background:#e9e8df;color:#0b0e10;border-left:1px solid rgba(255,255,255,.22);box-shadow:-35px 0 90px rgba(0,0,0,.3);transform:translateX(104%);transition:transform .52s cubic-bezier(.22,1,.36,1)}
.project-modal.is-open .project-modal__backdrop{opacity:1;backdrop-filter:blur(9px)}
.project-modal.is-open .project-dialog{transform:none}
.project-dialog__head{flex:0 0 76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,58px);border-bottom:1px solid rgba(11,14,16,.2)}
.project-dialog__head>span{font-size:10px;letter-spacing:.12em;color:#5a6259}
.project-dialog__close{border:0;background:transparent;padding:12px 0;color:#0b0e10;font-size:10px;letter-spacing:.08em;cursor:pointer}
.project-dialog__close:hover{color:#4d6b18}
.project-dialog__body{flex:1;overflow:auto;padding:clamp(38px,5vw,72px) clamp(24px,5vw,76px) 65px;overscroll-behavior:contain}
.project-dialog__meta{display:flex;flex-wrap:wrap;gap:10px 30px;font-size:10px;color:#596158}
.project-dialog__meta span:last-child{margin-left:auto;color:#4d6b18}
.project-dialog h2{max-width:1000px;margin:29px 0 0;font-size:clamp(42px,5vw,76px);line-height:.98;letter-spacing:-.058em;text-wrap:balance}
.project-dialog__lead{max-width:850px;margin:27px 0 0;font-size:clamp(17px,1.35vw,21px);line-height:1.7;color:#485047;font-weight:520}
.project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:58px;background:rgba(11,14,16,.2);border:1px solid rgba(11,14,16,.2)}
.project-detail-grid article{min-height:310px;padding:30px;background:#e9e8df}
.project-dialog small{font-size:10px;letter-spacing:.11em;color:#596158}
.project-detail-grid h3{margin:45px 0 16px;font-size:24px;letter-spacing:-.035em}
.project-detail-grid p,.project-detail-grid li,.project-detail-lower li{font-size:15px;line-height:1.8;color:#525a51}
.project-detail-grid ul,.project-detail-lower ul{list-style:none;margin:0;padding:0}
.project-detail-grid li,.project-detail-lower li{position:relative;padding:10px 0 10px 19px;border-bottom:1px solid rgba(11,14,16,.13)}.project-detail-grid li::before,.project-detail-lower li::before{content:"+";position:absolute;left:0;color:#4d6b18;font-family:var(--mono)}
.project-system{margin-top:1px;padding:28px 30px 34px;background:#101516;color:#f1efe8}
.project-system>span{font-size:10px;color:#8b9692;letter-spacing:.12em}
.project-system>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}
.project-system>div>span{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 18px;border:1px solid rgba(255,255,255,.16);font-size:10px;color:var(--acid)}
.project-system span i{color:#68736f;font-style:normal;font-size:18px}
.project-detail-lower{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1px;background:rgba(11,14,16,.2);border-inline:1px solid rgba(11,14,16,.2);border-bottom:1px solid rgba(11,14,16,.2)}
.project-detail-lower article{min-height:245px;padding:30px;background:#e9e8df}
.project-detail-lower small{display:block;margin-bottom:30px}
.project-tags{display:flex;flex-wrap:wrap;gap:8px}
.project-tags b{padding:10px 12px;border:1px solid rgba(11,14,16,.22);font-size:9px;font-weight:600;color:#343b34}
.project-detail-lower ul{list-style:none;margin:0;padding:0}
.project-detail-lower li{font-size:14px;padding-block:7px}
.project-dialog__note{margin:24px 0 0;color:#70776f;font-size:9px;line-height:1.6}
.project-dialog__foot{flex:0 0 90px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:0 clamp(24px,5vw,76px);background:var(--acid);border-top:1px solid rgba(11,14,16,.2)}
.project-dialog__foot a{display:flex;align-items:center;gap:28px;width:max-content}
.project-dialog__foot a span{font-size:9px}.project-dialog__foot strong{font-size:24px;letter-spacing:-.04em}
.project-dialog__foot>span{font-size:9px;color:#384329}
@media(max-width:720px){.project-dialog{width:100vw}.project-dialog__head{flex-basis:64px}.project-dialog__body{padding:28px 20px 45px}.project-dialog__meta{font-size:9px;gap:7px 16px}.project-dialog__meta span:last-child{width:100%;margin-left:0}.project-dialog h2{font-size:39px}.project-dialog__lead{font-size:15px}.project-detail-grid,.project-detail-lower{grid-template-columns:1fr}.project-detail-grid article{min-height:auto;padding:25px}.project-detail-grid h3{margin-top:34px}.project-system{padding:25px 20px}.project-system>div{grid-template-columns:1fr 1fr}.project-system>div>span{min-height:62px}.project-system span i{display:none}.project-detail-lower article{min-height:auto;padding:25px}.project-dialog__foot{min-height:102px;grid-template-columns:1fr;padding-block:16px;gap:8px}.project-dialog__foot a{justify-content:space-between;width:100%}.project-dialog__foot>span{display:none}}
@media(prefers-reduced-motion:reduce){.project-modal__backdrop,.project-dialog{transition:none}}

/* V4.4 mobile pass: corrects font sizes the wide-typography rules above
   silently overrode on small screens, adds touch feedback, safe-area */
body{padding-bottom:env(safe-area-inset-bottom)}
@media(pointer:coarse){
  .primary:active,.service-primary:active,.text-link:active,.service-text:active{opacity:.75}
  .build-row:active,.project-row:active,.service-cases li:active{background:linear-gradient(90deg,rgba(183,255,60,.09),transparent 72%)}
  .iso-card:active{background:#f2f1e9;transform:translateY(-3px)}
  .scope-card:active{background:linear-gradient(135deg,rgba(183,255,60,.08),transparent 64%);transform:translateY(-3px)}
  .phone-link:active,.service-call:active,.contact__phone:active,.service-contact__call:active,.nav-toggle:active{background:rgba(183,255,60,.14)}
}
@media(max-width:720px){
  .phone-link{font-size:9px}
}

/* FAQ / SEO supplemental info accordion — shared across all pages */
.faq-section{padding:clamp(84px,9vw,150px) 0}
.faq-section .service-heading p,.faq-section .faq-intro{color:var(--muted);max-width:64ch;margin:0 0 42px;font-size:15px;line-height:1.7}
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 2px;font-size:clamp(15px,1.5vw,18px);font-weight:600;color:var(--text);transition:color .25s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary:hover,.faq-item[open] summary{color:var(--acid)}
.faq-item summary:focus-visible{outline:2px solid var(--acid);outline-offset:6px}
.faq-item summary .faq-q{display:flex;gap:14px;align-items:baseline}
.faq-item summary .faq-q i{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.04em}
.faq-toggle{flex:none;width:20px;height:20px;position:relative}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%)}
.faq-toggle::before{width:13px;height:1.5px}
.faq-toggle::after{width:1.5px;height:13px;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.faq-item[open] .faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg) scale(0)}
.faq-answer{padding:0 2px 30px;max-width:70ch}
.faq-answer p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.75}
.faq-answer p+p{margin-top:10px}
@media(max-width:720px){
  .faq-item summary{padding:20px 2px;font-size:14.5px}
  .faq-answer{padding-bottom:22px}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.build__intro{margin-bottom:64px}
.project-picks{margin-top:18px;line-height:2}
.footer .wrap{grid-template-columns:auto 1fr auto auto}.footer__links{display:flex;flex-wrap:wrap;gap:6px 16px}.footer__links a{color:inherit}.footer__links a:hover{color:var(--acid)}
@media(max-width:720px){.build__intro{margin-bottom:40px}.footer .wrap{grid-template-columns:1fr}}
.hero__h1{margin:26px 0 0;font-size:clamp(17px,1.6vw,24px);font-weight:700;letter-spacing:-.02em;line-height:1.35;color:var(--text)}
@media(max-width:720px){.hero__h1{font-size:16px;margin-top:20px}}
.biz-info{grid-column:1/-1;flex-basis:100%;margin:10px 0 0;font-size:10px;color:var(--muted);letter-spacing:.02em}.biz-info a{color:inherit}
