/* Proposition locale : styles propres à la composition simplifiée.
   Les lecteurs et le carrousel conservent leurs styles et comportements approuvés. */
.refined .site-header { padding:32px 0 12px; }
.refined .wordmark .site-signature { width:120px; }
.refined .site-header .social-inline { margin-top:14px; --social-gap:12px; --tap-size:44px; --network-icon:21px; }
.refined .hero { padding:20px 0 30px; }
.refined .hero-copy { max-width:840px; }
.refined .hero h1 { font-size:clamp(2rem,3.3vw,2.85rem); line-height:1.2; letter-spacing:-.045em; margin-bottom:27px; }
.refined .hero-introduction { max-width:600px; gap:17px; }
.refined .hero-actions { margin-top:22px; gap:8px; }
.refined .horizon { margin-top:14px; margin-bottom:56px; max-width:1140px; }
.refined .horizon-scene { border-radius:5px; overflow:hidden; }
.refined .horizon img { height:220px; }
.refined h2 { font-weight:600; }
.refined-about { padding:72px 40px !important; }
.refined-inner { max-width:1080px; margin:auto; display:grid; grid-template-columns:300px minmax(0,1fr); gap:80px; align-items:center; }
.refined-about .refined-inner { grid-template-columns:160px minmax(0,1fr); gap:68px; max-width:980px; }
.refined-photo { width:130px; align-self:start; margin-top:48px; }
.refined-photo figure { height:130px; width:130px; overflow:hidden; border-radius:50%; margin:0; }
.refined-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 44%; }
.refined-photo > p { display:none; }
.refined-copy .eyebrow { font-size:11px; color:#777; margin-bottom:12px; }
.refined-copy h2 { font-size:clamp(1.65rem,2.7vw,2rem); line-height:1.2; margin-bottom:26px !important; }
.refined-copy .about-text { max-width:none; margin:0; }
.refined-copy .about-text p { font-size:15px; line-height:1.85; margin-bottom:18px; }
.refined-exchange { padding:70px 40px 34px; }
.refined-exchange .refined-inner { grid-template-columns:340px minmax(0,1fr); gap:70px; align-items:start; }
.refined-heading .eyebrow { font-size:11px; margin-bottom:12px; }
.refined-heading h2 { font-size:clamp(1.65rem,2.7vw,2rem); line-height:1.25; }
.refined-heading h2::after { content:''; display:block; width:30px; height:2px; background:var(--red); margin-top:17px; }
.refined-body p { font-size:15px; color:#c7c7c7; line-height:1.85; margin-bottom:18px; text-wrap:pretty; }
.refined-body .refined-emphasis { padding-left:20px; border-left:1px solid var(--red); color:#eee; margin-top:24px; }
.refined .testimonials { padding:45px 0 55px; max-width:1080px; }
.refined .testimonials-heading { max-width:none; }
.refined .testimonials-heading h2, .refined .contact h2 { font-size:clamp(1.65rem,2.7vw,2rem); }
.refined .testimonials-heading .eyebrow { font-size:11px; }
.refined .contact { padding:40px 24px 42px; }
.refined .contact h2 { margin-bottom:23px; }
.refined .contact-portrait { width:96px; height:96px; margin:0 auto 22px; border:0; padding:0; background:transparent; }
.refined .contact .refined-preexchange { max-width:440px; font-size:14px; line-height:1.8; color:#666; margin:20px auto 0; text-wrap:pretty; }
@media (max-width:700px) {
  .refined .site-header { padding-top:26px; }
  .refined .wordmark .site-signature { width:112px; }
  .refined .site-header .social-inline { --social-gap:8px; margin-top:12px; }
  .refined .hero { padding-top:16px; }
  .refined .hero h1 { font-size:clamp(1.8rem,7.1vw,2.15rem); }
  .refined .hero-introduction { max-width:35ch; }
  .refined .horizon { margin-top:12px; margin-bottom:38px; }
  .refined .horizon img { height:155px; }
  .refined-about { padding:40px 24px !important; }
  .refined-about .refined-inner { display:grid; grid-template-columns:1fr; gap:24px; }
  .refined-copy { grid-row:2; }
  .refined-copy h2 br { display:none; }
  .refined-photo { grid-row:1; width:90px; margin:0; }
  .refined-photo figure { width:90px; height:90px; }
  .refined-copy .about-text p, .refined-body p { font-size:15px; line-height:1.8; }
  .refined-exchange { padding:42px 24px 12px; }
  .refined-exchange .refined-inner { display:block; }
  .refined-heading { margin-bottom:23px; }
  .refined .testimonials { padding-top:35px; padding-bottom:34px; }
  .refined .testimonials-heading { padding:0 4px; }
  .refined .contact { padding:38px 24px; }
  .refined .contact-portrait { width:84px; height:84px; }
  .refined .contact .refined-preexchange { max-width:32ch; }
}

/* Finitions : réseaux de même largeur que la signature et portraits assortis. */
.refined .site-header{padding-bottom:0}
.refined .site-header .social-inline{display:flex;width:120px;justify-content:space-between;gap:0;margin-top:24px}
.refined .site-header .social-inline a{width:32px;height:32px}
.refined .site-header .social-inline img{width:18px;height:18px}
.refined .hero{padding-top:24px}
.refined-photo,.refined-photo figure{width:96px;height:96px}
.refined-photo figure,.refined .contact-portrait{border:1px solid var(--red);border-radius:50%;padding:2px}
.refined .button-red{animation:contact-invitation 2.6s ease-in-out infinite}
@keyframes contact-invitation{0%,100%{opacity:1;box-shadow:0 0 0 0 #ee484800}50%{opacity:.78;box-shadow:0 0 0 5px #ee484818}}
@media(max-width:700px){
 .refined .site-header .social-inline{width:112px;margin-top:20px}
 .refined .hero{padding-top:20px}
 .refined-photo,.refined-photo figure{width:84px;height:84px}
}
@media(prefers-reduced-motion:reduce){.refined .button-red{animation:none}}

/* Paysage choisi : mer calme, cadrage central et angles à peine renforcés. */
.refined .horizon img{object-position:center;transform:none}
.refined .horizon-corner{width:clamp(32px,4vw,52px);height:clamp(18px,2vw,26px);background:none;border-style:solid;border-color:#ee4848b3}
.refined .horizon-corner-start{border-width:1.25px 0 0 1.25px}
.refined .horizon-corner-end{border-width:0 1.25px 1.25px 0}
/* Les cartes voisines restent visibles sans élargir la page sur tablette. */
.refined main{overflow-x:clip}

/* Portrait associé au titre, texte en dessous sur toute la largeur. */
.refined-about .refined-inner{display:block;max-width:820px}
.refined-title-row{display:flex;align-items:center;gap:26px;margin-bottom:28px}
.refined-title-row .refined-photo{width:96px;height:96px;flex:0 0 96px;margin:0;border:1px solid var(--red);border-radius:50%;padding:2px;overflow:hidden;align-self:auto}
.refined-title-row .refined-photo img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 44%}
.refined-title-row h2{margin-bottom:0!important}
.refined-title-row .eyebrow{margin-bottom:9px}
@media(max-width:700px){
 .refined-title-row{gap:18px;margin-bottom:25px}
 .refined-title-row .refined-photo{width:84px;height:84px;flex-basis:84px}
 .refined-title-row h2{font-size:clamp(1.3rem,5.2vw,1.65rem)}
 .refined-title-row .eyebrow{font-size:10px}
}

/* Les retours suivent directement la présentation, avant le détail de l’échange. */
.refined .testimonials{padding-top:48px;padding-bottom:26px}
.refined .testimonials-heading{margin-bottom:0}
.refined .testimonials-heading h2{margin-bottom:12px}
.refined .testimonials-invitation{font-size:14px;line-height:1.6;color:#bdbdbd;margin:0}
.refined .testimonials-deck{margin-top:-10px}
.refined-exchange{padding-top:26px;padding-bottom:58px}
@media(max-width:700px){
 .refined .testimonials{padding-top:35px;padding-bottom:12px}
 .refined .testimonials-invitation{font-size:13px}
 .refined-exchange{padding-top:22px;padding-bottom:38px}
}
/* Section d’échange claire, dans la continuité du contact. */
.refined-exchange{background:var(--paper);color:var(--ink);padding-top:56px;padding-bottom:22px}
.refined-exchange .eyebrow{color:#777}
.refined-exchange .refined-body p{color:#464646}
.refined-exchange .refined-body .refined-emphasis{color:#222}
.refined .contact{padding-top:24px}
@media(max-width:700px){.refined-exchange{padding-top:38px;padding-bottom:16px}.refined .contact{padding-top:22px}}
/* Contact final distinct, compact et sur noir. */
.refined .contact{background:#000;color:#fff;padding:34px 24px 38px}
.refined .contact h2{color:#fff;margin-bottom:22px}
.refined .contact-portrait{margin-bottom:20px}
@media(max-width:700px){.refined .contact{padding:30px 24px 34px}}

/* Boutons au toucher : position stable, pulsation conservée. */
.refined .button{touch-action:manipulation}
@media(hover:none),(pointer:coarse){
 .refined .button-red{transform:none;transition:background-color .18s}
 .refined .site-header .social-inline a:hover{transform:none}
}
