:root {
  --blue: #1d62b8;
  --blue-dark: #124c98;
  --blue-deep: #0e3470;
  --aqua: #0d8b92;
  --ink: #12233f;
  --muted: #61718a;
  --paper: #ffffff;
  --surface: rgba(255, 255, 255, .82);
  --background: #edf5ff;
  --soft-blue: #f2f7ff;
  --line: #d7e3f3;
  --strong-line: #a9c9ed;
  --shadow: 0 18px 55px rgba(33, 78, 137, .10);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
  min-height: 100vh;
  margin: 0;
  padding-bottom: 140px;
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 2%, rgba(132, 198, 249, .34), transparent 27rem),
    radial-gradient(circle at 97% 17%, rgba(112, 220, 206, .16), transparent 23rem),
    linear-gradient(145deg, #f9fcff 0%, var(--background) 48%, #f5f9ff 100%);
  font: 16px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.modal-open { overflow: hidden; }
a { color: var(--blue); }
button, textarea, input, select { font: inherit; }

.container { width: min(100% - 40px, 1080px); margin: 0 auto; padding: 38px 0 52px; }
.site-header { margin-bottom: 22px; }
.header-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { display: block; width: min(218px, 44vw); height: auto; filter: drop-shadow(0 5px 10px rgba(24, 84, 152, .08)); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.help-button {
  display: inline-flex; align-items: center; appearance: none; margin: 0; padding: 8px 13px; border: 1px solid rgba(145, 179, 218, .7); border-radius: 999px;
  background: rgba(255, 255, 255, .62); color: var(--blue-deep); cursor: pointer; font-size: .82rem; font-weight: 720; letter-spacing: .01em;
  text-decoration: none; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.help-button:hover { transform: translateY(-1px); border-color: #79a9df; background: #fff; box-shadow: 0 6px 16px rgba(40, 96, 161, .10); }
.help-button:focus-visible { outline: 3px solid rgba(48, 118, 203, .28); outline-offset: 2px; }
.hero-copy { max-width: none; }
.hero-copy h1 { font-size: clamp(1.9rem, 4vw, 2.85rem); }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { margin-bottom: 9px; font-size: clamp(2.05rem, 4.6vw, 3.25rem); letter-spacing: -.06em; line-height: 1.03; }
h2 { margin-bottom: 5px; font-size: 1.28rem; letter-spacing: -.035em; line-height: 1.2; }
h3 { font-size: 1.25rem; letter-spacing: -.025em; line-height: 1.24; }
h4 { font-size: 1rem; line-height: 1.3; }
.intro { max-width: none; margin-bottom: 0; color: var(--muted); font-size: 1rem; line-height: 1.58; }
.eyebrow, .section-kicker, .result-label { color: var(--blue); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.eyebrow { margin-bottom: 6px; }

.consultation, .results { border-radius: 22px; }
.consultation {
  position: relative; overflow: hidden; margin-top: 20px; padding: 21px 23px; border: 1px solid rgba(202, 219, 239, .9);
  background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(12px);
}
.consultation::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--blue), #45a8c9 56%, rgba(69, 168, 201, 0)); content: ""; }
.section-heading { margin-bottom: 19px; }
.consultation .section-heading { margin-bottom: 4px; }
.section-heading p:last-child { max-width: none; margin: 0; color: var(--muted); font-size: .91rem; }
.section-kicker { margin-bottom: 5px; }
.search-form label, .clarification label { display: block; font-weight: 760; }

.mode-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 22px 0 21px; padding: 0; border: 0; }
.mode-switch legend { width: 100%; grid-column: 1 / -1; margin-bottom: 1px; color: #3d5270; font-size: .86rem; font-weight: 740; }
.mode-option {
  position: relative; display: block !important; min-height: 0; margin: 0 !important; padding: 14px; border: 1px solid var(--line);
  border-radius: 15px; background: rgba(255, 255, 255, .74); color: var(--ink); cursor: pointer; font-weight: 400 !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.mode-option:hover { transform: translateY(-2px); border-color: #aac8e9; background: #fff; box-shadow: 0 9px 18px rgba(33, 82, 139, .08); }
.mode-option:has(input:checked) { border-color: var(--blue); background: linear-gradient(145deg, #f7fbff, #edf7ff); box-shadow: 0 0 0 3px rgba(35, 106, 190, .12), 0 10px 22px rgba(34, 85, 146, .08); }
.mode-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mode-option span { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 4px 10px; align-items: start; }
.mode-option span::before { display: grid; grid-column: 2; grid-row: 1; width: 29px; height: 29px; border-radius: 9px; place-items: center; background: #f2efff; color: #6b57be; font-size: .95rem; font-weight: 800; content: "✓"; }
.mode-option:nth-of-type(2) span::before { background: #eaf3ff; color: var(--blue); content: "⌁"; }
.mode-option:nth-of-type(3) span::before { background: #edf9f7; color: var(--aqua); content: "€"; }
.mode-option:has(input:checked) span::before { background: #6b57be; color: #fff; }
.mode-option:nth-of-type(2):has(input:checked) span::before { background: var(--blue); }
.mode-option:nth-of-type(3):has(input:checked) span::before { background: var(--aqua); }
.mode-option strong { grid-column: 1; grid-row: 1; padding-top: 4px; font-size: .93rem; letter-spacing: -.015em; line-height: 1.22; }
.mode-option small { grid-column: 1 / -1; grid-row: 2; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.mode-option:focus-within { outline: 3px solid rgba(48, 118, 203, .26); outline-offset: 2px; }
.advanced-search { margin-top: 14px; border-top: 1px solid var(--line); }.advanced-search summary { padding: 12px 2px 0; color: var(--blue-deep); cursor: pointer; font-size: .86rem; font-weight: 760; list-style: none; }.advanced-search summary::-webkit-details-marker { display: none; }.advanced-search summary::before { display: inline-block; margin-right: 7px; color: var(--blue); content: '›'; transition: transform .18s ease; }.advanced-search[open] summary::before { transform: rotate(90deg); }.advanced-search-content { padding-top: 1px; }.advanced-search .mode-switch { margin: 14px 0 18px; }

.administration-picker { margin: 0 0 18px; }
.administration-picker.is-hidden { display: none; }
.administration-picker label { margin-bottom: 7px; font-size: .87rem; }
.administration-picker select, textarea, input {
  width: 100%; border: 1px solid #bfd0e5; border-radius: 12px; background: rgba(255, 255, 255, .9); color: var(--ink);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.administration-picker select { width: min(100%, 410px); min-height: 43px; padding: 9px 40px 9px 13px; box-shadow: inset 0 1px 1px rgba(35, 77, 126, .02); }
textarea, input { padding: 11px 13px; }
textarea:focus, input:focus, .administration-picker select:focus { border-color: #5c9ce2; background: #fff; box-shadow: 0 0 0 4px rgba(52, 127, 219, .14); outline: 0; }
textarea { min-height: 68px; margin-top: 7px; resize: vertical; line-height: 1.5; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }.search-form textarea[data-mode-query] { height: 46px; min-height: 46px; max-height: 94px; margin-top: 5px; overflow-y: hidden; resize: none; }.query-help { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.administration-note { margin: 7px 0 0; color: var(--muted); font-size: .82rem; }
.administration-note[hidden] { display: none; }
.administration-meta { margin: 6px 0 0; color: var(--muted); font-size: .82rem; font-weight: 650; }
.official-meta { margin: 7px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.35; }

button, .button-link {
  display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 11px; background: linear-gradient(135deg, #2877d0, var(--blue));
  color: #fff; cursor: pointer; font-weight: 760; text-decoration: none; transition: box-shadow .18s ease, transform .18s ease, filter .18s ease;
}
button:hover, .button-link:hover { filter: brightness(.98); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(26, 91, 170, .2); }
button:focus-visible, .button-link:focus-visible, .card a:focus-visible { outline: 3px solid rgba(48, 118, 203, .3); outline-offset: 3px; }
.search-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 14px; }
.search-actions button { min-height: 44px; margin: 0; padding: 10px 17px; }
.clear-button { display: inline-flex; align-items: center; min-height: 40px; margin-left: auto; padding: 8px 11px; border: 1px solid transparent; border-radius: 10px; color: var(--muted); font-size: .88rem; font-weight: 700; text-decoration: none; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.clear-button:hover, .clear-button:focus-visible { border-color: var(--line); background: rgba(255, 255, 255, .72); color: var(--blue); outline: none; }
.button-loading { display: none; align-items: center; gap: 10px; font-size: .95rem; font-weight: 800; letter-spacing: .01em; }
.button-loading i { width: 21px; height: 21px; border: 3px solid rgba(255, 255, 255, .36); border-top-color: #fff; border-radius: 50%; animation: button-spin .7s linear infinite; }
.search-form.is-searching .button-label { display: none; }.search-form.is-searching .button-loading { display: inline-flex; }.search-form.is-searching button { min-height: 50px; cursor: wait; opacity: .96; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22), 0 9px 20px rgba(26, 91, 170, .22); }
@keyframes button-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .button-loading i { animation: none; } }

.notice { margin: 17px 0; padding: 13px 15px; border: 1px solid #c9ddf5; border-radius: 14px; background: rgba(242, 248, 255, .9); color: var(--ink); box-shadow: 0 5px 15px rgba(33, 82, 139, .04); }
.notice.error { border-color: #f0c3bc; background: #fff4f2; }.notice.uncertainty { margin: 0 0 14px; }
.intent-choice-panel { padding-top: 21px; }.intent-choice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }.intent-choice button { min-height: 48px; padding: 9px 11px; font-size: .84rem; line-height: 1.25; }.clarification-panel { border-color: #b8d5f1; background: linear-gradient(135deg, rgba(245, 250, 255, .96), rgba(251, 253, 255, .92)); }.clarification-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }.clarification-options button { min-height: 56px; text-align: left; }.clarification-options .clarification-unknown { color: var(--blue-deep); background: #fff; box-shadow: inset 0 0 0 1px var(--line); }.clarification-unknown .button-loading i { border-color: rgba(29, 98, 184, .24); border-top-color: var(--blue); }.intent-choice .button-loading { justify-content: center; }.intent-choice.is-searching button { cursor: wait; opacity: .58; }.intent-choice.is-searching button.is-loading { min-height: 62px; opacity: 1; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .25), 0 10px 20px rgba(26, 91, 170, .22); }.intent-choice button.is-loading .intent-choice-label { display: none; }.intent-choice button.is-loading .button-loading { display: inline-flex; }.intent-note { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 9px 11px; border: 1px solid #d9e7f7; border-radius: 11px; background: #f6faff; color: #49607e; font-size: .82rem; }.intent-note button { min-height: 0; padding: 0; background: transparent; color: var(--blue); font-size: inherit; font-weight: 760; text-decoration: underline; }.intent-note button:hover, .intent-note button:focus-visible { transform: none; box-shadow: none; color: var(--blue-deep); }
.result-context { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; margin: 13px 0 14px; color: #49607e; font-size: .86rem; line-height: 1.45; }.result-context button { min-height: 0; padding: 0; background: transparent; color: var(--blue); font: inherit; font-weight: 760; text-decoration: underline; }.result-context button:hover, .result-context button:focus-visible { transform: none; box-shadow: none; color: var(--blue-deep); }
.results { margin-top: 26px; padding: 25px; border: 1px solid rgba(205, 221, 240, .95); background: rgba(249, 252, 255, .8); box-shadow: var(--shadow); }
.results > .section-heading { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.card { border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }.result-card, .guide-card { padding: 19px; }.primary { border-color: #91bde9; box-shadow: 0 10px 28px rgba(36, 91, 153, .08); }
.resource-card { --resource-color: var(--blue); --resource-tint: #f2f7ff; position: relative; border-color: color-mix(in srgb, var(--resource-color) 35%, #d7e3f3); border-left: 4px solid var(--resource-color); }.resource-card--tramite { --resource-color: #1d62b8; --resource-tint: #eef6ff; }.resource-card--payment { --resource-color: #16856a; --resource-tint: #effbf6; }.resource-card--payment-possible { --resource-color: #16856a; --resource-tint: #f2fbf8; border-left-style: dashed; }.resource-card--guide { --resource-color: #7356b6; --resource-tint: #f7f3ff; }.resource-marker { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; color: var(--resource-color); font-size: .7rem; font-weight: 850; letter-spacing: .085em; line-height: 1; text-transform: uppercase; }.resource-icon { display: grid; width: 23px; height: 23px; border-radius: 7px; place-items: center; background: var(--resource-tint); }.resource-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.resource-marker--compact { gap: 5px; margin-bottom: 5px; font-size: .62rem; letter-spacing: .07em; }.resource-marker--compact .resource-icon { width: 18px; height: 18px; border-radius: 5px; }.resource-marker--compact .resource-icon svg { width: 12px; height: 12px; }.resource-card .match { background: var(--resource-tint); color: var(--resource-color); }.resource-card .button-link { background: linear-gradient(135deg, color-mix(in srgb, var(--resource-color) 84%, #fff), var(--resource-color)); }
.result-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }.result-card h3 { margin: 0; }.result-label { margin-bottom: 5px; }
.match { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; min-width: 74px; margin: 0; padding: 7px 8px; border-radius: 12px; background: linear-gradient(145deg, #e6f2ff, #f5faff); color: var(--blue-deep); line-height: 1.04; }.match strong { font-size: 1.1rem; letter-spacing: -.035em; }.match span { margin-top: 3px; font-size: .67rem; font-weight: 760; }
.result-copy { margin: 11px 0 0; color: #3f526e; font-size: .92rem; line-height: 1.48; }.result-card .button-link { margin-top: 14px; padding: 9px 13px; font-size: .88rem; }.alternatives-title { margin: 19px 0 9px; font-size: 1rem; }.alternatives { display: grid; gap: 8px; }
.alternative-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }.alternative-card:hover { transform: translateY(-1px); border-color: #aecae9; box-shadow: 0 8px 17px rgba(33, 82, 139, .06); }.alternative-card h4, .alternative-card p { margin: 0; }.alternative-match { margin-top: 4px !important; color: var(--muted); font-size: .83rem; }.alternative-card a { flex: 0 0 auto; font-size: .86rem; font-weight: 750; text-decoration: none; }.alternative-card a:hover { text-decoration: underline; }
.related-results { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }.related-results > h3 { margin: 0 0 8px; color: #415b7b; font-size: .92rem; }.related-list { display: grid; gap: 7px; }.related-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .72); color: var(--ink); }.related-card strong, .related-card p, .related-card small { display: block; }.related-card strong { font-size: .86rem; }.related-card p, .related-card small { margin: 3px 0 0; color: var(--muted); font-size: .77rem; line-height: 1.35; }.related-card a { flex: 0 0 auto; font-size: .8rem; font-weight: 760; text-decoration: none; }.related-card a:hover, .related-card a:focus-visible { text-decoration: underline; }.related-guide > div > span { display: block; font-size: .86rem; font-weight: 760; }.related-guide button { flex: 0 0 auto; min-height: 34px; padding: 7px 10px; font-size: .8rem; }
.payment-result { margin-top: 20px; padding: 17px; border-radius: 16px; background: linear-gradient(135deg, var(--resource-tint), rgba(255, 255, 255, .96)); }.payment-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }.payment-result-heading .resource-marker { margin: 0; }.payment-relationship { margin: 0; color: var(--resource-color); font-size: .8rem; font-weight: 760; text-align: right; }.payment-list { display: grid; gap: 8px; }.payment-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--resource-color) 28%, #d7e3f3); border-radius: 13px; background: rgba(255, 255, 255, .88); }.payment-card strong, .payment-card p, .payment-card small { display: block; }.payment-card strong { color: var(--resource-color); font-size: .94rem; }.payment-card p, .payment-card small { margin: 4px 0 0; color: #4e6380; font-size: .82rem; line-height: 1.4; }.payment-card small { color: var(--muted); }.payment-card .button-link { flex: 0 0 auto; margin: 0; padding: 8px 11px; font-size: .82rem; white-space: nowrap; }
.clarification { margin-top: 15px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }.clarification label { margin-bottom: 7px; }.clarification button { min-height: 42px; margin-top: 10px; padding: 8px 13px; font-size: .9rem; }.disclaimer { margin: 15px 0 0; color: var(--muted); font-size: .8rem; }

.guide-results { background: rgba(246, 251, 255, .86); }.guide-card .result-card-top { margin-bottom: 6px; }.summary-label { margin: 0 0 4px; color: var(--muted); font-size: .75rem; font-weight: 760; }.guide-summary { margin: 0 0 16px; color: #3f526e; font-size: .96rem; line-height: 1.5; }
.guide-sections { display: grid; gap: 9px; }.guide-section { padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }.guide-section h3 { margin: 0 0 6px; color: var(--blue-deep); font-size: .97rem; }.guide-section p { margin: 0; color: #3f526e; font-size: .9rem; line-height: 1.46; }
.guide-fee { margin-top: 10px; border-color: var(--strong-line); }.confirmed-fee { background: #fbfffd; }.possible-fee { background: #f8fdfb; }.guide-fee .resource-marker { margin-bottom: 7px; }.guide-fee .payment-relationship { margin-bottom: 9px; text-align: left; }.guide-fee a { display: inline-block; margin-top: 7px; font-size: .88rem; font-weight: 750; }.guide-choice { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 10px; padding: 14px; }.guide-choice h3, .guide-choice p { margin: 0; }.guide-choice p { margin-top: 4px; color: var(--muted); font-size: .85rem; }.guide-choice button { flex: 0 0 auto; min-height: 40px; padding: 8px 11px; white-space: nowrap; }.guide-warnings { margin: 12px 0 0; padding: 11px 13px; border-left: 3px solid var(--blue); background: var(--soft-blue); color: #3f526e; font-size: .85rem; }.guide-warnings p { margin: 0; }.guide-warnings p + p { margin-top: 5px; }.official-note { margin-top: 7px !important; color: var(--muted) !important; font-size: .83rem !important; }

.debug { margin-top: 42px; padding: 22px; overflow: auto; border-radius: 18px; background: #102744; box-shadow: 0 16px 34px rgba(7, 26, 52, .22); color: #edf5ff; }.debug h2 { color: #fff; }.debug details { padding: 11px 0; border-top: 1px solid #4c6584; }.debug summary { cursor: pointer; text-transform: capitalize; }.debug pre { max-width: 100%; overflow: auto; white-space: pre-wrap; font-size: .78rem; }

.modal { position: fixed; z-index: 10; inset: 0; display: grid; padding: 18px; place-items: center; }.modal[hidden] { display: none; }.modal-backdrop { position: absolute; inset: 0; background: rgba(8, 27, 57, .62); backdrop-filter: blur(3px); }.modal-panel { position: relative; width: min(100%, 620px); max-height: min(720px, calc(100vh - 36px)); overflow: auto; border: 1px solid rgba(214, 228, 244, .9); border-radius: 20px; background: #fff; box-shadow: 0 28px 70px rgba(5, 20, 45, .36); }.catalogues-panel { width: min(100%, 680px); }.modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 23px 23px 16px; border-bottom: 1px solid var(--line); }.modal-header h2 { margin: 0; }.modal-close { flex: 0 0 auto; width: 35px; height: 35px; margin: -4px -4px 0 0; padding: 0; border-radius: 50%; background: transparent; color: var(--ink); font-size: 1.7rem; font-weight: 400; line-height: 1; }.modal-close:hover, .modal-close:focus-visible { background: #eaf3ff; color: var(--blue-dark); box-shadow: none; }.modal-content { padding: 20px 23px 25px; color: #3f526e; }.modal-content h3 { margin: 20px 0 8px; color: var(--blue-deep); font-size: 1rem; }.modal-content p:last-child { margin-bottom: 0; }.modal-disclaimer, .modal-note { padding: 12px 14px; border-left: 4px solid var(--blue); background: var(--soft-blue); color: var(--ink); }.catalogue-list, .catalogue-examples { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.catalogue-administration { border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }.catalogue-administration summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 12px; cursor: pointer; list-style: none; }.catalogue-administration summary::-webkit-details-marker { display: none; }.catalogue-administration summary::before { margin-right: 8px; color: var(--blue); font-size: 1.3rem; font-weight: 800; content: '›'; transition: transform .15s ease; }.catalogue-administration[open] summary::before { transform: rotate(90deg); }.catalogue-administration summary strong { margin-right: auto; }.catalogue-administration summary span { flex: 0 0 auto; color: var(--blue-dark); font-size: .84rem; font-weight: 750; }.catalogue-administration ul { max-height: 360px; margin: 0; padding: 0 12px 10px 32px; overflow: auto; border-top: 1px solid var(--line); }.catalogue-administration li { margin-top: 7px; padding-left: 1px; font-size: .87rem; line-height: 1.35; }.catalogue-administration a { text-decoration: none; }.catalogue-administration a:hover, .catalogue-administration a:focus-visible { text-decoration: underline; }.catalogue-examples { padding-left: 18px; list-style: disc; }.catalogue-examples li { padding-left: 2px; }

.project-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; width: min(100% - 40px, 1080px); margin: 28px auto 0; padding: 0 0 28px; }.project-banner { display: block; overflow: hidden; border: 0; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(33, 78, 137, .09); transition: box-shadow .2s ease, transform .2s ease; }.project-banner picture { display: flex; width: 100%; height: 100%; padding: 0 8px; align-items: center; justify-content: center; }.project-banner img { display: block; width: 100%; height: 95%; object-fit: contain; object-position: center; }.project-banner:hover { transform: translateY(-2px); box-shadow: 0 15px 32px rgba(33, 78, 137, .14); }.project-banner:focus-visible { outline: 3px solid rgba(48, 118, 203, .34); outline-offset: 3px; }
.site-footer { position: fixed; z-index: 5; right: 0; bottom: 0; left: 0; border-top: 1px solid rgba(207, 222, 241, .82); background: rgba(252, 254, 255, .92); box-shadow: 0 -5px 20px rgba(30, 78, 130, .05); backdrop-filter: blur(12px); }.footer-content { max-width: 1100px; margin: 0 auto; padding: 9px 22px 4px; color: var(--muted); font-size: .78rem; }.footer-links { display: flex; align-items: center; justify-content: center; gap: 12px 23px; min-height: 28px; }.footer-links > a[href*="tramites.juntaex.es"] { display: none; }.footer-content a { color: var(--muted); text-decoration: none; }.footer-content a:hover, .footer-content a:focus-visible { color: var(--blue); text-decoration: underline; }.footer-content nav { display: flex; gap: 14px; }.footer-coverage-row { display: flex; width: 100%; justify-content: center; }.footer-coverage-note { width: calc(100% - 44px); max-width: 1100px; justify-content: center; margin: 5px 0 10px; padding: 7px 9px; font-size: .7rem; line-height: 1.35; text-align: center; }
.legal-container { width: min(100% - 40px, 850px); margin: 0 auto; padding: 42px 0 100px; }.legal-header { margin-bottom: 34px; }.legal-content { max-width: 720px; padding: 29px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: var(--shadow); }.legal-content h1 { font-size: clamp(2.1rem, 5vw, 3.2rem); }.legal-content h2 { margin-top: 26px; }.legal-content p { color: #3f526e; }.text-link { font-weight: 750; }
.about-container { width: min(100% - 40px, 1040px); margin: 0 auto; padding: 38px 0 112px; }.about-header { margin-bottom: 26px; }.about-article { display: grid; gap: 20px; }.about-article > section { padding: 25px 27px; border: 1px solid rgba(205, 221, 240, .92); border-radius: 20px; background: rgba(255, 255, 255, .82); box-shadow: 0 12px 32px rgba(33, 78, 137, .06); }.about-article h2 { margin-bottom: 11px; color: var(--blue-deep); font-size: 1.25rem; }.about-article h3 { margin-bottom: 5px; font-size: .98rem; }.about-article p, .about-article li { color: #40536e; }.about-article ul { margin: 0; padding-left: 20px; }.about-article li + li { margin-top: 7px; }.about-hero { padding: 34px 36px; border: 1px solid #bed7f3; border-radius: 24px; background: linear-gradient(135deg, rgba(240, 248, 255, .96), rgba(250, 253, 255, .9)); box-shadow: var(--shadow); }.about-hero h1 { max-width: 780px; margin-bottom: 14px; font-size: clamp(2.25rem, 5vw, 4rem); }.about-lead { max-width: 760px; margin-bottom: 18px; font-size: 1.07rem; line-height: 1.62; }.about-disclaimer, .about-note { margin: 0; padding: 12px 14px; border-left: 4px solid var(--blue); background: rgba(255, 255, 255, .74); font-size: .88rem; line-height: 1.48; }.about-capabilities, .about-catalogues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }.about-capability, .about-catalogues section { padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }.about-capability { border-top: 3px solid var(--blue); }.about-capability--guide { border-top-color: #7356b6; }.about-capability--payment { border-top-color: #16856a; }.about-capability p, .about-catalogues p { margin: 0; font-size: .87rem; line-height: 1.48; }.about-catalogues section { display: flex; flex-direction: column; }.about-catalogues a { margin-top: 12px; color: var(--blue); font-size: .84rem; font-weight: 750; text-decoration: none; }.about-catalogues a:hover, .about-catalogues a:focus-visible { text-decoration: underline; }.about-note { margin-top: 15px !important; }.about-steps { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; counter-reset: steps; }.about-steps li { position: relative; min-height: 40px; padding: 10px 12px 10px 52px; border-radius: 12px; background: #f7fbff; font-size: .91rem; }.about-steps li::before { position: absolute; top: 10px; left: 12px; display: grid; width: 26px; height: 26px; border-radius: 8px; place-items: center; background: #e0efff; color: var(--blue); content: counter(steps); counter-increment: steps; font-size: .78rem; font-weight: 850; }.about-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.about-examples p { margin: 0; padding: 12px 14px; border: 1px solid #e0eaf5; border-radius: 13px; background: #fbfdff; font-size: .88rem; }.about-examples strong, .about-examples span { display: block; }.about-examples span { margin-top: 4px; color: var(--muted); line-height: 1.42; }.about-expectations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }.about-expectations > div + div { padding-left: 28px; border-left: 1px solid var(--line); }.about-technical { border-color: #cfc4eb !important; background: linear-gradient(145deg, #fbfaff, #f4f7ff) !important; }.about-flow { display: grid; gap: 9px; margin: 17px 0; }.about-flow > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 14px; padding: 12px 14px; border: 1px solid #ddd5f2; border-radius: 12px; background: rgba(255, 255, 255, .75); }.about-flow strong { color: #5c4696; }.about-flow span { color: #4d5c73; font-size: .88rem; line-height: 1.46; }

.official-catalogue-links { display: grid; gap: 7px; margin: 0 0 18px; padding: 0; list-style: none; }.official-catalogue-links a { display: block; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdff; color: var(--blue-deep); font-size: .86rem; font-weight: 700; text-decoration: none; transition: border-color .18s ease, background .18s ease; }.official-catalogue-links a:hover, .official-catalogue-links a:focus-visible { border-color: #9fc4e9; background: #f3f9ff; text-decoration: underline; }
.catalogue-coverage-note { display: flex; gap: 8px; align-items: flex-start; margin: 15px 0 0; padding: 9px 10px; border: 1px solid #dbe8f6; border-radius: 10px; background: rgba(246, 250, 255, .76); color: var(--muted); font-size: .75rem; line-height: 1.42; }
.catalogue-coverage-note[hidden] { display: none; }.catalogue-coverage-note > span:first-child { display: grid; flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; border: 1px solid #a9c9ed; border-radius: 50%; place-items: center; color: var(--blue); font-size: .66rem; font-weight: 800; }
.independent-notice { color: var(--blue-dark); }
.catalogue-counts { color: var(--blue-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.coverage-list { display: grid; gap: 8px; }.coverage-list section { padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: #fbfdff; }.coverage-list strong { color: var(--blue-deep); font-size: .9rem; }.coverage-list p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.4; }

.project-banners { margin-top: 56px; }

@media (max-width: 740px) {
  .container { width: min(100% - 30px, 960px); padding-top: 24px; }.mode-switch, .intent-choice { grid-template-columns: 1fr; }.mode-option { min-height: 0; padding: 12px 13px; }.project-banners { grid-template-columns: 1fr; gap: 14px; width: min(100% - 30px, 1080px); }.project-banner { aspect-ratio: 561 / 701; }.about-container { width: min(100% - 30px, 1040px); padding-top: 24px; }.about-capabilities, .about-catalogues { grid-template-columns: 1fr; }.about-expectations { grid-template-columns: 1fr; gap: 20px; }.about-expectations > div + div { padding-top: 20px; padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }.about-flow > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 560px) {
  body { padding-bottom: 214px; font-size: 15px; }.container { width: min(100% - 24px, 960px); padding-bottom: 34px; }.site-header { margin-bottom: 17px; }.header-bar { align-items: flex-start; margin-bottom: 22px; }.brand img { width: min(170px, 49vw); }.header-actions { flex-wrap: wrap; justify-content: flex-end; gap: 5px; }.help-button { padding: 7px 10px; font-size: .76rem; } h1 { font-size: clamp(2rem, 10vw, 2.65rem); }.intro { font-size: .94rem; }.consultation { padding: 17px 15px; border-radius: 18px; }.results { padding: 19px 16px; border-radius: 18px; }.section-heading { margin-bottom: 16px; }.administration-picker select { width: 100%; }.search-actions { align-items: stretch; }.search-actions button { flex: 1; }.clear-button { margin-left: 0; justify-content: center; }.result-card, .guide-card { padding: 15px; }.result-card-top { gap: 10px; }.match { min-width: 64px; }.alternative-card, .guide-choice, .payment-card { align-items: flex-start; flex-direction: column; gap: 7px; }.payment-result { padding: 15px; }.payment-result-heading { display: block; }.payment-result-heading h3 { margin-top: 3px; }.modal-header, .modal-content { padding-right: 18px; padding-left: 18px; }.footer-content { padding: 8px 15px 3px; text-align: center; }.footer-links { flex-direction: column; gap: 4px; }.footer-coverage-note { width: calc(100% - 30px); margin: 5px 0 9px; text-align: center; }.legal-container { width: min(100% - 30px, 850px); padding: 26px 0 70px; }.legal-content { padding: 22px 18px; }.about-container { width: min(100% - 24px, 1040px); padding-bottom: 34px; }.about-hero, .about-article > section { padding: 21px 17px; border-radius: 18px; }.about-hero h1 { font-size: clamp(2.15rem, 11vw, 3rem); }.about-examples { grid-template-columns: 1fr; }
}
