/* ==================================================================
   1. GLOBAL — resets, links, typography defaults, keyframes
   ================================================================== */

html,
body {
    margin: 0;
    padding: 0;
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
}

* {
    box-sizing: border-box;
}

a {
    color: #A8121A;
    text-decoration: none;
}

/*a:hover {
    color: #8E0D11;
}*/

::selection {
    background: #CC1B22;
    color: #FFFFFF;
}

input,
select,
textarea {
    font-family: 'Instrument Sans', system-ui, sans-serif;
}

@keyframes rrFade {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

/* ==================================================================
   2. GLOBAL — hover states
   ================================================================== */

.hv-1:hover { background: #E23A40; }
.hv-12:hover { background: #A8121A; }
.hv-5:hover { background: #FBEAEC; }
.hv-11:hover { background: #FFFFFF; color: #CC1B22; }
.hv-2:hover { border-color: #191713; }
.hv-6:hover { border-color: #FFFFFF; }
.hv-13:hover { border-color: #CC1B22; }
.hv-3:hover { color: #E23A40; }
.hv-4:hover { color: #8E0D11; }
.hv-7:hover { color: #FFFFFF; }
.hv-8:hover { color: #CC1B22; }
.hv-9:hover { color: #F0575C; }
.hv-10:hover { color: #191713; }

/* ==================================================================
   3. GLOBAL — responsive grid behaviour (shared layout hooks)
   ================================================================== */

[data-statgrid],
[data-cmarkets],
[data-firecaps],
[data-firesteps],
[data-stripgrid] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

[data-statgrid] > div + div {
    border-left: 1px solid rgba(255, 255, 255, .14);
}

[data-leadgrid] {
    grid-template-columns: repeat(4, 1fr) !important;
}

[data-quotegrid] {
    grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 1080px) {
    [data-divgrid] { grid-template-columns: repeat(2, 1fr) !important; }
    [data-divgrid] > article { grid-column: span 1 !important; }
    [data-leadgrid] { grid-template-columns: repeat(2, 1fr) !important; }
    [data-quotegrid] { grid-template-columns: 1fr !important; }
}

@media (max-width: 1040px) {
    [data-navdiv] { display: none !important; }
}

@media (max-width: 940px) {
    [data-firehead] { grid-template-columns: 1fr !important; }
    [data-firecaps] { grid-template-columns: repeat(2, 1fr); }
    [data-firesteps] { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    [data-navmain] { display: none !important; }
    [data-aboutHero] { grid-template-columns: 1fr !important; }
    [data-govgrid] { grid-template-columns: 1fr !important; }
}

@media (min-width: 901px) {
    [data-mobmenu] { display: none !important; }
}

@media (max-width: 860px) {
    [data-hosplist] { grid-template-columns: 1fr !important; }
    [data-cmarkets] { grid-template-columns: 1fr; }
    [data-cform] { grid-template-columns: 1fr !important; }
    [data-cinfo] { grid-template-columns: 1fr !important; gap: 6px !important; }
}

@media (max-width: 760px) {
    [data-stripgrid] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    [data-statgrid] { grid-template-columns: 1fr !important; }
    [data-statgrid] > div + div { border-left: none; border-top: 1px solid rgba(255, 255, 255, .14); }
    [data-herogrid] { grid-template-columns: 1fr !important; }
}

@media (max-width: 620px) {
    [data-divgrid] { grid-template-columns: 1fr !important; }
    [data-hospvals] { grid-template-columns: 1fr !important; }
    [data-firecaps] { grid-template-columns: 1fr; }
    [data-leadgrid] { grid-template-columns: 1fr !important; }
}

/* ==================================================================
   4. HEADER — navigation, divisions dropdown, mobile menu
   ================================================================== */

.nav-dropdown-panel {
    display: none;
}

.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel {
    display: block;
}

.mobile-menu {
    display: none;
}

.mobile-menu.is-open {
    display: block;
}

@media (min-width: 901px) {
    .mobile-menu { display: none !important; }
}

.link-text {
    position:relative;
    background:none;
    border:none;
    padding:8px 0;
    cursor:pointer;
    color:#55565A;
    font:500 17px/1 'Instrument Sans',sans-serif;
    white-space:nowrap;
    display:inline-block;
}

.body-text-sm {
    display:block;
    width:100%;
    text-align:left;
    background:none;
    border:none;
    padding:14px 28px;
    cursor:pointer;
    color:#4B4C50;
    font:400 15px/1.2 'Instrument Sans',sans-serif;
}

.lead-text {
    background:none;
    border:none;
    border-bottom:1px solid #ECECEB;
    padding:16px 0;
    min-height:52px;
    text-align:left;
    cursor:pointer;
    color:#4B4C50;
    font:400 17px/1.2 'Instrument Sans',sans-serif;
    display:block;
}

.link-text-2 {
    position:relative;
    background:none;
    border:none;
    padding:8px 0;
    cursor:pointer;
    color:#4B4C50;
    font:500 17px/1 'Instrument Sans',sans-serif;
    display:inline-block;
}

.s {
    display:block;
    width:20px;
    height:1.5px;
    background:#191713;
}

.link-text-3 {
    background:none;
    border:none;
    border-bottom:1px solid #ECECEB;
    padding:16px 0;
    min-height:52px;
    text-align:left;
    cursor:pointer;
    color:#191713;
    font:500 17px/1.2 'Instrument Sans',sans-serif;
    display:block;
}

.s-3 {
    font-family:'Instrument Sans',system-ui,sans-serif;
    color:#191713;
    background:#F4F4F3;
    min-height:100vh;
}

.s-4 {
    position:sticky;
    top:0;
    z-index:60;
    border-top:3px solid #CC1B22;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid #E3E3E1;
}

.flex-2 {
    max-width:1440px;
    margin:0 auto;
    padding:14px clamp(20px,4vw,48px);
    min-height:100px;
    display:flex;
    align-items:center;
    gap:clamp(20px,3vw,48px);
}

.flex-3 {
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    display:flex;
    align-items:center;
}

.s-5 {
    height:64px;
    width:auto;
    display:block;
}

.flex-4 {
    display:flex;
    align-items:center;
    gap:clamp(12px,1.4vw,22px);
    margin-left:auto;
    flex-wrap:wrap;
}

.accent-bar {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:#CC1B22;
}

.wrap {
    position:relative;
}

.link-text-6 {
    position:relative;
    background:none;
    border:none;
    padding:8px 0;
    cursor:pointer;
    color:#4B4C50;
    font:500 17px/1 'Instrument Sans',sans-serif;
    display:flex;
    align-items:center;
    gap:8px;
}

.s-6 {
    display:block;
    width:6px;
    height:6px;
    border-right:1.5px solid #9A9288;
    border-bottom:1.5px solid #9A9288;
    transform:rotate(45deg) translateY(-2px);
}

.layer {
    position:absolute;
    top:100%;
    left:-28px;
    padding-top:12px;
    width:300px;
    animation:rrFade .16s ease both;
}

.s-7 {
    background:#FFFFFF;
    border:1px solid #E3E3E1;
    padding:12px 0;
    box-shadow:0 22px 50px rgba(60,45,25,.13);
}

.btn-primary-2 {
    background:#CC1B22;
    border:none;
    color:#FFFFFF;
    padding:16px 26px;
    cursor:pointer;
    font:500 13px/1 'Instrument Sans',sans-serif;
    letter-spacing:.06em;
    white-space:nowrap;
    display:inline-block;
}

.field {
    background:none;
    border:1px solid #D3D3D1;
    padding:0;
    width:48px;
    height:48px;
    min-width:48px;
    cursor:pointer;
    margin-left:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
}

.rule-top-3 {
    border-top:1px solid #E3E3E1;
    background:#FFFFFF;
    animation:rrFade .16s ease both;
}

.flex-5 {
    padding:12px clamp(20px,4vw,48px) 24px;
    display:flex;
    flex-direction:column;
}

.eyebrow-2 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#6A645A;
    margin:26px 0 6px;
}

.link-text-7 {
    background:none;
    border:none;
    padding:16px 0;
    min-height:52px;
    text-align:left;
    cursor:pointer;
    color:#191713;
    font:500 17px/1.2 'Instrument Sans',sans-serif;
    display:block;
}

.btn-primary-3 {
    background:#CC1B22;
    border:1px solid #CC1B22;
    color:#FFFFFF;
    padding:18px 26px;
    min-height:52px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    margin-top:18px;
    display:block;
}

.accent-bar-3 {
    position:absolute;
    left:0;
    right:14px;
    bottom:0;
    height:2px;
    background:#CC1B22;
}

/* ==================================================================
   5. SHARED — blocks used across two or more pages
   ================================================================== */

.container {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
}

.body-text-sm-4 {
    font:400 15px/1.66 'Instrument Sans',sans-serif;
    color:#55565A;
    margin:0;
}

.body-text {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
}

.rule-top {
    border-top:1px solid #E3E3E1;
    padding:16px 0;
}

.body-text-2 {
    font:400 16px/1.5 'Instrument Sans',sans-serif;
    color:#191713;
    margin:0;
}

.eyebrow {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:0 0 24px;
}

.section {
    background:#141414;
    padding:clamp(28px,2.8vw,38px);
}

.link-text-4 {
    font:500 19px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.012em;
    color:#FFFFFF;
    margin:0 0 14px;
}

.body-text-sm-6 {
    font:400 15px/1.66 'Instrument Sans',sans-serif;
    color:#A9A9A6;
    margin:0;
}

.media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 45%;
    display:block;
}

.rule-top-2 {
    border-top:1px solid #D3D3D1;
    padding-top:22px;
}

.btn-primary {
    display:inline-block;
    background:#CC1B22;
    color:#FFFFFF;
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.08em;
    padding:7px 9px;
    margin-bottom:22px;
}

.link-text-5 {
    font:500 18px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.01em;
    margin:0 0 12px;
}

.eyebrow-3 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 24px;
}

.media-2 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
    display:block;
}

.rule-top-5 {
    border-top:2px solid #CC1B22;
    padding-top:16px;
}

.s-11 {
    background:#FFFFFF;
}

.section-3 {
    background:#141414;
}

.btn-primary-4 {
    background:#CC1B22;
    border:none;
    color:#FFFFFF;
    padding:17px 30px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.04em;
    display:inline-block;
}

.link-text-13 {
    background:#FFFFFF;
    border:none;
    color:#9B1015;
    padding:17px 30px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.04em;
    display:inline-block;
}

.link-text-14 {
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#CC1B22;
    font:500 12px/1 'Instrument Sans',sans-serif;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.flex-10 {
    display:flex;
    flex-direction:column;
}

.media-3 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 40%;
    display:block;
}

.section-4 {
    padding:clamp(64px,8vw,124px) 0;
}

.grid-4 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1fr);
    gap:clamp(36px,5vw,88px);
    align-items:center;
}

.section-5 {
    background:#F4F1EC;
    padding:clamp(64px,8vw,124px) 0;
}

.eyebrow-4 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:0;
}

.grid-6 {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr);
    gap:clamp(32px,5vw,80px);
    align-items:start;
}

.eyebrow-6 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:0 0 26px;
}

.s-13 {
    padding-top:clamp(4px,1vw,14px);
}

.section-8 {
    background:#141414;
    padding:clamp(64px,8vw,124px) 0;
}

.s-14 {
    gap:clamp(24px,3vw,48px);
}

.grid-7 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    gap:clamp(36px,5vw,88px);
    align-items:start;
}

.body-text-8 {
    font:400 16px/1.7 'Instrument Sans',sans-serif;
    color:rgba(255,255,255,.84);
    margin:0 0 26px;
    max-width:44ch;
}

.accent-bar-4 {
    display:block;
    width:26px;
    height:1px;
    background:#CC1B22;
}

.flex-13 {
    display:flex;
    align-items:stretch;
    gap:0;
}

.section-9 {
    background:#9B1015;
    padding:clamp(48px,5vw,76px) 0;
}

.grid-9 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
    gap:clamp(28px,4vw,64px);
    align-items:center;
}

.body-text-9 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 32px;
    max-width:48ch;
}

.title-lg-7 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0;
    max-width:16ch;
    text-wrap:balance;
}

.title-lg-8 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0 0 clamp(36px,4vw,56px);
}

.s-18 {
    gap:1px;
    background:#2E2E2E;
    border:1px solid #2E2E2E;
}

.body-text-10 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 clamp(28px,3vw,40px);
    max-width:50ch;
}

