*,

*::before,

*::after {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



:root {

    --navy: #0f1e38;

    --navy-mid: #1a2f52;

    --navy-light: #243a61;

    --gold: #FF7F00;

    --gold-light: #FF7F00;

    --gold-pale: #f5e9cc;

    --cream: #f7f3ec;

    --warm-white: #fdfaf5;

    --rust: #c45e3c;

    --sage: #5a7a5e;

    --teal: #2a7a6e;

    --text-dark: #1a1a2e;

    --text-mid: #4a4a6a;

    --text-light: #8a8aaa;

    --ink: #0d1117;

    --body-max: 720px;

    --step-1: #FF7F00;

    --step-2: #2a7a6e;

    --step-3: #c45e3c;

    --step-4: #1a2f52;

    --step-5: #5a3a8a;

}



html {

    scroll-behavior: smooth;

}



body {

    font-family: 'Jost', sans-serif;

    background: var(--warm-white);

    color: var(--text-dark);

    overflow-x: hidden;

}



/* â”€â”€â”€ NAVIGATION â”€â”€â”€ */

nav {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    z-index: 100;

    padding: 0 5vw;
    padding-top: 15px;
    padding-bottom: 15px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    height: 93px;

    transition: background 0.4s, box-shadow 0.4s;

}



nav.scrolled {

    background: rgba(15, 30, 56, 0.97);

    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.3);

    backdrop-filter: blur(10px);

}



.nav-logo {

    display: flex;

    flex-direction: column;

    line-height: 1;

}



.nav-logo .wordmark {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.5rem;

    font-weight: 600;

    color: #fff;

    letter-spacing: 0.04em;

}



.nav-logo .tagline {

    font-size: 0.62rem;

    font-weight: 300;

    color: var(--gold-light);

    letter-spacing: 0.18em;

    text-transform: uppercase;

    margin-top: 2px;

}



.nav-links {

    display: flex;

    align-items: center;

    gap: 1.5rem;

    list-style: none;

}



.nav-links a {

    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    position: relative;
    transition: all 0.3s ease;
    padding: 14px 0;

}



.nav-links a::after {

    content: '';
    position: absolute;
    bottom: 7px;
    left: 0;
    right: 100%;
    height: 1px;
    background: var(--gold);
    transition: right 0.3s;

}



.nav-links a:hover {

    color: var(--gold-light);

    transition: all 0.3s ease;

}



.nav-links a:hover::after {

    right: 0;

}



.active {}



/* dropdown */

.nav-item {

    position: relative;

}



.dropdown {
    position: absolute;
    top: calc(100% + 7px);
    left: 50%;

    transform: translateX(-50%);

    background: var(--navy);

    border: 1px solid rgba(200, 154, 58, 0.2);

    border-radius: 4px;

    min-width: 280px;

    padding: 8px 0;

    opacity: 0;

    pointer-events: none;

    transition: opacity 0.25s, transform 0.2s;

    transform: translateX(-50%) translateY(8px);

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);

}



.nav-item:hover .dropdown {

    opacity: 1;

    pointer-events: all;

    transition: all 0.5s ease;

    transform: translateX(-50%) translateY(0);

}



.dropdown a {

    display: block;

    padding: 10px 20px;

    font-size: 0.72rem;

    letter-spacing: 0.06em;

    text-transform: none;

    color: rgba(255, 255, 255, 0.78) !important;

    border-left: 2px solid transparent;

    transition: border-color 0.2s, color 0.2s, background 0.2s !important;

}



.dropdown a:hover {

    border-left-color: var(--gold);

    color: var(--gold-light) !important;

    background: rgba(200, 154, 58, 0.06);

}



.dropdown a::after {

    display: none !important;

}



.dropdown-label {

    font-size: 0.6rem;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    padding: 12px 20px 4px;

    opacity: 0.7;

}



.nav-links .nav-cta {

    display: inline-block;

    background: var(--gold);

    color: var(--navy);

    padding: 14px 14px;

    font-size: 0.78rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    border: 1px solid var(--gold);

    transition: all 0.5s ease;

}



.nav-links .nav-cta:hover {

    border: 1px solid var(--gold);

    color: #fff;

    background: rgba(200, 154, 58, 0.08);

    transition: all 0.5s ease;

}



.nav-cta::after {

    display: none !important;

}







.inner-page-nav {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    z-index: 100;

    padding: 15px 5vw;

    display: flex;

    align-items: center;

    justify-content: space-between;

    height: 94px;

    background: rgba(15, 30, 56, 0.97);

    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.3);

    backdrop-filter: blur(10px);

}



.nav-links a.active {

    color: var(--gold-light);

}



/* .dropdown {

    position: absolute;

    top: calc(100% + 7px);

    left: 50%;

    transform: translateX(-50%) translateY(8px);

    background: var(--navy);

    border: 1px solid rgba(200, 154, 58, 0.2);

    border-radius: 4px;

    min-width: 280px;

    padding: 8px 0;

    opacity: 0;

    pointer-events: none;

    transition: opacity 0.25s, transform 0.25s;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);

} */





.main-nav-p-btn {

    display: flex;

    align-items: center;

    gap: 10px;

    display: none;

}



.main-nav-call-btn a {

    font-size: 18px;

    width: 39px;

    height: 39px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-decoration: none;

    color: var(--navy);

    background-color: var(--gold);

    border-radius: 2px;

    border: 1px solid var(--gold);

    transition: all 0.5s ease;

}



.main-nav-call-btn a:hover {

    border: 1px solid var(--gold);

    color: #fff;

    background: rgba(200, 154, 58, 0.08);

    transition: all 0.5s ease;

}



/* â”€â”€â”€ HERO â”€â”€â”€ */

.main-hero {

    position: relative;

    height: 100vh;

    min-height: 700px;

    display: flex;

    align-items: center;

    overflow: hidden;

}



.main-hero-bg {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(135deg, rgba(15, 30, 56, 0.92) 0%, rgba(26, 47, 82, 0.75) 60%, rgba(196, 94, 60, 0.25) 100%),

        url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1800&q=80') center/cover no-repeat;

}



.main-hero-texture {

    position: absolute;

    inset: 0;

    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");

}



.main-hero-content {

    position: relative;

    z-index: 2;

    padding: 0 10vw;

    /* max-width: 900px; */

}



.main-hero-eyebrow {

    font-size: 0.7rem;

    font-weight: 500;

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.5rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.3s forwards;

}



.main-hero-eyebrow span {

    display: inline-block;

    width: 40px;

    height: 1px;

    background: var(--gold);

    vertical-align: middle;

    margin-right: 14px;

}



.main-hero-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(3.2rem, 6vw, 5.8rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.08;

    margin-bottom: 1.8rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



.main-hero-title em {

    font-style: italic;

    color: var(--gold-light);

}



.main-hero-desc {

    font-size: clamp(1rem, 1.5vw, 1.15rem);

    font-weight: 300;

    color: rgba(255, 255, 255, 0.78);

    line-height: 1.8;

    max-width: 560px;

    margin-bottom: 3rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.7s forwards;

}



.main-hero-actions {

    display: flex;

    gap: 1.2rem;

    flex-wrap: wrap;

    opacity: 0;

    animation: fadeUp 0.9s 0.9s forwards;

}



.btn-primary,

.btn-blue a {

    display: inline-block;

    background: var(--gold);

    color: var(--navy);

    padding: 15px 36px;

    font-size: 0.78rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    transition: background 0.3s, transform 0.2s, box-shadow 0.3s;

}



.btn-primary:hover {

    background: var(--gold-light);

    transform: translateY(-2px);

    box-shadow: 0 10px 30px rgba(200, 154, 58, 0.35);

}



.btn-blue a:hover {

    background: var(--navy);

    transform: translateY(-2px);

    box-shadow: 0 10px 30px rgba(200, 154, 58, 0.35);

}



.btn-ghost {

    display: inline-block;

    border: 1px solid rgba(255, 255, 255, 0.4);

    color: rgba(255, 255, 255, 0.85);

    padding: 15px 36px;

    font-size: 0.78rem;

    font-weight: 400;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    transition: all 0.3s ease;

}



.btn-ghost:hover {

    border-color: var(--gold);

    color: #fff;

    background: rgba(200, 154, 58, 0.08);

    transform: translateY(-2px);

}



.main-hero-scroll {

    position: absolute;

    bottom: 40px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    color: rgba(255, 255, 255, 0.5);

    font-size: 0.62rem;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    animation: fadeIn 1.5s 1.5s both;

}



.main-hero-scroll-line {

    width: 1px;

    height: 40px;

    background: linear-gradient(to bottom, rgba(200, 154, 58, 0.7), transparent);

    animation: scrollPulse 2s infinite;

}



/* â”€â”€â”€ SAUDADE ORIGIN SECTION â”€â”€â”€ */

.origin-section {

    background: var(--navy);

    position: relative;

    overflow: hidden;

    padding: 120px 5vw;

}



.origin-section::before {

    content: 'saudade';

    position: absolute;

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(8rem, 20vw, 18rem);

    font-weight: 300;

    color: rgba(255, 255, 255, 0.03);

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    pointer-events: none;

    white-space: nowrap;

    letter-spacing: 0.05em;

}



.origin-inner {

    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;

}



.origin-label {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.2rem;

}



.origin-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2.2rem, 3.5vw, 3.5rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 2rem;

}



.origin-body {

    color: rgba(255, 255, 255, 0.65);

    font-size: 1rem;

    line-height: 1.9;

    font-weight: 300;

}



.origin-body p+p {

    margin-top: 1.2rem;

}



.origin-quote {

    position: relative;

    padding: 50px 50px 50px 60px;

    border-left: 2px solid var(--gold);

    background: rgba(200, 154, 58, 0.06);

    border-radius: 0 4px 4px 0;

}



.origin-quote::before {

    content: '"';

    position: absolute;

    top: 20px;

    left: 18px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 6rem;

    color: var(--gold);

    line-height: 1;

    opacity: 0.5;

}



.origin-quote blockquote {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.3rem, 2vw, 1.75rem);

    font-style: italic;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.88);

    line-height: 1.5;

    margin-bottom: 1.5rem;

}



.origin-quote cite {

    font-size: 0.7rem;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: var(--gold);

    font-style: normal;

}



/* â”€â”€â”€ WHAT WE DO â”€â”€â”€ */

.services-section {

    padding: 120px 5vw;

    background: var(--cream);

}



.section-header {

    text-align: center;

    max-width: 650px;

    margin: 0 auto 80px;

}



.section-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 1rem;

}



.section-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2rem, 3.5vw, 3.2rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1.2rem;

}



.section-sub {

    color: var(--text-mid);

    font-size: 0.95rem;

    line-height: 1.8;

    font-weight: 300;

}



.services-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    gap: 2px;

    max-width: 1300px;

    margin: 0 auto;

}



.service-card {

    background: var(--warm-white);

    padding: 50px 40px;

    position: relative;

    overflow: hidden;

    transition: background 0.3s;

    cursor: default;

}



.service-card::after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    right: 100%;

    height: 2px;

    background: var(--gold);

    transition: right 0.4s ease;

}



.service-card:hover::after {

    right: 0;

}



.service-card:hover {

    background: #fff;

}



.service-icon {

    font-size: 2rem;

    margin-bottom: 1.5rem;

    display: block;

}



.service-card-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.4rem;

    font-weight: 500;

    color: var(--navy);

    margin-bottom: 0.8rem;

    line-height: 1.3;

}



.service-card-desc {

    font-size: 0.88rem;

    color: var(--text-mid);

    line-height: 1.8;

    font-weight: 300;

}



.service-card-tag {

    display: inline-block;

    margin-top: 1.5rem;

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--gold);

    border: 1px solid var(--gold);

    padding: 4px 10px;

    border-radius: 2px;

}



/* â”€â”€â”€ DIFFERENTIATORS â”€â”€â”€ */

.why-section {

    padding: 120px 5vw;

    background: var(--warm-white);

    position: relative;

}



.why-inner {

    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1.3fr;

    gap: 100px;

    align-items: start;

}



.why-left {

    position: sticky;

    top: 100px;

}



.why-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2.2rem, 3.5vw, 3.4rem);

    font-weight: 300;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1.5rem;

}



.why-title em {

    font-style: italic;

    color: var(--rust);

}



.why-body {

    color: var(--text-mid);

    font-size: 0.95rem;

    line-height: 1.9;

    font-weight: 300;

    margin-bottom: 2.5rem;

}



.differentiators {

    display: flex;

    flex-direction: column;

    gap: 0;

}



.diff-item {

    display: flex;

    align-items: flex-start;

    gap: 24px;

    padding: 32px 0;

    border-bottom: 1px solid rgba(15, 30, 56, 0.08);

}



.diff-item:first-child {

    border-top: 1px solid rgba(15, 30, 56, 0.08);

}



.diff-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2.5rem;

    font-weight: 300;

    color: rgba(15, 30, 56, 0.12);

    line-height: 1;

    min-width: 50px;

    transition: color 0.3s;

}



.diff-item:hover .diff-num {

    color: var(--gold);

}





.diff-title {

    font-size: 0.9rem;

    font-weight: 600;

    color: var(--navy);

    margin-bottom: 0.4rem;

    letter-spacing: 0.02em;

}



.diff-desc {

    font-size: 0.85rem;

    color: var(--text-mid);

    line-height: 1.7;

    font-weight: 300;

}



/* â”€â”€â”€ GLEN BIO â”€â”€â”€ */

.glen-section {

    background: var(--navy);

    padding: 120px 5vw;

    position: relative;

    overflow: hidden;

}



.glen-section::before {

    content: '';

    position: absolute;

    top: -100px;

    right: -100px;

    width: 500px;

    height: 500px;

    border-radius: 50%;

    background: rgba(200, 154, 58, 0.06);

}



.glen-inner {

    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: auto 1fr;

    gap: 80px;

    align-items: center;

}



.glen-photo-wrap {

    position: relative;

}



.glen-photo-frame {

    width: 260px;

    height: 340px;

    position: relative;

}



.glen-photo-frame::before {

    content: '';

    position: absolute;

    inset: -12px -12px 12px 12px;

    border: 1px solid rgba(200, 154, 58, 0.3);

    border-radius: 2px;

}



.glen-photo-frame img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 2px;

    filter: grayscale(20%);

}



.glen-photo-placeholder {

    width: 100%;

    height: 100%;

    background: var(--navy-mid);

    border-radius: 2px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 10px;

    overflow: hidden;

}



.glen-photo-placeholder span {

    font-family: 'Cormorant Garamond', serif;

    font-size: 4rem;

    color: rgba(255, 255, 255, 0.2);

}



.glen-photo-placeholder p {

    font-size: 0.65rem;

    letter-spacing: 0.15em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.3);

}





.glen-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1rem;

}



.glen-name {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2.2rem, 3vw, 3rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.1;

    margin-bottom: 0.4rem;

}



.glen-title-role {

    font-size: 0.78rem;

    font-weight: 400;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--gold-light);

    margin-bottom: 2rem;

}



.glen-bio {

    font-size: 0.97rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.7);

    line-height: 1.9;

    max-width: 600px;

    margin-bottom: 2rem;

}



.glen-stats {

    display: flex;

    gap: 3rem;

    margin-bottom: 2.5rem;

}





