/* Public website visual system. Loaded after the existing component layouts. */
:root {
  --primary: #00833e;
  --primary-dark: #006b32;
  --primary-soft: #e8f8ef;
  --accent: #b18a45;
  --gold-text: #806027;
  --gold-light: #dbc18d;
  --accent-dark: #806027;
  --text: #132c22;
  --muted: #58665f;
  --bg: #ffffff;
  --bg-soft: #f7f9fa;
  --bg-soft-2: #e8f8ef;
  --border: #e3e9e6;
  --c-navy: #123d29;
  --c-navy2: #00833e;
  --c-ink: #132c22;
  --c-gold: #b18a45;
  --c-gold2: #806027;
  --c-paper: #ffffff;
  --rdv-primary: #00833e;
  --rdv-secondary: #f7f9fa;
  --radius: 18px;
  --radius-lg: 24px;
  --radius-xl: 28px;
  --sans: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  --serif: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  --section-y: 96px;
  --shadow: 0 12px 36px #004d240a;
}
body { background: var(--bg); }
body::before { display: none; }
::selection { background: #e8f3ed; color: #132c22; }
:focus-visible { outline: 3px solid #1670b7; outline-offset: 5px; }
[id] { scroll-margin-top: 110px; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 2000; padding: 12px 20px; border-radius: 12px; color: white; background: var(--primary-dark); }
.skip-link:focus { top: 16px; }
.topbar { background: #00833e; font-size: 14px; letter-spacing: .02em; }
.topbar__inner { padding-block: 8px; }
.navbar { background: #fffffff5; backdrop-filter: blur(18px); border-bottom: 1px solid #e3e9e6; box-shadow: none; }
.navbar.scrolled { background: #fffffffa; box-shadow: 0 8px 30px #183f3010; }
.navbar__inner { min-height: 92px; }
.brand__logo { width: 166px; }
.nav__link { font-size: 14px; padding: 10px 12px; color: #3c5147; }
.nav__link.active { color: var(--primary); background: #e4f8eb; }
.nav__link:hover { color: var(--primary); background: #eefaf3; }
.nav__submenu { border-radius: 18px; border-color: var(--border); }
.nav__dropdown.is-open .nav__submenu { visibility: visible; opacity: 1; transform: translateX(-50%) translateY(0); }
.btn, .btn-rdv, .consulat-btn { min-height: 48px; border-radius: 12px; padding: 13px 23px; font-size: 14px; font-weight: 700; transition: background .25s, color .25s, transform .3s var(--ease-smooth), box-shadow .3s; }
.btn-primary, .btn-rdv, .consulat-btn--primary { color: white; background: var(--primary); border: 1px solid var(--primary); box-shadow: 0 6px 14px #00833e12; }
.btn-primary:hover, .btn-rdv:hover, .consulat-btn--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); box-shadow: 0 8px 20px #00833e22; transform: translateY(-2px); }
.btn-outline, .consulat-btn--ghost { background: transparent; border: 1px solid #bccdc0; color: var(--primary-dark); }
.btn-outline:hover, .consulat-btn--ghost:hover { background: #e4f8eb; border-color: var(--primary); color: var(--primary-dark); }
.btn span[aria-hidden] { font-size: 20px; margin-left: 10px; }
.eyebrow { display: block; color: var(--primary); font-size: 14px; line-height: 1.6; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; margin-bottom: 18px; }
em { font-family: var(--serif); font-weight: 400; }
.home-hero { position: relative; isolation: isolate; padding: 58px 0 48px; overflow: hidden; background: #fff; }
/* Fine concentric arcs and a small dot field: decorative, without covering content. */
.home-hero::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 690px; height: 690px; top: -310px; right: -200px; border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 35px, #b18a450d 36px 37px, transparent 38px 66px);
}
.home-hero::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 210px; height: 150px; left: -22px; bottom: 0;
  background: radial-gradient(circle, #b18a4514 1.3px, transparent 1.8px) 0 0 / 18px 18px;
  mask-image: linear-gradient(90deg, #000, transparent);
}
.home-hero__grid { position: relative; }
.home-hero__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.home-hero__copy { padding: 12px 0; animation: intro-rise .8s var(--ease-smooth) both; }
.home-hero .eyebrow { display: flex; align-items: center; gap: 10px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 5px #00833e0c; }
.home-hero h1 { font-size: clamp(38px, 4.3vw, 60px); line-height: 1.12; letter-spacing: -.052em; font-weight: 600; margin: 24px 0; color: #123d29; }
.home-hero h1 em { color: #009447; letter-spacing: -.025em; }
.home-hero__institution { font-size: 14px; line-height: 1.7; font-weight: 700; margin-bottom: 14px; }
.home-hero__description { font-size: 14px; color: var(--muted); line-height: 1.9; max-width: 440px; }
.home-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin: 28px 0 34px; }
.text-link { font-size: 14px; font-weight: 800; display: inline-flex; gap: 16px; align-items: center; }
.text-link:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 5px; }
.home-hero__signature { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--muted); }
.home-hero__signature img { object-fit: cover; border-radius: 3px; }
.home-hero__visual { position: relative; height: 460px; border-radius: 110px 24px 24px 24px; isolation: isolate; margin: 0; overflow: hidden; background: #edf4f0; animation: intro-rise 1s .12s var(--ease-smooth) both; }
.home-hero__photo { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; transition: transform 1.2s var(--ease-smooth); }
.home-hero__visual:hover .home-hero__photo { transform: scale(1.035); }
.home-hero__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, #103d32e8 100%); z-index: 0; }
.home-hero__seal { position: absolute; top: 24px; right: 24px; width: 88px; height: 88px; display: grid; place-items: center; background: #fffffff0; border-radius: 50%; z-index: 1; }
.home-hero__visual figcaption { position: absolute; bottom: 34px; left: 32px; right: 32px; color: #fff; z-index: 1; }
.home-hero__visual .eyebrow { color: #ffffff; font-size: 14px; margin-bottom: 8px; }
.home-hero__visual strong { font-size: 30px; line-height: 1.25; letter-spacing: -.03em; font-weight: 500; }
.home-hero__visual a { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 16px; border-top: 1px solid #ffffff50; font-size: 14px; }
.home-hero__visual a span { font-size: 24px; }
.home-hero__stripe { position: absolute; bottom: 0; height: 6px; width: 100%; background: linear-gradient(90deg, #e8f3ed 25%, #fff 25% 50%, #ed4245 50% 75%, #1475e8 75%); z-index: 2; }
.quick-access { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding: 24px 8px; border: 1px solid var(--border); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.quick-access > a { display: flex; align-items: center; gap: 15px; padding: 12px 24px; transition: background .25s; border-radius: 12px; }
.quick-access > a + a { border-left: 1px solid var(--border); }
.quick-access > a:hover { background: #f4fbf7; }
.quick-access__icon { flex: 0 0 42px; width: 42px; height: 46px; display: grid; place-items: center; font-size: 25px; color: #fff; background: #00833e; border-radius: 13px; }
.quick-access > a:nth-child(2) .quick-access__icon { background: #e8f3ed; color: #006b32; }
.quick-access > a:nth-child(3) .quick-access__icon { background: #1475e8; color: #ffffff; }
.quick-access strong { display: block; font-size: 14px; font-weight: 800; }
.quick-access small { display: block; font-size: 14px; color: var(--muted); margin-top: 4px; }
.quick-access__arrow { margin-left: auto; font-size: 22px; color: #728777; }
.section::before { display: none; }
.section-head { margin-bottom: 42px; }
.section-head h2, .welcome h2, .consulat-head h2 { font-size: clamp(28px,3vw,40px); font-weight: 600; line-height: 1.22; letter-spacing: -.04em; }
.section-head p { font-size: 14px; }
.section-head .eyebrow { margin-bottom: 12px; }
.welcome-section .grid-2 { gap: 80px; }
.welcome h2 { margin-bottom: 24px; }
.welcome h2 em, .section-head h2 em { color: #009447; }
.welcome p { font-size: 14px; color: var(--muted); margin-bottom: 16px; line-height: 1.9; }
.welcome__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.welcome__image { padding: 16px; background: #f3f6f5; border-radius: 24px 72px 24px 24px; }
.welcome__image img { border-radius: 14px 60px 14px 14px; border: none; box-shadow: none; }
.section-muted { background: #f7f9fa; }
.cards { gap: 20px; }
.card { position: relative; display: flex; flex-direction: column; padding: 30px; border-radius: 20px; border-color: #e3e9e6; box-shadow: none; }
.card__icon { width: 48px; height: 48px; border-radius: 14px; color: #fff; background: #00833e; font-size: 24px; margin-bottom: 24px; }
.card:nth-child(2) .card__icon, .card:nth-child(5) .card__icon { color: #006b32; background: #e8f3ed; }
.card:nth-child(3) .card__icon { color: #ffffff; background: #1475e8; }
.card:nth-child(4) .card__icon { color: #ffffff; background: #e33d45; }
.card h3 { font-size: 16px; font-weight: 800; margin-bottom: 12px; }
.card p { font-size: 14px; line-height: 1.9; margin-bottom: 24px; }
.card__link { padding-top: 18px; margin-top: auto; border-top: 1px solid #e7ece9; font-size: 14px; color: var(--primary); }
.card:hover .card__icon { background: #00833e; color: #fff; }
.card:hover { box-shadow: 0 18px 34px #123d290d; border-color: #9ddcb7; transform: translateY(-5px); }
.card--highlight { background: #00833e; border-color: #00833e; }
.card--highlight h3 { color: #fff; }
.card--highlight p { color: #ffffff; }
.card--highlight .card__icon { color: #ffffff; background: #ffffff14; }
.card--highlight .card__link { color: #ffffff; border-color: #ffffff26; }
.card--highlight:hover { background: #006b32; border-color: #006b32; }
.news-card { border-radius: 20px; background: white; border-color: var(--border); box-shadow: none; }
.news-card__content { padding: 26px; }
.news-card__meta { color: #607668; font-size: 14px; }
.news-card h3 { font-size: 17px; line-height: 1.5; }
.news-card p { font-size: 14px; line-height: 1.8; }
.news-card a { color: var(--primary); font-size: 14px; }
.cta { margin: 0 auto 72px; width: min(100% - 32px,1200px); border-radius: 28px; padding: 52px; background: #00833e; color: #fff; overflow: hidden; }
.cta .container { width: 100%; }
.cta .eyebrow { color: #e8f3ed; }
.cta h2 { font-size: clamp(28px,3vw,38px); line-height: 1.2; margin-bottom: 18px; letter-spacing: -.035em; }
.cta p { color: #ffffff; font-size: 14px; max-width: 390px; }
.cta .btn-primary { background: #e8f3ed; border-color: #e8f3ed; color: #132c22; }
.cta .btn-primary:hover { background: #ffffff; }
.cta .btn-outline-white { border-color: #ffffff50; }
.footer { background: #063f26; border-top: 4px solid var(--accent); }
.footer__grid { grid-template-columns: 1.1fr 1fr .8fr 1.1fr; gap: 34px; padding-block: 64px; }
.footer__block { min-width: 0; }
.footer h4 { font-size: 14px; }
.footer p, .footer ul { font-size: 14px; line-height: 1.9; }
.footer ul li { overflow-wrap: anywhere; }
.footer__logo { width: 190px; }
.newsletter { flex-wrap: wrap; }
.newsletter input { min-width: 0; width: 100%; flex-basis: 100%; border-radius: 10px; font-size: 14px; }
.newsletter .btn { background: #e8f3ed; color: #132c22; border-color: #e8f3ed; }
.footer__bottom-inner { font-size: 14px; }
.footer__bottom-inner p { font-size: 14px; margin: 0; }
.footer__bottom-links a { color: #c4d3c8; }
/* A shared treatment for the public site's information and service pages. */
.page-hero, .rdv-hero, .tracking-hero, .news-detail__hero { background: #ffffff; padding-block: 64px; border-bottom: 1px solid #e3e9e6; }
.page-hero__inner { max-width: 1200px; }
.page-hero__inner h1, .news-detail__hero h1, .rdv-hero__inner h1, .tracking-hero__content h1 { color: #123d29; letter-spacing: -.045em; font-weight: 600; max-width: 880px; font-size: clamp(30px,4vw,50px); line-height: 1.16; margin-bottom: 20px; }
.page-hero__inner p { font-size: 14px; color: var(--muted); max-width: 720px; }
.badge { background: #e8f8ef; color: #006b32; border-color: #bae8cb; font-size: 14px; margin-bottom: 18px; padding: 6px 13px; }
.register-form, .register-info, .rdv-calendar, .rdv-steps, .tracking-search, .tracking-card, .consulat-hero__panel, .consulat-service, .consulat-profile__card, .identity-card, .tourism-card { border-radius: 22px; border-color: var(--border); box-shadow: var(--shadow); }
.register-form input, .register-form select, .register-form textarea, .form-group input, .form-group select, .form-group textarea { border-radius: 12px; background: #ffffff; }
.register-form input:focus, .register-form select:focus, .register-form textarea:focus, .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 4px #00833e12; }
.register-step.is-active { color: var(--primary); background: #e8f8ef; border-color: #9ddcb7; }
.register-progress__bar { background: var(--primary); }
.consulat-section--muted { background: #f7f9fa; }
.reveal { opacity: 1; transform: none; }
.reveal.reveal-pending { opacity: 0; transform: translateY(22px); }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes intro-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (min-width: 1025px) {
  .cards .card:nth-child(3n+2) { transition-delay: 50ms; }
  .cards .card:nth-child(3n+3) { transition-delay: 100ms; }
}
@media (max-width: 1100px) {
  .home-hero__grid { gap: 36px; }
  .nav__link { padding-inline: 9px; }
  .quick-access > a { padding-inline: 16px; gap: 10px; }
}
@media (max-width: 1024px) {
  .navbar { backdrop-filter: none; }
  .nav { height: 100dvh; z-index: 100; background: #ffffff; }
  .nav__link { font-size: 16px; padding: 14px; }
  .nav__mobile-head { justify-content: space-between; align-items: center; margin-bottom: 30px; }
  .nav__mobile-title { font-weight: 800; color: var(--primary); }
  .nav-toggle, .nav-close { border: 1px solid #e3e9e6; background: #ffffff; border-radius: 12px; width: 46px; height: 46px; cursor: pointer; padding: 12px; color: var(--primary); }
  .nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px 0; background: var(--primary); }
  .nav-close { font-size: 25px; line-height: 1; }
  .nav__dropdown.is-open .nav__submenu { transform: none; }
  .nav__dropdown:focus-within:not(.is-open) .nav__submenu { display: none; }
  .home-hero h1 { font-size: 44px; }
  .home-hero__visual { height: 460px; }
  .quick-access { padding: 14px 8px; }
  .quick-access__icon { display: none; }
  .welcome-section .grid-2 { grid-template-columns: 1fr 1fr; gap: 32px; }
  .welcome__actions { justify-content: flex-start; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .section-head-row { align-items: flex-start; text-align: left; }
  .section-head-row a { align-self: flex-start; }
}
@media (max-width: 720px) {
  :root { --section-y: 64px; }
  .container { width: calc(100% - 40px); }
  .topbar__inner { justify-content: center; }
  .topbar__left { gap: 12px; font-size: 14px; }
  .topbar__right { display: none; }
  .navbar__inner { min-height: 78px; }
  .brand__logo { width: 148px; }
  .home-hero { padding: 36px 0 30px; }
  .home-hero::before { width: 420px; height: 420px; top: -180px; right: -245px; }
  .home-hero::after { width: 100px; height: 110px; }
  .home-hero__grid { grid-template-columns: 1fr; gap: 28px; }
  .home-hero h1 { font-size: clamp(36px,8.8vw,54px); margin-block: 20px; }
  .home-hero__copy { padding: 0; }
  .home-hero__institution { font-size: 14px; }
  .home-hero__description { max-width: 100%; }
  .home-hero__actions { gap: 22px; margin: 24px 0; }
  .home-hero__visual { height: 330px; border-radius: 64px 20px 20px 20px; }
  .home-hero__visual figcaption { left: 24px; right: 24px; bottom: 24px; }
  .home-hero__visual strong { font-size: 26px; }
  .home-hero__seal { width: 68px; height: 68px; top: 18px; right: 18px; }
  .home-hero__seal img { width: 48px; height: 48px; }
  .quick-access { grid-template-columns: 1fr; padding: 8px 16px; }
  .quick-access > a { padding: 18px 0; gap: 14px; }
  .quick-access > a + a { border-left: 0; border-top: 1px solid var(--border); }
  .quick-access__icon { display: grid; }
  .quick-access strong { font-size: 14px; }
  .welcome-section .grid-2 { grid-template-columns: 1fr; }
  .cards, .news { grid-template-columns: 1fr; }
  .card { padding: 28px; }
  .card p { font-size: 14px; }
  .cta { width: calc(100% - 40px); padding: 32px 24px; margin-bottom: 48px; }
  .cta__actions { width: 100%; }
  .cta__actions .btn { width: 100%; }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
  .footer__block:first-child, .footer__block:last-child { grid-column: 1 / -1; }
  .footer__logo { width: 180px; }
  .footer p, .footer ul { font-size: 14px; }
  .page-hero, .rdv-hero, .tracking-hero, .news-detail__hero { padding-block: 44px; }
  .register-steps { overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal.reveal-pending { opacity: 1; transform: none; }
}

/* Institutional hierarchy: official identity, readable text and restrained geometry. */
:root { --text: #1c2c37; --muted: #52606b; --radius: 6px; --radius-lg: 8px; --radius-xl: 8px; --section-y: 76px; }
body { font-size: 17px; line-height: 1.65; }
h1, h2, h3, h4 { letter-spacing: -.015em; }
em { font-family: inherit; font-style: normal; font-weight: inherit; }
.topbar { background: #075b32; font-size: 14px; }
.brand { flex-shrink: 0; }
.brand__logo { width: 68px; height: 68px; }
.brand__identity { display: grid; gap: 2px; }
.brand__identity strong { font-size: 25px; line-height: 1.2; font-weight: 700; color: #183c2a; }
.brand__identity > span { font-size: 17px; color: #334b3d; }
.navbar__inner { padding-top: 20px; padding-bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: 20px; }
.nav { grid-column: 1 / -1; grid-row: 2; gap: 14px; padding: 10px 0; border-top: 1px solid #e0e6e3; }
.nav__link { font-size: 17px; font-weight: 600; border-radius: 3px; padding: 10px 18px; }
.nav__link.active { background: transparent; box-shadow: inset 0 -3px var(--accent); }
.nav__submenu .nav__link { font-size: 16px; }
.btn-rdv { grid-column: 2; grid-row: 1; }
.btn, .btn-rdv, .consulat-btn { font-size: 17px; font-weight: 600; min-height: 50px; border-radius: 5px; box-shadow: none; }
.eyebrow { font-size: 14px; letter-spacing: .09em; font-weight: 600; }
.home-hero { padding: 48px 0 0; }
.home-hero__grid { display: flex; flex-direction: column; gap: 32px; }
.home-hero__copy { text-align: center; max-width: 1000px; padding: 0; }
.home-hero .eyebrow { justify-content: center; margin-bottom: 16px; color: var(--gold-text); }
.home-hero h1 { font-size: clamp(34px,3.7vw,52px); line-height: 1.14; letter-spacing: -.02em; font-weight: 700; margin: 0 0 20px; color: #173d2b; }
.home-hero h1 span { display: block; }
.home-hero__description { font-size: 19px; line-height: 1.6; max-width: 790px; margin: 0 auto; }
.home-hero__actions { justify-content: center; margin: 26px 0 8px; gap: 16px; }
.home-hero__visual { width: 100%; height: 285px; border-radius: 5px; }
.home-hero__photo { object-position: center 58%; }
.home-hero__visual::after { background: linear-gradient(180deg, transparent 45%, #062719d9); }
.home-hero__visual figcaption { display: flex; align-items: center; justify-content: space-between; bottom: 22px; }
.home-hero__visual strong { font-size: 22px; font-weight: 600; letter-spacing: 0; }
.home-hero__visual a { font-size: 17px; margin: 0; padding: 0; border: 0; gap: 20px; }
.quick-access { margin-top: 0; border-radius: 0 0 5px 5px; box-shadow: none; background: #f6f9f7; padding: 14px 0; }
.quick-access > a { padding: 18px 24px; border-radius: 0; }
.quick-access strong { font-size: 19px; font-weight: 600; }
.quick-access small { font-size: 15px; }
.quick-access__icon, .quick-access > a:nth-child(2) .quick-access__icon, .quick-access > a:nth-child(3) .quick-access__icon { background: transparent; color: #00833e; border-radius: 0; font-size: 30px; }
.section-head, .consulat-head { text-align: left; border-left: 4px solid var(--accent); padding-left: 22px; }
.section-head h2, .welcome h2, .consulat-head h2 { font-size: clamp(29px,3vw,38px); font-weight: 700; letter-spacing: -.015em; }
.section-head p { font-size: 17px; max-width: none; margin-inline: 0; }
.cards { gap: 24px; }
.card { border-radius: 6px; padding: 30px; border-top: 3px solid var(--accent); }
.card h3, .news-card h3 { font-size: 22px; font-weight: 600; line-height: 1.25; }
.card p, .welcome p, .news-card p { font-size: 17px; line-height: 1.65; }
.card__link, .news-card a { font-size: 17px; }
.card__icon, .card:nth-child(2) .card__icon, .card:nth-child(3) .card__icon, .card:nth-child(4) .card__icon, .card:nth-child(5) .card__icon { background: #e8f3ed; color: #007439; border-radius: 5px; }
.card--highlight { background: #075b32; border-color: #075b32; }
.card--highlight .card__icon { color: #fff; background: #ffffff18; }
.welcome__image { border-radius: 5px; padding: 0; background: white; }
.welcome__image img, .news-card { border-radius: 5px; }
.cta { border-radius: 5px; background: #075b32; }
.cta .eyebrow { color: var(--gold-light); }
.cta p { font-size: 17px; max-width: 520px; }
.cta .btn-primary, .newsletter .btn { background: var(--gold-light); border-color: var(--gold-light); color: #243124; }
.cta .btn-primary:hover, .newsletter .btn:hover { background: #e7d3ac; border-color: #e7d3ac; color: #243124; }
.footer h4 { font-size: 20px; }
.footer p, .footer ul, .newsletter input { font-size: 16px; }
.footer__bottom-inner, .footer__bottom-inner p { font-size: 14px; }
.page-hero__inner p, .register-info p, .register-info ul li, .form-note { font-size: 17px; }
.register-form, .register-info, .rdv-calendar, .rdv-steps, .tracking-search, .tracking-card, .consulat-hero__panel, .consulat-service, .consulat-profile__card, .identity-card, .tourism-card { border-radius: 6px; }
@media (max-width: 1100px) and (min-width: 1025px) {
  .nav { gap: 5px; }
  .nav__link { padding-inline: 15px; }
}
@media (max-width: 1024px) {
  .navbar__inner { display: flex; padding-block: 16px; }
  .nav { padding: 24px 20px 32px; border: 0; gap: 10px; }
  .nav__link { font-size: 19px; }
  .nav__link.active { box-shadow: none; background: #e8f3ed; }
  .brand__identity strong { font-size: 23px; }
  .brand__identity > span { font-size: 16px; }
  .quick-access > a { padding-inline: 16px; }
  .quick-access strong { font-size: 18px; }
}
@media (max-width: 720px) {
  .topbar__left { font-size: 12px; }
  .brand { gap: 10px; flex-shrink: 1; }
  .brand__logo { width: 46px; height: 46px; }
  .brand__identity strong { font-size: 19px; }
  .brand__identity > span { font-size: 13px; line-height: 1.3; max-width: 175px; }
  .nav-toggle { flex: 0 0 42px; width: 42px; }
  .navbar__inner { gap: 10px; }
  .home-hero { padding-top: 32px; }
  .home-hero__copy { text-align: left; }
  .home-hero .eyebrow { justify-content: flex-start; font-size: 12px; }
  .home-hero h1 { font-size: 34px; line-height: 1.17; }
  .home-hero__description { font-size: 18px; }
  .home-hero__actions { align-items: stretch; flex-direction: column; }
  .home-hero__visual { height: 220px; }
  .home-hero__visual figcaption { left: 18px; right: 18px; bottom: 16px; display: grid; gap: 8px; }
  .home-hero__visual strong { font-size: 20px; }
  .home-hero__visual a { font-size: 16px; justify-content: flex-start; }
  .quick-access { padding: 4px 16px; }
  .quick-access > a { padding: 20px 0; }
  .quick-access strong { font-size: 19px; }
  .quick-access small { font-size: 15px; }
  .section-head { padding-left: 16px; }
  .card p { font-size: 17px; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__block { grid-column: 1; }
}

/* Brass accents complement the institutional green without tinting page backgrounds. */
.quick-access > a:nth-child(2) .quick-access__icon { color: var(--gold-text); }
.card:nth-child(2) .card__icon, .card:nth-child(5) .card__icon { background: #f5f0e6; color: var(--gold-text); }
.card--highlight { border-top-color: var(--accent); }
.card--highlight .card__icon, .card--highlight .card__link { color: var(--gold-light); }
.home-hero__visual { border-bottom: 3px solid var(--accent); }
.badge { background: #fff; border-color: #c9ad7c; color: var(--gold-text); }

/* Social links include visible labels, so their buttons must fit the content. */
.footer ul.footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
}
.footer .footer__social li {
  margin: 0;
  overflow-wrap: normal;
}
.footer .footer__social li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: auto;
  height: auto;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 4px;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
}
.footer .footer__social .iconify {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.footer .footer__social li a:hover {
  background: rgba(255, 255, 255, .14);
  border-color: #dbc18d;
  text-decoration: none;
}
.footer .footer__social li a:focus-visible {
  outline: 2px solid #dbc18d;
  outline-offset: 4px;
}