.flex-14 {
    display:flex;
    flex-direction:column;
    border-bottom:1px solid #E3E3E1;
}

.title-lg-9 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 clamp(40px,4.5vw,64px);
    max-width:20ch;
    text-wrap:balance;
}

.title-lg-10 {
    font:500 clamp(27px,3vw,42px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0;
    max-width:17ch;
    text-wrap:balance;
}

.body-text-11 {
    font:400 16px/1.7 'Instrument Sans',sans-serif;
    color:rgba(255,255,255,.84);
    margin:0 0 28px;
    max-width:44ch;
}

.grid-11 {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
    gap:clamp(28px,4vw,64px);
    align-items:center;
}

.title-lg-11 {
    font:500 clamp(27px,3vw,42px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0;
    max-width:16ch;
    text-wrap:balance;
}

.flex-15 {
    display:flex;
    flex-direction:column;
    gap:18px;
    max-width:56ch;
}

.frame-5 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/5;
    background:#ECECEB;
}

.s-19 {
    gap:clamp(16px,2vw,26px);
}

.s-20 {
    padding:0 0 clamp(64px,8vw,110px);
}

/* ==================================================================
   6. PAGE — Home
   ================================================================== */

.body-text-3 {
    font:400 16px/1.4 'Instrument Sans',sans-serif;
    padding:19px 0;
    border-bottom:1px solid rgba(204,27,34,.18);
}

.frame {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#232323;
}

.flex-8 {
    padding:34px 32px 36px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.title-lg {
    font:500 clamp(22px,2vw,25px)/1.24 'Instrument Sans',sans-serif;
    letter-spacing:-.012em;
    color:#FFFFFF;
    margin:0 0 16px;
}

.body-text-4 {
    font:400 16px/1.66 'Instrument Sans',sans-serif;
    color:#B4B4B2;
    margin:0 0 30px;
    flex:1;
}

.link-text-11 {
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    text-align:left;
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#CC1B22;
    font:500 12px/1 'Instrument Sans',sans-serif;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.accent-bar-2 {
    display:block;
    width:20px;
    height:1px;
    background:#CC1B22;
}

.flex-9 {
    display:flex;
    flex-direction:column;
    border-top:2px solid #CC1B22;
    padding-top:22px;
}

.title-lg-2 {
    font:500 clamp(22px,2vw,27px)/1.2 'Instrument Sans',sans-serif;
    letter-spacing:-.016em;
    margin:0 0 14px;
}

.body-text-sm-11 {
    font:400 15px/1.62 'Instrument Sans',sans-serif;
    color:#55565A;
    margin:0;
}

.flex-11 {
    grid-column:span 2;
    background:#1D1D1D;
    border:1px solid #2E2E2E;
    border-top:3px solid #CC1B22;
    display:flex;
    flex-direction:column;
}

.title-xl {
    font:500 clamp(30px,3.4vw,48px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 26px;
    max-width:18ch;
    text-wrap:balance;
}

.link-text-16 {
    font:500 16px/1 'Instrument Sans',sans-serif;
    color:#191713;
    padding:16px 0;
    border-top:2px solid #CC1B22;
}

.rule-top-9 {
    border-top:2px solid #CC1B22;
    padding-top:26px;
}

.title-lg-4 {
    font:500 clamp(23px,2.1vw,29px)/1.2 'Instrument Sans',sans-serif;
    letter-spacing:-.016em;
    margin:0 0 14px;
}

.body-text-sm-12 {
    font:400 15px/1.64 'Instrument Sans',sans-serif;
    color:#55565A;
    margin:0;
}

.s-16 {
    padding:0;
}

.s-17 {
    background:#FFFFFF;
    color:#191713;
    padding:clamp(80px,9vw,150px) 0;
}

.flex-12 {
    grid-column:span 3;
    background:#1D1D1D;
    border:1px solid #2E2E2E;
    border-top:3px solid #CC1B22;
    display:flex;
    flex-direction:column;
}

.frame-4 {
    position:relative;
    overflow:hidden;
    aspect-ratio:5/4;
    width:100%;
    background:#ECECEB;
    margin-bottom:34px;
}

.rule-top-11 {
    border-top:2px solid #CC1B22;
    padding-top:18px;
    margin:0 0 20px;
}

.title-lg-5 {
    font:500 clamp(24px,2.4vw,34px)/1.15 'Instrument Sans',sans-serif;
    letter-spacing:-.02em;
    margin:0 0 20px;
    max-width:22ch;
    text-wrap:balance;
}

.lead-text-2 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 30px;
    max-width:50ch;
}

.accent-bar-5 {
    display:block;
    width:22px;
    height:1px;
    background:#CC1B22;
}

.s-21 {
    max-width:100%;
    margin:0;
    padding:0;
}

.wrap-2 {
    position:relative;
    overflow:hidden;
    width:100%;
    height:min(78vh,780px);
    min-height:460px;
    background:#ECECEB;
}

.media-5 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 26%;
    display:block;
}

.container-3 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    position:relative;
}

.s-22 {
    background:#F4F4F3;
    padding:clamp(36px,4vw,56px) clamp(28px,4vw,60px) clamp(48px,5vw,72px) clamp(20px,4vw,48px);
    max-width:min(1010px,max(560px,100% - 200px));
    box-sizing:border-box;
    margin:-96px clamp(-48px,-4vw,-20px) 0 clamp(-48px,-4vw,-20px);
    position:relative;
}

.eyebrow-7 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 26px;
}