.glen-stat-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2.5rem;

    font-weight: 300;

    color: var(--gold);

    line-height: 1;

}



.glen-stat-label {

    font-size: 0.68rem;

    font-weight: 400;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.45);

    margin-top: 4px;

}



.glen-credentials {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



.cred-badge {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.6);

    border: 1px solid rgba(255, 255, 255, 0.18);

    padding: 6px 14px;

    border-radius: 2px;

}



/* â”€â”€â”€ TESTIMONIALS â”€â”€â”€ */

.testimonials-section {

    background: var(--cream);

    padding: 120px 5vw;

}



.testimonials-grid {

    max-width: 1200px;

    margin: 60px auto 0;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}



.testimonial-card {

    background: var(--warm-white);

    padding: 45px 40px;

    border-radius: 2px;

    position: relative;

}



.testimonial-card::before {

    content: '"';

    position: absolute;

    top: 20px;

    left: 28px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 5rem;

    color: var(--gold);

    opacity: 0.25;

    line-height: 1;

}



.testimonial-text {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.15rem;

    font-style: italic;

    font-weight: 400;

    color: var(--navy);

    line-height: 1.7;

    margin-bottom: 1.8rem;

}



.testimonial-author {

    display: flex;

    align-items: center;

    gap: 14px;

}



.testimonial-avatar {

    width: 44px;

    height: 44px;

    border-radius: 50%;

    background: var(--navy);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.1rem;

    color: var(--gold);

    flex-shrink: 0;

}



.testimonial-name {

    font-size: 0.8rem;

    font-weight: 600;

    color: var(--navy);

    letter-spacing: 0.05em;

}



.testimonial-role {

    font-size: 0.7rem;

    color: var(--text-light);

    font-weight: 300;

    margin-top: 2px;

}



/* â”€â”€â”€ CTA SECTION â”€â”€â”€ */

.cta-section {

    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 50%, #2a1a10 100%);

    padding: 120px 5vw;

    text-align: center;

    position: relative;

    overflow: hidden;

}



.cta-section::before {

    content: '';

    position: absolute;

    inset: 0;

    background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M40 0L80 40L40 80L0 40L40 0zm0 8L8 40l32 32 32-32L40 8z'/%3E%3C/g%3E%3C/svg%3E");

}



.cta-inner {

    position: relative;

    max-width: 700px;

    margin: 0 auto;

}



.cta-eyebrow {

    font-size: 0.65rem;

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.5rem;

}



.cta-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2.2rem, 4vw, 3.8rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 1.5rem;

}



.cta-sub {

    color: rgba(255, 255, 255, 0.6);

    font-size: 0.97rem;

    font-weight: 300;

    line-height: 1.8;

    margin-bottom: 3rem;

}



.cta-actions {

    display: flex;

    gap: 1.2rem;

    justify-content: center;

    flex-wrap: wrap;

}



/* â”€â”€â”€ FOOTER â”€â”€â”€ */

footer {

    background: var(--navy);

    padding: 70px 5vw 40px;

    border-top: 1px solid rgba(200, 154, 58, 0.15);

}



.footer-inner {

    max-width: 1200px;

    margin: 0 auto;

}



.footer-top {

    display: grid;

    grid-template-columns: 1.5fr 1fr 1fr 1fr;

    gap: 60px;

    padding-bottom: 60px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    margin-bottom: 40px;

}



.footer-brand .wordmark {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.6rem;

    font-weight: 600;

    color: #fff;

    margin-bottom: 4px;

}



.footer-brand .tagline {

    font-size: 0.62rem;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.5rem;

}



.footer-brand p {

    font-size: 0.85rem;

    color: rgba(255, 255, 255, 0.45);

    font-weight: 300;

    line-height: 1.8;

}



.footer-col-title {

    font-size: 0.65rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.5rem;

}



.footer-links {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.footer-links a {

    font-size: 0.82rem;

    color: rgba(255, 255, 255, 0.5);

    text-decoration: none;

    font-weight: 300;

    transition: color 0.25s;

}



.footer-links a:hover {

    color: var(--gold-light);

}



.footer-bottom {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 12px;

}



.footer-copy {

    font-size: 0.75rem;

    color: rgba(255, 255, 255, 0.3);

    font-weight: 300;

}



.footer-bottom-links {

    display: flex;

    gap: 1.5rem;

    list-style: none;

}



.footer-bottom-links a {

    font-size: 0.72rem;

    color: rgba(255, 255, 255, 0.3);

    text-decoration: none;

    transition: color 0.25s;

}



.footer-bottom-links a:hover {

    color: var(--gold);

}



/* â”€â”€â”€ ANIMATIONS â”€â”€â”€ */

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(30px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}



@keyframes fadeIn {

    from {

        opacity: 0;

    }



    to {

        opacity: 1;

    }

}



@keyframes scrollPulse {



    0%,

    100% {

        opacity: 0.5;

        transform: scaleY(1);

    }



    50% {

        opacity: 1;

        transform: scaleY(1.1);

    }

}



.reveal {

    opacity: 0;

    transform: translateY(40px);

    transition: opacity 0.8s ease, transform 0.8s ease;

}



.reveal.visible {

    opacity: 1;

    transform: translateY(0);

}





/* â”€â”€â”€ PAGE HERO â”€â”€â”€ */

.about-page-hero {

    padding-top: 72px;

    min-height: 85vh;

    display: grid;

    grid-template-columns: 1fr 1fr;

    position: relative;

    overflow: hidden;

}



.about-hero-left {

    background: var(--navy);

    padding: 90px 8vw 90px 8vw;

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    overflow: hidden;

}



.about-hero-left::before {

    content: '';

    position: absolute;

    bottom: -120px;

    left: -120px;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(200, 154, 58, 0.1) 0%, transparent 65%);

    pointer-events: none;

}



.about-hero-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.4rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

}



.about-hero-name {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(3rem, 5vw, 5rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.05;

    margin-bottom: 0.6rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.35s forwards;

}



.about-hero-role {

    font-size: 0.78rem;

    font-weight: 400;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: var(--gold-light);

    margin-bottom: 2.5rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



.about-hero-intro {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.15rem, 1.6vw, 1.4rem);

    font-style: italic;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.72);

    line-height: 1.75;

    margin-bottom: 3rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.65s forwards;

}



.about-hero-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    opacity: 0;

    animation: fadeUp 0.9s 0.8s forwards;

}



.about-hero-tag {

    font-size: 0.64rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.55);

    border: 1px solid rgba(255, 255, 255, 0.18);

    padding: 6px 14px;

    border-radius: 2px;

}



/* Right side: photo panel */

.about-hero-right {

    position: relative;

    background: #1e3050;

    overflow: hidden;

}



.about-hero-photo-bg {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(to bottom, rgba(15, 30, 56, 0.3) 0%, transparent 40%, rgba(15, 30, 56, 0.6) 100%),

        url('https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=900&q=80') center/cover no-repeat;

    transition: transform 8s ease;

}



.about-hero-right:hover .about-hero-photo-bg {

    transform: scale(1.03);

}



.about-hero-photo-placeholder {

    position: absolute;

    inset: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    background: linear-gradient(135deg, #1a2f52 0%, #243a61 100%);

    gap: 16px;
    background-size: cover;

}

.about-hero-photo-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


.about-hero-photo-placeholder .initials {

    font-family: 'Cormorant Garamond', serif;

    font-size: 7rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.12);

    line-height: 1;

}



.about-hero-photo-placeholder .placeholder-label {

    font-size: 0.65rem;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.25);

}



.about-hero-caption {

    /* position: absolute; */

    bottom: 30px;

    left: 30px;

    right: 30px;

    display: flex;

    gap: 30px;

    opacity: 0;

    animation: fadeUp 1s 1s forwards;

}



.about-hero-stat {

    text-align: center;

}



.about-hero-stat-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2.4rem;

    font-weight: 300;

    color: var(--gold);

    line-height: 1;

}



.about-hero-stat-label {

    font-size: 0.62rem;

    font-weight: 400;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.5);

    margin-top: 4px;

}



/* â”€â”€â”€ PHILOSOPHY â”€â”€â”€ */

.philosophy-section {

    background: var(--cream);

    padding: 110px 5vw;

    position: relative;

    overflow: hidden;

}



.philosophy-section::before {

    content: '"';

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(14rem, 30vw, 26rem);

    color: rgba(15, 30, 56, 0.04);

    position: absolute;

    top: -40px;

    left: -20px;

    line-height: 1;

    pointer-events: none;

}



.philosophy-inner {

    max-width: 900px;

    margin: 0 auto;

    text-align: center;

}



.philosophy-label {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 2rem;

}



.philosophy-quote {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.8rem, 3.5vw, 3rem);

    font-weight: 300;

    font-style: italic;

    color: var(--navy);

    line-height: 1.45;

    margin-bottom: 2rem;

}



.philosophy-divider {

    width: 60px;

    height: 1px;

    background: var(--gold);

    margin: 0 auto 2rem;

}



.philosophy-body {

    font-size: 1.05rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

    max-width: 700px;

    margin: 0 auto;

}



/* â”€â”€â”€ JOURNEY TIMELINE â”€â”€â”€ */

.journey-section {

    padding: 110px 5vw;

    background: var(--warm-white);

}



.journey-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.journey-header {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 80px;

}



.journey-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2.2rem, 3.5vw, 3.5rem);

    font-weight: 300;

    color: var(--navy);

    line-height: 1.2;

}



.journey-title em {

    font-style: italic;

    color: var(--rust);

}



.journey-desc {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

}



/* Timeline */

.timeline {

    position: relative;

    padding-left: 40px;

}



.timeline::before {

    content: '';

    position: absolute;

    left: 0;

    top: 8px;

    bottom: 8px;

    width: 1px;

    background: linear-gradient(to bottom, var(--gold), rgba(200, 154, 58, 0.1));

}



.timeline-item {

    position: relative;

    padding: 0 0 56px 50px;

    opacity: 0;

    transform: translateX(-20px);

    transition: opacity 0.7s ease, transform 0.7s ease;

}



.timeline-item.visible {

    opacity: 1;

    transform: translateX(0);

}



.timeline-dot {

    position: absolute;

    left: -6px;

    top: 6px;

    width: 13px;

    height: 13px;

    border-radius: 50%;

    background: var(--gold);

    border: 3px solid var(--warm-white);

    box-shadow: 0 0 0 1px var(--gold);

}



.timeline-year {

    font-size: 0.65rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 0.5rem;

}



.timeline-event {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.5rem;

    font-weight: 500;

    color: var(--navy);

    margin-bottom: 0.5rem;

    line-height: 1.25;

}



.timeline-detail {

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.8;

    max-width: 580px;

}



/* â”€â”€â”€ CREDENTIALS â”€â”€â”€ */

.credentials-section {

    background: var(--navy);

    padding: 110px 5vw;

    position: relative;

    overflow: hidden;

}



.credentials-section::after {

    content: 'GLEN';

    position: absolute;

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(10rem, 22vw, 20rem);

    font-weight: 300;

    color: rgba(255, 255, 255, 0.02);

    right: -30px;

    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;

    letter-spacing: 0.1em;

}



.credentials-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.cred-header {

    display: grid;

    grid-template-columns: 1fr 1.6fr;

    gap: 80px;

    align-items: start;

}



.cred-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2rem, 3.2vw, 3rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.2;

    position: sticky;

    top: 110px;

}



.cred-title em {

    font-style: italic;

    color: var(--gold-light);

}



.cred-groups {

    display: flex;

    flex-direction: column;

    gap: 50px;

}





.cred-group-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.24em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.2rem;

    padding-bottom: 10px;

    border-bottom: 1px solid rgba(200, 154, 58, 0.2);

}



.cred-list {

    display: flex;

    flex-direction: column;

    gap: 14px;

}



.cred-item {

    display: flex;

    align-items: flex-start;

    gap: 16px;

    padding: 18px 22px;

    background: rgba(255, 255, 255, 0.04);

    border-radius: 3px;

    border-left: 2px solid transparent;

    transition: border-color 0.3s, background 0.3s;

}



.cred-item:hover {

    border-left-color: var(--gold);

    background: rgba(200, 154, 58, 0.06);

}



.cred-icon {

    font-size: 1.2rem;

    margin-top: 1px;

    flex-shrink: 0;

}





.cred-name {

    font-size: 0.9rem;

    font-weight: 500;

    color: rgba(255, 255, 255, 0.88);

    margin-bottom: 3px;

}



.cred-org {

    font-size: 0.78rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.42);

    letter-spacing: 0.04em;

}



/* â”€â”€â”€ GLOBAL REACH MAP â”€â”€â”€ */

.reach-section {

    padding: 110px 5vw;

    background: var(--cream);

}



.reach-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.reach-top {

    text-align: center;

    margin-bottom: 70px;

}



.reach-stats {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 2px;

    margin-bottom: 60px;

}



.reach-stat-card {

    background: var(--warm-white);

    padding: 50px 30px;

    text-align: center;

    position: relative;

    overflow: hidden;

    transition: background 0.3s;

}



.reach-stat-card::after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    right: 100%;

    height: 2px;

    background: var(--gold);

    transition: right 0.5s ease;

}



.reach-stat-card:hover::after {

    right: 0;

}



.reach-stat-card:hover {

    background: #fff;

}



.reach-stat-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 4rem;

    font-weight: 300;

    color: var(--navy);

    line-height: 1;

    margin-bottom: 0.5rem;

}



.reach-stat-label {

    font-size: 0.72rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--text-mid);

}



.reach-stat-sub {

    font-size: 0.75rem;

    font-weight: 300;

    color: var(--text-light);

    margin-top: 6px;

}



/* Destinations grid */

.destinations-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));

    gap: 12px;

}



.destination-tag {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 14px 18px;

    background: var(--warm-white);

    border-radius: 3px;

    border: 1px solid rgba(15, 30, 56, 0.08);

    transition: border-color 0.25s, background 0.25s;

}



.destination-tag:hover {

    border-color: var(--gold);

    background: #fff;

}



.destination-flag img {

    width: 100%;

}



.destination-flag {

    display: flex;

    width: 31px;

}



.cred-item i {

    color: var(--warm-white);

}



.destination-name {

    font-size: 0.8rem;

    font-weight: 400;

    color: var(--navy);

}



.destination-note {

    font-size: 0.68rem;

    font-weight: 300;

    color: var(--text-light);

    margin-top: 1px;

}



/* â”€â”€â”€ PERSONAL PHILOSOPHY â”€â”€â”€ */

.values-section {

    padding: 110px 5vw;

    background: var(--warm-white);

}



.values-inner {

    max-width: 1100px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: start;

}



.values-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2rem, 3vw, 3rem);

    font-weight: 300;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1.5rem;

}



.values-title em {

    font-style: italic;

    color: var(--gold);

}



.values-body {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.95;

    margin-bottom: 2.5rem;

}



.values-signature {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2rem;

    font-style: italic;

    font-weight: 400;

    color: var(--navy);

    opacity: 0.4;

}



.values-right {

    display: flex;

    flex-direction: column;

    gap: 24px;

}



.value-card {

    padding: 32px 36px;

    border-left: 3px solid var(--gold);

    background: var(--cream);

    border-radius: 0 3px 3px 0;

    transition: background 0.3s, transform 0.3s;

}



.value-card:hover {

    background: #fff;

    transform: translateX(6px);

}



