/* Charte Maskan V1.0, version claire. Concept : une page de conversation plutôt qu'une vitrine technique.
   Des photos de vrais biens, des cadres en arc (la porte du logo), des scènes d'agence avec des heures et des prénoms. */
:root{
  color-scheme:light;
  --sable:#F5F4EF;       /* fond de page */
  --sable-2:#EDEBE3;     /* bandes alternées */
  --blanc:#FFFFFF;
  --ink:#0F1431;         /* Nuit : texte */
  --ink-2:#4A5070;       /* Ardoise : texte secondaire */
  --line:#DDDBD1;        /* Gris pierre sur sable */
  --atl:#1A2B56;         /* Bleu Atlantique : principal */
  --maj:#3548C8;         /* Bleu Majorelle : accent */
  --maj-doux:#E3E6F8;
  --ocre:#C47C0A;        /* Ocre Atlas : aplats et icônes */
  --ocre-texte:#8A5206;
  --ocre-doux:#FBEBCB;
  --ok:#136B4C; --ok-doux:#DDF3EA;
  --attente:#9A5208; --attente-doux:#FBE7D0;
  --f-titre:'Clash Grotesk','DM Sans',system-ui,sans-serif;
  --f-texte:'General Sans','DM Sans',system-ui,sans-serif;
  --f-ar:'IBM Plex Sans Arabic','Segoe UI',system-ui,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sable);color:var(--ink);font:400 17px/1.65 var(--f-texte);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{font-family:var(--f-titre);margin:0;line-height:1.08;letter-spacing:-.015em;text-wrap:balance;font-weight:700}