.title-xl-3 {
    font:500 clamp(36px,4.7vw,68px)/1.04 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    margin:0 0 28px;
    max-width:19ch;
    text-wrap:balance;
}

.s-23 {
    font:400 clamp(16px,1.2vw,18px)/1.68 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 38px;
    max-width:56ch;
}

.flex-16 {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:stretch;
}

.btn-primary-5 {
    background:#CC1B22;
    border:1px solid #CC1B22;
    color:#FFFFFF;
    padding:18px 32px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

.btn-outline-2 {
    background:transparent;
    border:1px solid #D3D3D1;
    color:#191713;
    padding:18px 32px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

.grid-12 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:clamp(40px,6vw,88px);
    align-items:start;
}

.title-xl-4 {
    font:500 clamp(30px,3.4vw,48px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 28px;
    max-width:20ch;
    text-wrap:balance;
}

.lead-text-3 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 20px;
    max-width:54ch;
}

.lead-text-4 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 36px;
    max-width:54ch;
}

.frame-6 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    width:100%;
    background:#ECECEB;
}

.section-10 {
    background:#141414;
    padding:clamp(80px,9vw,150px) 0;
}

.grid-13 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:clamp(24px,4vw,72px);
    align-items:end;
    margin-bottom:clamp(48px,5vw,76px);
}

