:root {
    --cora-ink: #2d211b;
    --cora-brown: #3a2e2b;
    --cora-muted: #716963;
    --cora-gold: #d4a373;
    --cora-gold-bright: #ffb703;
    --cora-cream: #f7f5f1;
    --cora-line: #e8e3dc;
}

* { box-sizing: border-box; }
body { color: var(--cora-ink); background: #fff; font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1.7; }
h1, h2, h3, .brand { font-family: "Manrope", sans-serif; }
a { color: inherit; }
.topbar { background: var(--cora-brown); color: #e9e2d9; font-size: .78rem; letter-spacing: .025em; padding: 8px 0; }
.topbar a { color: #fff; text-decoration: none; }
.topbar a span { color: var(--cora-gold-bright); margin-left: 5px; }
.site-nav { position: relative; z-index: 20; background: #fff; padding: 16px 0; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--cora-ink); font-size: 1.05rem; font-weight: 800; letter-spacing: .09em; line-height: 1.1; text-decoration: none; }
.brand:hover { color: var(--cora-ink); }
.brand small { display: block; margin-top: 5px; font-family: "DM Sans", sans-serif; font-size: .58rem; font-weight: 700; letter-spacing: .2em; }
.brand-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--cora-gold); color: #9a6c3e; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; }
.site-nav .nav-link { margin: 0 5px; color: #554c45; font-size: .83rem; font-weight: 600; }
.site-nav .nav-link:hover, .site-nav .nav-link.active { color: #9a6c3e; }
.nav-contact { padding: 11px 16px; font-size: .82rem; }
.btn-primary { --bs-btn-color: #241a12; --bs-btn-bg: var(--cora-gold-bright); --bs-btn-border-color: var(--cora-gold-bright); --bs-btn-hover-color: #241a12; --bs-btn-hover-bg: #f1a900; --bs-btn-hover-border-color: #f1a900; --bs-btn-active-bg: #e89f00; --bs-btn-active-border-color: #e89f00; border-radius: 2px; font-weight: 700; }
.hero-carousel, .hero-carousel .carousel-inner, .hero-carousel .carousel-item { height: min(690px, 75vw); min-height: 530px; }
.hero-carousel .carousel-item { position: relative; overflow: hidden; }
.hero-image, .hero-shade { position: absolute; inset: 0; }
.hero-image { background-position: center; background-size: cover; transform: scale(1.02); }
.hero-shade { background: linear-gradient(90deg, rgba(28, 22, 18, .77), rgba(31, 25, 21, .45) 52%, rgba(31, 25, 21, .09)); }
.hero-content { position: relative; z-index: 2; display: flex; height: 100%; flex-direction: column; align-items: flex-start; justify-content: center; padding-bottom: 35px; color: #fff; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #9a6c3e; font-size: .7rem; font-weight: 700; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 30px; height: 1px; background: currentColor; }
.eyebrow-light { color: #e6bb8d; }
.hero-content h1, .page-hero h1 { max-width: 760px; margin: 24px 0 15px; color: #fff; font-size: clamp(3rem, 6vw, 5.3rem); font-weight: 700; letter-spacing: -.06em; line-height: 1.06; }
.hero-content h1 em, .page-hero h1 em { color: var(--cora-gold-bright); font-style: normal; }
.hero-content p, .page-hero p { max-width: 540px; margin: 0 0 28px; color: rgba(255,255,255,.86); font-size: 1.08rem; }
.hero-content .btn { padding: 14px 20px; font-size: .9rem; }
.hero-content .btn span, .btn span { margin-left: 10px; }
.carousel-indicators { z-index: 5; justify-content: flex-start; width: auto; margin: 0 0 30px max(calc((100vw - 1320px) / 2), 24px); }
.carousel-indicators [data-bs-target] { width: 32px; height: 3px; margin-right: 7px; border: 0; opacity: .48; }
.carousel-indicators .active { background: var(--cora-gold-bright); opacity: 1; }
.hero-caption { position: absolute; z-index: 4; right: max(calc((100vw - 1320px) / 2), 24px); bottom: 28px; color: white; font-size: .75rem; letter-spacing: .15em; }
.hero-caption span { display: inline-block; width: 34px; height: 1px; margin: 0 8px 3px; background: var(--cora-gold-bright); }
.section-pad { padding: 100px 0; }
.display-heading { margin: 16px 0 0; color: var(--cora-ink); font-size: clamp(2rem, 3.4vw, 3.25rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.17; }
.display-heading em { color: #a77748; font-style: normal; }
.body-lead { color: #645c55; font-size: 1.05rem; line-height: 1.8; }
.text-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 10px; color: var(--cora-ink); font-size: .85rem; font-weight: 700; text-decoration: none; }
.text-link span { color: #b27c47; font-size: 1.1rem; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.services-preview { background: var(--cora-cream); }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.section-heading-row > .text-link { margin-bottom: 8px; }
.service-card { position: relative; min-height: 280px; overflow: hidden; border: 1px solid #e6e0d9; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover, .service-detail-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(45,33,27,.07); }
.service-image { display: block; width: 100%; height: 190px; object-fit: cover; }
.service-card-body { padding: 24px 28px 28px; }
.card-number { color: #a9a097; font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.service-icon { display: grid; width: 46px; height: 46px; margin: 25px 0 20px; place-items: center; border: 1px solid #e5d4c0; color: #a77748; font-size: 1.45rem; }
.service-card h3, .service-detail-card h2 { margin: 0 0 10px; font-size: 1.2rem; font-weight: 700; }
.service-card p, .service-detail-card p { color: var(--cora-muted); font-size: .92rem; }
.service-card > a { display: inline-block; margin-top: 10px; color: #9a6c3e; font-size: .83rem; font-weight: 700; text-decoration: none; }
.home-cta { padding: 65px 0; background: var(--cora-brown); color: #fff; }
.home-cta h2 { margin: 10px 0 0; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 600; letter-spacing: -.04em; }
.btn-light-outline { margin-top: 12px; padding: 14px 20px; border: 1px solid rgba(255,255,255,.55); border-radius: 2px; color: #fff; font-size: .88rem; font-weight: 700; }
.btn-light-outline:hover { background: #fff; color: var(--cora-brown); }
.page-hero { position: relative; display: flex; min-height: 390px; align-items: center; overflow: hidden; background-position: center; background-size: cover; }
.page-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(33,25,20,.8), rgba(33,25,20,.45)); content: ""; }
.page-hero > .container { position: relative; z-index: 1; padding-top: 50px; padding-bottom: 50px; }
.page-hero h1 { margin-top: 18px; font-size: clamp(2.8rem, 5vw, 4.5rem); }
.page-hero p { margin-bottom: 0; }
.page-hero-about { background-image: url("https://images.unsplash.com/photo-1487958449943-2429e8be8625?auto=format&fit=crop&w=2000&q=85"); }
.page-hero-services { background-image: url("https://images.unsplash.com/photo-1565008447742-97f6f38c985c?auto=format&fit=crop&w=2000&q=85"); }
.page-hero-board { background-image: url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=2000&q=85"); }
.page-hero-terms, .page-hero-privacy { min-height: 330px; }
.page-hero-terms { background-image: url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2000&q=85"); }
.page-hero-privacy { background-image: url("https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=2000&q=85"); }
.page-hero-contact { background-image: url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2000&q=85"); }
.about-image { width: 100%; height: 510px; object-fit: cover; }
.values-list { margin-top: 30px; border-top: 1px solid var(--cora-line); }
.values-list div { display: flex; gap: 25px; padding: 15px 0; border-bottom: 1px solid var(--cora-line); font-size: .9rem; font-weight: 600; }
.values-list strong { color: #a77748; font-size: .75rem; letter-spacing: .1em; }
.quote-band { padding: 76px 0; background: var(--cora-cream); text-align: center; }
.quote-band p { margin: 0 auto 15px; color: var(--cora-ink); font-family: "Manrope", sans-serif; font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -.04em; }
.quote-band span { color: var(--cora-muted); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.narrow-copy { max-width: 740px; }
.narrow-copy .display-heading { margin-bottom: 14px; }
.service-intro { max-width: 420px; margin: 0 0 5px; font-size: .98rem; }
.service-detail-card { height: 100%; overflow: hidden; border: 1px solid var(--cora-line); transition: transform .2s ease, box-shadow .2s ease; }
.service-detail-image { height: 250px; }
.service-detail-body { padding: 28px 32px 32px; }
.service-detail-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; }
.service-detail-top .service-icon { margin: 0; }
.service-detail-card h2 { font-size: 1.4rem; }
.service-card-summary { color: #584a3d !important; font-weight: 600; }
.service-detail-card .text-link { margin-top: 8px; }
.leader-card { height: 100%; background: var(--cora-cream); }
.leader-details { padding: 25px; }
.leader-details h2 { margin: 0 0 12px; font-size: 1.3rem; font-weight: 700; }
.leader-details p { margin: 0; color: var(--cora-muted); font-size: .9rem; }
.board-feature { margin-bottom: 85px; }
.board-feature-image { width: 100%; height: 390px; object-fit: cover; }
.legal-copy { max-width: 850px; }
.legal-copy h2 { margin: 35px 0 10px; font-size: 1.3rem; font-weight: 700; }
.legal-copy p { color: #5f5750; }
.legal-copy a { color: #8c5f36; font-weight: 600; }
.legal-updated { font-size: .82rem; font-weight: 600; }
.contact-detail { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.contact-detail-icon { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid #e5d4c0; color: #a77748; }
.contact-detail strong, .contact-detail a, .contact-detail div > span { display: block; }
.contact-detail strong { font-size: .85rem; }
.contact-detail a, .contact-detail div > span { color: var(--cora-muted); font-size: .9rem; text-decoration: none; }
.contact-map-section { margin-top: 85px; }
.map-frame { width: 100%; height: 420px; overflow: hidden; border: 1px solid var(--cora-line); background: var(--cora-cream); }
.map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.contact-form-card { padding: 35px; border: 1px solid var(--cora-line); box-shadow: 0 16px 50px rgba(45,33,27,.04); }
.form-label { margin-bottom: 7px; font-size: .82rem; font-weight: 700; }
.form-label span { color: #a77748; }
.sms-consent { margin: 0; padding: 18px; border: 1px solid var(--cora-line); }
.sms-consent legend { float: none; width: auto; margin: 0 0 12px; color: var(--cora-ink); font-size: .84rem; font-weight: 700; }
.sms-consent .form-check { display: flex; align-items: flex-start; gap: 10px; padding-left: 0; }
.sms-consent .form-check-input { float: none; flex: 0 0 auto; margin: 4px 0 0; }
.sms-consent .form-check-label { color: var(--cora-muted); font-size: .78rem; line-height: 1.65; }
.sms-consent .form-check-label a { color: #8c5f36; font-weight: 600; }
.form-control { min-height: 48px; border-color: #ded8d1; border-radius: 2px; font-size: .9rem; }
textarea.form-control { min-height: 145px; }
.form-control:focus { border-color: #bd8c5e; box-shadow: 0 0 0 .2rem rgba(212,163,115,.16); }
.form-note { margin: 13px 0 0; color: #746b64; font-size: .75rem; text-align: center; }
.form-note a { color: #8c5f36; }
.site-footer { padding: 65px 0 22px; background: #241d19; color: #f6f1eb; }
.footer-brand { color: #fff; }
.footer-brand:hover { color: #fff; }
.footer-brand .brand-mark { color: var(--cora-gold-bright); }
.footer-copy { max-width: 365px; margin: 20px 0 0; color: #c2b9b0; font-size: .86rem; }
.footer-heading { margin: 7px 0 15px; color: #e4b984; font-family: "DM Sans", sans-serif; font-size: .73rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-footer .col-6 > a, .footer-email { display: block; margin: 8px 0; color: #e7e1da; font-size: .84rem; text-decoration: none; }
.site-footer .col-6 > a:hover, .footer-email:hover { color: var(--cora-gold-bright); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); color: #a99f96; font-size: .72rem; }
.photo-credit { margin: 12px 0 0; color: #938980; font-size: .7rem; text-align: right; }
.photo-credit a { color: #c4a27f; text-decoration: none; }
.photo-credit a:hover { color: var(--cora-gold-bright); }

@media (max-width: 991.98px) {
    .site-nav .navbar-collapse { padding-top: 14px; }
    .site-nav .nav-link { padding: 9px 0; }
    .nav-contact { margin-top: 8px; }
    .carousel-indicators { margin-left: 24px; }
    .section-pad { padding: 76px 0; }
}
@media (max-width: 767.98px) {
    .topbar .container { justify-content: center !important; }
    .topbar .container > span { display: none; }
    .hero-carousel, .hero-carousel .carousel-inner, .hero-carousel .carousel-item { height: 590px; min-height: 0; }
    .hero-content { padding-right: 42px; }
    .hero-content h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
    .carousel-control-prev, .carousel-control-next { width: 11%; }
    .hero-caption { right: 22px; }
    .section-pad { padding: 65px 0; }
    .section-heading-row { align-items: flex-start; flex-direction: column; gap: 10px; }
    .about-image { height: 340px; }
    .board-feature { margin-bottom: 60px; }
    .board-feature-image { height: 300px; }
    .page-hero { min-height: 340px; }
    .contact-form-card { padding: 24px; }
    .contact-map-section { margin-top: 60px; }
    .map-frame { height: 330px; }
    .footer-bottom { flex-direction: column; gap: 5px; margin-top: 35px; }
    .photo-credit { text-align: left; }
}