.wrap{width:min(1160px,100%);margin-inline:auto;padding-inline:20px}
.ico{width:1.3em;height:1.3em;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.kicker{font:600 13px/1.2 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--maj)}
:focus-visible{outline:2px solid var(--maj);outline-offset:3px;border-radius:6px}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.9em 1.3em;border-radius:10px;font:600 16px/1 var(--f-texte);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.btn-primary{background:var(--atl);color:#fff}
.btn-primary:hover{background:#243a70}
.btn-ghost{border-color:var(--atl);color:var(--atl);background:transparent}
.btn-ghost:hover{background:var(--blanc)}

/* En-tête */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--sable) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;height:70px}
.logo{display:flex;align-items:center;gap:10px;font:700 22px/1 var(--f-titre);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;color:var(--atl)}
.logo svg{width:34px;height:34px}
.logo .ar{font:600 20px/1 var(--f-ar);letter-spacing:0;text-transform:none;color:var(--maj);padding-inline-start:10px;border-inline-start:1px solid var(--line)}
.nav ul{display:flex;gap:22px;list-style:none;margin:0 auto 0 14px;padding:0;font-size:15.5px;font-weight:500;color:var(--ink-2)}
.nav ul a{text-decoration:none;white-space:nowrap}.nav ul a:hover{color:var(--ink)}
.nav .login{font-weight:500;font-size:15.5px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.nav .cta{display:flex;gap:14px;align-items:center}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:64px 72px}
.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cg fill='none' stroke='%231A2B56' stroke-opacity='.07' stroke-width='1.2'%3E%3Cpath d='M48 6 L58 24 L78 18 L72 38 L90 48 L72 58 L78 78 L58 72 L48 90 L38 72 L18 78 L24 58 L6 48 L24 38 L18 18 L38 24Z'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(100deg,transparent 35%,#000 95%);-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 95%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,5.6vw,68px)}
.hero h1 span{color:var(--maj)}
.hero .lead{font-size:clamp(18px,1.7vw,21px);color:var(--ink-2);max-width:50ch;margin-top:22px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .who{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:15px;color:var(--ink-2);max-width:46ch}
.hero .who b{color:var(--ink)}
.badge-ali{width:44px;height:44px;border-radius:50%;background:var(--ocre);color:#fff;display:grid;place-items:center;font:700 16px var(--f-titre);flex:none}

.arche{position:relative;margin-inline:auto;width:min(440px,100%)}
.arche .photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:50% 50% 18px 18px / 40% 40% 18px 18px;background:var(--sable-2)}
.bulle{position:absolute;background:var(--blanc);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:14.5px;line-height:1.4;max-width:230px;box-shadow:0 10px 30px -14px rgba(15,20,49,.28)}
.bulle small{display:block;font-size:12px;color:var(--ink-2);margin-bottom:3px}
.bulle.q{top:12%;inset-inline-end:-6%;border-end-end-radius:4px}
.bulle.r{top:30%;inset-inline-start:-8%;background:var(--maj-doux);border-color:transparent;border-end-start-radius:4px}
.fiche{position:absolute;bottom:-4%;inset-inline-start:-6%;inset-inline-end:8%;background:var(--blanc);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 14px 34px -16px rgba(15,20,49,.3)}
.fiche b{display:block;font:700 17px var(--f-titre);line-height:1.2}
.fiche .m{font-size:13.5px;color:var(--ink-2)}
.fiche .row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.prix{font:600 15px var(--f-texte);font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-weight:600;font-size:12.5px;white-space:nowrap}
.chip.ok{background:var(--ok-doux);color:var(--ok)}
.chip.wait{background:var(--attente-doux);color:var(--attente)}
.chip.off{background:var(--sable-2);color:var(--ink-2)}
.chip.blue{background:var(--maj-doux);color:var(--maj)}
.chips{display:flex;gap:6px;flex-wrap:wrap}

/* Bandeau portails */
.portals{padding-block:26px;border-block:1px solid var(--line);background:var(--blanc)}
.portals .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.portals p{font-size:15px;color:var(--ink-2)}
.portals ul{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0}
.portals{padding-block:56px}
.portals .wrap{display:block}
.pt-head{display:grid;gap:10px;margin-bottom:28px}
.pt-head h2{font-size:clamp(28px,3.4vw,40px)}
.pt-label{font:600 13px var(--f-texte)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)!important;margin:26px 0 12px}
.portals ul.wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.portals ul.wall li{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font:inherit}
.tile{display:grid;place-items:center;width:100%;height:96px;padding:18px 22px;background:var(--blanc);border:1px solid var(--line);border-radius:14px}
.tile img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.wall.next .tile{background:var(--sable)}
.wall.next .tile.dark{background:var(--atl);border-color:var(--atl)}
.tile img[src$=".svg"]{height:48px;width:auto}
.wm{font:700 24px var(--f-titre);color:var(--ink-2);letter-spacing:-.01em;text-align:center;line-height:1.1}
.wall .chip{margin-inline-start:4px}
.portals li{font:700 17px var(--f-titre);display:flex;align-items:baseline;gap:8px}
.portals li small{font:500 12px var(--f-texte);color:var(--ok)}
.portals li.soon small{color:var(--ocre-texte)}

/* Sections */
section{padding-block:92px}
.band{background:var(--sable-2)}
.sec-h{max-width:720px;margin-bottom:44px;display:grid;gap:14px}
.sec-h h2{font-size:clamp(32px,4.2vw,50px)}
.sec-h p{color:var(--ink-2);font-size:19px;max-width:56ch}

/* Une journée à l'agence */
.jour{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.jour .sec-h{position:sticky;top:110px;margin:0}
.fil{list-style:none;margin:0;padding:0;display:grid;gap:0;border-inline-start:2px solid var(--line)}
.fil li{position:relative;padding:0 0 34px 34px}
.fil li:last-child{padding-bottom:0}
.fil li::before{content:"";position:absolute;inset-inline-start:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--sable);border:2px solid var(--maj)}
.fil .h{font:600 14px var(--f-texte);color:var(--maj);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.fil h3{font-size:23px;margin-block:4px 8px}
.fil p{color:var(--ink-2);max-width:54ch}
.fil .fn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:5px 12px 5px 9px;border-radius:99px;background:var(--blanc);border:1px solid var(--line);font-size:14px;font-weight:500}
.fil .fn .ico{width:1.15em;height:1.15em;color:var(--ocre)}

/* Duo texte + visuel */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:60px;align-items:center}
.duo.inv{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.duo h2{font-size:clamp(30px,3.8vw,44px);margin-block:14px 18px}
.duo .copy>p{color:var(--ink-2);font-size:18px}
.duo ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.duo li{display:flex;gap:12px;align-items:flex-start}
.duo li .ico{color:var(--ocre);margin-top:4px}

/* Écran de l'application, version calme */
.app{background:var(--blanc);border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:14px}
.app-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--sable)}
.app-bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.app-bar .url{margin-inline-start:12px;font-size:12px;color:var(--ink-2);background:var(--blanc);padding:3px 12px;border-radius:99px;border:1px solid var(--line)}
.liste{display:grid}
.lg{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.lg:last-child{border:0}
.lg img{width:64px;height:48px;object-fit:cover;border-radius:8px;background:var(--sable-2)}
.lg b{display:block;font:700 16px var(--f-titre);line-height:1.2}
.lg small{color:var(--ink-2);font-size:13px}
.lg .chips{justify-content:flex-end}
.app-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.app-h b{font:700 18px var(--f-titre)}

/* Matching */
.match{background:var(--blanc);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:12px}
.match .req{display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--maj-doux);border-radius:12px}
.av{width:40px;height:40px;border-radius:50%;background:var(--atl);color:#fff;display:grid;place-items:center;font:700 15px var(--f-titre);flex:none}
.match .req small{display:block;color:var(--ink-2);font-size:13.5px}
.hit{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.hit img{width:56px;height:56px;border-radius:9px;object-fit:cover}
.hit b{display:block;line-height:1.25}.hit small{color:var(--ink-2);font-size:13.5px}
.score{position:relative;width:52px;height:52px}
.score svg{width:52px;height:52px;transform:rotate(-90deg)}
.score span{position:absolute;inset:0;display:grid;place-items:center;font:600 13px var(--f-texte)}
.msg{display:flex;gap:10px;align-items:flex-end}
.msg .bubble{background:#E5F4EC;border-radius:14px;border-end-start-radius:4px;padding:10px 14px;font-size:14.5px;max-width:34ch}

/* Site d'agence */
.browser{background:var(--blanc);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.site{background:#FDFAF4;color:#3D2004}
.site .sn{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font:700 15px var(--f-titre)}
.site .sn span{font:500 12px var(--f-texte);color:#8F6E32}
.site .sh{position:relative;height:210px;background:#3D2004 url("img/riad.jpg") center 35%/cover;color:#FFF3DC;padding:20px;display:flex;flex-direction:column;justify-content:flex-end}
.site .sh::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(61,32,4,.78),transparent 65%)}
.site .sh *{position:relative;z-index:1}
.site .sh b{font:700 26px var(--f-titre)}
.site .sg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.site .sg div{font-size:13px;background:#FAF3E4;border:1px solid #F2E4C8;border-radius:8px;padding:8px}
.site .sg img{display:block;width:100%;height:64px;object-fit:cover;border-radius:5px;margin-bottom:7px}
.site .sg b{display:block}
.domaines{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

/* Marché marocain */
.local{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.loc{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding-block:26px;border-top:1px solid var(--line)}
.loc .ico{width:30px;height:30px;color:var(--ocre);margin-top:2px}
.loc h3{font-size:22px;margin-bottom:6px}
.loc p{color:var(--ink-2);font-size:16.5px;max-width:48ch}
.loc .ar{font:500 22px/1.7 var(--f-ar);color:var(--maj);margin-top:6px}

/* Première agence */
.faits{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.faits img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.faits h2{font-size:clamp(30px,3.8vw,44px);margin-block:14px 18px}
.faits .copy>p{color:var(--ink-2);font-size:18px;max-width:50ch}
.nums{display:grid;grid-template-columns:repeat(4,auto);gap:14px 30px;margin-top:30px;justify-content:start}
.nums b{display:block;font:700 40px/1 var(--f-titre);color:var(--atl);font-variant-numeric:tabular-nums}
.nums span{font-size:14px;color:var(--ink-2)}

/* Tarifs */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{background:var(--blanc);border:1px solid var(--line);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:16px;min-width:0}
.plan.feat{background:var(--ocre-doux);border:2px solid var(--atl)}
.plan h3{font-size:25px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.plan .price{font:700 46px/1 var(--f-titre);color:var(--atl);font-variant-numeric:tabular-nums}
.plan .price small{font:500 15px var(--f-texte);color:var(--ink-2)}
.muted{color:var(--ink-2);font-size:16px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:16px}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li .ico{margin-top:4px;width:1.05em;height:1.05em;color:var(--ok)}
.plan .btn{margin-top:auto;justify-content:center}
.note{margin-top:20px;font-size:14.5px;color:var(--ink-2)}

/* FAQ */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--blanc);border:1px solid var(--line);border-radius:12px}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font:600 18px var(--f-titre);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{transition:transform .2s;color:var(--maj)}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq details p{padding:0 22px 20px;color:var(--ink-2);max-width:66ch}

/* Appel final */
.final{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;background:var(--ocre-doux);border-radius:26px;padding:clamp(28px,5vw,64px);position:relative;overflow:hidden}
.final h2{font-size:clamp(32px,4.2vw,52px);max-width:16ch}
.final p{margin-top:16px;max-width:48ch;color:var(--ink-2);font-size:18px}
.final .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.final .arche{width:min(240px,100%)}
.final .arche .photo{aspect-ratio:3/4}
footer{padding-block:54px 36px;border-top:1px solid var(--line);margin-top:92px;font-size:15px;color:var(--ink-2)}
.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.foot h5{font:600 12px var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none}.foot a:hover{color:var(--ink)}
.legal{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}


/* Deux façons d'alimenter Maskan */
.sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.src-card{background:var(--blanc);border:1px solid var(--line);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:14px;min-width:0}
.src-card:nth-child(2){background:var(--maj-doux);border-color:transparent}
.src-tag{align-self:flex-start;font:600 12px var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--atl);background:var(--ocre-doux);padding:4px 12px;border-radius:99px}
.src-card:nth-child(2) .src-tag{background:var(--blanc)}
.src-card h3{font-size:26px}
.src-card>p{color:var(--ink-2);font-size:17px}
.src-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.src-steps li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px}
.src-steps .ico{color:var(--ocre);margin-top:3px}
.src-for{margin-top:auto;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-size:15px;color:var(--ink)!important;font-weight:500}
.src-merge{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:18px 22px;background:var(--atl);color:#fff;border-radius:14px;font-size:17px}
.src-merge .ico{margin-top:4px;color:#FBD07F}

/* Marrakech */
.mk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.mk h2{font-size:clamp(32px,4.2vw,50px);margin-block:14px 18px}
.mk .copy>p{color:var(--ink-2);font-size:19px;max-width:52ch}
.quartiers{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.quartiers span{padding:8px 16px;border-radius:99px;background:var(--blanc);border:1px solid var(--line);font-weight:500;font-size:15.5px}
.quartiers span.on{background:var(--atl);color:#fff;border-color:var(--atl)}
.specs{display:grid;gap:0}
.spec{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding-block:22px;border-top:1px solid var(--line)}
.spec:first-child{border-top:0;padding-top:0}
.spec .ico{width:30px;height:30px;color:var(--ocre);margin-top:2px}
.spec h3{font-size:21px;margin-bottom:6px}
.spec p{color:var(--ink-2);font-size:16.5px;max-width:48ch}
/* Tout le Maroc */
.nat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px}
.nat h3{font:600 13px var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--maj);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.nat ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:16.5px}
.nat li.hl{font-weight:600;color:var(--atl)}
.nat li.hl::after{content:"  point de départ";font:500 12px var(--f-texte);color:var(--ocre-texte)}
.nat-note{margin-top:30px;color:var(--ink-2);max-width:62ch}

/* Adaptation */
@media (max-width:1000px){
  .nav ul{display:none}.nav .cta{margin-inline-start:auto}
  .sources{grid-template-columns:minmax(0,1fr)}
  .portals ul.wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mk{grid-template-columns:minmax(0,1fr)}.nat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid,.jour,.duo,.duo.inv,.faits,.final{grid-template-columns:minmax(0,1fr)}
  .hero-grid{gap:64px}
  .jour .sec-h{position:static}
  .local,.plans{grid-template-columns:minmax(0,1fr)}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arche{width:min(400px,86%)}
  .final .arche{display:none}
}
@media (max-width:640px){
  section{padding-block:64px}
  .nav{gap:12px}.nav .d{display:none}.nav .login{display:none}.nav .btn{padding:.75em 1em;font-size:14.5px}.logo{font-size:19px}.logo svg{width:28px;height:28px}.logo .ar{font-size:17px;padding-inline-start:8px}
  .nat{grid-template-columns:minmax(0,1fr)}
  .nums{grid-template-columns:repeat(2,auto)}
  .lg{grid-template-columns:56px minmax(0,1fr)}.lg img{width:56px;height:44px}.lg .chips{grid-column:2;justify-content:flex-start}
  .site .sg{grid-template-columns:repeat(2,minmax(0,1fr))}.site .sg div:nth-child(3){display:none}
  .bulle{max-width:62%;font-size:13px;padding:8px 11px}.bulle.q{top:8%;inset-inline-end:-2%}.bulle.r{top:34%;inset-inline-start:-2%}.fiche{inset-inline-start:-2%;inset-inline-end:4%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Le voyage d'une annonce */
.voyage-sec{padding-block:92px 72px}
.stage{background:var(--blanc);border:1px solid var(--line);border-radius:24px;padding:clamp(14px,3vw,34px);overflow:hidden;position:relative}
.stage::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cg fill='none' stroke='%231A2B56' stroke-opacity='.05' stroke-width='1.2'%3E%3Cpath d='M48 6 L58 24 L78 18 L72 38 L90 48 L72 58 L78 78 L58 72 L48 90 L38 72 L18 78 L24 58 L6 48 L24 38 L18 18 L38 24Z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.voyage{position:relative;display:block;width:100%;height:auto;max-width:1100px;margin-inline:auto}
.voyage.v-v{display:none;max-width:440px}
.v-t{font:700 18px var(--f-titre);fill:var(--ink)}
.v-t2{font:700 15px var(--f-titre);fill:var(--ink)}
.v-s{font:400 13.5px var(--f-texte);fill:var(--ink-2)}
.v-p{font:600 17px var(--f-texte);fill:var(--atl)}
.v-lab{font:600 12px var(--f-texte);letter-spacing:.12em;fill:var(--ink-2)}
.v-w{font:700 21px var(--f-titre);letter-spacing:.04em;fill:#F5F4EF}
.v-ar{font:600 16px var(--f-ar);fill:#8E9CFF}
.v-chip{font:600 12.5px var(--f-texte);fill:var(--ok)}
.v-chip2{font:600 12px var(--f-texte);fill:var(--maj)}
.v-prevu{font:600 12px var(--f-texte);fill:#fff}
.v-mini{font:600 10.5px var(--f-texte);fill:var(--atl)}
.v-wire{fill:none;stroke:var(--maj);stroke-width:1.6;stroke-dasharray:3 7;stroke-linecap:round;opacity:.55}
.voy-notes{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.voy-notes li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;color:var(--ink-2)}
.voy-notes b{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ocre-doux);color:var(--atl);font:700 15px var(--f-titre)}
@media (max-width:760px){
  .voyage.v-h{display:none}.voyage.v-v{display:block}
  .voy-notes{grid-template-columns:minmax(0,1fr)}
  .voyage-sec{padding-block:64px 48px}
}

/* Grandes photos */
.photo-band{position:relative;min-height:clamp(380px,56vw,620px);display:flex;align-items:flex-end;padding-block:48px;color:#fff;background:var(--photo) center/cover no-repeat;isolation:isolate}
.photo-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,20,49,.82) 0%,rgba(15,20,49,.45) 45%,rgba(15,20,49,.05) 100%)}
.photo-band .kicker{color:#FBD07F}
.photo-band h2{font-size:clamp(32px,5vw,60px);max-width:16ch;margin-block:12px 14px}
.photo-band p:not(.kicker){max-width:52ch;font-size:19px;color:rgba(255,255,255,.92)}
.photo-wide{padding-block:0 92px;background:var(--sable-2)}
.photo-wide figure{margin:0;position:relative;border-radius:24px;overflow:hidden}
.photo-wide img{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:center 60%}
.photo-wide figcaption{position:absolute;inset-inline:0;bottom:0;padding:48px 28px 22px;color:#fff;background:linear-gradient(0deg,rgba(15,20,49,.75),transparent);display:grid;gap:2px}
.photo-wide figcaption b{font:700 22px var(--f-titre)}
.photo-wide figcaption span{font-size:15.5px;opacity:.92}
@media (max-width:640px){.photo-wide img{aspect-ratio:4/3}.photo-band{padding-block:32px}}

/* Recherche de biens (grand public) */
.nav ul a.cur{color:var(--atl);font-weight:600}
.srch-hero{position:relative;color:#fff;background:var(--photo) center 60%/cover no-repeat;padding-block:72px 64px;isolation:isolate}
.srch-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,20,49,.62),rgba(15,20,49,.78))}
.srch-hero .kicker{color:#FBD07F}
.srch-hero h1{font-size:clamp(38px,5.4vw,64px);margin-block:12px 14px;max-width:16ch}
.srch-hero .lead{font-size:19px;max-width:54ch;color:rgba(255,255,255,.92);margin-bottom:30px}
.srch{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;background:var(--blanc);color:var(--ink);padding:16px;border-radius:18px;box-shadow:0 20px 50px -24px rgba(15,20,49,.5)}
.srch-mini{grid-template-columns:auto repeat(2,minmax(0,1fr)) auto;border:1px solid var(--line);box-shadow:none;background:var(--blanc)}
.seg{display:inline-flex;background:var(--sable-2);border-radius:12px;padding:4px;gap:2px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:block;padding:11px 18px;border-radius:9px;font-weight:600;font-size:15.5px;color:var(--ink-2);cursor:pointer}
.seg input:checked+span{background:var(--atl);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--maj);outline-offset:2px}
.fld{display:grid;gap:5px;min-width:0}
.fld span{font:600 12px var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.fld select,.sort select{appearance:none;width:100%;font:500 16px var(--f-texte);color:var(--ink);padding:12px 36px 12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%234A5070' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.fld select:focus-visible,.sort select:focus-visible{outline:2px solid var(--maj);outline-offset:1px}
.srch .btn{justify-content:center;min-height:48px}

.srch-res{padding-block:56px 40px}
.res-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.res-head h2{font-size:clamp(24px,3vw,32px)}
.sort{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2)}
.sort select{width:auto}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px}
.bien{display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;min-width:0;transition:transform .18s,border-color .18s}
a.bien:hover{transform:translateY(-3px);border-color:var(--maj)}
.bien .ph{position:relative;display:block;aspect-ratio:4/3;background:var(--sable-2)}
.bien .ph img{display:block;width:100%;height:100%;object-fit:cover}
.bien .st{position:absolute;inset-inline-start:12px;top:12px;background:var(--blanc)}
.bien .bd{display:grid;gap:5px;padding:16px 18px 18px;align-content:start}
.bien .ty{font:600 12px var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--maj)}
.bien h3{font:600 17px/1.25 var(--f-titre);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bien .lo{color:var(--ink-2);font-size:14.5px}
.bien .px{font:700 21px var(--f-titre);color:var(--atl);margin-top:4px}
.bien .me{display:flex;gap:14px;color:var(--ink-2);font-size:14px}
.bien .ag{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.bien .ag em{margin-inline-start:auto;font-style:normal;font-size:12.5px}
.ag-b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ocre);color:#fff;font:700 11px var(--f-titre);font-style:normal}
.bien.sk .ph{background:var(--sable-2)}
.bien.sk .bd span{display:block;height:14px;border-radius:7px;background:var(--sable-2)}
.bien.sk .l1{width:70%}.bien.sk .l2{width:45%;margin-top:6px}.bien.sk .l3{width:35%;height:20px;margin-top:8px}
.more{display:flex;justify-content:center;margin-top:30px}
.src-note{text-align:center;margin-top:18px;font-size:14px;color:var(--ink-2)}
.vide{grid-column:1/-1;padding:40px 0;color:var(--ink-2);text-align:center}

.chercher{padding-block:72px 24px}
.ch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.ch-head h2{font-size:clamp(28px,3.6vw,42px);margin-top:12px;max-width:20ch}

.srch-agence{padding-block:24px 56px}
.agence-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;background:var(--ocre-doux);border-radius:22px;padding:clamp(24px,4vw,44px)}
.agence-cta h2{font-size:clamp(26px,3.4vw,38px);max-width:22ch;margin-block:10px}
.agence-cta p:not(.kicker){color:var(--ink-2);max-width:48ch}

@media (max-width:1000px){
  .srch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .srch .seg{grid-column:1/-1;justify-self:start}
  .srch .btn{grid-column:1/-1}
  .srch-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .srch,.srch-mini{grid-template-columns:minmax(0,1fr)}
  .cards,.cards-4{grid-template-columns:minmax(0,1fr)}
  .srch-hero{padding-block:48px 40px}
}

/* Offres */
.plans2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px;align-items:stretch}
.plan.free .src-tag{background:var(--maj-doux);color:var(--maj)}
.plan.agence .src-tag{background:var(--blanc)}
.plan{align-items:flex-start}
.plan>*{max-width:100%}
.plan-ar{font:600 22px var(--f-ar);color:var(--maj);margin-inline-start:10px}
.plan.free h3{flex-wrap:wrap;justify-content:flex-start}
.plan.agence h3{justify-content:flex-start;flex-wrap:wrap;gap:12px}
.plan .btn{align-self:stretch}
.mini-logos{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;padding-block:6px}
.mini-logos img{display:block;width:auto;max-width:none}
.mini-logos span{font-size:14px;color:var(--ink-2)}
.calc{width:100%;background:var(--blanc);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.calc-l{display:block;font:600 14px var(--f-texte);color:var(--ink-2);margin-bottom:10px}
.calc-row{display:flex;align-items:center;gap:18px}
.calc-row output{flex:none;min-width:84px;text-align:end;font-size:15px;color:var(--ink-2)}
.calc-row output b{font:700 26px var(--f-titre);color:var(--atl);font-variant-numeric:tabular-nums}
.calc input[type=range]{--pct:0%;flex:1;min-width:0;height:28px;margin:0;appearance:none;background:transparent;cursor:pointer}
.calc input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--atl) var(--pct),var(--sable-2) var(--pct))}
.calc input[type=range]::-moz-range-track{height:8px;border-radius:99px;background:var(--sable-2)}
.calc input[type=range]::-moz-range-progress{height:8px;border-radius:99px;background:var(--atl)}
.calc input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;margin-top:-9px;border-radius:50%;background:var(--blanc);border:3px solid var(--atl);box-shadow:0 2px 8px rgba(15,20,49,.25)}
.calc input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--blanc);border:3px solid var(--atl)}
.calc input[type=range]:focus-visible{outline:2px solid var(--maj);outline-offset:4px}
.calc .price{margin-top:12px;font-size:52px}
.px-eur{color:var(--ink-2);font-size:15px;margin-top:2px}
.plan ul.cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.paliers{width:100%;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding-top:14px}
.paliers summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font:600 16px var(--f-titre)}
.paliers summary::-webkit-details-marker{display:none}
.paliers summary .ico{color:var(--maj);transition:transform .2s}
.paliers[open] summary .ico{transform:rotate(45deg)}
.pal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.pal-grid div{display:grid;gap:1px;padding:10px 12px;border-radius:10px;background:var(--blanc);border:1px solid var(--line);font-size:13.5px}
.pal-grid span{color:var(--ink-2)}
.pal-grid b{font:700 16px var(--f-titre);color:var(--atl);font-variant-numeric:tabular-nums}
.pal-grid em{font-style:normal;color:var(--ink-2);font-size:12.5px}
.pal-note{margin-top:10px;font-size:13.5px;color:var(--ink-2)}
@media (max-width:1000px){.plans2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.plan ul.cols{grid-template-columns:minmax(0,1fr)}.pal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calc .price{font-size:42px}}

@media (max-width:1280px){.nav ul li.opt{display:none}}

/* Accueil resserré */
.facts{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:16px;color:var(--ink-2)}
.facts li{display:flex;align-items:center;gap:8px}
.facts .ico{color:var(--ok);width:1.15em;height:1.15em}
.facts b{color:var(--ink)}
.bulle.q,.bulle.r,.bulle.s{display:flex;align-items:center;gap:10px;padding:10px 14px;max-width:none}
.bulle img{display:block;width:auto}
.bulle.s{bottom:24%;inset-inline-end:-7%}
.bulle.q{top:10%}
.benef{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.benef article{display:grid;gap:10px;align-content:start}
.benef .ico{width:34px;height:34px;color:var(--ocre)}
.benef h3{font-size:24px}
.benef p{color:var(--ink-2);font-size:17px;max-width:36ch}
.proof-line{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-2);font-size:17px}
.proof-line b{color:var(--ink)}
.cherche-band{padding-block:8px 8px}
.cb{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 26px;border:1px dashed var(--line);border-radius:16px;background:var(--blanc)}
.cb p{font-size:17px;color:var(--ink-2)}
.cb b{color:var(--ink)}
@media (max-width:900px){.benef{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (max-width:640px){.bulle.q,.bulle.r,.bulle.s{padding:8px 11px}.bulle.q{top:8%;inset-inline-end:-2%}.bulle.r{top:30%;inset-inline-start:-2%}.bulle.s{bottom:26%;inset-inline-end:-2%}}

.hero h1 span{display:block}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Mobile et tactile ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,label,input,select{touch-action:manipulation;-webkit-tap-highlight-color:rgba(53,72,200,.14)}
.chip{font-size:13px}
.menu-btn{display:none;place-items:center;width:44px;height:44px;border:1.5px solid var(--line);border-radius:12px;background:var(--blanc);color:var(--ink);cursor:pointer;flex:none}
.menu-btn .m-close{display:none}
.menu-btn.is-open .m-open{display:none}
.menu-btn.is-open .m-close{display:inline}
.mmenu{display:none}
.m-cta[hidden]{display:none}
@media (max-width:1000px){
  .menu-btn{display:grid}
  .mmenu:not([hidden]){display:grid;gap:2px;padding:8px 20px 20px;border-top:1px solid var(--line);background:var(--sable);box-shadow:0 24px 40px -24px rgba(15,20,49,.35)}
  .mmenu a{display:flex;align-items:center;min-height:52px;font:500 18px var(--f-texte);text-decoration:none;border-bottom:1px solid var(--line)}
  .mmenu a[aria-current=page]{color:var(--atl);font-weight:600}
  .mmenu .btn{margin-top:14px;justify-content:center;border-bottom:0;font-size:17px}
}
@media (max-width:640px){
  .nav{height:64px;gap:10px}
  .logo{min-height:44px}
  .nav .cta{margin-inline-start:auto}
  .nav .btn{min-height:44px;display:inline-flex;align-items:center}
  .hero{padding-block:32px 44px}
  .hero-grid{gap:44px}
  .foot ul{gap:0}
  .foot a{display:inline-flex;align-items:center;min-height:44px}
  .paliers summary{min-height:44px}
  .calc input[type=range]{height:44px}
  .faq summary{min-height:56px}
  .plan{padding:22px}
  .stage{padding:8px;border-radius:18px}
  .v-v .v-t{font-size:20px}.v-v .v-t2{font-size:19px}.v-v .v-s{font-size:17px}.v-v .v-p{font-size:20px}
  .v-v .v-lab{font-size:17.5px}.v-v .v-chip2{font-size:17.5px}.v-v .v-mini{font-size:13px}.v-v .v-ar{font-size:17.5px}.v-v .v-w{font-size:23px}
  .m-cta{position:fixed;inset-inline:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--sable) 94%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .m-cta .btn{width:100%;justify-content:center;min-height:52px;font-size:17px}
  body{scroll-padding-top:72px}
  /* Recherche */
  .srch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
  .srch .seg{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .seg span{display:grid;place-items:center;min-height:44px;text-align:center}
  .srch .fld:nth-of-type(1),.srch .fld:nth-of-type(4){grid-column:1/-1}
  .srch .btn{grid-column:1/-1;min-height:52px}
  .fld select{min-height:48px}
  .srch-hero{padding-block:32px 24px}
  .srch-hero h1{font-size:34px}
  .srch-hero .lead{font-size:17px;margin-bottom:20px}
}
@media (hover:none){.btn:hover,a.bien:hover,.dari-fab:hover{transform:none}}

/* ---------- Accueil en grille bento ---------- */
.hero-bento{padding-block:28px 56px}
.hero-bento::before{opacity:.8}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.b-tile{position:relative;overflow:hidden;background:var(--blanc);border:1px solid var(--line);border-radius:30px;padding:clamp(20px,2.6vw,34px);min-width:0}
.t-maj{background:var(--maj-doux);border-color:transparent}
.t-ocre{background:var(--ocre-doux);border-color:transparent}
.b-k{font:600 13px var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}
.b-big{display:block;font:700 clamp(64px,6.4vw,92px)/.9 var(--f-titre);letter-spacing:-.04em;color:var(--atl);font-variant-numeric:tabular-nums}
.b-big.sm{font-size:clamp(38px,4.4vw,56px)}
.b-tile p{margin:0}

.b-main{grid-column:1/8;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3.2vw,48px)}
.b-main h1{font-size:clamp(38px,4.3vw,66px);line-height:1;letter-spacing:-.035em;margin-top:14px}
.b-main h1 span{display:block;color:var(--maj)}
.b-main .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:46ch;margin-top:22px}
.b-main .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.b-photo{grid-column:8/13;grid-row:1/span 3;display:grid;place-items:center;background:var(--ocre-doux);border-color:transparent;padding:clamp(20px,2.4vw,32px) clamp(20px,2.4vw,32px) clamp(40px,3vw,48px)}
.b-photo .arche{width:min(100%,400px)}
.b-photo .bulle.q{inset-inline-end:-2%}
.b-photo .bulle.r{inset-inline-start:-4%}
.b-photo .bulle.s{inset-inline-end:-3%}
.b-photo .fiche{inset-inline-start:-4%;inset-inline-end:4%}

.b-s1{grid-column:1/3;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:170px}
.b-s2{grid-column:3/5;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:170px}
.b-s1 p,.b-s2 p{font:600 17px/1.3 var(--f-texte);color:var(--ink)}
.b-s3{grid-column:5/8;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:170px}
.b-s3 .px{position:relative;height:1.3em;font:700 clamp(18px,1.7vw,24px)/1.3 var(--f-titre);color:var(--atl);font-variant-numeric:tabular-nums;white-space:nowrap}
.b-s3 .px span{position:absolute;inset-inline-start:0;top:0}
.px-a{animation:px-a 7s infinite}.px-b{animation:px-b 7s infinite}
@keyframes px-a{0%,40%{opacity:1;transform:none}46%,94%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:none}}
@keyframes px-b{0%,44%{opacity:0;transform:translateY(8px)}50%,92%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(8px)}}
.upd{display:flex;flex-wrap:wrap;gap:6px}
.upd span{padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.7);font:600 12.5px var(--f-texte);color:var(--ink-2);animation:upd 7s infinite}
.upd span:nth-child(2){animation-delay:.25s}.upd span:nth-child(3){animation-delay:.5s}.upd span:nth-child(4){animation-delay:.75s}
@keyframes upd{0%,46%{background:rgba(255,255,255,.7);color:var(--ink-2)}52%,92%{background:var(--ok-doux);color:var(--ok)}98%,100%{background:rgba(255,255,255,.7);color:var(--ink-2)}}