.title-xl-5 {
    font:500 clamp(30px,3.4vw,48px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0;
    max-width:18ch;
    text-wrap:balance;
}

.lead-text-5 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#B4B4B2;
    margin:0;
    max-width:48ch;
}

.grid-14 {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:clamp(16px,1.6vw,26px);
}

.media-6 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% 40%;
    display:block;
}

.media-7 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:62% 35%;
    display:block;
}

.grid-15 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:clamp(40px,6vw,88px);
    align-items:center;
    margin-bottom:clamp(48px,6vw,88px);
}

.lead-text-6 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:52ch;
}

.accent-bar-6 {
    width:clamp(14px,1.6vw,24px);
    background:#CC1B22;
    flex:none;
}

.frame-7 {
    position:relative;
    overflow:hidden;
    flex:1;
    aspect-ratio:4/3;
    background:#ECECEB;
}

.grid-16 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:clamp(28px,3vw,48px);
}

.wrap-3 {
    position:relative;
    overflow:hidden;
    height:min(52vh,520px);
    min-height:320px;
    background:#ECECEB;
}

.section-11 {
    background:#FBEAEC;
    color:#191713;
    padding:clamp(80px,9vw,150px) 0;
}

.grid-17 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:clamp(40px,6vw,88px);
}

.lead-text-7 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:50ch;
}

.grid-18 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:0 48px;
    align-content:start;
}

.s-24 {
    background:#F4F4F3;
    color:#191713;
    padding:clamp(80px,9vw,150px) 0;
}

.grid-19 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:clamp(40px,6vw,80px);
    align-items:start;
}

.lead-text-8 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    #4B4C50;
    margin:0 0 40px;
    max-width:52ch;
}

.flex-17 {
    display:flex;
    flex-wrap:wrap;
    gap:0 40px;
}

.frame-8 {
    position:relative;
    overflow:hidden;
    aspect-ratio:16/11;
    width:100%;
    background:#FFFFFF;
    padding:18px;
}

.layer-2 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:50% 50%;
    display:block;
}

.wrap-4 {
    position:relative;
    overflow:hidden;
    background:#141414;
    padding:0;
}

.media-8 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:80% 38%;
    display:block;
}

.layer-3 {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#141414 0%,rgba(20,20,20,.95) 40%,rgba(20,20,20,.62) 70%,rgba(20,20,20,.4) 100%);
}

.wrap-5 {
    position:relative;
    margin:0 auto;
    max-width:1440px;
    padding:clamp(72px,8vw,124px) clamp(20px,4vw,48px);
    box-sizing:border-box;
}

.title-xl-6 {
    font:500 clamp(32px,4.6vw,68px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.028em;
    color:#FFFFFF;
    margin:0;
    max-width:20ch;
    text-wrap:pretty;
}

.s-25 {
    color:#CC1B22;
}

.accent-bar-7 {
    height:3px;
    background:#CC1B22;
    margin:clamp(40px,4vw,60px) 0 0;
    max-width:20ch;
}

.s-26 {
    background:#F4F4F3;
    padding:clamp(80px,9vw,150px) 0;
}

.grid-20 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:clamp(32px,4vw,64px);
}

.media-9 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:52% 45%;
    display:block;
}

.section-12 {
    background:#FBEAEC;
    padding:clamp(72px,8vw,124px) 0;
}

.eyebrow-8 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 40px;
}

.grid-21 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:clamp(28px,3vw,48px);
}

.eyebrow-9 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
    margin:0 0 18px;
}

.title-lg-12 {
    font:500 clamp(28px,3vw,44px)/1.08 'Instrument Sans',sans-serif;
    letter-spacing:-.028em;
    color:#FFFFFF;
    margin:0;
    max-width:18ch;
    text-wrap:balance;
}

.body-text-12 {
    font:400 16px/1.7 'Instrument Sans',sans-serif;
    color:rgba(255,255,255,.84);
    margin:0 0 26px;
    max-width:46ch;
}

.flex-18 {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.btn-light {
    background:#FFFFFF;
    border:1px solid #FFFFFF;
    color:#9B1015;
    padding:17px 30px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

.btn-ghost {
    background:transparent;
    border:1px solid rgba(255,255,255,.5);
    color:#FFFFFF;
    padding:17px 30px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

/* ==================================================================
   7. PAGE — About
   ================================================================== */

.rule-top-6 {
    border-top:1px solid #D9D9D7;
    padding:20px 0;
}

.link-text-9 {
    font:500 16px/1.4 'Instrument Sans',sans-serif;
    margin:0 0 4px;
}

.meta-text-2 {
    font:400 14px/1.5 'Instrument Sans',sans-serif;
    color:#6A6B6E;
    margin:0;
}

.link-text-12 {
    color:#55565A;
    font:500 13px/1 'Instrument Sans',sans-serif;
    letter-spacing:.04em;
    padding:22px 0;
}

.grid-2 {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:clamp(18px,3vw,52px);
    align-items:start;
    padding:clamp(26px,3vw,40px) 0;
    border-top:1px solid rgba(204,27,34,.22);
}

.title-md-2 {
    font:500 clamp(16px,1.4vw,19px)/1 'Instrument Sans',sans-serif;
    letter-spacing:.06em;
    color:#CC1B22;
    margin:0;
    padding-top:6px;
}

.grid-3 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
    gap:clamp(12px,2vw,48px);
    align-items:start;
}

.title-lg-3 {
    font:500 clamp(22px,2.2vw,30px)/1.2 'Instrument Sans',sans-serif;
    letter-spacing:-.018em;
    margin:0;
    max-width:20ch;
    text-wrap:balance;
}

.body-text-5 {
    font:400 16px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:52ch;
}

.section-6 {
    padding:clamp(26px,2.8vw,36px) clamp(24px,2.6vw,40px);
}

.title-xl-2 {
    font:500 clamp(34px,3.6vw,52px)/1 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    color:#CC1B22;
    margin:0 0 12px;
}

.body-text-sm-13 {
    font:400 15px/1.4 'Instrument Sans',sans-serif;
    color:#C8C6C2;
    margin:0;
}

.rule-top-10 {
    border-top:1px solid #E3E3E1;
    padding:24px 24px 24px 0;
}

.eyebrow-5 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 12px;
}

.body-text-7 {
    font:400 16px/1.66 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
}

.frame-2 {
    position:relative;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#ECECEB;
}

.section-7 {
    background:#141414;
    margin:0;
    padding:clamp(30px,3vw,44px);
}

.s-12 {
    font:400 clamp(18px,1.5vw,21px)/1.6 'Instrument Sans',sans-serif;
    color:#FFFFFF;
    margin:0 0 28px;
}

.link-text-17 {
    font:500 15px/1.3 'Instrument Sans',sans-serif;
    color:#FFFFFF;
    margin:0 0 5px;
}

.meta-text-4 {
    font:400 14px/1.3 'Instrument Sans',sans-serif;
    color:#8E8E8C;
    margin:0;
}

.grid-10 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:clamp(36px,5vw,80px);
    align-items:start;
}

