
@import url('https://fonts.googleapis.com/css2?family=Caladea:wght@400;700&family=Lato:wght@400;500;600;700&family=Playfair+Display:wght@400;700&display=swap');
:root{
 --teal:#21424a;--beige:#f7f0e8;--white:#fff;--brass:#b89858;--maroon:#491519;
 --ink:#21424a;--muted:#667477;--line:#ddcfbd;--header-h:85px;--page-max:1520px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Lato",Arial,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}button,input,textarea{font:inherit}

.container {
    width: 86%;
    max-width: 1280px;
    margin: 0 auto;
}

.site-header{height:var(--header-h);background:var(--teal);color:#fff;position:sticky;top:0;z-index:1000}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:275px}
.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.75);color:#e7d2a8;font-family:"Playfair Display",serif;font-size:17px;font-weight:700;letter-spacing:.08em}
.brand-copy{line-height:1.05}.brand-copy strong{display:block;font-family:"Playfair Display",serif;font-size:18px;font-weight:700}
.brand-copy span{display:block;margin-top:4px;color:#d7c5a1;font-size:11px;letter-spacing:.04em}

.brand img {
    width: 280px;
    height: auto;
}

.site-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.site-nav a{text-decoration:none;font-size:14px;font-weight:600;padding:7px 0;color:rgba(255,255,255,.96);border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--brass);border-bottom-color:var(--brass)}
.nav-toggle{display:none;border:1px solid rgba(255,255,255,.3);color:#fff;background:transparent;padding:8px 10px;cursor:pointer}

.hero{min-height:450px;background:linear-gradient(to right,#fcfbf7 0%,#b89858 100%);display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:450px}

.hero-copy {
    max-width: 900px;
}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:"Caladea",serif;font-size:14px;font-weight:700;color:var(--brass);text-transform:uppercase;margin-bottom:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--brass)}
.hero h1,.page-title{font-family:"Playfair Display",serif;font-size:38px;font-weight:400;line-height:1.1;color:var(--maroon);margin:0 0 18px}

.hero-copy p {
    margin: 0;
    max-width: 880px;
    font-size: 16px;
    line-height: 1.55;
}

.cta{display:inline-flex;margin-top:26px;background:var(--teal);color:#fff;padding:12px 22px;font-size:16px;font-weight:600;text-decoration:none}
.cta:hover{background:#17363d}
.stats{min-height:190px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #eee;border-bottom:1px solid #ece2d4}
.stat{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid #eee5da}
.stat:last-child{border-right:0}.stat strong{font-family:"Caladea",serif;font-size:50px;font-weight:700;line-height:1;color:var(--teal)}
.stat strong::after{content:"";width:42px;height:1px;background:var(--brass);display:block;margin:11px auto 10px}
.stat span{font-size:18px;color:var(--ink)}
.glance{min-height:323px;background:var(--beige);padding:22px 0 18px}
.glance-title{font-size:16px;font-weight:600;margin-bottom:18px}.glance-title span{padding-bottom:10px;border-bottom:1px solid var(--brass)}
.glance-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.8)}
.feature{min-height:120px;display:flex;align-items:center;gap:16px;padding:14px 18px;border-right:1px solid rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.85)}
.feature:nth-child(4n){border-right:0}.feature:nth-last-child(-n+4){border-bottom:0}

.feature-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-icon img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}

.feature-text{font-size:18px;line-height:1.3}

.page-section{background:var(--beige);padding:54px 0 70px;min-height:calc(100vh - var(--header-h))}
.split{display:grid;grid-template-columns:360px minmax(0,1fr);gap:80px;align-items:start}
.split-intro{max-width:300px}.split-intro h1{margin-bottom:24px}.split-intro p{font-size:16px;margin:0;color:var(--ink)}
.table-wrap{width:100%}
.data-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
.data-table th,.data-table td{border-right:1px solid #fff;border-bottom:1px solid var(--brass);vertical-align:top;padding:14px 16px}
.data-table th{background:var(--teal);color:#fff;font-size:20px;text-align:center}.data-table th:last-child{background:var(--brass)}
.data-table td:first-child{width:39%;background:var(--teal);color:#fff;font-size:16px;font-weight:700}.data-table tr:nth-child(even) td:first-child{background:#49636a}
.data-table td:last-child{background:#fff}
.bullets{margin:0;padding-left:22px}.bullets li{margin:0 0 5px;font-size:16px;line-height:1.4}.bullets li::marker{color:var(--brass)}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);padding:24px}.card h3{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;color:var(--teal);margin:0 0 12px}
.meta{font-size:14px;font-weight:700;color:var(--brass);margin-bottom:10px}.muted{color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:34px}
.stat-card{background:#fff;padding:22px;text-align:center}.stat-card strong{display:block;font-family:"Caladea",serif;color:var(--brass);font-size:50px;line-height:1}
.stat-card span{display:block;margin-top:10px;font-size:16px}
.note{background:rgba(255,255,255,.72);border-left:4px solid var(--brass);padding:16px 18px;margin:0 0 24px}

.site-footer{background:var(--teal);color:#fff;padding:54px 0 26px;border-top:25px solid #fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:44px}
.footer-col h3{font-family:"Caladea",serif;font-size:20px;margin:0 0 18px;font-weight:700}
.footer-col h3::after{content:"";display:block;width:42px;height:1px;background:var(--brass);margin-top:9px}
.footer-col p,.footer-col li,.footer-col a{font-size:14px;color:rgba(255,255,255,.88)}
.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:8px}.footer-col a{text-decoration:none}.footer-col a:hover{color:#d8bd83}
.disclaimer{border-top:1px solid rgba(184,152,88,.65);margin-top:42px;padding-top:22px}.disclaimer p{margin:0;font-size:13px;line-height:1.65;color:rgba(255,255,255,.75)}
.copyright{border-top:1px solid rgba(184,152,88,.65);margin-top:22px;padding-top:18px;font-size:12px;color:rgba(255,255,255,.66)}

@media(max-width:1100px){
 .site-nav{gap:15px}.brand{min-width:235px}.split{grid-template-columns:280px minmax(0,1fr);gap:44px}
 .glance-grid{grid-template-columns:repeat(2,1fr)}.feature:nth-child(4n){border-right:1px solid rgba(255,255,255,.85)}
 .feature:nth-child(2n){border-right:0}.feature:nth-last-child(-n+4){border-bottom:1px solid rgba(255,255,255,.85)}.feature:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:820px){
 :root{--header-h:74px}.site-header{height:auto}.nav-inner{min-height:74px}
 .site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--teal);padding:12px 20px 20px;flex-direction:column;align-items:stretch}
 .site-nav.open{display:flex}.nav-toggle{display:block}.brand-copy strong{font-size:16px}
 .hero{min-height:auto;padding:50px 0}.hero-grid{min-height:auto}.hero h1,.page-title{font-size:38px}
 .stats{min-height:150px}.stat strong{font-size:42px}.split{grid-template-columns:1fr;gap:30px}.split-intro{max-width:none}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 body{font-size:16px}.container{width:min(100% - 24px,var(--page-max))}.brand{min-width:0}.brand-mark{width:40px;height:40px}
 .hero-grid{grid-template-columns:1fr}.hero h1,.page-title{font-size:36px}.hero-copy p{font-size:16px}
 .stats{grid-template-columns:repeat(2,1fr)}.stat{min-height:130px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #eee5da}
 .stat strong{font-size:36px}.stat span{font-size:15px}.glance-grid{grid-template-columns:1fr}
 .feature,.feature:nth-child(2n),.feature:nth-child(4n){border-right:0}.feature,.feature:nth-last-child(-n+4),.feature:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.85)}
 .feature:last-child{border-bottom:0}.feature-icon{width:64px;height:64px;flex-basis:64px}.feature-text{font-size:15px}
 .data-table{display:block;overflow-x:auto}.data-table th,.data-table td{min-width:160px}.card-grid,.stat-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
}

/* =========================================
   PARTNERS - TABLE STYLE
   ========================================= */

.partner-table {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Individual horizontal row */
.partner-row {
    display: grid;
    grid-template-columns: 43% 57%;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid #cdbb9b;
    background: #faf6f1;
    overflow: hidden;
}

/* =========================================
   LEFT DARK PANEL
   ========================================= */

.partner-info {
    background: #21424a;
    color: #ffffff;
    padding: 20px 18px;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.partner-info h3 {
    margin: 0 0 4px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
}

.partner-role {
    color: #c7a45b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin-bottom: 13px;
}

/* =========================================
   GOLD STAR META INFORMATION
   ========================================= */

.partner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    color: #f4eee4;
    font-size: 14px;
    line-height: 1.4;
}

.partner-meta span {
    position: relative;
}

.partner-meta span::first-letter {
    color: #c7a45b;
}

/* =========================================
   RIGHT EXPERTISE PANEL
   ========================================= */

.partner-expertise {
    background: #faf6f1;
    padding: 17px 20px;
    display: flex;
    align-items: center;
}

.partner-expertise ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.partner-expertise li {
    position: relative;
    padding-left: 18px;
    margin: 0 0 6px;
    color: #102d35;
    font-size: 14px;
    line-height: 1.35;
}

.partner-expertise li:last-child {
    margin-bottom: 0;
}

/* Gold diamond bullet */
.partner-expertise li::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 0;
    color: #c7a45b;
    font-size: 8px;
    line-height: 1.6;
}

/* =========================================
   HOVER
   ========================================= */

.partner-row {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.partner-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(33, 66, 74, 0.12);
}

.partner-row:hover .partner-info {
    background: #193b43;
}

/* =========================================
   DESKTOP CONTENT WIDTH
   ========================================= */

.page-section .split {
    align-items: flex-start;
}

.page-section .card-grid {
    display: block;
    width: 100%;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

    .partner-row {
        grid-template-columns: 40% 60%;
    }

    .partner-info {
        padding: 17px 15px;
    }

    .partner-expertise {
        padding: 15px 17px;
    }

    .partner-info h3 {
        font-size: 15px;
    }

    .partner-meta {
        font-size: 9px;
    }

    .partner-expertise li {
        font-size: 10px;
    }
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 650px) {

    .partner-table {
        gap: 12px;
    }

    .partner-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .partner-info {
        min-height: auto;
        padding: 18px;
    }

    .partner-info h3 {
        font-size: 17px;
    }

    .partner-role {
        margin-bottom: 10px;
    }

    .partner-meta {
        font-size: 10px;
        gap: 5px 12px;
    }

    .partner-expertise {
        padding: 17px 18px;
    }

    .partner-expertise li {
        font-size: 11px;
        margin-bottom: 7px;
    }
}



/* =====================================================
   CAREER PAGE ONLY — MATCH RESOURCES PAGE TYPOGRAPHY
   ===================================================== */

.career-page {
    background: #f7f0e8;
    padding: 54px 0 70px;
    min-height: calc(100vh - var(--header-h));
}

/* Same container width as Resources/other pages */
.career-page > .container {
    width: 86%;
    max-width: 1280px;
    margin: 0 auto;
}

/* Career intro */
.career-page .career-intro {
    max-width: 100%;
    margin-bottom: 24px;
}

/* Eyebrow — same size as Resources */
.career-page .eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;

    font-family: "Caladea", serif;
    font-size: 14px;
    font-weight: 700;
    color: #b89858;

    text-transform: uppercase;
    margin-bottom: 12px;
}

.career-page .eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: #b89858;
}

/* Heading — same as Resources */
.career-page .page-title {
    font-family: "Playfair Display", serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.1;
    color: #491519;

    margin: 0 0 24px;
}

/* Intro paragraph — same as Resources */
.career-page .career-intro p {
    font-family: "Lato", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #21424a;

    margin: 0;
}


/* =====================================================
   CAREER CONTENT
   ===================================================== */

.career-page .career-content {
    width: 100%;
}

/* Two career cards */
.career-page .career-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;

    width: 75%;
    margin: 0 0 24px;
}

