@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@700&display=swap');

:root {
    --navy: #082b55;
    --navy-deep: #041d3b;
    --navy-soft: #123f70;
    --gold: #c69a35;
    --gold-dark: #9b7420;
    --cream: #f8f5ed;
    --surface: #ffffff;
    --muted-bg: #f3f6f8;
    --text: #1f2a37;
    --muted: #667085;
    --border: #e4e8ed;
    --shadow: 0 18px 45px rgba(8, 43, 85, 0.10);
}

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: #fff;
    color: var(--text);
    font-family: 'Inter', Arial, sans-serif;
    line-height: 1.65;
}

img { max-width: 100%; }
button, a { transition: all .22s ease; }

.site-header {
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(8,43,85,.08);
    box-shadow: 0 4px 20px rgba(8,43,85,.05);
    backdrop-filter: blur(10px);
}

.brand { display: flex; align-items: center; gap: 12px; color: var(--navy)!important; }
.brand img { width: 48px; height: 48px; object-fit: contain; }
.brand span { display: flex; flex-direction: column; line-height: 1.15; }
.brand strong { font-size: 1rem; }
.brand small { font-size: .76rem; color: var(--gold-dark); letter-spacing: .06em; text-transform: uppercase; }
.navbar-light .navbar-nav .nav-link { color: #405168; font-weight: 600; padding: .85rem .8rem; }
.navbar-light .navbar-nav .nav-link:hover { color: var(--navy); }

.btn { border-radius: 10px; font-weight: 700; border-width: 1px; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #fff; }
.btn-gold:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: #fff; transform: translateY(-1px); }
.btn-primary-unica { background: var(--navy); border-color: var(--navy); color: #fff; }
.btn-primary-unica:hover { background: var(--navy-soft); border-color: var(--navy-soft); color: #fff; transform: translateY(-1px); }
.btn-soft { background: #edf3f8; color: var(--navy); border-color: #dce7f0; }
.btn-soft:hover { background: #dce8f2; color: var(--navy); }

.hero {
    position: relative;
    overflow: hidden;
    padding: 96px 0 86px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 20%, rgba(198,154,53,.22), transparent 32%),
        linear-gradient(120deg, var(--navy-deep), var(--navy) 62%, #0c3d70);
}
.hero::after {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    right: -120px;
    bottom: -220px;
}
.hero .container { position: relative; z-index: 1; }
.eyebrow, .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--gold-dark);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.eyebrow { color: #f1cc76; }
.hero h1 {
    max-width: 720px;
    margin: 0 0 20px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.6rem, 5vw, 4.7rem);
    line-height: 1.05;
}
.hero-lead { max-width: 690px; color: rgba(255,255,255,.82); font-size: 1.16rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-note { margin-top: 22px; color: rgba(255,255,255,.7); font-size: .92rem; }
.hero-card { max-width: 390px; margin-left: auto; background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.28); transform: rotate(1.5deg); }
.hero-card-top { display: flex; flex-direction: column; padding: 17px 20px; color: var(--navy); background: var(--cream); border-bottom: 1px solid #eadfc5; }
.hero-card-top span { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--gold-dark); }
.hero-card-top strong { font-size: 1rem; }
.hero-card img { display: block; width: 100%; max-height: 455px; object-fit: cover; object-position: top; }

.stats-strip { margin-top: -34px; position: relative; z-index: 3; }
.stats-strip .container { background: #fff; border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; }
.stat-item { min-height: 116px; padding: 25px 30px; display: flex; align-items: center; gap: 18px; border-right: 1px solid var(--border); }
.stat-item:last-child { border-right: 0; }
.stat-number { font-family: 'Playfair Display', Georgia, serif; color: var(--navy); font-size: 2.1rem; font-weight: 700; }
.stat-label { color: var(--muted); font-size: .9rem; font-weight: 600; }

.section { padding: 92px 0; }
.section-muted { background: var(--muted-bg); }
.section-heading { max-width: 760px; margin: 0 auto 44px; }
.section-heading h2, .section h2, .cta-panel h2 { color: var(--navy); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.15; }
.section-heading p, .section-description { color: var(--muted); font-size: 1.02rem; }

.category-card { background: #fff; border: 1px solid var(--border); border-radius: 20px; overflow: hidden; box-shadow: 0 12px 34px rgba(8,43,85,.06); }
.category-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.category-media { position: relative; height: 220px; background: var(--cream); overflow: hidden; }
.category-media img { width: 100%; height: 100%; object-fit: cover; }
.category-tag { position: absolute; top: 18px; left: 18px; background: rgba(8,43,85,.94); color: #fff; padding: 7px 12px; border-radius: 999px; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.category-body { position: relative; padding: 36px 32px 32px; }
.category-icon { position: absolute; top: -28px; right: 28px; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 15px; background: var(--gold); color: #fff; font-size: 1.5rem; box-shadow: 0 12px 25px rgba(198,154,53,.28); }
.category-body h3 { margin-bottom: 14px; color: var(--navy); font-size: 1.45rem; font-weight: 800; }
.category-body p { color: var(--muted); min-height: 105px; }
.category-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.steps-panel { background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 18px 28px; box-shadow: 0 15px 38px rgba(8,43,85,.07); }
.step-item { display: flex; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--border); }
.step-item:last-child { border-bottom: 0; }
.step-number { flex: 0 0 42px; height: 42px; display: grid; place-items: center; background: var(--navy); color: #fff; border-radius: 12px; font-weight: 800; }
.step-item strong { color: var(--navy); }
.step-item p { margin: 3px 0 0; color: var(--muted); font-size: .93rem; }

.document-card { width: 100%; min-height: 110px; display: flex; align-items: center; gap: 16px; padding: 22px; color: var(--text); background: #fff; border: 1px solid var(--border); border-radius: 16px; text-decoration: none!important; box-shadow: 0 9px 25px rgba(8,43,85,.05); }
.document-card:hover { color: var(--navy); transform: translateY(-4px); box-shadow: var(--shadow); border-color: #cbd8e4; }
.document-card-button { text-align: left; cursor: pointer; }
.document-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 13px; background: var(--cream); color: var(--gold-dark); font-size: 1.35rem; }
.document-card span:nth-child(2) { display: flex; flex-direction: column; }
.document-card strong { color: var(--navy); }
.document-card small { color: var(--muted); }
.document-arrow { margin-left: auto; color: var(--gold-dark); }

.cta-section { padding: 0 0 92px; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 48px 54px; color: #fff; background: linear-gradient(120deg, var(--navy-deep), var(--navy)); border-radius: 22px; box-shadow: var(--shadow); }
.cta-panel h2 { color: #fff; margin: 0 0 10px; }
.cta-panel p { margin: 0; color: rgba(255,255,255,.75); }
.section-kicker.light { color: #f1cc76; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }

.site-footer { padding: 58px 0 24px; background: #031a35; color: rgba(255,255,255,.74); }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand img { width: 58px; height: 58px; object-fit: contain; }
.footer-brand div { display: flex; flex-direction: column; }
.footer-brand strong { color: #fff; }
.footer-brand span { font-size: .88rem; }
.footer-copy { max-width: 650px; margin-top: 20px; }
.site-footer h3 { color: #fff; font-size: 1.08rem; }
.footer-contact { margin: 16px 0 0; padding: 0; list-style: none; }
.footer-contact li { display: flex; gap: 12px; margin-bottom: 12px; }
.footer-contact i { width: 18px; margin-top: 4px; color: #e7bd5f; }
.footer-bottom { margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); text-align: center; font-size: .84rem; }

.modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.modal-header { align-items: center; border-bottom: 1px solid var(--border); }
.modal-title { color: var(--navy); font-weight: 800; }
.modal-kicker { display: block; color: var(--gold-dark); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.flyer-modal .modal-dialog { max-width: 520px; }
.flyer-image { display: block; width: 100%; max-height: 78vh; object-fit: contain; background: #ececec; }
.content-modal .modal-body { padding: 28px; color: #344054; }
.styled-list, .criteria-list { padding-left: 1.3rem; }
.styled-list li, .criteria-list li { margin-bottom: 14px; padding-left: 8px; }
.styled-list li::marker, .criteria-list li::marker { color: var(--gold-dark); font-weight: 800; }
.check-list { padding: 0; list-style: none; }
.check-list li { position: relative; margin-bottom: 10px; padding-left: 27px; }
.check-list li::before { content: '\f00c'; position: absolute; left: 0; top: 2px; font-family: FontAwesome; color: var(--gold-dark); }

@media (max-width: 991.98px) {
    .site-header { position: static!important; }
    .hero { padding-top: 70px; }
    .hero-card { margin: 0 auto; transform: none; }
    .stats-strip { margin-top: 0; }
    .stats-strip .container { border-radius: 0; }
    .stat-item { border-right: 0; border-bottom: 1px solid var(--border); }
    .stat-item:last-child { border-bottom: 0; }
    .cta-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767.98px) {
    .brand strong { font-size: .9rem; }
    .brand small { font-size: .66rem; }
    .hero { padding: 58px 0; }
    .hero h1 { font-size: 2.55rem; }
    .hero-actions .btn { width: 100%; }
    .section { padding: 66px 0; }
    .category-media { height: 180px; }
    .category-body { padding: 32px 22px 24px; }
    .category-body p { min-height: auto; }
    .category-actions .btn { width: 100%; }
    .cta-panel { padding: 34px 26px; }
    .cta-actions { width: 100%; }
    .cta-actions .btn { width: 100%; }
    .content-modal .modal-body { padding: 20px; }
}