.title-lg-6 {
    font:500 clamp(28px,3.2vw,44px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 24px;
    max-width:16ch;
    text-wrap:balance;
}

.section-13 {
    background:#F4F1EC;
}

.grid-22 {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    align-items:stretch;
}

.flex-19 {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(56px,7vw,110px) clamp(20px,4vw,48px) clamp(56px,7vw,110px) max(clamp(20px,4vw,48px),calc((100vw - 1440px) / 2 + clamp(20px,4vw,48px)));
}

.eyebrow-10 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 clamp(24px,3vw,36px);
}

.title-xl-7 {
    font:500 clamp(36px,4.6vw,68px)/1.04 'Instrument Sans',sans-serif;
    letter-spacing:-.032em;
    color:#191713;
    margin:0 0 clamp(26px,3vw,36px);
    max-width:15ch;
    text-wrap:balance;
}

.s-27 {
    border-left:2px solid #CC1B22;
    padding-left:clamp(18px,1.8vw,26px);
    max-width:44ch;
}

.s-28 {
    font:400 clamp(16px,1.2vw,18px)/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
}

.wrap-6 {
    position:relative;
    overflow:hidden;
    min-height:min(70vh,640px);
    background:#E7E3DC;
    margin-left:clamp(-220px,-14vw,-90px);
}

.media-10 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% 45%;
    display:block;
}

.s-29 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#F4F1EC 0%,rgba(244,241,236,.92) 12%,rgba(244,241,236,.45) 24%,rgba(244,241,236,.08) 36%,rgba(244,241,236,0) 46%);
    left: -108px;
    top: -11px;
}

.container-4 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px) clamp(48px,5vw,72px);
}

.s-30 {
    position:sticky;
    top:96px;
    z-index:40;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    border-bottom:1px solid #E3E3E1;
}

.flex-20 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:flex;
    flex-wrap:wrap;
    gap:16px 24px;
    justify-content:space-between;
}

.s-31 {
    background:#FFFFFF;
    padding:clamp(72px,8vw,132px) 0;
}

.accent-bar-8 {
    height:2px;
    background:#CC1B22;
    width:64px;
}

.s-32 {
    grid-column:span 2;
    min-width:0;
}

.s-33 {
    font:400 clamp(19px,1.6vw,23px)/1.6 'Instrument Sans',sans-serif;
    color:#191713;
    margin:0 0 26px;
    max-width:60ch;
}

.grid-23 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:clamp(24px,3vw,44px);
    margin:0 0 clamp(36px,4vw,56px);
}

.grid-24 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:0;
}

.container-5 {
    max-width:1440px;
    margin:clamp(48px,5vw,80px) auto 0;
    padding:0 clamp(20px,4vw,48px);
    gap:clamp(16px,2vw,26px);
}

.media-11 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:55% 35%;
    display:block;
}

.section-14 {
    background:#FBEAEC;
    padding:clamp(72px,8vw,132px) 0;
}

.grid-25 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
    gap:clamp(36px,5vw,88px);
    align-items:start;
}

.title-lg-13 {
    font:500 clamp(28px,3.2vw,44px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 24px;
    max-width:15ch;
    text-wrap:balance;
}

.lead-text-9 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 clamp(32px,4vw,44px);
    max-width:44ch;
}

.accent-bar-9 {
    width:clamp(12px,1.2vw,18px);
    background:#CC1B22;
    flex:none;
}

.frame-9 {
    position:relative;
    overflow:hidden;
    flex:1;
    aspect-ratio:4/5;
    background:#F1E2E4;
}

.media-12 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 55%;
    display:block;
}

.s-34 {
    border-bottom:1px solid rgba(204,27,34,.22);
}

.section-15 {
    background:#9B1015;
    padding:clamp(56px,6vw,96px) 0;
}

.frame-10 {
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:21/9;
    min-height:260px;
    background:rgba(0,0,0,.2);
}

.section-16 {
    background:#141414;
    padding:clamp(72px,8vw,132px) 0;
}

.flex-21 {
    display:flex;
    flex-wrap:wrap;
    gap:20px 48px;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:clamp(40px,4vw,64px);
}

.title-lg-14 {
    font:500 clamp(28px,3.2vw,44px)/1.1 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0;
    max-width:18ch;
    text-wrap:balance;
}

.grid-26 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:1px;
    background:#2E2E2E;
    border:1px solid #2E2E2E;
}

.s-35 {
    background:#F4F4F3;
    padding:clamp(72px,8vw,132px) 0;
}

.lead-text-10 {
    font:400 17px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 32px;
    max-width:44ch;
}

.grid-27 {
    grid-column:span 2;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    gap:0 clamp(24px,3vw,48px);
}

.section-17 {
    background:#9B1015;
    padding:clamp(56px,6vw,88px) 0;
}

.flex-22 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.eyebrow-11 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
    margin:0 0 clamp(20px,2.2vw,28px);
}

