@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-cyrillic-ext-400-normal.Xqov12YL.woff2) format("woff2"),url(./montserrat-cyrillic-ext-400-normal.DRPPeomZ.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-cyrillic-400-normal.BPq32Q8K.woff2) format("woff2"),url(./montserrat-cyrillic-400-normal.jEs4Tk-Z.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-vietnamese-400-normal.D4oHqQTd.woff2) format("woff2"),url(./montserrat-vietnamese-400-normal.BeEscFYY.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-latin-ext-400-normal.B8bwfy6Y.woff2) format("woff2"),url(./montserrat-latin-ext-400-normal.BffdBkAA.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-latin-400-normal.BLhwKU8k.woff2) format("woff2"),url(./montserrat-latin-400-normal.xItZbAXg.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-ext-400-normal.W3Dto7M0.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-400-normal.DLdKLAvx.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-400-normal.DD2KOZkl.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-400-normal.CVFrM67f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-vietnamese-400-normal.6K-YXo6g.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-400-normal.4uxlocMh.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-normal.Drx2k2n9.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-400-normal.uvC0WHQr.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal.B-1hWBU7.woff2) format("woff2"),url(./cormorant-garamond-latin-400-normal.B7YtguxJ.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-ext-400-italic.BEGvmv_3.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-400-italic.C_Uk1MUY.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-400-italic.D3GtrbRZ.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-400-italic.AH1vqu4S.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-vietnamese-400-italic.BoXDRTEW.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-400-italic.CJpMwFnN.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-italic.BdEzgT7i.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-400-italic.CQvLaSWn.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic.Dc_OZ8oc.woff2) format("woff2"),url(./cormorant-garamond-latin-400-italic.BLh7T8o8.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-normal.Yta7XZ9C.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-normal.lsPpqi9g.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-500-normal.CyAY5ZLS.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-500-normal.DkJXBcIH.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-vietnamese-500-normal.BZGLGj12.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-500-normal.DqXqCC0q.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-ext-500-normal.CH1kM7og.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-500-normal.DYeaGGzO.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal.BsRWmXhO.woff2) format("woff2"),url(./cormorant-garamond-latin-500-normal.zIXX3Q-H.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-ext-600-normal.BMhMHfrj.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-600-normal.CsIYWmWK.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-600-normal.C2atO-64.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-600-normal.FNmA3REe.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-vietnamese-600-normal.BoXdMtcr.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-600-normal.C4HEjEaf.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-ext-600-normal.DaBc-lu7.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-600-normal.Dk3-quAP.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal.Co1r35X9.woff2) format("woff2"),url(./cormorant-garamond-latin-600-normal.2CBVLo0M.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:100%}body{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:#313131;background-color:#f0ebe5;text-rendering:optimizeSpeed}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}button{all:unset}table{border-collapse:collapse;border-spacing:0}@media(prefers-reduced-motion:reduce){*{animation:none;transition:none}}:root{--color-text:#242424;--font-family:"Montserrat",Helvetica,Arial,sans-serif;--font-display:"Cormorant Garamond",Georgia,serif;--warm-bg:#f0ebe5;--warm-gradient:linear-gradient(90deg,#ebe6e0,#f3efe9 50%,#ebe6e0);--color-muted:#4a453f;--line-subtle:rgba(42,40,38,.1);--footer-max:72rem}.brand-name{font-family:var(--font-family);font-weight:400;letter-spacing:.04em}body{margin:0;font-weight:400;letter-spacing:.015em;color:var(--color-text)}.layout-splash{font-family:var(--font-family);background:var(--warm-gradient);margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative}.splash-main{flex:1;justify-content:center;width:100%}.splash-entry,.splash-main{display:flex;align-items:center}.splash-entry{flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;transition:opacity .3s ease}.splash-entry:focus-visible,.splash-entry:hover{opacity:.75}.splash-entry__brand{display:flex;flex-direction:column;align-items:center}.splash-entry__logo{width:56px;margin-bottom:.75rem}.splash-entry__name{font-size:clamp(1.35rem,3.5vw,1.75rem);line-height:1.1;margin:0}.splash-entry__hint{margin-top:2.75rem;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-muted)}.site-footer{border-top:1px solid var(--line-subtle);padding:2.5rem clamp(1.25rem,4vw,3rem);width:100%}.site-footer__inner{max-width:var(--footer-max);margin:0 auto;text-align:center}.site-footer__copy{font-size:.75rem;font-weight:400;letter-spacing:.02em;color:var(--color-muted)}img{max-width:100%;display:block}@media(max-width:600px){.layout-splash{font-size:14px}.splash-entry{flex-direction:column}}.layout-enter-active,.layout-leave-active{position:fixed;inset:0;width:100%;min-height:100vh;transition:opacity .7s ease}.layout-leave-active{z-index:1}.layout-enter-active{z-index:2}.layout-enter-from,.layout-leave-to{opacity:0}.layout-landing{--lp-bg:var(--warm-bg);--lp-surface:#faf7f3;--lp-text:#2a2826;--lp-muted:var(--color-muted);--lp-accent:#6b4829;--lp-on-dark-muted:#ddd8d0;--lp-accent-soft:#c9b8a8;--lp-sage:#7d8b7a;--lp-line:rgba(42,40,38,.1);font-family:var(--font-family);font-weight:400;letter-spacing:.015em;color:var(--lp-text);background:var(--warm-gradient);min-height:100vh}.landing-main{display:block}.landing-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem clamp(1.25rem,4vw,3rem);background:#f0ebe5e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--lp-line)}.landing-header__brand{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.landing-header__nav{display:flex;gap:clamp(1rem,3vw,2rem);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.landing-header__nav a{position:relative;color:var(--lp-muted);transition:color .25s ease}.landing-header__nav a:focus-visible,.landing-header__nav a:hover{color:var(--lp-text)}.landing-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 5rem);max-height:900px}.landing-hero__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5rem)}.landing-hero__eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:1.5rem}.landing-hero__title{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5rem);font-weight:400;line-height:1.05;margin-bottom:1.5rem}.landing-hero__title em{font-style:italic;color:var(--lp-accent)}.landing-hero__text{max-width:38ch;font-size:1.05rem;line-height:1.7;color:var(--lp-muted);margin-bottom:2.5rem}.landing-hero__cta{display:inline-flex;align-items:center;gap:.75rem;width:-moz-fit-content;width:fit-content;padding:.9rem 1.75rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-surface);background:var(--lp-text);border:1px solid var(--lp-text);transition:background .3s ease,color .3s ease}.landing-hero__cta:focus-visible,.landing-hero__cta:hover{background:transparent;color:var(--lp-text)}.landing-hero__visual{position:relative;overflow:hidden;background:#d4c4b0}.landing-hero__visual img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.landing-hero__visual:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(42,40,38,.35) 0,transparent 50%)}.landing-hero__visual-caption{position:absolute;z-index:1;bottom:2rem;left:2rem;right:2rem;font-family:var(--font-display);font-size:1.5rem;font-style:italic;color:#fffdf9eb}.landing-section{padding:clamp(4rem,10vw,7rem) clamp(1.25rem,4vw,3rem)}.landing-section--narrow{max-width:72rem;margin:0 auto}.landing-section__label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:1rem}.landing-section__title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.15;margin-bottom:1.5rem}.landing-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start;border-top:1px solid var(--lp-line);padding-top:clamp(2.5rem,5vw,4rem)}.landing-intro__text{font-size:1.05rem;line-height:1.8;color:var(--lp-muted)}.landing-intro__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:.5rem}.landing-stat__number{font-family:var(--font-display);font-size:2.5rem;font-weight:500;color:var(--lp-accent);line-height:1}.landing-stat__label{margin-top:.5rem;font-size:.85rem;color:var(--lp-muted)}.landing-services{background:var(--lp-surface)}.landing-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.landing-service{padding:2rem;border:1px solid var(--lp-line);background:var(--lp-bg);transition:transform .35s ease}.landing-service:hover{transform:translateY(-4px)}.landing-service__index{font-family:var(--font-display);font-size:2rem;color:var(--lp-accent-soft);line-height:1;margin-bottom:1.25rem}.landing-service__title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.75rem}.landing-service__text{font-size:.95rem;line-height:1.7;color:var(--lp-muted)}.landing-projects__grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:1.25rem;margin-top:3rem}.landing-project{position:relative;overflow:hidden;min-height:280px;display:flex;align-items:flex-end;padding:1.75rem}.landing-project--featured{grid-row:span 2;min-height:100%}.landing-project__bg{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.landing-project:hover .landing-project__bg{transform:scale(1.04)}.landing-project__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(42,40,38,.55) 0,transparent 60%)}.landing-project__info{position:relative;z-index:1;color:#fffdf9}.landing-project__type{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#f0ebe5;margin-bottom:.35rem}.landing-project__name{font-family:var(--font-display);font-size:1.6rem;font-weight:400}.landing-cta{text-align:center;background:var(--lp-text);color:var(--lp-surface);padding:clamp(4rem,8vw,6rem) clamp(1.25rem,4vw,3rem)}.landing-cta__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;margin-bottom:1rem}.landing-cta__text{max-width:42ch;margin:0 auto 2rem;font-size:1.05rem;line-height:1.7;color:var(--lp-on-dark-muted)}.landing-cta__button{display:inline-flex;padding:.9rem 2rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-text);background:var(--lp-surface);border:1px solid var(--lp-surface);transition:background .3s ease,color .3s ease}.landing-cta__button:focus-visible,.landing-cta__button:hover{background:transparent;color:var(--lp-surface)}.landing-footer__tagline{font-family:var(--font-display);font-size:1.25rem;font-weight:400;font-style:italic;color:var(--lp-muted);margin-bottom:1.5rem}.landing-footer__links{display:flex;justify-content:center;gap:2rem;font-size:.8rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}.landing-footer__links a{color:var(--lp-muted);transition:color .25s ease}.landing-footer__links a:focus-visible,.landing-footer__links a:hover{color:var(--lp-text)}.logo--header{width:40px}@media(max-width:900px){.landing-hero{grid-template-columns:1fr;max-height:none}.landing-hero__visual{min-height:50vh;order:-1}.landing-intro{grid-template-columns:1fr}.landing-intro__stats{grid-template-columns:repeat(3,1fr)}.landing-projects__grid,.landing-services__grid{grid-template-columns:1fr}.landing-project--featured{grid-row:auto;min-height:360px}.landing-header__nav{display:none}}
