:root {
  --navy-950: #0c2433;
  --navy-900: #123447;
  --navy-800: #16485c;
  --atlantic-700: #176b78;
  --atlantic-500: #2b8993;
  --atlantic-100: #dff0f0;
  --sand-50: #fcfaf6;
  --sand-100: #f7f3ec;
  --sand-200: #eee6da;
  --gold-500: #bd9354;
  --gold-300: #d8bd8d;
  --text: #17232c;
  --muted: #60717b;
  --white: #fff;
  --success: #246b50;
  --warning: #80530f;
  --error: #9e3434;
  --line: #d8e0e2;
  --shadow-sm: 0 8px 24px rgba(12, 36, 51, .08);
  --shadow-lg: 0 28px 70px rgba(12, 36, 51, .16);
  --radius-sm: .65rem;
  --radius-md: 1.1rem;
  --radius-lg: 1.8rem;
  --container: 78rem;
  --narrow: 48rem;
  --header-height: 4.8rem;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; min-width: 20rem; color: var(--text); background: var(--sand-50); font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
html[dir="rtl"] body { font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif; line-height: 1.85; text-align: right; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--atlantic-700); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--navy-950); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: .2rem solid #f2b84c; outline-offset: .2rem; }
h1, h2, h3 { color: var(--navy-950); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3 { letter-spacing: 0; }
h1 { margin: 0 0 1.25rem; font-size: clamp(2.45rem, 8vw, 5.2rem); font-weight: 750; }
h2 { margin: 0 0 1rem; font-size: clamp(1.8rem, 5vw, 3.1rem); }
h3 { margin: 0 0 .65rem; font-size: 1.2rem; }
p { margin: 0 0 1.25rem; }
ul, ol { padding-inline-start: 1.35rem; }
.container { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.container.narrow, .narrow { width: min(100% - 2rem, var(--narrow)); margin-inline: auto; }
.section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.sand-section { background: var(--sand-100); }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; z-index: 1000; inset-block-start: .5rem; inset-inline-start: .5rem; transform: translateY(-180%); padding: .8rem 1rem; color: var(--navy-950); background: var(--white); border-radius: .4rem; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; color: var(--atlantic-700); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { width: 1.8rem; height: 1px; background: var(--gold-500); content: ""; }
html[dir="rtl"] .eyebrow { letter-spacing: 0; }
.button { display: inline-flex; min-height: 2.9rem; align-items: center; justify-content: center; gap: .5rem; padding: .72rem 1.15rem; border: 1px solid transparent; border-radius: 999px; font-weight: 750; line-height: 1.15; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--white); background: var(--atlantic-700); box-shadow: 0 8px 22px rgba(23,107,120,.24); }
.button-primary:hover { color: var(--white); background: var(--navy-900); }
.button-secondary { color: var(--navy-950); background: transparent; border-color: var(--atlantic-700); }
.button-secondary:hover { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.button-light { color: var(--navy-950); background: var(--white); }
.button-outline-light { color: var(--white); border-color: rgba(255,255,255,.55); }
.button-outline-light:hover { color: var(--navy-950); background: var(--white); }
.button-quiet { color: var(--navy-900); background: transparent; border-color: var(--line); }
.button-whatsapp { color: #fff; background: #176a4a; }
.button-large { min-height: 3.35rem; padding-inline: 1.5rem; }
.button-group { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.6rem; }
.text-link { display: inline-flex; gap: .4rem; align-items: center; font-weight: 800; text-decoration: none; }

.announcement { position: relative; z-index: 50; color: #effbfc; background: var(--navy-950); font-size: .82rem; }
.announcement-inner { display: flex; min-height: 2.35rem; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .45rem; }
.announcement p { margin: 0; }
.announcement a { flex: none; color: var(--gold-300); font-weight: 700; }
.site-header { position: sticky; z-index: 40; top: 0; height: var(--header-height); background: rgba(252,250,246,.94); border-bottom: 1px solid rgba(12,36,51,.1); backdrop-filter: blur(15px); }
.header-inner { display: flex; height: 100%; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--navy-950); text-decoration: none; }
.brand span:last-child { display: grid; line-height: 1.05; }
.brand strong { max-width: 14rem; overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.brand small { margin-top: .28rem; color: var(--muted); font-size: .68rem; font-weight: 600; }
.brand-mark { position: relative; display: grid; width: 2.35rem; height: 2.35rem; flex: none; place-items: center; overflow: hidden; background: var(--navy-950); border-radius: .55rem 1rem .55rem 1rem; }
.brand-mark::before, .brand-mark::after, .brand-mark i::before, .brand-mark i::after { position: absolute; width: .54rem; height: .54rem; border: 1px solid var(--gold-300); content: ""; transform: rotate(45deg); }
.brand-mark::before { inset: .4rem auto auto .4rem; }.brand-mark::after { inset: .4rem .4rem auto auto; }.brand-mark i::before { inset: auto auto .4rem .4rem; }.brand-mark i::after { inset: auto .4rem .4rem auto; }
.menu-toggle { display: grid; width: 2.9rem; height: 2.9rem; padding: .7rem; border: 1px solid var(--line); background: var(--white); border-radius: 50%; place-content: center; gap: .27rem; }
.menu-toggle i { display: block; width: 1.2rem; height: 2px; background: var(--navy-950); }
.primary-nav { position: fixed; inset: calc(var(--header-height) + 2.35rem) 0 auto; display: none; max-height: calc(100dvh - var(--header-height) - 2.35rem); padding: 1.2rem 1rem 6rem; overflow-y: auto; background: var(--sand-50); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-lg); }
.primary-nav.is-open { display: grid; gap: .25rem; }
.primary-nav > a:not(.button), .language-menu > button { display: flex; width: 100%; min-height: 3.2rem; align-items: center; justify-content: space-between; padding: .65rem .8rem; color: var(--navy-950); background: transparent; border: 0; border-bottom: 1px solid var(--line); font-weight: 700; text-decoration: none; text-align: inherit; }
.language-menu { position: relative; }
.language-options { display: none; padding: .4rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.language-options.is-open { display: grid; }
.language-options a { min-height: 2.8rem; padding: .55rem .7rem; color: var(--navy-950); border-radius: .35rem; text-decoration: none; }
.language-options a[aria-current="page"] { background: var(--atlantic-100); font-weight: 800; }
.header-cta { margin-top: .7rem; }

.hero { position: relative; overflow: hidden; color: var(--white); background: var(--navy-950); }
.home-hero::before { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(45deg, transparent 47%, rgba(216,189,141,.24) 48%, rgba(216,189,141,.24) 52%, transparent 53%), linear-gradient(-45deg, transparent 47%, rgba(43,137,147,.24) 48%, rgba(43,137,147,.24) 52%, transparent 53%); background-size: 4.5rem 4.5rem; content: ""; mask-image: linear-gradient(90deg, transparent, #000 50%, #000); }
.hero-grid { position: relative; display: grid; gap: 3rem; }
.home-hero .hero-grid { min-height: calc(100svh - var(--header-height) - 2.35rem); align-items: center; padding-block: 4.5rem; }
.home-hero h1 { color: var(--white); }
.hero-copy { position: relative; z-index: 2; }
.hero-lead { max-width: 44rem; color: #d9e7eb; font-size: clamp(1.08rem, 2.8vw, 1.3rem); }
.hero .eyebrow { color: var(--gold-300); }
.hero .button-secondary { color: var(--white); border-color: rgba(255,255,255,.48); }
.hero .button-secondary:hover { color: var(--navy-950); background: var(--white); }
.trust-microcopy { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: 1.3rem 0 0; padding: 0; color: #bfd0d5; font-size: .8rem; list-style: none; }
.trust-microcopy li::before { margin-inline-end: .4rem; color: var(--gold-300); content: "•"; }
.hero-visual { position: relative; min-height: 22rem; }
.route-orbit { position: absolute; inset: 50% auto auto 50%; width: min(72vw, 20rem); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; transform: translate(-50%,-50%); }
html[dir="rtl"] .route-orbit { transform: translate(50%,-50%); }
.route-orbit::before, .route-orbit::after { position: absolute; inset: 15%; border: 1px solid rgba(189,147,84,.42); border-radius: 50%; content: ""; }.route-orbit::after { inset: 34%; background: radial-gradient(circle,var(--gold-500) 0 13%,transparent 14%); }
.route-orbit i { position: absolute; width: .75rem; height: .75rem; background: var(--atlantic-500); border: 3px solid var(--navy-950); border-radius: 50%; box-shadow: 0 0 0 1px var(--atlantic-500); }.route-orbit i:nth-child(1){top:5%;left:44%}.route-orbit i:nth-child(2){bottom:18%;left:2%}.route-orbit i:nth-child(3){right:2%;bottom:23%}
.route-card { position: absolute; z-index: 2; display: grid; min-width: 10rem; padding: 1rem; background: rgba(255,255,255,.95); border: 1px solid rgba(255,255,255,.3); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); }
.route-card span { color: var(--gold-500); font-size: .72rem; font-weight: 900; }.route-card strong { color: var(--navy-950); font-size: .9rem; }.route-card-a { inset: 1rem auto auto 0; }.route-card-b { inset: auto 0 1rem auto; }
.portugal-tile { position: absolute; inset: 50% auto auto 50%; display: grid; width: 7rem; aspect-ratio: 1; grid-template: repeat(2,1fr)/repeat(2,1fr); overflow: hidden; background: var(--sand-100); border: .55rem solid var(--white); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); transform: translate(-50%,-50%) rotate(8deg); }
html[dir="rtl"] .portugal-tile { transform: translate(50%,-50%) rotate(-8deg); }
.portugal-tile i { border: 1px solid var(--atlantic-500); }.portugal-tile i:nth-child(1),.portugal-tile i:nth-child(4){background: linear-gradient(45deg,transparent 40%,var(--atlantic-500) 41% 50%,transparent 51%)}.portugal-tile i:nth-child(2),.portugal-tile i:nth-child(3){background: radial-gradient(circle,var(--gold-500) 0 13%,transparent 14%)}
.trust-strip { color: var(--navy-950); background: var(--sand-200); border-block: 1px solid #e2d6c6; }
.trust-strip-grid { display: grid; grid-template-columns: 1fr; }
.trust-strip-grid div { display: flex; min-height: 3.7rem; align-items: center; gap: .6rem; padding: .65rem 0; border-bottom: 1px solid #dfd3c3; font-size: .86rem; font-weight: 750; }.trust-strip-grid div:last-child{border-bottom:0}.trust-strip-grid span{color:var(--gold-500);font-size:.65rem}

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.section-heading > p { max-width: 28rem; color: var(--muted); }
.card-grid { display: grid; gap: 1rem; }
.service-card { position: relative; display: flex; flex-direction: column; padding: 1.4rem; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.service-card::before { position: absolute; inset-block: 0; inset-inline-start: 0; width: .24rem; background: linear-gradient(var(--gold-500),var(--atlantic-500)); content: ""; }
.service-card h2,.service-card h3 { margin-top: .6rem; }.service-card h2 a,.service-card h3 a{color:var(--navy-950);text-decoration:none}.service-card p{color:var(--muted)}
.card-code { width: fit-content; padding: .25rem .55rem; color: var(--atlantic-700); background: var(--atlantic-100); border-radius: 999px; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.card-meta { display: grid; gap: .45rem; margin: auto 0 1.25rem; padding-top: .9rem; color: var(--muted); border-top: 1px solid var(--line); font-size: .77rem; }
.finder-section { color: var(--white); background: linear-gradient(130deg,var(--navy-950),var(--navy-800)); }
.finder-section h2 { color: var(--white); }.finder-section .eyebrow{color:var(--gold-300)}.finder-section p{color:#d3e1e5}
.finder-grid { display: grid; gap: 2.5rem; align-items: start; }
.finder-card { display: grid; gap: 1rem; padding: 1.4rem; color: var(--text); background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.finder-card label { display: grid; gap: .4rem; color: var(--navy-950); font-weight: 750; }
.finder-card select { width: 100%; min-height: 3.1rem; padding: .65rem .8rem; color: var(--text); background: var(--sand-50); border: 1px solid #aebcc1; border-radius: .55rem; }
.result-caution { padding: 1rem; color: var(--navy-950)!important; background: var(--atlantic-100); border-inline-start: .25rem solid var(--atlantic-700); border-radius: .4rem; }
.process-section { background: var(--sand-100); }.process-grid{display:grid;gap:1rem;padding:0;list-style:none;counter-reset:steps}.process-grid li{position:relative;min-height:9rem;padding:1.25rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.process-grid li span{display:block;margin-bottom:1rem;color:var(--gold-500);font-size:.8rem;font-weight:900}.process-grid li:not(:last-child)::after{position:absolute;z-index:2;inset:auto 50% -.9rem auto;color:var(--gold-500);content:"↓"}.process-grid h3{font-size:1.05rem}
.two-column { display: grid; gap: 2.5rem; }
.feature-list { display: grid; gap: .85rem; }.feature-list>div{display:flex;gap:1rem;padding:1.1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.feature-list>div>span{display:grid;width:2rem;height:2rem;flex:none;color:var(--white);background:var(--atlantic-700);border-radius:50%;place-items:center}.feature-list p{margin:0;color:var(--muted);font-size:.9rem}
.packages-section{background:var(--navy-950)}.packages-section h2{color:var(--white)}.packages-section .eyebrow{color:var(--gold-300)}.package-grid{display:grid;gap:1rem}.package-card{padding:1.3rem;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.package-card>span{color:var(--atlantic-700);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.package-card p{color:var(--muted)}.package-card>a:not(.button){font-weight:800;text-decoration:none}.package-large{display:flex;flex-direction:column}.package-large .button{margin-top:auto}.package-large ul{margin-bottom:1.4rem}.exclusion{padding-top:.9rem;border-top:1px solid var(--line);font-size:.85rem}
.journey-section{overflow:hidden}.journey-line{display:flex;gap:0;margin:2rem 0 0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none}.journey-line li{position:relative;min-width:12rem;padding:1rem 1.5rem 1rem 0;color:var(--navy-950);font-weight:750;scroll-snap-align:start}.journey-line li::after{position:absolute;inset:1.7rem .4rem auto auto;color:var(--gold-500);content:"→"}.journey-line li:last-child::after{display:none}.journey-line span{display:grid;width:2rem;height:2rem;margin-bottom:.7rem;color:var(--white);background:var(--atlantic-700);border-radius:50%;place-items:center;font-size:.75rem}.journey-line::-webkit-scrollbar{height:.4rem}.journey-line::-webkit-scrollbar-thumb{background:var(--gold-500);border-radius:1rem}html[dir="rtl"] .journey-line li{padding:1rem 0 1rem 1.5rem}html[dir="rtl"] .journey-line li::after{inset:1.7rem auto auto .4rem;content:"←"}
.sources-section{background:var(--sand-100)}.source-cloud{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.source-cloud a{display:flex;min-width:0;min-height:5rem;align-items:center;justify-content:space-between;gap:.4rem;padding:1rem;overflow-wrap:anywhere;color:var(--navy-950);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:800;text-decoration:none}.source-cloud span{flex:none;color:var(--gold-500)}
.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{display:flex;width:100%;min-height:4.3rem;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;color:var(--navy-950);background:transparent;border:0;font-weight:800;text-align:inherit;cursor:pointer}.faq-item button span{display:grid;width:1.8rem;height:1.8rem;flex:none;border:1px solid var(--line);border-radius:50%;place-items:center;transition:transform .2s}.faq-item button[aria-expanded="true"] span{transform:rotate(45deg)}.faq-item [role="region"]{padding:0 2.5rem 1rem 0;color:var(--muted)}html[dir="rtl"] .faq-item [role="region"]{padding:0 0 1rem 2.5rem}
.final-cta{color:var(--white);background:linear-gradient(125deg,var(--atlantic-700),var(--navy-950));}.final-cta h2{color:var(--white)}.final-cta .eyebrow{color:var(--gold-300)}.final-cta-inner{display:grid;gap:1.5rem;align-items:center}.final-cta p{color:#dcebed}.final-cta .button-group{margin:0}

.breadcrumbs{padding-block:1rem;font-size:.8rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.breadcrumbs li:not(:last-child)::after{margin-inline-start:.35rem;color:var(--gold-500);content:"/"}.breadcrumbs a{color:var(--muted)}
.page-hero{position:relative;padding-block:clamp(4.5rem,9vw,7.5rem);overflow:hidden;background:var(--sand-100);border-bottom:1px solid var(--sand-200)}.page-hero::after{position:absolute;inset:-6rem -6rem auto auto;width:20rem;aspect-ratio:1;opacity:.14;background:repeating-linear-gradient(45deg,var(--atlantic-700) 0 1px,transparent 1px 18px);border-radius:50%;content:""}.page-hero .container{position:relative;z-index:1}.page-hero p:not(.eyebrow){max-width:46rem;color:var(--muted);font-size:1.12rem}.page-hero.compact{padding-block:3.5rem}.service-hero{background:linear-gradient(130deg,var(--sand-100),#e5f1f1)}.service-hero .hero-grid{align-items:center}.service-status{display:grid;gap:.35rem;padding:1.4rem;background:var(--navy-950);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.service-status span{color:var(--gold-300);font-size:.75rem;font-weight:800;text-transform:uppercase}.service-status strong{margin-bottom:.7rem;color:var(--white)}.service-status p{margin:0;color:#d2e2e6;font-size:.86rem}.review-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;margin-top:1.3rem;color:var(--muted);font-size:.82rem;font-weight:700}.review-meta span{padding:.45rem .7rem;background:var(--white);border:1px solid var(--line);border-radius:999px}
.content-grid{display:grid;gap:2rem;align-items:start}.prose{min-width:0}.prose>section{padding-block:1.4rem;border-bottom:1px solid var(--line)}.prose>section:first-child{padding-top:0}.prose h2{font-size:clamp(1.45rem,4vw,2rem)}.prose p,.prose li{color:#394b55}.prose li+li{margin-top:.5rem}.article-intro{font-size:1.22rem;color:var(--navy-900)!important}.side-cta{position:sticky;top:7rem;padding:1.4rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.side-cta h2{font-size:1.45rem}.side-cta .button{width:100%;margin-bottom:1rem}.side-cta .text-link{display:flex;justify-content:center}.notice{padding:1rem 1.1rem;border-radius:var(--radius-sm);margin-block:1.5rem}.notice p{margin:.25rem 0 0}.notice-info{background:var(--atlantic-100);border-inline-start:.25rem solid var(--atlantic-700)}.notice-warning{background:#fff2d7;border-inline-start:.25rem solid var(--warning)}.check-list{padding:0;list-style:none}.check-list li{position:relative;padding-inline-start:1.8rem}.check-list li::before{position:absolute;inset-inline-start:0;color:var(--success);font-weight:900;content:"✓"}.mini-process{display:grid;gap:.7rem;padding:0;list-style:none}.mini-process li{display:flex;align-items:center;gap:.8rem;padding:.8rem;background:var(--sand-100);border-radius:.55rem}.mini-process span{display:grid;width:1.8rem;height:1.8rem;flex:none;color:var(--white);background:var(--atlantic-700);border-radius:50%;place-items:center;font-size:.72rem}.official-sources a{overflow-wrap:anywhere}.detailed-process{display:grid;gap:1rem;max-width:58rem;margin:0 auto 3rem;padding:0;list-style:none}.detailed-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.detailed-process>li>span{color:var(--gold-500);font-size:.8rem;font-weight:900}.detailed-process p{margin:0;color:var(--muted)}
.resource-grid{display:grid;gap:1rem}.resource-card{padding:1.4rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.resource-card>span{display:block;margin-bottom:1rem;color:var(--muted);font-size:.75rem}.resource-card h2{font-size:1.35rem}.resource-card h2 a{color:var(--navy-950);text-decoration:none}.resource-card p{color:var(--muted)}
.role-grid,.professional-grid{display:grid;gap:1rem}.role-grid article,.professional-card{padding:1.3rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.role-grid article>span{color:var(--gold-500);font-size:2rem}.role-grid p{color:var(--muted)}.empty-evidence{max-width:48rem;margin-bottom:2rem;padding:2rem;background:var(--navy-950);border-radius:var(--radius-lg)}.empty-evidence h2{color:var(--white)}.empty-evidence p:not(.eyebrow){color:#d2e2e6}.empty-evidence .eyebrow{color:var(--gold-300)}

.form-layout{display:grid;gap:2rem;align-items:start}.form-card{padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lead-form{display:grid;gap:1rem}.lead-form fieldset{display:grid;gap:1rem;margin:0;padding:0;border:0}.lead-form legend{margin-bottom:1rem;color:var(--navy-950);font-size:1.25rem;font-weight:800}.field{display:grid;gap:.35rem}.field label{color:var(--navy-950);font-size:.9rem;font-weight:750}.field input:not([type="checkbox"]),.field select,.field textarea{width:100%;min-height:3.15rem;padding:.7rem .8rem;color:var(--text);background:var(--sand-50);border:1px solid #9aaeb5;border-radius:.55rem}.field textarea{min-height:8rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--atlantic-700);box-shadow:0 0 0 .18rem rgba(43,137,147,.18);outline:0}.field.checkbox{display:block;padding:.75rem;background:var(--sand-100);border-radius:.55rem}.field.checkbox label{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}.field.checkbox input{width:1.15rem;height:1.15rem;flex:none;margin-top:.2rem;accent-color:var(--atlantic-700)}.has-error input,.has-error select,.has-error textarea{border-color:var(--error)!important}.field-error{margin:0;color:var(--error);font-size:.82rem}.error-summary{padding:1rem;color:#5c1111;background:#fceaea;border:1px solid #e8abab;border-radius:var(--radius-sm)}.error-summary h2{font-size:1.1rem;color:#5c1111}.form-note{color:var(--muted);font-size:.8rem}.form-safety{padding:1rem;background:var(--atlantic-100);border-radius:.55rem;font-size:.88rem}.honeypot{position:absolute!important;left:-9999px!important}.form-progress{display:none}.js .form-progress{display:grid;gap:.4rem}.form-progress>div{height:.35rem;overflow:hidden;background:var(--sand-200);border-radius:1rem}.form-progress i{display:block;width:33.333%;height:100%;background:var(--atlantic-700);transition:width .25s}.js [data-form-step][hidden]{display:none}.form-step-actions{display:flex;justify-content:space-between;gap:.7rem}.form-aside{padding:1.3rem;background:var(--navy-950);border-radius:var(--radius-md)}.form-aside h2{color:var(--white)}.form-aside li{color:#d5e4e8}.form-aside a{color:var(--gold-300)}
.success-page{text-align:center}.success-icon{display:grid;width:5rem;height:5rem;margin:0 auto 1.5rem;color:var(--white);background:var(--success);border-radius:50%;font-size:2rem;place-items:center}.reference-box{display:grid;gap:.25rem;width:fit-content;margin:1.5rem auto;padding:1rem 1.5rem;background:var(--sand-100);border:1px solid var(--line);border-radius:var(--radius-sm)}.reference-box strong{font-size:1.3rem;letter-spacing:.08em}.success-page .button-group{justify-content:center}.error-page{text-align:center}.error-code{display:block;color:var(--gold-500);font-size:clamp(5rem,20vw,10rem);font-weight:900;line-height:1}.error-page .button-group{justify-content:center}

.site-footer{padding:4rem 0 7rem;color:#cbdadd;background:#071a25}.footer-grid{display:grid;gap:2rem}.site-footer h2{color:var(--white);font-size:1rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:.45rem}.site-footer a{color:#cbdadd;text-decoration:none}.site-footer a:hover{color:var(--white)}.footer-brand p{margin-top:1.2rem;color:#9fb4bb;font-size:.8rem}.brand-light strong{color:var(--white)}.brand-light small{color:#a9bec4}.footer-contact{display:grid;gap:1rem;margin-top:2.5rem;padding-block:1.5rem;border-block:1px solid rgba(255,255,255,.12)}.footer-contact>div{display:grid;gap:.35rem}.footer-actions a{overflow-wrap:anywhere}.link-button{width:fit-content;padding:0;color:#cbdadd;background:transparent;border:0;text-decoration:underline;cursor:pointer}.footer-bottom{display:grid;gap:.3rem;padding-top:1.2rem;color:#8fa6ae;font-size:.75rem}.footer-bottom p{margin:0}.mobile-actions{position:fixed;z-index:35;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.55rem max(.6rem,env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.6rem,env(safe-area-inset-left));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(12,36,51,.12);backdrop-filter:blur(12px)}.mobile-actions .button{min-height:3rem;padding:.55rem .65rem;font-size:.78rem}
.cookie-panel{position:fixed;z-index:100;inset:auto .65rem calc(4.4rem + env(safe-area-inset-bottom));max-width:44rem;padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.cookie-panel[hidden]{display:none}.cookie-panel h2{font-size:1.2rem}.cookie-panel p{color:var(--muted);font-size:.86rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cookie-actions .button{min-height:2.7rem;font-size:.76rem}.cookie-options{display:flex;flex-wrap:wrap;gap:1rem;margin-block:.7rem}.cookie-options label{font-size:.85rem}.cookie-options[hidden]{display:none}

@media (min-width: 35rem){.trust-strip-grid{grid-template-columns:repeat(2,1fr)}.trust-strip-grid div:nth-last-child(-n+2){border-bottom:0}.card-grid,.package-grid,.resource-grid,.role-grid,.professional-grid{grid-template-columns:repeat(2,1fr)}.form-card{padding:1.6rem}.footer-grid{grid-template-columns:1.35fr 1fr}}
@media (min-width: 48rem){.container{width:min(100% - 3rem,var(--container))}.hero-grid,.finder-grid,.two-column,.final-cta-inner,.service-hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}.home-hero .hero-grid{min-height:44rem}.hero-visual{min-height:31rem}.trust-strip-grid{grid-template-columns:repeat(5,1fr)}.trust-strip-grid div{justify-content:center;padding-inline:.7rem;border-bottom:0;border-inline-end:1px solid #dfd3c3}.trust-strip-grid div:last-child{border-inline-end:0}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}.process-grid li:not(:last-child)::after{inset:50% -.9rem auto auto;content:"→"}html[dir="rtl"] .process-grid li:not(:last-child)::after{inset:50% auto auto -.9rem;content:"←"}.source-cloud{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,20rem)}.form-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,22rem)}.form-layout:has(.form-card:last-child){grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr)}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr)}.footer-contact,.footer-bottom{grid-template-columns:1fr 1fr;align-items:end}.footer-actions,.footer-bottom p:last-child{text-align:end}html[dir="rtl"] .footer-actions,html[dir="rtl"] .footer-bottom p:last-child{text-align:left}}
@media (min-width: 66rem){.site-header{height:5.2rem}.header-inner{gap:1.4rem}.menu-toggle{display:none}.primary-nav{position:static;display:flex;max-height:none;align-items:center;gap:.1rem;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}.primary-nav> a:not(.button),.language-menu>button{width:auto;min-height:2.8rem;padding:.6rem .7rem;border:0;font-size:.82rem;white-space:nowrap}.language-menu>button{cursor:pointer}.language-options{position:absolute;inset:calc(100% + .5rem) 0 auto auto;min-width:10rem}.header-cta{margin:0 0 0 .35rem}.home-hero .hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(24rem,.84fr)}.service-grid{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:repeat(6,1fr)}.package-grid{grid-template-columns:repeat(4,1fr)}.resource-grid{grid-template-columns:repeat(3,1fr)}.role-grid,.professional-grid{grid-template-columns:repeat(5,1fr)}.mobile-actions{display:none}.site-footer{padding-bottom:2rem}.cookie-panel{inset:auto 1.2rem 1.2rem auto}.cookie-panel{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.cookie-options{grid-column:1/-1}.cookie-actions{justify-content:end}}
@media (min-width: 86rem){.primary-nav> a:not(.button),.language-menu>button{padding-inline:.9rem;font-size:.88rem}.brand strong{max-width:18rem;font-size:1rem}}
@media (max-width: 30rem){.announcement-inner{align-items:flex-start}.announcement p{max-width:16rem}.section-heading{display:block}.section-heading>a{margin-top:.5rem}.button-group .button{width:100%}.source-cloud{grid-template-columns:1fr}.cookie-actions .button{width:100%}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.announcement,.site-header,.mobile-actions,.cookie-panel,.final-cta,.button,.side-cta{display:none!important}.page-hero,.section{padding-block:1.5rem}.site-footer{background:#fff;color:#000}.site-footer *{color:#000!important}}
