*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0d1b2a;--navy2:#1b2e44;--gold:#c9a84c;--gold2:#e8c97e;--white:#f8f9fc;--light:#eef1f6;--mid:#a8b4c4;--text:#2c3e50;--radius:12px;--shadow:0 4px 24px rgba(13,27,42,0.12)}html{scroll-behavior:smooth}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--white);color:var(--text);min-height:100vh}.header{background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 100%);color:#fff;box-shadow:0 2px 20px rgba(0,0,0,.35)}.header,.siteHeader{padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.siteHeader{background:#fff;border-bottom:3px solid #4baa96;box-shadow:0 2px 12px rgba(13,27,42,.07)}.siteHeaderInner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;gap:1.5rem}.siteHeader .brand,.siteHeader .brandText strong{color:var(--text)}.siteHeader .brandText small{color:var(--mid)}.siteHeaderNav{display:flex;align-items:center;gap:.25rem;flex:1 1;justify-content:center}.siteNavLink{padding:.45rem 1rem;border-radius:8px;text-decoration:none;font-size:.92rem;font-weight:500;color:var(--text);transition:background .15s,color .15s}.siteNavLink:hover{background:#f0f0f0}.siteNavLinkActive{background:#eaf7f4;color:#4baa96;font-weight:600}.siteHeaderActions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.headerAccountBtn{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--text);font-size:.92rem;font-weight:500;padding:.5rem .9rem;border-radius:8px;transition:background .15s}.headerAccountBtn:hover{background:#f0f0f0}.headerPublishBtn{display:flex;align-items:center;gap:.45rem;text-decoration:none;background:#4baa96;color:#fff;font-size:.92rem;font-weight:700;padding:.6rem 1.2rem;border-radius:10px;transition:background .2s;white-space:nowrap}.headerPublishBtn:hover{background:#3d9180}@media (max-width:680px){.headerAccountBtn span,.headerPublishBtn span,.siteHeaderNav{display:none}.headerPublishBtn{padding:.6rem .85rem}}.headerInner{max-width:1400px;margin:0 auto;justify-content:space-between;height:70px;gap:1rem}.brand,.headerInner{display:flex;align-items:center}.brand{gap:.75rem;text-decoration:none;color:inherit}.brandIcon{width:38px;height:38px;background:linear-gradient(135deg,var(--gold),var(--gold2));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.brandText{line-height:1.1}.brandText strong{font-size:1.1rem;letter-spacing:.5px;display:block}.brandText small{font-size:.72rem;color:var(--mid);letter-spacing:.8px;text-transform:uppercase}.headerBadge{background:rgba(201,168,76,.2);border:1px solid var(--gold);color:var(--gold2);padding:.3rem .9rem;border-radius:50px;font-size:.78rem;letter-spacing:.5px;white-space:nowrap}.seedBtn{background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);padding:.3rem .85rem;border-radius:50px;font-size:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem}.seedBtn:hover{border-color:var(--gold);color:var(--gold2)}.seedBtn:disabled{opacity:.5;cursor:not-allowed}.hero{background:linear-gradient(160deg,var(--navy) 0,#122540 60%,#1a3a5c 100%);padding:2.5rem 2rem 0}.heroInner{max-width:1400px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-bottom:1.5rem}.heroTitle{color:#fff}.heroTitle h1{font-size:clamp(1.4rem,3vw,2rem);font-weight:700}.heroTitle p{color:rgba(255,255,255,.75);font-size:.9rem;margin-top:.3rem}.statsBar{display:flex;gap:1rem;flex-wrap:wrap}.statCard{background:rgba(13,27,42,.55);border:1px solid rgba(201,168,76,.5);border-radius:var(--radius);padding:.8rem 1.3rem;text-align:center;min-width:90px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.statCard strong{display:block;font-size:1.6rem;color:var(--gold2);font-weight:800}.statCard span{font-size:.72rem;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.6px;font-weight:500}.controls{background:#fff;border-bottom:1px solid var(--light);padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:70px;z-index:90;box-shadow:0 2px 12px rgba(0,0,0,.06)}.controlsInner{max-width:1400px;margin:0 auto;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.searchWrap{flex:1 1;min-width:220px;position:relative}.searchWrap svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--mid);pointer-events:none}.searchInput{width:100%;padding:.65rem .85rem .65rem 2.4rem;border:1.5px solid var(--light);border-radius:8px;font-size:.9rem;outline:none;transition:border .2s;background:var(--white);color:var(--text)}.searchInput:focus{border-color:var(--gold)}.filterSelect{padding:.65rem 2rem .65rem .9rem;border:1.5px solid var(--light);border-radius:8px;font-size:.88rem;background:var(--white);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a8b4c4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;transition:border .2s;color:var(--text)}.filterSelect:focus{border-color:var(--gold)}.resultCount{margin-left:auto;font-size:.82rem;color:var(--mid);white-space:nowrap}.gridSection{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.agencyGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:1.2rem;gap:1.2rem}.card{background:#fff;border:1px solid #e8ecf2;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(13,27,42,.15)}.cardHeader{background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 100%);padding:1rem 1.2rem;display:flex;align-items:center;gap:.9rem}.cardLogo{background:rgba(255,255,255,.12);object-fit:contain;padding:4px}.cardLogo,.cardLogoPlaceholder{width:52px;height:52px;border-radius:8px;border:1.5px solid rgba(201,168,76,.4);flex-shrink:0}.cardLogoPlaceholder{background:rgba(201,168,76,.15);display:flex;align-items:center;justify-content:center;font-size:1.4rem}.cardTitle{flex:1 1;min-width:0}.cardTitle h3{color:#fff;font-size:.92rem;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.locationBadge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(201,168,76,.25);color:var(--gold2);font-size:.7rem;letter-spacing:.5px;border-radius:50px;margin-top:.3rem;border:1px solid rgba(201,168,76,.3)}.cardBody{padding:1rem 1.2rem;flex:1 1;flex-direction:column}.cardBody,.infoRow{display:flex;gap:.55rem}.infoRow{align-items:flex-start;font-size:.83rem;color:#5a6a7a}.infoRow svg{flex-shrink:0;margin-top:1px;color:var(--gold)}.infoRow span{flex:1 1;line-height:1.4}.infoRow a{color:var(--navy2);text-decoration:none}.infoRow a:hover{color:var(--gold);text-decoration:underline}.cardFooter{padding:.75rem 1.2rem;border-top:1px solid var(--light);justify-content:space-between;gap:.5rem}.cardFooter,.yearTag{display:flex;align-items:center}.yearTag{font-size:.75rem;color:var(--mid);gap:.3rem}.websiteBtn{font-size:.78rem;font-weight:600;padding:.38rem .9rem;border-radius:6px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);text-decoration:none;transition:opacity .2s,transform .15s;white-space:nowrap}.websiteBtn:hover{opacity:.85;transform:scale(1.03)}.noSite{font-size:.75rem;color:var(--mid);font-style:italic}.empty{padding:4rem 1rem;grid-column:1/-1}.emptyIcon{font-size:3.5rem;margin-bottom:1rem;opacity:.4}.empty h3{color:var(--mid)}.loader{text-align:center;padding:5rem 1rem;grid-column:1/-1}.loaderMore{text-align:center;padding:2rem 1rem}.spinner{width:44px;height:44px;margin:0 auto 1rem}.spinner,.spinnerSm{border:3px solid var(--light);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.spinnerSm{width:32px;height:32px;margin:0 auto .5rem}@keyframes spin{to{transform:rotate(1turn)}}.loaderText{color:var(--mid);font-size:.9rem}.endSentinel{height:1px}.offerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:1.5rem 2rem 2rem;max-width:1400px;margin:0 auto}.offerCard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.offerCard:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(13,27,42,.18)}.offerCardImg{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--light)}.offerCardImg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.offerCard:hover .offerCardImg img{transform:scale(1.04)}.offerCardImgFallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,var(--light),#dde3ed)}.offerCardBadges{position:absolute;top:.6rem;left:.6rem;display:flex;gap:.35rem;flex-wrap:wrap}.badge{padding:.2rem .55rem;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badgeCat1{background:rgba(41,128,185,.85);color:#fff}.badgeCat2{background:rgba(39,174,96,.85);color:#fff}.badgeCat6{background:rgba(142,68,173,.85);color:#fff}.badgeType{background:rgba(13,27,42,.75);color:#f0c040}.agencyLogoOverlay{position:absolute;bottom:.5rem;right:.5rem;width:40px;height:40px;border-radius:6px;background:rgba(255,255,255,.92);object-fit:contain;padding:3px}.agencyNameLogo{width:20px;height:20px;border-radius:4px;object-fit:contain;background:var(--light);flex-shrink:0}.offerCardBody{padding:1rem;display:flex;flex-direction:column;gap:.35rem;flex:1 1}.offerPrice{font-size:1.25rem;font-weight:800;color:var(--navy)}.prixSuffix{font-size:.8rem;font-weight:400;color:var(--mid);margin-left:3px}.offerTitle{font-size:.95rem;font-weight:600;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.offerMeta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--light)}.metaItem{font-size:.8rem;color:var(--mid)}.offerAgency{gap:.35rem;font-size:.75rem;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filterToggleBtn,.offerAgency{display:flex;align-items:center;font-weight:600}.filterToggleBtn{gap:.4rem;padding:.5rem 1rem;background:var(--navy);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.88rem;transition:background .2s}.filterToggleBtn:hover{background:var(--navy2)}.filterToggleBtn.filterActive{background:var(--gold);color:var(--navy)}.filterCount{background:var(--gold2);color:var(--navy);border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800}.advFilters{background:var(--light);border-bottom:1px solid #dde3ed;overflow:hidden;transition:max-height .3s ease}.advFiltersInner{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filterGroup{display:flex;flex-direction:column;gap:.3rem;min-width:140px}.filterGroup label{font-size:.78rem;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.05em}.filterGroup input[type=number],.filterGroup select{padding:.45rem .7rem;border:1.5px solid #ccd4e0;border-radius:8px;font-size:.88rem;background:#fff;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .2s}.filterGroup input[type=number]:focus,.filterGroup select:focus{outline:none;border-color:var(--gold)}.clearFiltersBtn{padding:.45rem 1rem;background:none;border:1.5px solid #ccd4e0;border-radius:8px;color:var(--mid);cursor:pointer;font-size:.85rem;align-self:flex-end;transition:border-color .2s,color .2s}.clearFiltersBtn:hover{border-color:var(--gold);color:var(--text)}.detailPage{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 4rem}.detailBack{display:inline-flex;align-items:center;gap:.4rem;color:var(--mid);text-decoration:none;font-size:.88rem;font-weight:600;margin-bottom:1.5rem;transition:color .2s}.detailBack:hover{color:var(--navy)}.backBtn{display:inline-block;margin-top:1rem;padding:.6rem 1.2rem;background:var(--navy);color:#fff;text-decoration:none;border-radius:8px;font-size:.88rem;font-weight:600}.detailLoader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:1rem;color:var(--mid)}.detailLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:2rem;gap:2rem;align-items:start}.detailMain{min-width:0;overflow:hidden}.detailSidebar,.gallery{min-width:0}.gallery{display:flex;flex-direction:column;gap:.6rem;width:100%}.galleryMain{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--light)}.galleryMain img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .18s ease}.galleryFallback{width:100%;aspect-ratio:16/9;font-size:4rem;background:linear-gradient(135deg,var(--light),#dde3ed);border-radius:var(--radius)}.carouselBtn,.galleryFallback{display:flex;align-items:center;justify-content:center}.carouselBtn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(13,27,42,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;z-index:3;transition:background .2s,transform .2s,opacity .2s;opacity:0}.gallery:hover .carouselBtn{opacity:1}.carouselBtn:hover{background:rgba(13,27,42,.85);transform:translateY(-50%) scale(1.08)}.carouselBtnPrev{left:.7rem}.carouselBtnNext{right:.7rem}.carouselCounter{position:absolute;bottom:.7rem;right:.7rem;background:rgba(13,27,42,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.22rem .65rem;border-radius:50px;border:1px solid rgba(255,255,255,.15);z-index:3}.galleryThumbs{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:2px 1px 4px}.galleryThumbs::-webkit-scrollbar{display:none}.galleryThumb{width:80px;height:58px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;flex-shrink:0;opacity:.6;transition:opacity .15s ease,border-color .15s ease,transform .15s ease}.galleryThumb img{width:100%;height:100%;object-fit:cover;display:block}.galleryThumb:hover{opacity:.85;transform:translateY(-1px)}.galleryThumb.thumbActive{border-color:var(--gold);opacity:1}.detailSection{margin-top:1.5rem}.detailSectionTitle{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--light)}.descCard{position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;max-height:240px;overflow:hidden}.descCard.descCardFull{max-height:none;overflow:visible}.descFade{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(180deg,transparent,#fff 75%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:1rem}.descToggleBtn{background:var(--navy);color:#fff;border:none;border-radius:20px;padding:.45rem 1.25rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.03em}.descToggleBtn:hover{background:var(--navy2)}.descToggleBtnCollapse{display:block;margin-top:1rem;background:transparent;color:var(--mid);border:1px solid var(--light)}.descToggleBtnCollapse:hover{background:var(--light);color:var(--text)}.detailDescription{font-size:.95rem;line-height:1.8;color:var(--text)}.detailDescription p{margin-bottom:.75rem}.detailDescription p:last-child{margin-bottom:0}.similarSection{margin-top:2.5rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 1.75rem 1.5rem}.similarHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.similarTitle{font-size:.82rem;font-weight:700;letter-spacing:.1em;color:var(--mid);text-transform:uppercase}.similarChevron{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--light);background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;flex-shrink:0}.similarChevron:hover{border-color:var(--navy);background:var(--light)}.similarScroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.similarScroll::-webkit-scrollbar{height:4px}.similarScroll::-webkit-scrollbar-track{background:var(--light);border-radius:2px}.similarScroll::-webkit-scrollbar-thumb{background:var(--mid);border-radius:2px}.similarCard{flex:0 0 280px;scroll-snap-align:start;border-radius:var(--radius);border:1.5px solid var(--light);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow .2s,transform .2s;background:#fff}.similarCard:hover{box-shadow:0 6px 28px rgba(13,27,42,.14);transform:translateY(-2px)}.similarCardImg{width:100%;height:170px;overflow:hidden;background:var(--light)}.similarCardImg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.similarCard:hover .similarCardImg img{transform:scale(1.03)}.similarCardImgFallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.5rem;color:var(--mid)}.similarCardBody{padding:.9rem 1rem 1rem}.similarCardPrice{font-size:1.15rem;font-weight:800;color:#4baa96;margin-bottom:.3rem}.similarCardTitle{font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:.2rem}.similarCardDesc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.35rem}.similarCardCity,.similarCardDesc{font-size:.78rem;color:var(--mid)}.detailSidebar{display:flex;flex-direction:column;gap:1.25rem}.detailPriceCard{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:var(--radius);padding:1.5rem}.detailPrice{font-size:2rem;font-weight:800;color:var(--gold2);line-height:1.1}.honorairesNote{font-size:.75rem;color:rgba(255,255,255,.6);margin-top:.4rem}.detailCard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.detailCard h3{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);margin-bottom:1rem}.detailFacts{display:flex;flex-direction:column;gap:.6rem}.factRow{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.88rem;border-bottom:1px solid var(--light);padding-bottom:.5rem}.factRow:last-child{border-bottom:none;padding-bottom:0}.factRow span{color:var(--mid)}.factRow strong{color:var(--text);text-align:right}.perksList{flex-direction:column}.perk,.perksList{display:flex;gap:.5rem}.perk{align-items:center;font-size:.88rem;color:var(--text)}.contactName{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--light)}.contactActions{display:flex;flex-direction:column;gap:.6rem}.contactBtn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1rem;border-radius:8px;text-decoration:none;font-size:.92rem;font-weight:700;transition:opacity .2s}.contactBtn:hover{opacity:.85}.contactBtnPhone{background:var(--navy);color:#fff}.contactBtnEmail{background:var(--gold);color:var(--navy)}.cwCard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.cwTitle{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:1.1rem}.cwPhoneBtn{display:flex;align-items:center;gap:1rem;background:#eaf7f4;border-radius:10px;padding:.85rem 1rem;text-decoration:none;transition:background .2s;margin-bottom:1.25rem}.cwPhoneBtn:hover{background:#d4f0ea}.cwPhoneIcon{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#4baa96;color:#fff;display:flex;align-items:center;justify-content:center}.cwPhoneIcon svg{width:18px;height:18px}.cwPhoneInfo{display:flex;flex-direction:column;gap:.15rem}.cwPhoneLabel{font-size:.8rem;color:#666}.cwPhoneNumber{font-size:1.05rem;font-weight:700;color:#4baa96;letter-spacing:.02em}.cwPhoneNumberMasked{filter:blur(3px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cwDivider{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;color:#aaa;font-size:.82rem}.cwDivider:after,.cwDivider:before{content:"";flex:1 1;height:1px;background:#e5e5e5}.cwForm{gap:.85rem}.cwField,.cwForm{display:flex;flex-direction:column}.cwField{gap:.35rem}.cwLabel{font-size:.85rem;font-weight:600;color:var(--text)}.cwInput,.cwTextarea{background:#f4f4f4;border:1.5px solid transparent;border-radius:8px;padding:.7rem .9rem;font-size:.9rem;color:var(--text);width:100%;transition:border-color .2s;font-family:inherit;outline:none}.cwInput::placeholder,.cwTextarea::placeholder{color:#bbb}.cwInput:focus,.cwTextarea:focus{border-color:#4baa96;background:#fff}.cwTextarea{resize:vertical;min-height:110px;line-height:1.5}.cwSubmit{width:100%;padding:.9rem 1rem;background:#4baa96;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s;margin-top:.25rem}.cwSubmit:hover{background:#3d9180}.detailAgencyCard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;text-decoration:none;color:var(--text);display:block;border:2px solid transparent;transition:border-color .2s}.detailAgencyCard:hover{border-color:var(--gold)}.agencyCardInner{display:flex;align-items:center;gap:.75rem}.agencyCardText{display:flex;flex-direction:column;gap:.25rem}.agencyCardName{display:flex;align-items:center;gap:.35rem;font-size:.95rem}.agencyCardLogo{object-fit:contain;padding:4px}.agencyCardLogo,.agencyCardLogoFallback{width:52px;height:52px;border-radius:8px;background:var(--light);flex-shrink:0}.agencyCardLogoFallback{display:flex;align-items:center;justify-content:center;font-size:1.5rem}.agencyCardSub{font-size:.78rem;color:var(--mid);margin-top:.2rem}.agencyCardArrow{margin-left:auto;color:var(--gold);font-size:1.1rem}.agencyDetailHeader{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.agencyDetailLogo{object-fit:contain;padding:6px}.agencyDetailLogo,.agencyDetailLogoFallback{width:90px;height:90px;border-radius:12px;background:var(--light);flex-shrink:0}.agencyDetailLogoFallback{display:flex;align-items:center;justify-content:center;font-size:2.5rem}.agencyDetailInfo h1{font-size:1.6rem;font-weight:800;color:var(--navy)}.agencyLegalName{font-size:.9rem;color:var(--mid);margin-top:.25rem}.agencyBaseline{font-size:.95rem;color:var(--text);margin-top:.35rem;font-style:italic}.locationBadge{display:inline-block;background:var(--light);color:var(--navy);padding:.2rem .6rem;border-radius:20px;font-size:.82rem;font-weight:600;margin-top:.4rem}.agencyDetailGrid{display:grid;grid-template-columns:1fr 300px;grid-gap:2rem;gap:2rem;align-items:start}.agencyDetailMain{display:flex;flex-direction:column;gap:1.5rem}.agencyDetailSidebar{display:flex;flex-direction:column;gap:1.25rem}.agencyOffersTitle{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.agencyOffersCount{background:var(--gold);color:var(--navy);border-radius:20px;padding:.1rem .6rem;font-size:.82rem;font-weight:800}.agencySocialLinks{display:flex;flex-direction:column;gap:.5rem}.socialLink{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#fff;border-radius:8px;box-shadow:var(--shadow);text-decoration:none;color:var(--text);font-size:.88rem;font-weight:600;transition:color .2s}.socialLink:hover{color:var(--gold)}.headerNav{display:flex;align-items:center;gap:1rem}.navLink{color:rgba(255,255,255,.75);text-decoration:none;font-size:.9rem;font-weight:600;transition:color .2s}.navLink:hover{color:var(--gold2)}.navActive{color:var(--gold2)!important}.footer{color:rgba(255,255,255,.5);text-align:center;padding:1.5rem;font-size:.82rem}.footer,.siteFooter{background:var(--navy);margin-top:3rem}.siteFooter{color:rgba(255,255,255,.65)}.siteFooterInner{max-width:1200px;margin:0 auto;padding:3.5rem 2rem 2.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr 1fr;grid-gap:2.5rem;gap:2.5rem}.sfBrand{display:flex;flex-direction:column;gap:1rem}.sfLogo{text-decoration:none;display:inline-block}.sfLogoText{font-size:1.7rem;font-weight:900;line-height:1.1;color:#fff;letter-spacing:-.02em;text-transform:lowercase}.sfTagline{font-size:.82rem;line-height:1.55;color:rgba(255,255,255,.5);max-width:220px}.sfSocials{display:flex;gap:.6rem}.sfSocialIcon{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color .2s,color .2s}.sfSocialIcon:hover{border-color:rgba(255,255,255,.6);color:#fff}.sfCol{display:flex;flex-direction:column;gap:.85rem}.sfColTitle{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:.15rem}.sfLinks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.sfLinks a{color:rgba(255,255,255,.7);text-decoration:none;font-size:.9rem;transition:color .2s}.sfLinks a:hover{color:#fff}.sfBottom{border-top:1px solid rgba(255,255,255,.08);text-align:center;padding:1.25rem 2rem;font-size:.78rem;color:rgba(255,255,255,.35)}@media (max-width:900px){.siteFooterInner{grid-template-columns:1fr 1fr;gap:2rem}.sfBrand{grid-column:1/-1}}@media (max-width:540px){.siteFooterInner{grid-template-columns:1fr 1fr;padding:2rem 1.25rem 1.5rem}}.agencesHero{background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 100%);color:#fff;padding:3rem 2rem 2.5rem}.agencesHeroInner{max-width:1200px;margin:0 auto}.agencesHeroInner h1{font-size:1.9rem;font-weight:800;margin-bottom:.5rem}.agencesHeroInner p{font-size:.95rem;color:rgba(255,255,255,.65)}.agencesPage{max-width:1200px;margin:0 auto;padding:2rem 2rem 3rem}.agencesFilters{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.agencesSearchWrap{position:relative;flex:1 1;min-width:200px}.agencesSearchWrap svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--mid);pointer-events:none}.agencesSearch{width:100%;padding:.7rem .9rem .7rem 2.4rem;border:1.5px solid var(--light);border-radius:8px;font-size:.92rem;font-family:inherit;color:var(--text);background:#fff;outline:none;transition:border-color .2s}.agencesSearch:focus{border-color:#4baa96}.agencesSelect{padding:.7rem .9rem;border:1.5px solid var(--light);border-radius:8px;font-size:.88rem;font-family:inherit;color:var(--text);background:#fff;outline:none;cursor:pointer;transition:border-color .2s}.agencesSelect:focus{border-color:#4baa96}.agencesCount{font-size:.85rem;color:var(--mid);white-space:nowrap;margin-left:auto}.agencesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.25rem;gap:1.25rem}.agencesCardLink{text-decoration:none;color:inherit;display:block;border-radius:var(--radius);transition:transform .15s,box-shadow .15s}.agencesCardLink:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(13,27,42,.14)}.agencesLoader{display:flex;flex-direction:column;align-items:center;gap:1rem}.agencesEmpty,.agencesLoader{padding:4rem 2rem;color:var(--mid)}.agencesEmpty{text-align:center}.agencesEmpty .emptyIcon{font-size:3rem;margin-bottom:.75rem}.agencesEmpty h2{font-size:1.2rem;margin-bottom:.5rem;color:var(--text)}.agencesLoadMore{display:flex;justify-content:center;margin-top:2.5rem}.agencesLoadMoreBtn{padding:.85rem 2.5rem;background:#fff;border:2px solid #4baa96;color:#4baa96;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.agencesLoadMoreBtn:hover:not(:disabled){background:#4baa96;color:#fff}.agencesLoadMoreBtn:disabled{opacity:.6;cursor:not-allowed}@media (max-width:600px){.agencesHeroInner h1{font-size:1.4rem}.agencesPage{padding:1.5rem 1rem 2rem}.agencesGrid{grid-template-columns:1fr}}.loginPage{min-height:calc(100vh - 64px - 60px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--light,#f5f7fa)}.loginCard{background:#fff;border-radius:var(--radius);box-shadow:0 4px 32px rgba(13,27,42,.12);padding:2.5rem 2rem;width:100%;max-width:420px}.loginIconWrap{width:52px;height:52px;border-radius:50%;background:#eaf7f4;color:#4baa96;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.loginHeading{font-size:1.25rem;font-weight:800;color:var(--text);text-align:center;margin-bottom:.5rem}.loginSubtitle{font-size:.88rem;color:var(--mid);text-align:center;margin-bottom:1.75rem;line-height:1.5}.loginTabs{display:flex;background:#f4f4f4;border-radius:8px;padding:3px;margin-bottom:1.5rem}.loginTab{flex:1 1;padding:.55rem .5rem;border:none;background:transparent;border-radius:6px;font-size:.88rem;font-weight:600;color:var(--mid);cursor:pointer;transition:background .2s,color .2s}.loginTabActive{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.loginForm{gap:1rem}.loginField,.loginForm{display:flex;flex-direction:column}.loginField{gap:.35rem}.loginLabel{font-size:.85rem;font-weight:600;color:var(--text)}.loginInput{background:#f4f4f4;border:1.5px solid transparent;border-radius:8px;padding:.75rem .9rem;font-size:.92rem;color:var(--text);width:100%;font-family:inherit;outline:none;transition:border-color .2s,background .2s}.loginInput::placeholder{color:#bbb}.loginInput:focus{border-color:#4baa96;background:#fff}.loginPasswordWrap{position:relative}.loginInputPassword{padding-right:2.75rem}.loginPasswordToggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#999;display:flex;align-items:center;padding:0;transition:color .2s}.loginPasswordToggle:hover{color:#4baa96}.loginForgot{text-align:right;margin-top:-.35rem}.loginForgotLink{font-size:.82rem;color:#4baa96;text-decoration:none}.loginForgotLink:hover{text-decoration:underline}.loginSubmit{width:100%;padding:.9rem;background:#4baa96;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s;margin-top:.25rem;font-family:inherit}.loginSubmit:hover{background:#3d9180}.loginBack{text-align:center;margin-top:1.5rem;font-size:.85rem}.loginBackLink{color:var(--mid);text-decoration:none}.loginBackLink:hover{color:var(--text)}.empty{text-align:center;padding:4rem 2rem;color:var(--mid)}.emptyIcon{font-size:3rem;margin-bottom:.75rem}.empty h3{font-size:1.1rem;font-weight:600}.empty p{font-size:.88rem;margin-top:.5rem}@media (max-width:900px){.detailLayout{grid-template-columns:1fr}.detailSidebar{order:-1}.agencyDetailGrid{grid-template-columns:1fr}}@media (max-width:768px){.detailLayout{gap:1.25rem}.carouselBtn{opacity:1;width:36px;height:36px}.carouselBtnPrev{left:.4rem}.carouselBtnNext{right:.4rem}.galleryThumb{width:64px;height:46px}.detailPrice{font-size:1.65rem}.factRow strong{word-break:break-word;max-width:60%}}@media (max-width:600px){.headerInner{height:60px}.headerNav{display:none}.heroInner{flex-direction:column;align-items:flex-start;padding-bottom:1rem}.controlsInner{gap:.5rem}.resultCount{width:100%;margin-left:0}.header{padding:0 1rem}.controls{padding:.75rem 1rem}.gridSection,.offerGrid{padding:1rem}.offerGrid{grid-template-columns:1fr}.advFiltersInner{padding:.75rem 1rem}.agencyDetailHeader{flex-direction:column;text-align:center}.detailPage{padding:.75rem 1rem 3rem}.detailLayout{gap:1rem}.detailBack{margin-bottom:1rem}.detailPriceCard{padding:1.1rem 1.25rem}.detailPrice{font-size:1.5rem}.detailCard{padding:1rem}.carouselBtn{opacity:1;width:32px;height:32px}.galleryThumb{width:56px;height:42px}.galleryThumbs{gap:.3rem}.contactBtn{padding:.7rem;font-size:.88rem}.factRow{font-size:.84rem}.factRow strong{word-break:break-word;max-width:58%}.agencyCardLogo{width:42px;height:42px}}.modalBackdrop{position:fixed;inset:0;background:rgba(13,27,42,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:backdropFadeIn .22s ease}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.modalCard{background:#fff;border-radius:20px;width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 32px 80px rgba(13,27,42,.4),0 0 0 1px rgba(255,255,255,.08);animation:modalSlideUp .25s cubic-bezier(.34,1.36,.64,1);overflow:hidden}@keyframes modalSlideUp{0%{transform:translateY(28px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem 1.35rem;background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 100%);flex-shrink:0}.modalTitle{color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:.01em}.modalSubtitle{display:block;color:var(--gold2);font-size:.82rem;margin-top:.2rem;opacity:.9}.modalClose{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:.88rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .18s,transform .15s}.modalClose:hover{background:rgba(255,255,255,.24);transform:scale(1.08)}.modalBody{flex:1 1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--light) transparent}.filterSection{padding:1.25rem 1.75rem;border-bottom:1px solid #f0f3f8}.filterSection:last-child{border-bottom:none}.filterSectionTitle{font-size:.78rem;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.85rem}.chipGroup{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.45rem 1rem;border:1.5px solid #dde3ed;border-radius:50px;background:#fff;color:var(--text);font-size:.86rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .12s;white-space:nowrap;line-height:1}.chip:hover{border-color:var(--gold);color:var(--navy);transform:translateY(-1px)}.chip.chipActive{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(13,27,42,.25)}.chip.chipNum{min-width:100px;text-align:center}.rangeRow{display:flex;align-items:flex-end;gap:.75rem}.rangeSep{color:var(--mid);font-weight:700;margin-bottom:.7rem;flex-shrink:0;font-size:1rem}.rangeInput{flex:1 1;display:flex;flex-direction:column;gap:.35rem}.rangeInput label{font-size:.76rem;color:var(--mid);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.inputWithUnit{position:relative}.inputWithUnit input{width:100%;padding:.6rem 2.4rem .6rem .85rem;border:1.5px solid #dde3ed;border-radius:9px;font-size:.92rem;color:var(--text);background:#fafbfd;transition:border-color .18s,background .18s;outline:none}.inputWithUnit input:focus{border-color:var(--gold);background:#fff}.inputWithUnit span{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.78rem;color:var(--mid);font-weight:700;pointer-events:none}.modalFooter{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1.75rem;border-top:1px solid #f0f3f8;background:#fafbfd;flex-shrink:0}.modalClearBtn{background:none;border:1.5px solid #ccd4e0;color:var(--mid);padding:.62rem 1.25rem;border-radius:9px;font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .18s,color .18s;white-space:nowrap}.modalClearBtn:hover{border-color:var(--gold);color:var(--text)}.modalApplyBtn{flex:1 1;max-width:260px;background:linear-gradient(135deg,var(--gold) 0,var(--gold2) 100%);border:none;color:var(--navy);padding:.68rem 1.75rem;border-radius:9px;font-size:.94rem;font-weight:700;cursor:pointer;transition:opacity .18s,transform .15s;box-shadow:0 3px 12px rgba(201,168,76,.35)}.modalApplyBtn:hover{opacity:.9;transform:scale(1.02)}@media (max-width:600px){.modalCard{max-height:95vh;border-radius:16px 16px 0 0}.modalBackdrop{align-items:flex-end;padding:0}.filterSection{padding:1rem 1.25rem}.modalHeader{padding:1.2rem 1.25rem}.modalFooter{padding:.85rem 1.25rem}.rangeRow{flex-direction:column;gap:.6rem}.rangeSep{display:none}.chip.chipNum{min-width:80px}}