.b-mq{grid-column:1/8;padding:18px 0;display:flex;align-items:center}
.marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.b-mq:hover .mq-track{animation-play-state:paused}
.mq-track ul{display:flex;align-items:center;gap:44px;list-style:none;margin:0;padding:0 22px}
.mq-track li{display:flex;align-items:center;flex:none}
.mq-track img{display:block;width:auto}
.mq-soon{gap:8px;font:700 20px var(--f-titre);color:var(--ink-2);opacity:.55}
.mq-soon small{font:500 11px var(--f-texte);letter-spacing:.06em;text-transform:uppercase}
@keyframes mq{to{transform:translateX(-50%)}}

.bento>*{animation:b-in .75s cubic-bezier(.2,.8,.2,1) both}
.bento>*:nth-child(2){animation-delay:.08s}.bento>*:nth-child(3){animation-delay:.16s}.bento>*:nth-child(4){animation-delay:.22s}.bento>*:nth-child(5){animation-delay:.28s}.bento>*:nth-child(6){animation-delay:.34s}
@keyframes b-in{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@media (hover:hover){.b-s1,.b-s2,.b-s3{transition:transform .25s ease}.b-s1:hover,.b-s2:hover,.b-s3:hover{transform:translateY(-4px)}}

/* Pourquoi Maskan en bento */
.bento-why .b-tile{display:flex;flex-direction:column;gap:12px;min-height:250px}
.bento-why h3{font-size:clamp(24px,2.4vw,32px);line-height:1.1;max-width:18ch}
.bento-why p{color:var(--ink-2);font-size:17px;max-width:38ch}
.w-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.75);color:var(--atl)}
.w-ico .ico{width:26px;height:26px}
.w-a{grid-column:1/8}.w-b{grid-column:8/13}.w-c{grid-column:1/6}.w-d{grid-column:6/13;justify-content:space-between}
.w-d .w-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:auto}
.w-d .w-nums p{font-size:15px;margin-top:4px}