/* Career cards */
.career-page .career-card {
    background: #f7f0e8;
    border: 1px solid #cdbb9b;

    padding: 0;
    margin: 0;
}

/* Gold card heading */
.career-page .career-card h3 {
    background: #b89858;
    color: #fff;

    font-family: "Lato", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-align: center;

    line-height: 1.2;
    padding: 5px 10px;

    margin: -1px -1px 0;
}

/* Card list */
.career-page .career-bullets {
    margin: 0;
    padding: 12px 20px 12px 40px;
}

.career-page .career-bullets li {
    color: #21424a;
    font-family: "Lato", Arial, sans-serif;

    font-size: 12px;
    line-height: 1.45;

    margin-bottom: 6px;
}

.career-page .career-bullets li:last-child {
    margin-bottom: 0;
}

.career-page .career-bullets li::marker {
    color: #b89858;
}


/* =====================================================
   CAREER NOTE
   ===================================================== */

.career-page .career-note {
    color: #21424a;

    font-family: "Lato", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;

    margin: 0;
}


/* =====================================================
   APPLY BUTTON
   ===================================================== */

.career-page .career-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #21424a;
    color: #fff;

    padding: 12px 22px;
    margin-top: 26px;

    font-family: "Lato", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;

    line-height: 1;
    text-decoration: none;
}

