/* [next]/internal/font/google/be_vietnam_pro_4265f852.module.css [app-client] (css) */
@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/53e45098eac42afb-s.p.0l2qk94b1u89y.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}


/* Font Library — self-hosted font management for local and cPanel. */
.font-library-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;margin-bottom:22px}
.font-upload-panel{display:grid;gap:15px;padding:22px}.font-upload-panel>header{display:grid;gap:4px}.font-upload-panel>header strong{font-size:18px}.font-upload-panel>header small,.font-upload-panel label small{color:var(--admin-muted);font-size:9px;line-height:1.5}
.font-upload-panel>label{display:grid;gap:7px}.font-upload-panel>label>span,.font-upload-options label>span{color:var(--admin-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.font-upload-panel input,.font-upload-panel select{width:100%;min-height:42px;border:1px solid #d7d9d5;border-radius:5px;background:#fff;padding:9px 11px;font-size:11px}
.font-upload-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.font-upload-options label{display:grid;gap:7px}
.font-upload-panel .font-variable-check{display:flex;align-items:center;gap:9px}.font-upload-panel .font-variable-check input{width:auto;min-height:0}
.font-upload-panel>.admin-primary{justify-self:start;border:0;border-radius:4px;background:var(--admin-green);color:#fff;padding:12px 17px;cursor:pointer;font-size:10px;font-weight:700}
.font-guide-panel{padding:0 20px 20px}.font-guide-panel summary{padding:20px 0;cursor:pointer;font-size:15px;font-weight:600}.font-guide-panel ol{display:grid;gap:10px;margin:0;padding-left:20px;color:#59625d;font-size:11px;line-height:1.6}.font-guide-panel p{margin:18px 0 0;border-top:1px solid #e0e2df;padding-top:15px;color:#6a746e;font-size:10px;line-height:1.6}.font-guide-panel a{color:var(--admin-green);text-decoration:underline}
.font-manager-message{margin:0;border-radius:4px;padding:10px 12px;font-size:10px;line-height:1.5}.font-manager-message.is-success{background:#e7f1ea;color:#326147}.font-manager-message.is-error{background:#f8e9e6;color:#9b4438}
.font-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.font-family-card{overflow:hidden}.font-family-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 19px;border-bottom:1px solid #e1e2df}.font-family-card>header span{display:grid;gap:3px}.font-family-card>header small{color:var(--accent);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.font-family-card>header strong{font-size:17px}.font-family-card>header b{color:var(--admin-muted);font-size:8px;font-weight:500}
.font-family-card>p{min-height:110px;margin:0;padding:26px 20px;border-bottom:1px solid #e1e2df;background:#f8f8f5;font-size:27px;line-height:1.3}.font-family-card>div{display:grid}.font-face-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #ecece8}.font-face-row:last-child{border-bottom:0}.font-face-row.is-disabled{opacity:.5}.font-face-row>span{display:grid;gap:3px}.font-face-row strong{font-size:10px}.font-face-row small{overflow:hidden;color:var(--admin-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.font-face-row button{border:1px solid #d9dad6;border-radius:4px;background:#fff;padding:7px 9px;cursor:pointer;font-size:8px}.font-face-row button:last-child{color:#a14e43}
.content-typography-field__tools>label:first-child select{font-size:10px}
@media(max-width:980px){.font-library-layout,.font-family-grid{grid-template-columns:1fr}}@media(max-width:640px){.font-upload-options{grid-template-columns:1fr}.font-face-row{grid-template-columns:1fr auto auto}.font-family-card>p{font-size:22px}}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/85ea1b3aadcead52-s.01rdcbu-77uoy.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3c285486269019b7-s.p.0sn2213rkw2e_.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/625a092f804baad3-s.p.0mrp_qm_8jqq_.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6afabefbb32d7517-s.05-22z7vt.jl1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a4f4f75ad654963f-s.p.0h6jagi-ln9qy.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/a3bcb02a0e9e5d11-s.p.0p40-daftjh_g.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b35fd19aef91b293-s.07en.a1_ufzzv.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8f46d218c8f79e34-s.p.0xhl7b6zs4.~j.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/8ffc259da9d23054-s.p.0b_.2~bprftx..woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9e486ba39c38fb8a-s.0qxf2_hlpbci0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/6f42e0a3b0519c4d-s.p.0czffigx~77c..woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro Fallback;
  src: local(Arial);
  ascent-override: 90.61%;
  descent-override: 24.01%;
  line-gap-override: 0.0%;
  size-adjust: 110.36%;
}

.be_vietnam_pro_4265f852-module__50ncua__className {
  font-family: Be Vietnam Pro, Be Vietnam Pro Fallback;
  font-style: normal;
}

.be_vietnam_pro_4265f852-module__50ncua__variable {
  --font-be-vietnam-pro: "Be Vietnam Pro", "Be Vietnam Pro Fallback";
}

/*# sourceMappingURL=%5Bnext%5D_internal_font_google_be_vietnam_pro_4265f852_module_css_0w3-wzy._.single.css.map*/
/* [next]/internal/font/google/lora_12d14d8a.module.css [app-client] (css) */
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.071m.n3zzn52i.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.00tq~sneouii2.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.p.0dd-~h-3wf1jt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.071m.n3zzn52i.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.00tq~sneouii2.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.p.0dd-~h-3wf1jt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.071m.n3zzn52i.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.00tq~sneouii2.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.p.0dd-~h-3wf1jt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora Fallback;
  src: local(Times New Roman);
  ascent-override: 87.33%;
  descent-override: 23.78%;
  line-gap-override: 0.0%;
  size-adjust: 115.2%;
}

.lora_12d14d8a-module__zBj4dq__className {
  font-family: Lora, Lora Fallback;
  font-style: normal;
}

.lora_12d14d8a-module__zBj4dq__variable {
  --font-lora: "Lora", "Lora Fallback";
}

/*# sourceMappingURL=%5Bnext%5D_internal_font_google_lora_12d14d8a_module_css_0w3-wzy._.single.css.map*/
/* [project]/app/globals.css [app-client] (css) */
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: .25rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .fixed {
    position: fixed;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .block {
    display: block;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .table-row {
    display: table-row;
  }

  .resize {
    resize: both;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
}

:root {
  --paper: #f3efe7;
  --paper-2: #ebe6dc;
  --ink: #181816;
  --muted: #736e66;
  --line: #18181629;
  --accent: #a65d3f;
  --bronze: #9a7653;
  --serif: var(--font-lora), "Times New Roman", serif;
  --sans: var(--font-be-vietnam-pro), Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  margin: 0;
}

button, input, select, textarea {
  font: inherit;
}

button, a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

::selection {
  background: var(--accent);
  color: #fff;
}

.public-site {
  background: var(--paper);
  min-height: 100vh;
  overflow: hidden;
}

.section-pad {
  padding-inline: clamp(24px, 5.2vw, 80px);
}

.hero-shell {
  min-height: 100svh;
  position: relative;
}

.site-header {
  z-index: 100;
  width: 100%;
  height: 82px;
  color: var(--ink);
  border-bottom: 1px solid #18181626;
  justify-content: space-between;
  align-items: center;
  padding: 0 clamp(24px, 4.5vw, 68px);
  transition: background .25s, color .25s, box-shadow .25s, height .25s;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.site-header.is-scrolled {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #f3efe7eb;
  height: 70px;
  box-shadow: 0 8px 28px #1b1f1c14;
}

.brand {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.brand span {
  letter-spacing: .19em;
  font-size: 17px;
  font-weight: 600;
}

.brand small {
  color: currentColor;
  opacity: .62;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
}

.nav {
  letter-spacing: .055em;
  text-transform: uppercase;
  align-items: center;
  gap: clamp(24px, 3.2vw, 52px);
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.nav a, .nav button {
  padding-block: 10px;
  position: relative;
}

.nav a:after, .nav button:after {
  content: "";
  transform-origin: 100%;
  background: currentColor;
  width: 100%;
  height: 1px;
  transition: transform .25s;
  position: absolute;
  bottom: 4px;
  left: 0;
  transform: scaleX(0);
}

.nav a:hover:after, .nav a:focus-visible:after, .nav button:hover:after, .nav button:focus-visible:after {
  transform-origin: 0;
  transform: scaleX(1);
}

.nav .locale-switch {
  border-left: 1px solid;
  padding-left: 24px;
}

.site-header--dark {
  color: #f4eee3;
  border-color: #f4eee347;
}

.site-header--dark.is-scrolled {
  color: #f4eee3;
  background: #091014e6;
  box-shadow: 0 8px 30px #0003;
}

.menu-button {
  display: none;
}

.hero {
  background: var(--paper);
  min-height: 100svh;
  position: relative;
  overflow: hidden;
}

.hero__image-wrap, .hero__image, .hero__veil {
  position: absolute;
}

.hero__image {
  object-fit: cover;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity .9s, transform 7s;
  inset: 0;
  transform: scale(1.025);
}

.hero__image.is-active {
  opacity: 1;
  transform: scale(1);
}

.hero__copy {
  z-index: 4;
  position: absolute;
}

.hero__copy h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 0;
  font-size: clamp(58px, 7.1vw, 112px);
  font-weight: 400;
  line-height: .91;
}

.eyebrow {
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 24px;
  font-size: 10px;
  font-weight: 600;
}

.hero__subtitle {
  max-width: 520px;
  margin: 26px 0 32px;
  font-size: 14px;
  line-height: 1.75;
}

.button {
  letter-spacing: .09em;
  text-transform: uppercase;
  border: 1px solid;
  justify-content: space-between;
  align-items: center;
  gap: 34px;
  min-width: 210px;
  padding: 18px 22px;
  font-size: 11px;
  font-weight: 600;
  transition: color .25s, background .25s, border-color .25s;
  display: inline-flex;
}

.button span {
  font-size: 18px;
  transition: transform .25s;
}

.button:hover span {
  transform: translateX(6px);
}

.button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.hero__meta {
  z-index: 4;
  flex-direction: column;
  gap: 8px;
  display: flex;
  position: absolute;
}

.hero__meta span {
  color: var(--accent);
  letter-spacing: .08em;
  font-size: 11px;
  font-weight: 600;
}

.hero__meta strong {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 400;
}

.hero__meta small {
  color: var(--muted);
  font-size: 10px;
}

.hero__controls {
  z-index: 5;
  align-items: center;
  gap: 14px;
  display: flex;
  position: absolute;
}

.hero__controls > button {
  width: 38px;
  height: 38px;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid;
  border-radius: 50%;
  transition: background .2s;
}

.hero__controls > button:hover {
  background: #7f7f7f26;
}

.hero__progress {
  gap: 5px;
  display: flex;
}

.hero__progress button {
  opacity: .25;
  cursor: pointer;
  background: currentColor;
  border: 0;
  width: 24px;
  height: 2px;
  padding: 0;
}

.hero__progress button.is-active {
  opacity: 1;
}

.hero--layout_1 .hero__image-wrap {
  inset: 10% 0 0 37%;
}

.hero--layout_1 .hero__veil {
  z-index: 2;
  background: linear-gradient(90deg, var(--paper) 0%, var(--paper) 25%, #f3efe7ed 37%, #f3efe700 62%);
  inset: 0;
}

.hero--layout_1 .hero__copy {
  width: min(48vw, 760px);
  top: 27%;
  left: clamp(24px, 4.7vw, 72px);
}

.hero--layout_1 .hero__copy h1 {
  font-size: clamp(62px, 7vw, 108px);
}

.hero--layout_1 .hero__subtitle {
  display: none;
}

.hero--layout_1 .hero__meta {
  flex-direction: row;
  align-items: baseline;
  gap: 18px;
  bottom: 5%;
  left: clamp(24px, 4.7vw, 72px);
}

.hero--layout_1 .hero__meta small {
  display: none;
}

.hero--layout_1 .hero__controls {
  color: #fff;
  bottom: 4%;
  right: clamp(24px, 4.7vw, 72px);
}

.hero--layout_2 {
  background: #f5f2ec;
}

.hero--layout_2:after {
  content: "";
  z-index: 2;
  pointer-events: none;
  border: 1px solid #18181614;
  position: absolute;
  inset: 12.5% 15.5% 8% 37.5%;
}

.hero--layout_2 .hero__image-wrap {
  inset: 12.5% 17% 8% 37.5%;
}

.hero--layout_2 .hero__veil {
  z-index: 2;
  background: linear-gradient(90deg, #f5f2ec 0%, #f5f2ecfa 30%, #0000 47%);
  inset: 0;
}

.hero--layout_2 .hero__copy {
  width: 37%;
  top: 32%;
  left: clamp(24px, 3vw, 44px);
}

.hero--layout_2 .hero__copy h1 {
  font-size: clamp(58px, 6vw, 94px);
}

.hero--layout_2 .hero__subtitle {
  display: none;
}

.hero--layout_2 .hero__meta {
  border-block: 1px solid var(--line);
  width: 12%;
  padding-block: 18px;
  top: 51%;
  right: 2.8%;
}

.hero--layout_2 .hero__controls {
  bottom: 8%;
  right: 3%;
}

.hero--layout_2 .hero__progress {
  display: none;
}

.hero--layout_3 {
  color: #f4eee3;
  background: #0b1115;
}

.hero--layout_3 .hero__image-wrap {
  inset: 0;
}

.hero--layout_3 .hero__veil {
  z-index: 2;
  background: linear-gradient(90deg, #04080bd4, #04080b57 62%, #04080b26), linear-gradient(0deg, #04080b8c, #0000 58%);
  inset: 0;
}

.hero--layout_3 .hero__copy {
  width: min(70vw, 1050px);
  bottom: 11%;
  left: clamp(24px, 5.2vw, 80px);
}

.hero--layout_3 .hero__copy h1 {
  font-size: clamp(62px, 7.2vw, 114px);
}

.hero--layout_3 .hero__subtitle {
  display: none;
}

.hero--layout_3 .hero__copy .button:hover {
  background: var(--bronze);
  border-color: var(--bronze);
}

.hero--layout_3 .hero__meta {
  text-align: right;
  top: 18%;
  right: clamp(24px, 5vw, 76px);
}

.hero--layout_3 .hero__meta small {
  color: #f4eee3ad;
}

.hero--layout_3 .hero__controls {
  bottom: 6%;
  right: clamp(24px, 5vw, 76px);
}

.statement {
  grid-template-columns: 1fr 2.35fr;
  gap: 40px;
  padding-top: clamp(100px, 14vw, 220px);
  padding-bottom: clamp(100px, 14vw, 220px);
  display: grid;
}

.section-index {
  color: var(--accent);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 8px 0 0;
  font-size: 10px;
  font-weight: 600;
}

.statement h2, .section-heading h2, .contact-section h2, .inner-hero h1, .projects-hero h1 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 0;
  font-weight: 400;
  line-height: .98;
}

.statement h2 {
  max-width: 990px;
  font-size: clamp(48px, 6vw, 94px);
}

.statement > div > p {
  max-width: 590px;
  color: var(--muted);
  margin: 38px 0 26px auto;
  font-size: 16px;
  line-height: 1.8;
}

.text-link {
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid;
  align-items: center;
  gap: 14px;
  width: max-content;
  margin-left: auto;
  padding-bottom: 5px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.featured-projects {
  padding-bottom: clamp(100px, 12vw, 190px);
}

.section-heading {
  grid-template-columns: 1fr 2.35fr;
  gap: 40px;
  margin-bottom: 70px;
  display: grid;
}

.section-heading h2 {
  font-size: clamp(48px, 5.3vw, 82px);
}

.section-heading > div > p {
  color: var(--muted);
  line-height: 1.7;
}

.project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(44px, 7vw, 110px) clamp(24px, 4vw, 60px);
  display: grid;
}

.project-grid--compact {
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.project-grid--compact .project-card:first-child {
  grid-column: 1 / 8;
}

.project-grid--compact .project-card:nth-child(2) {
  grid-column: 9 / 13;
  margin-top: 120px;
}

.project-grid--compact .project-card:nth-child(3) {
  grid-column: 3 / 10;
  margin-top: 40px;
}

.project-card {
  display: block;
}

.project-card__image {
  aspect-ratio: 16 / 10;
  background: #d4cec3;
  position: relative;
  overflow: hidden;
}

.project-card__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.project-card__image span {
  color: var(--ink);
  opacity: 0;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #f5f2eceb;
  padding: 10px 13px;
  font-size: 9px;
  transition: all .3s;
  position: absolute;
  bottom: 16px;
  right: 16px;
  transform: translateY(8px);
}

.project-card:hover img {
  transform: scale(1.035);
}

.project-card:hover .project-card__image span {
  opacity: 1;
  transform: translateY(0);
}

.project-card__info {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-top: 14px;
  padding-top: 18px;
  display: flex;
}

.project-card__info small {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 9px;
}

.project-card__info h3 {
  font-family: var(--serif);
  margin: 5px 0 0;
  font-size: clamp(24px, 2.2vw, 35px);
  font-weight: 400;
}

.project-card__info p {
  color: var(--muted);
  text-align: right;
  margin: 0;
  font-size: 10px;
}

.project-filters {
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 10px 30px;
  margin-bottom: 54px;
  display: flex;
}

.project-filters button {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  padding: 0 0 14px;
  font-size: 10px;
}

.project-filters button.is-active {
  color: var(--ink);
  border-color: var(--accent);
}

.quote-band {
  color: #f2ede3;
  background: #151719;
  padding: clamp(100px, 15vw, 230px) clamp(24px, 10vw, 150px);
}

.quote-band p {
  max-width: 1120px;
  font-family: var(--serif);
  letter-spacing: -.035em;
  text-align: center;
  margin: 0 auto;
  font-size: clamp(46px, 6.5vw, 100px);
  line-height: 1.03;
}

.contact-section {
  grid-template-columns: 1fr 1.25fr;
  gap: clamp(70px, 11vw, 170px);
  padding-top: clamp(100px, 12vw, 190px);
  padding-bottom: clamp(100px, 12vw, 190px);
  display: grid;
}

.contact-section h2 {
  max-width: 570px;
  margin-top: 24px;
  font-size: clamp(48px, 5.4vw, 82px);
}

.contact-section__intro > p:not(.section-index) {
  max-width: 510px;
  color: var(--muted);
  margin: 30px 0;
  line-height: 1.75;
}

.contact-section__intro > a {
  border-bottom: 1px solid var(--line);
  width: max-content;
  font-family: var(--serif);
  margin-top: 9px;
  font-size: 19px;
  display: block;
}

.contact-form {
  grid-template-columns: 1fr 1fr;
  align-content: start;
  gap: 28px 24px;
  display: grid;
  position: relative;
}

.form-field {
  flex-direction: column;
  gap: 9px;
  display: flex;
}

.form-field--wide, .form-actions {
  grid-column: 1 / -1;
}

.form-field label {
  color: var(--muted);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 600;
}

.form-field input, .form-field select, .form-field textarea {
  border: 0;
  border-bottom: 1px solid var(--line);
  width: 100%;
  color: var(--ink);
  resize: vertical;
  background: none;
  border-radius: 0;
  outline: 0;
  padding: 10px 0 13px;
}

.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  border-color: var(--accent);
}

.honey-field {
  position: absolute;
  left: -9999px;
}

.form-actions {
  align-items: center;
  gap: 20px;
  margin-top: 12px;
  display: flex;
}

.form-actions p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
}

.button--solid {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  cursor: pointer;
}

.button:disabled {
  opacity: .55;
  cursor: wait;
}

.site-footer {
  color: #f2ede3;
  background: #151719;
  border-top: 1px solid #f2ede329;
  grid-template-columns: 1.5fr 1fr .7fr 1fr;
  gap: 40px;
  padding: 74px clamp(24px, 5.2vw, 80px) 30px;
  display: grid;
}

.site-footer strong {
  letter-spacing: .17em;
  font-size: 18px;
}

.site-footer small {
  color: #f2ede375;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 16px;
  font-size: 9px;
  display: block;
}

.site-footer p, .site-footer a {
  color: #f2ede3b3;
  margin: 0 0 9px;
  font-size: 11px;
  line-height: 1.5;
  display: block;
}

.footer-brand p {
  margin-top: 10px;
}

.footer-meta {
  text-align: right;
}

.floating-contact {
  z-index: 45;
  gap: 9px;
  display: grid;
  position: fixed;
  bottom: 22px;
  right: 20px;
}

.quick-contact {
  color: #fff;
  white-space: nowrap;
  border: 1px solid #ffffff29;
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  width: 50px;
  min-height: 50px;
  padding: 6px;
  transition: width .22s, transform .18s, box-shadow .18s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 12px 34px #0f172a33;
}

.quick-contact:hover, .quick-contact:focus-visible {
  width: 184px;
  transform: translateY(-2px);
  box-shadow: 0 16px 40px #0f172a47;
}

.quick-contact--phone {
  background: #263d34;
}

.quick-contact--zalo {
  background: #0868d7;
}

.quick-contact__icon {
  background: #ffffff24;
  border-radius: 10px;
  flex: 0 0 36px;
  place-items: center;
  height: 36px;
  display: grid;
}

.quick-contact__icon svg {
  fill: #fff;
  width: 20px;
  height: 20px;
}

.quick-contact__icon--zalo {
  color: #0868d7;
  background: #fff;
  font: bold 18px / 1 Arial, sans-serif;
}

.quick-contact__copy {
  opacity: 0;
  gap: 2px;
  min-width: 116px;
  transition: opacity .14s 50ms, transform .18s;
  display: grid;
  transform: translateX(6px);
}

.quick-contact:hover .quick-contact__copy, .quick-contact:focus-visible .quick-contact__copy {
  opacity: 1;
  transform: none;
}

.quick-contact__copy small {
  color: #ffffffad;
  letter-spacing: .04em;
  font-size: 8px;
}

.quick-contact__copy strong {
  font-size: 12px;
  font-weight: 650;
}

.contact-fab {
  z-index: 55;
  width: 54px;
  height: 54px;
  position: fixed;
  bottom: 22px;
  right: 20px;
}

.contact-fab__root {
  color: #fff;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  background: #203c32;
  border: 0;
  border-radius: 17px;
  width: 54px;
  height: 54px;
  transition: transform .2s, background .2s;
  position: absolute;
  inset: 0;
  box-shadow: 0 14px 36px #0f1d1847;
}

.contact-fab__root:active {
  cursor: grabbing;
}

.contact-fab__root:hover {
  background: #172e27;
}

.contact-fab__root > svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 24px;
  height: 24px;
  transition: opacity .18s, transform .2s;
  position: absolute;
  inset: 15px;
}

.contact-fab__root span {
  opacity: 0;
  background: currentColor;
  border-radius: 2px;
  height: 2px;
  transition: opacity .18s, transform .22s;
  position: absolute;
  top: 26px;
  left: 17px;
  right: 17px;
}

.contact-fab__root span:last-child {
  transform: rotate(90deg);
}

.contact-fab.is-open .contact-fab__root > svg {
  opacity: 0;
  transform: scale(.7);
}

.contact-fab.is-open .contact-fab__root span {
  opacity: 1;
}

.contact-fab.is-open .contact-fab__root span:first-of-type {
  transform: rotate(45deg);
}

.contact-fab.is-open .contact-fab__root span:last-child {
  transform: rotate(-45deg);
}

.contact-fab__list {
  pointer-events: none;
  gap: 9px;
  display: grid;
  position: absolute;
  bottom: 64px;
  right: 3px;
}

.contact-fab--below .contact-fab__list {
  top: 64px;
  bottom: auto;
}

.contact-fab__list a {
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease var(--channel-delay),transform .2s ease var(--channel-delay);
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: relative;
  transform: translateY(10px)scale(.94);
}

.contact-fab.is-open .contact-fab__list a {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.contact-fab__channel {
  background: var(--channel-color, #263d34);
  color: #fff;
  border-radius: 15px;
  place-items: center;
  width: 48px;
  height: 48px;
  transition: transform .18s;
  display: grid;
  box-shadow: 0 9px 25px #0f172a33;
}

.contact-fab__list a:hover .contact-fab__channel, .contact-fab__list a:focus-visible .contact-fab__channel {
  transform: translateX(-2px)scale(1.04);
}

.contact-fab__channel svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 22px;
  height: 22px;
}

.contact-icon-letter {
  font: bold 18px / 1 Arial, sans-serif;
}

.contact-fab__tooltip {
  color: #1e2824;
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #fffffff5;
  border: 1px solid #141f1b1a;
  border-radius: 9px;
  gap: 3px;
  min-width: 145px;
  max-width: 260px;
  padding: 9px 11px;
  transition: opacity .16s, transform .16s;
  display: grid;
  position: absolute;
  right: 59px;
  transform: translateX(7px);
  box-shadow: 0 10px 28px #141e1a24;
}

.contact-fab--tooltip-right .contact-fab__tooltip {
  left: 59px;
  right: auto;
  transform: translateX(-7px);
}

.contact-fab__list a:hover .contact-fab__tooltip, .contact-fab__list a:focus-visible .contact-fab__tooltip {
  opacity: 1;
  transform: none;
}

.contact-fab__tooltip strong {
  font-size: 12px;
  font-weight: 600;
}

.contact-fab__tooltip small {
  color: #68726d;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  overflow: hidden;
}

.inner-page {
  overflow: visible;
}

.inner-page > .site-header {
  background: var(--paper);
  position: relative;
}

.inner-hero, .projects-hero {
  grid-template-columns: .8fr 2fr;
  gap: 60px;
  padding-top: clamp(100px, 12vw, 180px);
  padding-bottom: clamp(100px, 11vw, 160px);
  display: grid;
}

.inner-hero .eyebrow, .projects-hero .eyebrow {
  color: var(--accent);
  margin-top: 10px;
}

.inner-hero h1, .projects-hero h1 {
  grid-column: 2;
  font-size: clamp(60px, 8vw, 122px);
}

.inner-hero > p:last-child, .projects-hero > p:last-child {
  max-width: 650px;
  color: var(--muted);
  grid-column: 2;
  font-size: 17px;
  line-height: 1.8;
}

.about-visual {
  grid-template-columns: 2fr 1fr;
  gap: 50px;
  padding-bottom: 130px;
  display: grid;
}

.about-visual img {
  object-fit: cover;
  width: 100%;
  height: min(72vw, 820px);
}

.about-visual__note {
  border-block: 1px solid var(--line);
  align-self: end;
  padding: 30px 0;
}

.about-visual__note span, .principles article > span {
  color: var(--accent);
  font-size: 10px;
}

.about-visual__note h2 {
  font-family: var(--serif);
  margin: 18px 0;
  font-size: 40px;
  font-weight: 400;
}

.about-visual__note p, .principles p {
  color: var(--muted);
  line-height: 1.7;
}

.principles {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 160px;
  display: grid;
}

.principles article {
  border-top: 1px solid var(--line);
  padding-top: 20px;
}

.principles h3 {
  font-family: var(--serif);
  margin: 54px 0 10px;
  font-size: 36px;
  font-weight: 400;
}

.project-list {
  padding-bottom: 150px;
}

.project-detail__heading {
  grid-template-columns: 2fr 1fr;
  align-items: end;
  gap: 80px;
  padding-top: 120px;
  padding-bottom: 70px;
  display: grid;
}

.project-detail__heading h1 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0;
  font-size: clamp(60px, 8vw, 120px);
  font-weight: 400;
  line-height: .94;
}

.project-detail__heading > div > p:last-child {
  max-width: 620px;
  color: var(--muted);
  font-size: 16px;
}

.project-detail dl {
  gap: 16px;
  margin: 0;
  display: grid;
}

.project-detail dl div {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr 1.4fr;
  padding-bottom: 14px;
  display: grid;
}

.project-detail dt {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 9px;
}

.project-detail dd {
  margin: 0;
  font-size: 12px;
}

.project-detail__cover {
  width: 100%;
  height: min(78vw, 960px);
}

.project-detail__cover img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.project-story {
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  padding-top: 110px;
  padding-bottom: 110px;
  display: grid;
}

.project-story > p:last-child {
  max-width: 840px;
  font-family: var(--serif);
  margin: 0;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.18;
}

.project-gallery {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-bottom: 130px;
  display: grid;
}

.project-gallery img {
  object-fit: cover;
  width: 100%;
  height: 50vw;
  max-height: 760px;
}

.project-gallery img:nth-child(3n+1) {
  grid-column: 1 / -1;
  height: 65vw;
  max-height: 900px;
}

.next-project {
  background: var(--paper-2);
  grid-template-columns: .6fr 2fr auto;
  align-items: center;
  gap: 40px;
  padding-top: 80px;
  padding-bottom: 80px;
  display: grid;
}

.next-project > span:first-child {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
}

.next-project strong {
  font-family: var(--serif);
  font-size: clamp(36px, 5vw, 76px);
  font-weight: 400;
}

.next-project > span:last-child {
  font-size: 36px;
}

.admin-shell {
  --admin-bg: #f5f4f0;
  --admin-panel: #fff;
  --admin-ink: #202321;
  --admin-muted: #737773;
  --admin-green: #284b3d;
  background: var(--admin-bg);
  min-height: 100vh;
  color: var(--admin-ink);
  font-size: 14px;
}

.admin-sidebar {
  z-index: 30;
  color: #f4f1e9;
  background: #1c2924;
  flex-direction: column;
  width: 238px;
  height: 100dvh;
  padding: 24px 18px 18px;
  transition: width .22s, padding .22s, transform .22s;
  display: flex;
  position: fixed;
  inset: 0 auto 0 0;
  overflow: visible;
}

.admin-sidebar__head {
  border-bottom: 1px solid #ffffff1a;
  flex: none;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-height: 76px;
  margin-bottom: 16px;
  padding: 2px 4px 18px;
  display: flex;
}

.admin-logo {
  flex-direction: column;
  gap: 5px;
  padding: 0;
  display: flex;
}

.admin-logo span {
  font-family: var(--serif);
  letter-spacing: .14em;
  font-size: 30px;
}

.admin-logo small {
  color: #f4f1e985;
  letter-spacing: .12em;
  font-size: 10px;
}

.admin-sidebar nav {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #ffffff3d transparent;
  flex: auto;
  align-content: start;
  gap: 7px;
  min-height: 0;
  margin-right: -7px;
  padding: 2px 7px 10px 0;
  display: grid;
  overflow: hidden auto;
}

.admin-sidebar nav::-webkit-scrollbar {
  width: 4px;
}

.admin-sidebar nav::-webkit-scrollbar-track {
  background: none;
}

.admin-sidebar nav::-webkit-scrollbar-thumb {
  background: #ffffff3d;
  border-radius: 10px;
}

.admin-sidebar nav button {
  color: #f4f1e9c2;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 9px;
  grid-template-columns: 27px 1fr auto;
  align-items: center;
  gap: 11px;
  min-height: 49px;
  padding: 11px 10px;
  font-size: 14px;
  font-weight: 550;
  display: grid;
}

.admin-nav-icon {
  place-items: center;
  width: 27px;
  height: 27px;
  font-style: normal;
  display: grid;
}

.admin-nav-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 22px;
  height: 22px;
}

.admin-sidebar nav button:hover, .admin-sidebar nav button.is-active {
  color: #fff;
  background: #f4f1e91a;
}

.admin-sidebar nav b {
  text-align: center;
  background: #ffffff1f;
  border-radius: 20px;
  min-width: 20px;
  padding: 3px 5px;
  font-size: 9px;
}

.admin-user {
  border-top: 1px solid #ffffff1f;
  flex: none;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 16px 8px 0;
  display: flex;
}

.admin-user > div {
  color: #fff;
  background: #b88964;
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid;
}

.admin-user p {
  min-width: 0;
  margin: 0;
}

.admin-user strong, .admin-user small {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 145px;
  display: block;
  overflow: hidden;
}

.admin-user strong {
  font-size: 10px;
}

.admin-user small {
  color: #ffffff7a;
  margin-top: 3px;
  font-size: 8px;
}

.admin-main {
  min-height: 100vh;
  margin-left: 238px;
  transition: margin-left .22s;
}

.admin-topbar {
  background: #f5f4f0f2;
  border-bottom: 1px solid #deddd7;
  justify-content: space-between;
  align-items: center;
  height: 92px;
  padding: 0 36px;
  display: flex;
}

.admin-topbar p, .view-heading p, .admin-modal header p {
  color: #787d78;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 600;
}

.admin-topbar h1 {
  font-family: var(--serif);
  margin: 0;
  font-size: 30px;
  font-weight: 500;
}

.admin-topbar__actions {
  align-items: center;
  gap: 14px;
  display: flex;
}

.admin-topbar__actions a {
  background: #fff;
  border: 1px solid #d6d6d0;
  border-radius: 4px;
  padding: 9px 13px;
  font-size: 10px;
}

.admin-topbar__title {
  align-items: center;
  gap: 16px;
  display: flex;
}

.admin-sidebar-toggle {
  cursor: pointer;
  background: #ffffff14;
  border: 1px solid #fff3;
  border-radius: 9px;
  flex: 0 0 36px;
  align-content: center;
  gap: 4px;
  width: 36px;
  height: 36px;
  margin-top: 2px;
  padding: 9px;
  display: grid;
}

.admin-sidebar-toggle span {
  background: #f4f1e9;
  height: 1px;
  display: block;
}

.admin-sidebar-launcher {
  display: none;
}

.admin-shell--sidebar-closed .admin-sidebar__head {
  padding-inline: 0;
  justify-content: center;
  align-items: flex-start;
  min-height: 70px;
  margin-bottom: 18px;
  padding-bottom: 18px;
}

.admin-shell--sidebar-closed .admin-logo, .admin-shell--sidebar-closed .admin-sidebar nav button > .admin-nav-label, .admin-shell--sidebar-closed .admin-sidebar nav b, .admin-shell--sidebar-closed .admin-user p {
  display: none;
}

.admin-shell--sidebar-closed .admin-sidebar nav button {
  grid-template-columns: 1fr;
  justify-items: center;
  padding-inline: 8px;
}

.admin-shell--sidebar-closed .admin-user {
  justify-content: center;
  padding-inline: 0;
}

.admin-sidebar-tooltip {
  z-index: 100;
  color: #fff;
  white-space: nowrap;
  pointer-events: none;
  background: #101914;
  border: 1px solid #ffffff14;
  border-radius: 7px;
  padding: 8px 11px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  animation: .14s ease-out admin-tooltip-in;
  position: fixed;
  left: 88px;
  transform: translateY(-50%);
  box-shadow: 0 9px 26px #00000047;
}

.admin-sidebar-tooltip:before {
  content: "";
  background: #101914;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translate(4px, -50%)rotate(45deg);
}

@keyframes admin-tooltip-in {
  from {
    opacity: 0;
    transform: translate(5px, -50%);
  }
}

.admin-sidebar-backdrop {
  display: none;
}

.view-heading span {
  font-size: 13px;
  line-height: 1.6;
}

.admin-form label > span, .project-editor label > span {
  font-size: 12px;
  font-weight: 500;
}

.admin-form input, .admin-form select, .admin-form textarea, .project-editor input, .project-editor select, .project-editor textarea {
  font-size: 14px;
}

.admin-logout {
  color: #8a4b42;
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 9px;
}

.save-notice {
  color: var(--admin-green);
  font-size: 10px;
}

.admin-toast {
  z-index: 1200;
  color: #fff;
  border-radius: 8px;
  grid-template-columns: 1fr auto;
  gap: 4px 20px;
  min-width: 320px;
  max-width: 440px;
  padding: 16px 18px;
  animation: .2s ease-out toast-in;
  display: grid;
  position: fixed;
  top: 24px;
  right: 24px;
  box-shadow: 0 16px 45px #0f172a3d;
}

.admin-toast--success {
  background: #214f3f;
}

.admin-toast--error {
  background: #a33b32;
}

.admin-toast strong {
  font-size: 13px;
}

.admin-toast span {
  opacity: .9;
  grid-column: 1;
  font-size: 12px;
}

.admin-toast button {
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  grid-area: 1 / 2 / 3;
  align-self: center;
  font-size: 22px;
}

.live-preview-panel {
  margin-top: 20px;
  padding: 18px;
}

.live-preview-panel > div {
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
  display: flex;
}

.live-preview-panel > div span {
  color: #6b6b66;
  max-width: 600px;
  font-size: 11px;
}

.live-preview-panel iframe {
  background: #fff;
  border: 1px solid #d9d5ca;
  width: 100%;
  height: 620px;
  display: block;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

html {
  scroll-behavior: smooth;
}

.brand--button, .nav button {
  appearance: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
}

.brand--button {
  text-align: left;
  flex-direction: column;
  display: flex;
}

.nav button {
  padding: 8px 4px;
}

.project-card--button {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
}

.back-to-top {
  z-index: 45;
  color: #fff;
  cursor: pointer;
  background: #214f3f;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  place-items: center;
  width: 44px;
  height: 44px;
  transition: transform .18s, background .18s;
  display: grid;
  position: fixed;
  bottom: 92px;
  right: 25px;
  box-shadow: 0 10px 30px #0000002e;
}

.back-to-top:hover {
  background: #183d31;
  transform: translateY(-3px);
}

.back-to-top svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 20px;
  height: 20px;
}

.project-overlay {
  z-index: 1000;
  place-items: center;
  padding: 32px;
  display: grid;
  position: fixed;
  inset: 0;
}

.project-overlay__backdrop {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #0a0e0db8;
  border: 0;
  position: absolute;
  inset: 0;
}

.project-overlay article {
  background: #f7f5ef;
  grid-template-columns: 1.25fr .75fr;
  width: min(1100px, 94vw);
  max-height: 90vh;
  display: grid;
  position: relative;
  overflow: auto;
  box-shadow: 0 24px 100px #0006;
}

.project-overlay article > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 600px;
}

.project-overlay article h2 {
  margin: 12px 0 20px;
  font-size: clamp(36px, 5vw, 70px);
  line-height: .95;
}

.project-overlay article p {
  line-height: 1.8;
}

.project-overlay dl {
  gap: 16px;
  margin-top: 45px;
  display: grid;
}

.project-overlay dl div {
  border-top: 1px solid #d8d4ca;
  justify-content: space-between;
  padding-top: 12px;
  display: flex;
}

.project-overlay dt {
  opacity: .55;
}

.project-overlay dd {
  margin: 0;
}

.project-overlay__detail {
  color: #1e3b31;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-top: 1px solid #d8d4ca;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 16px;
  margin-top: 35px;
  padding-top: 18px;
  font-size: 10px;
  font-weight: 650;
  display: grid;
}

.project-overlay__detail span {
  color: #88837a;
  font-size: 8px;
  font-weight: 500;
}

.project-overlay__detail i {
  font-size: 20px;
  font-style: normal;
  transition: transform .2s;
}

.project-overlay__detail:hover i {
  transform: translateX(5px);
}

.project-overlay__close {
  z-index: 2;
  cursor: pointer;
  background: #f7f5ef;
  border: 1px solid #c9c4b8;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  font-size: 24px;
  position: absolute;
  top: 18px;
  right: 18px;
}

@media (max-width: 900px) {
  .project-overlay {
    padding: 0;
  }

  .project-overlay article {
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
  }

  .project-overlay article > img {
    height: 42vh;
    min-height: 42vh;
  }

  .project-overlay article > div {
    padding: 35px 22px 80px;
  }

  .floating-contact {
    grid-template-columns: 1fr;
    bottom: 12px;
    left: auto;
    right: 12px;
  }

  .quick-contact, .quick-contact:hover, .quick-contact:focus-visible {
    width: 50px;
    min-width: 0;
    transform: none;
  }

  .quick-contact__copy {
    display: none;
  }

  .contact-fab {
    bottom: 12px;
    right: 12px;
  }

  .contact-fab__tooltip {
    display: none;
  }

  .back-to-top {
    bottom: 78px;
    right: 18px;
  }

  .admin-toast {
    min-width: 0;
    top: 14px;
    left: 14px;
    right: 14px;
  }

  .contact-admin-list article {
    grid-template-columns: 48px 1fr auto;
  }

  .contact-admin-list article > em {
    display: none;
  }

  .contact-admin-list .row-actions {
    grid-column: 2 / 4;
  }
}

.security-banner {
  color: #76531f;
  background: #fff7e5;
  border: 1px solid #e5c78d;
  border-radius: 5px;
  justify-content: space-between;
  gap: 20px;
  margin: 24px 36px 0;
  padding: 12px 16px;
  font-size: 10px;
  display: flex;
}

.admin-view {
  padding: 30px 36px 70px;
}

.metric-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  display: grid;
}

.metric-grid article, .admin-panel {
  background: var(--admin-panel);
  border: 1px solid #e1e0da;
  border-radius: 7px;
}

.metric-grid article {
  flex-direction: column;
  min-height: 145px;
  padding: 20px;
  display: flex;
}

.metric-grid article > span {
  color: var(--admin-muted);
  font-size: 9px;
}

.metric-grid article strong {
  font-family: var(--serif);
  margin: 14px 0 auto;
  font-size: 43px;
  font-weight: 400;
}

.metric-grid article small {
  color: #7d9289;
  font-size: 8px;
}

.admin-two-col {
  grid-template-columns: 1.25fr 1fr;
  gap: 14px;
  margin-top: 14px;
  display: grid;
}

.admin-panel {
  padding: 22px;
}

.panel-heading, .view-heading {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  display: flex;
}

.panel-heading {
  margin-bottom: 22px;
}

.panel-heading small {
  color: var(--admin-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 8px;
}

.panel-heading h2, .view-heading h2 {
  font-family: var(--serif);
  margin: 4px 0 0;
  font-size: 24px;
  font-weight: 400;
}

.panel-heading button {
  color: var(--admin-green);
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 9px;
}

.progress-row {
  margin-top: 23px;
}

.progress-row p {
  justify-content: space-between;
  margin: 0 0 8px;
  font-size: 9px;
  display: flex;
}

.progress-row i {
  background: #ecece8;
  border-radius: 4px;
  height: 4px;
  display: block;
  overflow: hidden;
}

.progress-row em {
  background: #b88964;
  height: 100%;
  display: block;
}

.recent-leads > div:not(.panel-heading) {
  border-top: 1px solid #ecebe6;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  display: grid;
}

.recent-leads > div > span {
  width: 28px;
  height: 28px;
  color: var(--admin-green);
  background: #edf1ee;
  border-radius: 50%;
  place-items: center;
  font-size: 9px;
  display: grid;
}

.recent-leads p {
  margin: 0;
}

.recent-leads strong, .recent-leads small {
  display: block;
}

.recent-leads strong {
  font-size: 10px;
}

.recent-leads small, .recent-leads time {
  color: var(--admin-muted);
  font-size: 8px;
}

.view-heading {
  margin-bottom: 26px;
}

.view-heading > div > span {
  color: var(--admin-muted);
  margin-top: 7px;
  font-size: 10px;
  display: block;
}

.admin-primary, .admin-savebar button {
  background: var(--admin-green);
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: 4px;
  padding: 11px 17px;
  font-size: 10px;
}

.template-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.template-card {
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dddcd6;
  border-radius: 7px;
  padding: 0;
  overflow: hidden;
}

.template-card.is-active {
  border-color: var(--admin-green);
  box-shadow: 0 0 0 1px var(--admin-green);
}

.template-card > div:last-child {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 15px;
  display: flex;
}

.template-card p {
  margin: 0;
}

.template-card strong, .template-card small {
  display: block;
}

.template-card strong {
  margin-bottom: 5px;
  font-size: 11px;
}

.template-card small {
  color: var(--admin-muted);
  font-size: 8px;
}

.template-card > div:last-child > b {
  color: var(--admin-green);
  font-size: 8px;
}

.template-mockup {
  color: #171916;
  background-position: center;
  background-size: cover;
  height: 210px;
  position: relative;
  overflow: hidden;
}

.template-mockup:after {
  content: "";
  background: linear-gradient(90deg, #f4f1e9f2, #0000 70%);
  position: absolute;
  inset: 0;
}

.template-mockup i, .template-mockup em, .template-mockup span {
  z-index: 1;
  font-style: normal;
  position: absolute;
}

.template-mockup i {
  letter-spacing: .13em;
  font-size: 8px;
  font-weight: 700;
  top: 14px;
  left: 15px;
}

.template-mockup em {
  width: 60%;
  font-family: var(--serif);
  font-size: 22px;
  line-height: .9;
  bottom: 50px;
  left: 15px;
}

.template-mockup span {
  text-transform: uppercase;
  font-size: 6px;
  bottom: 19px;
  left: 15px;
}

.template-mockup--layout_2 {
  background-position: 68% 55%;
  background-repeat: no-repeat;
  background-size: 58% 75%;
}

.template-mockup--layout_3 {
  color: #f1eae0;
}

.template-mockup--layout_3:after {
  background: linear-gradient(90deg, #080c0ecc, #080c0e26);
}

.admin-savebar {
  z-index: 5;
  background: #fffffff0;
  border: 1px solid #deddd7;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
  padding: 13px 15px;
  display: flex;
  position: sticky;
  bottom: 16px;
  box-shadow: 0 7px 24px #1f262114;
}

.admin-savebar span {
  color: var(--admin-muted);
  font-size: 9px;
}

.admin-savebar button:disabled {
  opacity: .5;
}

.locale-tabs {
  background: #e9e8e2;
  border-radius: 5px;
  padding: 3px;
  display: flex;
}

.locale-tabs button {
  color: var(--admin-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 3px;
  padding: 7px 13px;
  font-size: 9px;
}

.locale-tabs button.is-active {
  color: var(--admin-ink);
  background: #fff;
  box-shadow: 0 1px 3px #00000014;
}

.admin-form {
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  display: grid;
}

.admin-form label, .project-editor label {
  flex-direction: column;
  gap: 7px;
  display: flex;
}

.admin-form label > span, .project-editor label > span {
  color: var(--admin-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 8px;
  font-weight: 600;
}

.admin-form input, .admin-form textarea, .project-editor input, .project-editor textarea, .project-editor select {
  resize: vertical;
  background: #fbfbf9;
  border: 1px solid #d9d8d2;
  border-radius: 4px;
  outline: 0;
  width: 100%;
  padding: 10px 11px;
  font-size: 10px;
}

.admin-form input:focus, .admin-form textarea:focus, .project-editor input:focus, .project-editor textarea:focus, .project-editor select:focus {
  border-color: #8ca094;
  box-shadow: 0 0 0 2px #284b3d14;
}

.form-span {
  grid-column: 1 / -1;
}

.admin-projects {
  gap: 8px;
  display: grid;
}

.admin-projects article {
  background: #fff;
  border: 1px solid #e1e0da;
  border-radius: 6px;
  grid-template-columns: 90px minmax(180px, 1fr) 80px auto;
  align-items: center;
  gap: 16px;
  min-height: 86px;
  padding: 9px;
  display: grid;
}

.admin-projects img {
  object-fit: cover;
  border-radius: 3px;
  width: 90px;
  height: 66px;
}

.admin-projects small {
  color: var(--accent);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 7px;
}

.admin-projects h3 {
  font-family: var(--serif);
  margin: 4px 0;
  font-size: 17px;
  font-weight: 400;
}

.admin-projects p {
  color: var(--admin-muted);
  margin: 0;
  font-size: 8px;
}

.status-published, .status-muted {
  border-radius: 20px;
  width: max-content;
  padding: 5px 8px;
  font-size: 8px;
}

.status-published {
  color: #326147;
  background: #e7f1ea;
}

.status-muted {
  color: #777;
  background: #efefec;
}

.row-actions {
  gap: 5px;
  display: flex;
}

.row-actions button {
  cursor: pointer;
  background: #fff;
  border: 1px solid #deddd8;
  border-radius: 3px;
  padding: 7px 9px;
  font-size: 8px;
}

.row-actions button:last-child {
  color: #a14e43;
}

.leads-table {
  overflow-x: auto;
}

.table-row {
  border-top: 1px solid #ecebe6;
  grid-template-columns: 1.1fr 1.1fr 1.8fr .7fr .8fr;
  align-items: center;
  gap: 15px;
  min-width: 800px;
  padding: 13px 0;
  font-size: 9px;
  display: grid;
}

.table-head {
  color: var(--admin-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 0;
  padding-top: 0;
  font-size: 8px;
}

.table-row strong, .table-row small, .table-row a {
  display: block;
}

.table-row small {
  max-width: 280px;
  color: var(--admin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 4px;
  overflow: hidden;
}

.table-row select {
  background: #fff;
  border: 1px solid #dddcd7;
  border-radius: 3px;
  width: 100%;
  padding: 7px;
  font-size: 8px;
}

.empty-state {
  color: var(--admin-muted);
  font-size: 10px;
}

.admin-modal {
  z-index: 100;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #0c120f9e;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.admin-modal__panel {
  background: #f8f7f4;
  border-radius: 8px;
  width: min(820px, 100%);
  max-height: 92vh;
  overflow: auto;
  box-shadow: 0 30px 90px #00000047;
}

.admin-modal header, .admin-modal footer {
  z-index: 2;
  background: #f8f7f4;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  display: flex;
  position: sticky;
}

.admin-modal header {
  border-bottom: 1px solid #dfded8;
  top: 0;
}

.admin-modal footer {
  border-top: 1px solid #dfded8;
  justify-content: flex-end;
  gap: 8px;
  bottom: 0;
}

.admin-modal header h2 {
  font-family: var(--serif);
  margin: 0;
  font-size: 25px;
  font-weight: 400;
}

.admin-modal header button {
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 27px;
}

.admin-modal footer button {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 9px;
}

.project-editor {
  grid-template-columns: 1fr 1fr;
  gap: 17px 22px;
  padding: 23px;
  display: grid;
}

.upload-field {
  background: #f1f3f0;
  border: 1px dashed #c7c9c4;
  border-radius: 5px;
  padding: 14px;
}

.upload-field small {
  color: var(--admin-muted);
  font-size: 8px;
}

.checkbox-field {
  align-items: center;
  flex-direction: row !important;
}

.checkbox-field input {
  width: auto;
}

.access-denied {
  color: #f4f0e8;
  text-align: center;
  background: #17231e;
  place-content: center;
  gap: 14px;
  min-height: 100vh;
  padding: 30px;
  display: grid;
}

.access-denied h1 {
  font-family: var(--serif);
  margin: 0;
  font-size: 60px;
  font-weight: 400;
}

.access-denied p {
  color: #f4f0e8a6;
  max-width: 500px;
  margin: 0 auto;
}

.access-denied a {
  border: 1px solid;
  width: max-content;
  margin: 20px auto 0;
  padding: 12px 17px;
  font-size: 10px;
}

.admin-login-page {
  color: #f4f0e8;
  background: #17231e;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
  display: grid;
}

.admin-login-page > section {
  background: #ffffff0a;
  border: 1px solid #ffffff24;
  border-radius: 10px;
  width: min(430px, 100%);
  padding: 42px;
  box-shadow: 0 30px 90px #00000038;
}

.admin-login-page section > p {
  color: #b9916e;
  letter-spacing: .16em;
  margin: 0 0 12px;
  font-size: 9px;
  font-weight: 600;
}

.admin-login-page h1 {
  font-family: var(--serif);
  margin: 0 0 10px;
  font-size: 45px;
  font-weight: 400;
}

.admin-login-page section > span {
  color: #f4f0e88f;
  margin-bottom: 30px;
  font-size: 11px;
  display: block;
}

.admin-login-form {
  gap: 18px;
  display: grid;
}

.admin-login-form label {
  gap: 8px;
  display: grid;
}

.admin-login-form label span {
  color: #f4f0e8a6;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 9px;
}

.admin-login-form input {
  color: #fff;
  background: #ffffff0f;
  border: 1px solid #ffffff2e;
  border-radius: 4px;
  outline: 0;
  width: 100%;
  padding: 13px;
}

.admin-login-form input:focus {
  border-color: #b9916e;
  box-shadow: 0 0 0 3px #b9916e1f;
}

.admin-login-form button {
  color: #17231e;
  cursor: pointer;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #b9916e;
  border: 0;
  border-radius: 4px;
  padding: 13px;
  font-size: 10px;
  font-weight: 700;
}

.admin-login-form button:disabled {
  opacity: .55;
}

.admin-login-form [role="alert"], .login-config-error {
  color: #f4b3a7;
  background: #da77671a;
  border: 1px solid #da776759;
  border-radius: 4px;
  margin: 0;
  padding: 11px;
  font-size: 10px;
  line-height: 1.5;
}

.admin-login-page section > a {
  color: #f4f0e88c;
  width: max-content;
  margin-top: 25px;
  font-size: 9px;
  display: block;
}

.admin-shell .metric-grid article > span {
  font-size: 12px;
}

.admin-shell .metric-grid article small, .admin-shell .panel-heading small {
  font-size: 11px;
}

.admin-shell .panel-heading h2, .admin-shell .view-heading h2 {
  font-size: 27px;
  font-weight: 500;
}

.admin-shell .panel-heading button, .admin-shell .progress-row p {
  font-size: 12px;
}

.admin-shell .recent-leads strong {
  font-size: 13px;
}

.admin-shell .recent-leads small, .admin-shell .recent-leads time {
  font-size: 11px;
}

.admin-shell .view-heading > div > span {
  font-size: 13px;
}

.admin-shell .admin-primary, .admin-shell .admin-savebar button {
  font-size: 12px;
}

.admin-shell .template-card strong {
  font-size: 14px;
}

.admin-shell .template-card small {
  font-size: 11px;
  line-height: 1.45;
}

.admin-shell .template-card > div:last-child > b {
  font-size: 10px;
}

.admin-shell .admin-savebar span {
  font-size: 11px;
}

.admin-shell .locale-tabs button, .admin-shell .admin-form label > span, .admin-shell .project-editor label > span {
  font-size: 12px;
}

.admin-shell .admin-form input, .admin-shell .admin-form select, .admin-shell .admin-form textarea, .admin-shell .project-editor input, .admin-shell .project-editor select, .admin-shell .project-editor textarea {
  padding: 12px;
  font-size: 14px;
}

.admin-shell .admin-projects small {
  font-size: 10px;
}

.admin-shell .admin-projects h3 {
  font-size: 19px;
  font-weight: 500;
}

.admin-shell .admin-projects p {
  font-size: 11px;
}

.admin-shell .status-published, .admin-shell .status-muted {
  font-size: 10px;
}

.admin-shell .row-actions button {
  font-size: 11px;
}

.admin-shell .table-row {
  font-size: 12px;
}

.admin-shell .table-head {
  font-size: 11px;
}

.admin-shell .table-row select {
  font-size: 12px;
}

.admin-shell .upload-field small {
  font-size: 11px;
}

.admin-shell .admin-modal footer button, .admin-login-page section > p, .admin-login-form label span, .admin-login-form button, .admin-login-page section > a {
  font-size: 12px;
}

.admin-login-page section > span {
  font-size: 13px;
}

.contact-admin-list {
  gap: 10px;
  display: grid;
}

.contact-admin-list article {
  grid-template-columns: 48px minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 15px;
  padding: 12px 14px;
  display: grid;
}

.contact-admin-list article.is-disabled {
  opacity: .58;
}

.contact-admin-list article > i {
  color: #fff;
  border-radius: 13px;
  place-items: center;
  width: 46px;
  height: 46px;
  font-style: normal;
  display: grid;
  box-shadow: 0 7px 18px #141e1a24;
}

.contact-admin-list article > i span {
  font-size: 16px;
  font-weight: 700;
}

.contact-admin-list article > div:nth-child(2) {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.contact-admin-list article small {
  color: var(--admin-muted);
  text-transform: uppercase;
  font-size: 10px;
}

.contact-admin-list article strong {
  font-size: 14px;
}

.contact-admin-list article div > span {
  color: var(--admin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}

.contact-admin-list article > em {
  color: #356149;
  background: #e8f1eb;
  border-radius: 20px;
  padding: 6px 9px;
  font-size: 10px;
  font-style: normal;
}

.contact-editor-modal input[type="color"] {
  min-height: 44px;
  padding: 4px;
}

.admin-section-switches {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.admin-section-switches > label {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  display: flex;
}

.admin-section-switches > label > span {
  gap: 6px;
  display: grid;
}

.admin-section-switches > label strong {
  font-size: 14px;
}

.admin-section-switches > label small {
  color: var(--admin-muted);
  font-size: 11px;
  line-height: 1.5;
}

.admin-section-switches input[type="checkbox"] {
  width: 42px;
  height: 22px;
  accent-color: var(--admin-green);
  cursor: pointer;
}

.admin-section-speed input {
  border: 1px solid #d9d7cf;
  border-radius: 5px;
  width: 90px;
  padding: 9px;
}

.admin-news-list article p {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 620px;
  overflow: hidden;
}

@media (max-width: 900px) {
  .site-header {
    height: 68px;
  }

  .brand span {
    font-size: 14px;
  }

  .brand small {
    display: none;
  }

  .menu-button {
    z-index: 3;
    width: 40px;
    color: inherit;
    background: none;
    border: 0;
    gap: 4px;
    padding: 8px;
    display: grid;
    position: relative;
  }

  .menu-button span {
    background: currentColor;
    width: 100%;
    height: 1px;
  }

  .menu-button b {
    clip: rect(0,0,0,0);
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

  .nav {
    z-index: 2;
    color: #f4f0e8;
    opacity: 0;
    pointer-events: none;
    font-family: var(--serif);
    letter-spacing: 0;
    text-transform: none;
    background: #17201c;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 14px;
    padding: 80px 30px;
    font-size: 32px;
    transition: all .25s;
    display: flex;
    position: fixed;
    inset: 0;
    transform: translateY(-10px);
  }

  .nav--open {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav .locale-switch {
    font-family: var(--sans);
    border: 0;
    margin-top: 20px;
    padding-left: 0;
    font-size: 13px;
  }

  .hero--layout_1 .hero__image-wrap, .hero--layout_2 .hero__image-wrap, .hero--layout_3 .hero__image-wrap {
    inset: 0;
  }

  .hero--layout_1 .hero__veil, .hero--layout_2 .hero__veil, .hero--layout_3 .hero__veil {
    background: linear-gradient(0deg, #080c0ec7, #080c0e1f 72%);
  }

  .hero--layout_1, .hero--layout_2 {
    color: #f4eee3;
  }

  .hero--layout_1 .hero__copy, .hero--layout_2 .hero__copy, .hero--layout_3 .hero__copy {
    width: auto;
    inset: auto 24px 12%;
  }

  .hero__copy .eyebrow {
    margin-bottom: 14px;
  }

  .hero--layout_1 .hero__copy h1, .hero--layout_2 .hero__copy h1, .hero--layout_3 .hero__copy h1 {
    font-size: clamp(52px, 15vw, 76px);
    line-height: .92;
  }

  .hero__copy .button {
    margin-top: 28px;
  }

  .hero__meta {
    display: none !important;
  }

  .hero__controls {
    color: #fff;
    bottom: 3% !important;
    right: 24px !important;
  }

  .hero--layout_2:after {
    display: none;
  }

  .statement, .section-heading, .contact-section, .inner-hero, .projects-hero, .project-detail__heading, .project-story {
    grid-template-columns: 1fr;
  }

  .statement, .section-heading {
    gap: 28px;
  }

  .statement > div > p, .text-link {
    margin-left: 0;
  }

  .project-grid--compact {
    grid-template-columns: 1fr 1fr;
  }

  .project-grid--compact .project-card:nth-child(n) {
    grid-column: auto;
    margin-top: 0;
  }

  .project-grid--compact .project-card:nth-child(3) {
    grid-column: 1 / -1;
    width: 70%;
    margin: 35px auto 0;
  }

  .contact-section {
    gap: 70px;
  }

  .site-footer {
    grid-template-columns: 1fr 1fr;
  }

  .footer-meta {
    text-align: left;
  }

  .inner-hero h1, .inner-hero > p:last-child, .projects-hero h1, .projects-hero > p:last-child {
    grid-column: 1;
  }

  .about-visual {
    grid-template-columns: 1fr;
  }

  .about-visual img {
    height: 95vw;
  }

  .about-visual__note {
    max-width: 600px;
  }

  .project-detail__heading {
    gap: 50px;
  }

  .project-detail__cover {
    height: 75vh;
  }

  .project-story {
    gap: 40px;
  }

  .admin-sidebar {
    width: 190px;
  }

  .admin-main {
    margin-left: 190px;
  }

  .metric-grid {
    grid-template-columns: 1fr 1fr;
  }

  .template-grid, .admin-two-col {
    grid-template-columns: 1fr;
  }

  .admin-topbar, .admin-view {
    padding-inline: 22px;
  }

  .security-banner {
    margin-inline: 22px;
  }

  .admin-projects article {
    grid-template-columns: 72px 1fr auto;
  }

  .admin-projects img {
    width: 72px;
  }

  .admin-projects article > span {
    display: none;
  }

  .row-actions {
    grid-area: 1 / 3;
  }
}

@media (max-width: 640px) {
  .site-header {
    padding-inline: 18px;
  }

  .hero--layout_1 .hero__copy, .hero--layout_2 .hero__copy, .hero--layout_3 .hero__copy {
    left: 18px;
    right: 18px;
  }

  .hero__copy .eyebrow {
    max-width: 220px;
  }

  .hero__copy .button {
    min-width: 190px;
    padding: 15px 17px;
  }

  .statement, .featured-projects, .contact-section {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .statement h2, .section-heading h2, .contact-section h2 {
    font-size: 47px;
  }

  .project-grid, .project-grid--compact {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .project-grid--compact .project-card:nth-child(3) {
    grid-column: auto;
    width: auto;
    margin: 0;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .form-field--wide, .form-actions {
    grid-column: auto;
  }

  .form-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .quote-band p {
    font-size: 43px;
  }

  .site-footer {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 60px;
  }

  .floating-contact {
    bottom: 10px;
    left: auto;
    right: 10px;
  }

  .quick-contact {
    border-radius: 13px;
    width: 48px;
    min-height: 48px;
    padding: 6px;
  }

  .quick-contact__icon {
    flex-basis: 34px;
    height: 34px;
  }

  .inner-hero, .projects-hero {
    padding-top: 90px;
    padding-bottom: 80px;
  }

  .inner-hero h1, .projects-hero h1 {
    font-size: 56px;
  }

  .about-visual {
    padding-bottom: 90px;
  }

  .principles {
    grid-template-columns: 1fr;
    padding-bottom: 100px;
  }

  .principles h3 {
    margin-top: 24px;
  }

  .project-grid {
    grid-template-columns: 1fr;
  }

  .project-detail__heading {
    padding-top: 80px;
  }

  .project-detail__heading h1 {
    font-size: 55px;
  }

  .project-detail dl div {
    grid-template-columns: 1fr 1.5fr;
  }

  .project-detail__cover {
    height: 62vh;
  }

  .project-story > p:last-child {
    font-size: 32px;
  }

  .project-gallery {
    grid-template-columns: 1fr;
  }

  .project-gallery img, .project-gallery img:nth-child(n) {
    grid-column: auto;
    height: 85vw;
  }

  .next-project {
    grid-template-columns: 1fr auto;
  }

  .next-project > span:first-child {
    grid-column: 1 / -1;
  }

  .next-project strong {
    font-size: 38px;
  }

  .admin-shell {
    min-width: 0;
  }

  .admin-sidebar, .admin-shell--sidebar-closed .admin-sidebar {
    z-index: 80;
    width: 260px;
    height: 100vh;
    padding: 24px 15px 18px;
    position: fixed;
    transform: translateX(0);
  }

  .admin-shell--sidebar-closed .admin-sidebar {
    transform: translateX(-100%);
  }

  .admin-shell--sidebar-closed .admin-sidebar__head {
    justify-content: space-between;
  }

  .admin-shell--sidebar-closed .admin-logo {
    align-items: flex-start;
    padding-inline: 8px;
    display: flex;
  }

  .admin-shell--sidebar-closed .admin-logo span {
    letter-spacing: .14em;
    font-size: 30px;
  }

  .admin-shell--sidebar-closed .admin-logo small, .admin-shell--sidebar-closed .admin-sidebar nav button > span, .admin-shell--sidebar-closed .admin-sidebar nav b, .admin-shell--sidebar-closed .admin-user p {
    display: block;
  }

  .admin-shell--sidebar-closed .admin-sidebar nav button {
    grid-template-columns: 24px 1fr auto;
    justify-items: stretch;
  }

  .admin-user {
    display: flex;
  }

  .admin-main, .admin-shell--sidebar-closed .admin-main {
    margin: 0;
  }

  .admin-sidebar-backdrop {
    z-index: 70;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    background: #0f171470;
    border: 0;
    display: block;
    position: fixed;
    inset: 0;
  }

  .admin-sidebar-launcher {
    z-index: 65;
    background: #fff;
    border: 1px solid #d6d6d0;
    border-radius: 8px;
    align-content: center;
    gap: 4px;
    width: 40px;
    height: 40px;
    padding: 10px;
    display: grid;
    position: fixed;
    top: 18px;
    left: 14px;
    box-shadow: 0 8px 24px #0000001a;
  }

  .admin-sidebar-launcher span {
    background: #33433c;
    height: 1px;
    display: block;
  }

  .admin-shell--sidebar-closed .admin-topbar__title {
    padding-left: 48px;
  }

  .admin-topbar {
    height: auto;
    min-height: 78px;
    padding: 14px 16px;
  }

  .admin-topbar__actions a {
    display: none;
  }

  .admin-topbar h1 {
    font-size: 25px;
  }

  .admin-topbar__actions .save-notice {
    display: none;
  }

  .admin-view {
    padding: 20px 16px 70px;
  }

  .security-banner {
    flex-direction: column;
    margin: 16px;
  }

  .metric-grid {
    grid-template-columns: 1fr 1fr;
  }

  .metric-grid article {
    min-height: 125px;
    padding: 15px;
  }

  .metric-grid article strong {
    font-size: 35px;
  }

  .view-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .template-mockup {
    height: 180px;
  }

  .admin-form, .project-editor {
    grid-template-columns: 1fr;
  }

  .form-span {
    grid-column: auto;
  }

  .admin-projects article {
    grid-template-columns: 68px 1fr;
  }

  .row-actions {
    grid-area: auto / 1 / auto / -1;
  }

  .admin-modal {
    padding: 0;
  }

  .admin-modal__panel {
    border-radius: 0;
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
  }

  .project-editor {
    padding: 16px;
  }

  .admin-savebar {
    bottom: 8px;
  }

  .access-denied h1 {
    font-size: 45px;
  }

  .admin-logo {
    padding: 0 8px;
  }

  .admin-sidebar-tooltip {
    display: none;
  }
}

.immersive-site {
  background: #f1f1ef;
}

.immersive-site .hero--layout_1 .hero__veil {
  background: linear-gradient(90deg, #050808c2, #05080840 62%, #0508086b), linear-gradient(0deg, #050808b8, #0000 52%);
  inset: 0;
}

.immersive-site .hero--layout_1 .hero__subtitle {
  color: #fffc;
  max-width: 470px;
  display: block;
}

.immersive-site .hero--layout_1 .hero__meta {
  color: #fff;
  text-align: right;
  flex-direction: column;
  align-items: flex-end;
  inset: 18% clamp(28px, 5vw, 76px) auto auto;
}

.immersive-site .hero--layout_1 .hero__meta small {
  color: #ffffffa8;
  display: block;
}

.immersive-site .hero--layout_1 .hero__controls {
  bottom: 7%;
  right: clamp(28px, 5vw, 76px);
}

.hero__expertise {
  z-index: 5;
  color: #fff;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 34px;
  width: min(66vw, 900px);
  display: grid;
  position: absolute;
  bottom: 7%;
  left: clamp(28px, 5vw, 76px);
}

.hero__expertise button {
  min-height: 70px;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-top: 2px solid #ffffffb8;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  display: grid;
  position: relative;
}

.hero__expertise button:after {
  content: "";
  background: #fff;
  width: 0;
  height: 2px;
  transition: width .28s;
  position: absolute;
  top: -2px;
  left: 0;
}

.hero__expertise button:hover:after {
  width: 100%;
}

.hero__expertise small {
  color: #ffffff8a;
  font-size: 9px;
}

.hero__expertise strong {
  text-transform: uppercase;
  font-size: clamp(14px, 1.45vw, 22px);
  line-height: 1.12;
}

.hero__expertise span {
  font-size: 18px;
}

.hero-scroll-cue {
  z-index: 7;
  color: #fff;
  cursor: pointer;
  background: none;
  border: 0;
  justify-items: center;
  gap: 7px;
  display: grid;
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
}

.hero-scroll-cue span {
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 8px;
}

.hero-scroll-cue i {
  font-size: 22px;
  font-style: normal;
  animation: 1.8s ease-in-out infinite scroll-cue;
}

@keyframes scroll-cue {
  50% {
    transform: translateY(6px);
  }
}

.studio-intro {
  background: #f1f1ef;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 70px;
  padding-top: clamp(110px, 12vw, 180px);
  padding-bottom: clamp(100px, 11vw, 165px);
  display: grid;
}

.studio-intro__heading > p, .project-showcase > header > p, .news-section__heading > p {
  color: #555;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0 0 28px;
  font-size: 10px;
  font-weight: 650;
}

.studio-intro h2, .project-showcase h2, .news-section h2 {
  letter-spacing: -.055em;
  text-transform: uppercase;
  margin: 0;
  font-size: clamp(47px, 6vw, 92px);
  font-weight: 650;
  line-height: .93;
}

.studio-intro__body {
  align-content: end;
  gap: 38px;
  padding-top: 70px;
  display: grid;
}

.studio-intro__body p {
  color: #565a57;
  max-width: 650px;
  margin: 0;
  font-size: clamp(16px, 1.45vw, 22px);
  line-height: 1.75;
}

.studio-intro__body strong {
  letter-spacing: .1em;
  text-transform: uppercase;
  max-width: 540px;
  font-size: 13px;
  line-height: 1.6;
}

.studio-stats {
  border-top: 1px solid #bfc2be;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 60px;
  display: grid;
}

.studio-stats article {
  border-right: 1px solid #bfc2be;
  grid-template-rows: auto 1fr auto;
  min-height: 190px;
  padding: 18px 24px 22px 0;
  display: grid;
}

.studio-stats article:last-child {
  border-right: 0;
  padding-left: 24px;
}

.studio-stats article:not(:first-child) {
  padding-left: 24px;
}

.studio-stats small {
  color: #777;
  font-size: 9px;
}

.studio-stats strong {
  letter-spacing: -.05em;
  align-self: center;
  font-size: clamp(45px, 5vw, 78px);
  font-weight: 500;
}

.studio-stats span {
  color: #565a57;
  letter-spacing: .09em;
  text-transform: uppercase;
  max-width: 160px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
}

.project-showcase {
  background: #e6e6e3;
  padding: clamp(80px, 9vw, 135px) clamp(10px, 1vw, 16px) 16px;
}

.project-showcase > header {
  text-align: center;
  width: min(900px, 90vw);
  margin: 0 auto 62px;
}

.project-showcase > header > p {
  margin-bottom: 20px;
}

.project-showcase__stage {
  background: #222;
  height: min(76vw, 780px);
  min-height: 540px;
  position: relative;
  overflow: hidden;
}

.project-showcase__stage > img {
  object-fit: cover;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity .65s, transform 1.3s;
  position: absolute;
  inset: 0;
  transform: scale(1.03);
}

.project-showcase__stage > img.is-active {
  opacity: 1;
  transform: scale(1);
}

.project-showcase__stage:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(0deg, #0000009e, #0000 55%);
  position: absolute;
  inset: 0;
}

.project-showcase__open {
  z-index: 2;
  color: #fff;
  text-align: center;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #070a0980;
  border: 1px solid #ffffff38;
  gap: 9px;
  width: min(620px, 78vw);
  padding: 28px 34px;
  display: grid;
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
}

.project-showcase__open span {
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: 9px;
}

.project-showcase__open strong {
  font-size: clamp(27px, 3vw, 45px);
  line-height: 1.05;
}

.project-showcase__open small {
  color: #ffffffa3;
  font-size: 10px;
}

.project-showcase__controls {
  z-index: 3;
  color: #fff;
  align-items: center;
  gap: 12px;
  display: flex;
  position: absolute;
  bottom: 22px;
  right: 22px;
}

.project-showcase__controls button {
  color: #fff;
  cursor: pointer;
  background: #0003;
  border: 1px solid #ffffff75;
  border-radius: 50%;
  width: 42px;
  height: 42px;
}

.project-showcase__controls span {
  font-size: 10px;
}

.all-projects {
  background: #f1f1ef;
  padding-top: clamp(100px, 10vw, 160px);
  padding-bottom: clamp(110px, 12vw, 190px);
}

.news-section {
  color: #f2f2ef;
  background: #0a0b0b;
  padding-top: clamp(110px, 11vw, 170px);
  padding-bottom: clamp(110px, 11vw, 170px);
  overflow: hidden;
}

.news-section__heading {
  grid-template-columns: .55fr 1.45fr;
  gap: 50px;
  margin-bottom: 70px;
  display: grid;
}

.news-section__heading > p {
  color: #ffffff80;
}

.news-section__heading h2 {
  max-width: 900px;
}

.news-section__heading span {
  color: #ffffff94;
  max-width: 620px;
  margin-top: 26px;
  line-height: 1.7;
  display: block;
}

.news-rail {
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 22px;
  display: grid;
}

.news-card {
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-rows: auto auto auto 1fr;
  align-content: start;
  padding: 0 0 26px;
  display: grid;
}

.news-card__image {
  aspect-ratio: 4 / 3;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.news-card__image img {
  object-fit: cover;
  filter: saturate(.82);
  width: 100%;
  height: 100%;
  transition: transform .65s, filter .3s;
}

.news-card__image i {
  color: #111;
  opacity: 0;
  background: #fff;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  font-style: normal;
  transition: all .25s;
  display: grid;
  position: absolute;
  bottom: 12px;
  right: 12px;
  transform: translateY(8px);
}

.news-card:hover img {
  filter: saturate();
  transform: scale(1.035);
}

.news-card:hover .news-card__image i {
  opacity: 1;
  transform: none;
}

.news-card time {
  color: #ffffff73;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 9px;
}

.news-card > strong {
  margin-top: 11px;
  font-size: clamp(19px, 1.75vw, 28px);
  line-height: 1.18;
}

.news-card > p {
  color: #ffffff85;
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.65;
}

.section-rail {
  z-index: 50;
  color: #fff;
  mix-blend-mode: difference;
  gap: 8px;
  display: grid;
  position: fixed;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.section-rail button {
  color: #fff;
  cursor: pointer;
  filter: drop-shadow(0 1px 3px #00000080);
  background: none;
  border: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 9px;
  padding: 4px;
  display: flex;
}

.section-rail button span {
  opacity: 0;
  white-space: nowrap;
  max-width: 0;
  font-size: 9px;
  transition: max-width .25s, opacity .2s;
  overflow: hidden;
}

.section-rail button i {
  background: #0000002e;
  border: 2px solid;
  border-radius: 50%;
  width: 11px;
  height: 11px;
}

.section-rail button:hover span, .section-rail button.is-active span {
  opacity: 1;
  max-width: 130px;
}

.section-rail button.is-active i {
  background: #fff;
  box-shadow: 0 0 0 3px #00000040;
}

.news-overlay {
  z-index: 1000;
  place-items: center;
  padding: 32px;
  display: grid;
  position: fixed;
  inset: 0;
}

.news-overlay__backdrop {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #050707cc;
  border: 0;
  position: absolute;
  inset: 0;
}

.news-overlay article {
  background: #f2f1ed;
  grid-template-columns: 1fr 1fr;
  width: min(1160px, 94vw);
  max-height: 90vh;
  display: grid;
  position: relative;
  overflow: auto;
  box-shadow: 0 28px 100px #00000070;
}

.news-overlay article > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 680px;
}

.news-overlay article > div {
  flex-direction: column;
  padding: 70px 55px;
  display: flex;
}

.news-overlay time, .news-overlay article > div > p {
  color: #777;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 9px;
}

.news-overlay article > div > p {
  margin: 10px 0 50px;
}

.news-overlay h2 {
  letter-spacing: -.05em;
  margin: 0 0 24px;
  font-size: clamp(38px, 4.4vw, 66px);
  line-height: .98;
}

.news-overlay article > div > strong {
  font-size: 16px;
  line-height: 1.6;
}

.news-overlay article > div > span {
  color: #555;
  margin-top: 35px;
  line-height: 1.8;
}

@media (max-width: 900px) {
  .immersive-site .hero--layout_1 .hero__copy {
    width: 72vw;
    top: 18%;
  }

  .hero__expertise {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 78vw;
  }

  .immersive-site .hero--layout_1 .hero__meta {
    display: none;
  }

  .studio-intro {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .studio-intro__body {
    padding-top: 0;
  }

  .studio-stats {
    grid-template-columns: 1fr 1fr;
  }

  .studio-stats article:nth-child(2) {
    border-right: 0;
  }

  .studio-stats article:nth-child(n+3) {
    border-top: 1px solid #bfc2be;
  }

  .news-section__heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .news-rail {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }

  .news-overlay {
    padding: 0;
  }

  .news-overlay article {
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
  }

  .news-overlay article > img {
    height: 42vh;
    min-height: 42vh;
  }

  .news-overlay article > div {
    padding: 38px 24px 80px;
  }
}

@media (max-width: 640px) {
  .immersive-site .hero--layout_1 .hero__copy {
    width: auto;
    top: 17%;
  }

  .immersive-site .hero--layout_1 .hero__copy h1 {
    font-size: 45px;
  }

  .immersive-site .hero--layout_1 .hero__copy .button {
    display: none;
  }

  .hero__expertise {
    gap: 0 18px;
    width: auto;
    bottom: 7%;
    left: 18px;
    right: 18px;
  }

  .hero__expertise button {
    grid-template-columns: 20px 1fr;
    min-height: 55px;
  }

  .hero__expertise button span {
    display: none;
  }

  .hero__expertise strong {
    font-size: 12px;
  }

  .hero-scroll-cue {
    display: none;
  }

  .studio-intro {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .studio-intro h2, .project-showcase h2, .news-section h2 {
    font-size: 44px;
  }

  .studio-stats {
    margin-top: 30px;
  }

  .studio-stats article {
    min-height: 150px;
    padding: 14px !important;
  }

  .studio-stats strong {
    font-size: 42px;
  }

  .project-showcase {
    padding-top: 80px;
  }

  .project-showcase__stage {
    height: 68vh;
    min-height: 68vh;
  }

  .project-showcase__open {
    padding: 22px 18px;
    bottom: 12%;
  }

  .project-showcase__controls {
    bottom: 12px;
    right: 12px;
  }

  .news-rail {
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 12px;
    display: flex;
    overflow-x: auto;
  }

  .news-card {
    scroll-snap-align: start;
    flex: 0 0 82vw;
  }

  .section-rail {
    display: none;
  }

  .admin-section-switches {
    grid-template-columns: 1fr;
  }
}

.spa-site > .site-header, .inner-page > .site-header.site-header--glass {
  z-index: 1000 !important;
}

.homepage-section-slot, .homepage-project-group {
  z-index: 0;
  position: relative;
}

.hero__progress {
  justify-content: center;
  gap: 7px;
  min-width: 56px;
}

.hero__progress button {
  opacity: .8;
  background: none;
  border: 1px solid #ffffffb8;
  border-radius: 50%;
  width: 7px;
  min-width: 7px;
  height: 7px;
  padding: 0;
}

.hero__progress button.is-active {
  opacity: 1;
  background: #fff;
  transform: scale(1.15);
}

.content-new-badge {
  z-index: 3;
  color: #fff;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #cf7046;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 9px;
  font-weight: 700;
  position: absolute;
  top: 12px;
  left: 12px;
}

.project-card__image, .news-card__image {
  position: relative;
}

.admin-sidebar nav {
  scrollbar-width: thin;
  scrollbar-color: #ffffff3d transparent;
  align-content: start;
  overflow-y: auto;
}

.admin-sidebar nav button.is-active .admin-nav-icon {
  background: #ffffff14;
  border-radius: 8px;
}

.admin-nav-label {
  align-self: center;
  font-size: 13px;
  line-height: 1.35;
}

.admin-shell--sidebar-closed .admin-sidebar nav button {
  grid-template-columns: 1fr;
  place-items: center;
  padding: 8px;
}

.admin-modal {
  z-index: 2000;
}

.admin-modal__panel {
  transition: width .2s, height .2s, max-height .2s;
  position: relative;
}

.admin-modal__panel.is-maximized {
  min-height: 100vh;
  border-radius: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: none !important;
}

.admin-modal__panel.is-maximized iframe {
  height: calc(100vh - 150px) !important;
}

.admin-modal header {
  justify-content: flex-start;
  gap: 10px;
  min-height: 76px;
}

.admin-modal header > div:first-child {
  margin-right: auto;
}

.admin-modal header > button, .admin-modal__maximize {
  color: #17231e !important;
  background: #eef1ed !important;
  border: 1px solid #dfe3df !important;
  border-radius: 50% !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  line-height: 0 !important;
  display: inline-grid !important;
}

.admin-modal header > button svg, .admin-modal__maximize svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 18px;
  height: 18px;
  display: block;
}

.admin-modal header > button:last-child svg {
  width: 16px;
  height: 16px;
}

.required-label:after {
  content: " *";
  color: #c83f36;
  font-weight: 800;
}

.admin-form label:has(input[required]) > span:first-child:after {
  content: " *";
  color: #c83f36;
  font-weight: 800;
}

.project-editor label:has(input[required]) > span:first-child:after {
  content: " *";
  color: #c83f36;
  font-weight: 800;
}

.admin-view-counter {
  color: #315848;
  background: #edf2ef;
  border-radius: 6px;
  align-self: center;
  margin: 0;
  padding: 11px 13px;
  font-size: 11px;
}

.admin-preview-link {
  color: #173f31;
  background: #f4f7f5;
  border: 1px solid #aebbb4;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  font-size: 10px;
  font-weight: 650;
  text-decoration: none;
  display: inline-flex;
}

.admin-preview-link:hover {
  color: #fff;
  background: #173f31;
  border-color: #173f31;
}

.admin-preview-hint {
  color: #777;
  align-self: center;
  font-size: 9px;
}

.homepage-order-editor {
  gap: 10px;
  margin-bottom: 18px;
  display: grid;
}

.homepage-order-editor__hero, .homepage-order-row {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 15px 17px;
  display: grid;
}

.homepage-order-editor__hero > span, .homepage-order-row > span {
  color: #fff;
  background: #173129;
  border-radius: 50%;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 10px;
  display: grid;
}

.homepage-order-editor__hero > div, .homepage-order-row > div:nth-child(2) {
  gap: 4px;
  display: grid;
}

.homepage-order-editor small {
  color: #717670;
  font-size: 10px;
  line-height: 1.5;
}

.homepage-order-editor__hero > b {
  color: #527264;
  text-transform: uppercase;
  font-size: 9px;
}

.homepage-order-row__actions {
  align-items: center;
  gap: 7px;
  display: flex;
}

.homepage-order-row__actions > button {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d3d8d4;
  border-radius: 5px;
  width: 34px;
  height: 34px;
}

.homepage-order-row__actions > a {
  color: #315848;
  white-space: nowrap;
  font-size: 9px;
}

.admin-switch {
  cursor: pointer;
  align-items: center;
  gap: 7px;
  display: flex;
}

.admin-switch input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.admin-switch i {
  background: #c4c9c6;
  border-radius: 20px;
  width: 38px;
  height: 22px;
  position: relative;
}

.admin-switch i:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  transition: transform .2s;
  position: absolute;
  top: 3px;
  left: 3px;
}

.admin-switch input:checked + i {
  background: #315c49;
}

.admin-switch input:checked + i:after {
  transform: translateX(16px);
}

.admin-switch span {
  color: #626862;
  min-width: 54px;
  font-size: 9px;
}

.homepage-advanced {
  margin: 18px 0;
  padding: 0;
  overflow: hidden;
}

.homepage-advanced > summary {
  cursor: pointer;
  padding: 17px;
  font-size: 12px;
  font-weight: 700;
}

.homepage-advanced > .admin-section-switches {
  padding: 0 17px 17px;
}

.admin-content-groups {
  gap: 10px;
  margin-top: 18px;
  display: grid;
}

.admin-content-group {
  padding: 0;
  overflow: hidden;
}

.admin-content-group > summary, .locale-label-group > summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 17px 19px;
  list-style: none;
  display: flex;
}

.admin-content-group > summary span, .locale-label-group > summary span {
  gap: 4px;
  display: grid;
}

.admin-content-group > summary small, .locale-label-group > summary small {
  color: #777;
  font-size: 9px;
  font-weight: 400;
}

.admin-content-group > summary b, .locale-label-group > summary b {
  color: #315848;
  background: #e9eeeb;
  border-radius: 20px;
  padding: 5px 8px;
  font-size: 8px;
}

.admin-content-group[open] > summary, .locale-label-group[open] > summary {
  background: #f0f3f1;
  border-bottom: 1px solid #ddd;
}

.admin-content-group > .admin-form, .locale-label-group > .admin-form {
  border: 0;
  border-radius: 0;
  padding: 18px;
}

.admin-content-group > footer {
  justify-content: flex-end;
  padding: 0 18px 18px;
  display: flex;
}

.visual-editor {
  background: #fff;
  border: 1px solid #d9ddd9;
  border-radius: 7px;
  overflow: hidden;
}

.visual-editor__head {
  background: #f5f7f5;
  border-bottom: 1px solid #e0e2df;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 13px 15px;
  display: flex;
}

.visual-editor__head > span {
  gap: 3px;
  display: grid;
}

.visual-editor__head small {
  color: #747974;
  font-size: 9px;
}

.visual-editor__modes {
  gap: 4px;
  display: flex;
}

.visual-editor__modes button {
  color: #455149;
  background: #fff;
  border: 1px solid #d2d7d3;
  border-radius: 4px;
  padding: 7px 10px;
  font-size: 9px;
}

.visual-editor__modes button.is-active {
  color: #fff;
  background: #173f31;
  border-color: #173f31;
}

.visual-editor__toolbar {
  z-index: 2;
  background: #fafafa;
  border-bottom: 1px solid #dedfdd;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  padding: 9px 11px;
  display: flex;
  position: sticky;
  top: 0;
}

.visual-editor__toolbar button, .visual-editor__toolbar select {
  color: #28362f;
  background: #fff;
  border: 1px solid #d7d9d6;
  border-radius: 4px;
  min-height: 32px;
  padding: 6px 9px;
  font-size: 10px;
}

.visual-editor__toolbar button:nth-of-type(4), .visual-editor__toolbar button:nth-of-type(5), .visual-editor__toolbar button:nth-of-type(6) {
  font-family: monospace;
}

.visual-editor__media-button {
  background: #eaf1ed !important;
  border-color: #315c49 !important;
}

.visual-editor__surface, .visual-editor__preview {
  color: #1d211f;
  background: #fff;
  outline: 0;
  min-height: 360px;
  padding: clamp(20px, 4vw, 48px);
  font-size: 16px;
  line-height: 1.75;
}

.visual-editor__surface:empty:before {
  content: attr(data-placeholder);
  color: #a0a49f;
}

.visual-editor__source {
  resize: vertical;
  color: #e9f3ec;
  background: #152019;
  border: 0;
  border-radius: 0;
  width: 100%;
  min-height: 420px;
  padding: 18px;
  font: 13px / 1.65 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.visual-editor-picker__body {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  display: grid;
}

.visual-editor-picker__options {
  align-content: start;
  gap: 15px;
  display: grid;
}

.visual-editor-picker__options label:first-child {
  gap: 7px;
  display: grid;
}

.visual-editor-picker__options select {
  border: 1px solid #d4d7d4;
  border-radius: 5px;
  min-height: 42px;
  padding: 8px;
}

.visual-editor-picker__options p {
  color: #6f756f;
  font-size: 10px;
  line-height: 1.55;
}

.cms-content__media img {
  object-fit: contain;
  background: #111714;
  width: 100%;
  max-height: calc(100svh - 150px);
}

.cms-content__media figcaption {
  color: #777;
  margin-top: 7px;
  font-size: 11px;
}

.news-category-admin > header {
  background: #f5f7f5;
  border-bottom: 1px solid #e0e2df;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 16px 18px;
  display: flex;
}

.news-category-admin > header > div {
  gap: 4px;
  display: grid;
}

.news-category-admin > header span {
  color: #777;
  font-size: 10px;
}

.news-category-list > button {
  color: #27342e;
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #eceeeb;
  grid-template-columns: minmax(0, 1fr) 70px 82px 45px;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 13px 18px;
  display: grid;
}

.news-category-list > button:hover {
  background: #f3f6f4;
}

.news-category-list small {
  color: #bd6846;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 8px;
}

.news-category-list em {
  color: #747974;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-style: normal;
  overflow: hidden;
}

.news-category-list b, .news-category-list i, .news-category-list u {
  font-size: 9px;
  font-style: normal;
  text-decoration: none;
}

.news-category-list i {
  color: #888;
}

.news-category-list i.is-enabled {
  color: #2d6c4e;
}

.news-category-list u {
  color: #315848;
}

.admin-news-list .row-actions {
  align-items: center;
}

.admin-news-list article > div:nth-child(2) > small:last-child {
  color: #596b61;
  margin-top: 6px;
  display: block;
}

.priority-locale-layout > .admin-form {
  align-items: start;
}

.locale-label-group {
  border: 1px solid #d9ddd9;
  border-radius: 7px;
  grid-column: 1 / -1;
  overflow: hidden;
}

.locale-label-group label > span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.locale-label-group label > span small {
  color: #969a96;
  font-size: 8px;
  font-weight: 400;
}

@media (max-width: 900px) {
  .homepage-order-row {
    grid-template-columns: 40px 1fr;
  }

  .homepage-order-row__actions {
    flex-wrap: wrap;
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .visual-editor-picker__body {
    grid-template-columns: 1fr;
  }

  .news-category-list > button, .news-category-list > button > span {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .news-category-list > button > b, .news-category-list > button > i, .news-category-list > button > u {
    display: inline-block;
  }
}

@media (max-width: 640px) {
  .cms-content__media--split, .cms-content__media--grid {
    grid-template-columns: 1fr;
  }

  .visual-editor__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .visual-editor__toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .visual-editor__toolbar > * {
    flex: none;
  }
}

.priority-notice {
  color: #173129;
  background: #fff;
  border-left: 3px solid #c86d45;
  margin: 0 0 18px;
  padding: 12px 16px;
}

.priority-locale-layout {
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  display: grid;
}

.priority-locale-layout > aside {
  gap: 6px;
  padding: 10px;
  display: grid;
  position: sticky;
  top: 110px;
}

.priority-locale-layout > aside button {
  text-align: left;
  color: #4a514e;
  background: none;
  border: 0;
  border-radius: 8px;
  gap: 4px;
  padding: 14px;
  display: grid;
}

.priority-locale-layout > aside button.is-active {
  color: #fff;
  background: #173129;
}

.priority-locale-layout > aside small {
  opacity: .65;
}

.priority-admin .admin-form h3 {
  font: 700 12px/1.4 var(--font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid #ddd;
  padding: 20px 0 10px;
}

.priority-type-tabs {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  display: flex;
}

.priority-type-tabs button {
  background: #fff;
  border: 1px solid #d9d9d4;
  border-radius: 999px;
  padding: 10px 16px;
}

.priority-type-tabs button.is-active {
  color: #fff;
  background: #173129;
  border-color: #173129;
}

.profile-admin-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.profile-admin-grid article {
  gap: 8px;
  padding: 12px;
  display: grid;
}

.profile-admin-grid article > img, .profile-admin-placeholder {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  color: #173129;
  background: #e6ebe8;
  place-items: center;
  width: 100%;
  font-size: 26px;
  display: grid;
}

.profile-admin-grid article > small {
  color: #c86d45;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.profile-admin-grid article > strong {
  font-size: 18px;
}

.profile-admin-grid article > p {
  color: #737873;
  margin: 0;
}

.profile-admin-grid article > div {
  gap: 8px;
  margin-top: 8px;
  display: flex;
}

.profile-admin-grid article button {
  background: #fff;
  border: 1px solid #d7d9d7;
  padding: 8px 12px;
}

.excel-module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  display: grid;
}

.excel-module-grid article {
  padding: 26px;
}

.excel-module-grid article > strong {
  font-size: 22px;
}

.excel-module-grid article > p {
  color: #777;
  min-height: 48px;
}

.excel-module-grid article > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.excel-module-grid a {
  text-decoration: none;
  display: inline-flex;
}

.priority-preview .admin-modal__panel {
  width: min(94vw, 1500px);
  height: 92vh;
}

.priority-preview iframe {
  background: #fff;
  border: 0;
  width: 100%;
  height: calc(92vh - 145px);
}

.news-index-page, .news-detail-page {
  color: #171b19;
  background: #f2f2ef;
}

.news-index-hero {
  grid-template-columns: minmax(180px, .5fr) 1.5fr;
  align-items: end;
  gap: 30px;
  padding-top: clamp(150px, 18vh, 230px);
  padding-bottom: 70px;
  display: grid;
}

.news-index-hero > p {
  letter-spacing: .18em;
  color: #c86d45;
  font-size: 11px;
  font-weight: 700;
}

.news-index-hero h1 {
  grid-column: 2;
  margin: 0;
  font-size: clamp(54px, 7vw, 108px);
  font-weight: 400;
  line-height: .92;
}

.news-index-hero > span {
  color: #747974;
  grid-column: 2;
  max-width: 700px;
  font-size: 17px;
}

.news-category-filter {
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 0;
  padding-bottom: 36px;
  display: flex;
}

.news-category-filter a {
  color: inherit;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: 1px solid #c7cbc8;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 12px;
  text-decoration: none;
}

.news-category-filter a.is-active {
  color: #fff;
  background: #173129;
  border-color: #173129;
}

.news-index-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 24px;
  padding-top: 0;
  padding-bottom: 100px;
  display: grid;
}

.news-index-card {
  color: inherit;
  text-decoration: none;
  display: block;
}

.news-index-card > div {
  aspect-ratio: 4 / 3;
  background: #ddd;
  position: relative;
  overflow: hidden;
}

.news-index-card > div img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s;
}

.news-index-card:hover img {
  transform: scale(1.035);
}

.news-index-card > div span {
  background: #fff;
  border-radius: 50%;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
  position: absolute;
  top: 15px;
  right: 15px;
}

.news-index-card > p {
  color: #8a8f8a;
  text-transform: uppercase;
  letter-spacing: .1em;
  justify-content: space-between;
  gap: 15px;
  margin: 18px 0 12px;
  font-size: 12px;
  display: flex;
}

.news-index-card > p small {
  color: #c86d45;
}

.news-index-card h2 {
  margin: 0 0 14px;
  font-size: clamp(25px, 2.4vw, 40px);
  font-weight: 400;
  line-height: 1.08;
}

.news-index-card > strong {
  color: #676d69;
  font-weight: 400;
  line-height: 1.7;
}

.news-index-card--lead {
  grid-column: span 2;
}

.news-index-card--lead > div {
  aspect-ratio: 16 / 8.5;
}

.news-detail-header {
  max-width: 1180px;
  margin: auto;
  padding-top: clamp(150px, 18vh, 220px);
  padding-bottom: 70px;
}

.news-detail-header > p {
  color: #c86d45;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.news-detail-header h1 {
  max-width: 1050px;
  margin: 30px 0;
  font-size: clamp(50px, 7vw, 100px);
  font-weight: 400;
  line-height: .96;
}

.news-detail-header > strong {
  color: #676d69;
  max-width: 820px;
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 400;
  line-height: 1.5;
  display: block;
}

.news-detail-header > div {
  text-transform: uppercase;
  letter-spacing: .1em;
  border-top: 1px solid #c9ccc9;
  gap: 28px;
  margin-top: 45px;
  padding-top: 18px;
  font-size: 12px;
  display: flex;
}

.news-detail-cover {
  max-width: 1500px;
  height: min(74vh, 850px);
  margin: 0 auto;
  padding: 0 34px;
}

.news-detail-cover img {
  object-fit: contain;
  background: #111;
  width: 100%;
  height: 100%;
}

.news-detail-content, .news-custom-html {
  max-width: 1050px;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 100px;
}

.news-detail-lead {
  margin: 0 0 90px;
  font-size: clamp(21px, 2.4vw, 32px);
  line-height: 1.55;
}

.news-content-block {
  margin: 0 0 90px;
}

.news-content-block h2 {
  margin: 0 0 28px;
  font-size: clamp(34px, 4vw, 64px);
  font-weight: 400;
  line-height: 1.05;
}

.news-content-block__body, .news-content-block ul {
  color: #555d58;
  max-width: 760px;
  font-size: 17px;
  line-height: 1.9;
}

.news-content-block blockquote {
  border-left: 4px solid #c86d45;
  margin: 0;
  padding-left: 35px;
  font-size: clamp(30px, 4vw, 55px);
  line-height: 1.2;
}

.news-content-block__media {
  gap: 16px;
  margin-top: 38px;
  display: grid;
}

.news-content-block--split .news-content-block__media {
  grid-template-columns: repeat(2, 1fr);
}

.news-content-block--grid .news-content-block__media {
  grid-template-columns: repeat(3, 1fr);
}

.news-content-block__media figure {
  margin: 0;
}

.news-content-block__media img {
  object-fit: contain;
  background: #111;
  width: 100%;
  max-height: min(78vh, 800px);
}

.news-content-block__media figcaption {
  color: #7c817e;
  margin-top: 8px;
  font-size: 12px;
}

.next-news {
  color: #fff;
  background: #0d1713;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding-top: 65px;
  padding-bottom: 65px;
  text-decoration: none;
  display: grid;
}

.next-news small {
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #c86d45;
  grid-column: 1;
  font-size: 11px;
}

.next-news strong {
  font-size: clamp(28px, 4vw, 58px);
  font-weight: 400;
}

.next-news span {
  grid-area: 1 / 2 / 3;
  align-self: center;
  font-size: 42px;
}

@media (max-width: 1000px) {
  .profile-admin-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .excel-module-grid {
    grid-template-columns: 1fr;
  }

  .news-index-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .news-index-hero {
    grid-template-columns: 1fr;
  }

  .news-index-hero h1, .news-index-hero > span {
    grid-column: 1;
  }
}

@media (max-width: 700px) {
  .priority-locale-layout {
    grid-template-columns: 1fr;
  }

  .priority-locale-layout > aside {
    grid-template-columns: repeat(2, 1fr);
    position: static;
  }

  .profile-admin-grid, .news-index-grid {
    grid-template-columns: 1fr;
  }

  .news-index-card--lead {
    grid-column: auto;
  }

  .news-detail-header > div {
    flex-wrap: wrap;
  }

  .news-detail-cover {
    height: auto;
    padding: 0 16px;
  }

  .news-detail-cover img {
    max-height: 70vh;
  }

  .news-content-block--split .news-content-block__media, .news-content-block--grid .news-content-block__media {
    grid-template-columns: 1fr;
  }
}

.profile-extensions {
  color: #17201c;
  background: #f1f1ee;
  padding-top: 100px;
  padding-bottom: 110px;
}

.profile-extension {
  border-top: 1px solid #c9ccc9;
  padding: 80px 0;
}

.profile-extension:first-child {
  border-top: 0;
  padding-top: 0;
}

.profile-extension > header {
  grid-template-columns: minmax(170px, .45fr) 1.55fr;
  gap: 30px;
  margin-bottom: 50px;
  display: grid;
}

.profile-extension > header p {
  letter-spacing: .16em;
  color: #c86d45;
  font-size: 10px;
  font-weight: 700;
}

.profile-extension > header h2 {
  margin: 0;
  font-size: clamp(40px, 5vw, 75px);
  font-weight: 400;
  line-height: 1;
}

.profile-extension > div {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px;
  display: grid;
}

.profile-extension article {
  border-top: 1px solid #bfc4c0;
  padding-top: 14px;
}

.profile-extension article img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  margin-bottom: 17px;
}

.profile-extension article > span {
  letter-spacing: .12em;
  color: #c86d45;
  text-transform: uppercase;
  font-size: 9px;
}

.profile-extension article h3 {
  margin: 10px 0;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.1;
}

.profile-extension article strong {
  color: #777;
  font-size: 12px;
  font-weight: 500;
}

.profile-extension article p {
  color: #626964;
  font-size: 14px;
  line-height: 1.7;
}

.profile-extension article a {
  color: inherit;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 10px 12px 0 0;
  font-size: 11px;
  display: inline-block;
}

.profile-extension--testimonial > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-extension--testimonial article p {
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.5;
}

.news-category-admin {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 14px;
  display: flex;
}

.news-category-admin > div {
  margin-right: auto;
  display: grid;
}

.news-category-admin > div span {
  color: #777;
  font-size: 10px;
}

.news-category-admin > button {
  text-align: left;
  background: #fff;
  border: 1px solid #ccd1cd;
  border-radius: 6px;
  gap: 2px;
  padding: 9px 12px;
  display: grid;
}

.news-category-admin > button small {
  color: #888;
  font-size: 8px;
}

.view-heading__actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-shell .admin-secondary {
  color: #27483b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #bfc8c2;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 10px;
  text-decoration: none;
}

.admin-modal__panel--wide {
  width: min(1280px, 96vw);
}

.admin-modal__panel--small {
  width: min(720px, 94vw);
}

.news-block-editor {
  gap: 18px;
  display: grid;
}

.news-block-editor > article {
  padding: 16px;
}

.news-block-editor > article > header {
  border-bottom: 1px solid #ddd;
  padding: 0 0 14px;
  position: static;
}

.news-block-editor > article > header div {
  gap: 6px;
  display: flex;
}

.news-block-editor > article > header button {
  border-radius: 4px;
  width: auto;
  height: auto;
  padding: 6px 10px;
}

.admin-news-draft-preview {
  background: #f2f2ef;
  padding: 50px max(20px, 8vw);
  overflow: auto;
}

.admin-news-draft-preview > img {
  object-fit: contain;
  background: #111;
  width: 100%;
  height: min(50vh, 600px);
}

.admin-news-draft-preview > p {
  color: #c86d45;
  letter-spacing: .15em;
  margin-top: 30px;
  font-size: 11px;
}

.admin-news-draft-preview > h1 {
  margin: 18px 0;
  font-size: clamp(45px, 6vw, 90px);
  font-weight: 400;
  line-height: .95;
}

.admin-news-draft-preview > strong {
  color: #666;
  max-width: 800px;
  font-size: 22px;
  font-weight: 400;
  display: block;
}

.admin-news-draft-preview section {
  max-width: 900px;
  margin: 70px auto;
}

.admin-news-draft-preview section h2 {
  font-size: 42px;
  font-weight: 400;
}

.admin-news-draft-preview section p {
  font-size: 17px;
  line-height: 1.8;
}

.admin-news-draft-preview section > div {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  display: grid;
}

.admin-news-draft-preview section img {
  object-fit: contain;
  background: #111;
  width: 100%;
  max-height: 420px;
}

.admin-entity-preview {
  color: #fff;
  background: #0f1e18;
  grid-template-columns: 1.25fr .75fr;
  min-height: 65vh;
  display: grid;
}

.admin-entity-preview > img {
  object-fit: contain;
  background: #08100d;
  width: 100%;
  height: 65vh;
}

.admin-entity-preview > div {
  align-self: center;
  padding: clamp(30px, 6vw, 90px);
}

.admin-entity-preview > div p {
  letter-spacing: .18em;
  color: #c86d45;
  text-transform: uppercase;
  font-size: 10px;
}

.admin-entity-preview > div h1 {
  margin: 22px 0;
  font-size: clamp(42px, 5vw, 78px);
  font-weight: 400;
  line-height: 1;
}

.admin-entity-preview > div span {
  color: #bdc7c1;
  font-size: 17px;
  line-height: 1.8;
}

.locale-entity-editor {
  gap: 10px;
  display: grid;
}

.locale-entity-editor > h3 {
  margin: 30px 0 8px;
}

.locale-entity-editor details {
  background: #f7f8f6;
  border: 1px solid #d8dcd8;
  border-radius: 6px;
}

.locale-entity-editor summary {
  cursor: pointer;
  justify-content: space-between;
  padding: 15px 17px;
  font-weight: 700;
  display: flex;
}

.locale-entity-editor summary span {
  color: #777;
  font-weight: 400;
}

.locale-entity-editor details > div {
  gap: 12px;
  padding: 0 12px 12px;
  display: grid;
}

.locale-entity-editor article {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  display: grid;
}

.locale-entity-editor article > small {
  color: #c86d45;
  grid-column: 1 / -1;
}

.admin-topbar__actions select {
  color: #303632;
  background: #fff;
  border: 1px solid #d8dcd8;
  border-radius: 4px;
  padding: 8px 10px;
}

@media (max-width: 900px) {
  .profile-extension > div {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .profile-extension > header, .profile-extension > div, .profile-extension--testimonial > div {
    grid-template-columns: 1fr;
  }

  .view-heading__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-news-draft-preview section > div, .admin-entity-preview {
    grid-template-columns: 1fr;
  }

  .admin-entity-preview > img {
    height: 42vh;
  }

  .locale-entity-editor article {
    grid-template-columns: 1fr;
  }
}

.admin-shell .admin-primary, .admin-shell .admin-savebar button, .admin-shell .admin-modal footer .admin-primary {
  opacity: 1;
  font-weight: 650;
  border-color: var(--admin-green) !important;
  background: var(--admin-green) !important;
  color: #fff !important;
}

.admin-shell .admin-primary:disabled, .admin-shell .admin-savebar button:disabled, .admin-shell .admin-modal footer .admin-primary:disabled {
  opacity: .55;
}

.admin-image-field {
  background: #f2f5f2;
  border: 1px solid #d9ddd8;
  border-radius: 7px;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.admin-image-field__head {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  display: flex;
}

.admin-image-field__head > span {
  gap: 5px;
  display: grid;
}

.admin-image-field__head strong {
  font-size: 11px;
}

.admin-image-field__head small {
  color: var(--admin-muted);
  font-size: 8px;
}

.admin-image-field__head > div {
  gap: 7px;
  display: flex;
}

.admin-image-field .admin-secondary {
  color: #27483b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #bfc8c2;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  min-height: 36px;
  padding: 8px 11px;
  font-size: 9px;
  display: inline-flex;
}

.admin-image-field .admin-secondary input {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
}

.admin-image-field__selection {
  grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
  gap: 8px;
  display: grid;
}

.admin-image-field__selection figure {
  background: #dfe3df;
  border-radius: 5px;
  min-width: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.admin-image-field__selection figure > img {
  object-fit: cover;
  width: 100%;
  height: 104px;
}

.admin-image-field__selection figcaption {
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  inset: auto 5px 5px;
}

.admin-image-field__selection figcaption span {
  color: #fff;
  background: #0d1813c7;
  border-radius: 50%;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 7px;
  display: grid;
}

.admin-image-field__selection figcaption button {
  color: #8a3e36;
  cursor: pointer;
  background: #fffffff0;
  border: 0;
  border-radius: 50%;
  place-items: center;
  width: 25px;
  height: 25px;
  padding: 0;
  display: grid;
}

.admin-image-field__selection figcaption svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  width: 13px;
  height: 13px;
}

.admin-image-field__selection > p {
  color: #7d817d;
  text-align: center;
  border: 1px dashed #c6cbc7;
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px;
  font-size: 9px;
}

.admin-image-field__error {
  color: #a24038;
  margin: 0;
  font-size: 9px;
}

.admin-media-picker {
  z-index: 180;
}

.admin-media-picker .admin-modal__panel {
  width: min(1060px, 96vw);
}

.admin-media-picker__grid {
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: 11px;
  padding: 18px;
  display: grid;
}

.admin-media-picker__grid > button {
  color: #29342f;
  cursor: pointer;
  text-align: left;
  background: #eceeea;
  border: 2px solid #0000;
  border-radius: 6px;
  min-width: 0;
  padding: 5px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.admin-media-picker__grid > button.is-selected {
  background: #e3eee8;
  border-color: #2d654f;
}

.admin-media-picker__grid img {
  object-fit: cover;
  border-radius: 3px;
  width: 100%;
  height: 120px;
}

.admin-media-picker__grid span {
  color: #fff;
  background: #0d1813c7;
  border-radius: 20px;
  padding: 5px 7px;
  font-size: 7px;
  position: absolute;
  top: 10px;
  right: 10px;
}

.admin-media-picker__grid small {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 7px 3px 2px;
  font-size: 8px;
  overflow: hidden;
}

@media (max-width: 640px) {
  .admin-image-field__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-media-picker__grid {
    grid-template-columns: 1fr 1fr;
    padding: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.project-detail-rich {
  background: #efeee9;
}

.project-detail-rich > .site-header {
  color: #fff;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #090d0cad;
  border-color: #fff3;
  position: fixed;
}

.project-detail-hero {
  color: #fff;
  background: #111;
  min-height: 100svh;
  position: relative;
  overflow: hidden;
}

.project-detail-hero > img, .project-detail-hero__veil {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.project-detail-hero > img {
  object-fit: cover;
  animation: 1.4s cubic-bezier(.2, .7, .2, 1) both project-hero-in;
}

.project-detail-hero__veil {
  background: linear-gradient(0deg, #050807c7, #0508070f 66%), linear-gradient(90deg, #05080740, #0000 55%);
}

@keyframes project-hero-in {
  from {
    opacity: .25;
    transform: scale(1.04);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.project-detail-hero__copy {
  z-index: 2;
  position: absolute;
  bottom: 9%;
  left: 0;
  right: 0;
}

.project-detail-hero__eyebrow {
  color: #ffffffb8;
  letter-spacing: .13em;
  text-transform: uppercase;
  flex-wrap: wrap;
  gap: 10px 25px;
  margin-bottom: 24px;
  font-size: 10px;
  font-weight: 650;
  display: flex;
}

.project-detail-hero__eyebrow span + span:before {
  content: "/";
  opacity: .5;
  margin-right: 25px;
}

.project-detail-hero h1 {
  width: min(1100px, 88vw);
  font-family: var(--serif);
  letter-spacing: -.06em;
  margin: 0;
  font-size: clamp(68px, 10vw, 164px);
  font-weight: 400;
  line-height: .82;
}

.project-detail-hero__copy > p {
  color: #ffffffc2;
  max-width: 620px;
  margin: 32px 0 0 auto;
  font-size: clamp(14px, 1.25vw, 19px);
  line-height: 1.7;
}

.project-detail-hero__scroll {
  z-index: 3;
  color: #ffffffbd;
  letter-spacing: .12em;
  text-transform: uppercase;
  align-items: center;
  gap: 16px;
  font-size: 9px;
  display: flex;
  position: absolute;
  bottom: 4%;
  right: clamp(24px, 5.2vw, 80px);
}

.project-detail-hero__scroll i {
  border: 1px solid #ffffff61;
  border-radius: 50%;
  place-items: center;
  width: 35px;
  height: 35px;
  font-style: normal;
  display: grid;
}

.project-detail-nav {
  z-index: 40;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #efeee9f0;
  border-bottom: 1px solid #d5d3cc;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  min-height: 64px;
  display: flex;
  position: sticky;
  top: 82px;
  overflow-x: auto;
}

.project-detail-nav > strong {
  font-family: var(--serif);
  flex: none;
  font-size: 15px;
  font-weight: 500;
}

.project-detail-nav > div {
  align-items: center;
  gap: 25px;
  display: flex;
}

.project-detail-nav a {
  color: #676964;
  letter-spacing: .08em;
  text-transform: uppercase;
  flex: none;
  padding: 24px 0 20px;
  font-size: 9px;
  font-weight: 650;
}

.project-detail-nav a:hover {
  color: #111;
}

.project-profile {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(70px, 11vw, 170px);
  padding-top: clamp(100px, 12vw, 190px);
  padding-bottom: clamp(100px, 11vw, 170px);
  display: grid;
}

.project-profile__intro > p {
  color: #777972;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin: 0 0 34px;
  font-size: 9px;
  font-weight: 650;
}

.project-profile__intro h2 {
  max-width: 900px;
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0;
  font-size: clamp(42px, 5.3vw, 82px);
  font-weight: 400;
  line-height: 1.04;
}

.project-profile dl {
  grid-template-columns: 1fr 1fr;
  align-self: end;
  gap: 0 30px;
  margin: 0;
  display: grid;
}

.project-profile dl > div {
  border-top: 1px solid #c8c7c1;
  min-height: 72px;
  padding: 14px 0;
}

.project-profile dt {
  color: #777972;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 8px;
  font-weight: 650;
}

.project-profile dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.project-narrative {
  padding-top: 20px;
  padding-bottom: clamp(90px, 10vw, 155px);
}

.project-narrative__item {
  border-top: 1px solid #c8c7c1;
  grid-template-columns: .42fr 1fr 1.05fr;
  align-items: start;
  gap: clamp(30px, 5vw, 80px);
  padding: clamp(75px, 8vw, 125px) 0;
  scroll-margin-top: 150px;
  display: grid;
}

.project-narrative__item--offset {
  grid-template-columns: .42fr 1.15fr .9fr;
}

.project-narrative__item header {
  color: #777972;
  align-items: center;
  gap: 13px;
  display: flex;
}

.project-narrative__item header span {
  border: 1px solid #bcbdb7;
  border-radius: 50%;
  place-items: center;
  width: 31px;
  height: 31px;
  font-size: 8px;
  display: grid;
}

.project-narrative__item header p {
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0;
  font-size: 9px;
  font-weight: 650;
}

.project-narrative__item > div {
  grid-column: 2;
}

.project-narrative__item h2 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 0 0 32px;
  font-size: clamp(36px, 4vw, 62px);
  font-weight: 400;
  line-height: 1.02;
}

.project-narrative__item > div > p {
  color: #555852;
  white-space: pre-line;
  max-width: 680px;
  margin: 0;
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 1.9;
}

.project-narrative__item > img {
  object-fit: cover;
  grid-column: 3;
  width: 100%;
  height: clamp(390px, 47vw, 740px);
  margin-top: -28px;
}

.project-narrative__item--offset > div {
  grid-column: 2 / 4;
  max-width: 790px;
  margin-left: auto;
}

.project-narrative__item--offset > img {
  grid-column: 2 / 4;
  width: 70%;
  margin-left: auto;
}

.project-gallery-experience {
  color: #f1f0ea;
  background: #101211;
  padding-top: clamp(95px, 11vw, 175px);
  padding-bottom: clamp(110px, 12vw, 190px);
  scroll-margin-top: 130px;
}

.project-gallery-experience > header {
  grid-template-columns: .48fr 1.2fr auto;
  align-items: end;
  gap: 40px;
  margin-bottom: 70px;
  display: grid;
}

.project-gallery-experience > header > div {
  color: #ffffff80;
  align-items: center;
  gap: 13px;
  display: flex;
}

.project-gallery-experience > header > div span {
  border: 1px solid #ffffff45;
  border-radius: 50%;
  place-items: center;
  width: 31px;
  height: 31px;
  font-size: 8px;
  display: grid;
}

.project-gallery-experience > header p, .project-gallery-experience > header strong {
  letter-spacing: .13em;
  text-transform: uppercase;
  margin: 0;
  font-size: 9px;
  font-weight: 600;
}

.project-gallery-experience > header h2 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 0;
  font-size: clamp(50px, 6vw, 94px);
  font-weight: 400;
  line-height: .92;
}

.project-gallery-experience > header > strong {
  color: #ffffff80;
}

.project-gallery-mosaic {
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
  gap: clamp(10px, 1.5vw, 24px);
  display: grid;
}

.project-gallery-mosaic__item {
  color: #fff;
  cursor: zoom-in;
  background: #252725;
  border: 0;
  grid-column: span 6;
  height: min(52vw, 760px);
  padding: 0;
  position: relative;
  overflow: hidden;
}

.project-gallery-mosaic__item--0, .project-gallery-mosaic__item--5 {
  grid-column: 1 / -1;
  height: min(65vw, 920px);
}

.project-gallery-mosaic__item--2, .project-gallery-mosaic__item--6 {
  grid-column: span 5;
  height: min(45vw, 680px);
  margin-top: clamp(50px, 7vw, 110px);
}

.project-gallery-mosaic__item--3 {
  grid-column: span 7;
  height: min(58vw, 830px);
}

.project-gallery-mosaic__item img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1), filter .3s;
}

.project-gallery-mosaic__item > span {
  opacity: 0;
  background: linear-gradient(0deg, #000000ab, #0000);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 19px 22px;
  transition: all .25s;
  display: grid;
  position: absolute;
  inset: auto 0 0;
  transform: translateY(8px);
}

.project-gallery-mosaic__item > span small {
  font-size: 9px;
}

.project-gallery-mosaic__item > span strong {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 9px;
}

.project-gallery-mosaic__item > span i {
  font-size: 20px;
  font-style: normal;
}

.project-gallery-mosaic__item:hover img {
  filter: brightness(.88);
  transform: scale(1.025);
}

.project-gallery-mosaic__item:hover > span, .project-gallery-mosaic__item:focus-visible > span {
  opacity: 1;
  transform: none;
}

.project-lightbox {
  z-index: 1200;
  color: #fff;
  place-items: center;
  padding: 75px 7vw 85px;
  display: grid;
  position: fixed;
  inset: 0;
}

.project-lightbox__backdrop {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #040605f0;
  border: 0;
  position: absolute;
  inset: 0;
}

.project-lightbox > img {
  z-index: 1;
  object-fit: contain;
  width: 100%;
  height: 100%;
  position: relative;
}

.project-lightbox__top {
  z-index: 2;
  border-bottom: 1px solid #ffffff24;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 66px;
  padding: 0 28px;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.project-lightbox__top strong, .project-lightbox__top span {
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: 9px;
}

.project-lightbox__top span {
  color: #ffffff8a;
}

.project-lightbox__top > button {
  color: #fff;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
  justify-self: end;
  width: 38px;
  height: 38px;
  font-size: 23px;
}

.project-lightbox__nav {
  z-index: 2;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  display: grid;
  position: absolute;
  bottom: 18px;
  left: 0;
  right: 0;
}

.project-lightbox__nav > button {
  color: #fff;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
  width: 42px;
  height: 42px;
}

.project-lightbox__nav > div {
  justify-content: center;
  gap: 6px;
  display: flex;
  overflow: hidden;
}

.project-lightbox__nav > div button {
  opacity: .2;
  cursor: pointer;
  background: #fff;
  border: 0;
  width: 18px;
  height: 2px;
  padding: 0;
}

.project-lightbox__nav > div button.is-active {
  opacity: 1;
}

.next-project-rich {
  color: #fff;
  place-items: center;
  min-height: 72svh;
  display: grid;
  position: relative;
  overflow: hidden;
}

.next-project-rich > img, .next-project-rich__veil {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.next-project-rich > img {
  object-fit: cover;
  transition: transform 1s cubic-bezier(.2, .7, .2, 1);
}

.next-project-rich__veil {
  background: #0709088f;
  transition: background .35s;
}

.next-project-rich__copy {
  z-index: 2;
  grid-template-columns: .45fr 1.3fr auto;
  align-items: center;
  gap: 40px;
  width: 100%;
  display: grid;
  position: relative;
}

.next-project-rich__copy small {
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: 9px;
}

.next-project-rich__copy strong {
  font-family: var(--serif);
  letter-spacing: -.05em;
  font-size: clamp(52px, 8vw, 128px);
  font-weight: 400;
  line-height: .87;
}

.next-project-rich__copy i {
  border: 1px solid #ffffff8c;
  border-radius: 50%;
  place-items: center;
  width: 65px;
  height: 65px;
  font-size: 24px;
  font-style: normal;
  display: grid;
}

.next-project-rich:hover > img {
  transform: scale(1.025);
}

.next-project-rich:hover .next-project-rich__veil {
  background: #0709086b;
}

.admin-modal__panel {
  width: min(1100px, 100%);
}

.project-editor__section {
  border-top: 1px solid #d8d7d1;
  align-items: center;
  gap: 13px;
  margin: 15px 0 0;
  padding: 18px 0 14px;
  display: flex;
}

.project-editor__section:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.project-editor__section > span {
  width: 32px;
  height: 32px;
  color: var(--admin-green);
  border: 1px solid #bbc3bd;
  border-radius: 50%;
  flex: 0 0 32px;
  place-items: center;
  font-size: 8px;
  display: grid;
}

.project-editor__section > div {
  gap: 3px;
  display: grid;
}

.project-editor__section strong {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 500;
}

.project-editor__section small {
  color: var(--admin-muted);
  font-size: 9px;
}

.upload-field--gallery {
  background: #eef2ee;
  justify-content: center;
  min-height: 90px;
}

.project-gallery-editor {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.project-gallery-editor article {
  background: #fff;
  border: 1px solid #dddcd6;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.project-gallery-editor article.is-cover {
  border-color: var(--admin-green);
  box-shadow: 0 0 0 1px var(--admin-green);
}

.project-gallery-editor article > img {
  object-fit: cover;
  width: 100%;
  height: 150px;
}

.project-gallery-editor article > div:not(.project-gallery-editor__actions) {
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
}

.project-gallery-editor article > div > strong, .project-gallery-editor article > div > em {
  color: #fff;
  background: #121915d4;
  border-radius: 3px;
  padding: 5px 7px;
  font-size: 8px;
  font-style: normal;
}

.project-gallery-editor__actions {
  gap: 5px;
  padding: 8px;
  display: flex;
}

.project-gallery-editor__actions button {
  color: #404540;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 3px;
  padding: 6px 8px;
  font-size: 8px;
}

.project-gallery-editor__actions button:nth-last-child(2) {
  margin-left: auto;
}

.project-gallery-editor__actions button:disabled {
  opacity: .32;
  cursor: not-allowed;
}

.admin-service-error {
  color: #f4f0e8;
  background: #17231e;
  place-items: center;
  min-height: 100vh;
  padding: 28px;
  display: grid;
}

.admin-service-error > section {
  background: #ffffff09;
  border: 1px solid #ffffff29;
  width: min(760px, 100%);
  padding: clamp(28px, 5vw, 64px);
}

.admin-service-error p {
  color: #ffffff80;
  letter-spacing: .15em;
  margin: 0 0 18px;
  font-size: 9px;
}

.admin-service-error__code {
  color: #d7b293;
  border: 1px solid #b88964;
  border-radius: 30px;
  padding: 6px 10px;
  font-size: 8px;
  display: inline-block;
}

.admin-service-error h1 {
  font-family: var(--serif);
  margin: 25px 0 14px;
  font-size: clamp(40px, 6vw, 66px);
  font-weight: 400;
  line-height: 1;
}

.admin-service-error > section > strong {
  color: #ffffffb3;
  font-size: 13px;
  font-weight: 400;
}

.admin-service-error ol {
  color: #ffffffad;
  gap: 13px;
  margin: 32px 0;
  padding-left: 20px;
  font-size: 12px;
  line-height: 1.6;
  display: grid;
}

.admin-service-error code {
  background: #ffffff1a;
  padding: 2px 5px;
}

.admin-service-error a {
  text-decoration: underline;
}

.admin-service-error > section > div {
  gap: 10px;
  display: flex;
}

.admin-service-error > section > div a {
  text-transform: uppercase;
  border: 1px solid #ffffff59;
  padding: 11px 15px;
  font-size: 9px;
  text-decoration: none;
}

@media (max-width: 900px) {
  .project-detail-hero h1 {
    width: 100%;
    font-size: clamp(62px, 15vw, 112px);
  }

  .project-detail-hero__copy > p {
    margin-left: 0;
  }

  .project-detail-nav {
    top: 70px;
  }

  .project-detail-nav > strong {
    display: none;
  }

  .project-profile {
    grid-template-columns: 1fr;
    gap: 65px;
  }

  .project-profile dl {
    grid-template-columns: repeat(3, 1fr);
  }

  .project-narrative__item, .project-narrative__item--offset {
    grid-template-columns: .25fr 1fr;
    gap: 30px;
  }

  .project-narrative__item > div, .project-narrative__item--offset > div {
    grid-column: 2;
    margin: 0;
  }

  .project-narrative__item > img, .project-narrative__item--offset > img {
    grid-column: 1 / 3;
    width: 100%;
    height: min(90vw, 700px);
    margin: 50px 0 0;
  }

  .project-gallery-experience > header {
    grid-template-columns: 1fr auto;
  }

  .project-gallery-experience > header > div {
    grid-column: 1 / -1;
  }

  .project-gallery-experience > header h2 {
    font-size: 58px;
  }

  .next-project-rich__copy {
    grid-template-columns: 1fr auto;
  }

  .next-project-rich__copy small {
    grid-column: 1 / -1;
  }

  .next-project-rich__copy strong {
    font-size: 70px;
  }
}

@media (max-width: 640px) {
  .project-detail-rich > .site-header {
    height: 70px;
  }

  .project-detail-hero__copy {
    bottom: 12%;
  }

  .project-detail-hero h1 {
    font-size: 57px;
    line-height: .9;
  }

  .project-detail-hero__eyebrow span:nth-child(2) {
    display: none;
  }

  .project-detail-hero__copy > p {
    font-size: 13px;
  }

  .project-detail-hero__scroll {
    display: none;
  }

  .project-detail-nav {
    padding-inline: 18px;
  }

  .project-detail-nav > div {
    gap: 19px;
  }

  .project-profile {
    padding-top: 85px;
    padding-bottom: 85px;
  }

  .project-profile__intro h2 {
    font-size: 38px;
  }

  .project-profile dl {
    grid-template-columns: 1fr 1fr;
  }

  .project-narrative__item, .project-narrative__item--offset {
    grid-template-columns: 1fr;
    padding: 65px 0;
  }

  .project-narrative__item header, .project-narrative__item > div, .project-narrative__item--offset > div {
    grid-column: 1;
  }

  .project-narrative__item h2 {
    font-size: 38px;
  }

  .project-narrative__item > img, .project-narrative__item--offset > img {
    grid-column: 1;
    height: 115vw;
  }

  .project-gallery-experience, .project-gallery-experience > header {
    padding-inline: 12px;
  }

  .project-gallery-experience > header h2 {
    font-size: 45px;
  }

  .project-gallery-experience > header > strong {
    display: none;
  }

  .project-gallery-mosaic {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .project-gallery-mosaic__item, .project-gallery-mosaic__item--0, .project-gallery-mosaic__item--2, .project-gallery-mosaic__item--3, .project-gallery-mosaic__item--5, .project-gallery-mosaic__item--6 {
    grid-column: 1;
    width: 100%;
    height: 125vw;
    margin: 0;
  }

  .project-gallery-mosaic__item:nth-child(3n+1) {
    height: 76vw;
  }

  .project-gallery-mosaic__item > span {
    opacity: 1;
    transform: none;
  }

  .project-lightbox {
    padding: 66px 0 80px;
  }

  .project-lightbox__top {
    padding: 0 14px;
  }

  .project-lightbox__top strong {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 45vw;
    overflow: hidden;
  }

  .project-lightbox__nav {
    padding: 0 14px;
  }

  .next-project-rich {
    min-height: 60svh;
  }

  .next-project-rich__copy {
    gap: 25px;
  }

  .next-project-rich__copy strong {
    font-size: 52px;
  }

  .next-project-rich__copy i {
    width: 48px;
    height: 48px;
  }

  .project-editor {
    grid-template-columns: 1fr;
  }

  .project-editor .form-span, .project-editor__section {
    grid-column: 1;
  }

  .project-gallery-editor {
    grid-template-columns: 1fr 1fr;
  }

  .project-gallery-editor article > img {
    height: 125px;
  }
}

.site-header--glass, .site-header--glass.is-scrolled, .inner-page > .site-header.site-header--glass, .project-detail-rich > .site-header.site-header--glass {
  color: #f4f1e9;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  background: #090d0cbd;
  border-color: #ffffff29;
  height: 68px;
  position: fixed;
  box-shadow: 0 7px 24px #0000001f;
}

.site-header--glass.is-scrolled {
  background: #090d0ce6;
  height: 62px;
}

.site-header--glass .brand span {
  letter-spacing: .17em;
  font-size: 15px;
}

.site-header--glass .brand small {
  letter-spacing: .11em;
  font-size: 8px;
}

.site-header--glass .nav {
  letter-spacing: .045em;
  gap: clamp(22px, 2.7vw, 42px);
  font-size: 12px;
}

.immersive-site .hero-shell {
  min-height: 0;
}

.immersive-site .hero {
  height: clamp(610px, 88svh, 840px);
  min-height: 0;
}

.immersive-site .hero--layout_1 {
  color: #181816;
  background: #f1f1ef;
}

.immersive-site .hero--layout_1 .hero__image-wrap {
  inset: 68px 0 0 37%;
}

.immersive-site .hero--layout_1 .hero__veil {
  background: linear-gradient(90deg, #f1f1ef 0% 27%, #f1f1eff5 38%, #f1f1ef6b 57%, #0000 76%), linear-gradient(0deg, #f1f1ef33, #0000 45%);
}

.immersive-site .hero--layout_1 .hero__copy {
  color: #181816;
  width: min(570px, 43vw);
  top: 24%;
  left: clamp(28px, 5vw, 76px);
}

.immersive-site .hero--layout_1 .hero__copy h1 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  text-transform: none;
  font-size: clamp(43px, 4.8vw, 72px);
  font-weight: 400;
  line-height: .98;
}

.immersive-site .hero--layout_1 .hero__copy .eyebrow {
  color: #765c49;
  margin-bottom: 19px;
  font-size: 9px;
}

.immersive-site .hero--layout_1 .hero__subtitle {
  color: #5f615d;
  max-width: 430px;
  margin: 22px 0 26px;
  font-size: 13px;
  line-height: 1.7;
}

.immersive-site .hero--layout_1 .button {
  min-width: 185px;
  padding: 14px 18px;
  font-size: 9px;
}

.immersive-site .hero--layout_1 .hero__meta {
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #080c0b6b;
  border: 1px solid #ffffff2e;
  gap: 4px;
  padding: 12px 14px;
  top: 15%;
  right: clamp(24px, 3vw, 46px);
}

.immersive-site .hero--layout_1 .hero__meta strong {
  font-size: 14px;
}

.immersive-site .hero--layout_1 .hero__controls {
  color: #fff;
  bottom: 3.5%;
  right: clamp(24px, 3vw, 46px);
}

.immersive-site .hero--layout_1 .hero__expertise {
  color: #1b1e1b;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #f1f1eff0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  width: auto;
  padding: 0 16px;
  bottom: 0;
  left: clamp(28px, 5vw, 76px);
  right: clamp(28px, 5vw, 76px);
}

.immersive-site .hero--layout_1 .hero__expertise button {
  border-top: 1px solid #18181642;
  grid-template-columns: 22px 1fr auto;
  min-height: 54px;
  padding: 9px 10px;
}

.immersive-site .hero--layout_1 .hero__expertise button:after {
  background: #181816;
  height: 1px;
  top: -1px;
}

.immersive-site .hero--layout_1 .hero__expertise small {
  color: #777;
  font-size: 8px;
}

.immersive-site .hero--layout_1 .hero__expertise strong {
  text-transform: none;
  font-size: clamp(10px, .9vw, 13px);
  font-weight: 550;
}

.immersive-site .hero--layout_1 .hero__expertise span {
  font-size: 13px;
}

.immersive-site .hero-scroll-cue {
  display: none;
}

.immersive-site .hero--layout_2 .hero__copy h1, .immersive-site .hero--layout_3 .hero__copy h1 {
  font-size: clamp(43px, 5.2vw, 78px);
  font-weight: 400;
  line-height: .96;
}

.studio-intro {
  gap: 55px;
  padding-top: clamp(85px, 9vw, 135px);
  padding-bottom: clamp(80px, 8vw, 125px);
}

.studio-intro h2, .project-showcase h2, .news-section h2 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  text-transform: none;
  font-size: clamp(39px, 4.5vw, 68px);
  font-weight: 400;
  line-height: 1;
}

.studio-intro__body p {
  font-size: clamp(14px, 1.15vw, 18px);
}

.studio-intro__body strong {
  font-size: 11px;
}

.studio-stats article {
  min-height: 155px;
}

.studio-stats strong {
  font-size: clamp(38px, 4vw, 60px);
}

.project-showcase {
  padding-top: clamp(70px, 7vw, 105px);
}

.project-showcase > header {
  margin-bottom: 44px;
}

.project-showcase h2 {
  font-size: clamp(38px, 4vw, 62px);
}

.project-showcase__stage {
  height: min(57vw, 620px);
  min-height: 420px;
}

.project-showcase__open {
  width: min(530px, 70vw);
  padding: 20px 26px;
  bottom: 8%;
}

.project-showcase__open strong {
  font-family: var(--serif);
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 400;
}

.all-projects {
  padding-top: clamp(80px, 8vw, 125px);
  padding-bottom: clamp(90px, 9vw, 140px);
}

.project-card__image {
  aspect-ratio: 4 / 3;
}

.project-card__info h3 {
  font-size: clamp(21px, 1.8vw, 29px);
}

.project-overlay article {
  width: min(980px, 92vw);
  max-height: 84vh;
}

.project-overlay article > img {
  min-height: 460px;
}

.project-overlay article > div {
  padding: 48px 38px;
}

.project-overlay article h2 {
  font-family: var(--serif);
  font-size: clamp(33px, 4vw, 54px);
  font-weight: 400;
}

.project-detail-hero {
  height: clamp(560px, 82svh, 760px);
  min-height: 0;
}

.project-detail-hero h1 {
  width: min(950px, 86vw);
  font-size: clamp(52px, 7.2vw, 108px);
  line-height: .88;
}

.project-detail-hero__copy > p {
  font-size: clamp(13px, 1.05vw, 16px);
}

.project-detail-nav {
  min-height: 56px;
  top: 62px;
}

.project-detail-nav a {
  padding: 20px 0 17px;
}

.project-profile {
  padding-top: clamp(80px, 9vw, 135px);
  padding-bottom: clamp(80px, 8vw, 125px);
}

.project-profile__intro h2 {
  font-size: clamp(36px, 4.2vw, 64px);
}

.project-narrative__item {
  padding: clamp(62px, 6.5vw, 95px) 0;
}

.project-narrative__item h2 {
  font-size: clamp(32px, 3.3vw, 49px);
}

.project-narrative__item > div > p {
  font-size: clamp(13px, 1.05vw, 16px);
}

.project-narrative__item > img {
  height: clamp(330px, 37vw, 560px);
}

.project-gallery-experience {
  padding-top: clamp(80px, 8vw, 125px);
  padding-bottom: clamp(85px, 9vw, 140px);
}

.project-gallery-experience > header h2 {
  font-size: clamp(43px, 5vw, 72px);
}

.project-gallery-mosaic__item {
  background: #181a19;
  height: min(38vw, 560px);
}

.project-gallery-mosaic__item--0, .project-gallery-mosaic__item--5 {
  height: min(48vw, 680px);
}

.project-gallery-mosaic__item--2, .project-gallery-mosaic__item--6 {
  height: min(34vw, 500px);
  margin-top: clamp(25px, 4vw, 60px);
}

.project-gallery-mosaic__item--3 {
  height: min(42vw, 600px);
}

.next-project-rich {
  min-height: 56svh;
}

.next-project-rich__copy strong {
  font-size: clamp(45px, 6vw, 88px);
}

@media (min-width: 1100px) {
  .all-projects .project-grid, .project-list .project-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px 24px;
  }
}

@media (max-width: 900px) {
  .site-header--glass, .site-header--glass.is-scrolled, .inner-page > .site-header.site-header--glass, .project-detail-rich > .site-header.site-header--glass {
    height: 64px;
  }

  .immersive-site .hero {
    height: clamp(570px, 84svh, 720px);
  }

  .immersive-site .hero--layout_1 .hero__image-wrap {
    inset: 0;
  }

  .immersive-site .hero--layout_1 .hero__veil {
    background: linear-gradient(0deg, #070a09cc, #070a0926 70%);
  }

  .immersive-site .hero--layout_1 .hero__copy {
    color: #fff;
    width: auto;
    top: auto;
    bottom: 12%;
  }

  .immersive-site .hero--layout_1 .hero__copy h1 {
    color: #fff;
    font-size: clamp(42px, 10vw, 64px);
  }

  .immersive-site .hero--layout_1 .hero__copy .eyebrow, .immersive-site .hero--layout_1 .hero__subtitle {
    color: #ffffffc7;
  }

  .immersive-site .hero--layout_1 .hero__expertise {
    display: none;
  }

  .site-header--glass .nav {
    font-family: var(--serif);
    letter-spacing: 0;
    text-transform: none;
    gap: 14px;
    font-size: 28px;
  }

  .project-showcase__stage {
    height: 58svh;
    min-height: 390px;
  }

  .project-detail-nav {
    top: 64px;
  }
}

@media (max-width: 640px) {
  .site-header--glass .brand span {
    font-size: 13px;
  }

  .site-header--glass .brand small {
    display: none;
  }

  .immersive-site .hero {
    height: 78svh;
    min-height: 540px;
    max-height: 680px;
  }

  .immersive-site .hero--layout_1 .hero__copy {
    bottom: 10%;
  }

  .immersive-site .hero--layout_1 .hero__copy h1, .immersive-site .hero--layout_2 .hero__copy h1, .immersive-site .hero--layout_3 .hero__copy h1 {
    font-size: 42px;
  }

  .studio-intro h2, .project-showcase h2, .news-section h2 {
    font-size: 38px;
  }

  .project-showcase__stage {
    height: 62svh;
    min-height: 390px;
  }

  .project-showcase__open {
    width: 86vw;
    padding: 17px;
  }

  .project-card__info h3 {
    font-size: 23px;
  }

  .project-detail-hero {
    height: 72svh;
    min-height: 520px;
    max-height: 660px;
  }

  .project-detail-hero h1 {
    font-size: 48px;
  }

  .project-gallery-mosaic__item, .project-gallery-mosaic__item--0, .project-gallery-mosaic__item--2, .project-gallery-mosaic__item--3, .project-gallery-mosaic__item--5, .project-gallery-mosaic__item--6 {
    height: 82vw;
    max-height: 520px;
  }

  .project-gallery-mosaic__item:nth-child(3n+1) {
    height: 68vw;
  }

  .next-project-rich {
    min-height: 48svh;
  }
}

.profile-download {
  color: #1a1c1a;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid #222;
  align-items: center;
  gap: 18px;
  margin: 28px 0 20px;
  padding: 0 0 9px;
  font-size: 10px;
  font-weight: 650;
  display: inline-flex;
}

.profile-download span {
  font-size: 18px;
  font-weight: 400;
}

.studio-intro__body > p + p {
  color: #747771;
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.7;
}

.company-principles {
  color: #f1eee7;
  background: #14231e;
  grid-template-columns: 1.05fr .95fr .95fr;
  gap: 0;
  padding-top: clamp(90px, 10vw, 155px);
  padding-bottom: clamp(90px, 10vw, 155px);
  display: grid;
}

.company-principles > * {
  border-top: 1px solid #ffffff29;
  border-left: 1px solid #ffffff29;
  padding: clamp(30px, 4vw, 62px);
}

.company-principles__lead {
  border-left: 0;
  flex-direction: column;
  grid-row: span 2;
  justify-content: space-between;
  display: flex;
}

.company-principles__lead > p, .dvt-section-heading > p {
  color: #c7926e;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0;
  font-size: 9px;
  font-weight: 650;
}

.company-principles blockquote {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 70px 0;
  font-size: clamp(40px, 4.4vw, 69px);
  font-weight: 400;
  line-height: 1.02;
}

.company-principles dl {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 0;
  display: grid;
}

.company-principles dt {
  color: #ffffff73;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 8px;
}

.company-principles dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.company-principles > article > span {
  color: #c7926e;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  place-items: center;
  width: 33px;
  height: 33px;
  font-size: 8px;
  display: grid;
}

.company-principles > article h2 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 52px 0 25px;
  font-size: clamp(34px, 3vw, 51px);
  font-weight: 400;
}

.company-principles > article p {
  color: #ffffffad;
  margin: 0;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.85;
}

.company-values {
  grid-column: 2 / 4;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  gap: 0;
  display: grid;
}

.company-values > small {
  color: #ffffff75;
  letter-spacing: .14em;
  text-transform: uppercase;
  grid-column: 1 / -1;
  margin-bottom: 35px;
  font-size: 9px;
}

.company-values strong {
  border-top: 1px solid #fff3;
  align-content: end;
  gap: 16px;
  min-height: 94px;
  padding: 18px 16px 0 0;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
  display: grid;
}

.company-values strong i {
  color: #c7926e;
  font-size: 8px;
  font-style: normal;
}

.dvt-section-heading {
  grid-template-columns: .42fr 1.1fr;
  align-items: start;
  gap: clamp(35px, 7vw, 110px);
  margin-bottom: clamp(48px, 6vw, 88px);
  display: grid;
}

.dvt-section-heading h2 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 0;
  font-size: clamp(44px, 5.4vw, 82px);
  font-weight: 400;
  line-height: .95;
}

.dvt-section-heading span {
  color: #6c706b;
  max-width: 650px;
  margin-top: 22px;
  font-size: 14px;
  line-height: 1.75;
  display: block;
}

.dvt-section-heading--light h2 {
  color: #f1eee7;
}

.dvt-section-heading--light span {
  color: #ffffff94;
}

.services-section {
  background: #efeee9;
  padding-top: clamp(100px, 11vw, 170px);
  padding-bottom: clamp(100px, 11vw, 170px);
}

.services-stage {
  border-top: 1px solid #c9c8c2;
  border-bottom: 1px solid #c9c8c2;
  grid-template-columns: 1.16fr .84fr;
  min-height: 690px;
  display: grid;
}

.services-stage__image {
  background: #222;
  min-height: 690px;
  position: relative;
  overflow: hidden;
}

.services-stage__image img {
  object-fit: cover;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity .55s, transform 1s;
  position: absolute;
  inset: 0;
  transform: scale(1.025);
}

.services-stage__image img.is-active {
  opacity: 1;
  transform: scale(1);
}

.services-stage__image > span {
  z-index: 2;
  color: #fff;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  background: #080c0a40;
  border: 1px solid #ffffff8c;
  border-radius: 50%;
  place-items: center;
  width: 46px;
  height: 46px;
  font-size: 9px;
  display: grid;
  position: absolute;
  top: 24px;
  left: 24px;
}

.services-stage__content {
  color: #f0eee8;
  background: #17251f;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5vw, 75px);
  display: flex;
}

.services-stage__content small {
  color: #c7926e;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 8px;
  font-weight: 650;
}

.services-stage__content h3 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 24px 0 25px;
  font-size: clamp(38px, 4vw, 60px);
  font-weight: 400;
  line-height: 1;
}

.services-stage__content strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}

.services-stage__content p {
  color: #fff9;
  margin: 22px 0 0;
  font-size: 13px;
  line-height: 1.8;
}

.services-list {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.services-list button {
  color: #242724;
  text-align: left;
  cursor: pointer;
  background: none;
  border-top: 1px solid #c9c8c2;
  border-bottom: 0;
  border-left: 0;
  border-right: 1px solid #c9c8c2;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 88px;
  padding: 18px 22px;
  display: grid;
  position: relative;
}

.services-list button:nth-child(3n) {
  border-right: 0;
}

.services-list button:before {
  content: "";
  transform-origin: bottom;
  background: #ddd9d0;
  transition: transform .25s;
  position: absolute;
  inset: 0;
  transform: scaleY(0);
}

.services-list button > * {
  z-index: 1;
  position: relative;
}

.services-list button:hover:before, .services-list button.is-active:before {
  transform: scaleY(1);
}

.services-list button span {
  color: #a66b48;
  font-size: 8px;
}

.services-list button strong {
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 500;
}

.services-list button i {
  font-size: 15px;
  font-style: normal;
}

.partners-section {
  color: #f1eee7;
  background: #101713;
  padding-top: clamp(105px, 11vw, 175px);
  padding-bottom: clamp(105px, 11vw, 175px);
  overflow: hidden;
}

.partner-list {
  gap: clamp(100px, 12vw, 185px);
  display: grid;
}

.partner-chapter > header {
  border-top: 1px solid #ffffff2e;
  grid-template-columns: 55px minmax(190px, .45fr) 1fr auto;
  align-items: start;
  gap: clamp(28px, 4vw, 65px);
  padding: 35px 0;
  display: grid;
}

.partner-chapter > header > span {
  color: #c7926e;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 8px;
  display: grid;
}

.partner-chapter__identity {
  gap: 13px;
  display: grid;
}

.partner-chapter__identity img {
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert();
  width: auto;
  max-width: 180px;
  height: 46px;
}

.partner-chapter__identity strong {
  font-family: var(--serif);
  font-size: 31px;
  font-weight: 400;
}

.partner-chapter__identity small {
  color: #ffffff75;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 9px;
}

.partner-chapter > header > p {
  color: #ffffffa6;
  max-width: 680px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

.partner-chapter > header > a {
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid #ffffff73;
  padding-bottom: 8px;
  font-size: 9px;
}

.partner-strengths {
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 38px 55px;
  display: flex;
}

.partner-strengths span {
  color: #ffffff9e;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #ffffff2e;
  border-radius: 30px;
  padding: 8px 12px;
  font-size: 8px;
}

.partner-projects {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.partner-projects > article > div {
  background: #252a27;
  height: clamp(230px, 25vw, 390px);
  position: relative;
  overflow: hidden;
}

.partner-projects img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s;
}

.partner-projects article:hover img {
  transform: scale(1.025);
}

.partner-projects > article > div > span {
  color: #fff;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #0d1310cc;
  border-radius: 3px;
  padding: 6px 8px;
  font-size: 7px;
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.partner-projects > article > small {
  color: #ffffff6b;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 16px;
  font-size: 8px;
  display: block;
}

.partner-projects h3 {
  min-height: 52px;
  font-family: var(--serif);
  margin: 9px 0 15px;
  font-size: clamp(20px, 1.8vw, 29px);
  font-weight: 400;
  line-height: 1.08;
}

.partner-projects dl {
  border-top: 1px solid #ffffff24;
  gap: 6px;
  margin: 0;
  padding-top: 12px;
  display: grid;
}

.partner-projects dl > div {
  grid-template-columns: 48px 1fr;
  gap: 8px;
  display: grid;
}

.partner-projects dt {
  color: #ffffff59;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 7px;
}

.partner-projects dd {
  color: #ffffff9e;
  margin: 0;
  font-size: 8px;
  line-height: 1.45;
}

.partner-disclaimer {
  color: #ffffff59;
  text-align: right;
  max-width: 720px;
  margin: 28px 0 0 auto;
  font-size: 9px;
  line-height: 1.7;
}

.immersive-site .hero-shell {
  isolation: isolate;
  overflow: clip;
}

.immersive-site .hero--layout_1 .hero__expertise {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.immersive-site .hero--layout_1 .hero__expertise strong {
  white-space: nowrap;
  font-size: clamp(9px, .82vw, 12px);
}

.services-section {
  padding-top: clamp(72px, 7vw, 108px);
  padding-bottom: clamp(82px, 8vw, 125px);
}

.partners-section, .news-section, .contact-section {
  padding-top: clamp(76px, 7vw, 112px);
  padding-bottom: clamp(90px, 9vw, 140px);
}

.spa-section {
  scroll-margin-top: 88px;
}

.project-showcase__stage {
  background: #151a17;
  height: clamp(400px, 100svh - 104px, 620px);
  min-height: 0;
}

.project-showcase__stage > img {
  object-fit: contain;
}

.services-stage {
  --focus-media-height: clamp(400px,calc(100svh - 104px),620px);
  grid-template-rows: var(--focus-media-height) auto;
  min-height: 0;
}

.services-stage__image {
  height: var(--focus-media-height);
  background: #151a17;
  min-height: 0;
}

.services-stage__image img {
  object-fit: contain;
}

.services-stage__content {
  min-height: 0;
  max-height: var(--focus-media-height);
  overflow: auto;
}

@media (max-width: 900px) {
  .immersive-site .hero--layout_1 .hero__expertise {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-showcase__stage {
    height: calc(100svh - 96px);
    min-height: 380px;
    max-height: 620px;
  }

  .services-stage {
    grid-template-rows: auto;
  }

  .services-stage__image {
    height: min(72vw, 100svh - 96px);
    min-height: 340px;
  }

  .services-stage__content {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 1000px) {
  .company-principles {
    grid-template-columns: 1fr 1fr;
  }

  .company-principles__lead {
    border-left: 0;
    grid-area: auto / 1 / auto / -1;
  }

  .company-principles > article:nth-child(2) {
    border-left: 0;
  }

  .company-values {
    border-left: 0;
    grid-column: 1 / -1;
  }

  .services-stage {
    grid-template-columns: 1fr;
  }

  .services-stage__image {
    min-height: 520px;
  }

  .services-stage__content {
    min-height: 420px;
  }

  .partner-chapter > header {
    grid-template-columns: 45px .5fr 1fr;
  }

  .partner-chapter > header > a {
    grid-column: 2;
  }

  .partner-projects {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .company-principles {
    grid-template-columns: 1fr;
    padding-inline: 18px;
  }

  .company-principles > * {
    border-left: 0;
    grid-column: 1;
    padding: 38px 4px;
  }

  .company-principles blockquote {
    margin: 50px 0;
    font-size: 40px;
  }

  .company-values {
    grid-template-columns: 1fr 1fr;
  }

  .company-values strong {
    padding-right: 12px;
  }

  .dvt-section-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .dvt-section-heading h2 {
    font-size: 44px;
  }

  .services-stage, .services-stage__image {
    min-height: 0;
  }

  .services-stage__image {
    height: 72vw;
  }

  .services-stage__content {
    min-height: 0;
    padding: 42px 24px;
  }

  .services-list {
    grid-template-columns: 1fr;
  }

  .services-list button, .services-list button:nth-child(3n) {
    border-right: 0;
  }

  .partner-chapter > header {
    grid-template-columns: 42px 1fr;
    gap: 22px;
  }

  .partner-chapter > header > p, .partner-chapter > header > a {
    grid-column: 2;
  }

  .partner-strengths {
    margin-left: 0;
  }

  .partner-projects {
    scroll-snap-type: x mandatory;
    gap: 14px;
    width: calc(100% + 18px);
    padding-right: 18px;
    display: flex;
    overflow-x: auto;
  }

  .partner-projects > article {
    scroll-snap-align: start;
    flex: 0 0 82vw;
  }

  .partner-projects > article > div {
    height: 105vw;
    max-height: 520px;
  }

  .partner-disclaimer {
    text-align: left;
  }
}

.admin-list {
  gap: 10px;
  display: grid;
}

.admin-list-row {
  background: #fff;
  border: 1px solid #dfded8;
  border-radius: 7px;
  grid-template-columns: 96px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 18px;
  min-height: 92px;
  padding: 10px;
  display: grid;
}

.admin-list-row > img {
  object-fit: cover;
  background: #e8e7e1;
  border-radius: 4px;
  width: 96px;
  height: 72px;
}

.admin-list-row > span {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.admin-list-row > span small {
  color: #8b8d87;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 8px;
}

.admin-list-row > span strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.admin-list-row > span em {
  color: #747770;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-style: normal;
  overflow: hidden;
}

.admin-list-row > b {
  color: #2b5a47;
  background: #edf3ef;
  border-radius: 30px;
  padding: 6px 9px;
  font-size: 8px;
  font-weight: 600;
}

.partner-project-editor {
  gap: 12px;
  display: grid;
}

.partner-project-editor > article {
  background: #f8f7f3;
  border: 1px solid #dddcd6;
  border-radius: 6px;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 14px;
  display: grid;
}

.partner-project-editor article > header {
  grid-column: 1 / -1;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.partner-project-editor article > header button {
  color: #a14d3e;
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 9px;
}

.partner-project-editor input {
  min-height: 38px;
  font: inherit;
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 10px;
}

.partner-project-editor .form-span {
  grid-column: 1 / -1;
}

.admin-secondary {
  color: #264438;
  cursor: pointer;
  background: #fff;
  border: 1px solid #b8beb9;
  border-radius: 4px;
  justify-self: start;
  padding: 10px 13px;
  font-size: 9px;
  font-weight: 600;
}

@media (max-width: 700px) {
  .admin-list-row {
    grid-template-columns: 72px 1fr;
  }

  .admin-list-row > img {
    width: 72px;
    height: 62px;
  }

  .admin-list-row > b, .admin-list-row > .row-actions {
    grid-column: 2;
  }

  .partner-project-editor > article {
    grid-template-columns: 1fr;
  }

  .partner-project-editor article > header, .partner-project-editor .form-span {
    grid-column: 1;
  }
}

.spa-site .site-header .brand--button {
  padding: 0;
}

.spa-site .site-header .nav button {
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  padding: 10px 0;
}

.project-detail-hero {
  background: #0b100e;
}

.project-detail-hero > img {
  object-fit: contain;
}

.project-narrative__item > img {
  object-fit: contain;
  background: #171b19;
  height: clamp(300px, 100svh - 124px, 560px);
}

.project-gallery-mosaic__item, .project-gallery-mosaic__item--0, .project-gallery-mosaic__item--2, .project-gallery-mosaic__item--3, .project-gallery-mosaic__item--5, .project-gallery-mosaic__item--6 {
  height: clamp(300px, 100svh - 124px, 600px);
}

.project-gallery-mosaic__item img {
  object-fit: contain;
}

.next-project-rich > img {
  object-fit: contain;
  background: #101412;
}

.project-custom-html {
  background: #efeee9;
  padding-top: clamp(75px, 8vw, 120px);
  padding-bottom: clamp(90px, 9vw, 140px);
}

.project-custom-html > section, .project-custom-html > article {
  border-top: 1px solid #c8c7c1;
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(58px, 7vw, 105px) 0;
}

.project-custom-html h2, .project-custom-html h3 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 0 0 25px;
  font-weight: 400;
  line-height: 1.02;
}

.project-custom-html h2 {
  font-size: clamp(38px, 4.4vw, 68px);
}

.project-custom-html h3 {
  font-size: clamp(27px, 3vw, 44px);
}

.project-custom-html p, .project-custom-html li {
  color: #555852;
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.85;
}

.project-custom-html img {
  object-fit: contain;
  background: #171b19;
  width: 100%;
  max-height: calc(100svh - 124px);
}

.project-html__lead {
  text-align: center;
  max-width: 980px !important;
}

.project-html__lead p {
  max-width: 720px;
  margin-inline: auto;
}

.project-html__split {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(38px, 7vw, 110px);
  display: grid;
}

.project-html__split--reverse > img, .project-html__split--reverse > figure {
  grid-area: 1 / 1;
}

.project-html__split--reverse > div {
  grid-column: 2;
}

.project-html__image-full img {
  width: 100%;
}

.project-html__gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 28px);
  display: grid;
}

.project-html__gallery img {
  height: min(58vw, 100svh - 124px);
}

.project-html__quote {
  font-family: var(--serif);
  font-size: clamp(32px, 4.2vw, 62px);
  line-height: 1.12;
  max-width: 980px !important;
}

.project-html-editor {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  display: grid;
}

.project-html-editor__help, .project-html-editor__preview {
  grid-column: 1 / -1;
}

.project-html-editor__help {
  background: #eeeee9;
  border: 1px solid #d9d8d2;
  border-radius: 6px;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 12px;
  display: flex;
}

.project-html-editor__help strong {
  margin-right: 8px;
  font-size: 10px;
}

.project-html-editor__help code {
  color: #415148;
  background: #fff;
  border-radius: 4px;
  padding: 5px 7px;
  font-size: 9px;
}

.project-html-editor textarea {
  min-height: 350px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  line-height: 1.55;
}

.project-html-editor__preview {
  gap: 8px;
  display: grid;
}

.project-html-editor__preview small {
  color: var(--admin-muted);
  font-size: 9px;
}

.project-html-editor__preview iframe {
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 6px;
  width: 100%;
  height: 430px;
}

@media (max-width: 760px) {
  .project-narrative__item > img, .project-gallery-mosaic__item, .project-gallery-mosaic__item--0, .project-gallery-mosaic__item--2, .project-gallery-mosaic__item--3, .project-gallery-mosaic__item--5, .project-gallery-mosaic__item--6 {
    height: min(72svh, 110vw);
  }

  .project-html__split, .project-html__gallery, .project-html-editor {
    grid-template-columns: 1fr;
  }

  .project-html__split--reverse > img, .project-html__split--reverse > figure, .project-html__split--reverse > div {
    grid-area: auto / 1;
  }
}

@media (min-width: 641px) and (max-width: 1000px) {
  .services-stage__image {
    height: clamp(400px, 100svh - 96px, 620px);
    min-height: 0;
  }

  .services-stage__content {
    min-height: 0;
  }
}

.site-header--glass, .spa-site .site-header--glass, .project-detail-rich > .site-header.site-header--glass {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #080d0bf7;
}

.brand--with-mark {
  grid-template-rows: auto auto;
  grid-template-columns: 42px minmax(0, auto);
  align-items: center;
  column-gap: 11px;
  display: grid;
}

.brand--with-mark .brand__mark {
  object-fit: contain;
  filter: brightness(0) invert();
  grid-area: 1 / 1 / 3;
  align-self: center;
  width: 42px;
  max-width: 42px;
  height: 28px;
}

.brand--with-mark .brand__mark--padded {
  width: 80px;
  max-width: none;
  height: auto;
  transform: translateX(-17px);
}

.brand--with-mark > span {
  grid-area: 1 / 2;
}

.brand--with-mark > small {
  grid-area: 2 / 2;
}

.project-narrative__item > .project-narrative__media {
  grid-column: 3;
  align-self: start;
  gap: clamp(10px, 1.2vw, 18px);
  min-width: 0;
  margin-top: -28px;
  display: grid;
}

.project-narrative__item--offset > .project-narrative__media {
  grid-column: 2 / 4;
  width: 72%;
  margin-left: auto;
}

.project-narrative__media--multiple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-narrative__media img {
  object-fit: contain;
  background: #171b19;
  width: 100%;
  height: clamp(300px, 100svh - 124px, 560px);
  display: block;
}

.project-narrative__media--multiple img {
  height: clamp(250px, 42svh, 420px);
}

.project-section-gallery-editor {
  border-top: 1px solid #dad9d3;
  gap: 18px;
  margin-top: 8px;
  padding-top: 20px;
  display: grid;
}

.project-section-gallery-editor > header {
  gap: 5px;
  display: grid;
}

.project-section-gallery-editor > header strong {
  font-size: 12px;
}

.project-section-gallery-editor > header small {
  color: var(--admin-muted);
  font-size: 9px;
  line-height: 1.5;
}

.project-section-gallery-editor > article {
  gap: 9px;
  display: grid;
}

.project-section-gallery-editor > article > div:first-child {
  justify-content: space-between;
  align-items: end;
  gap: 15px;
  display: flex;
}

.project-section-gallery-editor > article strong {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
}

.project-section-gallery-editor > article small {
  color: var(--admin-muted);
  font-size: 8px;
}

.project-section-gallery-editor__selected {
  padding: 3px 3px 8px;
  overflow-x: auto;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  display: flex !important;
}

.project-section-gallery-editor__selected > div {
  background: #f7faf8;
  border: 1px solid #c9d8d1;
  border-radius: 5px;
  flex: 0 0 124px;
  padding: 3px;
  position: relative;
  overflow: hidden;
}

.project-section-gallery-editor__selected img {
  object-fit: cover;
  border-radius: 3px;
  width: 100%;
  height: 76px;
}

.project-section-gallery-editor__selected > div > span {
  color: #fff;
  background: #1d5945;
  border-radius: 50%;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 7px;
  display: grid;
  position: absolute;
  top: 7px;
  left: 7px;
}

.project-section-gallery-editor__selected > div > div {
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-top: 3px;
  display: grid;
}

.project-section-gallery-editor__selected button {
  color: #28463a;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d5d8d4;
  border-radius: 3px;
  padding: 4px;
  font-size: 10px;
}

.project-section-gallery-editor__selected button:last-child {
  color: #9a453c;
}

.project-section-gallery-editor__selected button:disabled {
  cursor: not-allowed;
  opacity: .3;
}

.project-section-gallery-editor__images {
  grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
  gap: 8px;
  display: grid;
}

.project-section-gallery-editor__images button {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d7d6d0;
  border-radius: 5px;
  min-width: 0;
  padding: 3px;
  position: relative;
  overflow: hidden;
}

.project-section-gallery-editor__images button.is-selected {
  border-color: #1d5945;
  box-shadow: 0 0 0 2px #1d59452e;
}

.project-section-gallery-editor__images img {
  object-fit: cover;
  background: #ebeae5;
  border-radius: 3px;
  width: 100%;
  height: 68px;
  display: block;
}

.project-section-gallery-editor__images span {
  color: #fff;
  background: #0a100dd1;
  border-radius: 50%;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 7px;
  display: grid;
  position: absolute;
  bottom: 7px;
  right: 7px;
}

.project-section-gallery-editor__images button.is-selected span {
  background: #1d5945;
}

@media (max-width: 900px) {
  .project-narrative__item > .project-narrative__media, .project-narrative__item--offset > .project-narrative__media {
    grid-column: 1 / 3;
    width: 100%;
    margin: 48px 0 0;
  }
}

@media (max-width: 640px) {
  .brand--with-mark {
    grid-template-columns: 35px auto;
    column-gap: 8px;
  }

  .brand--with-mark .brand__mark {
    width: 35px;
    max-width: 35px;
    height: 24px;
    transform: none;
  }

  .brand--with-mark .brand__mark--padded {
    width: 67px;
    max-width: none;
    height: auto;
    transform: translateX(-14px);
  }

  .brand--with-mark > small {
    display: none;
  }

  .project-narrative__item > .project-narrative__media, .project-narrative__item--offset > .project-narrative__media {
    grid-column: 1;
  }

  .project-narrative__media--multiple {
    grid-template-columns: 1fr;
  }

  .project-narrative__media img, .project-narrative__media--multiple img {
    height: min(68svh, 105vw);
  }

  .project-section-gallery-editor__images {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.spa-site > .site-header, .project-detail-rich > .site-header {
  z-index: 500;
  isolation: isolate;
}

.spa-site > .spa-section, .spa-site > .hero-shell, .services-stage, .services-stage__image, .project-showcase__stage, .partner-projects, .news-rail {
  z-index: 0;
  position: relative;
}

.brand--with-mark .brand__mark--original {
  filter: none;
}

.admin-sidebar {
  width: 264px;
  padding-inline: 18px;
}

.admin-main {
  margin-left: 264px;
}

.admin-sidebar__head {
  align-items: center;
  min-height: 82px;
  margin-bottom: 18px;
}

.admin-logo {
  flex: 1;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.admin-logo > img {
  object-fit: contain;
  filter: brightness(0) invert();
  width: 36px;
  max-width: 36px;
  height: 30px;
}

.admin-logo > img.is-padded {
  width: 68px;
  max-width: none;
  height: auto;
  transform: translateX(-15px);
}

.admin-logo > img.is-original {
  filter: none;
}

.admin-logo > p {
  min-width: 0;
  margin: 0;
}

.admin-logo span, .admin-logo small {
  display: block;
}

.admin-logo span {
  font-family: var(--sans);
  letter-spacing: .16em;
  font-size: 20px;
  font-weight: 500;
}

.admin-logo small {
  margin-top: 7px;
  font-size: 8px;
  line-height: 1.3;
}

.admin-sidebar nav {
  gap: 8px;
}

.admin-sidebar nav button {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 10px 12px;
  line-height: 1.35;
  position: relative;
  overflow: hidden;
}

.admin-sidebar nav button:before {
  content: "";
  opacity: 0;
  background: #d1a47e;
  border-radius: 0 4px 4px 0;
  width: 3px;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
}

.admin-sidebar nav button.is-active {
  background: #f4f1e921;
  box-shadow: inset 0 0 0 1px #ffffff09;
}

.admin-sidebar nav button.is-active:before {
  opacity: 1;
}

.admin-nav-label {
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  min-width: 0;
}

.admin-shell--sidebar-closed .admin-sidebar {
  width: 80px;
  padding-inline: 12px;
}

.admin-shell--sidebar-closed .admin-main {
  margin-left: 80px;
}

.admin-shell--sidebar-closed .admin-sidebar__head {
  min-height: 76px;
}

.admin-shell--sidebar-closed .admin-logo {
  display: none;
}

.admin-shell--sidebar-closed .admin-sidebar nav button {
  width: 52px;
  min-height: 52px;
  margin-inline: auto;
}

.live-preview-panel {
  overflow: hidden;
}

.live-preview-panel__heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 14px;
  display: flex !important;
}

.live-preview-panel__heading > div {
  gap: 5px;
  display: grid;
}

.live-preview-panel__heading span {
  color: #6b6b66;
  max-width: 680px;
  font-size: 11px;
  line-height: 1.55;
}

.preview-status {
  color: #72756f;
  background: #ecece7;
  border-radius: 30px;
  flex: none;
  padding: 6px 9px;
  font-size: 8px;
  font-style: normal;
}

.preview-status--ready {
  color: #2e634a;
  background: #e4efe8;
}

.preview-status--error {
  color: #9d4037;
  background: #f5e5e2;
}

.live-preview-toolbar {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px !important;
  display: flex !important;
}

.live-preview-toolbar > div {
  gap: 6px;
  display: flex;
}

.live-preview-toolbar button, .live-preview-toolbar a {
  color: #424742;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 9px;
}

.live-preview-toolbar button.is-active {
  color: #fff;
  background: #315b49;
  border-color: #315b49;
}

.live-preview-panel > .live-preview-viewport {
  background: #dddcd7;
  border: 1px solid #d9d5ca;
  border-radius: 5px;
  justify-content: center;
  gap: 0;
  min-height: 620px;
  margin-bottom: 0;
  padding: 0;
  display: flex;
  overflow: auto;
}

.live-preview-viewport iframe {
  background: #fff;
  border: 0;
  flex: none;
  height: 720px;
  display: block;
}

.live-preview-viewport--desktop iframe {
  width: 100%;
}

.live-preview-viewport--tablet iframe {
  width: 768px;
}

.live-preview-viewport--mobile iframe {
  width: 390px;
}

.live-preview-error {
  color: #a4433a;
  margin: 10px 0 0;
  font-size: 10px;
}

.branding-editor {
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: 28px;
  padding: 22px;
  display: grid;
}

.branding-editor__preview {
  align-content: start;
  gap: 10px;
  display: grid;
}

.branding-editor__preview > span {
  color: var(--admin-muted);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 9px;
}

.branding-editor__preview > div {
  color: #fff;
  background: #0b110e;
  border-radius: 6px;
  place-content: center;
  justify-items: center;
  gap: 16px;
  min-height: 220px;
  padding: 30px;
  display: grid;
}

.branding-editor__preview img {
  object-fit: contain;
  filter: brightness(0) invert();
  width: min(240px, 80%);
  max-height: 100px;
}

.branding-editor__preview img.is-original {
  filter: none;
}

.branding-editor__preview strong {
  letter-spacing: .15em;
  font-size: 14px;
}

.admin-category-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 15px 18px;
}

.media-upload-button {
  cursor: pointer;
  align-items: center;
  display: inline-flex;
}

.media-upload-button input {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.media-library-grid {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
  display: grid;
}

.media-library-grid > article {
  gap: 10px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.media-library-grid > article > div:first-child {
  background: #e5e5df;
  border-radius: 5px;
  height: 165px;
  position: relative;
  overflow: hidden;
}

.media-library-grid img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.media-library-grid > article > div:first-child span {
  color: #fff;
  background: #0c120fc7;
  border-radius: 3px;
  padding: 5px 6px;
  font-size: 7px;
  position: absolute;
  bottom: 7px;
  right: 7px;
}

.media-library-grid strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}

.media-library-grid small {
  color: var(--admin-muted);
  font-size: 8px;
}

.media-library-grid > article > div:last-child {
  grid-template-columns: 1fr 1fr auto;
  gap: 5px;
  display: grid;
}

.media-library-grid button {
  color: #465048;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8d7d1;
  border-radius: 4px;
  padding: 7px 6px;
  font-size: 8px;
}

.media-library-grid button:last-child {
  color: #9a453c;
}

.media-editor > img {
  object-fit: contain;
  background: #e6e5e0;
  border-radius: 5px;
  width: 100%;
  max-height: 360px;
}

@media (max-width: 900px) and (min-width: 641px) {
  .admin-sidebar {
    width: 238px;
  }

  .admin-main {
    margin-left: 238px;
  }

  .admin-sidebar nav button {
    font-size: 13px;
  }

  .branding-editor {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .admin-sidebar, .admin-shell--sidebar-closed .admin-sidebar {
    width: 270px;
    padding-inline: 15px;
  }

  .admin-logo {
    grid-template-columns: 36px 1fr;
    padding: 0 !important;
    display: grid !important;
  }

  .admin-sidebar nav button, .admin-shell--sidebar-closed .admin-sidebar nav button {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    justify-items: stretch;
    width: 100%;
  }

  .branding-editor {
    grid-template-columns: 1fr;
    padding: 15px;
  }

  .admin-category-row {
    grid-template-columns: 1fr;
  }

  .media-library-grid {
    grid-template-columns: 1fr 1fr;
  }

  .live-preview-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .live-preview-panel > .live-preview-viewport {
    justify-content: flex-start;
    min-height: 560px;
  }
}

@media (max-width: 430px) {
  .media-library-grid {
    grid-template-columns: 1fr;
  }
}

.project-overlay__close, .project-lightbox__top > button, .project-lightbox__nav > button, .hero__controls > button, .project-showcase__controls > button {
  flex: none;
  place-items: center;
  padding: 0;
  line-height: 0;
  display: inline-grid;
}

.project-overlay__close svg, .project-lightbox__top > button svg, .project-lightbox__nav > button svg, .hero__controls > button svg, .project-showcase__controls > button svg, .project-overlay__detail svg, .profile-download svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 18px;
  height: 18px;
}

.project-overlay__close {
  background: #f7f5eff0;
  width: 44px;
  height: 44px;
  transition: background .2s, color .2s, transform .2s;
  box-shadow: 0 7px 22px #00000017;
}

.project-overlay__close:hover {
  color: #fff;
  background: #173c31;
  transform: rotate(4deg);
}

.project-overlay__close svg {
  width: 17px;
  height: 17px;
}

.project-overlay__detail i {
  place-items: center;
  width: 28px;
  height: 28px;
  display: grid;
}

.project-overlay__detail i svg {
  width: 17px;
  height: 17px;
}

.hero__controls {
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #070c0a85;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  min-height: 52px;
  padding: 6px;
  box-shadow: 0 8px 26px #0000002e;
}

.hero__controls > button {
  color: #fff;
  background: #0000003d;
  border-color: #ffffffad;
  width: 40px;
  height: 40px;
}

.hero__controls > button:hover {
  color: #14231e;
  background: #fff;
}

.hero__controls > button svg {
  width: 17px;
  height: 17px;
}

.hero__progress {
  align-items: center;
}

.hero__progress button {
  box-shadow: 0 1px 5px #00000073;
}

.immersive-site .hero--layout_1 .hero__controls {
  bottom: 70px;
}

.project-showcase__controls {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #050a08b3;
  border: 1px solid #ffffff2b;
  border-radius: 999px;
  min-height: 58px;
  padding: 7px;
  box-shadow: 0 10px 30px #0000003d;
}

.project-showcase__controls button {
  background: #ffffff0a;
  border-color: #ffffff9e;
  width: 44px;
  height: 44px;
  transition: background .2s, color .2s, border-color .2s;
}

.project-showcase__controls button:hover {
  color: #14231e;
  background: #fff;
  border-color: #fff;
}

.project-showcase__controls button svg {
  width: 18px;
  height: 18px;
}

.project-showcase__controls span {
  text-align: center;
  min-width: 42px;
}

.profile-download {
  color: #fff;
  letter-spacing: 0;
  text-transform: none;
  background: #173c31;
  border: 1px solid #173c31;
  border-radius: 2px;
  grid-template-columns: 28px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 15px;
  width: min(390px, 100%);
  min-height: 76px;
  margin: 6px 0 2px;
  padding: 14px 15px;
  transition: background .22s, color .22s, transform .22s, box-shadow .22s;
  display: grid;
  box-shadow: 0 12px 28px #14302721;
}

.profile-download > svg {
  width: 23px;
  height: 23px;
}

.profile-download > span {
  min-width: 0;
  font-size: inherit;
  gap: 5px;
  display: grid;
}

.profile-download b {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.profile-download small {
  color: #ffffff9e;
  letter-spacing: .04em;
  font-size: 9px;
}

.profile-download i {
  border: 1px solid #ffffff52;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  font-style: normal;
  display: grid;
}

.profile-download i svg {
  width: 16px;
  height: 16px;
  transition: transform .2s;
}

.profile-download:hover {
  color: #fff;
  background: #0f2d24;
  transform: translateY(-2px);
  box-shadow: 0 17px 34px #14302733;
}

.profile-download:hover i svg {
  transform: translateX(3px);
}

.all-projects .project-grid {
  align-items: stretch;
}

.all-projects .project-card {
  vertical-align: top;
  grid-template-rows: auto 1fr;
  align-self: stretch;
  height: 100%;
  display: grid;
  margin: 0 !important;
  transform: none !important;
}

.all-projects .project-card__image {
  aspect-ratio: 4 / 3;
  width: 100%;
  margin: 0;
}

.all-projects .project-card__info {
  grid-template-columns: minmax(0, 1fr) minmax(95px, .42fr);
  align-items: end;
  min-height: 112px;
  display: grid;
}

.all-projects .project-card__info > div {
  align-self: start;
}

.all-projects .project-card__info h3 {
  min-height: 2.15em;
  line-height: 1.08;
}

.all-projects .project-card__info p {
  align-self: end;
  padding-bottom: 3px;
  line-height: 1.45;
}

.admin-modal header > button {
  border-radius: 50%;
  flex: none;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  line-height: 1;
  display: grid;
}

.admin-modal header > button:hover {
  background: #e9ece8;
}

@media (max-width: 640px) {
  .immersive-site .hero--layout_1 .hero__controls {
    bottom: 18px;
  }

  .hero__controls {
    min-height: 48px;
  }

  .hero__controls > button {
    width: 36px;
    height: 36px;
  }

  .project-showcase__controls {
    bottom: 9px;
    right: 9px;
  }

  .project-showcase__controls button {
    width: 40px;
    height: 40px;
  }

  .all-projects .project-card__info {
    grid-template-columns: 1fr;
    gap: 13px;
    min-height: 0;
  }

  .all-projects .project-card__info h3 {
    min-height: 0;
  }

  .all-projects .project-card__info p {
    text-align: left;
  }
}

.admin-sidebar nav button {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 56px !important;
}

.admin-nav-icon {
  justify-content: center !important;
  align-items: center !important;
  width: 34px !important;
  height: 34px !important;
  line-height: 0 !important;
  display: flex !important;
}

.admin-nav-icon svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  transform: none !important;
}

.admin-shell--sidebar-closed .admin-sidebar nav button {
  grid-template-columns: 1fr !important;
  place-items: center !important;
}

.admin-sidebar nav button .admin-nav-icon > * {
  transform-box: view-box !important;
  transform-origin: center !important;
  margin: 0 !important;
}

.admin-modal header > button, .admin-modal__maximize {
  justify-content: center !important;
  align-items: center !important;
}

.admin-modal header > button svg, .admin-modal__maximize svg {
  margin: 0 !important;
  transform: none !important;
}

.news-category-admin {
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.news-category-admin > header {
  background: #f5f7f5 !important;
  border-bottom: 1px solid #e0e2df !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  display: flex !important;
}

.news-category-list {
  display: grid !important;
}

.news-category-list > button {
  text-align: left !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #eceeeb !important;
  border-radius: 0 !important;
  grid-template-columns: minmax(0, 1fr) 70px 82px 45px !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 13px 18px !important;
  display: grid !important;
}

.news-category-list > button > span {
  grid-template-columns: 110px minmax(140px, .45fr) minmax(180px, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  display: grid !important;
}

.hero--layout_2 .hero__progress, .hero--layout_3 .hero__progress {
  display: flex !important;
}

@media (max-width: 900px) {
  .news-category-list > button, .news-category-list > button > span {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
}

@media (max-width: 640px) {
  .admin-sidebar nav button, .admin-shell--sidebar-closed .admin-sidebar nav button {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
  }
}

.admin-locale-switcher {
  background: #fff;
  border: 1px solid #d5d9d5;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 4px 5px 4px 10px;
  display: flex;
}

.admin-locale-switcher > span {
  color: #7a817d;
  letter-spacing: .13em;
  font-size: 8px;
  font-weight: 700;
}

.admin-locale-switcher > div {
  gap: 2px;
  display: flex;
}

.admin-locale-switcher button {
  color: #69706c;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 5px;
  min-width: 34px;
  height: 30px;
  font-size: 9px;
  font-weight: 700;
}

.admin-locale-switcher button:hover {
  background: #edf1ee;
}

.admin-locale-switcher button.is-active {
  color: #fff;
  background: #173b2f;
  box-shadow: 0 2px 8px #173b2f2e;
}

.website-locale-tabs {
  background: #fff !important;
  border: 1px solid #d3d8d4 !important;
  border-radius: 8px !important;
  gap: 5px !important;
  padding: 4px !important;
  display: flex !important;
}

.website-locale-tabs button {
  color: #66706a !important;
  text-align: left !important;
  background: none !important;
  border: 0 !important;
  border-radius: 5px !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 112px !important;
  padding: 8px 11px !important;
  display: flex !important;
}

.website-locale-tabs button b {
  font-size: 10px;
}

.website-locale-tabs button span {
  font-size: 9px;
}

.website-locale-tabs button.is-active {
  color: #fff !important;
  background: #173b2f !important;
}

.website-content-editor .admin-content-groups {
  gap: 12px;
  display: grid;
}

.website-content-editor .admin-content-group > summary {
  min-height: 68px;
}

.profile-upload-control {
  background: #f7f9f7;
  border: 1px solid #dfe3df;
  border-radius: 7px;
  grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr);
  gap: 14px;
  padding: 14px;
  display: grid;
}

.profile-upload-control > label {
  margin: 0;
}

.profile-upload-control input[readonly] {
  color: #65706a;
  background: #eef1ef;
}

.dynamic-stats-editor {
  background: #f8faf8;
  border: 1px solid #d7dcd8;
  border-radius: 7px;
  overflow: hidden;
}

.dynamic-stats-editor > header {
  background: #eef3ef;
  border-bottom: 1px solid #dde2de;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 14px 16px;
  display: flex;
}

.dynamic-stats-editor > header > div {
  gap: 3px;
  display: grid;
}

.dynamic-stats-editor > header small {
  color: #717a74;
  font-size: 9px;
}

.dynamic-stats-editor > header button {
  color: #254a3b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #315a49;
  border-radius: 4px;
  padding: 8px 11px;
  font-size: 9px;
}

.dynamic-stats-editor > div {
  display: grid;
}

.dynamic-stats-editor article {
  border-bottom: 1px solid #e4e7e4;
  grid-template-columns: 38px minmax(110px, .35fr) minmax(180px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 11px 14px;
  display: grid;
}

.dynamic-stats-editor article:last-child {
  border-bottom: 0;
}

.dynamic-stats-editor article > span {
  color: #bb6948;
  align-self: center;
  font-size: 9px;
}

.dynamic-stats-editor article label {
  gap: 5px;
  display: grid;
}

.dynamic-stats-editor article label small {
  color: #737a76;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 8px;
}

.dynamic-stats-editor article input {
  background: #fff;
  border: 1px solid #d7dbd8;
  border-radius: 4px;
  min-height: 38px;
  padding: 8px 10px;
}

.dynamic-stats-editor article > div {
  gap: 4px;
  display: flex;
}

.dynamic-stats-editor article button {
  color: #365043;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d4d9d5;
  border-radius: 4px;
  min-width: 33px;
  height: 38px;
}

.dynamic-stats-editor article button:disabled {
  opacity: .35;
}

.dynamic-stats-editor article .danger-link {
  color: #9d453b;
  width: auto;
  padding: 0 10px;
}

.inline-live-preview {
  margin-top: 18px;
  overflow: hidden;
}

.inline-live-preview > summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  min-height: 64px;
  padding: 12px 16px;
  display: flex;
}

.inline-live-preview > summary > span {
  gap: 4px;
  display: grid;
}

.inline-live-preview > summary small {
  color: #777;
  font-size: 9px;
}

.inline-live-preview > summary > b {
  color: #315b49;
  font-size: 9px;
}

.inline-live-preview iframe {
  background: #fff;
  border: 0;
  border-top: 1px solid #dce0dc;
  width: 100%;
  height: min(72vh, 820px);
}

.visual-editor__guide {
  color: #4e5d55;
  background: #edf5f0;
  border-bottom: 1px solid #dce2dd;
  padding: 9px 13px;
  font-size: 10px;
  line-height: 1.5;
}

.visual-editor__guide strong {
  color: #173f31;
}

.visual-editor__toolbar button.is-active {
  color: #fff;
  background: #173f31;
  border-color: #173f31;
}

.visual-editor__toolbar button:disabled {
  opacity: .35;
}

.visual-editor .tiptap:focus {
  outline: 0;
}

.visual-editor .ProseMirror-selectednode {
  outline-offset: 3px;
  outline: 3px solid #c76d49;
}

.visual-editor__html-mode > p {
  color: #715c2f;
  background: #fff4dc;
  margin: 0;
  padding: 9px 15px;
  font-size: 10px;
}

.visual-editor-picker__options input {
  background: #fff;
  border: 1px solid #d4d7d4;
  border-radius: 5px;
  width: 100%;
  min-height: 42px;
  padding: 8px;
}

.visual-editor-picker__options .admin-secondary {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  display: flex;
}

.visual-editor-picker__options .admin-secondary input {
  display: none;
}

.cms-content__media {
  gap: 14px;
  margin: 32px 0;
  display: grid;
}

.cms-content__media--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-content__media--grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-content__media figure {
  margin: 0;
}

.cms-content__media img {
  object-fit: contain;
  background: #111;
  width: 100%;
  max-height: 76vh;
  display: block;
}

.cms-content__media figcaption {
  color: #737a76;
  text-align: center;
  margin-top: 7px;
  font-size: 12px;
}

.news-category-admin__actions {
  gap: 7px !important;
  display: flex !important;
}

.news-category-admin__body {
  scrollbar-width: thin;
  max-height: 350px;
  overflow: auto;
}

.news-category-search {
  z-index: 2;
  background: #fbfcfb;
  border-bottom: 1px solid #e2e5e2;
  grid-template-columns: 100px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  display: grid;
  position: sticky;
  top: 0;
}

.news-category-search span {
  font-weight: 700;
  font-size: 9px !important;
}

.news-category-search input {
  background: #fff;
  border: 1px solid #d7dbd8;
  border-radius: 4px;
  min-height: 36px;
  padding: 7px 10px;
}

.profile-extensions__heading {
  grid-template-columns: minmax(170px, .45fr) 1.55fr;
  gap: 30px;
  padding-bottom: 80px;
  display: grid;
}

.profile-extensions__heading > p {
  color: #c86d45;
  letter-spacing: .16em;
  font-size: 10px;
  font-weight: 700;
}

.profile-extensions__heading > div {
  gap: 15px;
  display: grid;
}

.profile-extensions__heading h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(45px, 6vw, 88px);
  font-weight: 400;
  line-height: .96;
}

.profile-extensions__heading span {
  color: #68706b;
  max-width: 720px;
  font-size: 16px;
  line-height: 1.7;
}

.profile-extension article h3 a {
  color: inherit;
  text-decoration: none;
}

.profile-extension__detail {
  border-bottom: 1px solid;
  width: max-content;
  padding-bottom: 4px;
  text-decoration: none;
  margin-top: 16px !important;
  display: block !important;
}

.profile-admin-grid article > div {
  flex-wrap: wrap;
}

.profile-admin-grid .admin-preview-link {
  align-items: center;
  display: inline-flex;
}

.profile-detail-page {
  color: #18201c;
  background: #f1f1ee;
}

.profile-detail {
  padding-top: clamp(150px, 18vh, 230px);
  padding-bottom: 110px;
}

.profile-detail__header {
  grid-template-columns: minmax(170px, .45fr) 1.55fr;
  gap: 25px;
  margin-bottom: 70px;
  display: grid;
}

.profile-detail__header > p {
  color: #c86d45;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.profile-detail__header h1 {
  margin: 0;
  font-size: clamp(48px, 7vw, 105px);
  font-weight: 400;
  line-height: .93;
}

.profile-detail__header strong {
  color: #67706b;
  grid-column: 2;
  max-width: 750px;
  font-size: clamp(17px, 2vw, 25px);
  font-weight: 400;
  line-height: 1.5;
}

.profile-detail__body {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  align-items: start;
  gap: clamp(35px, 6vw, 90px);
  display: grid;
}

.profile-detail__body figure {
  margin: 0;
}

.profile-detail__body img {
  object-fit: contain;
  object-position: top;
  background: #111;
  width: 100%;
  max-height: calc(100vh - 110px);
  display: block;
}

.profile-detail__body section {
  position: sticky;
  top: 110px;
}

.profile-detail__body section > p {
  color: #4e5752;
  margin: 0 0 22px;
  font-size: 17px;
  line-height: 1.85;
}

.profile-detail__body dl {
  border-bottom: 1px solid #c9cdca;
  margin: 0 0 30px;
  padding-bottom: 18px;
}

.profile-detail__body dt {
  color: #8a8f8b;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 10px;
}

.profile-detail__body dd {
  margin: 7px 0 0;
}

.profile-detail__actions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 38px;
  display: flex;
}

.profile-detail__actions a {
  color: inherit;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: 1px solid #1b2c24;
  padding: 13px 16px;
  font-size: 11px;
  text-decoration: none;
}

@media (max-width: 760px) {
  .admin-locale-switcher > span {
    display: none;
  }

  .website-locale-tabs button {
    min-width: 0 !important;
  }

  .website-locale-tabs button span {
    display: none;
  }

  .profile-upload-control, .dynamic-stats-editor article, .profile-extensions__heading, .profile-detail__header, .profile-detail__body {
    grid-template-columns: 1fr;
  }

  .dynamic-stats-editor article > span {
    display: none;
  }

  .profile-extensions__heading {
    padding-bottom: 45px;
  }

  .profile-detail__header strong {
    grid-column: auto;
  }

  .profile-detail__body section {
    position: static;
  }

  .cms-content__media--split, .cms-content__media--grid {
    grid-template-columns: 1fr;
  }

  .news-category-admin > header {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .news-category-admin__actions {
    width: 100%;
  }

  .news-category-search {
    grid-template-columns: 1fr;
  }
}

.studio-stats {
  grid-template-columns: repeat(var(--stats-columns, 4),minmax(0,1fr));
  background: #c7cac6;
  border: 1px solid #c7cac6;
  gap: 1px;
  overflow: hidden;
}

.studio-stats article, .studio-stats article:first-child, .studio-stats article:last-child, .studio-stats article:not(:first-child) {
  background: #f4f5f3;
  border: 0;
  min-width: 0;
  min-height: 154px;
  padding: 16px 20px 18px;
}

.studio-stats strong {
  overflow-wrap: anywhere;
  max-width: 100%;
  font-size: clamp(32px, 4vw, 58px);
  line-height: .98;
}

.studio-stats span {
  overflow-wrap: anywhere;
  max-width: 22ch;
  line-height: 1.55;
}

.dynamic-stats-preview {
  grid-template-columns: repeat(var(--stats-columns, 4),minmax(0,1fr));
  background: #d7dcd8;
  border-top: 1px solid #d7dcd8;
  gap: 1px;
  display: grid !important;
}

.dynamic-stats-preview article {
  background: #fff;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  min-height: 118px;
  align-items: initial !important;
  border: 0 !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  padding: 14px !important;
  display: grid !important;
}

.dynamic-stats-preview small {
  color: #9b684f;
  font-size: 8px;
}

.dynamic-stats-preview strong {
  overflow-wrap: anywhere;
  align-self: center;
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 500;
  line-height: 1;
}

.dynamic-stats-preview span {
  overflow-wrap: anywhere;
  color: #59615c;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: 8px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .studio-stats, .dynamic-stats-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .studio-stats, .dynamic-stats-preview {
    grid-template-columns: 1fr;
  }

  .studio-stats article {
    min-height: 132px;
  }
}

.visual-editor__guide kbd {
  color: #294337;
  min-height: 21px;
  font: 600 9px/1 var(--font-sans);
  background: #fff;
  border: 1px solid #cbd3cd;
  border-bottom-width: 2px;
  border-radius: 4px;
  align-items: center;
  margin: 0 3px;
  padding: 1px 6px;
  display: inline-flex;
}

.visual-editor__notice {
  color: #345043;
  background: #f4f7f5;
  border-bottom: 1px solid #dde4df;
  margin: 0;
  padding: 8px 13px;
  font-size: 10px;
}

.visual-editor__notice.is-busy {
  color: #9b5b3d;
}

.visual-editor .tiptap {
  min-height: 360px;
  position: relative;
}

.visual-editor .tiptap p.is-editor-empty:first-child:before {
  float: left;
  color: #9aa19c;
  content: attr(data-placeholder);
  pointer-events: none;
  height: 0;
}

.visual-editor .tiptap > img {
  object-fit: contain;
  background: #eef0ee;
  width: auto;
  max-width: 100%;
  max-height: 68vh;
  margin: 24px auto;
  display: block;
}

.visual-editor .tiptap.ProseMirror-focused {
  box-shadow: inset 0 0 0 2px #315c4933;
}

.visual-editor .tiptap.ProseMirror-focused:after {
  color: #fff;
  content: "Dán hoặc kéo-thả ảnh tại đây";
  letter-spacing: .04em;
  opacity: .82;
  pointer-events: none;
  background: #173f31;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 8px;
  position: absolute;
  bottom: 10px;
  right: 12px;
}

.visual-editor__color {
  color: #526058;
  background: #fff;
  border: 1px solid #d7d9d6;
  border-radius: 4px;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 4px 7px;
  font-size: 9px;
  display: flex;
}

.visual-editor__color input {
  cursor: pointer;
  background: none;
  border: 0;
  width: 22px;
  height: 22px;
  padding: 0;
}

.locale-label-tools {
  background: #f6f8f6;
  border-bottom: 1px solid #e0e4e1;
  grid-template-columns: minmax(220px, 360px) 1fr;
  align-items: end;
  gap: 18px;
  padding: 14px 16px;
  display: grid;
}

.locale-label-tools label {
  gap: 6px;
  display: grid;
}

.locale-label-tools label span {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 9px;
  font-weight: 700;
}

.locale-label-tools input {
  background: #fff;
  border: 1px solid #d4dad5;
  border-radius: 5px;
  min-height: 40px;
  padding: 8px 11px;
}

.locale-label-tools p {
  color: #68716b;
  margin: 0;
  font-size: 10px;
  line-height: 1.55;
}

.locale-admin-label-grid {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #9aa49d #eef1ef;
  max-height: 620px;
  padding-right: 7px;
  overflow: auto;
}

@media (max-width: 700px) {
  .locale-label-tools {
    grid-template-columns: 1fr;
  }

  .locale-admin-label-grid {
    max-height: none;
    overflow: visible;
  }
}

/*# sourceMappingURL=app_globals_css_0w3-wzy._.single.css.map*/

/* Cinematic v2 — full project/news popup, exact author formatting, partner media. */
.content-overlay{padding:clamp(12px,3vw,34px)}
.content-overlay .content-overlay__panel{position:relative;display:block;width:min(1240px,96vw);max-height:92svh;overflow:auto;background:#efeee9;color:#1a201d;box-shadow:0 28px 110px rgba(0,0,0,.5)}
.content-overlay .project-overlay__close{position:sticky;z-index:20;top:18px;margin:18px 18px -62px auto}
.content-overlay__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);min-height:560px;background:#101713;color:#f5f1e8}
.content-overlay__hero>img{width:100%;height:100%;min-height:560px;object-fit:contain;background:#090d0b}
.content-overlay__hero>div{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(50px,6vw,86px) clamp(30px,5vw,68px)}
.content-overlay__hero small,.content-overlay__hero time{color:#c7926e;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.content-overlay__hero time+small{margin-top:10px}
.content-overlay__hero h2{margin:20px 0 24px;font-family:var(--serif);font-size:clamp(42px,5vw,74px);font-weight:400;line-height:.96;letter-spacing:-.045em}
.content-overlay__hero p{margin:0;color:rgba(255,255,255,.68);font-size:15px;line-height:1.8;white-space:pre-wrap;text-transform:none}
.project-overlay article>.content-overlay__body,.news-overlay article>.content-overlay__body{display:block;padding:clamp(48px,7vw,95px)}
.content-overlay__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 clamp(55px,7vw,90px);border-top:1px solid #c7c7c0}
.content-overlay__facts>div,.project-overlay .content-overlay__facts>div{display:block;border-bottom:1px solid #c7c7c0;padding:16px 18px 16px 0}
.content-overlay__facts dt{margin-bottom:7px;color:#8b8e87;font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.content-overlay__facts dd{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap}
.content-overlay__sections{display:grid;gap:clamp(55px,7vw,95px)}
.content-overlay__sections>section{display:grid;gap:22px}
.content-overlay__sections>section>p,.content-overlay__archive>p{margin:0;color:#a66846;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.content-overlay__sections>section>.preserve-user-text,.content-overlay__lead{max-width:850px;font-family:var(--serif);font-size:clamp(20px,2.1vw,30px);line-height:1.55}
.content-overlay__lead{margin-bottom:10px}
.content-overlay__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.content-overlay__gallery img{width:100%;height:min(54vw,560px);object-fit:contain;background:#101513}
.content-overlay__gallery--archive{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.content-overlay__gallery--archive img{height:min(35vw,390px)}
.content-overlay__archive{margin-top:clamp(65px,8vw,110px);padding-top:30px;border-top:1px solid #c7c7c0}
.content-overlay__custom.project-custom-html,.content-overlay__custom.news-custom-html{max-width:none;margin:0;padding:0;background:transparent}
.content-overlay__custom.project-custom-html>section,.content-overlay__custom.project-custom-html>article{padding-top:45px;padding-bottom:45px}
.news-overlay .news-content-block{margin:0}
.news-overlay .news-content-block h3{margin:0;font-family:var(--serif);font-size:clamp(30px,4vw,56px);font-weight:400;line-height:1.05}
.news-overlay .news-content-block__body,.news-overlay .news-content-block ul{max-width:850px;color:#555d58;font-size:17px;line-height:1.9}
.preserve-user-text,.project-custom-html p,.project-custom-html li,.project-custom-html h1,.project-custom-html h2,.project-custom-html h3,.project-custom-html h4,.project-custom-html h5,.project-custom-html h6,.project-custom-html span,.news-custom-html p,.news-custom-html li,.news-custom-html h1,.news-custom-html h2,.news-custom-html h3,.news-custom-html h4,.news-custom-html h5,.news-custom-html h6,.news-custom-html span,.visual-editor__surface p,.visual-editor__surface li,.visual-editor__surface h1,.visual-editor__surface h2,.visual-editor__surface h3,.visual-editor__surface h4,.visual-editor__surface span{white-space:pre-wrap;overflow-wrap:anywhere;text-transform:none}
.profile-extension article p{white-space:pre-wrap;text-transform:none}
.visual-editor__custom-font{display:inline-flex;align-items:stretch;gap:4px}
.visual-editor__custom-font input{width:145px;min-height:34px;border:1px solid #d4d4ce;border-radius:4px;padding:6px 8px;background:#fff;font-size:10px}
.visual-editor__custom-font button{white-space:nowrap}
.partner-chapter__mark{position:relative;display:grid;width:76px;height:76px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.08);color:#c7926e;font-size:16px;letter-spacing:.08em}
.partner-chapter__mark b{font:500 16px/1 var(--sans)}
.partner-chapter__identity .partner-chapter__mark img{position:absolute;inset:0;width:100%;max-width:none;height:100%;padding:8px;object-fit:contain;object-position:center;background:#1b2521;filter:none}
.partner-chapter__identity strong{display:block}
.partner-chapter__cover{margin:0 0 38px 55px;overflow:hidden;background:#252a27}
.partner-chapter__cover img{display:block;width:100%;max-height:min(66svh,720px);object-fit:contain}
@media(max-width:760px){.content-overlay{padding:0}.content-overlay .content-overlay__panel{width:100%;max-height:100svh;min-height:100svh}.content-overlay__hero{grid-template-columns:1fr;min-height:0}.content-overlay__hero>img{min-height:42svh;height:42svh}.content-overlay__hero>div{padding:42px 22px 48px}.project-overlay article>.content-overlay__body,.news-overlay article>.content-overlay__body{padding:48px 22px 80px}.content-overlay__facts{grid-template-columns:1fr 1fr}.content-overlay__gallery,.content-overlay__gallery--archive{grid-template-columns:1fr}.content-overlay__gallery img,.content-overlay__gallery--archive img{height:auto;max-height:72svh}.partner-chapter__cover{margin-left:0}.visual-editor__custom-font{width:100%}.visual-editor__custom-font input{min-width:0;width:auto;flex:1}}

:root{--font-be-vietnam-pro:"Be Vietnam Pro";--font-lora:"Lora"}
.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;background:#f3efe7}.app-loading img{width:72px;height:72px;object-fit:contain}.app-loading p{margin:0;color:#736e66;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.not-found-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#151719;color:#f2ede3;text-align:center}.not-found-page p{color:#a65d3f;font-size:11px;letter-spacing:.16em}.not-found-page h1{font-family:var(--serif);font-size:clamp(42px,7vw,86px);font-weight:400}.not-found-page a{display:inline-block;border-bottom:1px solid currentColor;padding:10px 0}

/* Cinematic v2 Admin — lead mail, child visibility and Media Library folders. */
.table-row{grid-template-columns:1.1fr 1.1fr 1.8fr .7fr .8fr .7fr;min-width:940px}
.lead-mail-editor textarea{white-space:pre-wrap}.lead-mail-note{margin:0;color:#6b716d;font-size:10px;line-height:1.65}
.smtp-config-card{display:grid;gap:18px}.smtp-config-card>p{margin:0;color:#68716c;line-height:1.7}.smtp-status{align-self:center;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.smtp-status.is-ready{background:#e5f3ea;color:#23643c}.smtp-status.is-missing{background:#fff0dd;color:#995c16}.smtp-config-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.smtp-config-summary>div{min-width:0;border:1px solid #e1e3df;border-radius:6px;background:#fafbf9;padding:12px}.smtp-config-summary dt{color:#7d847f;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.smtp-config-summary dd{overflow-wrap:anywhere;margin:6px 0 0;color:#21332b;font-size:12px;font-weight:600}.smtp-test-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}.smtp-test-row label{display:grid;gap:7px}.smtp-test-row label>span{color:var(--admin-muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.smtp-test-row input{width:100%;border:1px solid #d9d8d2;border-radius:4px;background:#fbfbf9;padding:12px;font-size:14px}.smtp-test-row button{min-height:43px}.smtp-config-warning{color:#a35f16}
@media(max-width:760px){.smtp-config-summary{grid-template-columns:1fr 1fr}.smtp-test-row{grid-template-columns:1fr}.smtp-test-row button{width:100%}}
.homepage-child-groups{display:grid;gap:12px;border-top:1px solid #d9ddd9;padding-top:18px}.homepage-child-groups>span{color:#737a75;font-size:10px}.homepage-child-groups>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.homepage-child-groups label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}.homepage-child-groups input{width:auto}
.media-folder-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:18px;padding:14px}.media-folder-toolbar label{display:grid;gap:6px;min-width:190px}.media-folder-toolbar label span{font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.media-folder-toolbar select{min-height:38px;border:1px solid #d4d9d5;border-radius:5px;padding:7px 10px;background:#fff}.media-folder-delete{margin-left:auto!important;color:#9a453c!important}
@media(max-width:760px){.homepage-child-groups>div{grid-template-columns:1fr}.media-folder-toolbar{align-items:stretch;flex-direction:column}.media-folder-toolbar label{min-width:0}.media-folder-delete{margin-left:0!important}}

/* Cinematic v2.0.1 — compact popup and restored partner rhythm. */
.content-overlay{padding:32px}
.content-overlay .content-overlay__panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);width:min(980px,92vw);max-height:84vh;overflow:auto;background:#f7f5ef;color:#1a201d}
.content-overlay .project-overlay__close{position:absolute;top:18px;right:18px;margin:0}
.content-overlay__hero{display:contents}
.content-overlay__hero>img{grid-column:1;grid-row:1 / 3;width:100%;height:100%;min-height:460px;max-height:84vh;object-fit:cover;background:#151a17}
.content-overlay__hero>div{grid-column:2;grid-row:1;align-self:end;display:flex;flex-direction:column;justify-content:flex-end;padding:48px 38px 20px;background:#f7f5ef;color:#1a201d}
.content-overlay__hero small,.content-overlay__hero time{color:#8a6a54}
.content-overlay__hero time+small{margin-top:8px}
.content-overlay__hero h2{margin:12px 0 20px;font-size:clamp(33px,4vw,54px);line-height:.98}
.content-overlay__hero p{margin:0;color:#555d58;font-size:14px;line-height:1.75}
.project-overlay article>.content-overlay__body{grid-column:2;grid-row:2;display:block;padding:0 38px 48px!important}
.project-overlay .content-overlay__facts{display:grid;grid-template-columns:1fr;gap:16px;margin:25px 0 0;border-top:0}
.project-overlay .content-overlay__facts>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d8d4ca;padding:12px 0 0}
.project-overlay .content-overlay__facts dt{margin:0;opacity:.58}
.project-overlay .content-overlay__facts dd{text-align:right}
.project-overlay .content-overlay__sections,.project-overlay .content-overlay__custom,.project-overlay .content-overlay__archive{display:none!important}
.news-overlay article>.content-overlay__body{display:none!important}
.news-overlay .content-overlay__hero>div{grid-row:1 / 3;align-self:stretch;justify-content:center;padding:70px 55px}
.news-overlay .content-overlay__hero>img{min-height:560px}
.partner-chapter>header{grid-template-columns:55px minmax(280px,.55fr) 1fr auto;gap:clamp(24px,3vw,48px)}
.partner-chapter__identity{display:grid;grid-template-columns:120px minmax(120px,1fr);grid-template-areas:"mark name" "mark country";align-items:center;column-gap:16px;row-gap:5px}
.partner-chapter__mark{grid-area:mark;width:120px;height:54px;border:0;border-radius:0;background:transparent}
.partner-chapter__mark b{font-size:15px}
.partner-chapter__identity .partner-chapter__mark img{padding:0;object-position:left center;background:transparent}
.partner-chapter__identity strong{grid-area:name;align-self:end;margin:0;font-size:24px;line-height:1.08}
.partner-chapter__identity small{grid-area:country;align-self:start}
.partner-chapter__cover{display:none}
@media(max-width:1000px){.partner-chapter>header{grid-template-columns:45px minmax(250px,.75fr) 1fr}}
@media(max-width:900px){.content-overlay{padding:0}.content-overlay .content-overlay__panel{grid-template-columns:1fr;width:100%;max-height:100vh;min-height:100vh}.content-overlay__hero>img,.news-overlay .content-overlay__hero>img{grid-column:1;grid-row:1;min-height:42vh;height:42vh;max-height:none}.content-overlay__hero>div,.news-overlay .content-overlay__hero>div{grid-column:1;grid-row:2;align-self:auto;padding:38px 24px 22px}.project-overlay article>.content-overlay__body{grid-column:1;grid-row:3;padding:0 24px 70px!important}}
@media(max-width:640px){.partner-chapter__identity{grid-template-columns:88px minmax(0,1fr);column-gap:13px}.partner-chapter__mark{width:88px;height:46px}.partner-chapter__identity strong{font-size:21px}}
.content-typography-field{display:flex;min-width:0;flex-direction:column;gap:8px}.content-typography-field>span{color:var(--admin-muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.content-typography-field>textarea{width:100%;min-height:82px;border:1px solid #d9d8d2;border-radius:4px;outline:0;background:#fbfbf9;padding:12px;font-size:14px;resize:vertical;white-space:break-spaces;text-transform:none}.content-typography-field>textarea:focus{border-color:#8ca094;box-shadow:0 0 0 2px rgba(40,75,61,.08)}.content-typography-field__tools{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(5,minmax(90px,.72fr));gap:7px;padding:9px;border:1px solid #dde2de;border-radius:6px;background:#f1f5f2}.content-typography-field__tools label{display:grid;gap:4px}.content-typography-field__tools small{color:#68716b;font-size:9px}.content-typography-field__tools input,.content-typography-field__tools select{width:100%;min-height:35px;border:1px solid #d5dad6;border-radius:4px;padding:6px 8px;background:#fff;font-size:10px}.content-typography-field__note{color:#65706a;font-size:9px;line-height:1.5}
.immersive-site :is(.brand>span,.brand>small,.hero__copy .eyebrow,.hero__copy h1,.hero__copy .hero__subtitle,.studio-intro__heading h2,.studio-intro__body>p,.studio-intro__body>b,.studio-intro__body>strong,.studio-stats strong,.studio-stats span,.company-principles blockquote,.company-principles dd,.company-principles article h2,.company-principles article p,.company-values>small,.company-values>strong,.dvt-section-heading h2,.dvt-section-heading span,.services-stage__content h3,.services-stage__content strong,.services-stage__content p,.services-list strong,.partner-chapter__identity strong,.partner-chapter__identity small,.partner-chapter>header>p,.partner-strengths span,.partner-projects small,.partner-projects h3,.partner-projects dd,.all-projects .section-heading h2,.all-projects .section-heading p,.project-card h3,.project-card p,.quote-band p,.news-section__heading h2,.news-section__heading span,.news-card>strong,.news-card>p,.profile-extensions__heading h2,.profile-extensions__heading span,.profile-extension article h3,.profile-extension article>strong,.profile-extension article>p,.contact-section__intro h2,.contact-section__intro>p,.content-overlay__copy h2,.content-overlay__copy>p){white-space:break-spaces;text-transform:none!important}
@media(max-width:1050px){.content-typography-field__tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.content-typography-field__tools{grid-template-columns:1fr}}
