/*
 * Ouest Peinture — Atelier Digital / interface V2
 * Modernisation progressive des pages existantes, sans migration du contenu.
 * Les règles .opr-card__body .opr-text-link::after rendent aussi les ANCIENNES cartes entièrement cliquables.
 */
:root {
  --opr-ink: #142b31;
  --opr-accent-soft: #edf5f1;
  --opr-paper: #f9faf7;
  --opr-radius: 20px;
  --opr-radius-lg: 30px;
  --opr-focus: #b45309;
  --opr-shadow-modern: 0 24px 60px rgba(15, 46, 47, .105);
}
body.opr-site-active {
  color: var(--opr-ink);
  background: #fff;
  font-size: 17px;
  line-height: 1.68;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.opr-site-active :where(h1, h2, h3, h4) {
  color: var(--opr-dark);
  font-weight: 790;
  letter-spacing: -.045em;
  line-height: 1.14;
  text-wrap: balance;
}
body.opr-site-active :where(p, li) {line-height: 1.72;}
body.opr-site-active :where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--opr-focus) !important;
  outline-offset: 4px;
}
body.opr-site-active :where(a, button, input, select, textarea) { -webkit-tap-highlight-color: rgba(27, 113, 110, .12); }
body.opr-site-active :where(a) { text-underline-offset: .17em; }
body.opr-site-active :where(a):not([class]):hover {text-decoration: underline;}
body.opr-site-active ::selection {background: #cfe6dd; color: var(--opr-dark);}
.opr-skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 100000;
  padding: 14px 22px;
  font-size: 16px;
  font-weight: 750;
  border-radius: 12px;
  color: #fff !important;
  background: var(--opr-dark);
  transform: translateY(-180%);
  transition: transform .15s ease;
}
.opr-skip-link:focus {transform: translateY(0);}
#opr-main {scroll-margin-top: 126px;}
.opr-wrap {width: min(100% - 72px, 1320px);}
.opr-eyebrow {
  color: var(--opr-primary);
  letter-spacing: .14em;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 820 !important;
  margin: 0 0 19px !important;
}
.opr-eyebrow::before {
  content: '';
  display: inline-block;
  width: 23px;
  height: 3px;
  margin: 0 10px 4px 0;
  border-radius: 10px;
  background: currentColor;
}
/* Header and identity */
.opr-site-header {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(16,47,50,.1);
  box-shadow: 0 7px 30px rgba(14,37,45,.045);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.opr-mobile-menu summary,.opr-mobile-menu__panel {box-sizing:border-box;}
.opr-site-header__inner {
  width: min(100% - 40px, 1530px);
  max-width: 1530px;
  padding: 13px 0;
  min-height: 110px;
  gap: clamp(16px,2vw,36px);
}
.opr-brand {width: 298px;flex: none;gap:15px;}
.opr-brand img {width: 97px;height: 97px;max-height: none;object-fit: contain;object-position: center;flex: none;}
.opr-brand__name {display:flex;flex-direction:column;justify-content:center;min-width:0;gap:5px;}
.opr-brand__name strong {font-size:22px;line-height:1.1;font-weight:850;letter-spacing:-.047em;color:var(--opr-dark);white-space:nowrap;}
.opr-brand__name small {font-size:12px;line-height:1.25;font-weight:690;letter-spacing:.01em;color:#516a6d;white-space:nowrap;}
.opr-main-menu {gap: 4px clamp(12px,1.15vw,23px);}
.opr-main-menu li a {font-size: 15px;font-weight: 690;padding: 15px 4px;color: var(--opr-dark);}
.opr-main-menu li a:hover,.opr-main-menu .current-menu-item>a {color: var(--opr-primary);}
.opr-main-menu .sub-menu {
  border-radius: 16px;
  width: 310px;
  padding: 12px;
  border-color: #e5ede7;
  box-shadow: 0 20px 65px rgba(10,34,38,.13);
}
.opr-main-menu .sub-menu li a {font-size: 15px;line-height: 1.5;padding: 13px 15px;border-radius: 9px;}
.opr-main-menu .sub-menu li a:hover,.opr-main-menu .sub-menu li a:focus-visible {background: var(--opr-accent-soft);}
.opr-header-actions {gap: 18px;}
.opr-header-phone {font-size: 15px;font-weight: 800;color: var(--opr-dark);text-decoration: none;}
.opr-header-phone:hover {color: var(--opr-primary);}
.opr-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 53px;
  padding: 14px 22px;
  color: #fff !important;
  background: var(--opr-primary);
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 790;
  box-shadow: 0 8px 24px rgba(18,94,87,.13);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.opr-header-cta:hover {background: var(--opr-primary-dark);box-shadow: 0 12px 32px rgba(18,94,87,.24);transform: translateY(-2px);}
.opr-header-cta .opr-header-cta__icon {font-size: 20px;line-height: 1;}
/* Buttons and action links */
.opr-actions {gap: 14px;margin-top: 32px;}
.opr-btn {
  min-height: 58px;
  padding: 17px 28px;
  border-radius: 14px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 770;
  letter-spacing: -.01em;
  border-width: 1.5px;
  box-shadow: none;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.opr-btn:hover {transform: translateY(-2px);}
.opr-btn--primary {
  background: var(--opr-primary);
  border-color: var(--opr-primary);
  color: #fff !important;
  box-shadow: 0 10px 27px rgba(18,94,87,.16);
}
.opr-btn--primary:hover {background: var(--opr-primary-dark);border-color: var(--opr-primary-dark);box-shadow: 0 14px 35px rgba(18,94,87,.22);}
.opr-btn--outline {border-color: #9db8b0;background: #fff;color: var(--opr-dark) !important;}
.opr-btn--outline:hover {border-color: var(--opr-primary);background: var(--opr-accent-soft);color: var(--opr-dark) !important;}
.opr-text-link {
  color: var(--opr-primary) !important;
  font-size: 16px;
  font-weight: 780;
  min-height: 44px;
  gap: 10px;
  align-items: center;
  text-decoration: none;
}
.opr-text-link:hover {gap: 13px;}
/* Hero */
.opr-hero {
  padding: clamp(58px, 6.5vw, 104px) 0 clamp(74px,7vw,112px);
  background: radial-gradient(ellipse at 13% 29%,#eaf4ed 0%, transparent 47%), linear-gradient(135deg,#fbfcfa 8%,#f2f5f0 100%);
  overflow: hidden;
}
.opr-hero__grid {grid-template-columns: minmax(0,1.03fr) minmax(0, .97fr);gap: clamp(42px,6vw,100px);min-height: 560px;}
.opr-hero__copy {padding: 38px 0;}
.opr-hero h1 {
  font-size: clamp(49px, 4.65vw, 78px);
  font-weight: 800;
  max-width: 820px;
  line-height: 1.065 !important;
  letter-spacing: -.063em;
  hyphens: none;
  margin-bottom: 29px !important;
}
.opr-hero .opr-lead {font-size: clamp(18px,1.52vw,21px);line-height: 1.64 !important;max-width: 670px;color: #455a61;}
.opr-hero__foot {margin: 48px 0 0 !important;font-size: 13px;letter-spacing: .115em;color: #455d5d;}
.opr-hero__foot span {font-size: 15px;}
.opr-hero__visual {
  border-radius: 30px 30px 116px 30px;
  min-height: 550px;
  background: linear-gradient(135deg,#9fbdb6,#345a61);
  box-shadow: 0 22px 65px rgba(16,51,56,.13);
  isolation: isolate;
}
.opr-hero__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: inherit;
  z-index: 1;
}
.opr-hero__image .opr-img {width: 100%;height: 100%;object-fit: cover;}
.opr-hero__note {
  z-index: 2;
  bottom: 28px;
  left: 28px;
  padding: 24px 27px;
  border-radius: 17px;
  max-width: 280px;
  box-shadow: 0 16px 40px rgba(10,30,34,.1);
}
.opr-hero__note span {font-size: 12px;letter-spacing: .12em;margin-bottom: 7px;}
.opr-hero__note strong {font-size: 20px;line-height: 1.25;}
/* Content sections */
.opr-section {padding: clamp(80px,7vw,116px) 0;}
.opr-section--soft {background: #f5f7f3;}
.opr-section h2,.opr-cta h2 {font-size: clamp(38px,3.7vw,58px);margin: 0 0 28px !important;max-width: 1050px;}
.opr-prose {max-width: 920px;font-size: 18px;color: #3c5058;line-height: 1.76;}
.opr-prose p {margin-bottom: 23px !important;}
.opr-intro {font-size: 18px;max-width: 870px;color: #4d6469;}
.opr-section-heading {align-items: end;gap: 25px;margin-bottom: 35px;}
.opr-section-heading .opr-text-link {flex: none;}
/* Interactive service cards: old and newly generated content */
.opr-grid {grid-template-columns: repeat(3,minmax(0,1fr));gap: 24px;margin-top: 40px;}
.opr-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  isolation: isolate;
  overflow: hidden;
  border-radius: 23px;
  background: #fff;
  border: 1px solid #e1eae5;
  box-shadow: 0 5px 20px rgba(21,48,48,.025);
  transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.opr-card:hover {transform: translateY(-7px);border-color: #9dc4b8;box-shadow: var(--opr-shadow-modern);}
.opr-card:focus-within {outline: 3px solid var(--opr-focus);outline-offset: 3px;box-shadow: var(--opr-shadow-modern);}
.opr-card__full-link {display:flex;flex:1;flex-direction:column;min-width:0;color:inherit !important;text-decoration:none !important;}
.opr-card__media {height: clamp(220px,19vw,300px);overflow: hidden;background: #d0ddd6;flex:none;}
.opr-card__media .opr-img {width:100%;height:100%;object-fit:cover;transition:transform .38s ease;}
.opr-card:hover .opr-card__media .opr-img,.opr-card:focus-within .opr-card__media .opr-img {transform:scale(1.055);}
.opr-card__body {flex:1;padding: 29px 30px 31px;align-items:stretch;display:flex;flex-direction:column;}
.opr-card__kicker {font-size: 13px !important;letter-spacing: .1em;margin-bottom: 13px !important;font-weight: 800 !important;}
.opr-card h3 {font-size: clamp(24px,1.8vw,30px);margin: 0 0 13px !important;line-height: 1.21;letter-spacing:-.04em;}
.opr-card p:not(.opr-card__kicker) {font-size: 16px;line-height:1.68;margin: 0 0 26px !important;color:#56696d;}
.opr-card__cta,.opr-card__body .opr-text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 12px;
  margin-top: auto;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
  color: var(--opr-primary) !important;
  min-height: 48px;
}
.opr-card__cta-arrow {
  width: 37px;
  height: 37px;
  display: inline-grid;
  place-items: center;
  background: var(--opr-accent-soft);
  border-radius: 50%;
  color: var(--opr-primary);
  font-size: 20px;
  transition: background .2s,color .2s,transform .2s;
}
.opr-card:hover .opr-card__cta-arrow,.opr-card:focus-within .opr-card__cta-arrow {background:var(--opr-primary);color:#fff;transform:translate(2px,-2px);}
/* The original V1 cards have an anchor only around the tiny text CTA.
   Enlarge its hit area using a pseudo-element; no content rewrite is needed. */
.opr-card__body .opr-text-link::after {content:'';position:absolute;inset:0;z-index:2;}
.opr-card__body .opr-text-link {position:static;}
.opr-card__body .opr-text-link::before {
  content:'↗';
  display:inline-grid;
  place-items:center;
  width:37px;
  height:37px;
  border-radius:50%;
  background:var(--opr-accent-soft);
  font-size:18px;
  margin-left:5px;
  order:2;
}
.opr-card__body .opr-text-link span {display:none;}
.opr-card__body .opr-text-link:focus-visible {outline:none !important;}
.opr-card__full-link:focus-visible {outline:none !important;}
/* Places & trust */
.opr-areas {gap: 15px;margin: 40px 0;}
.opr-areas a {
  font-size: 17px;
  padding: 25px 24px;
  min-height: 78px;
  border-radius: 15px;
  border-color: #dee9e2;
  background: #fff;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.opr-areas a:hover {border-color:var(--opr-primary);transform:translateY(-3px);box-shadow:0 15px 32px rgba(19,65,60,.065);}
.opr-areas a span {font-size:22px;}
.opr-stats {max-width:900px;margin-top:55px;}
.opr-stats>div {min-width:190px;padding:25px 40px 0 0;}
.opr-stats strong {font-size:57px;}
.opr-stats span {font-size:15px;color:#506267;}
.opr-checklist {gap:10px 28px;max-width:960px;}
.opr-checklist li {font-size:17px;padding:16px 0 16px 34px;}
.opr-checklist li:before {font-size:19px;}
.opr-process {background: #163238 !important;}
.opr-process .opr-eyebrow {color: #c8dcd5;}
.opr-steps {gap:22px;margin-top:48px;}
.opr-steps article {border-top-color:rgba(255,255,255,.27);padding:34px 15px 16px;}
.opr-steps article>span {font-size:18px;color: #e8c99a;}
.opr-steps h3 {font-size:26px;margin:40px 0 12px !important;}
.opr-steps p {font-size:16px;color:#dfebea;}
/* Editorial CTA */
.opr-cta {padding:clamp(78px,7.5vw,122px) 0;background: #112c33;}
.opr-cta__grid {gap:55px;}
.opr-cta h2 {font-size:clamp(39px,4vw,64px);max-width:730px;}
.opr-cta p:not(.opr-eyebrow) {font-size:19px;color:#dfebea;max-width:760px;}
.opr-cta .opr-eyebrow {color:#eacb9d;}
.opr-cta .opr-btn--outline {background:transparent;border-color:#abbab9;color:#fff!important;}
.opr-cta .opr-btn--outline:hover {background:#fff;color:var(--opr-dark)!important;}
.opr-nearby {padding:54px 0;background:#ecf3ed;}
.opr-nearby h2 {font-size:30px;}
.opr-nearby a {font-size:15px;font-weight:750;padding:13px 18px;border-radius:10px;min-height:48px;}
/* Work gallery */
.opr-photo-grid {gap:22px;margin-top:42px;}
.opr-photo-grid__item {border:1px solid #e5ebe7;border-radius:18px;box-shadow:0 12px 28px rgba(24,53,52,.04);}
.opr-photo-grid__img {height:310px;}
.opr-photo-grid__item figcaption {font-size:15px;line-height:1.5;padding:17px 19px;color:#3a5459;}
/* FAQ */
.opr-faq {background:var(--opr-paper);}
.opr-faq__list {max-width:1030px;margin-top:43px;}
.opr-faq summary {font-size:20px;font-weight:760;padding:26px 44px 26px 0;line-height:1.45;}
.opr-faq summary:after {font-size:28px;top:25px;}
.opr-faq details p {font-size:17px;line-height:1.75;color:#48616a;max-width:880px;margin-bottom:30px;}
/* Forms */
.opr-form-section {background: #f4f7f3;}
.opr-contact-form {grid-template-columns: .8fr 1.2fr;gap:clamp(35px,5vw,90px);}
.opr-contact-form h2 {font-size:clamp(38px,3.8vw,59px);}
.opr-contact-form>div:first-child>p:not(.opr-eyebrow) {font-size:19px;line-height:1.6;color:#516568;}
.opr-form-phone {font-size:31px;font-weight:800;}
.opr-form {
  border:1px solid #dbe7df;
  padding:clamp(25px,3.2vw,49px);
  border-radius:24px;
  gap:22px;
  box-shadow:0 22px 55px rgba(16,52,48,.06);
}
.opr-form>label {font-size:16px;font-weight:720;color:#263e42;gap:9px;}
.opr-form :where(input:not([type="checkbox"]),textarea,select) {
  font:inherit;
  min-height:57px;
  padding:15px 16px;
  border:1.5px solid #bdcfc7;
  background:#fff;
  color:#193339;
  font-size:16px;
  border-radius:11px;
}
.opr-form :where(input,textarea,select):focus-visible {outline:3px solid var(--opr-focus) !important;outline-offset:2px;box-shadow:none;}
.opr-form textarea {min-height:135px;}
.opr-form .opr-consent {font-size:15px;line-height:1.55;font-weight:530;gap:9px;}
.opr-form .opr-consent input {width:20px;height:20px;margin:2px 0 0;accent-color:var(--opr-primary);}
.opr-form button {font-size:17px;min-height:59px;}
.opr-form-note {font-size:13px;color:#53666b;}
.opr-form-error {border-radius:10px;font-size:15px;}
/* Articles */
.opr-articles-grid {max-width:1320px;gap:24px;}
.opr-article-card {border-radius:20px;border-color:#e1eae5;overflow:hidden;transition:box-shadow .2s,transform .2s;}
.opr-article-card:hover,.opr-article-card:focus-within {transform:translateY(-4px);box-shadow:var(--opr-shadow-modern);}
.opr-article-card__media {height:240px;}
.opr-article-card__body {padding:30px;}
.opr-article-card__date {font-size:14px;color:#51676c;}
.opr-article-card h2 {font-size:26px;line-height:1.26;}
.opr-article-card__body>p {font-size:16px;color:#4c5f66;}
.opr-pagination a,.opr-pagination span {border-radius:10px;padding:12px 18px;font-size:16px;}
/* Footer */
.opr-site-footer {background: #11282f;color:#e0ecea;padding-top:82px;}
.opr-site-footer__inner {max-width:1320px;width:min(100% - 72px,1320px);grid-template-columns:1.45fr 1fr .95fr 1.1fr;gap:clamp(26px,3.1vw,55px);padding-bottom:70px;}
.opr-site-footer h2 {font-size:18px !important;letter-spacing:-.015em;margin-bottom:25px !important;color:#fff!important;}
.opr-site-footer li {font-size:15px;line-height:1.6;margin-bottom:17px;}
.opr-site-footer a {color:#e4f1ec;}
.opr-site-footer a:hover {color:#fff;text-decoration:underline;}
.opr-footer-brand .opr-brand {width:325px;max-width:100%;padding:13px 16px;border-radius:16px;background:#fff;margin-bottom:25px;}
.opr-footer-brand .opr-brand img {width:92px;height:92px;}
.opr-footer-brand .opr-brand__name strong {font-size:22px;}
.opr-footer-brand>p {font-size:16px;line-height:1.75;max-width:390px;color:#d4e3df;}
.opr-footer-meta {font-size:14px;gap:10px;color:#ccdeda;}
.opr-site-footer__bottom {padding:29px max(36px,calc((100% - 1320px)/2));font-size:14px;line-height:1.5;gap:20px;color:#c8d8d5;}
.opr-site-footer__bottom a {color:#e4f1ec;}
/* Mobile and tablet */
@media (max-width: 1320px) {
  .opr-site-header__inner {gap:15px;}
  .opr-header-phone {font-size:14px;}
  .opr-header-cta {padding:14px 18px;font-size:14px;}
  .opr-main-nav {display:none;}
  .opr-mobile-menu {display:block;}
}
@media (max-width: 1320px) {
  .opr-site-header__inner {width:min(100% - 48px,1320px);min-height:94px;}
  .opr-brand {width:292px;}
  .opr-brand img {width:87px;height:87px;}
  .opr-mobile-menu summary {
    width:55px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1.5px solid #dce8e2;
    background:#f6faf7;
    border-radius:14px;
    padding:14px;
  }
  .opr-mobile-menu summary span {width:25px;background:var(--opr-dark);height:2.5px;}
  .opr-mobile-menu__panel {right:0;top:calc(100% + 14px);width:min(90vw,425px);max-height:calc(100vh - 135px);border-radius:20px;padding:25px;box-shadow:0 25px 75px rgba(9,36,39,.2);}
  .opr-mobile-brand {display:flex;align-items:center;gap:13px;}
  .opr-mobile-brand img {height:73px;width:73px;max-width:none;object-fit:contain;object-position:center;margin-bottom:12px;}
  .opr-mobile-brand .opr-brand__name {margin-bottom:12px;}
  .opr-mobile-brand .opr-brand__name strong {font-size:20px;}
  .opr-mobile-menu-list li a {font-size:17px;font-weight:690;line-height:1.5;padding:13px 5px;min-height:46px;}
  .opr-mobile-menu-list .sub-menu li a {font-size:15px;padding:10px 6px 10px 20px;}
  .opr-mobile-menu__panel>.opr-header-cta {width:100%;margin-top:23px;font-size:16px;}
  .opr-hero__grid {gap:4%;}
}
@media (max-width: 1000px) {
  .opr-hero__grid {grid-template-columns:1fr 1fr;min-height:500px;gap:32px;}
  .opr-hero__visual {min-height:490px;}
  .opr-hero h1 {font-size:clamp(42px,4.8vw,60px);}
  .opr-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .opr-steps {grid-template-columns:repeat(2,minmax(0,1fr));}
  .opr-site-footer__inner {grid-template-columns:repeat(2,minmax(0,1fr));}
  .opr-contact-form {grid-template-columns:1fr;gap:37px;}
  .opr-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .opr-cta__grid {flex-direction:column;align-items:flex-start;gap:32px;}
  .opr-cta .opr-actions {margin:0;}
}
@media (max-width: 767px) {
  .opr-wrap {width:min(100% - 36px,640px);}
  .opr-site-header__inner {width:calc(100% - 32px);padding:9px 0;min-height:89px;}
  .opr-brand {width:257px;gap:10px;}
  .opr-brand img {width:71px;height:71px;}
  .opr-brand__name strong {font-size:20px;}
  .opr-brand__name small {font-size:11px;}
  .opr-mobile-menu summary {width:51px;height:51px;}
  .opr-mobile-menu__panel {right:0;top:calc(100% + 9px);}
  .opr-eyebrow {font-size:12px !important;letter-spacing:.13em;}
  .opr-hero {padding:32px 0 68px;}
  .opr-hero__grid {display:flex;flex-direction:column;gap:25px;min-height:0;}
  .opr-hero__copy {padding:18px 0 0;}
  .opr-hero h1 {font-size:clamp(40px,9.4vw,58px);letter-spacing:-.055em;margin-bottom:23px!important;}
  .opr-hero .opr-lead {font-size:18px;line-height:1.6 !important;}
  .opr-actions {gap:11px;margin-top:26px;}
  .opr-actions .opr-btn {width:100%;min-height:58px;text-align:center;font-size:16px;}
  .opr-hero__foot {margin-top:29px !important;font-size:12px;}
  .opr-hero__visual {min-height:345px;border-radius:24px 24px 75px 24px;}
  .opr-hero__note {left:17px;bottom:17px;padding:16px 19px;border-radius:13px;max-width:215px;}
  .opr-hero__note span {font-size:10px;}
  .opr-hero__note strong {font-size:17px;}
  .opr-section {padding:73px 0;}
  .opr-section h2,.opr-cta h2 {font-size:clamp(35px,8vw,46px);}
  .opr-prose,.opr-intro {font-size:17px;}
  .opr-section-heading {display:block;margin-bottom:26px;}
  .opr-section-heading .opr-text-link {margin-top:19px;}
  .opr-grid {grid-template-columns:1fr;gap:19px;margin-top:28px;}
  .opr-card__media {height:225px;}
  .opr-card__body {padding:26px 25px 28px;}
  .opr-card h3 {font-size:27px;}
  .opr-card p:not(.opr-card__kicker) {font-size:16px;}
  .opr-areas {grid-template-columns:1fr 1fr;gap:12px;}
  .opr-areas a {font-size:15px;min-height:71px;padding:18px;}
  .opr-stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;}
  .opr-stats>div {min-width:0;padding:10px 0;}
  .opr-stats strong {font-size:46px;}
  .opr-stats span {font-size:14px;}
  .opr-checklist {grid-template-columns:1fr;}
  .opr-steps {grid-template-columns:1fr;gap:8px;}
  .opr-steps article {padding:26px 8px;}
  .opr-steps h3 {margin:17px 0 8px !important;font-size:25px;}
  .opr-steps p {font-size:16px;}
  .opr-cta {padding:72px 0 84px;}
  .opr-cta p:not(.opr-eyebrow) {font-size:17px;}
  .opr-cta .opr-actions {width:100%;}
  .opr-nearby {padding:43px 0;}
  .opr-nearby h2 {font-size:28px;}
  .opr-nearby a {font-size:15px;}
  .opr-photo-grid {grid-template-columns:1fr 1fr;gap:12px;}
  .opr-photo-grid__img {height:195px;}
  .opr-photo-grid__item figcaption {font-size:13px;padding:13px;}
  .opr-faq summary {font-size:18px;padding:23px 40px 23px 0;}
  .opr-faq summary:after {top:22px;}
  .opr-faq details p {font-size:16px;}
  .opr-contact-form h2 {font-size:40px;}
  .opr-form {padding:24px 20px;grid-template-columns:1fr;gap:19px;}
  .opr-form>label:has(textarea),.opr-form>label.opr-consent {grid-column:1;}
  .opr-form>label {font-size:16px;}
  .opr-articles-grid {grid-template-columns:1fr;width:min(100% - 36px,640px);}
  .opr-article-card h2 {font-size:25px;}
  .opr-site-footer {padding-top:68px;}
  .opr-site-footer__inner {width:min(100% - 36px,640px);grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px;padding-bottom:40px;}
  .opr-footer-brand {grid-column:1/-1;}
  .opr-footer-brand .opr-brand {width:312px;}
  .opr-site-footer h2 {font-size:17px !important;}
  .opr-site-footer li {font-size:15px;}
  .opr-site-footer__bottom {padding:24px 18px 108px;font-size:13px;}
  .opr-mobile-bar {gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5ebe6;}
  .opr-mobile-bar a {min-height:52px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:13px;}
}
@media (max-width: 480px) {
  .opr-header-actions {display:none;}
  .opr-brand {width:248px;gap:10px;}
  .opr-brand img {width:69px;height:69px;}
  .opr-brand__name strong {font-size:19px;}
  .opr-brand__name small {font-size:10.5px;}
  .opr-areas {grid-template-columns:1fr;}
  .opr-photo-grid {grid-template-columns:1fr;gap:17px;}
  .opr-photo-grid__img {height:240px;}
  .opr-site-footer__inner {grid-template-columns:1fr;gap:30px;}
  .opr-footer-brand {grid-column:auto;}
  .opr-hero__visual {min-height:285px;}
  .opr-hero h1 {font-size:clamp(38px,9.3vw,47px);}
}
@media (max-width: 350px) {
  .opr-brand {width:219px;gap:7px;}
  .opr-brand img {width:55px;height:55px;}
  .opr-brand__name strong {font-size:17px;}
  .opr-brand__name small {font-size:9.5px;}
  .opr-site-header__inner {gap:8px;}
}
@media (prefers-reduced-motion: reduce) {
  .opr-card,.opr-card__media .opr-img,.opr-btn,.opr-header-cta,.opr-areas a,.opr-article-card,.opr-skip-link {transition:none !important;animation:none !important;}
  .opr-card:hover,.opr-article-card:hover,.opr-areas a:hover,.opr-btn:hover,.opr-header-cta:hover {transform:none !important;}
}

/* 1.2.0 — navigation contextuelle, liens entièrement accessibles. */
body.opr-site-active .opr-breadcrumbs{position:relative;z-index:9;background:#f8faf9;border-bottom:1px solid rgba(23,55,54,.10);font-family:inherit}
body.opr-site-active .opr-breadcrumbs__inner{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:9px;max-width:1320px;margin:0 auto;padding:11px 28px;list-style:none;font-size:14px;line-height:1.65;color:#52656a}
body.opr-site-active .opr-breadcrumbs__inner li{margin:0;padding:0;display:flex;align-items:center;gap:9px}
body.opr-site-active .opr-breadcrumbs__inner li+li::before{content:"/";color:#86969a;pointer-events:none}
body.opr-site-active .opr-breadcrumbs a{color:#244d4c;font-weight:650;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s}
body.opr-site-active .opr-breadcrumbs a:hover,body.opr-site-active .opr-breadcrumbs a:focus-visible{text-decoration-color:currentColor}
body.opr-site-active .opr-breadcrumbs [aria-current="page"]{color:#395358;font-weight:580}
body.opr-site-active .opr-breadcrumbs a:focus-visible{outline:3px solid #d5a966;outline-offset:3px;border-radius:3px}
@media(max-width:640px){body.opr-site-active .opr-breadcrumbs__inner{padding:10px 18px;font-size:12px;gap:6px}body.opr-site-active .opr-breadcrumbs__inner li{gap:6px}body.opr-site-active .opr-breadcrumbs__inner li:last-child{max-width:100%;overflow-wrap:anywhere}}