.value-card-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.25rem;

    font-weight: 500;

    color: var(--navy);

    margin-bottom: 0.5rem;

}



.value-card-desc {

    font-size: 0.85rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.8;

}





/* â”€â”€â”€ READING PROGRESS BAR â”€â”€â”€ */

.progress-bar {

    position: fixed;

    top: 91px;

    left: 0;

    right: 0;

    z-index: 199;

    height: 3px;

    background: rgba(255, 255, 255, 0.06);

}



.progress-fill {

    height: 100%;

    width: 0%;

    background: linear-gradient(to right, var(--gold), var(--gold-light));

    transition: width 0.1s linear;

}



/* â”€â”€â”€ HERO â”€â”€â”€ */

.article-hero {

    padding-top: 75px;

    background: var(--ink);

    position: relative;

    overflow: hidden;

}



.hero-img-wrap {

    position: relative;

    height: clamp(320px, 48vh, 560px);

    overflow: hidden;

}



.hero-img {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(to bottom, rgba(13, 17, 23, 0.3) 0%, rgba(13, 17, 23, 0.7) 70%, rgba(13, 17, 23, 1) 100%),

        url('https://www.shutterstock.com/image-photo/sun-sets-behind-mountain-ranges-600nw-2479236003.jpg') center/cover no-repeat;

    transform: scale(1.04);

    animation: heroZoom 12s ease-out forwards;

}



@keyframes heroZoom {

    from {

        transform: scale(1.04);

    }



    to {

        transform: scale(1);

    }

}



.hero-content {

    position: relative;

    z-index: 2;

    max-width: 860px;

    margin: 0 auto;

    padding: 0 5vw 80px;

    margin-top: -180px;

}



.breadcrumb {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 1.8rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.1s forwards;

}



.breadcrumb a {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.45);

    text-decoration: none;

    transition: color 0.25s;

}



.breadcrumb a:hover {

    color: var(--gold-light);

}



.breadcrumb-sep {

    color: rgba(255, 255, 255, 0.25);

    font-size: 0.7rem;

}



.breadcrumb-current {

    font-size: 0.65rem;

    font-weight: 400;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.35);

}



.article-category-badge {

    display: inline-block;

    margin-bottom: 1.4rem;

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--navy);

    background: var(--gold);

    padding: 5px 14px;

    border-radius: 2px;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

}



.article-hero-title {

    font-family: 'DM Serif Display', serif;

    font-size: clamp(2.2rem, 4.5vw, 4rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.1;

    margin-bottom: 1.5rem;

    letter-spacing: -0.01em;

    opacity: 0;

    animation: fadeUp 0.9s 0.3s forwards;

}



.article-hero-excerpt {

    font-family: 'Lora', serif;

    font-size: clamp(1rem, 1.5vw, 1.2rem);

    font-style: italic;

    font-weight: 400;

    color: rgba(255, 255, 255, 0.62);

    line-height: 1.7;

    margin-bottom: 2.5rem;

    max-width: 620px;

    opacity: 0;

    animation: fadeUp 0.9s 0.45s forwards;

}



.article-meta-row {

    display: flex;

    align-items: center;

    gap: 24px;

    flex-wrap: wrap;

    opacity: 0;

    animation: fadeUp 0.9s 0.6s forwards;

}



.meta-author {

    display: flex;

    align-items: center;

    gap: 12px;

}



.meta-avatar {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    background: var(--navy-mid);

    border: 2px solid rgba(200, 154, 58, 0.4);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Cormorant Garamond', serif;

    font-size: 1rem;

    color: var(--gold);

    flex-shrink: 0;

}



.meta-author-name {

    font-size: 0.82rem;

    font-weight: 500;

    color: rgba(255, 255, 255, 0.85);

}



.meta-author-role {

    font-size: 0.66rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.4);

    margin-top: 2px;

}



.meta-divider {

    width: 1px;

    height: 28px;

    background: rgba(255, 255, 255, 0.12);

}



.meta-item {

    font-size: 0.7rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.4);

    display: flex;

    align-items: center;

    gap: 6px;

}



.meta-item-icon {

    font-size: 0.85rem;

}



/* â”€â”€â”€ ARTICLE LAYOUT â”€â”€â”€ */

.article-layout {

    display: grid;

    grid-template-columns: 1fr min(var(--body-max), 100%) 1fr;

    background: var(--warm-white);

    padding: 80px 0 120px;

}



.article-layout>* {

    grid-column: 2;

    padding: 0 5vw;

}



/* Full-bleed elements */

.full-bleed {

    grid-column: 1 / -1;

    padding: 0;

}



/* â”€â”€â”€ ARTICLE BODY â”€â”€â”€ */

.article-body {

    font-family: 'Lora', serif;

    font-size: clamp(1rem, 1.4vw, 1.1rem);

    line-height: 1.92;

    color: #2a2a3e;

    max-width: var(--body-max);

    margin: 0 auto;

}



.article-body p {

    margin-bottom: 0.6em;

}



.article-body h2 {

    font-family: 'DM Serif Display', serif;

    font-size: clamp(1.5rem, 2.5vw, 2rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin: 1.4em 0 0.9em;

    letter-spacing: -0.01em;

}



.article-body h3 {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.2rem, 2vw, 1.55rem);

    font-weight: 500;

    color: var(--navy);

    line-height: 1.3;

    margin: 2em 0 0.7em;

    font-style: italic;

}



.article-body strong {

    font-weight: 600;

    color: var(--navy);

}



.article-body em {

    font-style: italic;

}



.article-body a {

    color: var(--gold);

    border-bottom: 1px solid rgba(200, 154, 58, 0.5);

    text-decoration: none;

    transition: border-color 0.25s, color 0.25s;

}



.article-body a:hover {

    color: var(--gold);

    border-color: var(--gold);

}



/* Pull quote */

.pull-quote {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.4rem, 2.5vw, 1.9rem);

    font-style: italic;

    font-weight: 400;

    color: var(--navy);

    line-height: 1.45;

    border-left: 3px solid var(--gold);

    padding: 1.2rem 2rem 1.2rem 2.2rem;

    margin: 2.5em 0;

    background: rgba(200, 154, 58, 0.05);

    border-radius: 0 4px 4px 0;

    position: relative;

}



.pull-quote::before {

    content: '"';

    font-size: 5rem;

    color: var(--gold);

    opacity: 0.2;

    position: absolute;

    top: -10px;

    left: 12px;

    font-family: 'Cormorant Garamond', serif;

    line-height: 1;

}



/* Key insight box */

.insight-box {

    background: var(--navy);

    color: #fff;

    padding: 36px 40px;

    border-radius: 4px;

    margin: 2.8em 0;

}



.insight-box-label {

    font-size: 0.58rem;

    font-weight: 600;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 0.9rem;

}



.insight-box p {

    font-family: 'Lora', serif;

    font-size: 0.98rem;

    color: rgba(255, 255, 255, 0.78);

    line-height: 1.85;

    margin-bottom: 0 !important;

}



/* Article image */

.article-img {

    width: 100%;

    margin: 2.5em 0;

    border-radius: 4px;

    overflow: hidden;

}



.article-img img {

    width: 100%;

    display: block;

    border-radius: 4px;

}



.article-img-caption {

    font-size: 0.72rem;

    font-weight: 300;

    color: var(--text-light);

    font-family: 'Jost', sans-serif;

    margin-top: 0.6rem;

    font-style: italic;

}



/* Numbered list styling */

.article-body ol {

    padding-left: 1.4em;

    margin-bottom: 1.6em;

}



.article-body ol li {

    margin-bottom: 0.7em;

}



.article-body ul {

    padding-left: 1.4em;

    margin-bottom: 1.6em;

}



.article-body ul li {

    margin-bottom: 0.5em;

}



/* â”€â”€â”€ ARTICLE SIDEBAR (sticky) â”€â”€â”€ */

.article-with-sidebar {

    max-width: 1100px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 300px;

    gap: 70px;

    padding: 80px 5vw 120px;

    align-items: start;

}



.sidebar {

    position: sticky;

    top: 110px;

    display: flex;

    flex-direction: column;

    gap: 30px;

}



.sidebar-card {

    background: var(--cream);

    padding: 28px 28px;

    border-radius: 4px;

}



.sidebar-card-title {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.2rem;

    padding-bottom: 10px;

    border-bottom: 1px solid rgba(200, 154, 58, 0.2);

}



/* Table of contents */

.toc-list {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.toc-item a {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    font-size: 0.82rem;

    font-weight: 300;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.25s;

    line-height: 1.4;

    padding: 4px 0;

}



.toc-item a:hover {

    color: var(--navy);

}



.toc-item.active a {

    color: var(--navy);

    font-weight: 500;

}



.toc-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 0.85rem;

    color: var(--gold);

    flex-shrink: 0;

    font-weight: 500;

}



/* Share */

.share-btns {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.share-btn {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 10px 14px;

    border-radius: 3px;

    background: var(--warm-white);

    border: 1px solid rgba(15, 30, 56, 0.1);

    font-size: 0.75rem;

    font-weight: 400;

    color: var(--text-mid);

    cursor: pointer;

    transition: background 0.2s, border-color 0.2s;

    font-family: 'Jost', sans-serif;

    text-decoration: none;

}



.share-btn:hover {

    background: #fff;

    border-color: var(--gold);

    color: var(--navy);

}



.share-icon {

    font-size: 1rem;

}



/* About author sidebar */

.author-card {

    text-align: center;

}



.author-avatar-lg {

    width: 70px;

    height: 70px;

    border-radius: 50%;

    background: var(--navy-mid);

    border: 2px solid rgba(200, 154, 58, 0.4);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.6rem;

    color: var(--gold);

    margin: 0 auto 14px;

}



.author-name {

    font-size: 0.92rem;

    font-weight: 600;

    color: var(--navy);

    margin-bottom: 4px;

}



.author-role {

    font-size: 0.72rem;

    font-weight: 300;

    color: var(--text-light);

    margin-bottom: 12px;

    line-height: 1.4;

}



.author-bio {

    font-size: 0.78rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.75;

    margin-bottom: 14px;

}



.author-link {

    font-size: 0.68rem;

    font-weight: 500;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--gold);

    text-decoration: none;

    border-bottom: 1px solid rgba(200, 154, 58, 0.3);

}



/* â”€â”€â”€ ARTICLE FOOTER â”€â”€â”€ */

.article-footer-area {

    max-width: var(--body-max);

    margin: 0 auto;

    padding-bottom: 80px;

}



.article-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 50px;

    align-items: center;

}



.tags-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--text-light);

    margin-right: 4px;

}



.art-tag {

    font-size: 0.68rem;

    font-weight: 400;

    color: var(--text-mid);

    border: 1px solid rgba(15, 30, 56, 0.15);

    padding: 5px 12px;

    border-radius: 2px;

    text-decoration: none;

    transition: border-color 0.25s, color 0.25s;

}



.art-tag:hover {

    border-color: var(--gold);

    color: var(--navy);

}



.article-cta-banner {

    background: var(--navy);

    border-radius: 4px;

    padding: 48px 50px;

    margin-bottom: 60px;

    display: grid;

    grid-template-columns: 1fr;

    gap: 30px;

    align-items: center;

}



.cta-banner-label {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 0.6rem;

}



.cta-banner-title {

    font-family: 'DM Serif Display', serif;

    font-size: 1.4rem;

    color: #fff;

    margin-bottom: 0.5rem;

    line-height: 1.2;

}



.cta-banner-sub {

    font-size: 0.82rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.55);

    line-height: 1.7;

}



.cta-banner-btn {

    display: inline-block;

    background: var(--gold);

    color: var(--navy);

    padding: 13px 28px;

    font-size: 0.72rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    white-space: nowrap;

    transition: background 0.3s;

}



.cta-banner-btn:hover {

    background: var(--gold-light);

}



/* â”€â”€â”€ RELATED ARTICLES â”€â”€â”€ */

.related-section {

    background: var(--cream);

    padding: 80px 5vw;

}



.related-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.related-header {

    display: flex;

    align-items: baseline;

    justify-content: space-between;

    margin-bottom: 40px;

}



.related-title {

    font-family: 'DM Serif Display', serif;

    font-size: 1.8rem;

    font-weight: 400;

    color: var(--navy);

}



.related-link {

    font-size: 0.72rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--gold);

    text-decoration: none;

    border-bottom: 1px solid rgba(200, 154, 58, 0.3);

}



.related-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;

}



.related-card {

    background: var(--warm-white);

    border-radius: 3px;

    overflow: hidden;

    border: 1px solid rgba(15, 30, 56, 0.07);

    transition: transform 0.3s, box-shadow 0.3s;

    text-decoration: none;

    display: flex;

    flex-direction: column;

}



.related-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 16px 50px rgba(15, 30, 56, 0.1);

}



.related-card-img {

    height: 160px;

    position: relative;

    overflow: hidden;

}



.related-card-img-bg {

    position: absolute;

    inset: 0;

    background-size: cover;

    background-position: center;

    transition: transform 4s ease;

}



.related-card:hover .related-card-img-bg {

    transform: scale(1.06);

}



.related-card-img-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(to bottom, transparent 50%, rgba(15, 30, 56, 0.4) 100%);

}



.related-cat-tag {

    position: absolute;

    top: 12px;

    left: 12px;

    font-size: 0.55rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: #fff;

    padding: 3px 9px;

    border-radius: 2px;

}



.tag-global-sm {

    background: var(--navy);

}



.tag-travel-sm {

    background: var(--teal);

}



.tag-deibj-sm {

    background: var(--rust);

}



.tag-language-sm {

    background: #5a3a8a;

}



.tag-leadership-sm {

    background: #7a5a1a;

}



.related-card-body {

    padding: 22px 22px 20px;

    flex: 1;

    display: flex;

    flex-direction: column;

}



.related-card-title {

    font-family: 'DM Serif Display', serif;

    font-size: 1rem;

    font-weight: 400;

    color: var(--navy);

    line-height: 1.3;

    margin-bottom: 0.6rem;

    flex: 1;

}



.related-card-meta {

    font-size: 0.65rem;

    color: var(--text-light);

    font-weight: 300;

    margin-top: auto;

    padding-top: 10px;

    border-top: 1px solid rgba(15, 30, 56, 0.07);

}



/* â”€â”€â”€ PAGE STRUCTURE â”€â”€â”€ */

.page-wrap {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 100vh;

}



/* â”€â”€â”€ LEFT PANEL â”€â”€â”€ */

.left-panel {

    background: var(--navy);

    padding: 120px 7vw 80px 7vw;

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    overflow: hidden;

}



/* Decorative rings */

.left-panel::before {

    content: '';

    position: absolute;

    bottom: -150px;

    left: -150px;

    width: 500px;

    height: 500px;

    border-radius: 50%;

    border: 1px solid rgba(200, 154, 58, 0.08);

}



.left-panel::after {

    content: '';

    position: absolute;

    bottom: -200px;

    left: -200px;

    width: 700px;

    height: 700px;

    border-radius: 50%;

    border: 1px solid rgba(200, 154, 58, 0.05);

}



.panel-glow {

    position: absolute;

    top: -100px;

    right: -100px;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(200, 154, 58, 0.08) 0%, transparent 65%);

    pointer-events: none;

}



