*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.container { width: 100%; max-width: 1180px; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-4 { margin-top: 1rem; }
.mt-12 { margin-top: 3rem; }
.mt-20 { margin-top: 5rem; }
.mb-1 { margin-bottom: .25rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mr-2 { margin-right: .5rem; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.grid { display: grid; }
.hidden { display: none; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: .5rem; }
.gap-3 { gap: .75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.space-x-6 > * + * { margin-left: 1.5rem; }
.space-y-0\.5 > * + * { margin-top: .125rem; }
.space-y-2 > * + * { margin-top: .5rem; }
.space-y-3 > * + * { margin-top: .75rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }
.w-16 { width: 4rem; }
.w-24 { width: 6rem; }
.h-16 { height: 4rem; }
.h-24 { height: 6rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-lg { max-width: 32rem; }
.min-w-\[140px\] { min-width: 140px; }
.min-w-\[160px\] { min-width: 160px; }
.min-w-\[200px\] { min-width: 200px; }
.flex-shrink-0 { flex-shrink: 0; }
.appearance-none { appearance: none; }
.cursor-pointer { cursor: pointer; }
.overflow-hidden { overflow: hidden; }
.relative { position: relative; }
.absolute { position: absolute; }
.left-3 { left: .75rem; }
.right-3 { right: .75rem; }
.top-1\/2 { top: 50%; }
.-translate-y-1\/2 { transform: translateY(-50%); }
.pointer-events-none { pointer-events: none; }
.object-contain { object-fit: contain; }
.rounded { border-radius: .25rem; }
.rounded-lg { border-radius: .5rem; }
.rounded-xl { border-radius: .75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-full { border-radius: 9999px; }
.border-b { border-bottom: 1px solid; }
.border-t { border-top: 1px solid; }
.border-white\/20 { border-color: rgb(255 255 255 / .2); }
.bg-blue-900 { background: #1e3a8a; }
.bg-orange-600 { background: #ea580c; }
.bg-emerald-800 { background: #065f46; }
.bg-white { background: #fff; }
.bg-gray-100 { background: #f3f4f6; }
.bg-blue-100 { background: #dbeafe; }
.bg-blue-600 { background: #2563eb; }
.bg-white\/10 { background: rgb(255 255 255 / .1); }
.bg-white\/20 { background: rgb(255 255 255 / .2); }
.bg-white\/90 { background: rgb(255 255 255 / .9); }
.p-2 { padding: .5rem; }
.p-4 { padding: 1rem; }
.p-8 { padding: 2rem; }
.px-2 { padding-left: .5rem; padding-right: .5rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-2\.5 { padding-top: .625rem; padding-bottom: .625rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.pl-4 { padding-left: 1rem; }
.pl-10 { padding-left: 2.5rem; }
.pr-4 { padding-right: 1rem; }
.pr-10 { padding-right: 2.5rem; }
.text-center { text-align: center; }
.text-xs { font-size: .75rem; line-height: 1rem; }
.text-sm { font-size: .875rem; line-height: 1.25rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.text-white { color: #fff; }
.text-white\/80 { color: rgb(255 255 255 / .8); }
.text-gray-400 { color: #9ca3af; }
.text-gray-500 { color: #6b7280; }
.text-gray-600 { color: #4b5563; }
.text-gray-700 { color: #374151; }
.text-gray-800 { color: #1f2937; }
.text-blue-600 { color: #2563eb; }
.text-blue-700 { color: #1d4ed8; }
.text-red-500 { color: #ef4444; }
.underline { text-decoration: underline; }
.break-words {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shadow { box-shadow: 0 1px 3px rgb(0 0 0 / .12), 0 1px 2px rgb(0 0 0 / .08); }
.shadow-md { box-shadow: 0 4px 6px rgb(0 0 0 / .1); }
.shadow-lg { box-shadow: 0 10px 15px rgb(0 0 0 / .12); }
.transition { transition: all .18s ease; }
.opacity-50 { opacity: .5; }
.whitespace-nowrap { white-space: nowrap; }
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.backdrop-blur-md { backdrop-filter: blur(12px); }
.placeholder-gray-400::placeholder { color: #9ca3af; }
.hover\:underline:hover { text-decoration: underline; }
.hover\:bg-gray-100:hover { background: #f3f4f6; }
.hover\:bg-blue-700:hover { background: #1d4ed8; }
.hover\:bg-white\/30:hover { background: rgb(255 255 255 / .3); }
.hover\:shadow-lg:hover { box-shadow: 0 10px 15px rgb(0 0 0 / .12); }
.hover\:drop-shadow-lg:hover { filter: drop-shadow(0 10px 8px rgb(0 0 0 / .2)); }
.focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
.focus\:ring-2:focus { box-shadow: 0 0 0 2px rgb(255 255 255 / .5); }
.focus\:ring-white\/50:focus { box-shadow: 0 0 0 2px rgb(255 255 255 / .5); }

input[type="text"],
input[type="url"],
input[type="email"],
select,
textarea {
  border: 1px solid #d1d5db;
}

form input:not([type="hidden"]),
form select,
form textarea {
  width: 100%;
  padding: .625rem .75rem;
  border-radius: .5rem;
}

@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .text-5xl { font-size: 2.25rem; line-height: 2.5rem; }
  .text-4xl { font-size: 1.875rem; line-height: 2.25rem; }
  header .justify-between { align-items: flex-start; gap: 1rem; flex-direction: column; }
}

/* Dabbous Network root-domain landing page. Scoped to avoid altering directory sites. */
.network-page { background: #fff; color: #10264b; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.network-shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.network-header { position: sticky; top: 0; z-index: 20; background: #031b42; box-shadow: 0 2px 12px #031b4226; }
.network-nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.network-brand { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: 21px; font-weight: 800; line-height: .84; letter-spacing: -.7px; }
.network-logo-crop { display: block; width: 50px; height: 54px; overflow: hidden; position: relative; flex: 0 0 auto; }
.network-logo-crop img { display: block; width: 222px; max-width: none; height: 222px; transform: translate(-28px, -78px); }
.network-brand-text { display: block; padding-top: 2px; }
.network-brand strong { display: block; color: #14d6e7; }
.network-mark { display: grid; place-items: center; width: 40px; height: 44px; border-radius: 9px 22px 22px 9px; background: linear-gradient(135deg, #15e1e4, #0a849a); color: #f23a41; font-size: 21px; box-shadow: inset -8px -5px #06356c; }
.network-mark span { transform: scale(.7); }
.network-links { display: flex; gap: 35px; color: #fff; font-size: 14px; font-weight: 700; }
.network-links a { padding: 31px 0 10px; border-bottom: 2px solid transparent; }
.network-links .active, .network-links a:hover { color: #12e1e7; border-color: #12e1e7; }
.network-nav-cta, .network-primary, .network-platform-card > a, .network-cta a { display: inline-flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #0bc9db, #008aab); color: #fff; border-radius: 11px; font-weight: 800; box-shadow: 0 8px 20px #008aab33; }
.network-nav-cta { padding: 13px 17px; font-size: 13px; }
.network-nav-cta span, .network-primary span, .network-platform-card > a span { font-size: 22px; line-height: .6; }
.network-hero { min-height: 530px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 15px; padding: 38px 0 25px; overflow: hidden; }
.network-eyebrow { color: #069ab5; font-size: 11px; letter-spacing: 1.35px; font-weight: 900; margin: 0 0 10px; }
.network-hero h1 { margin: 0; max-width: 620px; font-size: clamp(40px, 4.25vw, 62px); letter-spacing: -2.5px; line-height: 1.05; color: #0b2450; }
.network-hero h1 span { color: #eb303a; }
.network-intro { max-width: 545px; font-size: 17px; line-height: 1.65; color: #334561; margin: 22px 0; }
.network-actions { display: flex; gap: 14px; align-items: center; }
.network-primary { padding: 15px 22px; font-size: 14px; }
.network-secondary { padding: 13px 22px; border: 1px solid #0d3567; border-radius: 10px; font-size: 14px; font-weight: 800; color: #0d3567; }
.network-benefits { display: flex; gap: 18px; margin-top: 41px; }
.network-benefits > div { display: flex; align-items: center; gap: 8px; min-width: 135px; }
.network-benefits b { display: grid; place-items: center; height: 33px; width: 33px; border-radius: 50%; background: #008da8; color: #fff; font-size: 19px; }
.network-benefits p { margin: 0; font-size: 9px; color: #607088; line-height: 1.35; }.network-benefits strong,.network-benefits small { display:block; }.network-benefits strong { color:#0b2450;font-size:10px; }
.network-visual { height: 430px; position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; }
.network-visual > img { width: min(670px, 145%); height: auto; max-height: 470px; object-fit: contain; }
.network-map { position: absolute; right: 22%; top: 42px; width: 225px; height: 290px; clip-path: polygon(33% 0,65% 7%,81% 26%,76% 49%,100% 69%,67% 96%,26% 91%,0 66%,12% 40%); background: linear-gradient(135deg,#e1efff,#b6d8f9); color: #8eb7e2; font-size: 12px; font-weight: 900; letter-spacing: 2px; padding: 127px 67px; opacity:.9; z-index:-2; }
.network-orbit { position: absolute; inset: 70px -8px 50px 14px; border: 2px dashed #3ac8e3; border-radius: 50%; transform: rotate(-11deg); z-index:-1; }
.network-phone { position: absolute; right: 64px; top: 35px; width: 195px; height: 344px; padding: 38px 13px 12px; border: 8px solid #071d3e; border-radius: 32px; background: #eff7ff; transform: rotate(6deg); box-shadow: 12px 15px 0 #10264b, 15px 20px 31px #06193455; }
.phone-speaker { width: 55px; height: 5px; border-radius: 20px; background: #162a49; position:absolute; top:14px; left:62px; }.phone-search{background:#fff;border-radius:8px;padding:9px 8px;font-size:7px;color:#687a91;margin-bottom:10px}.phone-search b{float:right;color:#078da6;font-size:13px}.phone-card{display:flex;align-items:center;gap:8px;background:#fff;border-radius:7px;margin:7px 0;padding:8px;box-shadow:0 3px 9px #a8c6df66;font-size:10px;font-weight:800}.phone-card i{font-style:normal;color:#082755;font-size:25px}.phone-card small{color:#f5a314;font-size:8px;letter-spacing:1px}
.network-pin { position:absolute; display:grid;place-items:center;width:37px;height:37px;border-radius:50% 50% 50% 0;background:#078eac;color:#fff;transform:rotate(-45deg);font-size:14px; }.network-pin::first-letter { transform:rotate(45deg); }.pin-one{left:12px;top:242px}.pin-two{right:5px;top:147px}.network-city{position:absolute;bottom:2px;left:42px;color:#087fa3;font-size:72px;letter-spacing:-18px;text-shadow:0 2px #bddcf1}.network-city span{color:#0ba7c3}.network-tow{position:absolute;right:0;bottom:0;color:#092c59;font-size:90px;transform:skewX(-12deg)}
.network-platform-section, .network-vision { background: linear-gradient(110deg,#f4f8fc,#fff); border-radius: 22px; padding: 26px 25px 16px; margin-top: 7px; text-align:center; }.network-platform-section h2,.network-vision h2,.network-about h2{font-size:31px;letter-spacing:-1.3px;margin:0 0 18px;color:#0c2854}.network-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.network-platform-card{padding:17px 18px 13px;background:#fff;border:1px solid #e4e9f1;border-radius:16px;box-shadow:0 5px 14px #071f4514}.platform-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;margin:0 auto 8px;color:#fff;font-size:42px;font-weight:700}.platform-icon.navy{background:#061f49}.platform-icon.teal{background:#048fa2}.platform-icon.red{background:#ef3740}.network-platform-card h3{font-size:22px;margin:5px 0;color:#0d2853}.network-platform-card p{font-size:13px;line-height:1.5;color:#3d4c64;min-height:58px;margin:5px 0 13px}.network-platform-card>a{padding:10px 20px;font-size:13px}.network-platform-card small{display:block;border-top:1px dashed #c5d3e4;margin-top:14px;padding-top:12px;color:#1476cd;font-size:11px}.network-coming{margin:18px 0 0;font-size:13px;color:#334561}.network-coming:first-letter{color:#0da4ba}
.network-about{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:55px;padding:24px 42px;margin-top:18px;background:#f8fbfe;border-radius:22px}.network-portrait{height:240px;border-radius:16px;position:relative;overflow:hidden;background:#06214d}.network-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06214d44,transparent 60%);pointer-events:none}.network-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.network-about-copy p:last-child{font-size:15px;line-height:1.65;color:#3c4a60;max-width:500px}.network-about-copy h2{margin-bottom:14px}
.network-vision{margin-top:18px;padding:25px 55px}.network-vision>p:not(.network-eyebrow){max-width:800px;margin:0 auto 19px;font-size:14px;line-height:1.55;color:#334561}.network-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.network-values>div{display:flex;text-align:left;align-items:center;gap:13px;background:#fff;border-radius:13px;padding:12px 16px;box-shadow:0 4px 12px #06215118}.network-values b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#068ba3;color:#fff;font-size:26px}.network-values strong,.network-values small{display:block}.network-values strong{font-size:14px}.network-values small{font-size:11px;color:#45556e;margin-top:3px}
.network-cta{display:grid;grid-template-columns:205px minmax(0,1fr) auto;align-items:center;justify-content:center;gap:25px;margin-top:20px;padding:18px 35px 10px;border-radius:18px;background:linear-gradient(115deg,#061b43,#0b315f);color:#fff;text-align:center;position:relative;overflow:hidden}.network-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 10%,#1680aa66,transparent 32%);pointer-events:none}.network-cta>div,.network-cta>a{position:relative;z-index:1}.network-cta-city{position:relative;z-index:1;width:220px;height:150px;object-fit:contain;object-position:bottom left;align-self:end;filter:drop-shadow(0 -4px 10px #0003)}.network-cta-map{position:absolute;right:-28px;bottom:-46px;width:190px;height:190px;object-fit:contain;opacity:.44;z-index:0}.network-cta p{font-size:25px;font-weight:800;margin:0 0 3px}.network-cta span{display:block;font-size:14px;max-width:590px}.network-cta a{padding:13px 19px;white-space:nowrap}.network-footer{margin-top:18px;background:#031a41;color:#fff}.network-footer-content{padding:28px 45px;display:flex;justify-content:space-between;align-items:center}.network-footer p{font-size:12px;line-height:1.7;margin:14px 0 0}.network-footer em{font-style:normal;color:#0fc9dc}.network-footer-links{border-left:1px solid #91a8c955;padding-left:48px;display:grid;gap:12px;font-size:13px}.network-footer-links a{color:#0fc9dc}.network-footer-links b{color:#fff}
@media (max-width: 820px){.network-links{display:none}.network-hero{grid-template-columns:1fr;padding-top:50px}.network-visual{height:340px;max-width:520px;width:100%;margin:auto}.network-platforms,.network-values{grid-template-columns:1fr}.network-about{grid-template-columns:1fr;gap:24px;padding:24px}.network-footer-content{flex-direction:column}.network-cta{grid-template-columns:1fr;padding-top:18px}.network-cta-city{display:none}.network-cta-map{width:155px;height:155px}.network-footer-links{border-left:0;border-top:1px solid #91a8c955;padding:20px 0 0;width:100%}.network-nav-cta{font-size:11px}.network-benefits{flex-wrap:wrap}.network-vision{padding:25px}.network-platform-card p{min-height:0}}
@media (max-width: 520px){.network-shell{width:min(100% - 28px,1120px)}.network-nav{min-height:67px}.network-nav-cta{display:none}.network-hero h1{font-size:40px;letter-spacing:-1.6px}.network-visual{transform:scale(.82);transform-origin:top center;margin-bottom:-60px}.network-actions{flex-direction:column;align-items:stretch;text-align:center}.network-primary,.network-secondary{justify-content:center}.network-benefits{gap:10px}.network-platform-section{padding:22px 12px}.network-cta{padding:25px 16px}.network-cta p{font-size:21px}.network-footer-content{padding:25px 12px}.network-about-copy p:last-child{font-size:14px}}

/* Refined vector icons and creator card for the network landing. */
.network-benefits b { font-size: 0; }
.network-benefits svg, .network-values svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.platform-icon { font-size: 0; }
.platform-icon svg { width: 45px; height: 45px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.network-values b { font-size: 0; }
.network-portrait::after { z-index: 1; }
.portrait-dots { position: absolute; z-index: 2; top: 25px; left: 24px; width: 76px; height: 56px; background-image: radial-gradient(#16d4e5 1px, transparent 1.5px); background-size: 9px 9px; opacity: .6; }
.portrait-code { position: absolute; z-index: 2; right: 30px; top: 80px; color: #11c9dc; font-size: 36px; font-weight: 900; }
.portrait-badge { position: absolute; z-index: 3; right: 15px; bottom: 16px; padding: 7px 11px; background: #102b56e8; border-radius: 11px; display: flex; align-items: center; gap: 7px; color: #fff; font-size: 9px; text-align: left; }
.portrait-badge i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #008fa7; color: #fff; font-style: normal; font-size: 10px; }
.portrait-badge b, .portrait-badge small { display: block; }
.portrait-badge small { font-size: 8px; color: #c8d6e7; margin-top: 2px; }

/* Compact responsive form refinements */
.form-page { padding:48px 0; }
.form-layout { grid-template-columns:.8fr 1.2fr; gap:44px; }
.directory-form-card { max-width:760px; padding:26px; }
.form-grid { gap:14px 16px; }
.directory-form-card input:not([type=hidden]) { height:44px; padding:9px 11px; }
.directory-form-card textarea { min-height:0; height:auto; padding:10px 11px; line-height:1.45; }
.directory-form-card textarea[name="adresse"] { min-height:66px; }
.directory-form-card textarea[name="description"] { min-height:105px; }
.form-submit { margin-top:18px; padding:13px; }
@media(max-width:950px){.form-page{padding:38px 0}.form-layout{gap:28px}.form-intro{max-width:720px}.directory-form-card{max-width:none}}
@media(max-width:640px){.form-page{padding:22px 0}.form-layout{gap:16px}.form-intro h1{margin-bottom:10px;font-size:28px}.form-intro>p:not(.directory-eyebrow){font-size:13px;line-height:1.55}.form-intro ul{display:none}.form-intro>a{margin-top:5px;font-size:12px}.directory-form-card{padding:18px;border-radius:16px}.form-step{align-items:flex-start;flex-direction:column;gap:5px}.form-field label{font-size:10px}.directory-form-card textarea[name="adresse"]{min-height:62px}.directory-form-card textarea[name="description"]{min-height:96px}.form-submit{font-size:13px}}

/* Search icon and placeholder alignment. */
.search-main>div>span{top:50%;left:16px;display:grid;place-items:center;width:20px;height:20px;transform:translateY(-50%);font-size:0;line-height:1}
.search-main>div>span::before{content:"🔎";font-size:15px;filter:grayscale(1);opacity:.65}
.directory-search .search-main input{padding-left:50px!important}

/* Modern directory experience ------------------------------------------- */
.directory-page { --accent:#1769e0; --accent-dark:#092a60; --accent-soft:#eaf2ff; min-height:100vh; color:#14263f; background:#f5f8fc; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.directory-page.niche-notaires { --accent:#078b70; --accent-dark:#064f43; --accent-soft:#e7f7f2; }
.directory-page.niche-remorquage { --accent:#e94a20; --accent-dark:#84280f; --accent-soft:#fff0e9; }
.directory-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.directory-skip { position:fixed; left:16px; top:-60px; z-index:100; padding:12px 16px; border-radius:9px; background:#fff; color:#111; }.directory-skip:focus{top:16px}
.directory-header { position:sticky; top:0; z-index:30; color:#fff; background:rgba(7,25,52,.96); box-shadow:0 10px 30px rgba(0,15,40,.14); backdrop-filter:blur(14px); }
.directory-nav { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.directory-brand { display:flex; align-items:center; gap:12px; }.directory-brand-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#fff}.directory-brand-icon img{width:40px;height:40px;object-fit:contain}.directory-brand strong,.directory-brand small{display:block}.directory-brand strong{font-size:18px}.directory-brand small{margin-top:2px;color:#aebed3;font-size:11px}
.directory-nav nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:750; }.directory-nav nav a:hover{color:#7ee8f4}.directory-nav .back-network{padding:11px 15px;border:1px solid rgba(255,255,255,.22);border-radius:10px}
.directory-hero { position:relative; overflow:hidden; padding:72px 0 94px; color:#fff; background:linear-gradient(130deg,var(--accent-dark),#071b39 70%); }
.directory-hero::before{content:"";position:absolute;width:520px;height:520px;right:-200px;top:-230px;border-radius:50%;background:color-mix(in srgb,var(--accent) 30%,transparent)}
.directory-hero-grid { position:relative; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:60px; }
.directory-eyebrow { margin:0 0 10px; color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.directory-hero .directory-eyebrow{color:#7ee8f4}
.directory-hero h1 { margin:0 0 18px; font-size:clamp(42px,6vw,70px); line-height:1; letter-spacing:-.045em; }.directory-hero p:not(.directory-eyebrow){max-width:700px;margin:0;color:#d5e0ee;font-size:17px;line-height:1.7}
.directory-hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.directory-hero-badges span{padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:750}
.directory-hero-art{position:relative;display:grid;place-items:center;min-height:260px}.directory-hero-art img{position:relative;z-index:2;width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.25))}.art-ring{position:absolute;width:245px;height:245px;border:1px dashed rgba(255,255,255,.3);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035)}.directory-hero-art span{position:absolute;z-index:3;right:-5px;bottom:12px;padding:11px 15px;border-radius:12px;background:#fff;color:var(--accent-dark);box-shadow:0 15px 30px rgba(0,0,0,.18);font-size:11px;font-weight:900}
.directory-search-wrap{position:relative;z-index:4;margin-top:-42px}.directory-search{display:grid;grid-template-columns:1.8fr 1fr .85fr auto;align-items:end;gap:14px;padding:20px;border:1px solid #e0e7ef;border-radius:20px;background:#fff;box-shadow:0 20px 60px rgba(17,41,73,.14)}.directory-search label{display:block;margin:0 0 7px;color:#586b82;font-size:11px;font-weight:800}.directory-search input,.directory-search select{width:100%;height:48px;padding:0 13px;border:1px solid #dce4ed;border-radius:11px;background:#f8fafc;color:#172b44;outline:0}.directory-search input:focus,.directory-search select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.search-main>div{position:relative}.search-main>div>span{position:absolute;left:14px;top:9px;color:var(--accent);font-size:25px}.search-main input{padding-left:43px}.directory-search button{height:48px;padding:0 20px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 28%,transparent)}
.directory-results{padding-block:70px}.results-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.results-heading h2{margin:0;color:#0b213d;font-size:32px;letter-spacing:-.03em}.results-count{padding:9px 13px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;font-weight:850}
.directory-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.directory-card{display:flex;flex-direction:column;min-height:340px;padding:22px;border:1px solid #e1e8ef;border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(12,40,74,.06);transition:transform .22s,box-shadow .22s,border-color .22s}.directory-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 35%,#e1e8ef);box-shadow:0 20px 45px rgba(12,40,74,.12)}.card-header{display:flex;align-items:flex-start;gap:14px}.directory-avatar{display:grid;place-items:center;flex:0 0 auto;width:62px;height:62px;border-radius:17px;background:var(--accent-soft)}.directory-avatar img{width:48px;height:48px;object-fit:contain}.directory-avatar.large{width:94px;height:94px;border-radius:26px}.directory-avatar.large img{width:75px;height:75px}.directory-category{display:inline-block;margin-bottom:6px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.directory-card h3{margin:0;font-size:18px;line-height:1.3;color:#102640}.directory-card h3 a:hover{color:var(--accent)}.card-description{margin:18px 0;color:#607086;font-size:13px;line-height:1.65}.card-contact{margin:auto 0 18px}.card-contact div{display:flex;gap:10px;margin:8px 0}.card-contact dt{color:var(--accent)}.card-contact dd{margin:0;color:#455970;font-size:12px;overflow-wrap:anywhere}.card-actions{display:flex;align-items:center;gap:9px;padding-top:16px;border-top:1px solid #edf1f5}.card-actions a{padding:10px 12px;border-radius:9px;font-size:11px;font-weight:850}.view-profile{flex:1;background:var(--accent-soft);color:var(--accent-dark)}.call-profile{background:var(--accent);color:#fff}
.directory-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:42px}.directory-pagination>div{display:flex;gap:7px}.directory-pagination a,.directory-pagination span{display:grid;place-items:center;min-width:39px;height:39px;padding:0 11px;border:1px solid #dce4ec;border-radius:10px;background:#fff;color:#37506c;font-size:12px;font-weight:800}.directory-pagination span{border-color:var(--accent);background:var(--accent);color:#fff}.directory-empty{text-align:center;padding:70px 20px;border:1px dashed #cbd8e5;border-radius:22px;background:#fff}.directory-empty>span{font-size:45px;color:var(--accent)}.directory-empty h2{margin:8px}.directory-empty p{color:#64748b}.directory-empty a{display:inline-block;margin-top:12px;color:var(--accent);font-weight:800}
.directory-add-cta{padding:45px 0;color:#fff;background:linear-gradient(120deg,var(--accent-dark),#06182f)}.directory-add-cta>.directory-shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.directory-add-cta h2{margin:0 0 7px;font-size:30px}.directory-add-cta p:not(.directory-eyebrow){margin:0;color:#c8d5e5}.directory-add-cta>a{padding:14px 19px;border-radius:11px;background:var(--accent);font-weight:850;white-space:nowrap}.directory-advice{margin-block:40px;padding:28px;border-left:5px solid var(--accent);border-radius:0 16px 16px 0;background:#fff}.directory-advice>span{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase}.directory-advice h2{margin:6px 0 10px}.directory-advice p{color:#52667c;line-height:1.7}
.directory-footer{padding:45px 0 22px;color:#c5d2e2;background:#06162d}.directory-footer-grid{display:grid;grid-template-columns:1fr auto;gap:50px}.directory-footer strong{color:#fff;font-size:19px}.directory-footer p{max-width:600px;font-size:13px;line-height:1.6}.directory-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 25px;font-size:12px}.directory-footer nav a:hover{color:#7ee8f4}.directory-copyright{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:11px}
.detail-hero{padding:46px 0 90px;color:#fff;background:linear-gradient(130deg,var(--accent-dark),#071b39)}.detail-back{display:inline-block;margin-bottom:35px;color:#bdd0e5;font-size:13px}.detail-heading{display:flex;align-items:center;gap:20px}.detail-heading h1{margin:4px 0 5px;font-size:clamp(30px,5vw,50px);line-height:1.1}.detail-heading p{margin:0;color:#b7c8dc}.detail-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start;margin-top:-48px;padding-bottom:70px}.detail-main,.detail-contact{border:1px solid #e0e7ef;border-radius:21px;background:#fff;box-shadow:0 18px 50px rgba(10,35,67,.1)}.detail-main{padding:34px}.detail-section+ .detail-section{margin-top:30px;padding-top:30px;border-top:1px solid #e9eef3}.detail-section h2{margin:0 0 12px;font-size:26px}.detail-section>p:last-child{color:#53677d;line-height:1.75}.detail-address{padding:16px;border-radius:12px;background:var(--accent-soft)}.detail-contact{padding:28px}.contact-label{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-contact h2{margin:7px 0 20px;font-size:22px}.contact-primary{display:block;padding:17px;border-radius:14px;background:var(--accent);color:#fff}.contact-primary small,.contact-primary strong{display:block}.contact-primary small{opacity:.8;font-size:10px}.contact-primary strong{margin-top:4px;font-size:20px}.contact-row{display:flex;align-items:center;gap:12px;padding:15px 2px;border-bottom:1px solid #e9eef3}.contact-row>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.contact-row small,.contact-row strong{display:block}.contact-row small{color:#718197;font-size:9px}.contact-row strong{margin-top:3px;color:#203650;font-size:12px;overflow-wrap:anywhere}.contact-note{margin:18px 0 0;color:#7b899b;font-size:10px;line-height:1.55}
.form-page{padding:70px 0;background:linear-gradient(135deg,#f4f8fc,#fff)}.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.form-intro{position:sticky;top:120px}.form-intro h1{margin:0 0 18px;font-size:42px;line-height:1.08;color:#0d294d}.form-intro>p:not(.directory-eyebrow){color:#5b6d82;line-height:1.7}.form-intro ul{padding:0;list-style:none;color:#3b526c;line-height:2}.form-intro>a{display:inline-block;margin-top:15px;color:var(--accent);font-weight:800}.directory-form-card{padding:32px;border:1px solid #e0e7ef;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(10,35,67,.09)}.form-step{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e8edf2}.form-step span{font-weight:900}.form-step small{color:#758499}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field.full{grid-column:1/-1}.form-field label{display:block;margin-bottom:7px;color:#3a5068;font-size:11px;font-weight:850}.directory-form-card input:not([type=hidden]),.directory-form-card textarea{width:100%;padding:12px;border:1px solid #d8e2eb;border-radius:10px;background:#f9fbfd;outline:0}.directory-form-card textarea{min-height:110px;resize:vertical}.directory-form-card input:focus,.directory-form-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.form-submit{width:100%;margin-top:22px;padding:14px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer}.form-privacy{text-align:center;color:#8490a0;font-size:9px}.form-error{padding:9px;border-radius:8px;background:#fff0f0;color:#bf2424;font-size:11px}
.success-page{display:grid;place-items:center;min-height:620px;padding:50px 20px;background:linear-gradient(135deg,var(--accent-dark),#06162d)}.success-card{max-width:620px;padding:50px;border-radius:25px;background:#fff;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.25)}.success-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:35px}.success-card h1{margin:7px 0 13px;font-size:36px;color:#102944}.success-card>p:not(.directory-eyebrow){color:#617188;line-height:1.6}.success-steps{display:flex;justify-content:center;gap:12px;margin:28px 0}.success-steps span{display:flex;align-items:center;gap:7px;color:#52667d;font-size:11px}.success-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.success-card>a{display:inline-block;padding:13px 18px;border-radius:10px;background:var(--accent);color:#fff;font-weight:850}
@media(max-width:950px){.directory-search{grid-template-columns:1fr 1fr}.search-main{grid-column:1/-1}.directory-cards{grid-template-columns:1fr 1fr}.directory-hero-grid,.detail-layout,.form-layout{grid-template-columns:1fr}.directory-hero-art{display:none}.detail-layout{margin-top:-45px}.form-intro{position:static}.directory-footer-grid{grid-template-columns:1fr}.directory-add-cta>.directory-shell{align-items:flex-start;flex-direction:column}.directory-nav nav a:not(.back-network){display:none}}
@media(max-width:640px){.directory-shell{width:min(100% - 26px,1180px)}.directory-nav{min-height:68px}.directory-brand strong{font-size:15px}.directory-nav .back-network{font-size:10px}.directory-hero{padding:55px 0 75px}.directory-hero h1{font-size:41px}.directory-search{grid-template-columns:1fr;padding:15px}.search-main{grid-column:auto}.directory-results{padding-block:48px}.results-heading{align-items:flex-start;flex-direction:column}.directory-cards{grid-template-columns:1fr}.directory-pagination{flex-wrap:wrap;justify-content:center}.directory-add-cta h2{font-size:25px}.detail-heading{align-items:flex-start}.detail-heading .large{width:68px;height:68px}.detail-heading .large img{width:54px;height:54px}.detail-main,.detail-contact,.directory-form-card{padding:22px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-intro h1{font-size:34px}.success-card{padding:35px 22px}.success-steps{flex-direction:column;align-items:center}}

/* Final compact form overrides (kept last in cascade). */
.form-page{padding:48px 0}.form-layout{grid-template-columns:.8fr 1.2fr;gap:44px}.directory-form-card{max-width:760px;padding:26px}.form-grid{gap:14px 16px}.directory-form-card input:not([type=hidden]){height:44px;padding:9px 11px}.directory-form-card textarea{min-height:0;height:auto;padding:10px 11px;line-height:1.45}.directory-form-card textarea[name="adresse"]{min-height:66px}.directory-form-card textarea[name="description"]{min-height:105px}.form-submit{margin-top:18px;padding:13px}
@media(max-width:950px){.form-page{padding:38px 0}.form-layout{grid-template-columns:1fr;gap:28px}.form-intro{max-width:720px;position:static}.directory-form-card{max-width:none}}
@media(max-width:640px){.form-page{padding:26px 0}.form-layout{gap:22px}.form-intro h1{font-size:30px}.form-intro>p:not(.directory-eyebrow){font-size:14px}.form-intro ul{font-size:13px;line-height:1.8}.directory-form-card{padding:18px;border-radius:16px}.form-step{align-items:flex-start;flex-direction:column;gap:5px}.form-field label{font-size:10px}.directory-form-card textarea[name="adresse"]{min-height:62px}.directory-form-card textarea[name="description"]{min-height:96px}.form-submit{font-size:13px}}

/* Keep exactly one search icon: the glyph already present in the template. */
.search-main>div>span{top:50%;left:16px;display:grid;place-items:center;width:20px;height:20px;transform:translateY(-50%);font-size:22px;line-height:1}
.search-main>div>span::before{content:none}
.directory-search .search-main input{padding-left:50px}
