*{margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}@font-face{font-family:Bliss Pro;src:url(/assets/BlissPro-Regular-B9nUmUL5.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bliss Pro;src:url(/assets/BlissPro-Light-mLXel_n3.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Bliss Pro;src:url(/assets/BlissPro-Bold-NhpxNXOr.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--font-bliss:"Bliss Pro",sans-serif;font-family:var(--font-bliss);color:#050505;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f6f3;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-family:var(--font-bliss);background-color:#f7f6f3;margin:0}#root{min-height:100vh;font-family:var(--font-bliss)}a{color:inherit}button{background:0 0;border:none;font-family:inherit}.site-shell{color:#050505;min-height:100vh;font-family:var(--font-bliss);background:linear-gradient(#fdfdfc 0%,#f5f1eb 100%);position:relative;overflow:hidden}.intro-overlay{z-index:10;background:#000;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.intro-overlay--hidden{opacity:0;pointer-events:none;visibility:hidden}.intro-frame{background:#fff;border:2px solid #0a0a0a;border-radius:24px;width:400px;height:400px;transition:width 1.8s cubic-bezier(.77,0,.175,1),height 1.8s cubic-bezier(.77,0,.175,1),border-radius 1.4s;position:relative;overflow:hidden}.intro-frame--expanded{border-radius:0;width:100vw;height:100vh}.intro-logo{opacity:0;transition:opacity .4s .2s;position:absolute}.intro-logo--active{opacity:1}.intro-logo--left{width:clamp(50px,4.8vw,82px);top:36px;left:36px}.intro-logo--right{width:clamp(110px,12vw,180px);bottom:36px;right:36px}.main-content{opacity:0;padding:20px clamp(24px,5vw,80px) 80px;transition:opacity .9s,transform .9s;transform:translateY(32px)}.main-content--visible{opacity:1;transform:translateY(0)}.top-bar{grid-template-columns:auto 1fr auto;align-items:end;gap:16px clamp(24px,6vw,80px);margin-bottom:64px;display:grid;position:relative}.top-bar__contact{place-self:end}.brand-lockup{align-items:flex-end;gap:12px;display:flex}.brand-logo{width:clamp(90px,8vw,150px)}.brand-tagline{text-transform:uppercase;color:#050505;flex-direction:column;justify-content:flex-end;margin-bottom:-2px;font-size:1.05rem;line-height:1;display:flex}.brand-tagline span{letter-spacing:.2em;white-space:nowrap}.top-bar nav{text-transform:uppercase;letter-spacing:.2em;place-self:end center;gap:32px;font-size:1.05rem;display:flex}.top-bar nav a{color:inherit;text-decoration:none;position:relative}.top-bar nav a:after{content:"";transform-origin:0;background:#111;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.top-bar nav a:hover:after,.top-bar nav a:focus-visible:after{transform:scaleX(1)}.contact-block{text-align:right;flex-direction:column;align-self:end;align-items:flex-end;gap:1px;font-size:.95rem;display:flex;transform:translateY(clamp(10px,.8vw,24px))}.contact-block a{color:inherit;font-weight:600;text-decoration:none}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;padding:12px;display:none}.menu-toggle:focus-visible{outline-offset:2px;outline:2px solid #050505}.menu-toggle__bar{background:#050505;border-radius:2px;width:22px;height:2px;transition:transform .25s,opacity .25s;display:block}.top-bar--menu-open .menu-toggle__bar:first-child{transform:translateY(7px)rotate(45deg)}.top-bar--menu-open .menu-toggle__bar:nth-child(2){opacity:0}.top-bar--menu-open .menu-toggle__bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{display:none}.mobile-menu-overlay{opacity:0;pointer-events:none;z-index:2;background:#00000059;transition:opacity .3s;position:fixed;inset:0}.mobile-menu-overlay--visible{opacity:1;pointer-events:auto}@media (max-width:889px){.top-bar{grid-template-columns:1fr auto;align-items:center}.top-bar__nav,.top-bar__contact,.top-bar nav{display:none}.menu-toggle{justify-self:end;display:inline-flex}.mobile-menu{opacity:0;pointer-events:none;z-index:3;visibility:hidden;background:#fff;border:1px solid #050505;border-radius:24px;flex-direction:column;gap:24px;width:min(320px,100vw - 48px);padding:28px;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-8px);box-shadow:0 30px 60px #00000024}.mobile-menu nav{letter-spacing:.2em;text-transform:uppercase;text-align:left;flex-direction:column;align-items:flex-start;gap:16px;font-size:1rem;display:flex}.mobile-menu .contact-block{text-align:left;align-items:flex-start;gap:8px;transform:none}.top-bar--menu-open .mobile-menu{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}}@media (max-width:768px){.contact-block{text-align:left;align-self:stretch;align-items:flex-start;transform:none}}.hero{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:clamp(32px,6vw,72px);display:grid}.hero-eyebrow{text-transform:uppercase;letter-spacing:.4em;color:#5c5c5c;margin-bottom:16px;font-size:.78rem}.hero h1{margin:0 0 24px;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.1}.hero-copy{color:#404040;max-width:540px;font-size:1.05rem}.hero-cta{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.primary-btn,.ghost-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.85em 1.8em;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s}.primary-btn{color:#fff;background:#111}.ghost-btn{color:#111;background:0 0;border-color:#111}.primary-btn:hover,.ghost-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.hero-media{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:clamp(8px,2vw,24px);display:grid;position:relative}.hero-photo{isolation:isolate;z-index:1;background:#0b0b0b;border-radius:36px;min-height:clamp(320px,38vw,620px);position:relative;overflow:hidden;box-shadow:0 30px 80px #1c3b7540}.hero-photo img{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.03)}.hero-photo--secondary{min-height:clamp(220px,26vw,420px);margin-top:clamp(36px,6vw,80px);margin-right:clamp(-24px,-2vw,-40px)}.about-section{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border-radius:32px;margin-top:clamp(64px,10vw,120px);padding:clamp(32px,4vw,56px);box-shadow:0 30px 80px #0505050f}.about-badge{color:#0e2235;letter-spacing:.2em;text-transform:uppercase;background:#dff4ff;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;display:inline-flex}.about-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);margin-top:32px;display:grid}.about-main h2{margin-bottom:24px;font-size:clamp(2rem,3vw,3.25rem);line-height:1.2}.about-main p{color:#2e2e2e;margin-bottom:18px;font-size:1.05rem}.about-cards{gap:18px;display:grid}.about-card{color:#f5f8ff;background:#0f1729;border-radius:24px;padding:28px;box-shadow:inset 0 1px #ffffff1a}.about-card h3{letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:1.1rem}.about-card ul{color:#f5f8ffe6;flex-direction:column;gap:10px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.about-card li{padding-left:20px;position:relative}.about-card li:before{content:"";background:#53c5ff;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:0}.services-section{margin-top:clamp(72px,10vw,140px)}.services-shell{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:stretch;gap:clamp(24px,4vw,56px);display:grid}.services-left{background:#c8e8ef;border-radius:32px;flex-direction:column;gap:24px;padding:clamp(32px,4vw,56px);display:flex;box-shadow:inset 0 1px #fffc,0 30px 70px #0726362e}.services-label{letter-spacing:.4em;text-transform:uppercase;color:#0f2231;margin:0;font-size:.78rem}.services-left h2{letter-spacing:.08em;margin:0;font-size:clamp(2.4rem,4vw,3.6rem)}.services-tabs{flex-direction:column;gap:8px;font-size:1.1rem;display:flex}.services-tab{color:#050505b3;padding-bottom:6px;position:relative}.services-tab:after{content:"";transform-origin:0;background:#0505054d;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.services-tab--active{color:#050505;font-weight:600}.services-tab--active:after{background:#050505;transform:scaleX(1)}.services-list{flex-direction:column;gap:16px;margin-top:8px;display:flex}.services-list-item{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.services-list-index{letter-spacing:.1em;color:#0f2231;font-weight:600}.services-list p{color:#050505cc;margin:0;font-size:.95rem}.services-right{gap:clamp(24px,3vw,40px);display:grid}.services-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.service-card{background:#fff;border:1px solid #0505050f;border-radius:22px;align-items:center;gap:16px;min-height:120px;padding:clamp(10px,3vw,22px);display:flex;box-shadow:0 22px 45px #0f172914}.service-card h3{color:#0f1729;-webkit-hyphens:auto;hyphens:auto;hyphenate-character:"-";overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.service-icon{color:#0f2231;background:#eff3fa;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:inline-flex}.portfolio-section{color:#f7f7f7;background:radial-gradient(circle at 10% 20%,#ffffff26,#0000),#050505;border-radius:36px;margin-top:clamp(72px,10vw,140px);padding:clamp(32px,6vw,72px);box-shadow:0 40px 80px #05050559}.portfolio-label{letter-spacing:.4em;text-transform:uppercase;color:#ffffffb3;margin:0 0 18px;font-size:.78rem}.portfolio-heading h2{margin:0 0 12px;font-size:clamp(2rem,3vw,3.2rem)}.portfolio-heading p{color:#fffc;max-width:640px;margin:0 0 32px}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.portfolio-card{color:inherit;background:#ffffff14;border:1px solid #fff3;border-radius:28px;flex-direction:column;gap:12px;min-height:240px;padding:24px;text-decoration:none;transition:transform .25s,border-color .25s,background .25s;display:flex}.portfolio-card:hover,.portfolio-card:focus-visible{background:#ffffff1f;border-color:#fff6;transform:translateY(-6px)}.portfolio-card__tag{letter-spacing:.2em;text-transform:uppercase;color:#fff9;font-size:.75rem}.portfolio-card h3{margin:0;font-size:1.4rem;line-height:1.3}.portfolio-card p{color:#ffffffd9;margin:0}.portfolio-card__cta{letter-spacing:.08em;margin-top:auto;font-weight:600}.portfolio-card--all{justify-content:space-between;align-items:flex-start;font-size:1.2rem}.portfolio-card__arrow{font-size:2.5rem;line-height:1}.contact-section{background:#ffffffeb;border-radius:40px;flex-direction:column;gap:32px;margin-top:clamp(48px,8vw,140px);padding:clamp(32px,6vw,80px);display:flex;box-shadow:0 30px 60px #0505051a}.contact-section__label,.map-page__label{text-transform:uppercase;letter-spacing:.4em;color:#6a6a6a;margin:0;font-size:.78rem}.contact-section__grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);align-items:stretch;gap:clamp(24px,5vw,56px);display:grid}.contact-map-preview{color:#050505;background:#fff;border:1px solid #0505050f;border-radius:32px;flex-direction:column;display:flex;overflow:hidden}.contact-map-frame{background:#fff;width:100%;min-height:320px}.contact-map-frame iframe{width:100%;height:100%;min-height:inherit;filter:grayscale(.1)saturate(.9);border:0}.contact-map-info{background:#fff;border-top:1px solid #0505050d;flex-direction:column;gap:6px;padding:clamp(20px,4vw,32px);display:flex}.contact-map-preview__tag{text-transform:uppercase;letter-spacing:.3em;color:#5d5d5d;margin:0 0 4px;font-size:.75rem}.contact-map-preview__schedule{color:#5d5d5d;margin:0;font-size:.9rem}.contact-map-link{color:#050505;gap:6px;margin-top:4px;font-weight:600;text-decoration:none;display:inline-flex}.contact-panel{background:#f2f5f7;border-radius:32px;flex-direction:column;gap:16px;padding:clamp(24px,4vw,48px);display:flex}.contact-panel__intro{color:#3a3a3a;max-width:480px;margin:0}.contact-list{flex-direction:column;gap:18px;margin:8px 0 24px;padding:0;list-style:none;display:flex}.contact-list--stacked{margin-top:0}.contact-list li{flex-direction:column;gap:6px;display:flex}.contact-list__title{text-transform:uppercase;letter-spacing:.3em;color:#6e6e6e;font-size:.72rem}.contact-list a{color:#050505;font-weight:600;text-decoration:none}.contact-panel__actions{flex-wrap:wrap;gap:12px;display:flex}.map-page{background:#ffffffeb;border-radius:40px;flex-direction:column;gap:32px;margin-top:clamp(24px,5vw,56px);padding:clamp(24px,6vw,80px);display:flex;box-shadow:0 30px 60px #0505051f}.map-page__content{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);align-items:stretch;gap:clamp(24px,5vw,56px);display:grid}.map-page__details{background:#f7f9fb;border-radius:32px;flex-direction:column;gap:18px;padding:clamp(24px,4vw,40px);display:flex}.map-page__details p{color:#3a3a3a;margin:0}.map-page__actions{flex-wrap:wrap;gap:16px;display:flex}.map-wrapper{background:#050505;border-radius:32px;min-height:420px;overflow:hidden;box-shadow:0 35px 60px #05050533}.map-wrapper iframe{border:0;width:100%;height:100%;min-height:420px}.ghost-btn--link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.projects-page,.project-detail{background:#ffffffe6;border-radius:32px;margin-top:clamp(16px,4vw,32px);padding:clamp(24px,5vw,56px);box-shadow:0 30px 60px #0505051a}.projects-page__label{text-transform:uppercase;letter-spacing:.4em;color:#5c5c5c;margin:0 0 8px;font-size:.78rem}.projects-page__intro{color:#333;max-width:620px;margin:0 0 32px}.projects-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.projects-list-card{background:#fff;border:1px solid #05050514;border-radius:24px;flex-direction:column;gap:12px;min-height:260px;padding:24px;display:flex}.site-footer{color:#f5f5f5;background:#121212;border-radius:32px 32px 0 0;margin-top:clamp(48px,8vw,120px);padding:clamp(16px,3vw,40px) clamp(24px,5vw,80px) clamp(32px,6vw,80px);box-shadow:0 -20px 60px #00000040}.site-footer__content{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:clamp(24px,4vw,48px);display:grid}.site-footer__logo{width:clamp(140px,12vw,220px);margin-bottom:16px}.site-footer__tagline{letter-spacing:.35em;text-transform:uppercase;color:#ffffffeb;text-align:right;flex-direction:column;align-items:flex-end;width:179px;margin:0 0 18px auto;font-size:1.1rem;font-weight:500;display:inline-flex}.site-footer__tagline span{white-space:nowrap}.site-footer__brand h3{margin:8px 0;font-size:1.8rem}.site-footer__brand p{color:#fffc;margin:0}.site-footer__info h4{text-transform:uppercase;letter-spacing:.2em;color:#ffffffb3;margin:40px 0 8px;font-size:.78rem}.site-footer__info p{color:#ffffffd9;margin:0 0 8px}.site-footer__info a{color:#fff;margin-bottom:6px;font-weight:600;text-decoration:none;display:block}.site-footer__info a:hover,.site-footer__info a:focus-visible{text-decoration:underline}.site-footer__cta p{color:#ffffffd9;margin:40px 0 16px}.footer-cta-btn{color:#050505;cursor:pointer;background:#f5f5f5;border:1px solid #ffffff4d;border-radius:999px;padding:.85em 1.8em;font-size:.95rem;font-weight:600;transition:transform .25s,box-shadow .25s}.footer-cta-btn:hover,.footer-cta-btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 25px #00000059}.site-footer__meta{color:#ffffffa6;border-top:1px solid #ffffff1a;flex-wrap:wrap;gap:12px 24px;margin-top:clamp(24px,4vw,40px);padding-top:24px;font-size:.9rem;display:flex}.projects-list-card__tag{letter-spacing:.2em;text-transform:uppercase;color:#888;margin:0;font-size:.8rem}.projects-list-card__meta{color:#606060;gap:12px;font-size:.85rem;display:flex}.request-alert-overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0505058c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.request-alert{background:#fff;border:1px solid #0505051f;border-radius:32px;width:min(520px,94vw);padding:clamp(40px,6vw,64px);position:relative;overflow:hidden;box-shadow:0 32px 90px #05050559}.request-alert__close{cursor:pointer;background:#fffc;border:none;border-radius:50%;width:36px;height:36px;font-size:1.4rem;line-height:1;transition:transform .2s;position:absolute;top:14px;right:14px}.request-alert__close:hover{transform:rotate(90deg)}.request-alert h3{margin:0 0 12px;font-size:1.5rem}.request-alert__intro{color:#4a4a4a;margin:0 0 18px}.request-alert__status{color:#0b6a4c;background:#0fa7751a;border-left:4px solid #0fa775;border-radius:12px;margin:0 0 16px;padding:12px 16px;font-weight:600}.request-alert__status--success{color:#0b6a4c;background:#0fa7751a;border-left-color:#0fa775}.request-alert__status--error{color:#ae2f24;background:#e74c3c1f;border-left-color:#e74c3c}.request-form{flex-direction:column;gap:16px;display:flex}.request-form__field{color:#333;flex-direction:column;gap:6px;font-size:.9rem;display:flex}.request-form__field input,.request-form__field textarea{resize:vertical;background:#fafafaf2;border:1px solid #0505051f;border-radius:16px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border .2s,box-shadow .2s}.request-form__field input:focus,.request-form__field textarea:focus{border-color:#050505;outline:none;box-shadow:0 0 0 3px #05050514}.request-form__submit{align-self:flex-start;margin-top:4px}.request-form__submit[disabled]{opacity:.65;cursor:not-allowed}.text-link{color:#050505;font-weight:600;text-decoration:none}.text-link:hover,.text-link:focus-visible{text-decoration:underline}.projects-page__actions,.project-detail__actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px;display:flex}.back-link{color:#050505;white-space:nowrap;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.project-detail__breadcrumb{margin-bottom:16px}.project-detail__tag{text-transform:uppercase;letter-spacing:.3em;color:#6a6a6a;margin:0;font-size:.78rem}.project-detail__year{color:#6a6a6a;margin:4px 0 16px}.project-detail__description{color:#2e2e2e;font-size:1.05rem}.project-detail__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:32px;display:grid}.project-detail__grid article{background:#fff;border:1px solid #05050514;border-radius:24px;padding:24px}.project-detail__grid h3{margin-top:0}.project-detail__grid ul{color:#3b3b3b;margin:0;padding-left:18px}@media (max-width:1096px){.top-bar nav{letter-spacing:0}}@media (max-width:957px){.top-bar nav{gap:15px}}@media (max-width:900px){.services-shell{grid-template-columns:1fr}.services-left{min-height:auto}.hero-media{grid-template-columns:1fr}.hero-photo--secondary{margin-top:24px}.contact-section__grid,.map-page__content{grid-template-columns:1fr}.map-wrapper{min-height:360px}}@media (max-width:640px){.top-bar nav{flex-wrap:wrap;justify-content:space-between;width:100%}.hero-photo{border-radius:24px}.contact-block{flex-direction:row;justify-content:space-between;width:100%}.intro-frame{width:280px;height:280px}.about-layout,.services-card-grid{grid-template-columns:1fr}.service-card{flex-direction:column;align-items:flex-start}.contact-panel__actions{flex-direction:column}.contact-map-preview{min-height:260px}.request-alert{padding:28px}}.top-bar nav,.hero,.hero h1,.hero-copy,.contact-block,.brand-mark,.hero-cta button{font-family:var(--font-bliss)}