.left-content {

    position: relative;

    z-index: 2;

}



.left-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.5rem;

    display: flex;

    align-items: center;

    gap: 12px;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

}



.left-eyebrow::before {

    content: '';

    display: inline-block;

    width: 28px;

    height: 1px;

    background: var(--gold);

}



.left-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(2.8rem, 4vw, 4.5rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.06;

    margin-bottom: 1.8rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.35s forwards;

}



.left-title em {

    font-style: italic;

    color: var(--gold-light);

    display: block;

}



.left-body {

    font-size: 1rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.62);

    line-height: 1.88;

    margin-bottom: 3rem;

    max-width: 440px;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



/* Direct contact items */

.contact-items {

    display: flex;

    flex-direction: column;

    gap: 22px;

    opacity: 0;

    animation: fadeUp 0.9s 0.65s forwards;

}



.contact-item {

    display: flex;

    align-items: flex-start;

    gap: 18px;

}



.contact-item-icon-wrap {

    width: 48px;

    height: 48px;

    border-radius: 50%;

    background: rgba(200, 154, 58, 0.1);

    border: 1px solid rgba(200, 154, 58, 0.25);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.15rem;

    flex-shrink: 0;

}





.contact-item-label {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.35);

    margin-bottom: 4px;

}



.contact-item-value {

    font-size: 0.9rem;

    font-weight: 400;

    color: rgba(255, 255, 255, 0.82);

}



.contact-item-value a {

    color: rgba(255, 255, 255, 0.82);

    text-decoration: none;

    transition: color 0.25s;

}



.contact-item-value a:hover {

    color: var(--gold-light);

}



/* Divider */

.left-divider {

    width: 100%;

    height: 1px;

    background: rgba(255, 255, 255, 0.08);

    margin: 3rem 0;

    opacity: 0;

    animation: fadeUp 0.9s 0.75s forwards;

}



/* Glen note */

.glen-note {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    opacity: 0;

    animation: fadeUp 0.9s 0.85s forwards;

}



.glen-note-avatar {

    width: 50px;

    height: 50px;

    border-radius: 50%;

    background: var(--navy-mid);

    border: 2px solid rgba(200, 154, 58, 0.35);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.1rem;

    color: var(--gold);

    flex-shrink: 0;

}



.glen-note-quote {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.05rem;

    font-style: italic;

    font-weight: 400;

    color: rgba(255, 255, 255, 0.65);

    line-height: 1.65;

    margin-bottom: 6px;

}



.glen-note-attr {

    font-size: 0.65rem;

    font-weight: 400;

    letter-spacing: 0.1em;

    color: rgba(255, 255, 255, 0.3);

    text-transform: uppercase;

}



/* â”€â”€â”€ RIGHT PANEL â”€â”€â”€ */

.right-panel {

    background: var(--cream);

    padding: 110px 5vw 80px 5vw;

    display: flex;

    flex-direction: column;

    justify-content: center;

}



.form-header {

    margin-bottom: 2.5rem;

}



.form-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 0.8rem;

}



.form-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(1.8rem, 2.5vw, 2.5rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.15;

    margin-bottom: 0.7rem;

}



.form-sub {

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.75;

}



/* Form styles */

.form-body {

    display: flex;

    flex-direction: column;

    gap: 0;

}



.form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;

}



.form-group {

    display: flex;

    flex-direction: column;

    gap: 7px;

    margin-bottom: 18px;

}



.form-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--navy);

}



.form-input,

.form-select,

.form-textarea {

    width: 100%;

    background: var(--warm-white);

    border: 1px solid rgba(15, 30, 56, 0.15);

    border-radius: 3px;

    padding: 14px 16px;

    font-family: 'Jost', sans-serif;

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--navy);

    outline: none;

    transition: border-color 0.25s, box-shadow 0.25s;

    appearance: none;

}



.form-input:focus,

.form-select:focus,

.form-textarea:focus {

    border-color: var(--gold);

    box-shadow: 0 0 0 3px rgba(200, 154, 58, 0.1);

    background: #fff;

}



.form-input::placeholder,

.form-textarea::placeholder {

    color: var(--text-light);

}



.form-textarea {

    resize: vertical;

    min-height: 130px;

    line-height: 1.6;

}



.form-select {

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 14px center;

    padding-right: 40px;

    cursor: pointer;

}



/* Interest pills */

.pills-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--navy);

    margin-bottom: 10px;

    display: block;

}



.pills-group {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 20px;

}



.pill {

    font-size: 0.7rem;

    font-weight: 400;

    color: var(--text-mid);

    border: 1px solid rgba(15, 30, 56, 0.18);

    background: var(--warm-white);

    padding: 7px 14px;

    border-radius: 50px;

    cursor: pointer;

    transition: all 0.2s;

    user-select: none;

}



.pill:hover {

    border-color: var(--gold);

    color: var(--navy);

}



.pill.on {

    background: var(--navy);

    border-color: var(--navy);

    color: #fff;

}



/* How heard */

.how-heard-group {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 8px;

    margin-bottom: 20px;

}



.heard-option {

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 10px 8px;

    border-radius: 3px;

    border: 1px solid rgba(15, 30, 56, 0.15);

    background: var(--warm-white);

    cursor: pointer;

    font-size: 0.7rem;

    font-weight: 400;

    color: var(--text-mid);

    text-align: center;

    transition: all 0.2s;

    user-select: none;

    line-height: 1.3;

}



.heard-option:hover {

    border-color: var(--gold);

    color: var(--navy);

}



.heard-option.on {

    background: var(--navy);

    border-color: var(--navy);

    color: #fff;

}



/* Submit */

.form-submit-row {

    margin-top: 8px;

}



.form-submit {

    width: 100%;

    background: var(--navy);

    border: none;

    cursor: pointer;

    padding: 17px 32px;

    font-family: 'Jost', sans-serif;

    font-size: 0.8rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: #fff;

    border-radius: 3px;

    transition: background 0.3s, transform 0.2s, box-shadow 0.3s;

    position: relative;

    overflow: hidden;

}



.form-submit::after {

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(to right, transparent 0%, rgba(200, 154, 58, 0.15) 50%, transparent 100%);

    transform: translateX(-100%);

    transition: transform 0.5s;

}



.form-submit:hover::after {

    transform: translateX(100%);

}



.form-submit:hover {

    background: var(--navy-mid);

    transform: translateY(-2px);

    box-shadow: 0 12px 35px rgba(15, 30, 56, 0.2);

}



.form-privacy {

    font-size: 0.68rem;

    color: var(--text-light);

    font-weight: 300;

    text-align: center;

    margin-top: 12px;

    line-height: 1.6;

}



/* Success state */

.form-success {

    display: none;

    text-align: center;

    padding: 60px 20px;

}



.form-success.show {

    display: block;

}



.success-icon {

    width: 80px;

    height: 80px;

    border-radius: 50%;

    background: rgba(42, 122, 110, 0.1);

    border: 2px solid var(--teal);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 2rem;

    margin: 0 auto 1.8rem;

    animation: successPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;

}



@keyframes successPop {

    from {

        transform: scale(0);

        opacity: 0;

    }



    to {

        transform: scale(1);

        opacity: 1;

    }

}



.success-title {

    font-family: 'Playfair Display', serif;

    font-size: 1.8rem;

    font-weight: 400;

    color: var(--navy);

    margin-bottom: 0.8rem;

    line-height: 1.2;

}



.success-body {

    font-size: 0.92rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.8;

    margin-bottom: 2rem;

    max-width: 400px;

    margin-left: auto;

    margin-right: auto;

}



.success-links {

    display: flex;

    flex-direction: column;

    gap: 12px;

    align-items: center;

}



.success-link {

    font-size: 0.75rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--navy);

    text-decoration: none;

    border-bottom: 1px solid rgba(15, 30, 56, 0.25);

    transition: color 0.25s, border-color 0.25s;

}



.success-link:hover {

    color: var(--gold);

    border-color: var(--gold);

}



/* â”€â”€â”€ BOTTOM STRIP â”€â”€â”€ */

.bottom-strip {

    background: var(--navy);

    padding: 50px 5vw;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 2px;

}



.strip-item {

    background: rgba(255, 255, 255, 0.03);

    padding: 32px 30px;

    border-left: 1px solid rgba(255, 255, 255, 0.06);

    transition: background 0.3s;

}



.strip-item:first-child {

    border-left: none;

}



.strip-item:hover {

    background: rgba(200, 154, 58, 0.05);

}



.strip-item-icon {

    font-size: 1.5rem;

    margin-bottom: 0.8rem;

    display: block;

}



.strip-item-title {

    font-size: 0.8rem;

    font-weight: 600;

    color: rgba(255, 255, 255, 0.75);

    margin-bottom: 0.4rem;

}



.strip-item-desc {

    font-size: 0.72rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.38);

    line-height: 1.65;

}



.strip-item-link {

    display: inline-block;

    margin-top: 10px;

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--gold);

    text-decoration: none;

}



.strip-item-link:hover {

    color: var(--gold-light);

}





/* â”€â”€â”€ MASTHEAD â”€â”€â”€ */

.masthead {

    padding-top: 72px;

    background: var(--ink);

    position: relative;

    overflow: hidden;

}



.masthead-texture {

    position: absolute;

    inset: 0;

    background-image:

        repeating-linear-gradient(0deg,

            transparent,

            transparent 60px,

            rgba(255, 255, 255, 0.012) 60px,

            rgba(255, 255, 255, 0.012) 61px),

        repeating-linear-gradient(90deg,

            transparent,

            transparent 60px,

            rgba(255, 255, 255, 0.012) 60px,

            rgba(255, 255, 255, 0.012) 61px);

}



.masthead-glow {

    position: absolute;

    top: -200px;

    left: 50%;

    transform: translateX(-50%);

    width: 800px;

    height: 500px;

    background: radial-gradient(ellipse, rgba(200, 154, 58, 0.08) 0%, transparent 65%);

    pointer-events: none;

}



.masthead-inner {

    position: relative;

    z-index: 2;

    max-width: 1100px;

    margin: 0 auto;

    padding: 70px 5vw 60px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

}



.masthead-overline {

    display: flex;

    align-items: center;

    gap: 16px;

    margin-bottom: 1.8rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

}



.masthead-overline-line {

    width: 50px;

    height: 1px;

    background: var(--gold);

}



.masthead-overline-text {

    font-size: 0.62rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

}



.masthead-title {

    font-family: 'DM Serif Display', serif;

    font-size: clamp(3.5rem, 7vw, 7rem);

    font-weight: 400;

    color: #fff;

    line-height: 0.95;

    letter-spacing: -0.01em;

    margin-bottom: 1rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.35s forwards;

}



.masthead-title em {

    font-style: italic;

    color: var(--gold-light);

    display: block;

}



.masthead-sub {

    font-size: 1rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.52);

    line-height: 1.8;

    max-width: 540px;

    margin-bottom: 2.5rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



.masthead-byline {

    display: flex;

    align-items: center;

    gap: 14px;

    opacity: 0;

    animation: fadeUp 0.9s 0.65s forwards;

}



.byline-avatar {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: var(--navy-mid);

    border: 2px solid rgba(200, 154, 58, 0.4);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Cormorant Garamond', serif;

    font-size: 1rem;

    color: var(--gold);

}



.byline-text {

    text-align: left;

}



.byline-name {

    font-size: 0.82rem;

    font-weight: 500;

    color: rgba(255, 255, 255, 0.8);

}



.byline-role {

    font-size: 0.68rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.4);

    letter-spacing: 0.06em;

}



/* Bottom rule */

.masthead-rule {

    width: 100%;

    border: none;

    border-top: 1px solid rgba(255, 255, 255, 0.08);

    margin: 0;

}



/* â”€â”€â”€ CATEGORY BAR â”€â”€â”€ */

.category-bar {

    position: sticky;

    top: 72px;

    z-index: 100;

    background: var(--ink);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    padding: 0 5vw;

}



.category-inner {

    max-width: 1100px;

    margin: 0 auto;

    display: flex;

    gap: 0;

    overflow-x: auto;

    scrollbar-width: none;

}



.category-inner::-webkit-scrollbar {

    display: none;

}



.cat-btn {

    padding: 16px 24px;

    font-size: 0.7rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.4);

    background: none;

    border: none;

    border-bottom: 2px solid transparent;

    cursor: pointer;

    white-space: nowrap;

    transition: color 0.25s, border-color 0.25s;

}



.cat-btn:hover {

    color: rgba(255, 255, 255, 0.75);

}



.cat-btn.active {

    color: var(--gold-light);

    border-bottom-color: var(--gold);

}



/* â”€â”€â”€ FEATURED ARTICLE â”€â”€â”€ */

.featured-section {

    background: var(--ink);

    padding: 70px 5vw 90px;

}



.featured-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.section-label {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 2rem;

    display: flex;

    align-items: center;

    gap: 12px;

}



.section-label::after {

    content: '';

    flex: 1;

    max-width: 60px;

    height: 1px;

    background: rgba(200, 154, 58, 0.3);

}



.featured-card {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 0;

    border-radius: 4px;

    overflow: hidden;

    background: var(--navy-mid);

    /* cursor: pointer; */

    transition: transform 0.4s ease, box-shadow 0.4s ease;

}

.featured-content p {
    color: #949494;
}

.article-card-footer a {
    color: #fb9141 !important;
}


/* .featured-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);

} */



.featured-image {

    position: relative;

    overflow: hidden;

    min-height: 420px;

    background: linear-gradient(135deg, #1a3a5c 0%, #0f2240 100%);

}



.featured-image-bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform 6s ease;
}



.featured-card:hover .featured-image-bg {

    transform: scale(1.05);

}



.featured-image-overlay {

    position: absolute;

    inset: 0;

    /* background: linear-gradient(135deg, rgba(15, 30, 56, 0.6) 0%, rgba(196, 94, 60, 0.3) 100%); */

}

.featured-meta .tag-global-citizenship {
    display: none;
}

.featured-image-label a {
    color: white;
}

.featured-image-label {

    position: absolute;

    top: 28px;

    left: 28px;
    z-index: 9999999;
    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: #fff;

    background: var(--rust);

    padding: 5px 12px;

    border-radius: 2px;

}



.featured-content {

    padding: 56px 52px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: var(--navy);

}



.featured-meta {

    display: flex;

    align-items: center;

    gap: 16px;

    margin-bottom: 1.4rem;

    flex-wrap: wrap;

}



.featured-cat {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: var(--gold);

    border: 1px solid rgba(200, 154, 58, 0.35);

    padding: 4px 10px;

    border-radius: 2px;

}



.featured-date {

    font-size: 0.68rem;

    color: rgba(255, 255, 255, 0.35);

    font-weight: 300;

}



.featured-read-time {

    font-size: 0.68rem;

    color: rgba(255, 255, 255, 0.35);

    font-weight: 300;

}



.featured-title {

    font-family: 'DM Serif Display', serif;

    font-size: clamp(1.6rem, 2.5vw, 2.4rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 1.2rem;

}



.featured-excerpt {

    font-size: 0.92rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.6);

    line-height: 1.85;

    margin-bottom: 2rem;

}



.featured-read-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-size: 0.72rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--gold);

    text-decoration: none;

    transition: gap 0.3s;

}



.featured-read-link:hover {

    /* gap: 16px; */

}