.career-page .career-cta:hover {
    background: #17363d;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .career-page {
        padding: 45px 0 60px;
    }

    .career-page .career-cards {
        gap: 20px;
    }

    .career-page .page-title {
        font-size: 38px;
    }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 620px) {

    .career-page {
        padding: 40px 0 50px;
    }

    .career-page > .container {
        width: calc(100% - 24px);
    }

    .career-page .career-intro {
        max-width: none;
    }

    .career-page .career-cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .career-page .page-title {
        font-size: 36px;
    }

    .career-page .career-intro p,
    .career-page .career-note {
        font-size: 16px;
    }
}


/* =====================================================
   CONTACT PAGE — EXACT TWO COLUMN LAYOUT
   ===================================================== */

.contact-page {
    background: #f7f0e8;
    padding: 54px 0;
    min-height: calc(100vh - var(--header-h));
}

.contact-page > .container {
    width: 86%;
    max-width: 1280px;
    margin: 0 auto;
}


/* =====================================================
   LEFT + RIGHT COLUMNS
   ===================================================== */

.contact-page .split {
    display: grid;
    grid-template-columns: 30% 1fr;
    column-gap: 55px;
    align-items: start;
}


/* =====================================================
   LEFT SIDE
   ===================================================== */

.contact-page .split-intro {
    width: 100%;
    max-width: none;
    margin: 0;
}

