@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;0,9..40,800;0,9..40,900;1,9..40,400&display=swap');
:root{
--night:#08090d;
--ink:#111827;
--steel:#1e293b;
--slate:#334155;
--mid:#64748b;
--muted:#94a3b8;
--border:#e2e8f0;
--bg:#f8fafc;
--white:#ffffff;
--blue:#1d4ed8;
--blue-h:#1e40af;
--blue-lt:#dbeafe;
--blue-xl:#eff6ff;
--green:#16a34a;
--green-h:#15803d;
--green-lt:#dcfce7;
--red:#dc2626;
--sh-sm:0 2px 8px rgba(17,24,39,.06);
--sh-md:0 8px 24px rgba(17,24,39,.08);
--sh-lg:0 20px 48px rgba(17,24,39,.10);
--sh-xl:0 28px 64px rgba(17,24,39,.14);
--r-sm:10px;
--r-md:18px;
--r-lg:26px;
--r-xl:34px;
--r-pill:999px;
--max:1180px;
--font:'DM Sans',system-ui,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font);background:var(--bg);color:var(--ink);
line-height:1.65;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
p{margin-bottom:16px;color:var(--slate);line-height:1.7;}
p:last-child{margin-bottom:0;}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto;}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.025em;color:var(--ink);}
h1{font-size:clamp(34px,5.5vw,58px);font-weight:900;}
h2{font-size:clamp(26px,4vw,42px);font-weight:800;}
h3{font-size:clamp(19px,2.8vw,26px);font-weight:800;}
h4{font-size:15px;font-weight:800;letter-spacing:.01em;}
.eyebrow{
font-size:11px;font-weight:800;text-transform:uppercase;
letter-spacing:.18em;color:var(--blue);margin-bottom:12px;display:block;
}
.btn{
display:inline-flex;align-items:center;justify-content:center;gap:8px;
padding:14px 24px;border-radius:var(--r-pill);font-weight:800;
font-size:15px;font-family:var(--font);border:none;cursor:pointer;
transition:transform .15s,box-shadow .15s,background .15s;
white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-dark{background:var(--ink);color:var(--white);box-shadow:0 4px 16px rgba(17,24,39,.18);}
.btn-dark:hover{background:#000;box-shadow:0 8px 24px rgba(17,24,39,.22);}
.btn-green{background:var(--green);color:var(--white);box-shadow:0 4px 16px rgba(22,163,74,.25);}
.btn-green:hover{background:var(--green-h);box-shadow:0 8px 24px rgba(22,163,74,.32);}
.btn-blue{background:var(--blue);color:var(--white);box-shadow:0 4px 16px rgba(29,78,216,.22);}
.btn-blue:hover{background:var(--blue-h);}
.btn-outline{background:var(--white);color:var(--steel);border:1.5px solid var(--border);
box-shadow:var(--sh-sm);}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);}
.btn-phone{font-size:14px;padding:11px 18px;}
.topbar{
background:var(--night);color:#c8d0dc;font-size:13px;
border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar .container,.topbar-row{
display:grid;grid-template-columns:1fr auto auto;
align-items:center;gap:16px;padding:9px 0;
}
.topbar-note{color:#d1d9e6;font-weight:600;font-size:12.5px;}
.topbar-phone a{font-weight:800;color:#fff;white-space:nowrap;font-size:13px;}
.topbar-phone a:hover{color:#93c5fd;}
.topbar-loc,.topbar-badge,.topbar-pill,.topbar-chip,.topbar .badge,
.topbar [class*="loc"],.topbar [class*="badge"]{display:none !important;}
.topbar-form-wrap{position:relative;display:flex;align-items:center;}
.topbar-form-toggle{
background:var(--blue);color:#fff;border:none;border-radius:8px;
padding:7px 15px;font-size:12.5px;font-weight:700;cursor:pointer;
white-space:nowrap;transition:background .15s;font-family:var(--font);
}
.topbar-form-toggle:hover,.topbar-form-toggle.is-open{background:var(--blue-h);}
.topbar-dropdown{
position:absolute;top:calc(100% + 10px);right:0;width:360px;
background:#fff;border-radius:16px;
box-shadow:0 12px 48px rgba(0,0,0,.20),0 0 0 1px rgba(0,0,0,.06);
z-index:9999;padding:22px 20px 18px;display:none;
animation:tbDropIn .18s cubic-bezier(.22,.68,0,1.2);
}
.topbar-dropdown.is-open{display:block;}
@keyframes tbDropIn{from{opacity:0;transform:translateY(-6px) scale(.98);}to{opacity:1;transform:none;}}
.topbar-dropdown h4{margin:0 0 14px;font-size:15px;font-weight:800;color:var(--ink);}
.topbar-dropdown .tbf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.topbar-dropdown input,.topbar-dropdown select,.topbar-dropdown textarea{
width:100%;box-sizing:border-box;border:1.5px solid var(--border);
border-radius:10px;padding:9px 12px;font-size:13px;color:var(--ink);
background:var(--bg);outline:none;transition:border-color .15s;
font-family:var(--font);
}
.topbar-dropdown input:focus,.topbar-dropdown select:focus,.topbar-dropdown textarea:focus{
border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(29,78,216,.08);
}
.topbar-dropdown textarea{resize:vertical;min-height:68px;grid-column:1/-1;}
.topbar-dropdown select{grid-column:1/-1;}
.tbf-actions{display:flex;gap:8px;margin-top:12px;}
.tbf-btn-submit{
flex:1;background:var(--green);color:#fff;border:none;border-radius:10px;
padding:10px;font-size:13px;font-weight:800;cursor:pointer;
transition:background .15s;font-family:var(--font);
}
.tbf-btn-submit:hover{background:var(--green-h);}
.tbf-btn-cancel{
background:var(--bg);color:var(--slate);border:none;border-radius:10px;
padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;
font-family:var(--font);
}
.tbf-btn-cancel:hover{background:var(--border);}
.tbf-status{font-size:13px;font-weight:700;padding:8px 12px;border-radius:8px;margin-top:8px;display:none;}
.tbf-status.is-error{display:block;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.tbf-confirm{display:none;}
.tbf-confirm.is-open{display:block;}
.tbf-confirm-title{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 10px;}
.tbf-confirm-recap{
background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;
padding:12px 14px;font-size:12.5px;color:#166534;line-height:1.65;
white-space:pre-wrap;margin-bottom:14px;font-family:var(--font);
}
.tbf-confirm-note{font-size:12px;color:var(--mid);margin-bottom:14px;}
.tbf-confirm-actions{display:flex;gap:8px;}
.tbf-confirm-go{
flex:1;background:var(--green);color:#fff;border:none;border-radius:10px;
padding:11px;font-size:13px;font-weight:800;cursor:pointer;
display:flex;align-items:center;justify-content:center;gap:7px;
font-family:var(--font);
}
.tbf-confirm-go:hover{background:var(--green-h);}
.tbf-confirm-back{
background:var(--bg);color:var(--slate);border:none;border-radius:10px;
padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;
font-family:var(--font);
}
.site-header{
position:sticky;top:0;z-index:80;
background:rgba(255,255,255,.97);backdrop-filter:blur(14px);
border-bottom:1px solid var(--border);
box-shadow:0 2px 12px rgba(17,24,39,.05);
}
.site-header .container,
.header-row{
display:grid;grid-template-columns:minmax(220px,1fr) auto auto;
align-items:center;gap:24px;min-height:88px;
}
.brand{
display:flex;flex-direction:column;gap:3px;
font-size:18px;font-weight:900;letter-spacing:-.02em;color:var(--ink);
}
.brand small{
display:block;font-size:11px;font-weight:600;color:var(--mid);
letter-spacing:.02em;font-weight:500;
}
.nav-links{display:flex;align-items:center;justify-content:center;gap:6px;}
.nav-links a{
font-size:14px;font-weight:700;color:var(--slate);padding:9px 12px;
border-radius:var(--r-pill);transition:color .15s,background .15s;
}
.nav-links a:hover{color:var(--blue);background:var(--blue-xl);}
.header-actions{display:flex;align-items:center;gap:10px;}
.btn-phone{background:var(--white);color:var(--ink);border:1.5px solid var(--border);}
.btn-phone:hover{border-color:var(--blue);color:var(--blue);}
.tricolor-bar{height:3px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 33%,#fff 33%,#fff 66%,var(--red) 66%);}
section{padding:80px 0;}
.section-white{background:var(--white);}
.section-muted{background:linear-gradient(180deg,#f1f5f9 0%,#e8edf4 100%);}
.section-dark{background:var(--ink);color:var(--white);}
.section-dark p{color:#94a3b8;}
.section-header{
display:flex;align-items:flex-end;justify-content:space-between;
gap:20px;flex-wrap:wrap;margin-bottom:36px;
}
.section-header > div:first-child h2{margin-bottom:8px;}
.card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:26px;
}
.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:30px;}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-sm);}
.faq-item h3{font-size:18px;margin-bottom:10px;}
.faq{display:grid;gap:12px;}
.kpi-card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:24px;
}
.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.kpi-badge{
display:inline-flex;align-items:center;padding:5px 9px;
border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white);
font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);
}
.kpi-flag{width:52px;height:7px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--blue) 0%,#fff 50%,var(--red) 100%);}
.kpi-card strong{font-size:32px;font-weight:900;display:block;line-height:1.1;color:var(--ink);}
.kpi-card p{margin:8px 0 0;font-size:14px;}
.premium-kpi-section{padding-top:28px;}
.premium-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.hero{padding-top:0;background:var(--white);}
.hero .container{position:relative;padding-top:32px;}
.artisan-hero{background:linear-gradient(180deg,var(--white) 0%,#f1f5f9 100%);}
.artisan-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;padding:44px 0 72px;}
.artisan-copy .eyebrow{margin-bottom:14px;}
.artisan-copy h1{margin-bottom:18px;}
.artisan-copy p.lead{font-size:clamp(16px,2.2vw,19px);color:var(--slate);max-width:56ch;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 20px;}
.hero-proofbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.hero-proof{
display:inline-flex;align-items:center;gap:8px;padding:9px 13px;
border-radius:var(--r-pill);background:var(--white);border:1px solid var(--border);
font-size:12px;font-weight:700;color:var(--steel);box-shadow:var(--sh-sm);
}
.hero-proof i{
display:inline-block;width:8px;height:8px;border-radius:50%;
background:var(--green);flex:none;
}
.premium-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;}
.premium-stat{
display:flex;align-items:center;gap:13px;padding:14px 16px;
border-radius:var(--r-md);border:1px solid var(--border);
background:var(--white);box-shadow:var(--sh-sm);
transition:box-shadow .2s,transform .2s;
}
.premium-stat:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.premium-stat img{width:44px;height:44px;flex:none;}
.premium-stat strong{display:block;font-size:14px;color:var(--ink);font-weight:800;}
.premium-stat span{display:block;font-size:12px;color:var(--mid);margin-top:2px;}
.artisan-visual{}
.artisan-main-photo{margin:0;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--border);box-shadow:var(--sh-xl);}
.artisan-main-photo img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;height:400px;}
.artisan-float-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px;}
.hero-panel{
padding:18px 20px;border-radius:var(--r-lg);background:var(--white);
border:1px solid var(--border);box-shadow:var(--sh-md);
}
.hero-panel .eyebrow{margin-bottom:6px;}
.hero-panel h3{font-size:22px;margin-bottom:6px;}
.hero-panel h3 a{color:var(--ink);}
.hero-panel h3 a:hover{color:var(--blue);}
.hero-panel p{margin:0;font-size:14px;}
.service-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.service-card-premium .media-badge img{width:20px !important;height:20px !important;object-fit:contain !important;flex-shrink:0;}
.service-grid-upgraded .media-badge{display:flex;align-items:center;gap:7px;}
.service-card-premium{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-xl);overflow:hidden;
box-shadow:var(--sh-md);
transition:box-shadow .2s,transform .2s;
}
.service-card-premium:hover{box-shadow:var(--sh-xl);transform:translateY(-3px);}
.service-card-premium .media{position:relative;height:220px;overflow:hidden;}
.service-card-premium .media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.service-card-premium:hover .media img{transform:scale(1.04);}
.service-card-premium .media::after{
content:"";position:absolute;inset:auto 0 0 0;height:90px;
background:linear-gradient(0deg,rgba(8,9,13,.65) 0%,transparent 100%);
}
.service-card-premium .media-badge{
position:absolute;left:14px;top:14px;z-index:1;
background:rgba(255,255,255,.92);backdrop-filter:blur(6px);
border:1px solid rgba(255,255,255,.9);border-radius:var(--r-pill);
padding:7px 12px;font-size:11px;font-weight:800;
letter-spacing:.06em;text-transform:uppercase;color:var(--steel);
}
.service-card-premium .copy{padding:22px 24px 26px;}
.service-card-premium .copy h3{margin-bottom:8px;font-size:20px;}
.service-card-premium .copy p{margin-bottom:14px;font-size:14px;}
.service-card-premium .service-points{display:grid;gap:8px;margin:14px 0;}
.service-card-premium .service-points span{
display:flex;align-items:center;gap:9px;
font-size:13px;font-weight:700;color:var(--slate);
}
.service-card-premium .service-points span::before{
content:"";width:7px;height:7px;border-radius:50%;
background:var(--green);flex:none;
}
.review-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card-premium{
position:relative;background:var(--white);border:1px solid var(--border);
border-radius:var(--r-xl);padding:26px;box-shadow:var(--sh-md);
overflow:hidden;transition:box-shadow .2s,transform .2s;
}
.review-card-premium:hover{box-shadow:var(--sh-lg);transform:translateY(-2px);}
.review-card-premium::before{
content:"";position:absolute;top:0;left:0;right:0;height:3px;
background:linear-gradient(90deg,var(--blue) 0%,#fff 50%,var(--red) 100%);
}
.review-card-premium::after{
content:"\201C";position:absolute;top:14px;right:20px;
font-size:72px;line-height:1;color:var(--blue-lt);font-weight:900;
pointer-events:none;
}
.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;}
.review-client{display:flex;align-items:center;gap:12px;}
.review-avatar{
width:44px;height:44px;border-radius:50%;
background:linear-gradient(135deg,var(--ink),var(--slate));
color:#fff;display:flex;align-items:center;justify-content:center;
font-weight:900;font-size:14px;letter-spacing:.04em;flex:none;
}
.review-client strong{display:block;font-size:15px;color:var(--ink);}
.review-client span{display:block;font-size:12px;color:var(--mid);margin-top:2px;}
.review-service-chip{
display:inline-flex;align-items:center;padding:6px 10px;
border-radius:var(--r-pill);background:var(--blue-xl);border:1px solid var(--blue-lt);
color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
}
.review-quote{font-size:15px;line-height:1.75;color:var(--slate);position:relative;z-index:1;}
.review-stars-premium{color:#f59e0b;letter-spacing:2px;font-size:17px;}
.review-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.review-points span{
display:inline-flex;padding:6px 10px;border-radius:var(--r-pill);
background:var(--bg);border:1px solid var(--border);font-size:11px;
font-weight:700;color:var(--mid);
}
.review-footer{
display:flex;align-items:center;justify-content:space-between;gap:10px;
margin-top:16px;padding-top:14px;border-top:1px solid var(--border);
font-size:12px;font-weight:700;color:var(--muted);
}
.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.feature-card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-xl);padding:28px;box-shadow:var(--sh-md);
}
.feature-card h2{margin-bottom:16px;}
.feature-card h3{margin-bottom:12px;}
.feature-list{display:grid;gap:10px;margin-top:18px;}
.feature-list div{
display:flex;gap:12px;align-items:flex-start;
padding:14px 16px;border-radius:var(--r-md);background:var(--bg);
border:1px solid var(--border);
}
.feature-list span{
width:9px;height:9px;border-radius:50%;
background:var(--green);flex:none;margin-top:7px;
}
.feature-list p{margin:0;font-size:14px;}
.service-bottom-links a,.service-bottom-links,.inline-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.service-bottom-links a,.inline-links a{
display:inline-flex;padding:9px 14px;border-radius:var(--r-pill);
background:var(--bg);border:1px solid var(--border);
font-size:13px;font-weight:700;color:var(--steel);
transition:border-color .15s,color .15s,background .15s;
}
.service-bottom-links a:hover,.inline-links a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-xl);}
.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ultra-local-grid{grid-template-columns:repeat(4,1fr);}
.quick-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.directory-card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-lg);padding:20px 22px;
box-shadow:var(--sh-sm);transition:box-shadow .2s,transform .2s;
}
.directory-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.directory-card h3{margin-bottom:8px;font-size:17px;}
.directory-card h4{margin-bottom:6px;}
.directory-card p{font-size:13px;line-height:1.6;color:var(--mid);margin:0;}
.directory-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.directory-links a,.pill-link{
display:inline-flex;align-items:center;padding:8px 12px;
border:1.5px solid var(--border);border-radius:var(--r-pill);background:var(--white);
font-size:12px;font-weight:700;color:var(--steel);
transition:border-color .15s,color .15s;
}
.directory-links a:hover{border-color:var(--blue);color:var(--blue);}
.urgency-card{background:linear-gradient(180deg,var(--white) 0%,#f1f5f9 100%);}
.contact-form{display:grid;gap:14px;}
.form-grid{display:grid;gap:14px;}
.form-grid.two{grid-template-columns:repeat(2,1fr);}
input,select,textarea{
width:100%;padding:14px 16px;border-radius:var(--r-md);
border:1.5px solid var(--border);font:inherit;color:var(--ink);
background:var(--bg);transition:border-color .15s,box-shadow .15s;
font-size:15px;
}
input:focus,select:focus,textarea:focus{
outline:none;border-color:var(--blue);background:var(--white);
box-shadow:0 0 0 3px rgba(29,78,216,.1);
}
textarea{min-height:140px;resize:vertical;}
.form-status{display:none;padding:12px 16px;border-radius:var(--r-md);font-size:14px;font-weight:700;line-height:1.5;margin-top:8px;}
.form-status.is-visible{display:block;}
.form-status.is-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;}
.form-status.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.contact-form-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px;}
.contact-premium-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start;}
.premium-form-panel,.contact-form-card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:30px;
}
.contact-info-card{
background:var(--white);border:1px solid var(--border);
border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:26px;
}
.contact-highlights{display:grid;gap:10px;margin-top:16px;}
.contact-highlight{
display:flex;gap:12px;align-items:flex-start;padding:13px 15px;
border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);
}
.contact-highlight strong{display:block;font-size:13px;color:var(--ink);font-weight:800;margin-bottom:2px;}
.contact-highlight span{font-size:13px;color:var(--mid);}
.contact-trustbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.contact-trustbar span{
display:inline-flex;align-items:center;padding:7px 11px;
border-radius:var(--r-pill);background:var(--blue-xl);
border:1px solid var(--blue-lt);font-size:11px;font-weight:800;color:var(--blue);
}
.page-hero{background:var(--white);border-bottom:1px solid var(--border);}
.page-hero .container{padding:52px 0 56px;}
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:18px;font-weight:500;}
.breadcrumbs a{color:var(--mid);}
.breadcrumbs a:hover{color:var(--blue);}
.trust-badge{
display:inline-flex;align-items:center;gap:9px;padding:9px 14px;
border-radius:var(--r-pill);background:var(--white);border:1px solid var(--border);
box-shadow:var(--sh-sm);font-size:12px;font-weight:800;color:var(--steel);
}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.section-band{padding-top:0;}
.band-title{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);text-align:center;margin-bottom:12px;}
.marquee{position:relative;overflow:hidden;border-radius:var(--r-md);border:1px solid var(--border);background:linear-gradient(180deg,var(--white),var(--bg));}
.marquee-track{display:flex;gap:10px;width:max-content;padding:10px;animation:marquee 30s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 14px;border-radius:var(--r-pill);background:var(--blue-xl);color:var(--ink);border:1px solid var(--blue-lt);font-size:13px;font-weight:700;}
.logo-item{background:var(--white);border-color:var(--border);padding:9px 16px;min-height:50px;}
.logo-item img{width:auto;height:24px;max-width:100px;object-fit:contain;}
.insurance-band .logo-item img{height:26px;max-width:110px;}
.allianz-logo img{height:22px !important;max-width:140px !important;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.point-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px;}
.point{
display:flex;align-items:flex-start;gap:12px;padding:15px;
border-radius:var(--r-md);border:1px solid var(--border);
background:rgba(255,255,255,.85);box-shadow:var(--sh-sm);
}
.point-dot{margin-top:7px;width:10px;height:10px;border-radius:50%;background:var(--green);flex:none;}
.point p{margin:0;color:var(--slate);font-weight:600;font-size:14px;}
.checks{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;}
.checks li{position:relative;padding-left:24px;color:var(--slate);font-size:14px;}
.checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800;}
.mobile-bar{
position:fixed;left:0;right:0;bottom:0;display:none;
grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px 12px;
background:rgba(255,255,255,.98);border-top:1px solid var(--border);
z-index:60;box-shadow:0 -4px 20px rgba(17,24,39,.08);
}
.mobile-bar a{text-align:center;padding:14px 10px;border-radius:var(--r-md);font-size:14px;font-weight:800;}
.mobile-bar a:first-child{background:var(--ink);color:var(--white);}
.mobile-bar a:last-child{background:var(--green);color:var(--white);}
.whatsapp-float{
position:fixed;right:14px;bottom:88px;width:54px;height:54px;
display:none;align-items:center;justify-content:center;
background:#25D366;color:#fff;border-radius:50%;
box-shadow:0 8px 24px rgba(37,211,102,.4);z-index:70;
animation:waPulse 2.2s ease-in-out infinite;
}
@keyframes waPulse{0%,100%{transform:scale(1);box-shadow:0 8px 24px rgba(37,211,102,.4);}50%{transform:scale(1.07);box-shadow:0 12px 32px rgba(37,211,102,.5);}}
footer{
background:var(--night);color:#94a3b8;
padding:56px 0 0;
}
.footer-top-grid{
display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;
padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand{font-size:18px;font-weight:900;color:var(--white);margin-bottom:14px;letter-spacing:-.01em;}
footer p{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:8px;}
footer p a{color:#93c5fd;font-weight:700;}
footer p a:hover{color:var(--white);}
footer h4{color:var(--white);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.footer-links{display:grid;gap:8px;}
.footer-links a{color:#6b7280;font-size:14px;font-weight:500;transition:color .15s;}
.footer-links a:hover{color:var(--white);}
.footer-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.footer-badges span{
display:inline-flex;align-items:center;padding:6px 11px;
border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.12);
font-size:11px;font-weight:700;color:#94a3b8;
}
.footer-bottom{
display:flex;align-items:center;justify-content:space-between;
flex-wrap:wrap;gap:10px;padding:18px 0;
font-size:12px;color:#4b5563;
}
@media (max-width:768px){footer{padding-bottom:80px;}}
.page-contact-pro{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;}
.page-contact-pro .photo-panel figure{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);}
.page-contact-pro .photo-panel img{width:100%;display:block;height:100%;min-height:260px;object-fit:cover;}
.page-contact-pro .info-panel,
.page-contact-pro .form-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:26px;}
.notice{font-size:14px;color:var(--mid);}
.og-note{font-size:14px;color:var(--mid);}
.soft-note{padding:15px 18px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);font-size:14px;}
.local-pills{display:flex;flex-wrap:wrap;gap:8px;}
.local-pills span{display:inline-flex;padding:7px 10px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--slate);}
.mini-directory{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
.mini-directory a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:9px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--white);font-size:13px;font-weight:800;color:var(--steel);text-align:center;transition:border-color .15s,color .15s;}
.mini-directory a:hover{border-color:var(--blue);color:var(--blue);}
.notice-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.notice-strip span{display:inline-flex;align-items:center;padding:9px 14px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--slate);}
.list-clean{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.list-clean a{display:block;padding:10px 12px;border-radius:var(--r-sm);background:var(--white);border:1px solid var(--border);font-weight:700;color:var(--slate);transition:color .15s;}
.list-clean a:hover{color:var(--blue);}
.service-editorial{margin-top:16px;display:grid;gap:12px;}
.service-editorial p{margin:0;}
.local-copy{margin-top:16px;display:grid;gap:10px;}
.local-copy p{margin:0;}
.editorial-block{display:grid;gap:12px;}
.editorial-block p{margin:0;}
.contact-visual{display:grid;gap:14px;}
.contact-visual figure{margin:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);}
.contact-visual img{width:100%;display:block;object-fit:cover;aspect-ratio:4/3;}
.contact-side-list{display:grid;gap:10px;margin-top:16px;}
.contact-side-item{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);}
.contact-side-item strong{display:block;font-size:14px;color:var(--ink);}
.contact-side-item span{display:block;font-size:13px;color:var(--mid);}
.contact-simple-list{display:grid;gap:10px;margin-top:16px;}
.contact-simple-item{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);}
.contact-simple-item strong{display:block;font-size:14px;margin-bottom:2px;color:var(--ink);}
.contact-simple-item span{display:block;font-size:13px;color:var(--mid);}
.local-info-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm);}
.local-info-card h3{font-size:19px;margin:0 0 8px;}
.local-info-card p{margin:0 0 12px;}
.page-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
.page-hero-stat{padding:15px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);}
.page-hero-stat strong{display:block;font-size:22px;color:var(--ink);font-weight:900;}
.page-hero-stat span{display:block;margin-top:4px;font-size:13px;color:var(--mid);}
.page-hero-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.page-hero-photo-grid figure{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);position:relative;}
.page-hero-photo-grid img{width:100%;height:170px;object-fit:cover;display:block;}
.page-hero-photo-grid.single-photo{display:block;}
.page-hero-photo-grid.single-photo figure{margin:0;}
.page-hero-photo-grid.single-photo img{width:100%;height:340px;object-fit:cover;border-radius:var(--r-xl);display:block;}
.photo-caption{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);border-radius:var(--r-pill);padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);}
.photo-label{position:absolute;left:12px;bottom:12px;background:rgba(8,9,13,.78);color:#fff;padding:8px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:800;backdrop-filter:blur(6px);}
.service-topband{height:3px;background:linear-gradient(90deg,var(--blue) 0%,#fff 50%,var(--red) 100%);margin:-26px -26px 18px;}
.service-photo-tile{height:140px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);margin-bottom:14px;}
.service-photo-tile img{width:100%;height:100%;object-fit:cover;}
.service-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;}
.service-badges span{padding:7px 10px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--mid);}
.nav-pill{padding:9px 13px;border-radius:var(--r-pill);border:1px solid var(--border);font-weight:800;}
.nav-devis{background:var(--green-lt);color:#166534;border-color:#bbf7d0;}
.anchor-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.anchor-links a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--r-pill);background:var(--white);border:1px solid var(--border);font-size:13px;font-weight:800;color:var(--steel);transition:border-color .15s,color .15s;}
.anchor-links a:hover{border-color:var(--blue);color:var(--blue);}
.page-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.contact-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.contact-mini-card{padding:14px;border-radius:var(--r-md);background:linear-gradient(180deg,var(--white) 0%,var(--bg) 100%);border:1px solid var(--border);}
.contact-mini-card strong{display:block;font-size:11px;color:var(--mid);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.contact-mini-card span{display:block;font-weight:800;color:var(--ink);}
.hero-gallery-single{display:grid;gap:14px;}
.hero-gallery-single figure{margin:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);position:relative;}
.hero-gallery-single img{width:100%;height:300px;object-fit:cover;display:block;}
.premium-page-hero .feature-card{border-radius:var(--r-xl);}
.kpi{display:grid;gap:16px;}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:24px;}
.review-stars{color:#f59e0b;font-size:17px;letter-spacing:2px;margin-bottom:10px;}
.review-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;color:var(--mid);font-size:13px;font-weight:700;}
.hero-media{display:grid;gap:14px;}
.hero-visual{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:var(--sh-lg);background:var(--ink);}
.hero-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.hero-visual figcaption{position:absolute;left:16px;bottom:16px;background:rgba(8,9,13,.78);color:#fff;padding:9px 14px;border-radius:var(--r-pill);font-size:13px;font-weight:700;backdrop-filter:blur(6px);}
.hero-split{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;}
.hero-thumb{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--sh-md);}
.hero-thumb img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;}
.hero-photo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;}
.hero-photo-main,.hero-photo-small{position:relative;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--border);box-shadow:var(--sh-lg);background:var(--white);}
.hero-photo-main img,.hero-photo-small img{width:100%;height:100%;object-fit:cover;}
.hero-photo-main img{aspect-ratio:4/4.2;}
.hero-photo-small img{aspect-ratio:4/4.2;}
.photo-stack{display:grid;gap:12px;}
.illustration-box{padding:14px;border-radius:var(--r-lg);border:1px solid var(--border);background:linear-gradient(135deg,var(--blue-xl) 0%,var(--white) 42%,#fef2f2 100%);box-shadow:var(--sh-sm);}
.illustration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;}
.illustration-pill{padding:12px 8px;border-radius:var(--r-md);color:var(--ink);font-weight:800;font-size:12px;text-align:center;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.75);}
.hero-premium-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:22px;align-items:stretch;}
.hero-premium-card{background:linear-gradient(180deg,var(--white) 0%,var(--bg) 100%);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-xl);padding:20px;}
.hero-gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;align-items:stretch;}
.hero-gallery-main,.hero-gallery-side figure,.contact-visual figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--white);}
.hero-gallery-main img,.hero-gallery-side img,.contact-visual img{width:100%;height:100%;display:block;object-fit:cover;}
.hero-gallery-main{min-height:400px;}
.hero-gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:12px;}
.hero-overlay-panel{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hero-panel{padding:16px 18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--sh-md);}
.floating-badges{position:absolute;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:8px;max-width:80%;}
.floating-badges span{background:rgba(8,9,13,.78);backdrop-filter:blur(8px);color:#fff;border-radius:var(--r-pill);padding:7px 12px;font-size:12px;font-weight:800;}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-pill);background:var(--blue-xl);color:var(--blue);border:1px solid var(--blue-lt);font-size:14px;font-weight:700;}
.info-card{padding:18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--sh-md);}
.info-card h3{font-size:22px;margin-bottom:10px;}
.info-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.mini-stat{padding:15px;border-radius:var(--r-md);background:var(--white);border:1px solid var(--border);box-shadow:var(--sh-sm);}
.mini-stat strong{display:block;font-size:21px;letter-spacing:-.03em;font-weight:900;}
.contact-form-card.no-photo,.contact-info-card.no-photo{display:block;}
.tight-contact-copy p{max-width:54ch;}
.contact-card .cta-stack{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;}
.hero-gallery-side:empty{display:none;}
.hero-gallery-side figure:only-child{height:100%;}
.hero-gallery-side img{height:100%;object-fit:cover;}
.three-case{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.three-case figure{margin:0;position:relative;}
.three-case img{width:100%;height:220px;object-fit:cover;display:block;}
.artisan-main-photo img,.page-hero-photo-grid img,.contact-visual img,.photo-panel img,
.service-card-premium .media img{object-position:center;}
.editorial-home-section .feature-card p + p{margin-top:12px;}
.editorial-home-section .feature-list{margin-top:16px;}
.stack-cards{display:grid;gap:14px;}
.brand-strip{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);}
.brand-strip-title{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:8px;}
.urgency-hero .hero-proofbar{margin-top:16px;}
.arrondissement-hero .feature-card,.urgency-hero .feature-card{border-radius:var(--r-xl);}
.before-label{position:absolute;left:12px;top:12px;background:rgba(8,9,13,.82);color:#fff;border-radius:var(--r-pill);padding:7px 12px;font-size:12px;font-weight:800;}
@media (max-width:1180px){
.topbar .container,.topbar-row{grid-template-columns:1fr auto auto;}
.header-row{grid-template-columns:1fr;justify-items:center;gap:12px;min-height:auto;padding:16px 0;}
.brand{text-align:center;align-items:center;}
.nav-links{gap:16px;flex-wrap:wrap;}
.header-actions{justify-content:center;width:100%;}
.footer-top-grid{grid-template-columns:1fr 1fr;gap:28px;}
}
@media (max-width:1100px){
.directory-grid{grid-template-columns:repeat(3,1fr);}
.ultra-local-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
section{padding:60px 0;}
.artisan-hero-grid,.hero-premium-wrap,.contact-premium-wrap,.page-contact-pro,
.split-feature,.review-grid,.review-grid-premium,.service-grid-premium,
.hero-gallery,.info-grid-2,.hero-overlay-panel,.contact-mini-grid,
.page-hero-stats,.page-hero-photo-grid,.premium-stat-grid,.quick-columns{grid-template-columns:1fr;}
.hero-gallery-main{min-height:300px;}
.hero-gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:none;}
.artisan-hero-grid{padding:32px 0 52px;}
.footer-top-grid{grid-template-columns:1fr 1fr;}
.premium-kpi-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
.topbar .container,.topbar-row{grid-template-columns:1fr auto;padding:8px 0;gap:8px;}
.topbar-note{font-size:12px;}
.topbar-form-wrap{display:none;}
.mobile-bar{display:grid;}
footer{padding-bottom:80px;}
.whatsapp-float{display:flex;}
.premium-kpi-grid{grid-template-columns:1fr 1fr;}
.directory-grid,.ultra-local-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
section{padding:48px 0;}
.service-card-premium .media{height:190px;}
.artisan-float-cards,.three-case,.hero-gallery-side{grid-template-columns:1fr;}
.directory-grid,.ultra-local-grid,.premium-kpi-grid{grid-template-columns:1fr;}
.quick-columns{grid-template-columns:1fr;}
.hero-gallery-single img{height:210px;}
.form-grid.two{grid-template-columns:1fr;}
.footer-top-grid{grid-template-columns:1fr;}
.footer-bottom{flex-direction:column;gap:6px;text-align:center;}
.page-hero-photo-grid.single-photo img{height:260px;}
h1{font-size:clamp(28px,8vw,40px);}
}
.nav-burger{
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
width:44px;
height:44px;
background:var(--bg);
border:1.5px solid var(--border);
border-radius:var(--r-md);
cursor:pointer;
padding:0;
flex-shrink:0;
transition:background .15s,border-color .15s;
}
.nav-burger:hover{background:var(--blue-xl);border-color:var(--blue-lt);}
.nav-burger span{
display:block;
width:20px;height:2px;
background:var(--ink);
border-radius:2px;
transition:transform .25s,opacity .25s,width .25s;
transform-origin:center;
}
.nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger.is-open span:nth-child(2){opacity:0;width:0;}
.nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.drawer-overlay{
display:none;
position:fixed;inset:0;
background:rgba(8,9,13,.55);
backdrop-filter:blur(3px);
z-index:100;
opacity:0;
transition:opacity .25s;
}
.drawer-overlay.is-open{display:block;opacity:1;}
.mobile-drawer{
position:fixed;
top:0;right:0;
width:min(340px,88vw);
height:100dvh;
background:var(--white);
z-index:110;
transform:translateX(100%);
transition:transform .3s cubic-bezier(.22,.68,0,1.2);
box-shadow:-8px 0 40px rgba(8,9,13,.18);
display:flex;
flex-direction:column;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
}
.mobile-drawer.is-open{transform:translateX(0);}
.mobile-drawer-inner{
display:flex;
flex-direction:column;
min-height:100%;
padding:0 0 32px;
}
.mobile-drawer-top{
display:flex;
align-items:center;
justify-content:space-between;
padding:18px 20px 16px;
border-bottom:1px solid var(--border);
position:sticky;
top:0;
background:var(--white);
z-index:2;
}
.mobile-drawer-top .brand{
font-size:15px;
font-weight:900;
color:var(--ink);
flex-direction:column;
align-items:flex-start;
gap:2px;
}
.mobile-drawer-top .brand small{
font-size:10px;
color:var(--mid);
font-weight:500;
}
.drawer-close{
width:36px;height:36px;
display:flex;align-items:center;justify-content:center;
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--r-sm);
font-size:16px;
cursor:pointer;
color:var(--slate);
line-height:1;
flex-shrink:0;
transition:background .15s;
}
.drawer-close:hover{background:#fee2e2;border-color:#fecaca;color:var(--red);}
.mobile-nav{
display:grid;
padding:12px 16px;
gap:4px;
}
.mobile-nav a{
display:flex;
align-items:center;
gap:14px;
padding:15px 16px;
border-radius:var(--r-md);
font-size:17px;
font-weight:700;
color:var(--ink);
transition:background .15s,color .15s;
border:1px solid transparent;
}
.mobile-nav a:hover,
.mobile-nav a:active{
background:var(--blue-xl);
border-color:var(--blue-lt);
color:var(--blue);
}
.mnav-icon{
font-size:20px;
width:36px;
height:36px;
display:flex;
align-items:center;
justify-content:center;
background:var(--bg);
border-radius:var(--r-sm);
border:1px solid var(--border);
flex-shrink:0;
}
.mobile-drawer-ctas{
margin:8px 16px 0;
display:grid;
gap:10px;
}
.mdrawer-call{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
padding:16px;
background:var(--ink);
color:#fff;
border-radius:var(--r-md);
font-size:17px;
font-weight:800;
transition:background .15s;
}
.mdrawer-call:hover{background:#000;}
.mdrawer-devis{
display:flex;
align-items:center;
justify-content:center;
padding:16px;
background:var(--green);
color:#fff;
border-radius:var(--r-md);
font-size:17px;
font-weight:800;
transition:background .15s;
}
.mdrawer-devis:hover{background:var(--green-h);}
.mobile-drawer-footer{
margin-top:auto;
padding:20px 20px 0;
display:grid;
gap:8px;
border-top:1px solid var(--border);
margin-top:24px;
}
.mobile-drawer-footer span{
font-size:13px;
color:var(--mid);
font-weight:500;
}
@media (max-width:980px){
.nav-burger{display:flex;}
.header-actions{display:none;}
.nav-links{display:none;}
.site-header .container,
.header-row{
display:flex !important;
align-items:center;
justify-content:space-between;
gap:12px;
min-height:64px;
padding:0 !important;
}
}
@media (min-width:981px){
.nav-burger{display:none !important;}
.mobile-drawer{display:none !important;}
.drawer-overlay{display:none !important;}
}
.avis-aggregate-bar{
display:grid;
grid-template-columns:auto 1fr auto;
gap:32px;
align-items:center;
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:28px 32px;
margin-top:28px;
box-shadow:var(--sh-md);
}
.agg-score{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
padding-right:32px;
border-right:1px solid var(--border);
}
.agg-number{
font-size:56px;
font-weight:900;
line-height:1;
color:var(--ink);
letter-spacing:-.03em;
}
.agg-stars{
color:#f59e0b;
font-size:22px;
letter-spacing:3px;
}
.agg-label{
font-size:12px;
font-weight:700;
color:var(--mid);
text-transform:uppercase;
letter-spacing:.1em;
}
.agg-breakdown{
display:grid;
gap:7px;
}
.agg-row{
display:flex;
align-items:center;
gap:10px;
font-size:13px;
font-weight:700;
color:var(--slate);
}
.agg-row > span:first-child{min-width:28px;}
.agg-row > span:last-child{min-width:16px;color:var(--mid);}
.agg-bar{
flex:1;
height:8px;
background:var(--bg);
border-radius:999px;
border:1px solid var(--border);
overflow:hidden;
}
.agg-fill{
height:100%;
background:#f59e0b;
border-radius:999px;
transition:width .4s ease;
}
.agg-meta{
display:flex;
flex-direction:column;
gap:8px;
padding-left:32px;
border-left:1px solid var(--border);
}
.agg-meta span{
font-size:13px;
font-weight:700;
color:var(--slate);
}
@media (max-width:768px){
.avis-aggregate-bar{
grid-template-columns:1fr;
gap:22px;
padding:22px;
}
.agg-score{padding-right:0;border-right:none;border-bottom:1px solid var(--border);padding-bottom:18px;}
.agg-meta{padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:18px;}
}
.blog-meta-row{
display:flex;
align-items:center;
gap:10px;
margin-bottom:14px;
flex-wrap:wrap;
}
.blog-date{font-size:13px;color:var(--mid);font-weight:600;}
.blog-read{font-size:13px;color:var(--muted);}
.blog-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}
.blog-card{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
overflow:hidden;
box-shadow:var(--sh-md);
transition:box-shadow .2s,transform .2s;
display:flex;
flex-direction:column;
}
.blog-card:hover{box-shadow:var(--sh-xl);transform:translateY(-3px);}
.blog-card-img-wrap{
position:relative;
display:block;
overflow:hidden;
}
.blog-card-img-wrap img{
width:100%;
height:210px;
object-fit:cover;
display:block;
transition:transform .4s;
}
.blog-card:hover .blog-card-img-wrap img{transform:scale(1.04);}
.blog-chip{
position:absolute;
top:14px;
left:14px;
z-index:1;
}
.blog-card-body{
padding:22px 24px 26px;
display:flex;
flex-direction:column;
flex:1;
}
.blog-card-body h3{
font-size:18px;
margin-bottom:10px;
}
.blog-card-body h3 a{color:var(--ink);transition:color .15s;}
.blog-card-body h3 a:hover{color:var(--blue);}
.blog-card-body p{
font-size:14px;
margin-bottom:16px;
flex:1;
}
.blog-read-more{
display:inline-flex;
font-size:13px;
font-weight:800;
color:var(--blue);
margin-top:auto;
transition:gap .15s;
}
.blog-read-more:hover{gap:6px;}
.blog-hero-img{
margin:28px 0 0;
border-radius:var(--r-xl);
overflow:hidden;
border:1px solid var(--border);
}
.blog-hero-img img{
width:100%;
height:420px;
object-fit:cover;
display:block;
}
.blog-layout{
display:grid;
grid-template-columns:1fr 300px;
gap:40px;
align-items:start;
}
.blog-body{
max-width:720px;
}
.blog-body h2{
font-size:clamp(22px,3vw,30px);
margin:36px 0 14px;
padding-top:28px;
border-top:1px solid var(--border);
}
.blog-body h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.blog-body p{font-size:16px;line-height:1.8;}
.blog-body ul{padding-left:0;margin:16px 0;}
.blog-body .soft-note{margin:24px 0;}
.blog-sidebar{display:grid;gap:18px;position:sticky;top:100px;}
.blog-cta-card{
background:var(--ink);
color:var(--white);
border-radius:var(--r-xl);
padding:26px;
display:flex;
flex-direction:column;
gap:8px;
}
.blog-cta-card .eyebrow{color:#93c5fd;}
.blog-cta-card h3{color:var(--white);margin-bottom:6px;font-size:20px;}
.blog-cta-card p{color:#94a3b8;font-size:14px;margin-bottom:4px;}
.blog-cta-card .btn{width:100%;justify-content:center;}
.blog-links-card{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:22px;
box-shadow:var(--sh-sm);
}
.blog-links-card h4{margin-bottom:14px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--mid);}
.blog-links-card .footer-links a{
padding:9px 0;
border-bottom:1px solid var(--border);
font-size:14px;
color:var(--slate);
display:block;
}
.blog-links-card .footer-links a:last-child{border-bottom:none;}
.blog-links-card .footer-links a:hover{color:var(--blue);}
@media (max-width:980px){
.blog-grid{grid-template-columns:1fr;}
.blog-layout{grid-template-columns:1fr;}
.blog-sidebar{position:static;}
.blog-hero-img img{height:280px;}
}
.vitrine-section{padding-bottom:0;}
.vitrine-card{display:flex;flex-direction:column;justify-content:center;}
.vitrine-address{
display:flex;
flex-direction:column;
gap:8px;
margin-top:20px;
padding-top:18px;
border-top:1px solid var(--border);
}
.vitrine-address span{font-size:14px;font-weight:600;color:var(--slate);}
.vitrine-photo-card{padding:0;overflow:hidden;}
.vitrine-figure{
margin:0;
height:100%;
min-height:400px;
position:relative;
}
.vitrine-figure img{
width:100%;
height:100%;
min-height:400px;
object-fit:cover;
object-position:center;
display:block;
border-radius:var(--r-xl);
}
.vitrine-figure figcaption{
position:absolute;
bottom:14px;
left:14px;
right:14px;
background:rgba(8,9,13,.72);
backdrop-filter:blur(8px);
color:#fff;
font-size:12px;
font-weight:700;
padding:9px 14px;
border-radius:var(--r-pill);
text-align:center;
}
@media (max-width:980px){
.vitrine-figure,.vitrine-figure img{min-height:280px;}
}
.vitrine-section{padding:80px 0;}
.vitrine-header{
display:grid;
grid-template-columns:1fr auto;
align-items:end;
gap:28px;
margin-bottom:32px;
}
.vitrine-header h2{margin-bottom:10px;}
.vitrine-header p{margin:0;max-width:56ch;}
.vitrine-address-bar{
display:flex;
flex-direction:column;
align-items:flex-end;
gap:8px;
flex-shrink:0;
}
.vitrine-address-bar span{
font-size:13px;
font-weight:700;
color:var(--slate);
white-space:nowrap;
}
.vitrine-gallery{
display:grid;
grid-template-columns:1.55fr .45fr;
gap:14px;
border-radius:var(--r-xl);
overflow:hidden;
}
.vitrine-main,
.vitrine-thumb{
margin:0;
position:relative;
overflow:hidden;
border-radius:var(--r-xl);
border:1px solid var(--border);
box-shadow:var(--sh-lg);
}
.vitrine-main img{
width:100%;
height:480px;
object-fit:cover;
object-position:center 30%;
display:block;
transition:transform .5s ease;
}
.vitrine-main:hover img{transform:scale(1.03);}
.vitrine-main figcaption,
.vitrine-thumb figcaption{
position:absolute;
bottom:14px;
left:14px;
right:14px;
background:rgba(8,9,13,.72);
backdrop-filter:blur(8px);
color:#fff;
font-size:11px;
font-weight:700;
padding:8px 12px;
border-radius:var(--r-pill);
text-align:center;
pointer-events:none;
}
.vitrine-side{
display:grid;
grid-template-rows:1fr 1fr;
gap:14px;
}
.vitrine-thumb img{
width:100%;
height:100%;
min-height:190px;
object-fit:cover;
object-position:center;
display:block;
transition:transform .5s ease;
}
.vitrine-thumb:hover img{transform:scale(1.04);}
.avis-vitrine-strip{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
margin:32px 0 0;
}
.avis-vitrine-fig{
margin:0;
border-radius:var(--r-xl);
overflow:hidden;
border:1px solid var(--border);
box-shadow:var(--sh-md);
}
.avis-vitrine-fig img{
width:100%;
height:200px;
object-fit:cover;
display:block;
transition:transform .4s;
}
.avis-vitrine-fig:hover img{transform:scale(1.04);}
@media (max-width:1100px){
.vitrine-header{grid-template-columns:1fr;}
.vitrine-address-bar{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:12px;}
}
@media (max-width:768px){
.vitrine-gallery{grid-template-columns:1fr;}
.vitrine-side{grid-template-rows:none;grid-template-columns:1fr 1fr;}
.vitrine-main img{height:300px;}
.avis-vitrine-strip{grid-template-columns:1fr;}
.avis-vitrine-fig img{height:220px;}
}
@media (max-width:480px){
.vitrine-side{grid-template-columns:1fr;}
}
.kpi-reimagined{
padding:72px 0;
background:linear-gradient(180deg,#f1f5f9 0%,#e8edf4 100%);
}
.kpi-reimagined-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
}
.kri-card{
position:relative;
background:var(--white);
border:1px solid var(--border);
border-radius:28px;
padding:28px 26px 24px;
overflow:hidden;
box-shadow:0 4px 16px rgba(17,24,39,.06);
display:flex;
flex-direction:column;
gap:6px;
opacity:0;
transform:translateY(22px);
transition:opacity .55s cubic-bezier(.22,.68,0,1.2),
transform .55s cubic-bezier(.22,.68,0,1.2),
box-shadow .25s;
}
.kri-card.kri-visible{
opacity:1;
transform:translateY(0);
}
.kri-card:hover{
box-shadow:0 14px 36px rgba(17,24,39,.12);
transform:translateY(-3px);
}
.kri-card-dark{
background:var(--ink);
border-color:transparent;
color:var(--white);
}
.kri-card-dark .kri-label{color:#6b7280;}
.kri-card-dark .kri-desc{color:#9ca3af;}
.kri-card-dark .kri-icon{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);}
.kri-card-dark .kri-bg-number{color:rgba(255,255,255,.04);}
.kri-bg-number{
position:absolute;
top:-12px;
right:14px;
font-size:90px;
font-weight:900;
letter-spacing:-.04em;
color:rgba(17,24,39,.04);
line-height:1;
pointer-events:none;
user-select:none;
font-family:var(--font);
}
.kri-icon{
width:48px;
height:48px;
border-radius:16px;
background:var(--blue-xl);
border:1px solid var(--blue-lt);
color:var(--blue);
display:flex;
align-items:center;
justify-content:center;
margin-bottom:8px;
flex-shrink:0;
}
.kri-label{
font-size:11px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.14em;
color:var(--mid);
margin-bottom:2px;
}
.kri-value{
font-size:42px;
font-weight:900;
letter-spacing:-.04em;
color:var(--ink);
line-height:1.05;
margin:2px 0 6px;
}
.kri-card-dark .kri-value{color:var(--white);}
.kri-value-sm{
font-size:22px;
font-weight:900;
letter-spacing:-.02em;
line-height:1.2;
margin:4px 0 8px;
color:var(--white);
}
.kri-desc{
font-size:13px;
color:var(--slate);
line-height:1.6;
margin-top:4px;
flex:1;
}
.kri-bar{
height:4px;
background:var(--bg);
border-radius:999px;
overflow:hidden;
margin-top:16px;
}
.kri-bar-fill{
height:100%;
width:var(--w,0%);
background:linear-gradient(90deg,var(--blue) 0%,#60a5fa 100%);
border-radius:999px;
transform:scaleX(0);
transform-origin:left;
transition:transform 1s cubic-bezier(.22,.68,0,1.2);
}
.kri-tricolor{
height:4px;
border-radius:999px;
background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 33%,#fff 33%,#fff 66%,var(--red) 66%);
margin-top:16px;
}
@media (max-width:1100px){
.kpi-reimagined-grid{grid-template-columns:repeat(2,1fr);}
.kri-value{font-size:36px;}
}
@media (max-width:640px){
.kpi-reimagined-grid{grid-template-columns:1fr;}
.kri-card{padding:22px 20px 18px;}
.kri-value{font-size:40px;}
}
.svc-cards-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:32px;
}
.svc-card{
background:var(--white);
border:1px solid var(--border);
border-radius:28px;
overflow:hidden;
box-shadow:var(--sh-md);
display:flex;
flex-direction:column;
transition:box-shadow .25s,transform .25s;
}
.svc-card:hover{
box-shadow:var(--sh-xl);
transform:translateY(-4px);
}
.svc-media{
position:relative;
height:240px;
overflow:hidden;
background:var(--ink);
}
.svc-slides{
width:100%;
height:100%;
}
.svc-slide{
position:absolute;
inset:0;
margin:0;
opacity:0;
transition:opacity .7s ease;
}
.svc-slide.active{opacity:1;}
.svc-slide img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.svc-media::after{
content:"";
position:absolute;
inset:auto 0 0 0;
height:100px;
background:linear-gradient(0deg,rgba(8,9,13,.75) 0%,transparent 100%);
pointer-events:none;
z-index:1;
}
.svc-chip{
position:absolute;
top:14px;
left:14px;
z-index:2;
background:rgba(255,255,255,.92);
backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.85);
border-radius:999px;
padding:6px 13px;
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--blue);
}
.svc-chip-amber{color:#b45309;}
.svc-chip-green{color:var(--green);}
.svc-dots{
position:absolute;
bottom:13px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:6px;
z-index:2;
}
.svc-dot{
width:6px;
height:6px;
border-radius:50%;
background:rgba(255,255,255,.4);
cursor:pointer;
transition:background .2s,transform .2s;
border:1px solid rgba(255,255,255,.3);
}
.svc-dot.active{
background:#fff;
transform:scale(1.25);
}
.svc-dot:hover{background:rgba(255,255,255,.7);}
.svc-body{
padding:22px 22px 24px;
display:flex;
flex-direction:column;
flex:1;
gap:0;
}
.svc-body h3{
font-size:18px;
margin-bottom:9px;
line-height:1.25;
}
.svc-body p{
font-size:13.5px;
color:var(--slate);
line-height:1.65;
margin-bottom:0;
}
.svc-prestations-wrap{
position:relative;
overflow:hidden;
margin:16px -22px;
}
.svc-prestations-wrap::before,
.svc-prestations-wrap::after{
content:"";
position:absolute;
top:0;
bottom:0;
width:32px;
z-index:2;
pointer-events:none;
}
.svc-prestations-wrap::before{
left:0;
background:linear-gradient(90deg,var(--white) 0%,transparent 100%);
}
.svc-prestations-wrap::after{
right:0;
background:linear-gradient(-90deg,var(--white) 0%,transparent 100%);
}
.svc-prestations-track{
display:flex;
gap:8px;
width:max-content;
padding:6px 22px;
animation:svcScroll 22s linear infinite;
}
.svc-prestations-track:hover{animation-play-state:paused;}
.svc-track-rev{animation-duration:26s;}
@keyframes svcScroll{
0%{transform:translateX(0);}
100%{transform:translateX(-50%);}
}
.svc-presta{
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 14px;
border-radius:999px;
background:var(--bg);
border:1.5px solid var(--border);
font-size:12.5px;
font-weight:700;
color:var(--steel);
white-space:nowrap;
transition:border-color .15s,background .15s,color .15s,transform .15s;
text-decoration:none;
}
.svc-presta:hover{
border-color:var(--blue);
background:var(--blue-xl);
color:var(--blue);
transform:scale(1.04);
}
.svc-cta{
display:inline-flex;
align-items:center;
padding:11px 18px;
margin-top:auto;
padding-top:16px;
font-size:13px;
font-weight:800;
color:var(--blue);
border-top:1px solid var(--border);
transition:gap .15s,color .15s;
gap:4px;
}
.svc-cta:hover{gap:8px;color:var(--blue-h);}
@media (max-width:980px){
.svc-cards-grid{grid-template-columns:1fr;}
.svc-media{height:260px;}
}
@media (max-width:640px){
.svc-media{height:220px;}
.svc-body{padding:18px 18px 20px;}
.svc-prestations-wrap{margin:14px -18px;}
}
.ins-band{
background:var(--white);
border-top:1px solid var(--border);
border-bottom:1px solid var(--border);
padding:18px 0;
overflow:hidden;
}
.ins-band-head{
display:flex;
align-items:center;
gap:16px;
padding:0 var(--side-pad,40px) 14px;
max-width:1200px;
margin:0 auto;
}
.ins-band-label{
display:inline-flex;
align-items:center;
gap:7px;
font-size:11px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.14em;
color:var(--blue);
white-space:nowrap;
}
.ins-band-sub{
font-size:12px;
color:var(--mid);
font-weight:500;
}
.ins-marquee-wrap{
position:relative;
overflow:hidden;
}
.ins-marquee-fade{
position:absolute;
top:0;bottom:0;
width:80px;
z-index:2;
pointer-events:none;
}
.ins-fade-left{left:0;background:linear-gradient(90deg,var(--white) 0%,transparent 100%);}
.ins-fade-right{right:0;background:linear-gradient(-90deg,var(--white) 0%,transparent 100%);}
.ins-track{
display:flex;
align-items:center;
gap:0;
width:max-content;
animation:insScroll 30s linear infinite;
}
.ins-track:hover{animation-play-state:paused;}
@keyframes insScroll{
0%{transform:translateX(0);}
100%{transform:translateX(-50%);}
}
.ins-logo-item{
display:inline-flex;
align-items:center;
gap:9px;
padding:10px 28px;
border-right:1px solid var(--border);
white-space:nowrap;
transition:background .15s;
cursor:default;
}
.ins-logo-item:hover{background:var(--bg);}
.ins-logo-item img{
height:36px;
width:auto;
max-width:120px;
object-fit:contain;
transition:transform .2s;
}
.ins-logo-item:hover img{transform:scale(1.06);}
.ins-logo-item span{
font-size:13px;
font-weight:700;
color:var(--mid);
}
.hero-vitrine-photo{
position:relative;
border-radius:var(--r-xl);
overflow:hidden;
}
.hero-vitrine-photo img{
width:100%;
height:100%;
min-height:420px;
object-fit:cover;
object-position:center 20%;
display:block;
}
.hero-vitrine-overlay{
position:absolute;
bottom:0;left:0;right:0;
background:linear-gradient(0deg,rgba(8,9,13,.82) 0%,transparent 100%);
padding:28px 22px 18px;
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}
.hero-vitrine-badge{
display:inline-flex;
align-items:center;
gap:6px;
background:rgba(255,255,255,.12);
backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.2);
border-radius:999px;
padding:8px 14px;
font-size:12px;
font-weight:800;
color:#fff;
}
.hero-vitrine-addr{
font-size:12px;
font-weight:700;
color:rgba(255,255,255,.8);
}
.arr-hero-section{padding:60px 0 48px;}
.arr-hero-grid{
display:grid;
grid-template-columns:1fr 420px;
gap:40px;
align-items:center;
}
.arr-hero-stats{
display:flex;
gap:24px;
margin:24px 0;
flex-wrap:wrap;
}
.arr-stat{
display:flex;
flex-direction:column;
gap:2px;
}
.arr-stat strong{
font-size:32px;
font-weight:900;
letter-spacing:-.04em;
color:var(--ink);
line-height:1;
}
.arr-stat span{
font-size:11px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--mid);
}
.arr-hero-photo{
margin:0;
border-radius:var(--r-xl);
overflow:hidden;
border:1px solid var(--border);
box-shadow:var(--sh-lg);
position:relative;
}
.arr-hero-photo img{
width:100%;
height:360px;
object-fit:cover;
display:block;
}
.arr-hero-photo figcaption{
position:absolute;
bottom:12px;left:12px;right:12px;
background:rgba(8,9,13,.7);
backdrop-filter:blur(8px);
color:#fff;
font-size:11px;
font-weight:700;
text-align:center;
padding:8px 12px;
border-radius:var(--r-pill);
}
.arr-legend-section{padding:48px 0;}
.zone-legend{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin-top:8px;
}
.zone-legend-item{
display:flex;
align-items:center;
gap:12px;
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-lg);
padding:14px 16px;
}
.zone-legend-item span:last-child{
font-size:13px;
color:var(--slate);
}
.arr-priority{
display:inline-flex;
align-items:center;
padding:4px 10px;
border-radius:999px;
font-size:10px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
white-space:nowrap;
flex-shrink:0;
}
.arr-p0{background:#1d4ed8;color:#fff;}
.arr-p1{background:#dcfce7;color:#15803d;}
.arr-p2{background:#fef9c3;color:#92400e;}
.arr-p3{background:#f1f5f9;color:#64748b;}
.arr-cards-section{padding:60px 0;}
.arr-zone-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
margin-top:28px;
}
.arr-zone-card{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:18px;
box-shadow:var(--sh-sm);
transition:box-shadow .2s,transform .2s;
display:flex;
flex-direction:column;
gap:0;
}
.arr-zone-card:hover{
box-shadow:var(--sh-lg);
transform:translateY(-2px);
}
.arr-card-head{
display:flex;
align-items:flex-start;
gap:10px;
margin-bottom:10px;
}
.arr-number{
width:38px;
height:38px;
border-radius:10px;
background:var(--ink);
color:var(--white);
font-size:12px;
font-weight:900;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
letter-spacing:-.02em;
}
.arr-card-info{
flex:1;
min-width:0;
}
.arr-card-info strong{
display:block;
font-size:14px;
font-weight:800;
color:var(--ink);
}
.arr-card-info span{
font-size:11px;
color:var(--mid);
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.arr-quartiers{
font-size:11.5px;
color:var(--slate);
margin-bottom:10px;
line-height:1.5;
border-top:1px solid var(--border);
padding-top:10px;
}
.arr-card-foot{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:12px;
}
.arr-dist{
display:inline-flex;
align-items:center;
gap:4px;
font-size:11px;
font-weight:700;
color:var(--mid);
}
.arr-metro{display:flex;gap:4px;flex-wrap:wrap;}
.metro-badge{
display:inline-flex;
align-items:center;
justify-content:center;
width:20px;height:20px;
border-radius:50%;
font-size:10px;
font-weight:800;
flex-shrink:0;
}
.arr-links{
display:flex;
gap:6px;
flex-wrap:wrap;
padding-top:10px;
border-top:1px solid var(--border);
}
.arr-links a{
font-size:11px;
font-weight:700;
padding:5px 10px;
background:var(--bg);
border:1px solid var(--border);
border-radius:999px;
color:var(--steel);
transition:background .15s,color .15s,border-color .15s;
}
.arr-links a:hover{
background:var(--blue-xl);
border-color:var(--blue);
color:var(--blue);
}
.p2-quartiers-section{padding:60px 0;background:var(--bg);}
.p2-quartiers-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
margin-top:28px;
}
.p2-quartier-card{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:22px;
box-shadow:var(--sh-md);
}
.p2-q-icon{
width:44px;height:44px;
border-radius:14px;
background:var(--ink);
color:#fff;
font-size:13px;
font-weight:900;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:12px;
}
.p2-quartier-card h3{font-size:16px;margin-bottom:8px;}
.p2-quartier-card h3 a{color:var(--ink);}
.p2-quartier-card h3 a:hover{color:var(--blue);}
.p2-quartier-card p{font-size:13px;color:var(--slate);margin-bottom:14px;}
.p2-q-links{
display:flex;
gap:6px;
flex-wrap:wrap;
padding-top:12px;
border-top:1px solid var(--border);
}
.p2-q-links a{
font-size:11px;
font-weight:700;
padding:5px 10px;
background:var(--bg);
border:1px solid var(--border);
border-radius:999px;
color:var(--steel);
transition:background .15s,color .15s;
}
.p2-q-links a:hover{background:var(--blue-xl);color:var(--blue);}
.arr-interventions-section{padding:60px 0;}
.arr-interv-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:28px;
}
.arr-interv-card{
border-radius:var(--r-xl);
padding:28px 26px;
border:1.5px solid transparent;
}
.arr-interv-blue{background:#eff6ff;border-color:#dbeafe;}
.arr-interv-amber{background:#fffbeb;border-color:#fef08a;}
.arr-interv-green{background:#f0fdf4;border-color:#bbf7d0;}
.arr-interv-icon{
width:56px;height:56px;
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:16px;
}
.arr-interv-blue .arr-interv-icon{background:#dbeafe;color:#1d4ed8;}
.arr-interv-amber .arr-interv-icon{background:#fef9c3;color:#b45309;}
.arr-interv-green .arr-interv-icon{background:#dcfce7;color:#16a34a;}
.arr-interv-card h3{font-size:20px;margin-bottom:14px;}
.arr-interv-blue h3{color:#1d4ed8;}
.arr-interv-amber h3{color:#b45309;}
.arr-interv-green h3{color:#16a34a;}
.arr-interv-card ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.arr-interv-card li{font-size:13.5px;color:var(--steel);display:flex;align-items:center;gap:8px;}
.arr-interv-card li::before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.arr-interv-blue li::before{background:#3b82f6;}
.arr-interv-amber li::before{background:#f59e0b;}
.arr-interv-green li::before{background:#22c55e;}
.arr-interv-link{
font-size:13px;
font-weight:800;
display:inline-flex;
gap:4px;
transition:gap .15s;
}
.arr-interv-blue .arr-interv-link{color:#1d4ed8;}
.arr-interv-amber .arr-interv-link{color:#b45309;}
.arr-interv-green .arr-interv-link{color:#16a34a;}
.arr-interv-link:hover{gap:8px;}
@media (max-width:1100px){
.arr-zone-grid{grid-template-columns:repeat(3,1fr);}
.p2-quartiers-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
.arr-hero-grid{grid-template-columns:1fr;}
.arr-hero-photo{display:none;}
.arr-zone-grid{grid-template-columns:repeat(2,1fr);}
.arr-interv-grid{grid-template-columns:1fr;}
.zone-legend{grid-template-columns:1fr;}
}
@media (max-width:640px){
.arr-zone-grid{grid-template-columns:1fr;}
.p2-quartiers-grid{grid-template-columns:1fr;}
}
.arr-map-section{padding:60px 0;}
.arr-map-grid{
display:grid;
grid-template-columns:1fr 380px;
gap:48px;
align-items:start;
}
.paris-map-wrap{
position:relative;
display:flex;
flex-direction:column;
gap:16px;
}
#paris-map{
border-radius:var(--r-xl);
border:1px solid var(--border);
background:#f8fafc;
box-shadow:var(--sh-lg);
overflow:visible;
}
.arr-bubble{cursor:pointer;}
.arr-bubble:hover{filter:brightness(.88);}
.map-tooltip{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:16px 18px;
box-shadow:var(--sh-xl);
animation:fadeSlideIn .2s ease;
}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.map-tt-head{
display:flex;
align-items:center;
gap:10px;
margin-bottom:8px;
}
.map-tt-head strong{font-size:16px;font-weight:800;color:var(--ink);}
.map-tt-q{
font-size:12.5px;
color:var(--slate);
margin-bottom:12px;
padding-top:8px;
border-top:1px solid var(--border);
}
.map-tt-links{
display:flex;
gap:8px;
flex-wrap:wrap;
}
.map-tt-links a{
font-size:12px;
font-weight:700;
padding:6px 12px;
background:var(--bg);
border:1px solid var(--border);
border-radius:999px;
color:var(--blue);
transition:background .15s,border-color .15s;
}
.map-tt-links a:hover{background:var(--blue-xl);border-color:var(--blue);}
.map-legend{
display:flex;
gap:16px;
flex-wrap:wrap;
padding:12px 16px;
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-lg);
}
.map-legend-item{
display:inline-flex;
align-items:center;
gap:7px;
font-size:12px;
font-weight:600;
color:var(--slate);
}
.map-legend-item span{
width:14px;height:14px;
border-radius:50%;
display:inline-block;
flex-shrink:0;
}
.arr-calc-col{position:sticky;top:90px;}
.calc-card{
background:var(--white);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:28px 26px;
box-shadow:var(--sh-lg);
}
.calc-card > .eyebrow{margin-bottom:6px;}
.calc-card h3{font-size:20px;margin-bottom:8px;}
.calc-card > p{font-size:13px;color:var(--slate);margin-bottom:18px;}
.calc-field label{
display:block;
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--mid);
margin-bottom:8px;
}
.calc-input-row{
display:flex;
gap:8px;
}
.calc-input-row input{
flex:1;
padding:11px 14px;
border:1.5px solid var(--border);
border-radius:var(--r-lg);
font-size:14px;
font-family:var(--font);
background:var(--white);
color:var(--ink);
transition:border-color .15s;
outline:none;
}
.calc-input-row input:focus{border-color:var(--blue);}
.calc-input-row button{
padding:11px 18px;
background:var(--ink);
color:#fff;
border:none;
border-radius:var(--r-lg);
font-size:13px;
font-weight:800;
cursor:pointer;
white-space:nowrap;
transition:background .15s;
}
.calc-input-row button:hover{background:#1e3a5f;}
.calc-quick-btns{
display:flex;
gap:6px;
flex-wrap:wrap;
margin-top:10px;
}
.calc-quick{
font-size:11px;
font-weight:700;
padding:5px 10px;
background:var(--bg);
border:1px solid var(--border);
border-radius:999px;
color:var(--steel);
cursor:pointer;
transition:background .15s,color .15s,border-color .15s;
}
.calc-quick:hover{background:var(--blue-xl);color:var(--blue);border-color:var(--blue);}
.calc-result{
margin-top:18px;
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:18px;
animation:fadeSlideIn .25s ease;
}
.calc-result-in{animation:fadeSlideIn .25s ease;}
.calc-result-head{
display:flex;
align-items:center;
gap:12px;
margin-bottom:12px;
}
.calc-result-icon{
font-size:28px;
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
background:var(--white);
border:1px solid var(--border);
border-radius:14px;
flex-shrink:0;
}
.calc-result-label{
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--mid);
}
.calc-result-delay{
font-size:24px;
font-weight:900;
letter-spacing:-.03em;
color:var(--ink);
line-height:1.1;
}
.calc-result-body > p{
font-size:13px;
color:var(--slate);
margin-bottom:14px;
padding-top:12px;
border-top:1px solid var(--border);
}
.calc-result-links{
display:flex;
gap:7px;
flex-wrap:wrap;
}
.calc-result-links a{
font-size:12px;
font-weight:700;
padding:7px 12px;
background:var(--white);
border:1px solid var(--border);
border-radius:999px;
color:var(--blue);
transition:background .15s,border-color .15s;
}
.calc-result-links a:hover{background:var(--blue-xl);border-color:var(--blue);}
.idf-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
margin-top:24px;
}
.idf-dept-legend{
display:flex;
gap:10px;
flex-wrap:wrap;
margin:16px 0;
}
.idf-dept-legend span{
padding:6px 14px;
border-radius:999px;
font-size:12px;
font-weight:700;
color:var(--slate);
border:1px solid var(--border);
}
.idf-card{
border:1px solid var(--border);
border-radius:var(--r-xl);
padding:16px;
display:flex;
flex-direction:column;
gap:10px;
transition:box-shadow .2s,transform .2s;
}
.idf-card:hover{box-shadow:var(--sh-lg);transform:translateY(-2px);}
.idf-card-head{
display:flex;
align-items:flex-start;
gap:9px;
}
.idf-dept-badge{
width:32px;height:32px;
border-radius:9px;
background:var(--ink);
color:#fff;
font-size:11px;
font-weight:900;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}
.idf-card-head > div{flex:1;min-width:0;}
.idf-card-head strong{display:block;font-size:13px;font-weight:800;color:var(--ink);}
.idf-card-head span{font-size:11px;color:var(--mid);}
.idf-card-foot{
display:flex;
align-items:center;
justify-content:space-between;
padding-top:10px;
border-top:1px solid var(--border);
}
.idf-links{display:flex;gap:6px;}
.idf-links a{
font-size:11px;
font-weight:700;
padding:5px 10px;
background:var(--white);
border:1px solid var(--border);
border-radius:999px;
color:var(--steel);
transition:background .15s,color .15s;
}
.idf-links a:hover{background:var(--blue-xl);color:var(--blue);}
@media (max-width:1100px){
.arr-map-grid{grid-template-columns:1fr;}
.arr-calc-col{position:static;}
.idf-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){
.idf-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){
.idf-grid{grid-template-columns:1fr;}
}
.calc-wrap{display:flex;flex-direction:column;gap:0;}
.brand-band-section{
background:var(--white);
border-top:1px solid var(--border);
border-bottom:1px solid var(--border);
padding:20px 0 18px;
overflow:hidden;
}
.brand-band-head{
display:flex;
align-items:center;
gap:14px;
padding-bottom:14px;
}
.brand-band-label{
display:inline-flex;
align-items:center;
gap:7px;
font-size:11px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.14em;
color:var(--ink);
white-space:nowrap;
}
.brand-band-sub{
font-size:12px;
color:var(--mid);
font-weight:500;
}
.brand-band-wrap{
position:relative;
overflow:hidden;
}
.brand-marquee-fade{
position:absolute;
top:0;bottom:0;
width:80px;
z-index:2;
pointer-events:none;
}
.brand-fade-left{left:0;background:linear-gradient(90deg,var(--white) 0%,transparent 100%);}
.brand-fade-right{right:0;background:linear-gradient(-90deg,var(--white) 0%,transparent 100%);}
.brand-track{
display:flex;
align-items:center;
gap:10px;
width:max-content;
padding:0 10px;
animation:brandScroll 38s linear infinite;
}
.brand-track:hover{animation-play-state:paused;}
@keyframes brandScroll{
0%{transform:translateX(0);}
100%{transform:translateX(-50%);}
}
.brand-chip{
display:inline-flex;
align-items:center;
gap:8px;
padding:8px 14px;
border-radius:999px;
border:1.5px solid transparent;
white-space:nowrap;
cursor:default;
transition:transform .15s,box-shadow .15s;
flex-shrink:0;
}
.brand-chip:hover{
transform:translateY(-2px);
box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.brand-dot{
width:8px;
height:8px;
border-radius:50%;
flex-shrink:0;
}
.brand-name{
font-size:13px;
font-weight:800;
color:var(--ink);
letter-spacing:-.01em;
}
.brand-cat{
font-size:10px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
opacity:.85;
}
@media (max-width:480px){
.premium-stat-grid{grid-template-columns:1fr;}
.premium-stat span{white-space:normal;}
}