.featured-read-link svg {

    width: 16px;

    height: 16px;

    stroke: var(--gold);

}



/* â”€â”€â”€ ARTICLES GRID â”€â”€â”€ */

.articles-section {

    background: var(--warm-white);

    padding: 90px 5vw;

}



.articles-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.articles-header {

    display: flex;

    align-items: baseline;

    justify-content: space-between;

    margin-bottom: 50px;

    flex-wrap: wrap;

    gap: 16px;

}



.articles-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.8rem, 2.8vw, 2.5rem);

    font-weight: 300;

    color: var(--navy);

    line-height: 1.2;

}



.articles-count {

    font-size: 0.7rem;

    font-weight: 400;

    color: var(--text-light);

    letter-spacing: 0.12em;

}



.articles-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 28px;

}



.article-card {

    background: #fff;

    border-radius: 3px;

    overflow: hidden;

    border: 1px solid rgba(15, 30, 56, 0.07);

    transition: transform 0.35s ease, box-shadow 0.35s ease;

    /* cursor: pointer; */

    display: flex;

    flex-direction: column;

}



.article-card:hover {

    transform: translateY(-6px);

    box-shadow: 0 20px 60px rgba(15, 30, 56, 0.1);

}



.article-card-image {

    height: 200px;

    position: relative;

    overflow: hidden;

}



.article-card-image-bg {

    position: absolute;

    inset: 0;

    background-size: cover;

    background-position: center;

    transition: transform 5s ease;

}



.article-card:hover .article-card-image-bg {

    transform: scale(1.08);

}



.article-card-image-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(to bottom, transparent 40%, rgba(15, 30, 56, 0.5) 100%);

}



/* Placeholder images by category color */

.img-global {

    background: linear-gradient(135deg, #0f2240 0%, #1a4a6e 100%);

}



.img-travel {

    background: linear-gradient(135deg, #1a3a1a 0%, #2a6a3a 100%);

}



.img-deibj {

    background: linear-gradient(135deg, #3a1a0a 0%, #6e3a1a 100%);

}



.img-language {

    background: linear-gradient(135deg, #1a1a3a 0%, #3a2a6e 100%);

}



.img-leadership {

    background: linear-gradient(135deg, #2a1a0a 0%, #6e4a1a 100%);

}

.article-cat-tag a {
    color: white;
}

.article-cat-tag {

    position: absolute;

    top: 16px;
    background: #fb7e20;
    left: 16px;

    font-size: 0.58rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: #fff;

    padding: 4px 10px;

    border-radius: 2px;

}



.tag-global {

    background: var(--navy);

}



.tag-travel {

    background: var(--teal);

}



.tag-deibj {

    background: var(--rust);

}



.tag-language {

    background: #5a3a8a;

}



.tag-leadership {

    background: #7a5a1a;

}



.article-card-body {

    padding: 28px 28px 24px;

    flex: 1;

    display: flex;

    flex-direction: column;

}



.article-card-meta {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 1rem;

    flex-wrap: wrap;

}



.article-card-date {

    font-size: 0.65rem;

    color: var(--text-light);

    font-weight: 300;

}



.article-card-dot {

    width: 3px;

    height: 3px;

    border-radius: 50%;

    background: var(--text-light);

}



.article-card-read {

    font-size: 0.65rem;

    color: var(--text-light);

    font-weight: 300;

}



.article-card-title {

    font-family: 'DM Serif Display', serif;

    font-size: 1.15rem;

    font-weight: 400;

    color: var(--navy);

    line-height: 1.3;

    margin-bottom: 0.9rem;

    flex: 1;

}



.article-card-excerpt {

    font-size: 0.82rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.75;

    margin-bottom: 1.4rem;

}



.article-card-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-top: 1px solid rgba(15, 30, 56, 0.07);

    padding-top: 16px;

}



.article-card-author {

    font-size: 0.68rem;

    font-weight: 400;

    color: var(--text-mid);

}



.article-read-arrow {

    display: flex;

    align-items: center;

    gap: 6px;

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--gold);

    text-decoration: none;

    transition: gap 0.25s;

}



.article-read-arrow:hover {

    /* gap: 10px; */

}



.article-read-arrow svg {

    width: 12px;

    height: 12px;

    stroke: var(--gold);

}



/* Empty state */

.no-articles {

    display: none;

    text-align: center;

    padding: 80px 20px;

    grid-column: 1/-1;

}



.no-articles.visible {

    display: block;

}



.no-articles p {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.5rem;

    font-style: italic;

    color: var(--text-light);

    margin-bottom: 0.5rem;

}



.no-articles span {

    font-size: 0.8rem;

    color: var(--text-light);

    font-weight: 300;

}



/* â”€â”€â”€ COMING SOON BANNER â”€â”€â”€ */

.coming-soon-banner {

    background: var(--cream);

    border: 1px dashed rgba(200, 154, 58, 0.4);

    border-radius: 4px;

    padding: 50px 40px;

    text-align: center;

    margin-top: 30px;

}



.coming-soon-banner .icon {

    font-size: 2.5rem;

    margin-bottom: 1rem;

}



.coming-soon-banner h3 {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.6rem;

    font-weight: 400;

    color: var(--navy);

    margin-bottom: 0.6rem;

}



.coming-soon-banner p {

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.8;

    max-width: 500px;

    margin: 0 auto;

}



/* â”€â”€â”€ NEWSLETTER â”€â”€â”€ */

.newsletter-section {

    background: var(--navy);

    padding: 90px 5vw;

    position: relative;

    overflow: hidden;

}



.newsletter-section::before {

    content: '';

    position: absolute;

    top: -150px;

    right: -150px;

    width: 500px;

    height: 500px;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(200, 154, 58, 0.06) 0%, transparent 65%);

}



.newsletter-inner {

    max-width: 700px;

    margin: 0 auto;

    text-align: center;

    position: relative;

    z-index: 2;

}



.newsletter-eyebrow {

    font-size: 0.62rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.4rem;

}



.newsletter-title {

    font-family: 'DM Serif Display', serif;

    font-size: clamp(1.8rem, 3vw, 2.8rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 1rem;

}



.newsletter-sub {

    font-size: 0.92rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.55);

    line-height: 1.8;

    margin-bottom: 2.5rem;

}



.newsletter-form {

    display: flex;

    gap: 0;

    max-width: max-content;

    margin: 0 auto 1rem;

    border-radius: 3px;

    overflow: hidden;

}



.newsletter-input {

    flex: 1;

    background: rgba(255, 255, 255, 0.05);

    border: none;

    padding: 16px 22px;

    font-family: 'Jost', sans-serif;

    font-size: 0.88rem;

    font-weight: 300;

    color: #fff;

    outline: none;

    min-width: 0;

}



.newsletter-input::placeholder {

    color: rgba(255, 255, 255, 0.3);

}



.newsletter-input:focus {

    background: rgba(255, 255, 255, 0.08);

}



.newsletter-submit {

    background: var(--gold);

    border: 1px solid var(--gold);

    cursor: pointer;

    padding: 16px 28px;

    font-family: 'Jost', sans-serif;

    font-size: 0.72rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--navy);

    transition: background 0.3s;

    white-space: nowrap;

    flex-shrink: 0;

}



.newsletter-submit:hover {

    background: var(--gold-light);

}



.newsletter-privacy {

    font-size: 0.68rem;

    color: rgba(255, 255, 255, 0.3);

    font-weight: 300;

}



/* â”€â”€â”€ TOPICS CLOUD â”€â”€â”€ */

.topics-section {

    background: var(--cream);

    padding: 80px 5vw;

    border-top: 1px solid rgba(15, 30, 56, 0.08);

}



.topics-inner {

    max-width: 1100px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 2fr;

    gap: 80px;

    align-items: center;

}





.topics-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.8rem, 2.5vw, 2.4rem);

    font-weight: 300;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1rem;

}



.topics-desc {

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.85;

}



.topics-cloud {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    align-items: center;

}



.topic-pill {

    display: inline-block;

    padding: 10px 20px;

    border-radius: 50px;

    font-size: 0.78rem;

    font-weight: 400;

    text-decoration: none;

    transition: background 0.25s, color 0.25s, transform 0.2s;

    cursor: pointer;

}



.topic-pill:hover {

    transform: translateY(-2px);

}



.topic-pill.lg {

    font-size: 0.92rem;

    padding: 12px 26px;

}



.topic-pill.sm {

    font-size: 0.68rem;

    padding: 8px 16px;

}



.pill-navy {

    background: var(--navy);

    color: #fff;

}



.pill-navy:hover {

    background: var(--navy-mid);

}



.pill-gold {

    background: rgba(200, 154, 58, 0.15);

    color: #7a5a10;

    border: 1px solid rgba(200, 154, 58, 0.3);

}



.pill-gold:hover {

    background: rgba(200, 154, 58, 0.25);

}



.pill-rust {

    background: rgba(196, 94, 60, 0.1);

    color: #8a3a1a;

    border: 1px solid rgba(196, 94, 60, 0.25);

}



.pill-rust:hover {

    background: rgba(196, 94, 60, 0.2);

}



.pill-teal {

    background: rgba(42, 122, 110, 0.1);

    color: #1a5a4a;

    border: 1px solid rgba(42, 122, 110, 0.25);

}



.pill-teal:hover {

    background: rgba(42, 122, 110, 0.2);

}



.pill-outline {

    background: transparent;

    color: var(--text-mid);

    border: 1px solid rgba(15, 30, 56, 0.2);

}



.pill-outline:hover {

    border-color: var(--gold);

    color: var(--navy);

}





/* â”€â”€â”€ HERO â”€â”€â”€ */

.partner-hero {

    padding-top: 72px;

    min-height: 88vh;

    display: grid;

    grid-template-columns: 1fr 1fr;

    position: relative;

    overflow: hidden;

}



.partner-hero-left {

    background: var(--cream);

    padding: 100px 8vw 100px 8vw;

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    overflow: hidden;

}



/* Decorative world map outline in background */

.partner-hero-left::before {

    content: '';

    position: absolute;

    bottom: -60px;

    left: -60px;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    border: 1px solid rgba(200, 154, 58, 0.12);

    pointer-events: none;

}



.partner-hero-left::after {

    content: '';

    position: absolute;

    bottom: -100px;

    left: -100px;

    width: 550px;

    height: 550px;

    border-radius: 50%;

    border: 1px solid rgba(200, 154, 58, 0.07);

    pointer-events: none;

}



.hero-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 1.4rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

    display: flex;

    align-items: center;

    gap: 12px;

}



.hero-eyebrow::before {

    content: '';

    display: inline-block;

    width: 32px;

    height: 1px;

    background: var(--rust);

}



.partner-hero-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(2.8rem, 4.5vw, 4.8rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.08;

    margin-bottom: 1.8rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.35s forwards;

}



.partner-hero-title em {

    font-style: italic;

    color: var(--gold-light);

    display: block;

}



.partner-hero-intro {

    font-size: 1.05rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

    max-width: 480px;

    margin-bottom: 3rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



.partner-hero-promise {

    display: flex;

    flex-direction: column;

    gap: 14px;

    opacity: 0;

    animation: fadeUp 0.9s 0.65s forwards;

}



.promise-item {

    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 0.85rem;

    font-weight: 400;

    color: var(--navy);

}



.promise-check {

    width: 28px;

    height: 28px;

    border-radius: 50%;

    background: var(--navy);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    font-size: 0.7rem;

    color: var(--gold);

}



/* Right side â€” visual accent panel */

.partner-hero-right {

    height: 100%;

    background: var(--navy);

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: center;

    justify-content: center;

}



.partner-hero-right-glow {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 500px;

    height: 500px;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(200, 154, 58, 0.1) 0%, transparent 65%);

}



.partner-hero-orbit {

    position: relative;

    width: 340px;

    height: 340px;

}



.orbit-center {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 110px;

    height: 110px;

    border-radius: 50%;

    background: rgba(200, 154, 58, 0.12);

    border: 1px solid rgba(200, 154, 58, 0.3);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 4px;

}



.orbit-center-icon {

    font-size: 2rem;

}



.orbit-center-label {

    font-size: 0.55rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--gold);

    text-align: center;

    line-height: 1.3;

}



.orbit-ring {

    position: absolute;

    top: 50%;

    left: 50%;

    border-radius: 50%;

    border: 1px dashed rgba(200, 154, 58, 0.2);

}



.orbit-ring-1 {

    width: 210px;

    height: 210px;

    transform: translate(-50%, -50%);

    animation: spin 30s linear infinite;

}



.orbit-ring-2 {

    width: 320px;

    height: 320px;

    transform: translate(-50%, -50%);

    animation: spin 50s linear infinite reverse;

}



.orbit-node {

    position: absolute;

    transform: translate(-50%, -50%);

    width: 56px;

    height: 56px;

    border-radius: 50%;

    background: var(--navy-mid);

    border: 1px solid rgba(255, 255, 255, 0.15);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 2px;

    cursor: default;

    transition: background 0.3s;

}



.orbit-node:hover {

    background: rgba(200, 154, 58, 0.12);

    border-color: var(--gold);

}



.orbit-node-icon {

    font-size: 1.2rem;

}



.orbit-node-label {

    font-size: 0.45rem;

    font-weight: 600;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.5);

    text-align: center;

    line-height: 1.2;

}



/* Position orbit nodes around the ring */

.node-1 {

    top: 5%;

    left: 50%;

}



.node-2 {

    top: 50%;

    left: 96%;

}



.node-3 {

    top: 96%;

    left: 50%;

}



.node-4 {

    top: 50%;

    left: 4%;

}



.node-outer-1 {

    top: 17%;

    left: 17%;

}



.node-outer-2 {

    top: 50%;

    left: 98%;

}



.node-outer-3 {

    top: 83%;

    left: 84%;

}



.node-outer-4 {

    top: 50%;

    left: 2%;

}



.node-outer-5 {

    top: 18%;

    left: 82%;

}



.node-outer-6 {

    top: 82%;

    left: 18%;

}



@keyframes spin {

    from {

        transform: translate(-50%, -50%) rotate(0deg);

    }



    to {

        transform: translate(-50%, -50%) rotate(360deg);

    }

}



/* â”€â”€â”€ WHO WE SERVE â”€â”€â”€ */

.who-section {

    background: var(--warm-white);

    padding: 110px 5vw;

}



.who-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.who-header {

    text-align: center;

    max-width: 640px;

    margin: 0 auto 70px;

}



.section-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 1rem;

}



.section-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(1.9rem, 3vw, 3rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1rem;

}



.section-sub {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.85;

}



.who-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 2px;

}



.who-card {

    background: var(--cream);

    padding: 48px 38px;

    position: relative;

    overflow: hidden;

    transition: background 0.3s;

}



.who-card:hover {

    background: #fff;

}



.who-card::after {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 100%;

    height: 3px;

    background: var(--gold);

    transition: right 0.45s ease;

}



.who-card:hover::after {

    right: 0;

}



.who-card-icon {

    font-size: 2.5rem;

    margin-bottom: 1.4rem;

    display: block;

}



.who-card-title {

    font-family: 'Playfair Display', serif;

    font-size: 1.3rem;

    font-weight: 400;

    color: var(--navy);

    margin-bottom: 0.8rem;

    line-height: 1.25;

}



.who-card-desc {

    font-size: 0.86rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.85;

}