.title-xl-8 {
    font:500 clamp(30px,3.4vw,50px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.028em;
    color:#FFFFFF;
    margin:0 0 clamp(20px,2vw,28px);
    max-width:22ch;
    text-wrap:balance;
}

.s-36 {
    font:400 clamp(18px,1.5vw,22px)/1.62 'Instrument Sans',sans-serif;
    color:rgba(255,255,255,.82);
    margin:0 0 clamp(28px,3vw,40px);
    max-width:60ch;
}

.flex-23 {
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    align-items:stretch;
    justify-content:center;
}

.btn-light-2 {
    background:#FFFFFF;
    border:1px solid #FFFFFF;
    color:#9B1015;
    padding:18px 34px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

.btn-ghost-2 {
    background:transparent;
    border:1px solid rgba(255,255,255,.5);
    color:#FFFFFF;
    padding:18px 34px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.05em;
    display:inline-block;
}

/* ==================================================================
   8. PAGE — Fire & Life Safety
   ================================================================== */

.section-18 {
    background:#FBEAEC;
    padding:clamp(56px,6vw,92px) 0 clamp(56px,6vw,92px);
}

.title-xl-9 {
    font:500 clamp(34px,4.4vw,64px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    margin:0;
    max-width:15ch;
    text-wrap:balance;
}

.frame-11 {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    width: 2318px;
    aspect-ratio: 2318 / 996;
}

.s-37 {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,48px);
    position: relative;
}

.grid-28 {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(32px,5vw,80px);
    align-items:start;
    margin-bottom:clamp(40px,5vw,72px);
}

.grid-29 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:clamp(24px,3vw,44px);
}

.frame-12 {
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:16/9;
    min-height:280px;
    margin-top:clamp(40px,5vw,72px);
    background:#ECECEB;
}

.media-13 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 30%;
    display:block;
}

.section-19 {
    background:#F1F1EF;
    padding:clamp(64px,8vw,124px) 0;
}

.frame-13 {
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1;
    background:#E4E4E2;
}

.title-lg-15 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 24px;
    max-width:18ch;
    text-wrap:balance;
}

.section-20 {
    padding:clamp(56px,6vw,96px) 0 clamp(64px,8vw,120px);
}

.s-38 {
    padding:0 0 clamp(64px,8vw,120px);
}

.grid-30 {
    background:#9B1015;
    padding:clamp(48px,6vw,88px) clamp(28px,4vw,64px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
    gap:clamp(28px,4vw,64px);
    align-items:center;
}

/* ==================================================================
   9. PAGE — Security
   ================================================================== */

.section-21 {
    background:#F1F1EF;
    padding:clamp(56px,6vw,92px) 0 0;
}

.title-xl-10 {
    font:500 clamp(34px,4.4vw,64px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    margin:0;
    max-width:14ch;
    text-wrap:balance;
}

.frame-14 {
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:21/9;
    min-height:280px;
    margin-top:clamp(40px,5vw,72px);
    background:#ECECEB;
}

.title-lg-16 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 30px;
    max-width:17ch;
    text-wrap:balance;
}

.flex-24 {
    display:flex;
    flex-direction:column;
    gap:20px;
    max-width:56ch;
}

.frame-15 {
    position:relative;
    overflow:hidden;
    aspect-ratio:6/5;
    background:#ECECEB;
}

.frame-16 {
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1;
    background:#ECECEB;
}

.title-lg-17 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 24px;
    max-width:16ch;
    text-wrap:balance;
}

.section-22 {
    background:#F4F1EC;
    padding:clamp(64px,8vw,120px) 0;
}

.section-23 {
    background:#9B1015;
    padding:clamp(64px,8vw,110px) 0;
}

/* ==================================================================
   10. PAGE — Compliance
   ================================================================== */

.s-9 {
    background:#FFFFFF;
    padding:clamp(26px,2.6vw,34px);
}

.link-text-8 {
    font:500 18px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.012em;
    color:#191713;
    margin:0 0 12px;
}

.rule-top-7 {
    border-top:1px solid #2E2E2E;
    padding:16px 0;
}

.body-text-6 {
    font:400 16px/1.5 'Instrument Sans',sans-serif;
    color:#E4E2DE;
    margin:0;
}

.wrap-7 {
    position:relative;
    padding:0;
}

.wrap-8 {
    position:relative;
    overflow:hidden;
    width:100%;
    height:min(62vh,600px);
    min-height:340px;
    background:#ECECEB;
}

.layer-4 {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(15,15,15,.55) 0%,rgba(15,15,15,.18) 34%,rgba(15,15,15,.5) 100%);
}

.layer-5 {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px) clamp(56px,7vw,110px);
}

.eyebrow-12 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:0 0 clamp(20px,2.2vw,30px);
}

.title-xl-11 {
    font:500 clamp(34px,4.4vw,64px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    color:#FFFFFF;
    margin:0;
    max-width:15ch;
    text-wrap:balance;
}

.grid-31 {
    background:#FFFFFF;
    border-top:3px solid #CC1B22;
    margin-top:clamp(-100px,-7vw,-48px);
    position:relative;
    z-index:2;
    padding:clamp(32px,3.6vw,52px) clamp(28px,3.4vw,56px) clamp(32px,3.6vw,52px) 0;
    max-width:min(100%,860px);
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:26px;
}

.s-39 {
    font:400 clamp(17px,1.4vw,20px)/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:56ch;
    padding-left:clamp(28px,3.4vw,56px);
}

.s-40 {
    padding-left:clamp(28px,3.4vw,56px);
}

.section-24 {
    padding:clamp(48px,5vw,84px) 0 clamp(64px,8vw,124px);
}

.title-lg-18 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 28px;
    max-width:17ch;
    text-wrap:balance;
}

.media-14 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 42%;
    display:block;
}

.title-lg-19 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 clamp(36px,4vw,56px);
}

.section-25 {
    background:#141414;
    padding:clamp(64px,8vw,110px) 0;
}

.grid-32 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(36px,5vw,88px);
    align-items:start;
}

.title-lg-20 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0;
    max-width:17ch;
    text-wrap:balance;
}

.flex-25 {
    display:flex;
    flex-direction:column;
    border-bottom:1px solid #2E2E2E;
}

.section-26 {
    padding:clamp(56px,7vw,104px) 0 clamp(48px,5vw,80px);
}

.title-lg-21 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 clamp(40px,4.5vw,64px);
    max-width:16ch;
    text-wrap:balance;
}

.meta-text-5 {
    border-top:1px solid #E3E3E1;
    margin:clamp(44px,5vw,72px) 0 0;
    padding-top:22px;
    font:400 13px/1.7 'Instrument Sans',sans-serif;
    color:#8A8B8E;
    max-width:76ch;
}