@media (max-width:1000px){
  .b-main,.b-photo,.b-mq{grid-column:1/-1}
  .b-photo{grid-row:auto}
  .b-s1{grid-column:1/5}.b-s2{grid-column:5/9}.b-s3{grid-column:9/13}
  .w-a,.w-b,.w-c,.w-d{grid-column:1/-1}
}
@media (max-width:640px){
  .bento{gap:12px}
  .b-tile{border-radius:24px}
  .b-main h1{font-size:clamp(40px,12.4vw,56px)}
  .b-s1,.b-s2{grid-column:span 6;min-height:150px}
  .b-s3{grid-column:1/-1;min-height:0}
  .b-big{font-size:72px}
  .bento-why .b-tile{min-height:0}
  .w-d .w-nums{grid-template-columns:repeat(3,minmax(0,1fr))}
  .b-photo .bulle.q,.b-photo .bulle.s{inset-inline-end:-1%}.b-photo .bulle.r{inset-inline-start:-1%}
}
@media (prefers-reduced-motion:reduce){
  .bento>*,.px-a,.px-b,.upd span{animation:none}
  .px-b{opacity:0}
  .mq-track{animation:none}
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* ---------- Accueil : on comprend tout de suite ---------- */
.b-main2{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px 48px;align-items:end;padding:clamp(22px,3vw,38px) clamp(22px,4vw,56px)}
.b-main2 h1{font-size:clamp(36px,4.6vw,68px);line-height:1;letter-spacing:-.035em;margin-top:12px}
.b-main2 h1 span{display:block;color:var(--maj)}
.b-main2 .lead{font-size:clamp(17px,1.4vw,19px);color:var(--ink-2);max-width:44ch}
.b-main2 .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.b-flow{grid-column:1/-1;padding:clamp(14px,2vw,26px);background:linear-gradient(180deg,var(--blanc) 0%,var(--maj-doux) 190%)}
.flow-title{font:600 13px var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--maj);margin:0 0 6px}
.b-flow .voyage{margin:0 auto}
.b-flow .voyage.v-v{display:none}
.b-flow .voy-notes{margin-top:14px;list-style:none;padding:0}
.b-s1{grid-column:1/4;min-height:170px}
.b-s2{grid-column:4/7;min-height:170px}
.b-s3{grid-column:7/13;min-height:170px}
.b-mq{grid-column:1/-1}
@media (max-width:1000px){
  .b-main2{grid-template-columns:minmax(0,1fr);align-items:start}
  .b-s1{grid-column:1/7}.b-s2{grid-column:7/13}.b-s3{grid-column:1/-1;min-height:0}
}
@media (max-width:760px){
  .b-flow .voyage.v-h{display:none}
  .b-flow .voyage.v-v{display:block}
}
@media (max-width:640px){
  .b-s1,.b-s2{min-height:150px}
}