.who-card-examples {

    margin-top: 1.4rem;

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

}



.who-example {

    font-size: 0.62rem;

    font-weight: 500;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--text-mid);

    border: 1px solid rgba(15, 30, 56, 0.15);

    padding: 4px 10px;

    border-radius: 2px;

}



/* â”€â”€â”€ THE JOURNEY â”€â”€â”€ */

.partner-journey-section {

    background: var(--navy);

    padding: 120px 5vw;

    position: relative;

    overflow: hidden;

}



.partner-journey-section::before {

    content: '';

    position: absolute;

    inset: 0;

    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");

}



.partner-journey-inner {

    max-width: 1100px;

    margin: 0 auto;

    position: relative;

    z-index: 2;

}



.partner-journey-header {

    text-align: center;

    margin-bottom: 90px;

}



.partner-journey-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1rem;

}



.partner-journey-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(2rem, 3.5vw, 3.4rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 1rem;

}



.partner-journey-title em {

    font-style: italic;

    color: var(--gold-light);

}



.partner-journey-sub {

    font-size: 0.95rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.55);

    line-height: 1.85;

    max-width: 560px;

    margin: 0 auto;

}



/* Steps */

.steps-container {

    display: flex;

    flex-direction: column;

    gap: 0;

    position: relative;

}



/* Vertical connector line */

.steps-container::before {

    content: '';

    position: absolute;

    left: 39px;

    top: 50px;

    bottom: 50px;

    width: 1px;

    background: linear-gradient(to bottom,

            transparent 0%,

            rgba(200, 154, 58, 0.3) 5%,

            rgba(200, 154, 58, 0.3) 95%,

            transparent 100%);

}



.step-item {

    display: grid;

    grid-template-columns: 80px 1fr;

    gap: 40px;

    padding: 50px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.06);

    position: relative;

    opacity: 0;

    transform: translateX(-20px);

    transition: opacity 0.7s ease, transform 0.7s ease;

}



.step-item:last-child {

    border-bottom: none;

}



.step-item.visible {

    opacity: 1;

    transform: translateX(0);

}



.step-num-col {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 0;

    position: relative;

    z-index: 1;

}



.step-num-badge {

    width: 80px;

    height: 80px;

    border-radius: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 2px;

    border: 1px solid;

    background: var(--navy);

    flex-shrink: 0;

}



.step-num {

    font-family: 'Playfair Display', serif;

    font-size: 1.8rem;

    font-weight: 400;

    line-height: 1;

}



.step-label-sm {

    font-size: 0.5rem;

    font-weight: 600;

    letter-spacing: 0.15em;

    text-transform: uppercase;

}



/* Step colors */

.step-item:nth-child(1) .step-num-badge {

    border-color: rgba(200, 154, 58, 0.4);

}



.step-item:nth-child(1) .step-num {

    color: var(--step-1);

}



.step-item:nth-child(1) .step-label-sm {

    color: rgba(200, 154, 58, 0.6);

}



.step-item:nth-child(2) .step-num-badge {

    border-color: rgba(42, 122, 110, 0.5);

}



.step-item:nth-child(2) .step-num {

    color: var(--step-2);

}



.step-item:nth-child(2) .step-label-sm {

    color: rgba(42, 122, 110, 0.7);

}



.step-item:nth-child(3) .step-num-badge {

    border-color: rgba(196, 94, 60, 0.5);

}



.step-item:nth-child(3) .step-num {

    color: var(--step-3);

}



.step-item:nth-child(3) .step-label-sm {

    color: rgba(196, 94, 60, 0.7);

}



.step-item:nth-child(4) .step-num-badge {

    border-color: rgba(200, 154, 58, 0.4);

}



.step-item:nth-child(4) .step-num {

    color: var(--gold-light);

}



.step-item:nth-child(4) .step-label-sm {

    color: rgba(200, 154, 58, 0.6);

}



.step-item:nth-child(5) .step-num-badge {

    border-color: rgba(150, 120, 200, 0.4);

}



.step-item:nth-child(5) .step-num {

    color: #b49ee0;

}



.step-item:nth-child(5) .step-label-sm {

    color: rgba(150, 120, 200, 0.6);

}





.step-phase {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    margin-bottom: 0.5rem;

}



.step-item:nth-child(1) .step-phase {

    color: var(--step-1);

}



.step-item:nth-child(2) .step-phase {

    color: #4db8a8;

}



.step-item:nth-child(3) .step-phase {

    color: #e08060;

}



.step-item:nth-child(4) .step-phase {

    color: var(--gold-light);

}



.step-item:nth-child(5) .step-phase {

    color: #b49ee0;

}



.step-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(1.4rem, 2vw, 1.9rem);

    font-weight: 400;

    color: #fff;

    line-height: 1.2;

    margin-bottom: 0.9rem;

}



.step-desc {

    font-size: 0.9rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.6);

    line-height: 1.88;

    margin-bottom: 1.4rem;

    max-width: 640px;

}



.step-details {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



.step-detail-tag {

    font-size: 0.65rem;

    font-weight: 400;

    color: rgba(255, 255, 255, 0.45);

    border: 1px solid rgba(255, 255, 255, 0.12);

    padding: 5px 12px;

    border-radius: 2px;

}



/* â”€â”€â”€ WHAT TO EXPECT â”€â”€â”€ */

.expect-section {

    background: var(--cream);

    padding: 110px 5vw;

}



.expect-inner {

    max-width: 1100px;

    margin: 0 auto;

}



.expect-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: start;

}





.expect-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(2rem, 3vw, 3rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1.5rem;

}



.expect-title em {

    font-style: italic;

    color: var(--gold);

}



.expect-body {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

    margin-bottom: 2.5rem;

}



/* Principles */

.principles {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



.principle {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    padding: 24px 28px;

    background: var(--warm-white);

    border-radius: 3px;

    border-left: 3px solid var(--gold);

    transition: transform 0.3s, background 0.3s;

}



.principle:hover {

    transform: translateX(6px);

    background: #fff;

}



.principle-icon {

    font-size: 1.4rem;

    flex-shrink: 0;

    margin-top: 2px;

}



.principle-title {

    font-size: 0.88rem;

    font-weight: 600;

    color: var(--navy);

    margin-bottom: 0.3rem;

}



.principle-desc {

    font-size: 0.82rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.75;

}



/* FAQ */



.faq-label {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--rust);

    margin-bottom: 1.5rem;

}



.faq-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(1.6rem, 2.5vw, 2.2rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 2rem;

}



.faq-list {

    display: flex;

    flex-direction: column;

    gap: 0;

}



.faq-item {

    border-bottom: 1px solid rgba(15, 30, 56, 0.1);

    overflow: hidden;

}



.faq-item:first-child {

    border-top: 1px solid rgba(15, 30, 56, 0.1);

}



.faq-question {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 22px 0;

    cursor: pointer;

    gap: 16px;

    user-select: none;

}



.faq-question-text {

    font-size: 0.92rem;

    font-weight: 500;

    color: var(--navy);

    line-height: 1.4;

}



.faq-toggle {

    width: 28px;

    height: 28px;

    border-radius: 50%;

    border: 1px solid rgba(15, 30, 56, 0.2);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    transition: background 0.3s, transform 0.4s;

    font-size: 1rem;

    color: var(--text-mid);

    line-height: 1;

}



.faq-item.open .faq-toggle {

    background: var(--gold);

    border-color: var(--gold);

    color: var(--navy);

    transform: rotate(45deg);

}



.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}



.faq-item.open .faq-answer {

    max-height: 400px;

}



.faq-answer-inner {

    padding: 0 0 22px;

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.85;

}



/* â”€â”€â”€ CONTACT FORM â”€â”€â”€ */

.contact-section {

    background: var(--warm-white);

    padding: 110px 5vw;

}



.contact-inner {

    max-width: 1100px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1.1fr;

    gap: 100px;

    align-items: start;

}





.contact-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.2rem;

}



.contact-title {

    font-family: 'Playfair Display', serif;

    font-size: clamp(2rem, 3vw, 3rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.15;

    margin-bottom: 1.4rem;

}



.contact-title em {

    font-style: italic;

}



.contact-desc {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

    margin-bottom: 2.5rem;

}



.contact-info {

    display: flex;

    flex-direction: column;

    gap: 18px;

}



.contact-info-item {

    display: flex;

    align-items: center;

    gap: 16px;

}



.contact-info-icon {

    width: 44px;

    height: 44px;

    border-radius: 50%;

    background: var(--cream);

    border: 1px solid rgba(15, 30, 56, 0.1);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.1rem;

    flex-shrink: 0;

}



.contact-info-label {

    font-size: 0.65rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--text-light);

    margin-bottom: 3px;

}



.contact-info-value {

    font-size: 0.9rem;

    font-weight: 400;

    color: var(--navy);

}



.contact-info-value a {

    color: var(--navy);

    text-decoration: none;



    transition: border-color 0.25s, color 0.25s;

}



.contact-info-value a:hover {

    color: var(--gold);

    border-color: var(--gold);

}



/* Form */

.contact-form-wrap {

    background: var(--cream);

    padding: 50px 48px;

    border-radius: 4px;

}



.form-title {

    font-family: 'Playfair Display', serif;

    font-size: 1.5rem;

    font-weight: 400;

    color: var(--navy);

    margin-bottom: 0.5rem;

}



.form-sub {

    font-size: 0.82rem;

    font-weight: 300;

    color: var(--text-mid);

    margin-bottom: 2rem;

    line-height: 1.6;

}



.form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;

}



.form-group {

    display: flex;

    flex-direction: column;

    gap: 7px;

    margin-bottom: 18px;

}



.form-label {

    font-size: 0.65rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--navy);

}



.form-input,

.form-select,

.form-textarea {

    width: 100%;

    background: #fff;

    border: 1px solid rgba(15, 30, 56, 0.15);

    border-radius: 3px;

    padding: 13px 16px;

    font-family: 'Jost', sans-serif;

    font-size: 0.88rem;

    font-weight: 300;

    color: var(--navy);

    outline: none;

    transition: border-color 0.25s, box-shadow 0.25s;

    appearance: none;

}



.form-input:focus,

.form-select:focus,

.form-textarea:focus {

    border-color: var(--gold);

    box-shadow: 0 0 0 3px rgba(200, 154, 58, 0.1);

}



.form-input::placeholder,

.form-textarea::placeholder {

    color: var(--text-light);

}



.form-textarea {

    resize: vertical;

    min-height: 120px;

}



.form-select {

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 14px center;

    padding-right: 40px;

    cursor: pointer;

}



.form-check-group {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 22px;

}



.form-check-label {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--navy);

    margin-bottom: 10px;

    display: block;

}



.check-pill {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 8px 14px;

    border-radius: 2px;

    border: 1px solid rgba(15, 30, 56, 0.18);

    background: #fff;

    cursor: pointer;

    transition: all 0.2s;

    font-size: 0.72rem;

    font-weight: 400;

    color: var(--text-mid);

    user-select: none;

}



.check-pill:hover {

    border-color: var(--gold);

    color: var(--navy);

}



.check-pill.selected {

    background: var(--navy);

    border-color: var(--navy);

    color: #fff;

}



.check-pill.selected .check-pill-dot {

    background: var(--gold);

}



.check-pill-dot {

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: rgba(15, 30, 56, 0.2);

    transition: background 0.2s;

}



.form-submit {

    width: 100%;

    background: var(--navy);

    border: none;

    cursor: pointer;

    padding: 16px 32px;

    font-family: 'Jost', sans-serif;

    font-size: 0.78rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: #fff;

    border-radius: 3px;

    transition: background 0.3s, transform 0.2s, box-shadow 0.3s;

    margin-top: 8px;

}



.form-submit:hover {

    background: var(--navy-mid);

    transform: translateY(-2px);

    box-shadow: 0 10px 30px rgba(15, 30, 56, 0.2);

}



.form-success {

    display: none;

    text-align: center;

    padding: 30px 0;

}



.form-success.visible {

    display: block;

}



.form-success-icon {

    font-size: 2.5rem;

    margin-bottom: 0.8rem;

}



.form-success h3 {

    font-family: 'Playfair Display', serif;

    font-size: 1.4rem;

    color: var(--navy);

    margin-bottom: 0.5rem;

}



.form-success p {

    font-size: 0.85rem;

    color: var(--text-mid);

    font-weight: 300;

    line-height: 1.7;

}





/* â”€â”€â”€ PAGE HERO â”€â”€â”€ */

.page-hero {

    padding-top: 72px;

    background: var(--navy);

    position: relative;

    overflow: hidden;

    padding-bottom: 0;

    display: block;

}



.page-hero::before {

    content: '';

    position: absolute;

    inset: 0;

    background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3z' fill='%23ffffff' fill-opacity='0.02'/%3E%3C/svg%3E");

}



.page-hero::after {

    content: '';

    position: absolute;

    bottom: -2px;

    left: 0;

    right: 0;

    height: 80px;

    background: linear-gradient(to top, var(--warm-white), transparent);

}



.hero-bg-glow {

    position: absolute;

    top: -200px;

    right: -200px;

    width: 700px;

    height: 700px;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(200, 154, 58, 0.07) 0%, transparent 65%);

    pointer-events: none;

}



.hero-inner {

    position: relative;

    z-index: 2;

    max-width: 1100px;

    margin: 0 auto;

    padding: 90px 5vw 120px;

    display: grid;

    grid-template-columns: 1fr auto;

    gap: 60px;

    align-items: end;

}



.hero-eyebrow {

    font-size: 0.65rem;

    font-weight: 500;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 1.4rem;

    opacity: 0;

    animation: fadeUp 0.8s 0.2s forwards;

}



.hero-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(3rem, 5vw, 5rem);

    font-weight: 300;

    color: #fff;

    line-height: 1.05;

    margin-bottom: 1.5rem;

    opacity: 0;

    animation: fadeUp 0.9s 0.35s forwards;

}



.hero-title em {

    font-style: italic;

    color: var(--gold-light);

}



.hero-desc {

    font-size: 1rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.65);

    line-height: 1.85;

    max-width: 560px;

    opacity: 0;

    animation: fadeUp 0.9s 0.5s forwards;

}



.hero-badge-col {

    display: flex;

    flex-direction: column;

    gap: 14px;

    padding-bottom: 8px;

    opacity: 0;

    animation: fadeUp 0.9s 0.65s forwards;

}



.hero-badge {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    width: 120px;

    height: 120px;

    border: 1px solid rgba(200, 154, 58, 0.25);

    border-radius: 3px;

    background: rgba(200, 154, 58, 0.05);

    text-align: center;

    gap: 6px;

}



.hero-badge-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2.2rem;

    font-weight: 300;

    color: var(--gold);

    line-height: 1;

}



.hero-badge-label {

    font-size: 0.58rem;

    font-weight: 500;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.45);

    line-height: 1.3;

}



/* â”€â”€â”€ FILTER BAR â”€â”€â”€ */

.filter-bar {

    position: sticky;

    top: 94px;

    z-index: 99;

    background: var(--warm-white);

    border-bottom: 1px solid rgba(15, 30, 56, 0.1);

    padding: 0 5vw;

}



.filter-inner {

    max-width: 1100px;

    margin: 0 auto;

    display: flex;

    gap: 0;

    overflow-x: auto;

    scrollbar-width: none;

}



