:root{--paper: #faf7f3;--paper-2: #f3ebf1;--paper-3: #e8dde6;--card: #ffffff;--ink: #17111f;--ink-soft: #4c4358;--muted: #776d82;--line: rgba(23, 17, 31, .12);--line-strong: rgba(23, 17, 31, .26);--brand: #e92bbb;--brand-soft: #fbe3f6;--brand-ink: #a8128c;--plum: #4d136f;--plum-deep: #2c0b40;--dark: #150a1e;--dark-2: #0e0615;--light: #fbf7f4;--star: #b0793d;--display: "Bricolage Grotesque", "Archivo", "Helvetica Neue", sans-serif;--sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video{max-width:100%;display:block;height:auto}a{color:inherit}button,input,textarea,select{font:inherit}.wrap{width:min(1280px,100% - clamp(2rem,6vw,6rem));margin-inline:auto}.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}.skip-link{position:absolute;top:-64px;left:16px;z-index:120;padding:10px 16px;background:var(--ink);color:var(--light);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:14px}:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.site-header{position:fixed;inset:0 0 auto;z-index:70;border-bottom:1px solid transparent;transition:background-color .35s ease,border-color .35s ease}.site-header.is-stuck{background-color:#faf7f3eb;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05);border-bottom-color:var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}.brand-mark{display:flex;padding:5px;background:#fff;border:1px solid var(--line)}.brand-mark img{width:30px;height:30px}.brand-text{display:flex;flex-direction:column;gap:3px;line-height:1}.brand-name{font-family:var(--display);font-size:1rem;font-weight:600;letter-spacing:-.015em}.brand-sub{font-family:var(--mono);font-size:.53rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.site-nav{display:flex;gap:clamp(16px,2.2vw,34px);margin-left:auto}.nav-link{position:relative;padding:6px 0;font-size:.86rem;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color .25s ease}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-link:hover,.nav-link.is-active{color:var(--ink)}.nav-link.is-active:after,.nav-link:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:10px;flex:none}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-strong);color:var(--ink);cursor:pointer}.menu-bars{position:relative;display:block;width:16px;height:9px}.menu-bars span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .28s ease}.menu-bars span:first-child{top:0}.menu-bars span:last-child{bottom:0}.menu-toggle[aria-expanded=true] .menu-bars span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bars span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu{position:fixed;inset:80px 0 0;z-index:69;display:flex;flex-direction:column;justify-content:space-between;padding:20px clamp(20px,6vw,40px) 40px;background:var(--paper);overflow-y:auto;animation:menuIn .28s cubic-bezier(.2,.7,.2,1)}.mobile-menu nav{display:flex;flex-direction:column}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.9rem;font-weight:500;letter-spacing:-.03em;text-decoration:none}.mobile-nav-link svg{color:var(--brand)}.mobile-nav-link.is-active{color:var(--brand-ink)}.mobile-menu-contact{display:flex;flex-direction:column;gap:14px;margin-top:32px}.mobile-phone{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;text-decoration:none}.mobile-menu-contact p{margin:0;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@keyframes menuIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.section{padding-block:clamp(64px,8vw,120px)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.eyebrow .idx{color:var(--brand-ink);font-weight:500}.eyebrow-invert{color:#fbf7f48c}.eyebrow-invert .idx{color:var(--brand)}.h2{margin:0 0 16px;font-family:var(--display);font-size:clamp(1.85rem,3.2vw,2.75rem);font-weight:600;line-height:1.04;letter-spacing:-.035em;text-wrap:balance;color:inherit}.h2 .accent{color:var(--brand-ink)}.display{margin:0 0 24px;font-family:var(--display);font-size:clamp(2.6rem,5.4vw,4.8rem);font-weight:600;line-height:.98;letter-spacing:-.045em;text-wrap:balance}.display em,.page-title em,.cta-title em{font-style:normal;color:var(--brand-ink)}.section-lead{margin:0;max-width:58ch;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.62;color:var(--ink-soft)}.section-lead-invert{color:#fbf7f4a8}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(36px,4.5vw,60px)}.section-head-main{max-width:62ch}.section-head-invert{color:var(--light)}.section-head-action{padding-bottom:6px}.prose{margin:0 0 16px;max-width:62ch;font-size:1rem;line-height:1.72;color:var(--ink-soft)}.prose-lead{font-size:1.1rem;color:var(--ink)}.mono-index{margin:0 0 10px;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--brand-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.35rem;border:1px solid transparent;font-family:var(--sans);font-size:.86rem;font-weight:600;letter-spacing:.005em;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--ink);color:var(--light)}.btn-primary:hover{background:var(--plum)}.btn-ghost{border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink);background:#17111f0a}.btn-light{border-color:#fbf7f459;color:var(--light)}.btn-light:hover{background:#fbf7f414;border-color:var(--light)}.btn-sm{padding:.7rem 1rem;font-size:.8rem}.btn-block{width:100%;justify-content:space-between}.btn-plus{margin-left:2px}.arrow{transition:transform .25s ease}.btn:hover .arrow,.link-arrow:hover .arrow,.svc-link:hover .arrow{transform:translate(2px,-2px)}.link-arrow{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--line-strong);font-size:.84rem;font-weight:600;color:var(--ink);text-decoration:none;transition:color .25s ease,border-color .25s ease}.link-arrow:hover{color:var(--brand-ink);border-color:var(--brand-ink)}.stars{display:inline-flex;gap:2px;color:var(--star)}.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);flex:none}.hero{padding-top:clamp(120px,16vh,180px);padding-bottom:clamp(40px,5vw,72px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(32px,5vw,76px);align-items:center}.hero-copy .eyebrow{margin-bottom:20px}.hero-lead{margin:0 0 30px;max-width:46ch;font-size:clamp(1.04rem,1.3vw,1.16rem);line-height:1.6;color:var(--ink-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem;color:var(--ink-soft)}.trust-rating{display:inline-flex;align-items:center;gap:8px;flex:none}.trust-list{flex:1 1 260px;min-width:0}.hero-trust strong{color:var(--ink);font-weight:600}.hero-figure{margin:0}.hero-media{position:relative;z-index:0}.hero-media:after{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--brand);z-index:-1}.hero-frame{position:relative;width:100%;overflow:hidden;background:var(--paper-3)}.hero-frame img{width:100%;height:100%;object-fit:cover}.hero-caption{display:flex;justify-content:space-between;gap:12px;margin-top:30px;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.marquee{overflow:hidden;background:var(--plum);color:var(--light);padding:14px 0}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee-group{display:flex;align-items:center}.marquee-item{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.marquee-plus{color:var(--brand)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:start}.statement{margin:0;max-width:20ch;font-family:var(--display);font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}.statement em{font-style:normal;color:var(--brand-ink)}.intro-side{padding-top:30px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-top:26px}.stat-value{margin:0 0 8px;font-family:var(--display);font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:600;letter-spacing:-.045em;line-height:1}.stat-label{margin:0;max-width:26ch;font-size:.84rem;line-height:1.5;color:var(--muted)}.section-services{background:var(--paper-2)}.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}.svc-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);transition:border-color .35s ease,box-shadow .35s ease}.svc-card:hover{border-color:var(--line-strong);box-shadow:0 18px 40px -30px #17111f73}.svc-media{aspect-ratio:4 / 3;overflow:hidden;background:var(--paper-3)}.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.svc-card:hover .svc-media img{transform:scale(1.04)}.svc-body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2vw,28px)}.svc-title{margin:0 0 10px;font-family:var(--display);font-size:clamp(1.2rem,1.5vw,1.4rem);font-weight:600;letter-spacing:-.025em}.svc-text{margin:0 0 22px;font-size:.93rem;line-height:1.6;color:var(--ink-soft)}.svc-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);text-decoration:none}.svc-link:hover{color:var(--brand-ink)}.works-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}.work{margin:0}.work-lg{grid-column:span 7}.work-sm{grid-column:span 5}.work-md{grid-column:span 6}.work-media{height:clamp(240px,27vw,380px);overflow:hidden;background:var(--paper-3)}.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.work:hover .work-media img{transform:scale(1.035)}.work figcaption{display:grid;gap:3px;margin-top:12px}.work-name{font-size:.92rem;font-weight:600;letter-spacing:-.01em}.work-meta{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section-dark{background:var(--dark);color:var(--light)}.section-dark .h2{color:var(--light)}.credibility{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start}.credibility .section-lead{margin:18px 0 30px}.cred-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(251,247,244,.18)}.cred-list li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(251,247,244,.18);transition:color .25s ease}.cred-list li:hover{color:var(--brand)}.cred-name{font-size:.98rem;font-weight:500}.cred-value{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--brand)}.studio-teaser{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}.portrait-panel{position:relative;background:linear-gradient(160deg,var(--plum) 0%,var(--plum-deep) 100%);overflow:hidden}.portrait-panel img{width:100%;height:auto;object-fit:cover;mix-blend-mode:normal}.portrait-label{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:3px;padding:10px 14px;background:#150a1eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--light)}.portrait-label span:first-child{font-size:.82rem;font-weight:600}.portrait-label span:last-child{font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:#fbf7f4a8}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 26px;padding:0}.tag-list li{padding:6px 12px;border:1px solid var(--line-strong);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.section-reviews{background:var(--paper-2)}.reviews-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(28px,4vw,44px)}.rating-block{display:flex;align-items:flex-end;gap:18px;padding-left:22px;border-left:1px solid var(--line-strong)}.rating-value{margin:0;font-family:var(--display);font-size:clamp(2.8rem,5vw,4.2rem);font-weight:600;line-height:.82;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.rating-note{margin:8px 0 0;max-width:26ch;font-family:var(--mono);font-size:.54rem;line-height:1.65;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.review-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.review-card{display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2.2vw,30px);background:var(--paper-2)}.review-card blockquote{margin:0;font-size:1rem;line-height:1.6;color:var(--ink);text-wrap:pretty}.review-card footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.review-name{font-size:.84rem;font-weight:600}.review-meta{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,34px)}.post-card{display:flex;flex-direction:column}.post-card-media{display:block;aspect-ratio:16 / 9;overflow:hidden;background:var(--paper-3);margin-bottom:14px}.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.post-card:hover .post-card-media img{transform:scale(1.04)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.post-title{margin:0 0 8px;font-family:var(--display);font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600;line-height:1.18;letter-spacing:-.025em;text-wrap:balance}.post-title a{text-decoration:none}.post-title a:hover{color:var(--brand-ink)}.post-excerpt{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cta{background:var(--brand);color:var(--ink);padding-block:clamp(48px,6vw,84px)}.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.cta-eyebrow{margin:0 0 10px;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#17111fb3}.cta-title{margin:0;max-width:22ch;font-family:var(--display);font-size:clamp(1.8rem,3.4vw,3rem);font-weight:600;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.cta-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.cta .btn-primary{background:var(--ink);color:var(--light)}.cta .btn-primary:hover{background:#0b0510}.cta-phone{font-family:var(--display);font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;text-decoration:none;border-bottom:2px solid rgba(23,17,31,.5);padding-bottom:2px}.cta-phone:hover{border-color:var(--ink)}.page-hero{padding-top:clamp(120px,15vh,172px);padding-bottom:clamp(28px,4vw,52px)}.page-title{margin:0 0 22px;max-width:22ch;font-family:var(--display);font-size:clamp(2.3rem,4.9vw,4.3rem);font-weight:600;line-height:.99;letter-spacing:-.045em;text-wrap:balance}.page-lead{margin:0;max-width:60ch;font-size:clamp(1.04rem,1.25vw,1.15rem);line-height:1.62;color:var(--ink-soft)}.page-meta{margin-top:28px}.bim-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}.bim-list li{display:grid;grid-template-columns:64px minmax(0,.9fr) minmax(0,1.6fr);gap:24px;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--line);transition:padding-left .3s ease,background-color .3s ease}.bim-list li:hover{padding-left:14px;background:#e92bbb0a}.bim-index{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--brand-ink);padding-top:6px}.bim-title{margin:0;font-family:var(--display);font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:600;letter-spacing:-.025em;line-height:1.15}.bim-text{margin:0;max-width:60ch;font-size:.98rem;line-height:1.62;color:var(--ink-soft)}.section-design{background:var(--paper-2)}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}.design-card{background:var(--card);border:1px solid var(--line)}.design-media{aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-3)}.design-media img{width:100%;height:100%;object-fit:cover}.design-body{padding:clamp(18px,2vw,26px)}.design-body h3{margin:0 0 8px;font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-.025em}.design-body p{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink-soft)}.method{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}.method-aside .section-head{display:block;margin-bottom:26px}.method-aside{position:sticky;top:112px}.method-steps{list-style:none;margin:0;padding:0}.method-steps li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:20px;padding:26px 0 30px;border-top:1px solid rgba(251,247,244,.18)}.method-steps li:last-child{border-bottom:1px solid rgba(251,247,244,.18)}.step-index{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--brand);padding-top:6px}.step-title{margin:0;font-family:var(--display);font-size:clamp(1.14rem,1.5vw,1.32rem);font-weight:600;letter-spacing:-.02em}.step-text{margin:8px 0 0;max-width:48ch;font-size:.97rem;line-height:1.65;color:#fbf7f4a8}.bio-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,76px);align-items:start}.bio-copy .prose:last-of-type{margin-bottom:28px}.bio-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,48px);margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.list-title{margin:0 0 14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.check-list li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.45;color:var(--ink-soft)}.check-list li:before{content:"+";position:absolute;left:0;top:-1px;color:var(--brand-ink);font-weight:600}.exp-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.exp-list li{display:grid;gap:1px;padding-bottom:10px;border-bottom:1px solid var(--line)}.exp-role{font-size:.88rem;font-weight:600}.exp-company{font-size:.82rem;color:var(--ink-soft)}.exp-period{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.section-projects{background:var(--paper-2)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,26px);align-items:start}.project-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line)}.project-0{grid-column:span 7}.project-1{grid-column:span 5}.project-2{grid-column:span 4}.project-3{grid-column:span 8}.project-4{grid-column:span 12}.project-media{overflow:hidden;background:var(--paper-3)}.project-media img{width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-media img{transform:scale(1.03)}.project-2 .project-media img{aspect-ratio:4 / 3}.project-4 .project-media img{aspect-ratio:21 / 9}.project-body{padding:clamp(18px,2vw,26px)}.project-body h3{margin:0 0 4px;font-family:var(--display);font-size:clamp(1.1rem,1.4vw,1.28rem);font-weight:600;letter-spacing:-.025em;line-height:1.15}.project-place{margin:0 0 10px;font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink)}.project-text{margin:0;max-width:62ch;font-size:.9rem;line-height:1.58;color:var(--ink-soft)}.intl-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(251,247,244,.18)}.intl-list li{display:grid;grid-template-columns:132px minmax(0,1fr) 150px;gap:clamp(16px,2.4vw,32px);align-items:center;padding:18px 0;border-bottom:1px solid rgba(251,247,244,.18);transition:background-color .3s ease}.intl-list li:hover{background:#fbf7f40a}.intl-thumb{aspect-ratio:3 / 2;overflow:hidden;background:#fbf7f414}.intl-thumb img{width:100%;height:100%;object-fit:cover;opacity:.9}.intl-thumb-empty{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1rem;color:var(--brand)}.intl-body h3{margin:0 0 4px;font-family:var(--display);font-size:1.08rem;font-weight:600;letter-spacing:-.02em}.intl-body p{margin:0;max-width:62ch;font-size:.86rem;line-height:1.55;color:#fbf7f49e}.intl-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:#fbf7f480}.intl-value{color:var(--brand);font-size:.68rem}.featured-post{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,3.6vw,48px);align-items:center;padding-bottom:clamp(36px,4vw,56px);margin-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}.featured-media{display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-3)}.featured-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.featured-post:hover .featured-media img{transform:scale(1.03)}.featured-title{margin:0 0 14px;font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.featured-title a{text-decoration:none}.featured-title a:hover{color:var(--brand-ink)}.featured-excerpt{margin:0 0 20px;max-width:52ch;font-size:.98rem;line-height:1.6;color:var(--ink-soft)}.article-header{padding-top:clamp(116px,14vh,164px)}.article-head{max-width:980px;margin-inline:auto}.breadcrumb{text-decoration:none;color:var(--brand-ink)}.breadcrumb:hover{text-decoration:underline}.article-title{margin:0 0 20px;font-family:var(--display);font-size:clamp(2rem,4.2vw,3.6rem);font-weight:600;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}.article-dek{margin:0 0 32px;max-width:62ch;font-size:clamp(1.05rem,1.3vw,1.18rem);line-height:1.6;color:var(--ink-soft)}.article-cover{margin:0 0 clamp(32px,4vw,56px);overflow:hidden;background:var(--paper-3)}.article-cover img{width:100%;aspect-ratio:16 / 8;object-fit:cover}.article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;padding-bottom:clamp(48px,6vw,80px)}.article-toc{position:sticky;top:108px;padding-top:4px}.toc-title{margin:0 0 12px;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.article-toc ol{margin:0;padding:0 0 0 18px;display:grid;gap:10px;border-left:1px solid var(--line);list-style:none}.article-toc a{font-size:.82rem;line-height:1.35;color:var(--ink-soft);text-decoration:none}.article-toc a:hover{color:var(--brand-ink)}.article-body{max-width:68ch}.article-body>p{margin:0 0 18px;font-size:1.04rem;line-height:1.75;color:var(--ink)}.article-body h2{margin:42px 0 14px;font-family:var(--display);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:600;letter-spacing:-.03em;line-height:1.12;scroll-margin-top:100px}.article-body h3{margin:30px 0 10px;font-family:var(--display);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.article-body ul{margin:0 0 20px;padding-left:20px;display:grid;gap:8px}.article-body li{font-size:1.02rem;line-height:1.65;color:var(--ink)}.article-author{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:start;margin:44px 0 28px;padding:22px;background:var(--paper-2);border:1px solid var(--line)}.article-author img{width:84px;height:84px;object-fit:cover;object-position:50% 20%;background:var(--plum)}.author-name{margin:0 0 4px;font-weight:600}.author-role{margin:0 0 10px;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}.article-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin-top:36px;padding:clamp(22px,3vw,32px);background:var(--brand);color:var(--ink)}.article-cta .cta-eyebrow{margin-bottom:8px}.article-cta-title{margin:0 0 6px;font-family:var(--display);font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;line-height:1.15}.article-cta-text{margin:0;max-width:46ch;font-size:.9rem;line-height:1.55}.article-cta-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.article-cta .cta-phone{color:var(--ink)}.section-related{background:var(--paper-2)}.related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(24px,3vw,40px)}.related-social{display:flex;align-items:center;gap:10px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.not-found{padding-top:clamp(140px,18vh,200px);padding-bottom:clamp(80px,10vw,140px)}.not-found .page-lead{margin-bottom:28px}.section-contact{padding-top:clamp(24px,3vw,40px)}.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,5vw,76px);align-items:start}.contact-label{margin:0 0 6px;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.contact-phone{display:inline-block;margin-bottom:28px;font-family:var(--display);font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:600;letter-spacing:-.04em;text-decoration:none;border-bottom:2px solid var(--brand);line-height:1.1}.contact-list{margin:0 0 28px;border-top:1px solid var(--line)}.contact-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}.contact-list dt{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.contact-list dd{margin:0;font-size:.95rem;line-height:1.5}.contact-list a{text-decoration:none}.contact-list a:hover{color:var(--brand-ink)}.contact-social{margin-bottom:30px}.social-row{display:flex;flex-wrap:wrap;gap:8px}.social-row a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line-strong);font-size:.78rem;text-decoration:none;transition:border-color .25s ease,color .25s ease}.social-row a:hover{border-color:var(--brand-ink);color:var(--brand-ink)}.contact-form{padding:clamp(22px,3vw,38px);background:var(--card);border:1px solid var(--line)}.form-title{margin:0 0 6px;font-family:var(--display);font-size:1.2rem;font-weight:600;letter-spacing:-.025em}.form-intro{margin:0 0 24px;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-full{grid-column:1 / -1}.field>span{font-family:var(--mono);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field em{font-style:normal;text-transform:none;letter-spacing:0}.field input,.field select,.field textarea{width:100%;padding:8px 0 10px;border:0;border-bottom:1px solid rgba(23,17,31,.28);border-radius:0;background:transparent;color:var(--ink);font-size:.95rem;transition:border-color .25s ease,background-color .25s ease}.field select{cursor:pointer}.field textarea{min-height:90px;line-height:1.5;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9a92a3}.field input:hover,.field select:hover,.field textarea:hover{border-color:#17111f80}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-ink);background:#e92bbb0a}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid rgba(168,18,140,.5);outline-offset:2px}.contact-form .btn-block{margin-top:26px}.form-note{margin:14px 0 0;font-family:var(--mono);font-size:.54rem;line-height:1.75;letter-spacing:.04em;color:var(--muted)}.form-status{margin:14px 0 0;padding:12px 14px;border-left:2px solid var(--brand-ink);background:var(--brand-soft);font-size:.86rem;line-height:1.5}.section-map{background:var(--paper-2)}.map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:start}.map-grid .prose{margin:18px 0 26px}.address-card{padding:clamp(22px,3vw,34px);background:var(--dark);color:var(--light)}.address-label{margin:0 0 6px;font-family:var(--mono);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:#fbf7f480}.address-name{margin:0 0 8px;font-family:var(--display);font-size:1.3rem;font-weight:600;letter-spacing:-.025em}.address-text{margin:0 0 24px;font-size:.95rem;line-height:1.65;color:#fbf7f4cc}.address-text a{color:var(--light);text-decoration:none;border-bottom:1px solid rgba(251,247,244,.3)}.address-text a:hover{border-color:var(--brand)}.site-footer{background:var(--dark-2);color:#fbf7f4b3;padding-top:clamp(44px,5vw,68px);padding-bottom:26px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:38px;border-bottom:1px solid rgba(251,247,244,.12)}.footer-mark{display:inline-flex;padding:6px;background:#fff;margin-bottom:14px}.footer-mark img{width:34px;height:34px}.footer-name{margin:0;font-family:var(--display);font-size:1.05rem;font-weight:600;color:var(--light);letter-spacing:-.02em}.footer-legal{margin:4px 0 16px;font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:#fbf7f46b}.footer-address{margin:0 0 10px;font-size:.86rem;line-height:1.65}.footer-reg{margin:0;font-size:.78rem;color:#fbf7f473}.footer-label{margin:0 0 12px;font-family:var(--mono);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:#fbf7f46b}.footer-nav,.footer-contact,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.86rem}.footer-nav a,.footer-contact a,.footer-social a{color:#fbf7f4bd;text-decoration:none;transition:color .25s ease}.footer-nav a:hover,.footer-contact a:hover,.footer-social a:hover{color:var(--brand)}.footer-contact span{font-size:.78rem;color:#fbf7f473}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;font-family:var(--mono);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:#fbf7f466}.footer-bottom p{margin:0}.footer-legal-links{display:flex;flex-wrap:wrap;gap:16px}.footer-legal-links a{color:#fbf7f48c;text-decoration:none}.footer-legal-links a:hover{color:var(--light)}.mobile-cta{display:none}[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}[data-reveal].is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.marquee-track{animation:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1120px){.site-nav{display:none}.menu-toggle{display:inline-flex}.hero-grid,.intro-grid,.credibility,.studio-teaser,.bio-grid,.method,.contact-grid,.map-grid,.featured-post{grid-template-columns:1fr}.hero-figure{max-width:620px}.method-aside{position:static}.article-layout{grid-template-columns:1fr}.article-toc{position:static;padding-bottom:8px}.article-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;border-left:0;padding-left:0;gap:8px 24px}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:68;display:flex;gap:1px;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--dark)}.mobile-cta a{flex:1;padding:12px 8px;background:var(--paper);color:var(--ink);font-size:.82rem;font-weight:600;text-align:center;text-decoration:none}.mobile-cta a.is-wa{background:var(--brand);color:var(--ink)}.site-footer{padding-bottom:96px}}@media(max-width:900px){.svc-grid,.design-grid,.post-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.works-grid{grid-template-columns:1fr}.work-lg,.work-sm,.work-md{grid-column:span 1}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-0,.project-1,.project-2,.project-3,.project-4{grid-column:span 1}.project-4 .project-media img{aspect-ratio:16 / 9}.stats{grid-template-columns:1fr;gap:22px}.stat{display:flex;align-items:baseline;gap:20px}.stat-value{min-width:110px;margin:0}.intl-list li{grid-template-columns:100px minmax(0,1fr)}.intl-meta{grid-column:2;flex-direction:row;align-items:center;gap:12px}.footer-top{grid-template-columns:1fr 1fr}.article-toc{display:none}}@media(max-width:640px){.header-actions .btn{display:none}.svc-grid,.design-grid,.post-grid,.review-grid,.project-grid,.footer-top{grid-template-columns:1fr}.hero-trust .dot{display:none}.hero-trust span:last-child{flex-basis:100%}.hero-media:after{inset:10px -10px -10px 10px}.bim-list li{grid-template-columns:42px minmax(0,1fr);gap:6px 16px}.bim-text{grid-column:2}.method-steps li{grid-template-columns:1fr;gap:6px}.step-index{padding-top:0}.field-grid{grid-template-columns:1fr}.contact-list>div{grid-template-columns:1fr;gap:4px}.bio-lists{grid-template-columns:1fr}.rating-block{border-left:0;padding-left:0}.article-author{grid-template-columns:1fr}.article-cover img{aspect-ratio:16 / 10}.cta-actions{width:100%}}.band{position:relative;margin:0;background:var(--paper-3)}.band img{width:100%;aspect-ratio:21 / 9;object-fit:cover}.band-caption{position:absolute;left:clamp(20px,4vw,48px);bottom:clamp(16px,3vw,32px);margin:0;padding:8px 12px;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase}@media(max-width:640px){.band img{aspect-ratio:16 / 9}}@media(min-width:1121px){.bio-grid .portrait-panel{position:sticky;top:108px}}.page-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--line-strong);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;transition:border-color .25s ease,color .25s ease,background-color .25s ease}.chip:hover{border-color:var(--brand-ink);color:var(--brand-ink);background:#e92bbb0d}.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px)}.pillar-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);transition:border-color .35s ease,box-shadow .35s ease}.pillar-card:hover{border-color:var(--line-strong);box-shadow:0 22px 50px -38px #17111f80}.pillar-card.is-featured{border-color:#e92bbb73}.pillar-media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-3)}.pillar-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.pillar-card:hover .pillar-media img{transform:scale(1.04)}.pillar-index{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;background:#150a1ed1;color:var(--light);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em}.pillar-body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.2vw,30px)}.pillar-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.pillar-title{margin:0;font-family:var(--display);font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.partner-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--brand-soft);color:var(--brand-ink);font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.partner-tag:before{content:"";width:5px;height:5px;background:var(--brand)}.pillar-text{margin:0 0 16px;max-width:46ch;font-size:.95rem;line-height:1.6;color:var(--ink-soft)}.pillar-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:7px}.pillar-list li{position:relative;padding-left:16px;font-size:.84rem;line-height:1.4;color:var(--ink-soft)}.pillar-list li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:1px;background:var(--brand-ink)}.section-bim-band{background:var(--plum);color:var(--light);padding-block:clamp(48px,6vw,80px)}.section-bim-band .h2{color:var(--light);max-width:20ch}.section-bim-band .eyebrow,.section-bim-band .eyebrow .idx{color:#fbf7f499}.bim-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:end}.bim-band-copy .section-lead{color:#fbf7f4b8;margin-bottom:22px}.bim-band-copy .link-arrow{color:var(--light);border-color:#fbf7f466}.bim-band-copy .link-arrow:hover{color:var(--brand);border-color:var(--brand)}.service-section{padding-block:clamp(48px,6vw,88px)}.service-section-alt{background:var(--paper-2)}.service-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4.5vw,72px);align-items:center}.service-row.is-reverse .service-media{order:2}.service-media{margin:0;position:relative}.service-media-frame{overflow:hidden;background:var(--paper-3)}.service-media-frame img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.service-media-secondary{position:absolute;right:-14px;bottom:34px;width:38%;border:6px solid var(--paper);background:var(--paper);box-shadow:0 24px 50px -30px #17111f8c}.service-section-alt .service-media-secondary{border-color:var(--paper-2);background:var(--paper-2)}.service-media-secondary img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.service-caption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.service-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.service-index{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--brand-ink)}.service-heading .h2{margin:0;font-size:clamp(1.6rem,2.8vw,2.3rem)}.service-lead{margin:0 0 14px;max-width:40ch;font-family:var(--display);font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}.service-copy .prose{margin-bottom:22px}.service-list{list-style:none;margin:0 0 28px;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.service-list li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.45;color:var(--ink-soft)}.service-list li:before{content:"+";position:absolute;left:0;top:-1px;color:var(--brand-ink);font-weight:600}.section-bim{background:var(--paper-2)}.bim-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:start;margin-bottom:clamp(28px,4vw,44px)}.bim-head .section-head{margin-bottom:0}.bim-note{padding:22px 24px;background:var(--card);border:1px solid var(--line)}.bim-note-title{margin:0 0 8px;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink)}.bim-note p:last-child{margin:0;font-size:.9rem;line-height:1.6;color:var(--ink-soft)}@media(max-width:1120px){.bim-band,.bim-head{grid-template-columns:1fr}.service-row{grid-template-columns:1fr;gap:28px}.service-row.is-reverse .service-media{order:0}.service-media-secondary{position:relative;right:auto;bottom:auto;width:46%;margin:-18% 0 0 auto;border-color:var(--paper)}.service-section-alt .service-media-secondary{border-color:var(--paper-2)}}@media(max-width:900px){.pillar-grid{grid-template-columns:1fr}}@media(max-width:640px){.service-list{grid-template-columns:1fr}.service-media-secondary{width:62%;margin-top:-16%}.pillar-media{aspect-ratio:16 / 11}}