.grid-33 {
    background:#9B1015;
    padding:clamp(44px,5vw,76px) clamp(28px,4vw,60px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
    gap:clamp(28px,4vw,64px);
    align-items:center;
}

/* ==================================================================
   11. PAGE — Hospitality
   ================================================================== */

.rule-top-4 {
    border-top:1px solid #DAD4C8;
    padding:clamp(24px,2.6vw,32px) 0;
}

.title-md {
    font:500 clamp(19px,1.7vw,23px)/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.014em;
    margin:0 0 10px;
}

.body-text-sm-9 {
    font:400 15px/1.66 'Instrument Sans',sans-serif;
    color:#55565A;
    margin:0;
    max-width:44ch;
}

.rule-top-8 {
    border-top:1px solid #2E2E2E;
    padding-top:16px;
}

.link-text-15 {
    font:500 16px/1.3 'Instrument Sans',sans-serif;
    color:#FFFFFF;
    margin:0 0 10px;
}

.meta-text-3 {
    font:400 14px/1.6 'Instrument Sans',sans-serif;
    color:#A9A9A6;
    margin:0;
}

.link-text-18 {
    font:500 19px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.012em;
    margin:0;
}

.wrap-9 {
    position:relative;
    background:#0D0D0D;
    overflow:hidden;
}

.grid-34 {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    align-items:stretch;
    min-height:min(78vh,720px);
}

.layer-6 {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:100% 50%;
    display:block;
}

.layer-7 {
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(13,13,13,.96) 0%,rgba(13,13,13,.9) 26%,rgba(13,13,13,.6) 44%,rgba(13,13,13,.16) 62%,rgba(13,13,13,0) 76%);
}

.flex-26 {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(64px,8vw,120px) clamp(24px,3vw,48px) clamp(64px,8vw,120px) max(clamp(20px,4vw,48px),calc((100vw - 1440px) / 2 + clamp(20px,4vw,48px)));
}

.eyebrow-13 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:0 0 clamp(26px,3vw,38px);
}

.title-xl-12 {
    font:500 clamp(34px,4.4vw,66px)/1.04 'Instrument Sans',sans-serif;
    letter-spacing:-.032em;
    color:#FFFFFF;
    margin:0 0 clamp(26px,3vw,36px);
    max-width:14ch;
    text-wrap:balance;
}

.s-41 {
    font:400 clamp(16px,1.2vw,18px)/1.72 'Instrument Sans',sans-serif;
    color:#C8C6C2;
    margin:0 0 clamp(30px,3.4vw,44px);
    max-width:46ch;
}

.title-lg-22 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 28px;
    max-width:18ch;
    text-wrap:balance;
}

.grid-35 {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
    gap:clamp(28px,4vw,72px);
    align-items:end;
    margin-bottom:clamp(32px,3.6vw,52px);
}

.title-lg-23 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0;
    max-width:14ch;
    text-wrap:balance;
}

.body-text-13 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:52ch;
}

.grid-36 {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:clamp(32px,5vw,88px);
    border-bottom:1px solid #DAD4C8;
}

.frame-17 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/5;
    background:#222;
}

.title-lg-24 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0 0 clamp(32px,3.4vw,44px);
    max-width:18ch;
    text-wrap:balance;
}

.grid-37 {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(24px,2.6vw,36px);
}

.grid-38 {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(32px,5vw,80px);
    align-items:end;
    margin-bottom:clamp(36px,4vw,56px);
}

.eyebrow-14 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#CC1B22;
    margin:clamp(20px,3vw,44px) 0 24px;
}

.body-text-14 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0;
    max-width:50ch;
}

.s-42 {
    gap:clamp(20px,2.4vw,32px);
}

.section-27 {
    background:#9B1015;
    padding:clamp(48px,5vw,80px) 0;
}

/* ==================================================================
   12. PAGE — Contact
   ================================================================== */

.s-2 {
    display:block;
}

.label-text-2 {
    font:500 10px/1 'Instrument Sans',sans-serif;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#6A6B6E;
    margin:0 0 10px;
}

.btn-outline {
    width:100%;
    box-sizing:border-box;
    background:#FFFFFF;
    border:1px solid #D9D5CE;
    padding:14px 16px;
    font:400 15px/1.4 'Instrument Sans',sans-serif;
    color:#191713;
    outline:none;
}

.body-text-sm-10 {
    display:block;
    font:400 15px/1.5 'Instrument Sans',sans-serif;
    color:#CC1B22;
}

.grid-5 {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.grid-8 {
    display:grid;
    grid-template-columns:120px 1fr;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid #2E2E2E;
}

.label-text-3 {
    font:500 10px/1.6 'Instrument Sans',sans-serif;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#8E8E8C;
    margin:0;
}

.frame-3 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#222;
}

.media-4 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.s-15 {
    padding:22px 24px 26px;
}

.link-text-19 {
    font:500 18px/1.3 'Instrument Sans',sans-serif;
    color:#FFFFFF;
    margin:0 0 10px;
}

.body-text-sm-14 {
    font:400 15px/1.6 'Instrument Sans',sans-serif;
    color:#CC1B22;
}

.grid-40 {
    max-width:1440px;
    margin:0 auto;
    padding:clamp(48px,5vw,80px) clamp(20px,4vw,48px) 0;
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    gap:clamp(36px,5vw,80px);
    align-items:start;
}

.s-44 {
    padding-bottom:clamp(48px,6vw,90px);
}

.title-xl-14 {
    font:500 clamp(32px,4vw,58px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    color:#FFFFFF;
    margin:0 0 26px;
    max-width:15ch;
    text-wrap:balance;
}

.body-text-16 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#B4B4B2;
    margin:0 0 clamp(32px,4vw,48px);
    max-width:46ch;
}

.flex-30 {
    display:flex;
    flex-direction:column;
    border-top:1px solid #2E2E2E;
}

.body-text-sm-15 {
    font:400 15px/1.6 'Instrument Sans',sans-serif;
    color:#E4E2DE;
    margin:0;
}

.wrap-10 {
    position:relative;
    overflow:hidden;
    min-height:min(60vh,560px);
    background:#1A1A1A;
}

.section-30 {
    background:#F4F1EC;
    padding:clamp(56px,7vw,104px) 0;
}

.s-45 {
    max-width:900px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
}

.eyebrow-15 {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#A8121A;
    margin:0 0 20px;
}

.title-lg-29 {
    font:500 clamp(26px,2.8vw,38px)/1.14 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 clamp(28px,3vw,40px);
}

.flex-31 {
    border-top:2px solid #CC1B22;
    background:#FBFAF7;
    padding:clamp(28px,3.4vw,44px);
    display:flex;
    flex-direction:column;
    gap:20px;
}