.filter-inner::-webkit-scrollbar {

    display: none;

}



.filter-btn {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 18px 28px;

    font-size: 0.72rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--text-light);

    background: none;

    border: none;

    border-bottom: 2px solid transparent;

    cursor: pointer;

    white-space: nowrap;

    transition: color 0.25s, border-color 0.25s;

}



.filter-btn:hover {

    color: var(--navy);

}



.filter-btn.active {

    color: var(--navy);

    border-bottom-color: var(--gold);

}



.filter-dot {

    width: 7px;

    height: 7px;

    border-radius: 50%;

    flex-shrink: 0;

}



.dot-all {

    background: var(--navy);

}



.dot-short {

    background: var(--rust);

}



.dot-extended {

    background: var(--teal);

}



.dot-longterm {

    background: var(--gold);

}



/* â”€â”€â”€ SERVICES LAYOUT â”€â”€â”€ */

.services-body {

    max-width: 1100px;

    margin: 0 auto;

    padding: 80px 5vw 120px;

}



/* Tier header */

.tier-header {

    display: grid;

    grid-template-columns: auto 1fr;

    gap: 30px;

    align-items: center;

    margin-bottom: 50px;

    margin-top: 80px;

    padding-top: 20px;

}



.tier-header:first-child {

    margin-top: 0;

}



.tier-badge {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 56px;

    height: 56px;

    border-radius: 50%;

    font-size: 1.5rem;

    flex-shrink: 0;

}



.tier-badge.short {

    background: rgba(196, 94, 60, 0.1);

}



.tier-badge.extended {

    background: rgba(42, 122, 110, 0.1);

}



.tier-badge.longterm {

    background: rgba(200, 154, 58, 0.12);

}





.tier-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.24em;

    text-transform: uppercase;

    margin-bottom: 4px;

}



.tier-label.short {

    color: var(--rust);

}



.tier-label.extended {

    color: var(--teal);

}



.tier-label.longterm {

    color: var(--gold);

}



.tier-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.6rem, 2.5vw, 2.2rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

}



.tier-divider {

    height: 1px;

    background: rgba(15, 30, 56, 0.1);

    margin-bottom: 50px;

}



/* Service cards */

.services-stack {

    display: flex;

    flex-direction: column;

    gap: 3px;

}



.service-card {

    background: var(--warm-white);

    border: 1px solid rgba(15, 30, 56, 0.08);

    border-radius: 3px;

    overflow: hidden;

    transition: box-shadow 0.3s;

}



.service-card:hover {

    box-shadow: 0 8px 40px rgba(15, 30, 56, 0.08);

}



.service-header {

    display: grid;

    grid-template-columns: 60px 1fr auto;

    gap: 24px;

    align-items: center;

    padding: 30px 36px;

    cursor: pointer;

    user-select: none;

}



.service-num {

    font-family: 'Cormorant Garamond', serif;

    font-size: 2rem;

    font-weight: 300;

    color: rgba(15, 30, 56, 0.15);

    line-height: 1;

    transition: color 0.3s;

}



.service-card.open .service-num,

.service-card:hover .service-num {

    color: var(--gold);

}





.service-meta {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 6px;

    flex-wrap: wrap;

}



.service-duration {

    font-size: 0.6rem;

    font-weight: 600;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    padding: 3px 10px;

    border-radius: 2px;

}



.duration-short {

    background: rgba(196, 94, 60, 0.1);

    color: var(--rust);

}



.duration-extended {

    background: rgba(42, 122, 110, 0.1);

    color: var(--teal);

}



.duration-longterm {

    background: rgba(200, 154, 58, 0.1);

    color: #8c6820;

}



.service-focus {

    font-size: 0.62rem;

    color: var(--text-light);

    letter-spacing: 0.06em;

    font-style: italic;

}



.service-name {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(1.15rem, 1.8vw, 1.5rem);

    font-weight: 500;

    color: var(--navy);

    line-height: 1.25;

}



.service-toggle {

    width: 36px;

    height: 36px;

    border-radius: 50%;

    border: 1px solid rgba(15, 30, 56, 0.15);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    transition: background 0.3s, border-color 0.3s, transform 0.4s;

}



.service-toggle svg {

    width: 14px;

    height: 14px;

    stroke: var(--text-mid);

    transition: stroke 0.3s;

}



.service-card.open .service-toggle {

    background: var(--gold);

    border-color: var(--gold);

    transform: rotate(45deg);

}



.service-card.open .service-toggle svg {

    stroke: var(--navy);

}



/* Expandable body */

.service-body {

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);

}



.service-card.open .service-body {

    max-height: 1200px;

}



.service-body-inner {

    padding: 0 36px 40px 120px;

    display: grid;

    grid-template-columns: 1.2fr 1fr;

    gap: 50px;

}



.service-description {

    font-size: 0.93rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.9;

}



.service-description p+p {

    margin-top: 1rem;

}





.outcomes-label {

    font-size: 0.62rem;

    font-weight: 600;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--navy);

    margin-bottom: 1.2rem;

    padding-bottom: 10px;

    border-bottom: 1px solid rgba(15, 30, 56, 0.1);

}



.outcomes-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.outcome-item {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    font-size: 0.85rem;

    font-weight: 300;

    color: var(--text-mid);

    line-height: 1.6;

}



.outcome-check {

    width: 18px;

    height: 18px;

    border-radius: 50%;

    background: rgba(200, 154, 58, 0.12);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    margin-top: 1px;

    font-size: 0.6rem;

    color: var(--gold);

}



.service-cta-row {

    padding: 20px 36px 30px 120px;

    border-top: 1px solid rgba(15, 30, 56, 0.06);

    display: flex;

    align-items: center;

    gap: 20px;

}



.service-cta-row.hidden {

    display: none;

}



.service-card.open .service-cta-row {

    display: flex;

}



.btn-sm-primary {

    display: inline-block;

    background: var(--navy);

    color: #fff;

    padding: 10px 24px;

    font-size: 0.72rem;

    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    transition: background 0.3s;

}



.btn-sm-primary:hover {

    background: var(--navy-mid);

}



.btn-sm-ghost {

    font-size: 0.72rem;

    font-weight: 400;

    color: var(--text-mid);

    text-decoration: none;

    letter-spacing: 0.06em;

    border-bottom: 1px solid rgba(15, 30, 56, 0.2);

    transition: color 0.25s, border-color 0.25s;

}



.btn-sm-ghost:hover {

    color: var(--gold);

    border-color: var(--gold);

}



/* â”€â”€â”€ CONSULTING NOTE â”€â”€â”€ */

.consulting-note {

    margin-top: 80px;

    padding: 50px 60px;

    background: var(--navy);

    border-radius: 4px;

    display: grid;

    grid-template-columns: auto 1fr;

    gap: 40px;

    align-items: center;

}



.consulting-icon {

    font-size: 3rem;

}



.consulting-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: 1.6rem;

    font-weight: 400;

    color: #fff;

    margin-bottom: 0.6rem;

}



.consulting-body {

    font-size: 0.88rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.6);

    line-height: 1.85;

    margin-bottom: 1.5rem;

}



.btn-gold {

    display: inline-block;

    background: var(--gold);

    color: var(--navy);

    padding: 12px 30px;

    font-size: 0.75rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    transition: background 0.3s;

}



.btn-gold:hover {

    background: var(--gold-light);

}



.reveal {

    opacity: 0;

    transform: translateY(30px);

    transition: opacity 0.7s ease, transform 0.7s ease;

}



.reveal.visible {

    opacity: 1;

    transform: translateY(0);

}



/* Hidden tiers for filter */

.tier-section {

    transition: opacity 0.3s;

}



.tier-section.hidden {

    display: none;

}







/* â”€â”€ Hamburger button â”€â”€ */

.nav-hamburger {

    display: none;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    gap: 5px;

    width: 35px;

    height: 40px;

    background: none;

    border: none;

    cursor: pointer;

    z-index: 2;

}



.nav-hamburger span {

    display: block;

    width: 25px;

    height: 1.7px;

    background: #fff;

    border-radius: 2px;

    transition: transform 0.35s ease, opacity 0.25s ease, width 0.3s ease;

    transform-origin: center;

}



/* Animate to X when open */

.nav-hamburger.open span:nth-child(1) {

    transform: translateY(6.5px) rotate(45deg);

}



.nav-hamburger.open span:nth-child(2) {

    opacity: 0;

    width: 0;

}



.nav-hamburger.open span:nth-child(3) {

    transform: translateY(-6.5px) rotate(-45deg);

}



/* â”€â”€ Mobile drawer â”€â”€ */

.mobile-menu {

    display: none;

    position: fixed;

    top: 72px;

    left: 0;

    right: 0;

    bottom: 0;

    background: var(--navy);

    z-index: 250;

    overflow-y: auto;

    padding: 0 0 40px;

    transform: translateX(100%);

    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}



.mobile-menu.open {

    transform: translateX(0);

}



.mobile-nav-list {

    list-style: none;

    padding-top: 16px;

}





.mobile-nav-link {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 16px 5vw;

    font-size: 1rem;

    font-weight: 500;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.85);

    text-decoration: none;

    border-bottom: 1px solid rgba(255, 255, 255, 0.05);

    transition: color 0.25s, background 0.25s;

}



.mobile-nav-link:hover {

    color: var(--gold-light);

    background: rgba(255, 255, 255, 0.03);

}



.mobile-nav-link.mobile-cta {

    color: var(--gold) !important;

    font-weight: 600;

}



.mobile-chevron {

    width: 16px;

    height: 16px;

    stroke: rgba(255, 255, 255, 0.4);

    fill: none;

    stroke-width: 2;

    stroke-linecap: round;

    transition: transform 0.3s, stroke 0.25s;

    flex-shrink: 0;

}



.mobile-nav-item.submenu-open .mobile-chevron {

    transform: rotate(180deg);

    stroke: var(--gold);

}



/* Mobile submenu */

.mobile-submenu {

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    background: rgba(0, 0, 0, 0.2);

}



.mobile-nav-item.submenu-open .mobile-submenu {

    max-height: 700px;

}



.mobile-submenu-label {

    font-size: 0.58rem;

    font-weight: 600;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    color: var(--gold);

    padding: 14px 7vw 6px;

    opacity: 0.7;

}



.mobile-submenu a {

    display: block;

    padding: 11px 7vw 11px calc(7vw + 14px);

    font-size: 0.84rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.62);

    text-decoration: none;

    border-bottom: 1px solid rgba(255, 255, 255, 0.04);

    transition: color 0.2s, padding-left 0.2s;

}



.mobile-submenu a:hover {

    color: var(--gold-light);

    padding-left: calc(7vw + 20px);

}



/* Mobile bottom area */

.mobile-footer {

    padding: 30px 7vw 20px;

}



.mobile-footer-cta {

    display: block;

    width: 100%;

    background: var(--gold);

    color: var(--navy);

    text-align: center;

    padding: 15px;

    font-size: 0.82rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 3px;

    margin-bottom: 24px;

    transition: background 0.3s;

}



.mobile-footer-cta:hover {

    background: var(--gold-light);

}



.mobile-contact-links {

    display: flex;

    flex-direction: column;

    gap: 14px;

}



.mobile-contact-item {

    display: flex;

    align-items: center;

    gap: 12px;

    font-size: 0.82rem;

    font-weight: 300;

    color: rgba(255, 255, 255, 0.45);

    text-decoration: none;

}



.mobile-contact-item:hover {

    color: rgba(255, 255, 255, 0.7);

}



.mobile-contact-icon {
    font-size: 1rem;
}



.social-icon-footer ul {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    list-style-type: none;
    margin-top: 20px;
}


.social-icon-footer ul li a {
    display: flex;
    width: 100%;
    height: 100%;
    border: 2px solid rgba(255, 255, 255, 0.45);
    padding: 8px;
    border-radius: 4px;
}

.social-icon-footer ul li a i {
    width: auto;
    font-size: 28px;
    color: rgba(255, 255, 255, 0.45);
    transition: all 0.3s ease;

}

.social-icon-footer ul li a:hover {
    border-color: var(--gold);
    transition: all 0.3s ease;
}

.social-icon-footer ul li a:hover i {
    color: var(--gold);
    transition: all 0.3s ease;
}



.moobile-footer-call {

    display: flex;

    align-items: center;

    justify-content: center;

}



.moobile-footer-call a {

    display: flex;

    align-items: center;

    gap: 6px;

    font-size: 16px;

    text-transform: uppercase;

    text-decoration: none;

    color: #fff;

    letter-spacing: 0.08rem;

    transition: all 0.3s ease;

}



.moobile-footer-call a:hover {

    color: var(--gold);

    transition: all 0.3s ease;

}



em {

    font-style: italic;

    color: var(--gold-light)
}



.content-bottom-text {

    margin-top: 2rem;

    color: var(--gold-light);

    font-style: italic;

}



.btn-blue a {

    background: var(--navy);

    color: #fff;

    display: inline-block;

}



.testimonials-section .section-sub em {

    font-style: italic;

    color: var(--text-mid)
}



.service-card-bold p strong {

    font-weight: 500;

    color: var(--navy);

}



.reachsection-title {

    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(2rem, 3.5vw, 3.2rem);

    font-weight: 400;

    color: var(--navy);

    line-height: 1.2;

    margin-bottom: 1rem;

}



.reach-section-sub-text {

    font-size: 0.95rem;

    font-weight: 300;

    color: var(--text-mid);

    max-width: 580px;

    margin: 0 auto;

    line-height: 1.8;

}



.related-card-img-bg img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}



.article-card-image-bg img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}



.mobile-nav-link.active {

    color: var(--gold);

}



.service-header {

    -webkit-tap-highlight-color: transparent;

}



/* ================================================================ */

a {

    text-decoration: none;

}

.destination-flag img {

    width: 100%;

}



.destination-flag {

    display: flex;

    width: 31px;

}



.cred-item i {

    color: #fb7e20;

}

.who-card-icon i {

    color: #fb7e20;

}

.contact-item i {

    color: #fb7e20;

}

.contact-info-item i {

    color: #fb7e20;

}



.form-textarea {

    resize: vertical;

    min-height: 120px;

    height: 120px;

}







.strip-item-icon i {

    color: rgba(255, 255, 255, 0.82);

}



.wpcf7-spinner {

    position: absolute;

}





.wpcf7-checkbox .wpcf7-list-item {

    display: inline-block;

    margin: 0 22px 7px 0;

}



.wpcf7-radio .wpcf7-list-item {

    display: inline-block;

    margin: 0 0 0 0;





}

.orbit-center-icon i {

    color: rgba(255, 255, 255, 0.82);

}

.orbit-node i {

    color: rgba(255, 255, 255, 0.82);

}



.error-404 .nav-cta {

    display: inline-block;

    background: var(--gold);

    color: var(--navy);

    padding: 14px 35px;

    font-size: 0.78rem;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    text-decoration: none;

    border-radius: 2px;

    border: 1px solid var(--gold);

    transition: all 0.5s ease;

}



.error-404 .nav-cta:hover {

    border: 1px solid var(--gold);

    color: var(--navy);

    background: transparent;

    transition: all 0.5s ease;

}

.nav-logo {
    width: 238px;
}

.footer-brand img {
    width: 238px;
}

.news-latter-form-section .wpcf7-spinner {
    margin-top: 20px;
}

