*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--background:#131313;--surface:#131313;--surface-dim:#131313;--surface-bright:#393939;--surface-container-lowest:#0e0e0e;--surface-container-low:#1c1b1b;--surface-container:#201f1f;--surface-container-high:#2a2a2a;--surface-container-highest:#353534;--surface-variant:#353534;--on-surface:#e5e2e1;--on-surface-variant:#d1c5b4;--on-background:#e5e2e1;--primary:#e9c176;--primary-container:#c5a059;--on-primary:#412d00;--outline:#9a8f80;--outline-variant:#4e4639;--error:#ffb4ab}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,sans-serif;overflow-x:hidden}.display-lg{letter-spacing:-.02em;font-family:Noto Serif,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.1}.display-md{letter-spacing:-.01em;font-family:Noto Serif,serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:400;line-height:1.15}.headline-lg{font-family:Noto Serif,serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.3}.headline-md{font-family:Noto Serif,serif;font-size:1.4rem;font-weight:400;line-height:1.3}.label-md{letter-spacing:.12em;text-transform:uppercase;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:600}.label-sm{letter-spacing:.1em;text-transform:uppercase;font-family:Manrope,sans-serif;font-size:.65rem;font-weight:500}.body-lg{font-family:Manrope,sans-serif;font-size:1rem;font-weight:400;line-height:1.7}.blueprint-grid{position:relative}.blueprint-grid:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#e9c17608 1px,#0000 1px),linear-gradient(90deg,#e9c17608 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.nav{z-index:200;-webkit-backdrop-filter:blur(20px);background-color:#201f1fd9;border-bottom:1px solid #4e46394d;transition:background-color .3s;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1400px;height:72px;margin:0 auto;padding:0 48px;display:flex}.nav-logo{color:var(--on-surface);letter-spacing:.05em;font-family:Noto Serif,serif;font-size:1.25rem;font-weight:400;text-decoration:none}.nav-logo span{color:var(--primary)}.nav-links-desktop{align-items:center;gap:40px;list-style:none;display:flex}.nav-links-desktop a{letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant);font-family:Manrope,sans-serif;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links-desktop a:after{content:"";background-color:var(--primary);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links-desktop a:hover,.nav-links-desktop a.active{color:var(--on-surface)}.nav-links-desktop a:hover:after,.nav-links-desktop a.active:after{width:100%}.nav-links-mobile{display:none}.nav-menu-trigger{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;align-items:flex-end;gap:4px;padding:4px 0;display:none;position:relative}.nav-menu-trigger-line{background-color:var(--on-surface);width:28px;height:1px;transition:width .3s,transform .3s,opacity .2s;display:block}.nav-menu-trigger-line[data-open=true]{width:20px;transform:rotate(45deg)translate(3px,3px)}.nav-menu-trigger-label{letter-spacing:.15em;text-transform:uppercase;color:var(--on-surface-variant);-webkit-user-select:none;user-select:none;font-family:Manrope,sans-serif;font-size:.6rem;font-weight:700;transition:color .2s}.nav-menu-trigger-label.is-open{color:var(--primary)}.nav-overlay{z-index:190;pointer-events:none;visibility:hidden;position:fixed;inset:0}.nav-overlay--open{pointer-events:all;visibility:visible}.nav-overlay-bg{background-color:var(--surface-container-lowest);opacity:0;transform-origin:top;transition:opacity .4s,transform .5s cubic-bezier(.76,0,.24,1);position:absolute;inset:0;transform:scaleY(0)}.nav-overlay--open .nav-overlay-bg{opacity:1;transform:scaleY(1)}.nav-overlay-inner{opacity:0;flex-direction:column;justify-content:center;padding:88px 24px 40px;transition:opacity .3s .2s;display:flex;position:absolute;inset:0}.nav-overlay--open .nav-overlay-inner{opacity:1}.nav-overlay-logo{height:72px;color:var(--on-surface);letter-spacing:.05em;align-items:center;font-family:Noto Serif,serif;font-size:1.25rem;font-weight:400;text-decoration:none;display:flex;position:absolute;top:0;left:24px}.nav-overlay-logo span{color:var(--primary)}.nav-overlay-links{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-overlay-item{opacity:0;transition:transform .55s cubic-bezier(.16, 1, .3, 1) calc(.15s + var(--i,0) * 70ms), opacity .4s ease calc(.15s + var(--i,0) * 70ms);overflow:hidden;transform:translateY(40px)}.nav-overlay--open .nav-overlay-item{opacity:1;transform:translateY(0)}.nav-overlay-link{color:var(--on-surface);border-bottom:1px solid #4e463933;align-items:baseline;gap:20px;padding:14px 0;text-decoration:none;transition:color .2s;display:flex;position:relative;overflow:hidden}.nav-overlay-link:before{content:"";background:var(--primary);width:0;height:1px;transition:width .4s;position:absolute;bottom:0;left:0}.nav-overlay-link:hover:before,.nav-overlay-link--active:before{width:100%}.nav-overlay-link:hover,.nav-overlay-link--active{color:var(--primary)}.nav-overlay-number{letter-spacing:.12em;color:var(--outline);flex-shrink:0;padding-top:4px;font-family:Manrope,sans-serif;font-size:.6rem;font-weight:600;transition:color .2s}.nav-overlay-link:hover .nav-overlay-number,.nav-overlay-link--active .nav-overlay-number{color:var(--primary)}.nav-overlay-label{letter-spacing:-.01em;font-family:Noto Serif,serif;font-size:clamp(2rem,10vw,3rem);font-weight:300;line-height:1}.nav-overlay-footer{opacity:0;border-top:1px solid #4e463933;justify-content:space-between;align-items:center;padding-top:20px;transition:opacity .3s .5s;display:flex;position:absolute;bottom:40px;left:24px;right:24px}.nav-overlay--open .nav-overlay-footer{opacity:1}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);color:var(--on-primary);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;align-items:center;gap:8px;padding:14px 32px;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{color:var(--on-surface);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--outline);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:8px;padding:13px 32px;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background-color:#e9c1760d}.btn-ghost{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:0;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.btn-ghost:hover{gap:12px}.section{padding:120px 0}.section-sm{padding:80px 0}.container{max-width:1400px;margin:0 auto;padding:0 48px}.hero-grid{background-color:var(--surface-container-lowest);grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero-text{z-index:1;isolation:isolate;flex-direction:column;justify-content:center;max-width:700px;padding:160px 64px 100px 48px;display:flex;position:relative;overflow:hidden}.hero-text:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 70% at 20%,#0e0e0e8c 0%,#0e0e0e33 55%,#0000 100%);position:absolute;inset:0}.hero-image-wrap{min-height:340px;position:relative;overflow:hidden}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:96px;display:grid}.about-image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.stats-grid{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.portfolio-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:64px;display:flex}.projects-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.filter-scroll{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.project-hero-bottom{grid-template-columns:1fr auto;align-items:flex-end;gap:48px;display:grid}.project-description-grid{grid-template-columns:1fr 2fr;align-items:start;gap:96px;display:grid}.project-gallery-grid{grid-template-columns:2fr 1fr;gap:2px;display:grid}.project-gallery-side{flex-direction:column;gap:2px;display:flex}.project-gallery-main{aspect-ratio:16/9;position:relative;overflow:hidden}.project-gallery-thumb{flex:1;min-height:180px;position:relative;overflow:hidden}.project-concept-grid{grid-template-columns:1fr 2fr;gap:96px;display:grid}.project-timeline-grid{gap:2px;display:grid}.more-projects-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.more-projects-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px;display:flex}.project-back-link{color:#e5e2e1b3;letter-spacing:.1em;text-transform:uppercase;z-index:2;align-items:center;gap:8px;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex;position:absolute;top:100px;left:48px}.project-back-link:hover{color:var(--on-surface)}.project-hero-year{color:#e9c17626;text-align:right;padding-bottom:8px;font-family:Noto Serif,serif;font-size:5rem;font-weight:300;line-height:1}.contact-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:96px;display:grid}.contact-form-row{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.team-hero-grid{background-color:var(--surface-container-lowest);grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative}.team-hero-image{min-height:480px;position:relative;overflow:hidden}.team-hero-info{z-index:1;flex-direction:column;justify-content:flex-end;padding:160px 64px 80px 48px;display:flex;position:relative}.team-bio-grid{grid-template-columns:1fr 2fr;align-items:start;gap:96px;display:grid}.team-project-card{background-color:var(--surface-container-low);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.team-publications-grid{grid-template-columns:1fr 2fr;gap:96px;display:grid}.team-others-grid{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.team-other-card{background-color:var(--surface-container-low);grid-template-columns:120px 1fr;transition:background-color .2s;display:grid;overflow:hidden}.about-values-grid{grid-template-columns:1fr 2fr;align-items:start;gap:96px;display:grid}.about-banner{height:520px;position:relative;overflow:hidden}.about-timeline-item{grid-template-columns:160px 1fr;gap:48px;margin-bottom:64px;display:grid;position:relative}.about-team-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.service-card{grid-template-columns:120px 1fr 1fr;align-items:start;gap:64px;margin-bottom:80px;padding-bottom:80px;display:grid}.service-card-border{border-bottom:1px solid var(--outline-variant)}.process-grid{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.card{background-color:var(--surface-container-low);transition:transform .3s;overflow:hidden}.card:hover{transform:translateY(-4px)}.card-image{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card:hover .card-image img{transform:scale(1.05)}.card-body{padding:28px}.input{background-color:var(--surface-container-lowest);width:100%;color:var(--on-surface);border:none;border-bottom:1px solid #4e463966;border-radius:0;outline:none;padding:16px 0;font-family:Manrope,sans-serif;font-size:.95rem;transition:border-color .3s}.input::placeholder{color:var(--outline)}.input:focus{border-bottom-color:var(--primary)}.input-group{margin-bottom:32px}.input-label{letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:8px;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600;display:block}textarea.input{resize:none;min-height:120px;padding:16px 0}.footer{background-color:var(--surface-container-lowest);border-top:1px solid #4e46394d;padding:64px 0 40px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;margin-bottom:64px;display:grid}.footer-logo{color:var(--on-surface);letter-spacing:.05em;margin-bottom:16px;font-family:Noto Serif,serif;font-size:1.4rem}.footer-logo span{color:var(--primary)}.footer-desc{color:var(--on-surface-variant);max-width:260px;font-size:.9rem;line-height:1.7}.footer-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:24px;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600}.footer-links{flex-direction:column;gap:12px;list-style:none;display:flex}.footer-links a{color:var(--on-surface-variant);font-size:.9rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid #4e463933;justify-content:space-between;align-items:center;padding-top:32px;display:flex}.footer-copy{color:var(--outline);letter-spacing:.04em;font-size:.8rem}.divider{background-color:var(--primary);width:40px;height:1px;margin:24px 0}.stat-item{border-left:1px solid var(--outline-variant);padding-left:32px}.stat-number{color:var(--primary);margin-bottom:8px;font-family:Noto Serif,serif;font-size:3rem;font-weight:300;line-height:1}.stat-label{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.page-hero{background-color:var(--surface-container-lowest);padding:180px 0 100px;position:relative;overflow:hidden}.page-hero .label-md{color:var(--primary);margin-bottom:20px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.8s forwards fadeUp}.fade-up-delay-1{opacity:0;animation-delay:.1s}.fade-up-delay-2{opacity:0;animation-delay:.2s}.fade-up-delay-3{opacity:0;animation-delay:.35s}.fade-up-delay-4{opacity:0;animation-delay:.5s}@media (max-width:900px){.nav-inner{padding:0 24px}.nav-menu-trigger{display:flex}.nav-links-desktop{display:none}.container{padding:0 20px}.section{padding:72px 0}.section-sm{padding:48px 0}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-text{max-width:100%;min-height:100svh;padding:120px 20px 64px}.hero-image-wrap{height:60vw;min-height:260px;max-height:460px}.about-grid{grid-template-columns:1fr;gap:40px}.about-image-wrap{aspect-ratio:16/9}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item{padding:24px 20px}.stat-number{font-size:2.25rem}.portfolio-grid{grid-template-columns:1fr;gap:2px}.portfolio-header{margin-bottom:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-bottom{text-align:center;flex-direction:column;gap:12px}.projects-grid{grid-template-columns:1fr}.project-hero-bottom{grid-template-columns:1fr;gap:16px}.project-hero-year{display:none}.project-back-link{top:88px;left:20px}.project-description-grid{grid-template-columns:1fr;gap:48px}.project-gallery-grid{grid-template-columns:1fr}.project-gallery-main{aspect-ratio:4/3}.project-gallery-side{flex-direction:row;height:180px}.project-gallery-thumb{min-height:unset;flex:1}.project-concept-grid{grid-template-columns:1fr;gap:40px}.project-timeline-grid{-webkit-overflow-scrolling:touch;padding-bottom:8px;overflow-x:auto;grid-template-columns:repeat(4,minmax(160px,1fr))!important}.more-projects-grid{grid-template-columns:1fr}.service-card{grid-template-columns:1fr;gap:28px;margin-bottom:48px;padding-bottom:48px}.process-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:56px}.contact-form-row{grid-template-columns:1fr;gap:0}.team-hero-grid{grid-template-columns:1fr;min-height:auto}.team-hero-image{height:70vw;min-height:280px;max-height:480px}.team-hero-info{justify-content:flex-start;padding:48px 20px 56px}.team-bio-grid{grid-template-columns:1fr;gap:48px}.team-project-card{grid-template-columns:1fr}.team-publications-grid{grid-template-columns:1fr;gap:40px}.team-others-grid{grid-template-columns:1fr}.team-other-card{grid-template-columns:96px 1fr}.about-values-grid{grid-template-columns:1fr;gap:40px}.about-banner{height:56vw;min-height:220px;max-height:380px}.about-timeline-item{grid-template-columns:80px 1fr;gap:24px;margin-bottom:40px}.about-team-grid{grid-template-columns:1fr}}@media (max-width:480px){.container{padding:0 16px}.section{padding:56px 0}.hero-text{padding:100px 16px 40px}.hero-image-wrap{height:72vw;min-height:220px}.stat-item{padding:20px 16px}.stat-number{font-size:2rem}.card-body{padding:20px}.hero-cta-group{flex-direction:column;width:100%}.hero-cta-group .btn-primary,.hero-cta-group .btn-secondary{justify-content:center;width:100%}.footer-grid{grid-template-columns:1fr;gap:32px}.filter-scroll button{padding:16px}.project-gallery-side{flex-direction:column;height:auto}.project-gallery-thumb{min-height:140px}.process-grid{grid-template-columns:1fr}.service-card{gap:20px;margin-bottom:36px;padding-bottom:36px}.about-timeline-item{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.about-banner{height:64vw;min-height:180px}.contact-success{padding:40px 24px}.team-hero-image{height:80vw;min-height:220px}.team-other-card{grid-template-columns:80px 1fr}.team-project-card>div:last-child{padding:28px 20px}}