@media (max-width:640px){.b-main2 .actions .btn{width:100%;justify-content:center}}

/* logos internationaux (icône + nom) */
.tile.row{display:flex;align-items:center;justify-content:flex-start;gap:14px}
.tile.row img{width:44px;height:44px;max-width:44px;object-fit:contain;flex:none;border-radius:6px}
.wm.sm{font-size:20px;text-align:start}

.wall .chip{white-space:normal}
.mq-soon small{white-space:nowrap}

.v-url{font:500 11px var(--f-texte);fill:#4A5070}
@media (max-width:640px){.v-v .v-url{font-size:14px}}

/* réseau international */
.wall.intl{grid-template-columns:repeat(4,minmax(0,1fr))}
.wall.intl .tile.row{height:92px}
.wall.intl .nm{display:grid;gap:2px;min-width:0}
.wall.intl .wm.sm{font-size:17px}
.cond{font:500 12.5px var(--f-texte);color:var(--ink-2);line-height:1.2}
.wall.intl .chip{white-space:normal}
.mq-ico{gap:10px}
.mq-ico b{font:700 20px var(--f-titre);color:var(--ink)}
.mq-ico img{width:40px;height:40px;border-radius:6px}
@media (max-width:1000px){.wall.intl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wall.intl{grid-template-columns:minmax(0,1fr)}}

.tile:not(.row) img{width:auto;height:auto;max-height:100%}
.portals ul.wall .tile img[src$=".png"]:not(.row img){max-width:100%}

.wall.intl .nm{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}
.wall.intl .nm .wm,.wall.intl .nm .cond{display:block;text-align:start;margin:0}
.wall.intl .tile.row{align-items:center}

.pt-rule{font-size:19px;color:var(--ink-2);max-width:60ch}.pt-rule b{color:var(--atl)}