.news-latter-form-section .wpcf7-not-valid-tip {
    position: absolute;
    margin-left: 20px;
}

.news-latter-form-section .wpcf7-response-output {
    color: #fff;
}

.news-latter-form-section .newsletter-submit {
    margin-top: 10px;
}



























/* ── HERO ── */
.service-hero {
    padding-top: 72px;
    min-height: 58vh;
    background: var(--navy);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-glow {
    position: absolute;
    top: -150px;
    right: -150px;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    pointer-events: none;
}

.hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 90px 5vw 80px;
    width: 100%;
}

.hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.8rem;
}

.hero-breadcrumb a {
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    transition: color 0.25s;
}

.hero-breadcrumb a:hover {
    color: var(--gold-light);
}

.hero-breadcrumb span {
    color: rgba(255, 255, 255, 0.2);
    font-size: 0.7rem;
}

.hero-breadcrumb .current {
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.65rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hero-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.2rem;
    padding: 6px 16px;
    border-radius: 50px;
    border: 1px solid;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.hero-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 5rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.07);
    line-height: 1;
    position: absolute;
    top: 70px;
    right: 5vw;
}

.hero-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 400;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 1rem;
}

.hero-sub p {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    font-style: italic;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.6;
    max-width: 680px;
    margin-bottom: 2.5rem;
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.hero-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.5);
}

.hero-meta-item-icon {
    font-size: 1rem;
}

/* ── BODY LAYOUT ── */
.service-body-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 5vw 100px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 70px;
    align-items: start;
}

/* ── MAIN CONTENT ── */
.service-main {}

.section-eyebrow {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--rust);
    margin-bottom: 0.8rem;
}

.section-title-inh2 h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.7rem, 2.5vw, 2.4rem);
    font-weight: 400;
    color: var(--navy);
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.intro-block {
    margin-bottom: 3rem;
}

.intro-block p {
    font-size: 1rem;
    font-weight: 300;
    color: var(--text-mid);
    line-height: 1.92;
    margin-bottom: 1.3em;
}

.intro-block p:last-child {
    margin-bottom: 0;
}

/* Outcomes grid */
.outcomes-section {
    background: var(--cream);
    padding: 40px 44px;
    border-radius: 4px;
    margin-bottom: 3rem;
}

.outcomes-section-title {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 1.4rem;
}

.outcomes-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.outcome-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.outcome-check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.outcome-text {
    font-size: 0.9rem;
    font-weight: 300;
    color: var(--text-mid);
    line-height: 1.6;
}

/* Process steps */
.process-section {
    margin-bottom: 3rem;
}

.process-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 1.5rem;
    position: relative;
}

.process-steps::before {
    content: '';
    position: absolute;
    left: 19px;
    top: 24px;
    bottom: 24px;
    width: 1px;
    background: linear-gradient(to bottom, rgba(200, 154, 58, 0.3), rgba(200, 154, 58, 0.1));
}

.process-step {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 22px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(15, 30, 56, 0.07);
}

.process-step:last-child {
    border-bottom: none;
}

.step-dot {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--navy);
    border: 2px solid rgba(200, 154, 58, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.step-dot-inner {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--gold);
}

.step-content {}

.step-name {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--navy);
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.step-body {
    font-size: 0.9rem;
    font-weight: 300;
    color: var(--text-mid);
    line-height: 1.8;
}

/* Ideal for */
.ideal-section {
    margin-bottom: 3rem;
}

.ideal-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 1.2rem;
}

.ideal-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid rgba(15, 30, 56, 0.08);
    border-radius: 3px;
    font-size: 0.88rem;
    font-weight: 300;
    color: var(--text-mid);
    border-left: 3px solid var(--gold);
}

.ideal-item-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* ── SIDEBAR ── */
.service-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sidebar-card {
    background: var(--cream);
    padding: 28px;
    border-radius: 4px;
}

.sidebar-card-title {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1.2rem;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(200, 154, 58, 0.2);
}

.sidebar-detail {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.sidebar-detail:last-child {
    margin-bottom: 0;
}

.sidebar-detail-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.sidebar-detail-label {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 2px;
}

.sidebar-detail-value {
    font-size: 0.84rem;
    font-weight: 400;
    color: var(--navy);
}

.cta-card {
    background: var(--navy);
    padding: 30px 28px;
    border-radius: 4px;
}

.cta-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-weight: 400;
    color: #fff;
    margin-bottom: 0.6rem;
    line-height: 1.3;
}

.cta-card-sub {
    font-size: 0.8rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.cta-btn {
    display: block;
    background: var(--gold);
    color: var(--navy);
    text-align: center;
    padding: 13px 20px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.3s;
    margin-bottom: 10px;
}

.cta-btn:hover {
    background: var(--gold-light);
}

.cta-btn-ghost {
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.65);
    text-align: center;
    padding: 12px 20px;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: border-color 0.3s, color 0.3s;
}

.cta-btn-ghost:hover {
    border-color: var(--gold);
    color: var(--gold-light);
}

.all-services-card {
    padding: 20px 28px;
}

.all-services-link {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-mid);
    text-decoration: none;
    transition: color 0.25s;
    margin-bottom: 10px;
}

.all-services-link:hover {
    color: var(--navy);
}

/* ── NAVIGATION BETWEEN SERVICES ── */
.service-nav {
    background: var(--cream);
    padding: 40px 5vw;
    border-top: 1px solid rgba(15, 30, 56, 0.08);
}

.service-nav-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.service-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-decoration: none;
    max-width: 45%;
}

.service-nav-item.next {
    text-align: right;
    margin-left: auto;
}

.service-nav-label {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-light);
}

.service-nav-title {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--navy);
    line-height: 1.4;
    transition: color 0.25s;
}

.service-nav-item:hover .service-nav-title {
    color: var(--gold);
}

/* ── CTA BANNER ── */
.cta-banner {
    background: var(--navy);
    padding: 70px 5vw;
    text-align: center;
}

.cta-banner-inner {
    max-width: 680px;
    margin: 0 auto;
}

.cta-banner-eyebrow {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
}

.cta-banner-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 400;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.cta-banner-sub {
    font-size: 0.9rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.8;
    margin-bottom: 2.5rem;
}

.cta-banner-btn {
    display: inline-block;
    background: var(--gold);
    color: var(--navy);
    padding: 15px 40px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.3s;
}

.cta-banner-btn:hover {
    background: var(--gold-light);
}


.service-banner .hero-inner {
    display: unset;
}


.hero-meta i {
    color: #c45e3c;
}

.sidebar-detail i {
    color: var(--gold);
}

.design-by {
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.72rem;
}

.design-by a {
    font-size: 0.72rem;
}

.article-card-body a {
    color: var(--text-dark);
}

.featured-content a {
    color: white;
}

.masthead.tag-category-banner {
    padding-top: 72px;
    background: #111e37;
}

.masthead.tag-category-banner h1 {
    font-size: 63px;

}

.related-card-body a {
    color: black;
    font-family: 'DM Serif Display', serif;
}

.featured-read-link {
    color: #fb9141 !important;
}

.map-section .map_wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

.map-section {

    padding: 60px 0 0px 0;
}

/* ----- image slider Css -------- */
.smooth-slider-section {
    padding: 60px 0 0 0 !important;
}

.splide__slide img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    cursor: pointer;
}

/* popup */

.imgPopup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .85);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 999;
}

.imgPopup.active {
    opacity: 1;
    visibility: visible;
}

.popupImage {
    max-width: 90%;
    max-height: 85%;
    border-radius: 10px;
}

.popupClose {
    position: absolute;
    top: 30px;
    right: 40px;
    font-size: 28px;
    color: white;
    cursor: pointer;
}

.popupNav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 10px;
}

.popupNav.prev {
    left: 30px;
}

.popupNav.next {
    right: 30px;
}

.featured-card:hover .article-cat-tag {
    display: none !important;


}


.article-with-sidebar table,
.article-with-sidebar td,
.article-with-sidebar th {
    border: 1px solid;
}

.article-with-sidebar table {
    border-collapse: collapse;
    margin: 15px 0;
}

.article-with-sidebar td{
    padding: 10px;
}

.article-with-sidebar td span{
    display: block;
}










/* --------------------------------- */

  .rm-section {
    background: #0f1c2e;
    width: 100%;
  }

  .rm-section .container{
    max-width: 900px;
    margin: 0 auto;
    padding: 72px 40px 80px;
  }

  .rm-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #c97a4a;
    margin-bottom: 18px;
  }
  .rm-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
    color: #f5ede2;
    margin: 0 0 14px;
    max-width: 640px;
  }
  .rm-headline em {
    font-style: italic;
    color: #c97a4a;
  }
  .rm-quote-block {
    border-left: 3px solid #c97a4a;
    padding: 18px 24px;
    background: rgba(201,122,74,0.07);
    border-radius: 0 8px 8px 0;
    margin: 32px 0;
  }
  .rm-quote-block p {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 17px;
    color: #d9cfc4;
    margin: 0 0 6px;
    line-height: 1.6;
  }
  .rm-quote-block span {
    font-size: 12px;
    color: #8a9ab5;
    letter-spacing: 0.04em;
  }
  .rm-body {
    font-size: 16px;
    line-height: 1.75;
    color: #b8c4d4;
    margin: 0 0 36px;
    max-width: 700px;
  }
  .rm-subhead {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    color: #f5ede2;
    margin: 40px 0 20px;
  }
  .rm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin-bottom: 40px;
  }
  .rm-card {
    background: rgba(255,255,255,0.04);
    border: 0.5px solid rgba(255,255,255,0.10);
    border-radius: 10px;
    padding: 18px 20px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: background 0.2s;
  }
  .rm-card:hover {
    background: rgba(201,122,74,0.1);
    border-color: rgba(201,122,74,0.3);
  }
  .rm-card-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    background: rgba(201,122,74,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c97a4a;
    font-size: 17px;
  }
  .rm-card-text {
    font-size: 14px;
    line-height: 1.5;
    color: #c8d2e0;
  }
  .rm-divider {
    height: 0.5px;
    background: rgba(255,255,255,0.10);
    margin: 40px 0;
  }
  .rm-closing {
    background: linear-gradient(135deg, rgba(201,122,74,0.12) 0%, rgba(15,28,46,0) 60%);
    border: 0.5px solid rgba(201,122,74,0.2);
    border-radius: 12px;
    padding: 28px 32px;
  }
  .rm-closing p {
    font-size: 15px;
    color: #b8c4d4;
    line-height: 1.75;
    margin: 0 0 12px;
  }
  .rm-closing p:last-child {
    margin: 0;
  }
  .rm-closing strong {
    color: #f5ede2;
    font-weight: 500;
  }
  .rm-tag {
    display: inline-block;
    background: rgba(201,122,74,0.15);
    color: #c97a4a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 28px;
  }






.ts-section {
    background: #f5ede2;
    width: 100%;
  }

  .ts-section .container{
    padding: 72px 40px 80px;
    max-width: 900px;
    margin: 0 auto;
  }

  .ts-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #c97a4a;
    margin-bottom: 18px;
  }
  .ts-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
    color: #0f1c2e;
    margin: 0 0 28px;
    max-width: 680px;
  }
  .ts-headline em {
    font-style: italic;
    color: #c97a4a;
  }
  .ts-body {
    font-size: 16px;
    line-height: 1.75;
    color: #4a5a6e;
    margin: 0 0 10px;
    max-width: 700px;
  }
  .ts-subhead {
    font-size: 16px;
    color: #0f1c2e;
    margin: 36px 0 18px;
  }
  .ts-challenge-list {
    list-style: none;
    padding: 0;
    margin: 0 0 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .ts-challenge-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border: 0.5px solid rgba(15,28,46,0.10);
    border-radius: 10px;
    padding: 14px 18px;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .ts-challenge-item:hover {
    border-color: rgba(201,122,74,0.4);
    box-shadow: 0 2px 12px rgba(201,122,74,0.08);
  }
  .ts-challenge-dot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 50%;
    background: #c97a4a;
    margin-top: 7px;
  }
  .ts-challenge-text {
    font-size: 15px;
    line-height: 1.55;
    color: #2a3d52;
  }
  .ts-divider {
    height: 0.5px;
    background: rgba(15,28,46,0.12);
    margin: 44px 0;
  }
  .ts-two-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
  }
  @media (max-width: 600px) {
    .ts-two-col { grid-template-columns: 1fr; }
    .ts-headline { font-size: 28px; }
  }
  .ts-statement {
    background: #0f1c2e;
    border-radius: 12px;
    padding: 28px 28px 32px;
  }
  .ts-statement p {
    font-size: 16px;
    color: #fff;
    line-height: 1.65;
    margin: 0 0 16px;
  }
  .ts-statement .ts-stmt-accent {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 600;
    color: #c97a4a;
    margin-top: 4px;
  }
  .ts-credentials {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .ts-cred-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .ts-cred-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 10px;
    background: rgba(201,122,74,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c97a4a;
    font-size: 18px;
  }
  .ts-cred-body {}
  .ts-cred-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8a9ab5;
    margin-bottom: 2px;
  }
  .ts-cred-value {
    font-size: 14px;
    color: #1a2a3a;
    line-height: 1.45;
  }





    .to-section {
    background: #0f1c2e;
    width: 100%;
  }

  .to-section .container{
padding: 72px 40px 80px;
    max-width: 900px;
    margin: 0 auto;
  }

  .to-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #c97a4a;
    margin-bottom: 18px;
  }
  .to-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
    color: #f5ede2;
    margin: 0 0 16px;
    max-width: 640px;
  }
  .to-headline em {
    font-style: italic;
    color: #c97a4a;
  }
  .to-body {
    font-size: 16px;
    line-height: 1.75;
    color: #8a9ab5;
    margin: 0 0 44px;
    max-width: 620px;
  }
  .to-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 48px;
  }
  @media (max-width: 640px) {
    .to-grid { grid-template-columns: 1fr 1fr; }
    .to-headline { font-size: 28px; }
  }
  .to-card {
    background: rgba(255,255,255,0.04);
    border: 0.5px solid rgba(255,255,255,0.09);
    border-radius: 12px;
    padding: 24px 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
    cursor: default;
  }
  .to-card:hover {
    background: rgba(201,122,74,0.09);
    border-color: rgba(201,122,74,0.32);
    transform: translateY(-2px);
  }
  .to-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(201,122,74,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c97a4a;
    font-size: 20px;
  }
  .to-card-label {
    font-size: 14px;
    font-weight: 500;
    color: #ddd4c6;
    line-height: 1.45;
  }
  .to-divider {
    height: 0.5px;
    background: rgba(255,255,255,0.09);
    margin: 0 0 40px;
  }
  .to-closing {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: rgba(201,122,74,0.08);
    border: 0.5px solid rgba(201,122,74,0.22);
    border-radius: 12px;
    padding: 28px 30px;
  }
  .to-closing-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    background: rgba(201,122,74,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c97a4a;
    font-size: 22px;
    margin-top: 2px;
  }
  .to-closing-text {
    font-size: 16px;
    color: #fff;
    line-height: 1.7;
  }


  .ext-title{
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 300;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1.5rem;
  }

.ext-title-2{
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 300;
    color: #0f1c2e;
    line-height: 1.2;
    margin-bottom: 1.5rem;
  }