.contact-page .eyebrow {

    display: flex;
    align-items: center;
    gap: 10px;

    font-family: "Caladea", serif;
    font-size: 14px;
    font-weight: 700;
    color: #b89858;

    text-transform: uppercase;
    margin-bottom: 12px;
}

.contact-page .eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: #b89858;
}

.contact-page .page-title {
    font-family: "Playfair Display", serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.15;
    color: #491519;

    margin: 0 0 18px;
}

.contact-page .split-intro p {
    font-family: "Lato", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #21424a;

    margin: 0 0 7px;
}

.contact-page .split-intro p strong {
    font-weight: 700;
}


/* =====================================================
   RIGHT SIDE — ADDRESS BOXES ONLY
   ===================================================== */

.contact-page .split > div:last-child {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Move note below all address boxes */
.contact-page .note {
    order: 99;
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    padding: 8px 0 0;
    margin: 0;
    color: #102d35;
    font-family: "Lato", Arial, sans-serif;
    font-size: 12px;
    line-height: 1.4;
}

/* Right column */
.contact-page .split > div:last-child {
    width: 100%;
}

/* Address box */
.contact-page .card {
    display: block;

    width: 100%;
    box-sizing: border-box;

    background: #ffffff;
    border: 1px solid #c49d51;

    padding: 11px 19px 10px;
    margin: 0 0 12px;

    box-shadow: none;
}

/* Office name */
.contact-page .card h3 {
    font-family: "Lato", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;

    color: #102d35;

    margin: 0 0 10px;
}

/* Address details */
.contact-page .card p {
    font-family: "Lato", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 1.35;
    color: #102d35;

    margin: 0 0 2px;
}

/* Person name */
.contact-page .card p strong {
    font-size: 13px;
    font-weight: 700;
    color: #102d35;
}

/* Email + phone */
.contact-page .card p:nth-of-type(2) {
    color: #b89858;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .contact-page > .container {
        width: 90%;
    }

    .contact-page .split {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }

    .contact-page .split-intro {
        max-width: 100%;
    }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 620px) {

    .contact-page {
        padding: 30px 0;
    }

    .contact-page > .container {
        width: calc(100% - 24px);
    }

    .contact-page .split {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .contact-page .page-title {
        font-size: 30px;
    }

    .contact-page .card {
        padding: 11px 15px 10px;
        margin-bottom: 10px;
    }
}
