/* Refonte 2026 — accueil (généré) */
:root{
  
  --a2-adf-vert:   #A9D86E;   
  --a2-adf-bleu:   #6FA8DC;   
  --a2-adf-orange: #F6A25B;   
  --a2-adf-violet: #9B7CC7;   
  --a2-adf-marron: #7B4A12;   

  
  --a2-adf-vert-soft:   #F1F8E7;
  --a2-adf-bleu-soft:   #EDF4FB;
  --a2-adf-orange-soft: #FEF2E7;
  --a2-adf-violet-soft: #F4F0FA;
  --a2-adf-marron-soft: #F6EFE6;

  
  --a2-ink:      #141414;   
  --a2-text:     #3F3F3F;
  --a2-muted:    #707070;
  --a2-line:     #E6E0D6;
  --a2-line-2:   #D9D1C4;
  --a2-bg:       #FFFFFF;
  --a2-bg-soft:  #FBF9F5;   
  --a2-bg-beige: #F5EFE6;   
  --a2-deep:     #161616;   

  
  --a2-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --a2-sans:  "Source Sans 3", "Helvetica Neue", Arial, sans-serif;

  --a2-fs-display: clamp(2.5rem, 1.6rem + 3.6vw, 4.6rem);
  --a2-fs-h1:      clamp(2.25rem, 1.6rem + 2.6vw, 3.9rem);
  --a2-fs-h2:      clamp(1.9rem, 1.4rem + 1.9vw, 3rem);
  --a2-fs-h3:      clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  --a2-fs-lead:    clamp(1.08rem, 1rem + .35vw, 1.3rem);
  --a2-fs-body:    1.0625rem;
  --a2-fs-small:   .9375rem;
  --a2-fs-xs:      .78rem;

  
  --a2-s-1: 4px;  --a2-s-2: 8px;  --a2-s-3: 12px; --a2-s-4: 16px; --a2-s-5: 24px;
  --a2-s-6: 32px; --a2-s-7: 48px; --a2-s-8: 64px; --a2-s-9: 96px; --a2-s-10: 128px;
  --a2-section-y: clamp(64px, 5vw + 40px, 128px);
  --a2-gutter: clamp(20px, 4vw, 56px);
  --a2-maxw: 1320px;

  --a2-radius: 4px;
  --a2-radius-lg: 10px;
  --a2-arch: 220px;            
  --a2-shadow: 0 1px 2px rgba(20,20,20,.04), 0 12px 32px -12px rgba(20,20,20,.14);
  --a2-ease: cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body{
  margin: 0; background: var(--a2-bg); color: var(--a2-text);
  font-family: var(--a2-sans); font-size: var(--a2-fs-body); line-height: 1.65;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img{ max-width: 100%; display: block; height: auto; }
a{ color: inherit; text-decoration: none; }
p{ margin: 0 0 1em; }
h1,h2,h3,h4{ font-family: var(--a2-serif); color: var(--a2-ink); font-weight: 500; margin: 0; line-height: 1.12; letter-spacing: -.012em; }
em{ font-style: italic; }
h1 em, h2 em, .a2-display em{ color: var(--a2-adf-marron); font-weight: 400; }
button{ font: inherit; cursor: pointer; }
:focus-visible{ outline: 2px solid var(--a2-adf-bleu); outline-offset: 3px; }
.a2-sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.a2-wrap{ width: 100%; max-width: var(--a2-maxw); margin: 0 auto; padding: 0 var(--a2-gutter); }
.a2-section{ padding: var(--a2-section-y) 0; }
.a2-section--soft{ background: var(--a2-bg-soft); }
.a2-section--beige{ background: var(--a2-bg-beige); }
.a2-section--tight{ padding: calc(var(--a2-section-y) * .6) 0; }
.a2-hairline{ border: 0; border-top: 1px solid var(--a2-line); margin: 0; }
.a2-eyebrow{
  display: inline-flex; align-items: center; gap: 14px;
  font-family: var(--a2-sans); font-size: var(--a2-fs-xs); font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: var(--a2-adf-marron);
  margin-bottom: var(--a2-s-5);
}
.a2-eyebrow::before{ content: ""; width: 36px; height: 2px; background: var(--a2-adf-orange); flex: none; }
.a2-eyebrow--vert::before{ background: var(--a2-adf-vert); }
.a2-eyebrow--bleu::before{ background: var(--a2-adf-bleu); }
.a2-eyebrow--violet::before{ background: var(--a2-adf-violet); }
.a2-eyebrow--light{ color: #E9DCC7; }
.a2-sec-head{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--a2-s-5); margin-bottom: var(--a2-s-8); }
.a2-sec-head .a2-h2{ max-width: 18ch; }
.a2-sec-head--split{ align-items: end; }
@media (min-width: 1000px) {
.a2-sec-head--split{ grid-template-columns: 1.1fr 1fr; gap: var(--a2-s-8); }
}
.a2-h2{ font-size: var(--a2-fs-h2); }
.a2-h3{ font-size: var(--a2-fs-h3); }
.a2-lead{ font-size: var(--a2-fs-lead); line-height: 1.6; color: var(--a2-text); }
.a2-muted{ color: var(--a2-muted); }
.a2-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border-radius: var(--a2-radius);
  font-family: var(--a2-sans); font-size: .95rem; font-weight: 600; letter-spacing: .02em;
  border: 1px solid transparent; transition: background .25s var(--a2-ease), color .25s var(--a2-ease), border-color .25s var(--a2-ease), transform .25s var(--a2-ease);
  white-space: nowrap;
}
.a2-btn svg{ width: 18px; height: 18px; flex: none; }
.a2-btn--primary{ background: var(--a2-adf-vert); color: var(--a2-ink); }
.a2-btn--primary:hover{ background: #9BCB5E; }
.a2-btn--ghost{ background: transparent; color: var(--a2-ink); border-color: var(--a2-ink); }
.a2-btn--ghost:hover{ background: var(--a2-ink); color: #fff; }
.a2-btn--light{ background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.a2-btn--light:hover{ border-color: #fff; background: rgba(255,255,255,.06); }
.a2-btn--sm{ min-height: 42px; padding: 0 18px; font-size: .88rem; }
.a2-link-arrow{ display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--a2-ink); border-bottom: 1px solid var(--a2-line-2); padding-bottom: 4px; transition: border-color .2s, gap .2s; }
.a2-link-arrow:hover{ border-color: var(--a2-adf-marron); gap: 14px; }
.a2-site-header{ position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.a2-site-header.a2-is-scrolled{ border-color: var(--a2-line); }
.a2-hdr{ display: flex; align-items: center; gap: var(--a2-s-6); height: 88px; }
.a2-logo{ display: flex; align-items: center; gap: 14px; flex: none; }
.a2-logo img{ width: 52px; height: auto; }
.a2-logo-n{ font-family: var(--a2-serif); font-size: 1.32rem; color: var(--a2-ink); line-height: 1.1; font-weight: 500; }
.a2-logo-t{ font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--a2-muted); margin-top: 3px; }
.a2-nav{ display: flex; align-items: center; gap: 30px; margin-left: auto; }
.a2-nav > a, .a2-nav-dd > a{ font-size: .93rem; font-weight: 500; color: var(--a2-text); position: relative; padding: 32px 0; }
.a2-nav > a::after, .a2-nav-dd > a::after{ content:""; position:absolute; left:0; right:0; bottom: 24px; height: 2px; background: var(--a2-adf-orange); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--a2-ease); }
.a2-nav > a:hover::after, .a2-nav-dd:hover > a::after, .a2-nav a[aria-current="page"]::after{ transform: scaleX(1); }
.a2-nav a[aria-current="page"]{ color: var(--a2-ink); }
.a2-nav-dd{ position: relative; display: flex; align-items: center; gap: 6px; }
.a2-nav-dd > a::before{ content: ""; }
.a2-nav-dd .a2-chev{ width: 10px; height: 10px; color: var(--a2-muted); }
.a2-mega{
  position: absolute; top: 100%; left: -32px; width: 620px; padding: 28px 32px 30px;
  background: #fff; border: 1px solid var(--a2-line); border-top: 2px solid var(--a2-adf-orange); box-shadow: var(--a2-shadow);
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px 32px;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .25s var(--a2-ease);
}
.a2-nav-dd:hover .a2-mega, .a2-nav-dd:focus-within .a2-mega{ opacity: 1; visibility: visible; transform: none; }
.a2-mega a{ display: flex; justify-content: space-between; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--a2-line); font-size: .93rem; color: var(--a2-text); }
.a2-mega a:hover{ color: var(--a2-adf-marron); }
.a2-mega a span{ color: var(--a2-line-2); transition: color .2s, transform .2s; }
.a2-mega a:hover span{ color: var(--a2-adf-marron); transform: translateX(3px); }
.a2-hdr-r{ display: flex; align-items: center; gap: 18px; flex: none; }
.a2-hdr-tel{ display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--a2-ink); font-size: .95rem; }
.a2-hdr-tel svg{ width: 16px; height: 16px; color: var(--a2-adf-marron); }
.a2-burger{ display: none; width: 46px; height: 46px; border: 1px solid var(--a2-line); background: #fff; border-radius: var(--a2-radius); align-items: center; justify-content: center; }
.a2-burger span{ display:block; width: 18px; height: 1.5px; background: var(--a2-ink); position: relative; }
.a2-burger span::before, .a2-burger span::after{ content:""; position:absolute; left:0; width: 18px; height:1.5px; background: var(--a2-ink); }
.a2-burger span::before{ top: -6px; }
.a2-burger span::after{ top: 6px; }
.a2-mnav{ position: fixed; inset: 0; z-index: 80; background: var(--a2-bg-soft); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .45s var(--a2-ease); visibility: hidden; }
.a2-mnav.a2-is-open{ transform: none; visibility: visible; }
.a2-mnav-top{ display:flex; align-items:center; justify-content: space-between; height: 72px; padding: 0 20px; border-bottom: 1px solid var(--a2-line); }
.a2-mnav-close{ width: 46px; height: 46px; border: 1px solid var(--a2-line); border-radius: var(--a2-radius); background: #fff; font-size: 22px; color: var(--a2-ink); }
.a2-mnav-body{ flex: 1; overflow-y: auto; padding: 12px 20px 24px; }
.a2-mnav-body > a, .a2-mnav-body summary{ display: flex; justify-content: space-between; align-items: center; font-family: var(--a2-serif); font-size: 1.6rem; color: var(--a2-ink); padding: 16px 0; border-bottom: 1px solid var(--a2-line); list-style: none; cursor: pointer; }
.a2-mnav-body summary::-webkit-details-marker{ display: none; }
.a2-mnav-body summary::after{ content: "+"; font-family: var(--a2-sans); font-weight: 300; color: var(--a2-adf-marron); }
.a2-mnav-body details[open] summary::after{ content: "–"; }
.a2-mnav-sub{ padding: 6px 0 12px 2px; display: grid; }
.a2-mnav-sub a{ padding: 10px 0; color: var(--a2-text); font-size: 1rem; border-bottom: 1px dashed var(--a2-line); }
.a2-mnav-foot{ padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--a2-line); display: grid; gap: 10px; background: #fff; }
.a2-mnav-foot .a2-btn{ width: 100%; }
.a2-hero{ padding: clamp(28px, 4vw, 64px) 0 0; }
.a2-hero-grid{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--a2-s-7); align-items: stretch; }
@media (min-width: 1100px) {
.a2-hero-grid{ grid-template-columns: minmax(0, 5.2fr) minmax(0, 6.8fr); gap: var(--a2-s-8); }
}
.a2-hero-copy{ display: flex; flex-direction: column; justify-content: center; padding: var(--a2-s-6) 0; }
.a2-hero-h1{ font-size: var(--a2-fs-display); line-height: 1.04; letter-spacing: -.02em; margin-bottom: var(--a2-s-6); font-weight: 500; }
.a2-hero-copy .a2-lead{ max-width: 52ch; margin-bottom: var(--a2-s-6); }
.a2-hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--a2-s-6); }
.a2-hero-tel{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding: 18px 0; border-top: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); }
.a2-hero-tel a{ display: inline-flex; align-items: center; gap: 10px; font-family: var(--a2-serif); font-size: 1.45rem; color: var(--a2-ink); }
.a2-hero-tel a svg{ width: 20px; height: 20px; color: var(--a2-adf-marron); }
.a2-hero-tel span{ font-size: var(--a2-fs-small); color: var(--a2-muted); }
.a2-hero-loc{ display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; font-size: var(--a2-fs-small); color: var(--a2-text); }
.a2-hero-loc::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--a2-adf-vert); box-shadow: 0 0 0 4px var(--a2-adf-vert-soft); }
.a2-hero-visual{ position: relative; min-height: 560px; }
.a2-hero-arch{ position: absolute; inset: 0 0 0 0; border-radius: var(--a2-arch) var(--a2-radius) var(--a2-radius) var(--a2-radius); overflow: hidden; background: var(--a2-bg-beige); }
.a2-hero-arch img{ width: 100%; height: 100%; object-fit: cover; }
.a2-hero-arch figcaption, .a2-cap-chip{
  position: absolute; left: 20px; bottom: 20px; background: rgba(255,255,255,.94); color: var(--a2-ink);
  padding: 9px 14px; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; border-radius: 2px;
}
.a2-hero-inset{ position: absolute; left: -64px; bottom: 56px; width: 42%; aspect-ratio: 4/5; border: 8px solid #fff; box-shadow: var(--a2-shadow); overflow: hidden; background: var(--a2-bg-beige); display: none; }
.a2-hero-inset img{ width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1100px) {
.a2-hero-visual{ min-height: 720px; }
.a2-hero-inset{ display: block; }
}
.a2-strip{ margin-top: var(--a2-s-6); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.a2-strip figure{ margin: 0; }
.a2-strip .a2-ph{ aspect-ratio: 4/3; overflow: hidden; background: var(--a2-bg-beige); border-radius: var(--a2-radius); }
.a2-strip img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--a2-ease); }
.a2-strip figure:hover img{ transform: scale(1.04); }
.a2-strip figcaption{ margin-top: 12px; font-size: .8rem; letter-spacing: .06em; color: var(--a2-muted); display: flex; gap: 10px; }
.a2-strip figcaption::before{ content: ""; width: 14px; height: 1px; background: var(--a2-adf-orange); margin-top: .75em; flex: none; }
.a2-intro-grid{ display: grid; gap: var(--a2-s-8); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) {
.a2-intro-grid{ grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; }
}
.a2-intro-copy p{ font-size: 1.12rem; line-height: 1.75; color: var(--a2-text); }
.a2-intro-copy p:first-of-type::first-letter{ font-family: var(--a2-serif); float: left; font-size: 4.2rem; line-height: .82; padding: 8px 12px 0 0; color: var(--a2-adf-marron); }
.a2-kpis{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--a2-line-2); border-bottom: 1px solid var(--a2-line); margin: var(--a2-s-7) 0 var(--a2-s-6); }
.a2-kpi{ padding: 24px 18px 22px 0; }
.a2-kpi + .a2-kpi{ padding-left: 22px; border-left: 1px solid var(--a2-line); }
.a2-kpi-n{ font-family: var(--a2-serif); font-size: clamp(2.2rem, 1.6rem + 2vw, 3.4rem); color: var(--a2-ink); line-height: 1; }
.a2-kpi-l{ font-size: .84rem; color: var(--a2-muted); margin-top: 10px; letter-spacing: .02em; }
.a2-certifs{ display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.a2-certifs img{ height: 58px; width: auto; }
.a2-certifs--sm img{ height: 46px; }
.a2-video-frame{ position: relative; aspect-ratio: 16/9; background: #111; border-radius: var(--a2-radius); overflow: hidden; box-shadow: var(--a2-shadow); }
.a2-video-frame iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.a2-video-wrap{ position: relative; }
.a2-video-wrap::before{ content: ""; position: absolute; right: -18px; top: -18px; width: 45%; height: 60%; border-top: 1px solid var(--a2-adf-orange); border-right: 1px solid var(--a2-adf-orange); pointer-events: none; }
.a2-quote-block{ max-width: 1060px; margin: 0 auto var(--a2-s-9); text-align: center; position: relative; }
.a2-quote-block .a2-qmark{ font-family: var(--a2-serif); font-size: 6rem; line-height: .6; color: var(--a2-adf-orange); display: block; height: 48px; }
.a2-quote-block blockquote{ margin: 0; font-family: var(--a2-serif); font-style: italic; font-weight: 400; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.35; color: var(--a2-ink); }
.a2-pillars{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid var(--a2-line); }
.a2-pillar{ padding: var(--a2-s-7) var(--a2-s-6) var(--a2-s-6); position: relative; }
.a2-pillar + .a2-pillar{ border-left: 1px solid var(--a2-line); }
.a2-pillar-top{ display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--a2-s-5); }
.a2-picto{ width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; color: #fff; flex: none; }
.a2-picto svg{ width: 24px; height: 24px; }
.a2-picto--vert{ background: var(--a2-adf-vert); }
.a2-picto--bleu{ background: var(--a2-adf-bleu); }
.a2-picto--orange{ background: var(--a2-adf-orange); }
.a2-picto--violet{ background: var(--a2-adf-violet); }
.a2-picto--marron{ background: var(--a2-adf-marron); }
.a2-pillar-n{ font-family: var(--a2-serif); font-size: .95rem; color: var(--a2-muted); letter-spacing: .08em; }
.a2-pillar h3, .a2-pillar .a2-pillar-t{ font-family: var(--a2-serif); font-size: 1.35rem; color: var(--a2-ink); margin-bottom: 10px; line-height: 1.2; }
.a2-pillar p{ font-size: .98rem; color: var(--a2-muted); margin: 0; }
.a2-works{ display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--a2-s-8) var(--a2-s-6); }
.a2-work{ margin: 0; }
.a2-work .a2-ph{ overflow: hidden; background: var(--a2-bg-beige); border-radius: var(--a2-radius); }
.a2-work img{ width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--a2-ease); }
.a2-work:hover img{ transform: scale(1.03); }
.a2-work-tag{ display:block; margin-top: 18px; font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a2-adf-marron); }
.a2-work-txt{ margin-top: 8px; font-size: .98rem; color: var(--a2-muted); line-height: 1.6; max-width: 62ch; }
.a2-w-a{ grid-column: 1 / span 7; }
.a2-w-a .a2-ph{ aspect-ratio: 4/3; }
.a2-w-b{ grid-column: 9 / span 4; padding-top: 120px; }
.a2-w-b .a2-ph{ aspect-ratio: 3/4; }
.a2-w-c{ grid-column: 1 / span 4; }
.a2-w-c .a2-ph{ aspect-ratio: 4/5; }
.a2-w-d{ grid-column: 5 / span 4; padding-top: 80px; }
.a2-w-d .a2-ph{ aspect-ratio: 4/5; }
.a2-w-e{ grid-column: 9 / span 4; }
.a2-w-e .a2-ph{ aspect-ratio: 4/5; }
.a2-w-f{ grid-column: 1 / span 6; }
.a2-w-f .a2-ph{ aspect-ratio: 4/3; }
.a2-w-info{ grid-column: 7 / span 6; align-self: center; }
.a2-note{ background: var(--a2-bg-beige); border-left: 4px solid var(--a2-adf-marron); padding: var(--a2-s-7) var(--a2-s-7) var(--a2-s-6); border-radius: 0 var(--a2-radius) var(--a2-radius) 0; }
.a2-note-t{ font-family: var(--a2-serif); font-size: 1.55rem; color: var(--a2-adf-marron); margin-bottom: 16px; line-height: 1.2; }
.a2-note p{ font-size: .98rem; color: var(--a2-text); }
.a2-note .a2-certifs{ margin: 22px 0 26px; }
.a2-callout{ display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 26px 28px; border-radius: var(--a2-radius); align-items: start; }
.a2-callout .a2-picto{ width: 48px; height: 48px; border-radius: 8px; }
.a2-callout--orange{ background: var(--a2-adf-orange-soft); }
.a2-callout--vert{ background: var(--a2-adf-vert-soft); }
.a2-callout--violet{ background: var(--a2-adf-violet-soft); }
.a2-callout--bleu{ background: var(--a2-adf-bleu-soft); }
.a2-callout h2, .a2-callout .a2-callout-t{ font-family: var(--a2-serif); font-size: 1.45rem; color: var(--a2-adf-marron); margin-bottom: 10px; }
.a2-callout p{ margin: 0; }
.a2-srv-grid{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--a2-line); border-left: 1px solid var(--a2-line); }
.a2-srv{ position: relative; display: flex; flex-direction: column; padding: 40px 36px 34px; border-right: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); background: #fff; transition: background .35s var(--a2-ease); min-height: 340px; }
.a2-srv::before{ content: ""; position: absolute; left: -1px; top: -1px; width: calc(100% + 2px); height: 3px; background: var(--a2-c, var(--a2-adf-orange)); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--a2-ease); }
.a2-srv:hover{ background: var(--a2-bg-soft); }
.a2-srv:hover::before{ transform: scaleX(1); }
.a2-srv-num{ font-family: var(--a2-serif); font-size: .95rem; color: var(--a2-muted); display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.a2-srv-num::after{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--a2-c, var(--a2-adf-orange)); }
.a2-srv-title{ font-family: var(--a2-serif); font-size: 1.55rem; line-height: 1.2; color: var(--a2-ink); margin-bottom: 14px; font-weight: 500; }
.a2-srv-txt{ font-size: .98rem; color: var(--a2-muted); margin-bottom: 24px; }
.a2-srv-arrow{ margin-top: auto; font-weight: 600; font-size: .9rem; color: var(--a2-ink); display: inline-flex; gap: 8px; }
.a2-srv:hover .a2-srv-arrow{ color: var(--a2-adf-marron); }
.a2-oe{ margin-top: var(--a2-s-8); display: grid; grid-template-columns: 280px 1fr; gap: var(--a2-s-6); align-items: start; }
.a2-oe-list{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 var(--a2-s-7); }
.a2-oe-list a{ display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--a2-line); font-size: 1.02rem; color: var(--a2-ink); transition: color .2s, padding .2s; }
.a2-oe-list a span{ color: var(--a2-adf-orange); transition: transform .2s; }
.a2-oe-list a:hover{ color: var(--a2-adf-marron); padding-left: 6px; }
.a2-oe-list a:hover span{ transform: translateX(4px); }
.a2-temo{ display: grid; grid-template-columns: 320px 1fr; gap: var(--a2-s-8); align-items: center; }
.a2-temo-score{ border-right: 1px solid var(--a2-line-2); padding-right: var(--a2-s-7); }
.a2-temo-n{ font-family: var(--a2-serif); font-size: clamp(4rem, 3rem + 4vw, 6.5rem); line-height: .9; color: var(--a2-ink); }
.a2-temo-l{ color: var(--a2-muted); margin-top: 10px; font-size: .95rem; }
.a2-stars{ color: var(--a2-adf-orange); letter-spacing: 4px; font-size: 1.1rem; margin-top: 16px; }
.a2-temo-quote{ font-family: var(--a2-serif); font-style: italic; font-size: clamp(1.3rem, 1rem + 1vw, 1.85rem); line-height: 1.45; color: var(--a2-ink); margin: 0 0 26px; }
.a2-temo-author{ font-weight: 600; color: var(--a2-ink); }
.a2-temo-project{ color: var(--a2-muted); font-size: .92rem; }
.a2-aides{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; border-top: 1px solid var(--a2-line-2); }
.a2-aide{ padding: 34px 28px 30px 0; position: relative; }
.a2-aide + .a2-aide{ padding-left: 28px; border-left: 1px solid var(--a2-line); }
.a2-aide::before{ content: ""; position: absolute; top: -1px; left: 0; width: 48px; height: 3px; background: var(--a2-c); }
.a2-aide + .a2-aide::before{ left: 28px; }
.a2-aide-name{ font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a2-muted); }
.a2-aide-amount{ font-family: var(--a2-serif); font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.7rem); color: var(--a2-ink); margin: 14px 0 14px; line-height: 1.05; }
.a2-aide-desc{ font-size: .96rem; color: var(--a2-text); margin: 0; }
.a2-cta-band{ background: var(--a2-deep); color: #E3E3E3; position: relative; overflow: hidden; }
.a2-cta-band::after{ content: ""; position: absolute; right: -140px; top: -140px; width: 520px; height: 520px; border-radius: 50%; border: 1px solid rgba(246,162,91,.35); pointer-events: none; }
.a2-cta-band::before{ content: ""; position: absolute; right: -40px; top: -40px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(169,216,110,.25); pointer-events: none; }
.a2-cta-inner{ display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--a2-s-8); align-items: end; position: relative; z-index: 1; }
.a2-cta-h{ font-family: var(--a2-serif); font-size: clamp(2.2rem, 1.6rem + 2.6vw, 4rem); line-height: 1.06; color: #fff; margin: 0 0 22px; }
.a2-cta-h em{ color: var(--a2-adf-orange); font-weight: 400; }
.a2-cta-sub{ font-size: 1.08rem; max-width: 46ch; margin: 0; color: #D2D2D2; }
.a2-cta-actions{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.a2-cta-certifs{ display: flex; gap: 14px; justify-content: flex-end; margin-top: 28px; }
.a2-cta-certifs img{ height: 52px; width: auto; background: #fff; padding: 6px; border-radius: 4px; }
.a2-site-footer{ background: var(--a2-bg-soft); border-top: 1px solid var(--a2-line); padding: var(--a2-s-9) 0 0; font-size: .95rem; }
.a2-ft-grid{ display: grid; grid-template-columns: 1.35fr 1fr 1fr .8fr 1fr; gap: var(--a2-s-7); }
.a2-ft-brand .a2-logo{ margin-bottom: 20px; }
.a2-ft-desc{ color: var(--a2-muted); max-width: 34ch; }
.a2-ft-tel{ font-family: var(--a2-serif); font-size: 1.6rem; color: var(--a2-ink); display: inline-block; margin-top: 6px; }
.a2-ft-h{ font-size: .74rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--a2-adf-marron); margin: 0 0 18px; }
.a2-ft-links{ display: grid; gap: 9px; }
.a2-ft-links a{ color: var(--a2-text); transition: color .2s; }
.a2-ft-links a:hover{ color: var(--a2-adf-marron); }
.a2-ft-info{ display: grid; gap: 22px; }
.a2-ft-info .a2-ft-h{ margin-bottom: 8px; }
.a2-ft-info div{ color: var(--a2-text); }
.a2-social{ display: flex; gap: 10px; margin-top: 26px; }
.a2-social a{ width: 40px; height: 40px; border: 1px solid var(--a2-line-2); border-radius: 50%; display: grid; place-items: center; color: var(--a2-ink); transition: all .2s; }
.a2-social a:hover{ background: var(--a2-ink); color: #fff; border-color: var(--a2-ink); }
.a2-social svg{ width: 16px; height: 16px; }
.a2-ft-btm{ margin-top: var(--a2-s-8); border-top: 1px solid var(--a2-line); padding: 24px 0 28px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.a2-ft-btm-txt{ font-size: .85rem; color: var(--a2-muted); }
.a2-ft-badges{ display: flex; gap: 14px; align-items: center; }
.a2-ft-badges img{ height: 44px; width: auto; }
.a2-site-footer details > summary{ list-style: none; }
.a2-site-footer details > summary::-webkit-details-marker{ display: none; }
.a2-float{ position: fixed; right: 24px; bottom: 24px; z-index: 40; display: flex; gap: 10px; align-items: center; }
.a2-float-main{ background: var(--a2-ink); color: #fff; padding: 0 22px; height: 50px; border-radius: 26px; display: inline-flex; align-items: center; font-weight: 600; font-size: .9rem; box-shadow: var(--a2-shadow); }
.a2-float-main:hover{ background: var(--a2-adf-marron); }
.a2-float-wa{ background: #fff; color: var(--a2-ink); height: 50px; padding: 0 18px 0 14px; border-radius: 26px; display: inline-flex; gap: 8px; align-items: center; font-weight: 600; font-size: .9rem; box-shadow: var(--a2-shadow); border: 1px solid var(--a2-line); }
.a2-float-wa svg{ width: 20px; height: 20px; color: #25A244; }
.a2-mbar{ display: none; }
.a2-bc{ font-size: .84rem; color: var(--a2-muted); margin-bottom: 22px; }
.a2-bc a:hover{ color: var(--a2-adf-marron); }
.a2-bc span{ color: var(--a2-ink); }
.a2-s-hero{ padding: clamp(28px, 4vw, 56px) 0 var(--a2-s-8); }
.a2-s-hero-grid{ display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--a2-s-8); align-items: center; }
.a2-s-hero h1{ font-size: var(--a2-fs-h1); margin-bottom: 24px; }
.a2-s-hero .a2-lead{ max-width: 50ch; margin-bottom: 28px; }
.a2-s-hero-img{ aspect-ratio: 5/6; border-radius: var(--a2-arch) var(--a2-radius) var(--a2-radius) var(--a2-radius); overflow: hidden; background: var(--a2-bg-beige); }
.a2-s-hero-img img{ width: 100%; height: 100%; object-fit: cover; }
.a2-s-kpis{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 34px; border-top: 1px solid var(--a2-line-2); }
.a2-s-kpis > div{ padding: 20px 16px 0 0; }
.a2-s-kpis > div + div{ padding-left: 20px; border-left: 1px solid var(--a2-line); }
.a2-s-kpis .a2-kpi-n{ font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); }
.a2-trust{ border-top: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); background: var(--a2-bg-soft); }
.a2-trust-in{ display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 56px; padding: 22px 0; font-size: .92rem; color: var(--a2-text); }
.a2-trust-in > *{ display: inline-flex; align-items: center; gap: 10px; }
.a2-trust-in > *::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--a2-c, var(--a2-adf-vert)); }
.a2-trust-in strong{ color: var(--a2-ink); font-weight: 600; }
.a2-two{ display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--a2-s-9); align-items: center; }
.a2-two-img{ aspect-ratio: 4/5; overflow: hidden; border-radius: var(--a2-radius); background: var(--a2-bg-beige); }
.a2-two-img img{ width: 100%; height: 100%; object-fit: cover; }
.a2-feat-list{ display: grid; gap: 0; margin-top: 30px; border-top: 1px solid var(--a2-line); }
.a2-feat-li{ display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--a2-line); }
.a2-feat-check{ width: 28px; height: 28px; border-radius: 50%; background: var(--a2-adf-vert-soft); color: #5E8E2A; display: grid; place-items: center; font-size: .9rem; }
.a2-feat-li-t{ font-weight: 600; color: var(--a2-ink); margin-bottom: 4px; }
.a2-feat-li-s{ color: var(--a2-muted); font-size: .98rem; }
.a2-feat-2col{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--a2-s-7); }
.a2-tbl{ width: 100%; border-collapse: collapse; font-size: .98rem; background: #fff; }
.a2-tbl thead th{ background: var(--a2-adf-bleu); color: #fff; text-align: left; font-weight: 600; padding: 14px 18px; font-size: .88rem; letter-spacing: .02em; }
.a2-tbl td{ padding: 18px; border-bottom: 1px solid var(--a2-line); vertical-align: top; }
.a2-tbl td:first-child{ font-weight: 600; color: var(--a2-ink); width: 26%; }
.a2-tbl td.a2-num{ font-family: var(--a2-serif); font-size: 1.35rem; color: var(--a2-ink); white-space: nowrap; width: 16%; }
.a2-tbl-note{ font-size: .9rem; color: var(--a2-muted); margin-top: 18px; }
.a2-mats{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.a2-mat{ border: 1px solid var(--a2-line); border-radius: var(--a2-radius); padding: 30px 28px; background: #fff; display: flex; flex-direction: column; }
.a2-mat-tag{ align-self: flex-start; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; padding: 6px 10px; border-radius: 2px; background: var(--a2-tag-bg, var(--a2-adf-bleu-soft)); color: var(--a2-ink); margin-bottom: 18px; }
.a2-mat-name{ font-family: var(--a2-serif); font-size: 1.55rem; color: var(--a2-ink); margin-bottom: 20px; line-height: 1.15; }
.a2-mat-specs{ display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--a2-line); margin-bottom: 20px; }
.a2-mat-specs > div{ padding: 14px 0; border-bottom: 1px solid var(--a2-line); }
.a2-mat-specs > div:nth-child(even){ padding-left: 16px; border-left: 1px solid var(--a2-line); }
.a2-mat-spec-l{ font-size: .78rem; color: var(--a2-muted); letter-spacing: .04em; }
.a2-mat-spec-v{ font-family: var(--a2-serif); font-size: 1.2rem; color: var(--a2-ink); margin-top: 2px; }
.a2-mat-pros{ font-size: .95rem; color: var(--a2-text); margin-top: auto; }
.a2-depts{ display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); border-top: 1px solid var(--a2-line); border-left: 1px solid var(--a2-line); }
.a2-dept{ padding: 26px 18px; border-right: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); background: #fff; }
.a2-dept-n{ font-family: var(--a2-serif); font-size: 2rem; color: var(--a2-ink); line-height: 1; }
.a2-dept-t{ font-size: .88rem; color: var(--a2-muted); margin-top: 10px; }
.a2-steps{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; counter-reset: s; position: relative; }
.a2-step{ padding: 0 28px 0 0; position: relative; }
.a2-step-n{ width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--a2-line-2); display: grid; place-items: center; font-family: var(--a2-serif); font-size: 1.1rem; color: var(--a2-ink); background: #fff; position: relative; z-index: 1; margin-bottom: 22px; }
.a2-step:not(:last-child)::after{ content: ""; position: absolute; top: 27px; left: 54px; right: 0; height: 1px; background: var(--a2-line-2); }
.a2-step:first-child .a2-step-n{ background: var(--a2-adf-vert); border-color: var(--a2-adf-vert); }
.a2-step-t{ font-family: var(--a2-serif); font-size: 1.3rem; color: var(--a2-ink); margin-bottom: 8px; }
.a2-step-s{ font-size: .96rem; color: var(--a2-muted); }
.a2-gal6{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin-top: var(--a2-s-7); }
.a2-gal6 figure{ margin: 0; }
.a2-gal6 .a2-ph{ aspect-ratio: 4/3; overflow: hidden; border-radius: var(--a2-radius); background: var(--a2-bg-beige); }
.a2-gal6 img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--a2-ease); }
.a2-gal6 figure:hover img{ transform: scale(1.04); }
.a2-gal6 figcaption{ font-size: .85rem; color: var(--a2-muted); margin-top: 10px; }
.a2-faq{ border-top: 1px solid var(--a2-line-2); max-width: 980px; }
.a2-faq details{ border-bottom: 1px solid var(--a2-line); }
.a2-faq summary{ list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 26px 0; font-family: var(--a2-serif); font-size: 1.28rem; color: var(--a2-ink); line-height: 1.3; }
.a2-faq summary::-webkit-details-marker{ display: none; }
.a2-faq summary::after{ content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--a2-line-2); background: no-repeat center/12px linear-gradient(var(--a2-ink),var(--a2-ink)) , no-repeat center/1.5px 12px linear-gradient(var(--a2-ink),var(--a2-ink)); transition: transform .3s var(--a2-ease), background-color .3s; }
.a2-faq details[open] summary::after{ transform: rotate(45deg); background-color: var(--a2-adf-orange-soft); }
.a2-faq summary{ background-size: 0; }
.a2-faq .a2-faq-a{ padding: 0 60px 28px 0; color: var(--a2-text); max-width: 78ch; }
.a2-r-hero{ padding: clamp(40px, 6vw, 96px) 0 var(--a2-s-7); }
.a2-r-hero h1{ font-size: var(--a2-fs-h1); max-width: 16ch; margin-bottom: 22px; }
.a2-r-hero .a2-lead{ max-width: 56ch; }
.a2-filters{ position: sticky; top: 88px; z-index: 20; background: rgba(255,255,255,.95); backdrop-filter: blur(8px); border-top: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); }
.a2-filters-in{ display: flex; gap: 8px; padding: 14px 0; overflow-x: auto; scrollbar-width: none; }
.a2-filters-in::-webkit-scrollbar{ display: none; }
.a2-pill{ flex: none; border: 1px solid var(--a2-line-2); background: #fff; color: var(--a2-text); border-radius: 30px; padding: 9px 18px; font-size: .9rem; font-weight: 500; transition: all .2s; }
.a2-pill:hover{ border-color: var(--a2-ink); }
.a2-pill.a2-is-active{ background: var(--a2-ink); border-color: var(--a2-ink); color: #fff; }
.a2-pill .a2-dot{ display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 8px; background: var(--a2-c); vertical-align: middle; }
.a2-r-count{ font-size: .88rem; color: var(--a2-muted); padding: 26px 0 0; }
.a2-r-grid{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 48px 28px; padding: 22px 0 var(--a2-section-y); }
.a2-r-card{ display: block; }
.a2-r-card .a2-ph{ aspect-ratio: 4/5; overflow: hidden; border-radius: var(--a2-radius); background: var(--a2-bg-beige); }
.a2-r-card:nth-child(6n/**/+1) .a2-ph, .a2-r-card:nth-child(6n/**/+5) .a2-ph{ aspect-ratio: 4/5; }
.a2-r-card img{ width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--a2-ease); }
.a2-r-card:hover img{ transform: scale(1.04); }
.a2-r-card-body{ display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding-top: 16px; }
.a2-r-cat{ display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a2-muted); }
.a2-r-cat::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--a2-c); }
.a2-r-title{ font-family: var(--a2-serif); font-size: 1.45rem; color: var(--a2-ink); margin-top: 6px; line-height: 1.2; }
.a2-r-link{ flex: none; font-size: .86rem; font-weight: 600; color: var(--a2-ink); white-space: nowrap; border-bottom: 1px solid var(--a2-line-2); padding-bottom: 3px; }
.a2-r-card:hover .a2-r-link{ color: var(--a2-adf-marron); border-color: var(--a2-adf-marron); }
.a2-r-card[hidden]{ display: none; }
.a2-p-head{ padding: clamp(28px, 4vw, 56px) 0 var(--a2-s-7); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
.a2-p-head h1{ font-size: var(--a2-fs-h1); }
.a2-p-lieu{ display: inline-flex; align-items: center; gap: 10px; font-size: 1rem; color: var(--a2-muted); margin-top: 14px; }
.a2-p-lieu svg{ width: 16px; height: 16px; color: var(--a2-adf-marron); }
.a2-p-cover{ margin: 0; border-radius: var(--a2-radius); overflow: hidden; background: var(--a2-bg-beige); aspect-ratio: 21/9; }
.a2-p-cover img{ width: 100%; height: 100%; object-fit: cover; }
.a2-diapo{ margin-top: var(--a2-s-6); }
.a2-diapo-stage{ position: relative; background: var(--a2-bg-soft); border: 1px solid var(--a2-line); border-radius: var(--a2-radius); height: min(72vh, 720px); display: grid; place-items: center; overflow: hidden; }
.a2-diapo-stage img{ max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.a2-diapo-nav{ display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }
.a2-diapo-nav button{ display: inline-flex; align-items: center; gap: 10px; background: none; border: 1px solid var(--a2-line-2); border-radius: var(--a2-radius); min-height: 44px; padding: 0 18px; color: var(--a2-ink); font-weight: 600; font-size: .9rem; }
.a2-diapo-nav button:hover{ border-color: var(--a2-ink); }
.a2-diapo-counter{ font-family: var(--a2-serif); font-size: 1.2rem; color: var(--a2-ink); letter-spacing: .06em; }
.a2-thumbs{ display: flex; gap: 10px; overflow-x: auto; padding: 18px 0 4px; scrollbar-width: thin; }
.a2-thumbs button{ flex: none; width: 96px; height: 72px; padding: 0; border: 2px solid transparent; border-radius: 3px; overflow: hidden; background: var(--a2-bg-beige); opacity: .6; transition: opacity .2s, border-color .2s; }
.a2-thumbs button.a2-is-active{ border-color: var(--a2-adf-orange); opacity: 1; }
.a2-thumbs button:hover{ opacity: 1; }
.a2-thumbs img{ width: 100%; height: 100%; object-fit: cover; }
.a2-p-cta{ display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 44px 48px; background: var(--a2-bg-beige); border-left: 4px solid var(--a2-adf-marron); border-radius: 0 var(--a2-radius) var(--a2-radius) 0; }
.a2-p-cta h2{ font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.3rem); }
.a2-related{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.a2-related a .a2-ph{ aspect-ratio: 4/3; overflow: hidden; border-radius: var(--a2-radius); background: var(--a2-bg-beige); }
.a2-related img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--a2-ease); }
.a2-related a:hover img{ transform: scale(1.04); }
.a2-related .a2-r-title{ font-size: 1.3rem; margin-top: 14px; }
.a2-c-grid{ display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--a2-s-9); padding: clamp(28px, 4vw, 64px) 0 var(--a2-section-y); align-items: start; }
.a2-c-intro{ position: sticky; top: 120px; }
.a2-c-intro h1{ font-size: var(--a2-fs-h1); margin-bottom: 24px; }
.a2-c-list{ margin-top: 40px; border-top: 1px solid var(--a2-line); }
.a2-c-item{ display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--a2-line); align-items: center; }
.a2-c-ico{ width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--a2-c-soft); color: var(--a2-c); }
.a2-c-ico svg{ width: 18px; height: 18px; }
.a2-c-lab{ font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--a2-muted); font-weight: 600; }
.a2-c-val{ font-size: 1.08rem; color: var(--a2-ink); }
a.a2-c-val:hover{ color: var(--a2-adf-marron); }
.a2-form-card{ background: #fff; border: 1px solid var(--a2-line); border-radius: var(--a2-radius-lg); padding: clamp(24px, 3vw, 48px); box-shadow: var(--a2-shadow); border-top: 3px solid var(--a2-adf-vert); }
.a2-f-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.a2-f-field{ display: grid; gap: 8px; margin-bottom: 22px; }
.a2-f-field label, .a2-f-legend{ font-size: .9rem; font-weight: 600; color: var(--a2-ink); }
.a2-f-input, .a2-f-select, .a2-f-textarea{
  width: 100%; font: inherit; font-size: 1rem; color: var(--a2-ink); background: var(--a2-bg-soft);
  border: 1px solid var(--a2-line-2); border-radius: var(--a2-radius); padding: 14px 16px; min-height: 52px; transition: border-color .2s, box-shadow .2s, background .2s;
  appearance: none; -webkit-appearance: none;
}
.a2-f-select{ background-image: 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 1l5 5 5-5' stroke='%23141414' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.a2-f-textarea{ min-height: 130px; resize: vertical; }
.a2-f-input:focus, .a2-f-select:focus, .a2-f-textarea:focus{ outline: none; border-color: var(--a2-ink); background: #fff; box-shadow: 0 0 0 4px rgba(111,168,220,.18); }
.a2-f-input::placeholder, .a2-f-textarea::placeholder{ color: #A0A0A0; }
fieldset.a2-f-works{ border: 0; padding: 0; margin: 0 0 24px; }
.a2-f-legend{ margin-bottom: 12px; padding: 0; }
.a2-chips{ display: flex; flex-wrap: wrap; gap: 8px; }
.a2-chip{ position: relative; }
.a2-chip input{ position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.a2-chip span{ display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--a2-line-2); border-radius: 30px; font-size: .9rem; color: var(--a2-text); background: #fff; transition: all .2s; }
.a2-chip span::before{ content: ""; width: 14px; height: 14px; border-radius: 3px; border: 1px solid var(--a2-line-2); background: #fff; flex: none; transition: all .2s; }
.a2-chip input:checked + span{ border-color: var(--a2-ink); color: var(--a2-ink); background: var(--a2-adf-vert-soft); }
.a2-chip input:checked + span::before{ background: var(--a2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat center; border-color: var(--a2-ink); }
.a2-chip input:focus-visible + span{ outline: 2px solid var(--a2-adf-bleu); outline-offset: 2px; }
.a2-drop{ border: 1.5px dashed var(--a2-line-2); border-radius: var(--a2-radius); padding: 26px; text-align: center; background: var(--a2-bg-soft); position: relative; transition: border-color .2s; }
.a2-drop:hover{ border-color: var(--a2-adf-orange); }
.a2-drop input{ position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.a2-drop-ico{ font-size: 1.4rem; }
.a2-drop-t{ font-weight: 600; color: var(--a2-ink); margin-top: 6px; }
.a2-drop-s{ font-size: .85rem; color: var(--a2-muted); }
.a2-f-submit{ width: 100%; min-height: 58px; font-size: 1rem; margin-top: 8px; }
.a2-f-foot{ text-align: center; font-size: .88rem; color: var(--a2-muted); margin: 14px 0 0; }
.a2-f-cond[hidden]{ display: none; }
.a2-f-info{ font-size: .95rem; color: var(--a2-text); background: var(--a2-adf-bleu-soft); padding: 14px 16px; border-radius: var(--a2-radius); }
.a2-sim-note{ margin-top: 14px; font-size: .85rem; color: var(--a2-adf-marron); text-align: center; display: none; }
.a2-sim-note.a2-is-on{ display: block; }
.a2-reveal{ opacity: 0; transform: translateY(18px); transition: opacity .9s var(--a2-ease), transform .9s var(--a2-ease); }
.a2-reveal.a2-is-in{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
.a2-reveal{ opacity: 1; transform: none; }
*{ transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 1099px) {
.a2-nav, .a2-hdr-r .a2-btn{ display: none; }
.a2-burger{ display: inline-flex; }
.a2-hdr{ height: 76px; }
.a2-hdr-r{ margin-left: auto; }
.a2-filters{ top: 76px; }
.a2-hero-visual{ min-height: 0; aspect-ratio: 4/3; }
.a2-strip{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px 16px; }
.a2-pillars{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.a2-pillar:nth-child(3){ border-left: 0; }
.a2-pillar:nth-child(n/**/+3){ border-top: 1px solid var(--a2-line); }
.a2-works{ grid-template-columns: repeat(6, minmax(0,1fr)); gap: var(--a2-s-7) var(--a2-s-5); }
.a2-w-a{ grid-column: 1 / -1; }
.a2-w-b{ grid-column: 1 / span 3; padding-top: 0; }
.a2-w-c{ grid-column: 4 / span 3; }
.a2-w-d{ grid-column: 1 / span 3; padding-top: 0; }
.a2-w-e{ grid-column: 4 / span 3; }
.a2-w-f{ grid-column: 1 / -1; }
.a2-w-info{ grid-column: 1 / -1; }
.a2-srv-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.a2-oe{ grid-template-columns: 1fr; }
.a2-temo{ grid-template-columns: 1fr; gap: var(--a2-s-6); }
.a2-temo-score{ border-right: 0; border-bottom: 1px solid var(--a2-line-2); padding: 0 0 var(--a2-s-6); display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.a2-aides{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.a2-aide:nth-child(3){ border-left: 0; padding-left: 0; }
.a2-aide:nth-child(3)::before{ left: 0; }
.a2-aide:nth-child(n/**/+3){ border-top: 1px solid var(--a2-line); }
.a2-cta-inner{ grid-template-columns: 1fr; gap: var(--a2-s-6); }
.a2-cta-actions, .a2-cta-certifs{ justify-content: flex-start; }
.a2-ft-grid{ grid-template-columns: 1fr 1fr 1fr; }
.a2-ft-brand{ grid-column: 1 / -1; }
.a2-s-hero-grid{ grid-template-columns: 1fr; }
.a2-s-hero-img{ aspect-ratio: 16/10; order: -1; border-radius: 140px var(--a2-radius) var(--a2-radius) var(--a2-radius); }
.a2-two{ grid-template-columns: 1fr; gap: var(--a2-s-7); }
.a2-two-img{ aspect-ratio: 16/10; }
.a2-mats{ grid-template-columns: 1fr 1fr; }
.a2-depts{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.a2-steps{ grid-template-columns: 1fr 1fr; gap: 40px 0; }
.a2-step:nth-child(2)::after{ display: none; }
.a2-r-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 40px 22px; }
.a2-c-grid{ grid-template-columns: 1fr; gap: var(--a2-s-7); }
.a2-c-intro{ position: static; }
.a2-related{ grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.a2-float{ display: none; }
.a2-mbar{ display: grid; }
body{ padding-bottom: 76px; }
}
@media (max-width: 699px) {
:root{ --a2-gutter: 20px; --a2-section-y: 64px; }
body{ font-size: 1rem; }
.a2-hdr{ height: 68px; gap: 12px; }
.a2-filters{ top: 68px; }
.a2-logo img{ width: 40px; }
.a2-logo-n{ font-size: 1.1rem; }
.a2-logo-t{ font-size: .55rem; letter-spacing: .14em; }
.a2-hdr-tel .a2-hdr-tel-num{ display: none; }
.a2-hdr-tel{ width: 46px; height: 46px; border: 1px solid var(--a2-line); border-radius: var(--a2-radius); justify-content: center; }
.a2-hero{ padding-top: 0; }
.a2-hero .a2-wrap{ padding: 0; }
.a2-hero-grid{ gap: 0; }
.a2-hero-visual{ order: -1; aspect-ratio: 4/4.4; }
.a2-hero-arch{ border-radius: 0 0 0 0; }
.a2-hero-arch figcaption{ left: 20px; bottom: 20px; }
.a2-hero-copy{ padding: 28px 20px 8px; }
.a2-hero-h1{ font-size: 2.35rem; line-height: 1.08; margin-bottom: 18px; }
.a2-hero-copy .a2-lead{ font-size: 1.02rem; margin-bottom: 24px; }
.a2-hero-actions{ display: grid; grid-template-columns: 1fr; gap: 10px; }
.a2-hero-actions .a2-btn{ width: 100%; }
.a2-hero-tel a{ font-size: 1.3rem; }
.a2-strip{ display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 20px 6px; margin-top: 28px; scrollbar-width: none; }
.a2-strip::-webkit-scrollbar{ display: none; }
.a2-strip figure{ flex: 0 0 72%; scroll-snap-align: start; }
.a2-swipe-hint{ display: flex !important; }
.a2-sec-head{ margin-bottom: 36px; }
.a2-intro-copy p{ font-size: 1.02rem; }
.a2-intro-copy p:first-of-type::first-letter{ font-size: 3.4rem; }
.a2-kpi{ padding: 18px 8px 16px 0; }
.a2-kpi + .a2-kpi{ padding-left: 12px; }
.a2-kpi-l{ font-size: .76rem; }
.a2-video-wrap::before{ display: none; }
.a2-quote-block{ text-align: left; margin-bottom: 48px; }
.a2-quote-block .a2-qmark{ font-size: 4.5rem; height: 34px; }
.a2-quote-block blockquote{ font-size: 1.4rem; }
.a2-pillars{ grid-template-columns: 1fr; border-top: 0; }
.a2-pillar{ display: grid; grid-template-columns: 52px 1fr; gap: 0 16px; padding: 22px 0; border-top: 1px solid var(--a2-line); }
.a2-pillar + .a2-pillar{ border-left: 0; }
.a2-pillar:nth-child(n/**/+3){ border-top: 1px solid var(--a2-line); }
.a2-pillar-top{ grid-row: span 2; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; }
.a2-picto{ width: 48px; height: 48px; }
.a2-pillar h3, .a2-pillar .a2-pillar-t{ font-size: 1.2rem; margin-bottom: 6px; }
.a2-works{ display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px 8px; scrollbar-width: none; }
.a2-works::-webkit-scrollbar{ display: none; }
.a2-work{ flex: 0 0 84%; scroll-snap-align: start; padding-top: 0 !important; }
.a2-work .a2-ph{ aspect-ratio: 4/5 !important; }
.a2-work-txt{ font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.a2-work.a2-is-open .a2-work-txt{ -webkit-line-clamp: unset; display: block; }
.a2-work-more{ display: inline-block !important; }
.a2-w-info{ margin-top: 36px; }
.a2-note{ padding: 28px 22px; }
.a2-note-t{ font-size: 1.35rem; }
.a2-srv-grid{ grid-template-columns: 1fr; border-left: 0; }
.a2-srv{ border-right: 0; min-height: 0; padding: 26px 0 24px; }
.a2-srv::before{ display: none; }
.a2-srv-num{ margin-bottom: 12px; }
.a2-srv-title{ font-size: 1.35rem; }
.a2-srv-txt{ margin-bottom: 14px; }
.a2-oe-list{ grid-template-columns: 1fr; }
.a2-temo-quote{ font-size: 1.25rem; }
.a2-aides{ grid-template-columns: 1fr; }
.a2-aide, .a2-aide + .a2-aide{ padding: 24px 0; border-left: 0; }
.a2-aide + .a2-aide{ border-top: 1px solid var(--a2-line); }
.a2-aide::before, .a2-aide + .a2-aide::before{ left: 0; }
.a2-aide-amount{ margin: 8px 0; }
.a2-cta-actions{ display: grid; grid-template-columns: 1fr; }
.a2-cta-actions .a2-btn{ width: 100%; }
.a2-cta-h{ font-size: 2.3rem; }
.a2-site-footer{ padding-top: 48px; }
.a2-ft-grid{ grid-template-columns: 1fr; gap: 0; }
.a2-ft-brand{ padding-bottom: 28px; }
.a2-ft-col{ border-top: 1px solid var(--a2-line); }
.a2-ft-col > details > summary{ display: flex; justify-content: space-between; padding: 18px 0; margin: 0; }
.a2-ft-col > details > summary::after{ content: "+"; color: var(--a2-adf-marron); font-size: 1.1rem; letter-spacing: 0; }
.a2-ft-col > details[open] > summary::after{ content: "–"; }
.a2-ft-col .a2-ft-links{ padding-bottom: 18px; }
.a2-ft-info{ border-top: 1px solid var(--a2-line); padding-top: 24px; }
.a2-ft-btm{ flex-direction: column; align-items: flex-start; }
.a2-s-hero{ padding-top: 0; }
.a2-s-hero .a2-wrap{ padding: 0; }
.a2-s-hero-grid{ gap: 0; }
.a2-s-hero-img{ aspect-ratio: 4/3.4; border-radius: 0; }
.a2-s-hero-copy{ padding: 28px 20px 0; }
.a2-s-hero h1{ font-size: 2.2rem; }
.a2-s-hero .a2-service-actions{ display: grid; gap: 10px; }
.a2-s-hero .a2-service-actions .a2-btn{ width: 100%; }
.a2-s-kpis .a2-kpi-n{ font-size: 1.7rem; }
.a2-s-kpis > div{ padding-right: 8px; }
.a2-s-kpis > div + div{ padding-left: 12px; }
.a2-trust-in{ flex-direction: column; align-items: flex-start; gap: 10px; }
.a2-tbl, .a2-tbl tbody, .a2-tbl tr, .a2-tbl td{ display: block; width: 100% !important; }
.a2-tbl thead{ display: none; }
.a2-tbl tr{ border: 1px solid var(--a2-line); border-radius: var(--a2-radius); margin-bottom: 14px; padding: 6px 4px; background: #fff; }
.a2-tbl td{ border: 0; padding: 8px 14px; }
.a2-tbl td.a2-num::before{ content: "Épaisseur : "; font-family: var(--a2-sans); font-size: .8rem; color: var(--a2-muted); }
.a2-mats{ grid-template-columns: 1fr; }
.a2-feat-2col{ grid-template-columns: 1fr; }
.a2-depts{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.a2-dept{ padding: 16px 10px; }
.a2-dept-n{ font-size: 1.5rem; }
.a2-dept-t{ font-size: .76rem; }
.a2-steps{ grid-template-columns: 1fr; gap: 0; }
.a2-step{ display: grid; grid-template-columns: 54px 1fr; gap: 0 18px; padding-bottom: 28px; }
.a2-step-n{ grid-row: span 2; margin: 0; }
.a2-step:not(:last-child)::after{ display: block; top: 54px; left: 27px; right: auto; bottom: 0; width: 1px; height: auto; }
.a2-gal6{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: var(--a2-s-6) -20px 0; padding: 0 20px; scrollbar-width: none; }
.a2-gal6 figure{ flex: 0 0 78%; scroll-snap-align: start; }
.a2-faq summary{ font-size: 1.1rem; padding: 20px 0; }
.a2-faq .a2-faq-a{ padding-right: 0; }
.a2-r-hero h1{ font-size: 2.3rem; }
.a2-r-grid{ grid-template-columns: 1fr 1fr; gap: 28px 12px; }
.a2-r-card .a2-ph{ aspect-ratio: 3/4; }
.a2-r-card-body{ display: block; padding-top: 10px; }
.a2-r-cat{ font-size: .62rem; letter-spacing: .1em; }
.a2-r-title{ font-size: 1.05rem; }
.a2-r-link{ display: none; }
.a2-p-head{ grid-template-columns: 1fr; }
.a2-p-head h1{ font-size: 2.3rem; }
.a2-p-cover{ aspect-ratio: 4/3; margin: 0 -20px; border-radius: 0; }
.a2-diapo-stage{ height: auto; aspect-ratio: 4/5; border: 0; margin: 0 -20px; border-radius: 0; }
.a2-diapo-nav button .a2-lbl{ display: none; }
.a2-p-cta{ flex-direction: column; align-items: flex-start; padding: 30px 22px; }
.a2-p-cta .a2-btn{ width: 100%; }
.a2-related{ display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
.a2-related a{ flex: 0 0 70%; scroll-snap-align: start; }
.a2-c-intro h1{ font-size: 2.3rem; }
.a2-f-row{ grid-template-columns: 1fr; gap: 0; }
.a2-form-card{ border-radius: var(--a2-radius); box-shadow: none; padding: 24px 18px; margin: 0 -8px; }
.a2-c-grid{ gap: 36px; }
.a2-c-list{ margin-top: 28px; }
}
.a2-mbar{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(255,255,255,.97); backdrop-filter: blur(10px); border-top: 1px solid var(--a2-line); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); grid-template-columns: 52px 52px 1fr; gap: 8px; }
.a2-mbar a{ height: 52px; border-radius: var(--a2-radius); display: grid; place-items: center; border: 1px solid var(--a2-line-2); color: var(--a2-ink); }
.a2-mbar a svg{ width: 20px; height: 20px; }
.a2-mbar a.a2-mbar-wa svg{ color: #25A244; }
.a2-mbar a.a2-mbar-main{ background: var(--a2-adf-vert); border-color: var(--a2-adf-vert); font-weight: 600; font-size: .98rem; }
.a2-swipe-hint{ display: none; align-items: center; gap: 8px; font-size: .78rem; color: var(--a2-muted); letter-spacing: .06em; padding: 10px 20px 0; }
.a2-work-more{ display: none; background: none; border: 0; padding: 0; margin-top: 6px; color: var(--a2-adf-marron); font-weight: 600; font-size: .88rem; }
.a2-sim-bar{ background: var(--a2-ink); color: #EDEDED; font-size: .78rem; text-align: center; padding: 7px 16px; letter-spacing: .04em; }
.a2-sim-bar a{ color: var(--a2-adf-vert); text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 1100px) and (max-width: 1279px) {
.a2-nav{ gap: 22px; }
.a2-hdr-tel-num{ display: none; }
.a2-logo-t{ display: none; }
}
.a2-w-info-wrap{ margin-top: var(--a2-s-9); }
.a2-note--split{ display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--a2-s-8); }
.a2-note--split .a2-note-side{ display: flex; flex-direction: column; align-items: flex-start; }
.a2-note--split .a2-note-body p:last-child{ margin-bottom: 0; }
.a2-w-f{ grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--a2-s-7); align-items: center; }
.a2-w-f .a2-ph{ order: 2; aspect-ratio: 16/10; }
.a2-w-f figcaption{ order: 1; }
.a2-w-f .a2-work-txt{ font-size: 1.05rem; }
.a2-w-b{ grid-column: 9 / span 4; }
.a2-strip-wrap{ }
@media (max-width: 1099px) {
.a2-note--split{ grid-template-columns: 1fr; gap: var(--a2-s-5); }
.a2-w-f{ grid-template-columns: 1fr; gap: 0; }
.a2-w-f .a2-ph{ order: 0; }
}
@media (max-width: 699px) {
.a2-w-f{ display: block; }
.a2-w-info-wrap{ margin-top: 36px; }
.a2-strip-wrap{ padding: 0; }
.a2-hero .a2-strip-wrap{ padding: 0; }
}
.a2-sec-title{ display: flex; align-items: center; gap: 28px; margin-bottom: var(--a2-s-7); }
.a2-sec-title > .a2-h2, .a2-sec-title > .a2-sec-title-t{ flex: 0 1 auto; margin: 0; }
.a2-sec-title-t{ font-family: var(--a2-serif); font-size: var(--a2-fs-h2); color: var(--a2-ink); line-height: 1.12; font-weight: 500; letter-spacing: -.012em; }
.a2-sec-title::after{ content: ""; flex: 1 1 60px; min-width: 40px; height: 1px; background: var(--a2-adf-orange); opacity: .8; order: 2; }
.a2-sec-title .a2-sec-link{ order: 3; flex: none; font-size: .9rem; font-weight: 600; color: var(--a2-adf-marron); white-space: nowrap; }
.a2-sec-title .a2-sec-link:hover{ color: var(--a2-ink); }
.a2-sec-title--wrap{ flex-wrap: wrap; }
.a2-sec-lead{ max-width: 70ch; margin: -18px 0 var(--a2-s-7); }
.a2-hdr-r .a2-btn--primary{ background: var(--a2-adf-orange); color: var(--a2-ink); }
.a2-hdr-r .a2-btn--primary:hover{ background: #EE9446; }
.a2-hdr-r .a2-btn--primary::after{ content: "→"; margin-left: 2px; }
.a2-hero2{ position: relative; background: linear-gradient(180deg, var(--a2-bg-beige) 0%, #F9F5EF 100%); overflow: hidden; }
.a2-hero2-grid{ position: relative; z-index: 2; min-height: min(86vh, 800px); display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.a2-hero2-copy{ max-width: 600px; padding: clamp(40px, 6vw, 88px) 0; }
.a2-hero2 .a2-hero-h1{ font-size: clamp(2.5rem, 1.5rem + 3.2vw, 4.3rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.04; }
.a2-hero2 .a2-lead{ color: var(--a2-text); }
.a2-hero2-media{ position: absolute; top: 0; right: 0; bottom: 0; width: 54%; z-index: 1; border-top-left-radius: var(--a2-arch); overflow: hidden; background: #E9DFD2; }
.a2-hero2-media img{ width: 100%; height: 100%; object-fit: cover; }
.a2-hero2-media::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(245,239,230,.55) 0%, rgba(245,239,230,0) 26%); z-index: 1; pointer-events: none; }
.a2-hero2-media figcaption{ position: absolute; left: 32px; bottom: 28px; z-index: 2; background: rgba(255,255,255,.94); color: var(--a2-ink); padding: 9px 14px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; border-radius: 2px; }
.a2-hero-kpis{ display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 0; margin-top: 8px; }
.a2-hero-kpi{ display: flex; align-items: center; gap: 14px; padding-right: 26px; }
.a2-hero-kpi + .a2-hero-kpi{ padding-left: 26px; border-left: 1px solid var(--a2-line-2); }
.a2-hero-kpi svg{ width: 38px; height: 38px; color: var(--a2-adf-orange); flex: none; }
.a2-hero-kpi .a2-n{ font-family: var(--a2-serif); font-size: 1.75rem; color: var(--a2-ink); line-height: 1; font-weight: 600; }
.a2-hero-kpi .a2-l{ font-size: .82rem; color: var(--a2-muted); line-height: 1.3; margin-top: 4px; }
.a2-hero2-meta{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--a2-line-2); font-size: .92rem; color: var(--a2-muted); }
.a2-hero2-meta a{ display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--a2-ink); }
.a2-hero2-meta a svg{ width: 16px; height: 16px; color: var(--a2-adf-marron); }
.a2-hero2-meta .a2-hero-loc{ margin: 0; }
.a2-strip2{ background: #fff; padding: 28px 0 0; }
.a2-soft{ width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--a2-sb); color: var(--a2-sc); }
.a2-soft svg{ width: 26px; height: 26px; }
.a2-soft--vert{ --a2-sb: var(--a2-adf-vert-soft); --a2-sc: #6FA23A; }
.a2-soft--bleu{ --a2-sb: var(--a2-adf-bleu-soft); --a2-sc: #3F7FBE; }
.a2-soft--orange{ --a2-sb: var(--a2-adf-orange-soft); --a2-sc: #E0802F; }
.a2-soft--violet{ --a2-sb: var(--a2-adf-violet-soft); --a2-sc: #7D5CB0; }
.a2-soft--marron{ --a2-sb: var(--a2-adf-marron-soft); --a2-sc: var(--a2-adf-marron); }
.a2-eng{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.a2-eng-item{ display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 8px 28px; align-items: start; }
.a2-eng-item:first-child{ padding-left: 0; }
.a2-eng-item + .a2-eng-item{ border-left: 1px solid var(--a2-line); }
.a2-eng-t{ font-family: var(--a2-serif); font-size: 1.22rem; font-weight: 600; color: var(--a2-ink); line-height: 1.2; margin-bottom: 6px; }
.a2-eng-s{ font-size: .95rem; color: var(--a2-muted); line-height: 1.55; }
.a2-eng-n{ font-size: .74rem; letter-spacing: .14em; color: var(--a2-adf-marron); font-weight: 600; margin-bottom: 6px; }
.a2-quote2{ display: grid; grid-template-columns: 70px 1fr; gap: 10px; max-width: 980px; margin: 0 0 var(--a2-s-8); }
.a2-quote2 .a2-qmark{ font-family: var(--a2-serif); font-size: 5.5rem; line-height: .8; color: var(--a2-adf-orange); }
.a2-quote2 blockquote{ margin: 0; font-family: var(--a2-serif); font-style: italic; font-size: clamp(1.35rem, 1.05rem + 1.1vw, 2.1rem); line-height: 1.4; color: var(--a2-ink); }
.a2-cards3{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.a2-pcard{ position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--a2-line); border-radius: var(--a2-radius); overflow: hidden; transition: box-shadow .35s var(--a2-ease), transform .35s var(--a2-ease); }
a.a2-pcard:hover, .a2-pcard:hover{ box-shadow: var(--a2-shadow); transform: translateY(-3px); }
.a2-pcard .a2-ph{ aspect-ratio: 4/3; overflow: hidden; background: var(--a2-bg-beige); }
.a2-pcard .a2-ph img{ width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--a2-ease); }
.a2-pcard:hover .a2-ph img{ transform: scale(1.04); }
.a2-pcard-body{ position: relative; padding: 22px 24px 22px; display: flex; flex-direction: column; flex: 1; }
.a2-pcard-tag{ font-family: var(--a2-serif); font-size: 1.12rem; font-weight: 600; color: var(--a2-ink); line-height: 1.3; padding-right: 30px; }
.a2-pcard-txt{ font-size: .93rem; color: var(--a2-muted); margin-top: 8px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.a2-pcard.a2-is-open .a2-pcard-txt{ -webkit-line-clamp: unset; display: block; }
.a2-pcard-more{ align-self: flex-start; background: none; border: 0; padding: 0; margin-top: 10px; color: var(--a2-adf-marron); font-weight: 600; font-size: .86rem; }
.a2-pcard-arrow{ position: absolute; right: 22px; top: 22px; color: var(--a2-ink); font-size: 1.05rem; transition: transform .25s; }
.a2-pcard:hover .a2-pcard-arrow{ transform: translateX(4px); color: var(--a2-adf-marron); }
.a2-srv2 .a2-pcard-body{ padding-top: 40px; }
.a2-srv2 .a2-badge{ position: absolute; top: -26px; left: 22px; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--a2-c); color: #fff; border: 4px solid #fff; box-shadow: 0 4px 12px rgba(20,20,20,.12); font-family: var(--a2-serif); font-size: .95rem; font-weight: 600; }
.a2-srv2 .a2-srv-title{ font-size: 1.3rem; margin-bottom: 10px; font-weight: 600; }
.a2-srv2 .a2-srv-txt{ font-size: .94rem; margin-bottom: 18px; }
.a2-srv2 .a2-srv-arrow{ margin-top: auto; }
.a2-certs{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--a2-line); border-bottom: 1px solid var(--a2-line); }
.a2-cert{ display: grid; place-items: center; padding: 34px 20px; }
.a2-cert + .a2-cert{ border-left: 1px solid var(--a2-line); }
.a2-cert img{ height: 84px; width: auto; }
.a2-certs-txt{ display: grid; grid-template-columns: 1fr 1fr; gap: var(--a2-s-7); margin-top: var(--a2-s-7); }
.a2-certs-txt p{ color: var(--a2-text); margin: 0; }
.a2-temo2{ display: grid; grid-template-columns: 260px 1fr 300px; background: #fff; border: 1px solid var(--a2-line); border-radius: var(--a2-radius); overflow: hidden; }
.a2-temo2-score{ padding: 36px 32px; background: var(--a2-bg-soft); border-right: 1px solid var(--a2-line); display: flex; flex-direction: column; justify-content: center; }
.a2-temo2-score .a2-temo-n{ font-size: 4.2rem; color: var(--a2-adf-marron); font-weight: 600; }
.a2-temo2-body{ padding: 36px 44px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; }
.a2-temo2-body .a2-qmark{ font-family: var(--a2-serif); font-size: 4.2rem; line-height: .8; color: var(--a2-adf-orange); }
.a2-temo2-body .a2-temo-quote{ font-size: clamp(1.1rem, .95rem + .5vw, 1.35rem); margin-bottom: 18px; }
.a2-temo2-ph{ background: var(--a2-bg-beige); }
.a2-temo2-ph img{ width: 100%; height: 100%; object-fit: cover; }
.a2-aides2{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.a2-aide2{ display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 26px 22px; background: #fff; border: 1px solid var(--a2-line); border-radius: var(--a2-radius); align-items: start; }
.a2-aide2 .a2-soft{ width: 56px; height: 56px; }
.a2-aide2 .a2-aide-name{ font-family: var(--a2-serif); text-transform: none; letter-spacing: 0; font-size: 1.15rem; font-weight: 600; color: var(--a2-ink); }
.a2-aide2 .a2-aide-amount{ font-size: 1.6rem; margin: 6px 0 8px; color: var(--a2-adf-marron); }
.a2-aide2 .a2-aide-desc{ font-size: .92rem; color: var(--a2-muted); }
.a2-cta2{ position: relative; background: var(--a2-deep); overflow: hidden; }
.a2-cta2-grid{ display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); min-height: 380px; }
.a2-cta2-copy{ position: relative; z-index: 2; padding: clamp(48px, 6vw, 88px) var(--a2-gutter) clamp(48px, 6vw, 88px) max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; background: var(--a2-deep); border-top-right-radius: 220px; border-bottom-right-radius: 220px; margin-right: -120px; }
.a2-cta2-copy .a2-cta-actions{ display: grid; gap: 12px; justify-content: stretch; }
.a2-cta2-copy .a2-cta-certifs{ justify-content: flex-start; margin-top: 18px; }
.a2-cta2-ph{ position: relative; }
.a2-cta2-ph img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1099px) {
.a2-hero2-grid{ min-height: 0; }
.a2-hero2-media{ position: relative; width: auto; height: auto; aspect-ratio: 16/10; border-top-left-radius: 140px; margin-left: var(--a2-gutter); }
.a2-hero2-copy{ max-width: 720px; }
.a2-eng{ grid-template-columns: 1fr 1fr; gap: 28px 0; }
.a2-eng-item:nth-child(3){ border-left: 0; padding-left: 0; }
.a2-cards3{ grid-template-columns: 1fr 1fr; }
.a2-certs-txt{ grid-template-columns: 1fr; gap: 16px; }
.a2-temo2{ grid-template-columns: 220px 1fr; }
.a2-temo2-ph{ display: none; }
.a2-aides2{ grid-template-columns: 1fr 1fr; }
.a2-cta2-grid{ grid-template-columns: 1fr; }
.a2-cta2-copy{ margin-right: 0; border-radius: 0; grid-template-columns: 1fr; padding: 56px var(--a2-gutter); }
.a2-cta2-ph{ aspect-ratio: 16/8; }
}
@media (max-width: 699px) {
.a2-sec-title{ gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.a2-sec-title::after{ display: none; }
.a2-sec-title .a2-sec-link{ order: 3; width: 100%; }
.a2-sec-title-t{ font-size: 1.9rem; }
.a2-hero2{ background: var(--a2-bg-beige); }
.a2-hero2 .a2-wrap{ padding: 0 20px; }
.a2-hero2-grid{ display: flex; flex-direction: column-reverse; }
.a2-hero2-media{ margin: 0 -20px; aspect-ratio: 4/3.6; border-radius: 0 0 0 110px; }
.a2-hero2-media figcaption{ left: 16px; bottom: 16px; font-size: .64rem; }
.a2-hero2-copy{ padding: 28px 0 32px; }
.a2-hero2 .a2-hero-h1{ font-size: 2.3rem; }
.a2-hero-kpis{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.a2-hero-kpi{ flex-direction: column; align-items: flex-start; gap: 8px; padding-right: 10px; }
.a2-hero-kpi + .a2-hero-kpi{ padding-left: 12px; }
.a2-hero-kpi svg{ width: 28px; height: 28px; }
.a2-hero-kpi .a2-n{ font-size: 1.45rem; }
.a2-hero-kpi .a2-l{ font-size: .74rem; }
.a2-hero2-meta{ flex-direction: column; align-items: flex-start; }
.a2-strip2{ padding-top: 20px; }
.a2-quote2{ grid-template-columns: 1fr; }
.a2-quote2 .a2-qmark{ font-size: 4rem; height: 36px; }
.a2-eng{ grid-template-columns: 1fr; gap: 0; }
.a2-eng-item, .a2-eng-item + .a2-eng-item, .a2-eng-item:nth-child(3){ padding: 18px 0; border-left: 0; border-top: 1px solid var(--a2-line); grid-template-columns: 52px 1fr; }
.a2-eng-item .a2-soft{ width: 52px; height: 52px; }
.a2-cards3.snap{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 -20px; padding: 0 20px 8px; scrollbar-width: none; }
.a2-cards3.snap::-webkit-scrollbar{ display: none; }
.a2-cards3.snap > *{ flex: 0 0 82%; scroll-snap-align: start; }
.a2-cards3:not(.a2-snap){ grid-template-columns: 1fr; }
.a2-srv2 .a2-ph{ aspect-ratio: 16/9; }
.a2-certs{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.a2-cert{ padding: 18px 6px; }
.a2-cert img{ height: 52px; }
.a2-temo2{ grid-template-columns: 1fr; }
.a2-temo2-score{ border-right: 0; border-bottom: 1px solid var(--a2-line); flex-direction: row; align-items: center; gap: 18px; padding: 22px; }
.a2-temo2-score .a2-temo-n{ font-size: 3.2rem; }
.a2-temo2-body{ padding: 24px 22px; grid-template-columns: 1fr; }
.a2-temo2-body .a2-qmark{ height: 30px; }
.a2-aides2{ grid-template-columns: 1fr; gap: 12px; }
.a2-cta2-copy{ padding: 48px 20px; }
.a2-cta2-ph{ aspect-ratio: 4/3; }
}
.a2-hero2-grid{ position: static; }
.a2-hero2-copy{ position: relative; z-index: 2; max-width: min(560px, 42vw); }
.a2-hero2-media{ width: 50%; }
@media (max-width: 1099px) {
.a2-hero2-copy{ max-width: 720px; }
.a2-hero2-media{ width: auto; margin-left: 0; }
.a2-hero2-grid{ display: flex; flex-direction: column-reverse; padding-bottom: 0; }
.a2-hero2-media{ margin: 0 calc(var(--a2-gutter) * -1); border-radius: 0 0 0 140px; aspect-ratio: 16/9; }
}
@media (max-width: 699px) {
.a2-hero2-grid{ flex-direction: column-reverse; padding-bottom: 0; }
}
@media (max-width: 699px) {
.a2-hero2-media{ margin: 0 -20px; aspect-ratio: 4/3.6; border-radius: 0 0 0 110px; }
}
.a2-sign{ margin: 0; font-family: "Caveat", "Segoe Script", cursive; color: var(--a2-adf-marron); transform: rotate(-4deg); transform-origin: left center; }
.a2-sign blockquote{ margin: 0; font-size: 1.7rem; line-height: 1.12; font-weight: 500; }
.a2-sign figcaption{ font-size: 1.25rem; margin-top: 4px; padding-left: 12px; opacity: .85; }
.a2-sign::after{ content: ""; display: block; width: 150px; height: 10px; margin-top: 6px; background: no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 10'%3E%3Cpath d='M2 7C40 2 95 1 148 4' stroke='%23F6A25B' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); }
.a2-sign--hero{ margin-bottom: 26px; }
.a2-sign--hero blockquote{ font-size: clamp(1.45rem, 1.1rem + .9vw, 1.9rem); }
.a2-sign--light{ color: #F3E6D3; margin-top: 30px; }
.a2-sign--sm blockquote{ font-size: 1.45rem; }
.a2-sign--sm figcaption{ font-size: 1.1rem; }
.a2-sign--photo{ position: absolute; right: 8%; top: 14%; z-index: 2; color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.a2-sign--photo blockquote{ font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); }
.a2-cta2 .a2-sign--light{ display: none; }
@media (max-width: 699px) {
.a2-sign blockquote{ font-size: 1.45rem; }
.a2-sign--photo{ right: auto; left: 20px; top: auto; bottom: 20px; }
.a2-logo{ min-width: 0; flex: 1 1 auto; }
.a2-logo-t{ white-space: normal; }
.a2-form-card{ margin: 0; }
}
.a2-nav{gap:26px}
.a2-nav>a,.a2-nav-dd>a{white-space:nowrap;font-size:.92rem}
@media (min-width:1100px){
.a2-hero2-media{margin:0}
}
.a2-hero2 .a2-hero-h1{font-size:clamp(2.3rem,1.3rem + 2.3vw,3.55rem)}
.a2-sign--hero blockquote{font-size:clamp(1.3rem,1rem + .7vw,1.65rem)}
.a2-sign--hero{margin-bottom:20px}
@media (min-width:1100px) and (max-width:1439px){
.a2-hdr-tel-num{display:none}
}
@media (min-width:1100px) and (max-width:1279px){
.a2-nav{gap:20px}
.a2-hdr{gap:24px}
.a2-hdr-r .a2-hdr-tel{display:none}
.a2-hdr-r .a2-btn--primary::after{content:none}
}
@media (min-width:1100px) and (max-width:1559px){
.a2-hdr-tel-num{display:none}
.a2-nav{gap:24px}
.a2-hdr{gap:28px}
}
.a2-intro-copy p:first-of-type::first-letter{all:unset}
.a2-cert img{height:110px}
.a2-cta2 .a2-sign--light{display:block}
.a2-sign--cta{margin-top:34px}
.a2-cta2 .a2-cta-h{font-size:clamp(2rem,1.3rem + 1.9vw,3.2rem)}
.a2-cta2-copy{grid-template-columns:1.35fr 1fr}
.a2-sign--ft{margin-top:30px}
@media (max-width:699px){
.a2-cert img{height:60px}
}
@media (max-width:699px){
.a2-hero2-copy{display:flex;flex-direction:column}
.a2-sign--hero{order:20;margin:30px 0 0}
.a2-sign--hero blockquote{font-size:1.35rem}
}
@media (max-width:420px){
.a2-logo-t{display:none}
}
.a2-faq summary::after{content:"+";background:none!important;display:grid;place-items:center;font-family:var(--a2-sans);font-size:1.3rem;font-weight:300;color:var(--a2-ink);line-height:1}
.a2-faq details[open] summary::after{background-color:var(--a2-adf-orange-soft)!important}
.a2-sec-head--split .a2-h2{max-width:22ch}
.a2-callout .a2-picto svg{width:26px;height:26px}
.a2-r-card .a2-ph,.a2-related .a2-ph{display:block}
.a2-r-card-body>span:first-child{min-width:0}
.a2-c-grid{padding-left:var(--a2-gutter);padding-right:var(--a2-gutter)}
:root{
  --a2-v3-ink: #141414;          
  --a2-v3-green: #6FA63A;        
  --a2-v3-green-h: #5F9330;
  --a2-v3-orange: #F29A4A;       
  --a2-v3-orange-h: #E88A36;
  --a2-v3-cream: #F6F0E8;
  --a2-v3-line: #E9E2D8;
}
.a2-site-header{ background: #fff; border-bottom: 1px solid var(--a2-v3-line); }
.a2-hdr{ height: 84px; gap: 28px; }
.a2-logo-n{ color: var(--a2-adf-marron); font-weight: 600; }
.a2-nav{ gap: 28px; }
.a2-nav > a, .a2-nav-dd > a{ font-size: .9rem; color: #2F3B36; padding: 30px 0; }
.a2-nav a[aria-current="page"]{ color: var(--a2-v3-orange); }
.a2-nav > a::after, .a2-nav-dd > a::after{ background: var(--a2-v3-orange); bottom: 22px; }
.a2-btn--cta{ background: var(--a2-v3-orange); color: #fff; border-radius: 6px; font-weight: 600; box-shadow: 0 6px 16px -8px rgba(242,154,74,.9); }
.a2-btn--cta::after{ content: "→"; margin-left: 4px; }
.a2-btn--cta:hover{ background: var(--a2-v3-orange-h); }
.a2-hdr-r{ gap: 22px; }
.a2-hdr-r .a2-btn--primary::after{ content: none; }
.a2-hdr-tel{ font-weight: 700; font-size: 1rem; color: var(--a2-v3-ink); gap: 10px; }
.a2-hdr-tel-ico{ width: 34px; height: 34px; border-radius: 50%; background: var(--a2-v3-green); color: #fff; display: inline-grid; place-items: center; flex: none; }
.a2-hdr-tel-ico svg{ width: 16px !important; height: 16px !important; color: #fff !important; }
@media (min-width: 1100px) and (max-width: 1599px) {
.a2-hdr-tel-num{ display: inline; }
.a2-logo-t{ display: none; }
.a2-nav{ gap: 22px; }
.a2-hdr{ gap: 22px; }
}
@media (min-width: 1100px) and (max-width: 1319px) {
.a2-hdr-tel-num{ display: none; }
.a2-nav{ gap: 18px; }
.a2-nav > a, .a2-nav-dd > a{ font-size: .86rem; }
}
.a2-btn--green{ background: var(--a2-v3-green); color: #fff; border-radius: 6px; font-weight: 600; box-shadow: 0 8px 20px -10px rgba(111,166,58,.9); }
.a2-btn--green:hover{ background: var(--a2-v3-green-h); }
.a2-btn--outline{ background: #fff; color: var(--a2-v3-ink); border: 1px solid #C4C4C4; border-radius: 6px; font-weight: 600; }
.a2-btn--outline:hover{ border-color: var(--a2-v3-ink); }
.a2-btn--line{ background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 6px; font-weight: 600; }
.a2-btn--line:hover{ border-color: #fff; background: rgba(255,255,255,.06); }
.a2-v3 em{ font-style: normal; color: inherit; font-weight: inherit; }
.a2-s3{ padding: 56px 0; }
.a2-s3--tight{ padding: 40px 0; }
.a2-s3--soft{ background: var(--a2-bg-soft); }
.a2-t3{ display: flex; align-items: center; gap: 24px; margin: 0 0 30px; }
.a2-t3-h{ font-family: var(--a2-serif); font-size: clamp(1.7rem, 1.2rem + 1.2vw, 2.25rem); font-weight: 600; color: var(--a2-v3-ink); line-height: 1.15; margin: 0; flex: 0 1 auto; letter-spacing: -.01em; }
.a2-t3-h br{ display: none; }
.a2-t3-line{ flex: 1 1 60px; min-width: 40px; height: 1px; background: var(--a2-v3-orange); opacity: .9; }
.a2-t3-right{ flex: 0 1 420px; margin: 0; font-size: .92rem; color: var(--a2-muted); line-height: 1.5; text-align: right; }
.a2-t3-quote{ font-family: var(--a2-serif); font-style: italic; font-size: .98rem; color: #57615C; }
.a2-t3-h2small{ font-family: var(--a2-sans); font-weight: 400; font-size: .92rem; letter-spacing: 0; color: var(--a2-muted); }
.a2-t3-small{ flex: none; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--a2-adf-marron); font-weight: 600; }
.a2-t3-link{ flex: none; font-size: .9rem; font-weight: 600; color: var(--a2-adf-marron); }
.a2-t3-link:hover{ color: var(--a2-v3-ink); }
.a2-t3-sub{ margin: -14px 0 24px; color: var(--a2-muted); font-size: .95rem; }
.a2-t3-lab{ display: inline-block; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--a2-v3-orange); margin-right: 10px; }
.a2-h3{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: linear-gradient(100deg, #F8F3EC 0%, var(--a2-v3-cream) 55%); min-height: 560px; }
.a2-h3-copy{ display: flex; align-items: center; padding: 56px var(--a2-gutter) 56px max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); }
.a2-h3-in{ max-width: 560px; }
.a2-h3-eyebrow{ font-size: .74rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--a2-v3-orange-h); margin-bottom: 18px; }
.a2-h3-h1{ font-family: var(--a2-serif); font-weight: 700; color: var(--a2-v3-ink); font-size: clamp(2.3rem, 1.2rem + 2.4vw, 3.35rem); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 20px; }
.a2-h3-lead{ font-size: 1.02rem; color: #4D4D4D; line-height: 1.65; margin: 0 0 28px; max-width: 52ch; }
.a2-h3-actions{ display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.a2-h3-kpis{ display: flex; flex-wrap: wrap; gap: 0; }
.a2-h3-kpi{ display: flex; align-items: center; gap: 14px; padding: 4px 26px 4px 0; }
.a2-h3-kpi + .a2-h3-kpi{ padding-left: 26px; border-left: 1px solid #DCD2C4; }
.a2-h3-kpi svg{ width: 40px; height: 40px; color: var(--a2-v3-orange); flex: none; }
.a2-h3-kpi .a2-n{ font-family: var(--a2-serif); font-weight: 700; font-size: 1.6rem; color: var(--a2-v3-ink); line-height: 1; }
.a2-h3-kpi .a2-l{ font-size: .8rem; color: var(--a2-muted); line-height: 1.3; margin-top: 4px; max-width: 11ch; }
.a2-h3-media{ position: relative; overflow: hidden; border-top-left-radius: 230px; background: #E9DFD2; min-height: 560px; }
.a2-h3-slide{ position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.2s ease; }
.a2-h3-slide.a2-is-on{ opacity: 1; }
.a2-h3-slide img{ width: 100%; height: 100%; object-fit: cover; }
.a2-h3-slide figcaption{ position: absolute; left: 28px; bottom: 26px; background: rgba(255,255,255,.94); color: var(--a2-v3-ink); padding: 8px 14px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; border-radius: 3px; max-width: calc(100% - 140px); }
.a2-h3-dots{ position: absolute; right: 28px; bottom: 30px; display: flex; gap: 8px; z-index: 3; }
.a2-h3-dots button{ width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.6); }
.a2-h3-dots button.a2-is-on{ background: var(--a2-v3-orange); }
.a2-sign--h3{ position: absolute; top: 36px; right: 40px; z-index: 3; color: #4B2E0B; transform: rotate(-5deg); background: radial-gradient(closest-side, rgba(255,250,243,.82), rgba(255,250,243,0)); padding: 18px 26px 10px; }
.a2-sign--h3 blockquote{ font-size: clamp(1.3rem, .9rem + .9vw, 1.75rem); }
.a2-e3-row{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.a2-e3{ text-align: center; padding: 6px 28px; }
.a2-e3 + .a2-e3{ border-left: 1px solid var(--a2-v3-line); }
.a2-e3-ico{ width: 60px; height: 60px; border-radius: 50%; display: inline-grid; place-items: center; color: #fff; margin-bottom: 16px; box-shadow: 0 8px 18px -10px rgba(0,0,0,.35); }
.a2-e3-ico svg{ width: 26px; height: 26px; }
.a2-e3-t{ font-family: var(--a2-serif); font-weight: 600; font-size: 1.15rem; color: var(--a2-v3-ink); margin-bottom: 6px; }
.a2-e3-s{ font-size: .9rem; color: var(--a2-muted); line-height: 1.55; }
.a2-p3{ display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: center; }
.a2-p3-txt p{ color: #4D4D4D; margin-bottom: 14px; }
.a2-p3-tel{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 18px; font-size: .9rem; color: var(--a2-muted); }
.a2-p3-tel a{ display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.1rem; color: var(--a2-v3-ink); }
.a2-p3-loc{ margin-top: 10px; font-size: .9rem; color: var(--a2-text); display: flex; align-items: center; gap: 10px; }
.a2-p3-loc::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--a2-v3-green); }
.a2-p3-cert{ display: flex; gap: 16px; margin-top: 18px; }
.a2-p3-cert img{ height: 52px; width: auto; }
.a2-rail{ position: relative; }
.a2-rail-track{ display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 20px) / 4); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 10px; }
.a2-rail-track::-webkit-scrollbar{ display: none; }
.a2-rail-btn{ position: absolute; top: 34%; z-index: 2; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--a2-v3-line); background: #fff; color: var(--a2-v3-ink); display: grid; place-items: center; box-shadow: var(--a2-shadow); }
.a2-rail-prev{ left: -20px; }
.a2-rail-next{ right: -20px; }
.a2-c3{ margin: 0; scroll-snap-align: start; background: #fff; border: 1px solid var(--a2-v3-line); border-radius: 6px; overflow: hidden; transition: box-shadow .3s, transform .3s; }
.a2-c3:hover{ box-shadow: var(--a2-shadow); transform: translateY(-2px); }
.a2-c3-ph{ aspect-ratio: 4/3; background: var(--a2-bg-beige); overflow: hidden; }
.a2-c3-ph img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--a2-ease); }
.a2-c3:hover .a2-c3-ph img{ transform: scale(1.04); }
.a2-c3-body{ position: relative; display: block; padding: 14px 44px 16px 16px; }
.a2-c3-t{ display: block; font-family: var(--a2-serif); font-weight: 600; font-size: .98rem; color: var(--a2-v3-ink); line-height: 1.3; }
.a2-c3-s{ display: block; font-size: .84rem; color: var(--a2-muted); margin-top: 2px; }
.a2-c3-arr{ position: absolute; right: 16px; top: 16px; color: var(--a2-v3-ink); }
.a2-c3-d{ margin: 8px 0 0; font-size: .82rem; color: #6E6E6E; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.a2-c3:hover .a2-c3-d{ -webkit-line-clamp: 6; }
.a2-q3{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-bottom: 1px solid var(--a2-v3-line); padding-bottom: 20px; }
.a2-q3-i{ display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 6px 20px; }
.a2-q3-i + .a2-q3-i{ border-left: 1px solid var(--a2-v3-line); }
.a2-q3-i img{ height: 78px; width: auto; }
.a2-q3-i span{ font-family: var(--a2-serif); font-weight: 600; color: var(--a2-v3-ink); font-size: .98rem; }
.a2-q3-txt{ display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 20px; }
.a2-q3-txt p{ font-size: .88rem; color: var(--a2-muted); margin: 0; line-height: 1.6; }
.a2-x3-row{ display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; }
.a2-x3{ display: flex; flex-direction: column; background: #fff; border: 1px solid var(--a2-v3-line); border-radius: 6px; overflow: hidden; transition: box-shadow .3s, transform .3s; }
.a2-x3:hover{ box-shadow: var(--a2-shadow); transform: translateY(-2px); }
.a2-x3-ph{ position: relative; aspect-ratio: 4/3.3; background: var(--a2-bg-beige); }
.a2-x3-ph img{ width: 100%; height: 100%; object-fit: cover; }
.a2-x3-ico{ position: absolute; left: 12px; bottom: -18px; width: 38px; height: 38px; border-radius: 50%; background: var(--a2-c); color: #fff; display: grid; place-items: center; border: 3px solid #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); }
.a2-x3-ico svg{ width: 17px; height: 17px; }
.a2-x3-body{ position: relative; padding: 26px 14px 14px; display: flex; flex-direction: column; flex: 1; }
.a2-x3-n{ font-size: .7rem; color: #A8A8A8; letter-spacing: .1em; }
.a2-x3-t{ font-family: var(--a2-serif); font-weight: 600; font-size: .92rem; color: var(--a2-v3-ink); line-height: 1.3; margin: 2px 22px 8px 0; }
.a2-x3-body .a2-c3-arr{ top: 26px; right: 12px; font-size: .9rem; }
.a2-x3-d{ font-size: .78rem; color: #6E6E6E; line-height: 1.5; margin: 0 0 10px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.a2-x3:hover .a2-x3-d{ -webkit-line-clamp: 8; }
.a2-x3-more{ margin-top: auto; font-size: .78rem; font-weight: 600; color: var(--a2-adf-marron); }
.a2-oe3{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; }
.a2-oe3-l{ font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--a2-adf-marron); font-weight: 600; margin-right: 8px; }
.a2-oe3 a{ font-size: .85rem; padding: 7px 14px; border: 1px solid var(--a2-v3-line); border-radius: 30px; color: var(--a2-text); background: #fff; }
.a2-oe3 a:hover{ border-color: var(--a2-v3-orange); color: var(--a2-adf-marron); }
.a2-r3{ display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; align-items: stretch; }
.a2-r3-score{ display: flex; flex-direction: column; justify-content: center; padding: 10px 0; }
.a2-r3-n{ font-family: var(--a2-serif); font-weight: 700; font-size: 3.6rem; color: var(--a2-adf-marron); line-height: 1; }
.a2-r3-stars{ color: var(--a2-v3-orange); font-size: 1.3rem; letter-spacing: 4px; margin: 10px 0 8px; }
.a2-r3-l{ font-size: .9rem; color: var(--a2-v3-ink); font-weight: 500; }
.a2-r3-card{ display: grid; grid-template-columns: minmax(0,1fr) 300px; background: var(--a2-v3-cream); border-radius: 8px; overflow: hidden; }
.a2-r3-body{ position: relative; padding: 30px 36px 28px 84px; }
.a2-r3-q{ position: absolute; left: 30px; top: 18px; font-family: var(--a2-serif); font-size: 4.2rem; line-height: 1; color: var(--a2-v3-orange); }
.a2-r3-quote{ font-size: .98rem; color: #3F3F3F; line-height: 1.65; margin: 0 0 14px; }
.a2-r3-a{ font-weight: 600; color: var(--a2-v3-ink); font-size: .92rem; }
.a2-r3-p{ font-size: .84rem; color: var(--a2-muted); }
.a2-r3-ph img{ width: 100%; height: 100%; object-fit: cover; }
.a2-a3-row{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.a2-a3{ text-align: center; padding: 6px 26px; }
.a2-a3 + .a2-a3{ border-left: 1px solid var(--a2-v3-line); }
.a2-a3-ico{ width: 66px; height: 66px; border-radius: 50%; display: inline-grid; place-items: center; margin-bottom: 14px; }
.a2-a3-ico svg{ width: 30px; height: 30px; }
.a2-a3-n{ font-family: var(--a2-serif); font-weight: 600; font-size: 1.15rem; color: var(--a2-v3-ink); }
.a2-a3-v{ font-family: var(--a2-serif); color: var(--a2-adf-marron); font-size: 1.05rem; margin: 2px 0 6px; }
.a2-a3-d{ font-size: .88rem; color: var(--a2-muted); margin: 0; line-height: 1.55; }
.a2-k3{ position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); background: var(--a2-deep); min-height: 300px; overflow: hidden; }
.a2-k3-in{ position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr); gap: 36px; align-items: center; padding: 48px 70px 48px max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); background: var(--a2-deep); border-radius: 0 300px 300px 0; margin-right: -110px; }
.a2-k3-eyebrow{ font-size: .74rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--a2-v3-orange); margin-bottom: 12px; }
.a2-k3-h{ font-family: var(--a2-serif); font-weight: 600; font-size: clamp(2rem, 1.3rem + 1.8vw, 2.9rem); color: #fff; line-height: 1.08; margin-bottom: 14px; }
.a2-k3-h em{ font-style: normal; color: #fff; }
.a2-k3-sub{ color: #D4D4D4; font-size: .98rem; margin: 0; max-width: 46ch; }
.a2-k3-act{ display: grid; gap: 12px; }
.a2-k3-act .a2-btn{ width: 100%; }
.a2-k3-cert{ display: flex; gap: 10px; margin-top: 4px; }
.a2-k3-cert img{ height: 44px; background: #fff; padding: 5px; border-radius: 4px; }
.a2-k3-ph{ position: relative; }
.a2-k3-ph img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.a2-ft3{ padding-top: 56px; background: #fff; border-top: 1px solid var(--a2-v3-line); }
.a2-ft3-grid{ display: grid; grid-template-columns: 1.25fr 1fr 1fr .85fr 1.15fr 1fr; gap: 28px; }
.a2-ft3-grid > * + *{ }
.a2-ft3-logo{ display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 14px; }
.a2-ft3-logo img{ width: 74px; height: auto; margin-bottom: 6px; }
.a2-ft3-logo .a2-logo-n{ font-size: 1.3rem; }
.a2-ft3 .a2-ft-desc{ font-size: .88rem; }
.a2-ft3 .a2-ft-tel{ font-size: 1.3rem; }
.a2-ft3 .a2-ft-h{ font-size: .74rem; color: var(--a2-v3-ink); letter-spacing: .12em; font-weight: 700; }
.a2-ft3 .a2-ft-links{ gap: 7px; font-size: .86rem; }
.a2-ft3 .a2-ft-links a{ color: #5A5A5A; }
.a2-ft3-contact .a2-ft-h{ margin-bottom: 14px; }
.a2-ft3-li{ display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: .86rem; color: #5A5A5A; margin-bottom: 14px; }
.a2-ft3-li svg{ width: 17px; height: 17px; color: var(--a2-v3-orange); margin-top: 2px; }
.a2-ft3-lab{ display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--a2-muted); font-weight: 600; }
.a2-ft3-side{ display: flex; flex-direction: column; align-items: flex-end; gap: 22px; }
.a2-ft3-side .a2-social{ margin: 0; }
.a2-sign--ft3{ color: var(--a2-adf-marron); }
.a2-sign--ft3 blockquote{ font-size: 1.5rem; }
.a2-ft3 .a2-ft-btm{ margin-top: 40px; }
@media (max-width: 1099px) {
.a2-h3{ grid-template-columns: 1fr; }
.a2-h3-media{ order: -1; min-height: 0; aspect-ratio: 16/9; border-radius: 0 0 0 160px; }
.a2-h3-copy{ padding: 40px var(--a2-gutter) 48px; }
.a2-h3-in{ max-width: 720px; }
.a2-t3{ flex-wrap: wrap; }
.a2-t3-line{ display: none; }
.a2-t3-right{ flex: 1 1 100%; text-align: left; }
.a2-e3-row{ grid-template-columns: 1fr 1fr; gap: 28px 0; }
.a2-e3:nth-child(3){ border-left: 0; }
.a2-p3{ grid-template-columns: 1fr; gap: 28px; }
.a2-rail-track{ grid-auto-columns: calc((100% - 20px) / 2.3); }
.a2-rail-btn{ display: none; }
.a2-x3-row{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.a2-r3{ grid-template-columns: 1fr; }
.a2-r3-score{ flex-direction: row; align-items: center; gap: 18px; flex-wrap: wrap; }
.a2-r3-card{ grid-template-columns: 1fr 220px; }
.a2-a3-row{ grid-template-columns: 1fr 1fr; gap: 28px 0; }
.a2-a3:nth-child(3){ border-left: 0; }
.a2-k3{ grid-template-columns: 1fr; }
.a2-k3-in{ margin-right: 0; border-radius: 0; grid-template-columns: 1fr 1fr; padding: 44px var(--a2-gutter); }
.a2-k3-ph{ aspect-ratio: 16/7; }
.a2-ft3-grid{ grid-template-columns: 1fr 1fr 1fr; }
.a2-ft3-brand{ grid-column: 1 / -1; }
.a2-ft3-side{ align-items: flex-start; }
}
@media (max-width: 699px) {
.a2-hdr{ height: 68px; }
.a2-hdr-r .a2-btn--cta{ display: none; }
.a2-hdr-tel{ width: auto; height: auto; border: 0; }
.a2-hdr-tel-ico{ width: 40px; height: 40px; }
.a2-h3-media{ aspect-ratio: 4/3.5; border-radius: 0 0 0 90px; }
.a2-h3-slide figcaption{ left: 14px; bottom: 14px; font-size: .62rem; max-width: calc(100% - 90px); }
.a2-h3-dots{ right: 16px; bottom: 18px; }
.a2-sign--h3{ top: 10px; right: 8px; padding: 10px 14px 6px; }
.a2-sign--h3 blockquote{ font-size: 1.02rem; }
.a2-sign--h3 figcaption{ font-size: .85rem; }
.a2-sign--h3::after{ width: 90px; }
.a2-h3-copy{ padding: 26px 20px 36px; display: block; }
.a2-h3-h1{ font-size: 2.15rem; }
.a2-h3-actions{ display: grid; }
.a2-h3-actions .a2-btn{ width: 100%; }
.a2-h3-kpis{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.a2-h3-kpi{ flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 8px 0 0; }
.a2-h3-kpi + .a2-h3-kpi{ padding-left: 12px; }
.a2-h3-kpi svg{ width: 28px; height: 28px; }
.a2-h3-kpi .a2-n{ font-size: 1.35rem; }
.a2-h3-kpi .a2-l{ font-size: .74rem; }
.a2-s3{ padding: 44px 0; }
.a2-t3{ gap: 10px; margin-bottom: 22px; }
.a2-t3-h{ font-size: 1.7rem; }
.a2-t3-h br{ display: none; }
.a2-e3-row{ grid-template-columns: 1fr; gap: 0; }
.a2-e3{ display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; text-align: left; padding: 16px 0; border-top: 1px solid var(--a2-v3-line); }
.a2-e3 + .a2-e3, .a2-e3:nth-child(3){ border-left: 0; }
.a2-e3-ico{ width: 48px; height: 48px; margin: 0; grid-row: span 2; }
.a2-e3-ico svg{ width: 22px; height: 22px; }
.a2-rail-track{ grid-auto-columns: 82%; margin: 0 -20px; padding: 4px 20px 10px; scroll-padding: 0 20px; }
.a2-c3-d{ -webkit-line-clamp: 3; }
.a2-q3-i{ padding: 4px 6px; }
.a2-q3-i img{ height: 48px; }
.a2-q3-i span{ font-size: .8rem; text-align: center; }
.a2-q3-txt{ grid-template-columns: 1fr; gap: 12px; }
.a2-x3-row{ display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 70%; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 4px 20px 10px; scrollbar-width: none; }
.a2-x3-row::-webkit-scrollbar{ display: none; }
.a2-x3{ scroll-snap-align: start; }
.a2-r3-card{ grid-template-columns: 1fr; }
.a2-r3-ph{ display: none; }
.a2-r3-body{ padding: 26px 20px 22px 62px; }
.a2-r3-q{ left: 16px; font-size: 3.4rem; }
.a2-r3-n{ font-size: 2.8rem; }
.a2-a3-row{ grid-template-columns: 1fr 1fr; gap: 22px 0; }
.a2-a3{ padding: 4px 12px; }
.a2-a3-ico{ width: 54px; height: 54px; }
.a2-a3-d{ font-size: .82rem; }
.a2-k3-in{ grid-template-columns: 1fr; padding: 40px 20px; gap: 22px; }
.a2-k3-ph{ aspect-ratio: 4/3; }
.a2-ft3-grid{ grid-template-columns: 1fr; gap: 0; }
.a2-ft3-brand{ padding-bottom: 24px; }
.a2-ft3-contact{ border-top: 1px solid var(--a2-line); padding-top: 20px; }
.a2-ft3-side{ padding: 20px 0 0; }
}
@media (min-width: 1100px) {
.a2-hdr .a2-logo-t{ display: none; }
}
@media (min-width: 1100px) and (max-width: 1199px) {
.a2-hdr-r .a2-btn--cta{ padding: 0 14px; }
.a2-hdr-r .a2-btn--cta::after{ content: none; }
.a2-nav{ gap: 16px; }
}
.a2-x3-ph{ flex: none; }
.a2-btn--primary{ background: var(--a2-v3-green); color: #fff; border-radius: 6px; }
.a2-btn--primary:hover{ background: var(--a2-v3-green-h); }
.a2-mbar a.a2-mbar-main{ background: var(--a2-v3-green); border-color: var(--a2-v3-green); color: #fff; }
.a2-float-main{ background: var(--a2-v3-orange); }
:root{ --a2-v4-btn: #7B4A12; --a2-v4-btn-h: #653B0C; }
.a2-btn--green, .a2-btn--primary{ background: var(--a2-v4-btn); color: #fff; border: 1px solid var(--a2-v4-btn); border-radius: 6px; box-shadow: none; }
.a2-btn--green:hover, .a2-btn--primary:hover{ background: var(--a2-v4-btn-h); border-color: var(--a2-v4-btn-h); }
.a2-btn--outline{ border-color: var(--a2-v3-ink); }
.a2-hdr-tel-ico{ background: var(--a2-v3-ink); }
.a2-k3 .a2-btn--green{ background: #fff; color: var(--a2-v3-ink); border-color: #fff; }
.a2-k3 .a2-btn--green:hover{ background: var(--a2-v3-cream); }
.a2-mbar a.a2-mbar-main{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-float-main{ background: var(--a2-v4-btn); }
.a2-p3-loc::before, .a2-hero-loc::before{ background: var(--a2-v3-orange); box-shadow: none; }
.a2-ft4{ background: var(--a2-bg-soft); border-top: 1px solid var(--a2-v3-line); padding: 44px 0 0; font-size: .86rem; color: #5A5A5A; }
.a2-ft4-top{ display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1.1fr) auto; gap: 40px; align-items: start; padding-bottom: 28px; }
.a2-ft4-logo{ display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.a2-ft4-logo img{ width: 46px; height: auto; }
.a2-ft4-logo .a2-logo-n{ display: block; font-size: 1.15rem; }
.a2-ft4-logo .a2-logo-t{ display: block; font-size: .6rem; }
.a2-ft4-desc{ margin: 0; max-width: 46ch; line-height: 1.6; color: var(--a2-muted); }
.a2-ft4-contact{ display: grid; gap: 10px; line-height: 1.5; }
.a2-ft4-lab{ display: inline-block; min-width: 78px; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--a2-v3-ink); }
.a2-ft4-contact a:hover, .a2-ft4-links a:hover, .a2-ft4-legal a:hover{ color: var(--a2-adf-marron); }
.a2-ft4-tel{ font-weight: 600; color: var(--a2-v3-ink); }
.a2-ft4-side{ display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.a2-ft4 .a2-social{ margin: 0; gap: 8px; }
.a2-ft4 .a2-social a{ width: 34px; height: 34px; }
.a2-sign--ft4{ color: var(--a2-adf-marron); }
.a2-sign--ft4 blockquote{ font-size: 1.3rem; }
.a2-sign--ft4 figcaption{ font-size: 1rem; }
.a2-sign--ft4::after{ width: 110px; }
.a2-ft4-links{ border-top: 1px solid var(--a2-v3-line); padding: 16px 0; display: grid; gap: 8px; }
.a2-ft4-row{ display: flex; gap: 14px; align-items: baseline; }
.a2-ft4-h{ flex: none; min-width: 190px; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--a2-v3-ink); }
.a2-ft4-list{ display: flex; flex-wrap: wrap; gap: 2px 0; }
.a2-ft4-list a{ color: #6E6E6E; font-size: .82rem; }
.a2-ft4-list a + a::before{ content: "·"; margin: 0 9px; color: #C4BBAE; }
.a2-ft4-btm{ border-top: 1px solid var(--a2-v3-line); padding: 14px 0 18px; display: flex; align-items: center; gap: 12px 28px; flex-wrap: wrap; font-size: .78rem; color: var(--a2-muted); }
.a2-ft4-copy{ margin-right: auto; }
.a2-ft4-legal{ display: flex; gap: 0; flex-wrap: wrap; }
.a2-ft4-legal a + a::before{ content: "|"; margin: 0 10px; color: #C4BBAE; }
.a2-ft4 .a2-ft-badges img{ height: 30px; }
@media (max-width: 1099px) {
.a2-ft4-top{ grid-template-columns: 1fr 1fr; }
.a2-ft4-side{ grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
.a2-ft4-row{ flex-direction: column; gap: 4px; }
}
@media (max-width: 699px) {
.a2-ft4{ padding-top: 34px; }
.a2-ft4-top{ grid-template-columns: 1fr; gap: 20px; }
.a2-ft4-side{ flex-direction: column; align-items: flex-start; }
.a2-ft4-lab{ display: block; margin-bottom: 2px; }
.a2-ft4-list a + a::before{ margin: 0 7px; }
.a2-ft4-copy{ margin-right: 0; }
}
.a2-ft4-h{ min-width: 250px; }
.a2-ft4-list{ gap: 4px 18px; }
.a2-ft4-list a + a::before{ content: none; }
@media (max-width: 1099px) {
.a2-ft4-h{ min-width: 0; }
}
.a2-ft4-legal{ gap: 4px 18px; }
.a2-ft4-legal a + a::before{ content: none; }
:root{ --a2-v5-btn: #6FA8DC; --a2-v5-btn-h: #5B97CE; --a2-v5-btn-ink: #10263D; --a2-display: "Cormorant Garamond", "Source Serif 4", Georgia, serif; }
.a2-btn--green, .a2-btn--primary{ background: var(--a2-v5-btn); border-color: var(--a2-v5-btn); color: var(--a2-v5-btn-ink); }
.a2-btn--green:hover, .a2-btn--primary:hover{ background: var(--a2-v5-btn-h); border-color: var(--a2-v5-btn-h); color: var(--a2-v5-btn-ink); }
.a2-btn--green svg, .a2-btn--primary svg{ color: currentColor; }
.a2-k3 .a2-btn--green{ background: #fff; color: var(--a2-v3-ink); border-color: #fff; }
.a2-mbar a.a2-mbar-main, .a2-float-main{ background: var(--a2-v5-btn); border-color: var(--a2-v5-btn); color: var(--a2-v5-btn-ink); }
.a2-float-main:hover{ background: var(--a2-v5-btn-h); }
.a2-h3-h1{ font-family: var(--a2-display); font-weight: 600; font-size: clamp(2.7rem, 1.4rem + 2.9vw, 4rem); line-height: 1.02; letter-spacing: -.01em; }
.a2-h3-h1 em{ font-style: italic; font-weight: 500; color: var(--a2-adf-marron); }
.a2-ft4{ padding: 52px 0 0; background: #fff; }
.a2-ft4-top{ grid-template-columns: minmax(0,1.15fr) minmax(0,1.1fr) auto; padding-bottom: 32px; }
.a2-ft4-side{ align-items: flex-end; }
.a2-ft4-links{ padding: 18px 0; gap: 10px; }
.a2-ft4-h{ min-width: 220px; color: #8A8F8B; font-weight: 500; }
.a2-ft4-list{ gap: 4px 20px; }
.a2-ft4-list a + a::before{ content: none; }
.a2-ft4-list a{ color: #5F6763; }
.a2-ft4-btm{ padding: 16px 0 90px; }
.a2-ft4-legal{ gap: 6px 20px; }
.a2-ft4-legal a + a::before{ content: none; }
.a2-ft4-btm .a2-social a{ width: 30px; height: 30px; border-color: transparent; background: transparent; }
.a2-ft4-btm .a2-social a:hover{ color: var(--a2-adf-marron); }
@media (max-width: 1099px) {
.a2-ft4-side{ justify-content: flex-start; }
.a2-ft4-btm{ padding-bottom: 24px; }
}
@media (max-width: 699px) {
.a2-h3-h1{ font-size: 2.55rem; }
.a2-ft4-btm{ padding-bottom: 96px; }
.a2-ft4-h{ min-width: 0; }
}
@media (max-width: 1099px) {
.a2-ft4-top{ grid-template-columns: 1fr 1fr; }
.a2-ft4-side{ grid-column: 1 / -1; align-items: flex-start; }
}
@media (max-width: 699px) {
.a2-ft4-top{ grid-template-columns: 1fr; gap: 22px; }
.a2-ft4-btm .a2-social{ margin-left: -6px; }
}
.a2-h3{ background: #fff; }
.a2-h3-h1{ color: #111; }
.a2-logo-n, .a2-ft4-logo .a2-logo-n{ color: #111; }
.a2-logo{ gap: 16px; }
.a2-logo-n{ font-family: var(--a2-display); font-weight: 500; color: #171717; letter-spacing: .03em; font-size: 1.75rem; line-height: 1; }
.a2-logo-t{ display: block; font-family: var(--a2-sans); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: #B08856; margin-top: 7px; font-weight: 500; white-space: nowrap; }
@media (min-width: 1100px) {
.a2-hdr .a2-logo-t{ display: block; }
}
@media (min-width: 1100px) and (max-width: 1439px) {
.a2-hdr .a2-logo-n{ font-size: 1.5rem; }
.a2-hdr .a2-logo-t{ font-size: .56rem; letter-spacing: .16em; }
.a2-hdr .a2-logo img{ width: 44px; }
}
@media (max-width: 1099px) {
.a2-hdr .a2-logo-n{ font-size: 1.45rem; }
.a2-hdr .a2-logo-t{ display: block; font-size: .55rem; letter-spacing: .14em; }
}
@media (max-width: 420px) {
.a2-hdr .a2-logo-n{ font-size: 1.25rem; }
.a2-hdr .a2-logo-t{ font-size: .5rem; letter-spacing: .1em; }
}
.a2-ft4-logo .a2-logo-n{ font-size: 1.45rem; }
.a2-ft4-logo .a2-logo-t{ font-size: .56rem; margin-top: 6px; }
.a2-mnav .a2-logo-n{ font-size: 1.35rem; }
.a2-btn--green, .a2-btn--primary{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-btn--green:hover, .a2-btn--primary:hover{ background: var(--a2-v4-btn-h); border-color: var(--a2-v4-btn-h); color: #fff; }
.a2-mbar a.a2-mbar-main, .a2-float-main{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-float-main:hover{ background: var(--a2-v4-btn-h); }
.a2-hdr-tel-ico{ background: #6FA8DC; }
.a2-hdr-tel-ico svg{ color: #111 !important; }
.a2-btn--tel, .a2-btn.a2-btn--tel{ background: #6FA8DC; border: 1px solid #6FA8DC; color: #111; }
.a2-btn--tel:hover{ background: #5B97CE; border-color: #5B97CE; color: #111; }
.a2-btn--tel svg{ color: #111; }
.a2-mbar a.a2-mbar-tel{ background: #6FA8DC; border-color: #6FA8DC; color: #111; }
.a2-k3{ display: block; background: #6FA8DC; min-height: 0; }
.a2-k3-ph{ position: absolute; inset: 0; aspect-ratio: auto !important; }
.a2-k3-ph img{ filter: grayscale(.2); }
.a2-k3-in{ background: rgba(111,168,220,.84); border-radius: 0; margin: 0; padding: 64px var(--a2-gutter); padding-left: max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); padding-right: max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: 60px; }
.a2-k3-eyebrow{ color: #111; opacity: .75; }
.a2-k3-h, .a2-k3-h em{ color: #111; }
.a2-k3-sub{ color: #1d1d1d; }
.a2-k3 .a2-btn--green{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-k3 .a2-btn--green:hover{ background: var(--a2-v4-btn-h); border-color: var(--a2-v4-btn-h); }
.a2-k3 .a2-btn--tel{ background: #fff; border-color: #fff; color: #111; }
.a2-k3 .a2-btn--tel:hover{ background: #F2F2F2; }
@media (max-width: 1099px) {
.a2-k3-in{ grid-template-columns: 1fr 1fr; padding: 48px var(--a2-gutter); gap: 32px; }
}
@media (max-width: 699px) {
.a2-k3-in{ grid-template-columns: 1fr; padding: 40px 20px; gap: 22px; }
}
.a2-ft4-row--q{ align-items: center; }
.a2-ft4-q{ display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.a2-ft4-q img{ height: 34px; width: auto; }
@media (max-width: 699px) {
.a2-ft4-q img{ height: 30px; }
}
@media (min-width: 1100px) and (max-width: 1799px) {
.a2-hdr-tel-num{ display: none !important; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
.a2-hdr .a2-logo-t{ display: none; }
.a2-hdr .a2-logo-n{ font-size: 1.4rem; }
.a2-nav{ gap: 16px; }
.a2-hdr{ gap: 18px; }
}
@media (max-width: 1099px) {
.a2-ft4-row--q{ align-items: flex-start; }
}
.a2-hdr-tel-ico{ background: #A9D86E; }
.a2-btn--tel, .a2-btn.a2-btn--tel, .a2-k3 .a2-btn--tel, .a2-mbar a.a2-mbar-tel{ background: #A9D86E; border-color: #A9D86E; color: #111; }
.a2-btn--tel:hover, .a2-k3 .a2-btn--tel:hover{ background: #9BCB5E; border-color: #9BCB5E; color: #111; }
.a2-k3{ display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); background: #6FA8DC; }
.a2-k3-ph img{ filter: none; }
.a2-k3-in{ grid-column: 1; border-radius: 0 320px 320px 0; margin-right: -110px; padding: 60px 90px 60px max(var(--a2-gutter), calc((100vw - var(--a2-maxw)) / 2 + var(--a2-gutter))); grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr); gap: 40px; }
@media (max-width: 1099px) {
.a2-k3{ grid-template-columns: 1fr; }
.a2-k3-in{ margin-right: 0; border-radius: 0; padding: 48px var(--a2-gutter); grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 699px) {
.a2-k3-in{ grid-template-columns: 1fr; padding: 40px 20px; gap: 22px; }
}
@media (min-width: 1100px) {
.a2-hdr-tel-num{ display: inline !important; }
.a2-hdr-r .a2-hdr-tel{ display: inline-flex !important; }
}
@media (min-width: 1100px) and (max-width: 1799px) {
.a2-nav{ gap: 20px; }
.a2-hdr{ gap: 22px; }
.a2-hdr-tel{ font-size: .92rem; gap: 8px; }
.a2-hdr-tel-ico{ width: 30px; height: 30px; }
}
@media (min-width: 1100px) and (max-width: 1439px) {
.a2-hdr .a2-logo-t{ display: none; }
.a2-nav{ gap: 16px; }
.a2-nav > a, .a2-nav-dd > a{ font-size: .86rem; }
.a2-hdr .a2-btn--cta{ padding-left: 16px; padding-right: 16px; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
.a2-hdr .a2-btn--cta::after{ content: none; }
.a2-hdr .a2-logo-n{ font-size: 1.3rem; }
.a2-nav{ gap: 13px; }
.a2-hdr{ gap: 14px; }
.a2-hdr-tel-ico{ display: none; }
}
.a2-hdr-tel-ico{ background: #6FA8DC; }
.a2-btn--tel, .a2-btn.a2-btn--tel, .a2-mbar a.a2-mbar-tel{ background: #6FA8DC; border-color: #6FA8DC; color: #111; }
.a2-btn--tel:hover{ background: #5B97CE; border-color: #5B97CE; color: #111; }
.a2-k3 .a2-btn--tel{ background: #F6A25B; border-color: #F6A25B; color: #111; }
.a2-k3 .a2-btn--tel:hover{ background: #EE9446; border-color: #EE9446; color: #111; }
.a2-site-header .a2-wrap.a2-hdr{ max-width: 1520px; }
@media (min-width: 1100px) and (max-width: 1199px) {
.a2-nav{ gap: 11px; }
.a2-nav > a, .a2-nav-dd > a{ font-size: .82rem; }
.a2-hdr{ gap: 12px; }
}
.a2-btn--est, .a2-btn.a2-btn--est, .a2-k3 .a2-btn--est, .a2-mbar a.a2-mbar-main, .a2-float-main{ background: var(--a2-v3-orange); border-color: var(--a2-v3-orange); color: #fff; }
.a2-btn--est:hover, .a2-k3 .a2-btn--est:hover, .a2-float-main:hover{ background: var(--a2-v3-orange-h); border-color: var(--a2-v3-orange-h); color: #fff; }
.a2-hdr-tel-ico{ background: #A9D86E; }
.a2-hdr-tel-ico svg{ color: #111 !important; }
.a2-btn--tel, .a2-btn.a2-btn--tel, .a2-k3 .a2-btn--tel, .a2-mbar a.a2-mbar-tel{ background: #A9D86E; border-color: #A9D86E; color: #111; }
.a2-btn--tel:hover, .a2-k3 .a2-btn--tel:hover{ background: #9BCB5E; border-color: #9BCB5E; color: #111; }
.a2-hdr-r .a2-hdr-tel{ background: #A9D86E; color: #111; border-radius: 6px; height: 44px; padding: 0 16px 0 6px; gap: 8px; font-weight: 700; }
.a2-hdr-r .a2-hdr-tel:hover{ background: #9BCB5E; }
.a2-hdr-r .a2-hdr-tel .a2-hdr-tel-ico{ background: transparent; width: 30px; height: 30px; display: inline-grid !important; }
@media (min-width: 1100px) and (max-width: 1279px) {
.a2-hdr-r .a2-hdr-tel{ padding: 0 12px 0 4px; font-size: .86rem; }
.a2-hdr-r .a2-hdr-tel .a2-hdr-tel-ico{ width: 24px; }
}
@media (max-width: 1099px) {
.a2-hdr-r .a2-hdr-tel{ padding: 0; width: 44px; justify-content: center; }
}
.a2-h3 .a2-btn--est{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-h3 .a2-btn--est:hover{ background: var(--a2-v4-btn-h); border-color: var(--a2-v4-btn-h); }
.a2-k3 .a2-btn--tel{ background: var(--a2-v4-btn); border-color: var(--a2-v4-btn); color: #fff; }
.a2-k3 .a2-btn--tel svg{ color: #fff; }
.a2-k3 .a2-btn--tel:hover{ background: var(--a2-v4-btn-h); border-color: var(--a2-v4-btn-h); color: #fff; }
@media (min-width: 1100px) and (max-width: 1199px) {
.a2-hdr-r .a2-hdr-tel{ padding: 0 10px 0 2px; gap: 4px; font-size: .8rem; }
.a2-hdr-r .a2-btn--cta{ padding: 0 12px; font-size: .84rem; }
}
.a2-r3--v2{ grid-template-columns: 250px minmax(0,1fr); align-items: center; }
.a2-r3-g{ display: inline-block; margin-top: 12px; font-size: .88rem; font-weight: 600; color: var(--a2-adf-marron); }
.a2-r3-nav{ display: flex; gap: 8px; margin-top: 18px; }
.a2-r3-nav button{ width: 40px; height: 40px; border-radius: 50%; border: 1px solid #D9D1C4; background: #fff; color: #111; font-size: 1rem; cursor: pointer; }
.a2-r3-nav button:hover{ border-color: #111; }
.a2-rv{ overflow: hidden; }
.a2-rv-track{ display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 0; }
.a2-rv-track::-webkit-scrollbar{ display: none; }
.a2-rv-card{ flex: 0 0 calc((100% - 20px) / 2); scroll-snap-align: start; margin: 0; background: #fff; border: 1px solid #E6E0D6; border-radius: 8px; padding: 26px 28px 22px; display: flex; flex-direction: column; }
.a2-rv-stars{ color: var(--a2-v3-orange); letter-spacing: 3px; font-size: 1rem; margin-bottom: 12px; }
.a2-rv-card blockquote{ margin: 0 0 16px; font-size: .96rem; line-height: 1.65; color: #3F3F3F; flex: 1; }
.a2-rv-card figcaption{ display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .9rem; color: #111; }
.a2-rv-card figcaption span{ font-size: .78rem; color: var(--a2-muted); }
@media (max-width: 1099px) {
.a2-r3--v2{ grid-template-columns: 1fr; }
.a2-r3--v2 .a2-r3-score{ flex-direction: row; align-items: center; gap: 14px 18px; flex-wrap: wrap; }
.a2-r3-nav{ margin: 0 0 0 auto; }
}
@media (max-width: 699px) {
.a2-rv-card{ flex-basis: 88%; padding: 22px 20px 18px; }
.a2-r3-nav{ margin: 0; }
}
.a2-hdr-r .a2-hdr-tel{ background: var(--a2-v4-btn); color: #fff; }
.a2-hdr-r .a2-hdr-tel:hover{ background: var(--a2-v4-btn-h); }
.a2-hdr-r .a2-hdr-tel .a2-hdr-tel-ico svg{ color: #fff !important; }
.a2-q4{ display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 56px; align-items: center; }
.a2-q4-txt{ margin: 0; font-size: .95rem; line-height: 1.75; color: #4D4D4D; }
.a2-q4 .a2-q3{ border: 0; padding: 0; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; background: #FBF9F5; border-radius: 10px; padding: 22px 8px; }
.a2-q4 .a2-q3-i{ padding: 0 10px; gap: 8px; }
.a2-q4 .a2-q3-i img{ height: 58px; }
.a2-q4 .a2-q3-i span{ font-size: .84rem; text-align: center; }
@media (max-width: 1099px) {
.a2-q4{ grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 699px) {
.a2-q4-txt{ font-size: .9rem; line-height: 1.7; }
.a2-q4 .a2-q3{ padding: 16px 4px; }
.a2-q4 .a2-q3-i img{ height: 44px; }
.a2-q4 .a2-q3-i span{ font-size: .76rem; }
}
.a2-q4{ grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 64px; }
.a2-q4 .a2-q3{ display: flex; flex-direction: column; gap: 18px; background: none; padding: 0; border-radius: 0; }
.a2-q4 .a2-q3-i{ flex-direction: row; justify-content: flex-start; gap: 22px; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--a2-v3-line); }
.a2-q4 .a2-q3-i:last-child{ border-bottom: 0; padding-bottom: 0; }
.a2-q4 .a2-q3-i + .a2-q3-i{ border-left: 0; }
.a2-q4 .a2-q3-i img{ height: 92px; width: 150px; object-fit: contain; object-position: left center; }
.a2-q4 .a2-q3-i span{ font-size: 1.05rem; text-align: left; }
@media (max-width: 699px) {
.a2-q4 .a2-q3-i img{ height: 72px; width: 118px; }
.a2-q4 .a2-q3-i span{ font-size: .95rem; }
}
.a2-hdr-r .a2-hdr-tel{ background: #9B7CC7; color: #111; }
.a2-hdr-r .a2-hdr-tel:hover{ background: #8B6BB9; }
.a2-hdr-r .a2-hdr-tel .a2-hdr-tel-ico svg{ color: #111 !important; }
.a2-q4-txt{ font-size: 1.02rem; line-height: 1.8; }
@media (max-width: 699px) {
.a2-q4-txt{ font-size: .92rem; }
}
.a2-hdr-r .a2-hdr-tel{ background: #6FA8DC; color: #111; }
.a2-hdr-r .a2-hdr-tel:hover{ background: #5B97CE; }
@media (max-width: 1099px) {
.a2-q4{ grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 1099px) {
.a2-hdr-r .a2-hdr-tel .a2-hdr-tel-num{ display: none !important; }
}
body.admin-bar .a2-site-header{top:32px}
@media (max-width:782px){body.admin-bar .a2-site-header{top:46px}}