.s-46 {
    color:#9A9B9E;
}

.btn-outline-3 {
    width:100%;
    box-sizing:border-box;
    background:#FFFFFF;
    border:1px solid #D9D5CE;
    padding:14px 16px;
    font:400 15px/1.4 'Instrument Sans',sans-serif;
    color:#191713;
    outline:none;
    appearance:none;
    background-image:none;
    cursor:pointer;
}

.btn-outline-4 {
    width:100%;
    box-sizing:border-box;
    background:#FFFFFF;
    border:1px solid #D9D5CE;
    padding:14px 16px;
    font:400 15px/1.4 'Instrument Sans',sans-serif;
    color:#191713;
    outline:none;
    resize:vertical;
    font-family:'Instrument Sans',sans-serif;
}

.btn-primary-6 {
    background:#CC1B22;
    border:none;
    color:#FFFFFF;
    padding:16px 30px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    letter-spacing:.04em;
}

.rule-top-12 {
    border-top:2px solid #CC1B22;
    background:#FBFAF7;
    padding:clamp(36px,4vw,56px);
}

.s-47 {
    font:500 24px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.018em;
    margin:0 0 14px;
}

.body-text-17 {
    font:400 16px/1.7 'Instrument Sans',sans-serif;
    color:#4B4C50;
    margin:0 0 26px;
    max-width:52ch;
}

.btn-outline-5 {
    background:none;
    border:1px solid #D3D3D1;
    color:#191713;
    padding:15px 28px;
    cursor:pointer;
    font:500 14px/1 'Instrument Sans',sans-serif;
    display:inline-block;
}

.section-31 {
    background:#000000;
    padding:clamp(56px,7vw,104px) 0;
}

.title-lg-30 {
    font:500 clamp(26px,2.8vw,38px)/1.14 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#FFFFFF;
    margin:0 0 clamp(32px,3.5vw,48px);
}

/* ==================================================================
   13. PAGE — Institute
   ================================================================== */

.field-2 {
    border:1px solid #D9D5CE;
    padding:11px 16px;
    font:400 14px/1 'Instrument Sans',sans-serif;
    color:#33342F;
}

.s-10 {
    background:#FFFFFF;
    padding:clamp(28px,2.8vw,38px);
}

.link-text-10 {
    font:500 19px/1.3 'Instrument Sans',sans-serif;
    letter-spacing:-.012em;
    color:#191713;
    margin:0 0 14px;
}

.section-28 {
    background:#141414;
    padding:clamp(48px,5vw,80px) 0 0;
}

.title-xl-13 {
    font:500 clamp(34px,4.4vw,64px)/1.06 'Instrument Sans',sans-serif;
    letter-spacing:-.03em;
    color:#FFFFFF;
    margin:0;
    max-width:14ch;
    text-wrap:balance;
}

.body-text-15 {
    font:400 16px/1.72 'Instrument Sans',sans-serif;
    color:#B4B4B2;
    margin:0 0 32px;
    max-width:48ch;
}

.frame-18 {
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:21/9;
    min-height:280px;
    margin-top:clamp(40px,5vw,72px);
    background:#222;
}

.frame-19 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/5;
    background:#E7E3DC;
}

.title-lg-25 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 28px;
    max-width:19ch;
    text-wrap:balance;
}

.flex-27 {
    display:flex;
    flex-direction:column;
    gap:18px;
    max-width:54ch;
}

.section-29 {
    background:#FBEAEC;
    padding:clamp(64px,8vw,124px) 0;
}

.title-lg-26 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    color:#191713;
    margin:0 0 clamp(36px,4vw,56px);
}

.s-43 {
    gap:1px;
    background:#EBD3D6;
    border:1px solid #EBD3D6;
}

.grid-39 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    gap:clamp(36px,5vw,88px);
    align-items:center;
}

.title-lg-27 {
    font:500 clamp(27px,3vw,42px)/1.12 'Instrument Sans',sans-serif;
    letter-spacing:-.024em;
    margin:0 0 26px;
    max-width:16ch;
    text-wrap:balance;
}

.flex-28 {
    display:flex;
    flex-direction:column;
    gap:18px;
    max-width:54ch;
    margin-bottom:clamp(28px,3vw,40px);
}

.flex-29 {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.frame-20 {
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#E7E3DC;
}

.title-lg-28 {
    font:500 clamp(28px,3vw,44px)/1.08 'Instrument Sans',sans-serif;
    letter-spacing:-.028em;
    color:#FFFFFF;
    margin:0;
    max-width:12ch;
    text-wrap:balance;
}

/* ==================================================================
   14. FOOTER
   ================================================================== */

.body-text-sm-2 {
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    text-align:left;
    color:#C8C2B8;
    font:400 15px/1 'Instrument Sans',sans-serif;
    display:inline-block;
}

.label-text {
    font:500 11px/1 'Instrument Sans',sans-serif;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#9A9288;
    margin:0 0 22px;
}

.body-text-sm-3 {
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    color:#C8C2B8;
    font:400 15px/1 'Instrument Sans',sans-serif;
    display:inline-block;
}

.flex {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}

.body-text-sm-5 {
    font:400 15px/1 'Instrument Sans',sans-serif;
    color:#CC1B22;
}

.meta-text {
    font:400 14px/1.5 'Instrument Sans',sans-serif;
    color:#A49D94;
    margin:0;
}

.section-2 {
    background:#000000;
    border-top:2px solid #CC1B22;
}

.grid {
    max-width:1440px;
    margin:0 auto;
    padding:clamp(56px,6vw,88px) clamp(20px,4vw,48px) clamp(28px,3vw,40px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));
    gap:clamp(32px,4vw,64px);
}

.s-8 {
    height:58px;
    width:auto;
    display:block;
    margin:0 0 24px;
}

.body-text-sm-7 {
    font:400 15px/1.65 'Instrument Sans',sans-serif;
    color:#B2ABA1;
    margin:0;
    max-width:38ch;
}

.body-text-sm-8 {
    font:400 15px/1.7 'Instrument Sans',sans-serif;
    color:#C8C2B8;
    margin:0 0 12px;
}

.flex-6 {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}

.container-2 {
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,48px) clamp(40px,4vw,56px);
}

.flex-7 {
    border-top:1px solid #35322C;
    padding-top:26px;
    display:flex;
    flex-wrap:wrap;
    gap:16px 32px;
    justify-content:space-between;
}
