
@font-face{font-family:'Lexend';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/f-d23291431b.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lexend';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/f-e1e2622800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lexend';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/f-7ef47b4660.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/f-e1b3b5908c.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/f-de69cf9e51.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/f-9367406003.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Layout : colonne éditoriale étroite (68ch) pour la lecture, grilles d'images pleine largeur (1120px) ; beaucoup d'air, aucune carte décorative. */
/* Thème unique, foncé, identique pour tous les visiteurs (ne dépend pas du réglage clair/sombre de l'appareil). */
:root{
  --bg:#0B0B0D; --surface:#161619; --line:#2C2C32;
  --fg:#F6F3F9; --muted:#C3BACF;
  --brand:#55B4E4; --brand-ink:#8FD0EE; --warm:#FF7A52; --chip:#F3F6F7;
  --f-display:"Lexend", "Segoe UI", system-ui, sans-serif;
  --f-body:"Lato", "Helvetica Neue", Arial, sans-serif;
  --wide:1120px; --read:68ch;
  color-scheme:dark;
}
*{ box-sizing:border-box; }
body{ background:var(--bg); color:var(--fg); font-family:var(--f-body); font-size:17px; line-height:1.65; margin:0; padding-inline:20px; }
img{ max-width:100%; display:block; }
a{ color:var(--brand-ink); text-underline-offset:3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:2px solid var(--brand); outline-offset:3px; border-radius:3px; }
h1,h2,h3{ font-family:var(--f-display); font-weight:500; line-height:1.15; text-wrap:balance; margin:0; letter-spacing:-.01em; }
h1{ font-size:clamp(2rem, 4.6vw, 3.3rem); }
h2{ font-size:clamp(1.45rem, 2.6vw, 2rem); }
h3{ font-size:1.15rem; font-weight:500; }
p{ margin:0; }
.wrap{ max-width:var(--wide); margin-inline:auto; }
.read{ max-width:var(--read); }
.eyebrow{ font-family:var(--f-display); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand); }
.lead{ font-size:1.2rem; color:var(--muted); line-height:1.6; }
.stack{ display:flex; flex-direction:column; gap:1rem; }

/* en-tête */
.site-head{ position:sticky; top:env(safe-area-inset-top,0px); z-index:5; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); margin-inline:-20px; padding:10px 20px; }
.site-head .wrap{ display:flex; align-items:center; justify-content:space-between; gap:12px 28px; flex-wrap:wrap; }
.logo{ display:inline-flex; padding:4px 0; }
.logo img{ height:48px; width:auto; }
.nav{ display:flex; flex-wrap:wrap; gap:4px 22px; font-family:var(--f-display); font-size:.92rem; }
.nav a{ color:var(--fg); text-decoration:none; padding:6px 0; border-bottom:2px solid transparent; }
.nav a:hover{ color:var(--brand-ink); }
.nav a[aria-current="page"]{ border-bottom-color:var(--brand); color:var(--brand-ink); }
.nav a.contact{ color:var(--muted); }

/* sections */
main{ display:flex; flex-direction:column; gap:96px; padding-block:56px 96px; }
section{ display:flex; flex-direction:column; gap:28px; }
.page-head{ display:flex; flex-direction:column; gap:18px; }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

/* héros d'accueil */
.hero{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:center; }
.hero .photo{ aspect-ratio:4/3; overflow:hidden; border-radius:4px; }
.hero .photo img{ width:100%; height:100%; object-fit:cover; }
.hero .stack{ gap:22px; }

/* liste de services */
.services{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.svc{ display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; padding:26px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.services .svc:nth-child(odd){ padding-right:28px; }
.services .svc:nth-child(even){ padding-left:28px; border-left:1px solid var(--line); }
.svc img{ width:120px; height:90px; object-fit:cover; border-radius:3px; }
.svc h3{ color:var(--fg); }
.svc p{ color:var(--muted); font-size:.95rem; margin-top:4px; }
.svc .more{ font-family:var(--f-display); font-size:.85rem; color:var(--brand-ink); margin-top:8px; display:inline-block; }
.svc:hover h3{ color:var(--brand-ink); }

/* étapes */
.steps{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; counter-reset:s; }
.steps li{ list-style:none; display:flex; flex-direction:column; gap:6px; padding-top:16px; border-top:2px solid var(--brand); }
.steps li::before{ counter-increment:s; content:"Étape " counter(s); font-family:var(--f-display); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brand); }
.steps p{ color:var(--muted); font-size:.95rem; }
ol.steps{ padding:0; margin:0; }

/* chiffres */
.facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-block:1px solid var(--line); }
.fact{ padding:22px 20px 22px 0; display:flex; flex-direction:column; gap:4px; }
.fact + .fact{ padding-left:20px; border-left:1px solid var(--line); }
.fact b{ font-family:var(--f-display); font-weight:500; font-size:2rem; color:var(--brand-ink); font-variant-numeric:tabular-nums; line-height:1.1; }
.fact span{ font-size:.88rem; color:var(--muted); }

/* deux colonnes texte + image */
.split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.split.flip > :first-child{ order:2; }
.split figure{ margin:0; }
.split img{ width:100%; border-radius:4px; }
figcaption{ font-size:.85rem; color:var(--muted); margin-top:8px; }
ul.ticks{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
ul.ticks li{ padding-left:22px; position:relative; }
ul.ticks li::before{ content:""; position:absolute; left:2px; top:.72em; width:10px; height:2px; background:var(--brand); }

/* gamme produits */
.range{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:48px 40px; }
.model{ display:flex; flex-direction:column; gap:12px; }
.model .ph{ aspect-ratio:4/3; overflow:hidden; border-radius:4px; background:var(--surface); }
.model .ph img{ width:100%; height:100%; object-fit:cover; }
.model .tag{ font-family:var(--f-display); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.model p{ color:var(--muted); font-size:.97rem; }
.specs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); margin-top:4px; }
.specs div{ padding:10px 0; display:flex; flex-direction:column; }
.specs div + div{ padding-left:14px; border-left:1px solid var(--line); }
.specs b{ font-family:var(--f-display); font-weight:500; font-size:1.05rem; font-variant-numeric:tabular-nums; }
.specs span{ font-size:.78rem; color:var(--muted); }
.swatches{ display:flex; flex-wrap:wrap; gap:10px; }
.swatches figure{ margin:0; width:92px; display:flex; flex-direction:column; gap:4px; }
.swatches img{ width:92px; height:44px; object-fit:contain; background:var(--chip); border-radius:4px; padding:4px; }
.swatches figcaption{ margin:0; font-size:.78rem; }

/* encadré */
.note{ background:var(--surface); border-radius:4px; padding:22px 24px; display:flex; flex-direction:column; gap:8px; }
.note h3{ font-size:1.05rem; }
.note p{ color:var(--muted); font-size:.97rem; }

/* tableau */
.table-wrap{ overflow-x:auto; }
table{ border-collapse:collapse; width:100%; font-size:.95rem; font-variant-numeric:tabular-nums; }
th,td{ text-align:left; padding:10px 14px 10px 0; border-bottom:1px solid var(--line); vertical-align:top; }
th{ font-family:var(--f-display); font-weight:500; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
td:first-child{ color:var(--muted); }

/* galerie */
.gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:12px; }
.gallery figure{ margin:0; aspect-ratio:1; overflow:hidden; border-radius:3px; }
.gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery figure:hover img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){ .gallery img{ transition:none; } }

/* contact */
.contact-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.coord{ display:flex; flex-direction:column; gap:22px; }
.coord .row{ display:flex; flex-direction:column; gap:2px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.coord .row span{ font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:var(--f-display); }
.coord .row b{ font-family:var(--f-display); font-weight:500; font-size:1.35rem; user-select:all; }
.coord button{ align-self:flex-start; font:inherit; font-size:.82rem; background:none; border:1px solid var(--line); color:var(--muted); border-radius:3px; padding:3px 10px; cursor:pointer; margin-top:6px; }
.coord button:hover{ color:var(--brand-ink); border-color:var(--brand); }
form{ display:flex; flex-direction:column; gap:16px; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:.88rem; color:var(--muted); }
input, textarea, select{ font:inherit; color:var(--fg); background:var(--bg); border:1px solid var(--line); border-radius:4px; padding:11px 12px; width:100%; }
textarea{ min-height:150px; resize:vertical; }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.btn{ align-self:flex-start; font-family:var(--f-display); font-size:.95rem; background:var(--brand); color:#fff; border:0; border-radius:4px; padding:12px 22px; cursor:pointer; }
:root .btn{ color:#1A1124; }
.form-msg{ font-size:.92rem; color:var(--brand-ink); }

/* pied de page */
.site-foot{ border-top:1px solid var(--line); margin-inline:-20px; padding:36px 20px 44px; color:var(--muted); font-size:.9rem; }
.site-foot .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px 40px; }
.site-foot nav{ display:flex; flex-wrap:wrap; gap:6px 20px; }
.site-foot a{ color:var(--muted); text-decoration:none; }
.site-foot a:hover{ color:var(--brand-ink); }

@media (max-width: 860px){
  main{ gap:72px; padding-block:36px 72px; }
  .hero, .split, .contact-grid{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .split.flip > :first-child{ order:0; }
  .services{ grid-template-columns:minmax(0,1fr); }
  .services .svc:nth-child(odd), .services .svc:nth-child(even){ padding-inline:0; border-left:0; }
  .steps, .facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact:nth-child(3){ padding-left:0; border-left:0; }
  .fact:nth-child(n+3){ border-top:1px solid var(--line); }
}
@media (max-width: 480px){
  body{ font-size:16px; padding-inline:16px; }
  .site-head, .site-foot{ margin-inline:-16px; padding-inline:16px; }
  .svc{ grid-template-columns:84px minmax(0,1fr); gap:14px; }
  .svc img{ width:84px; height:68px; }
  .steps{ grid-template-columns:minmax(0,1fr); }
  .two{ grid-template-columns:minmax(0,1fr); }
  .logo img{ height:32px; }
}

/* ======== v2 : illustrations ======== */
:root{ --cold:#5DADE2; --warm:#FF7A52; --sky-w:#1F2D4D; --sky-s:#3F2B24; --room:#272B49; --th-glass:#3B3550; }

.grad{ background:linear-gradient(90deg,var(--cold),var(--warm)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.small{ font-size:.85rem; color:var(--muted); }

.hero2{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:48px; align-items:start; }
.hero-photo{ aspect-ratio:16/9; border-radius:14px; overflow:hidden; margin-top:6px; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; }

/* thermomètre */
.thermo{ background:var(--surface); border-radius:22px; padding:18px 18px 22px; display:flex; flex-direction:column; gap:14px; }
.thermo-tabs{ display:inline-flex; align-self:flex-start; background:var(--bg); border-radius:999px; padding:4px; gap:4px; }
.thermo-tabs button{ font:inherit; font-family:var(--f-display); font-size:.9rem; border:0; background:none; color:var(--muted); padding:7px 18px; border-radius:999px; cursor:pointer; transition:background .3s, color .3s; }
.thermo[data-season="hiver"] #tab-hiver{ background:var(--cold); color:#fff; }
.thermo[data-season="ete"] #tab-ete{ background:var(--warm); color:#fff; }
.thermo-svg{ width:100%; height:auto; display:block; }
.thermo-svg .sky{ fill:var(--sky-w); transition:fill .8s; }
.thermo[data-season="ete"] .sky{ fill:var(--sky-s); }
.thermo-svg .roof{ fill:var(--line); }
.thermo-svg .room{ fill:var(--room); }
.thermo-svg .wallc{ fill:var(--line); }
.thermo-svg .ground{ stroke:var(--muted); stroke-width:2; }
.thermo-svg .unit, .head-ill .unit{ fill:var(--chip); stroke:var(--muted); stroke-width:1.5; }
.thermo-svg .unit-l, .head-ill .unit-l{ stroke:var(--muted); stroke-width:1.5; }
.thermo-svg .fan, .head-ill .fan{ fill:none; stroke:var(--muted); stroke-width:1.5; }
.thermo-svg .fan-c{ fill:var(--muted); }
.thermo-svg .fan-blades{ transform-origin:152px 274px; animation:spin 2.4s linear infinite; }
.thermo-svg .pipe{ fill:none; stroke:var(--muted); stroke-width:3; stroke-linejoin:round; }
.thermo-svg .tube-glass{ fill:var(--bg); stroke:var(--muted); stroke-width:1.5; }
.thermo-svg #mercury{ transition:y 1s ease, height 1s ease; }
.thermo-svg .bulb{ fill:var(--cold); stroke:var(--muted); stroke-width:1.5; transition:fill 1s; }
.thermo[data-season="ete"] .bulb{ fill:var(--warm); }
.thermo-svg .ticks line{ stroke:var(--muted); stroke-width:1.2; }
.thermo-svg .ticks text{ font:12px var(--f-body); fill:var(--muted); }
.thermo-svg .lbl-s, .head-ill .lbl-s{ font:13px var(--f-display); fill:var(--muted); letter-spacing:.04em; }
.thermo-svg .t-out{ font:600 22px var(--f-display); fill:var(--fg); }
.thermo-svg .t-in{ font:600 24px var(--f-display); fill:var(--fg); }
.flow{ fill:none; stroke-width:3; stroke-linecap:round; stroke-dasharray:6 7; animation:dash 1.2s linear infinite; }
.flow.warm{ stroke:var(--warm); } .flow.cold{ stroke:var(--cold); }
.thermo .summer-only{ opacity:0; transition:opacity .6s; } .thermo .winter-only{ opacity:1; transition:opacity .6s; }
.thermo[data-season="ete"] .summer-only{ opacity:1; } .thermo[data-season="ete"] .winter-only{ opacity:0; }
.thermo-read{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; }
.thermo-read .k{ font-family:var(--f-display); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cold); }
.thermo[data-season="ete"] .thermo-read .k{ color:var(--warm); }
.thermo-read p{ font-size:.95rem; color:var(--muted); margin-top:4px; }
.ratio{ text-align:right; }
.ratio b{ display:block; font-family:var(--f-display); font-weight:500; font-size:2rem; line-height:1; font-variant-numeric:tabular-nums; color:var(--fg); }
.ratio span{ font-size:.75rem; color:var(--muted); }
@keyframes dash{ to{ stroke-dashoffset:-26; } }
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .flow, .thermo-svg .fan-blades{ animation:none; } }

/* comparatif */
.conso{ display:flex; flex-direction:column; gap:14px; }
.crow{ display:grid; grid-template-columns:minmax(0,15rem) minmax(0,1fr) 6.5rem; gap:16px; align-items:center; }
.cname{ font-family:var(--f-display); font-size:.95rem; line-height:1.3; }
.cname span{ display:block; font-family:var(--f-body); font-size:.8rem; color:var(--muted); }
.ctrack{ height:26px; background:var(--surface); border-radius:6px; overflow:hidden; }
.bar-e{ height:100%; background:var(--muted); opacity:.55; border-radius:6px; }
.bar-p{ height:100%; background:linear-gradient(90deg,var(--cold),var(--brand)); border-radius:6px; }
.cval{ font-family:var(--f-display); font-variant-numeric:tabular-nums; text-align:right; }

/* domaines */
.svc-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.svc2{ display:flex; flex-direction:column; gap:10px; padding:22px; border-radius:16px; background:var(--surface); text-decoration:none; color:inherit; transition:transform .25s; }
.svc2:hover{ transform:translateY(-3px); }
.svc2 h3{ color:var(--fg); }
.svc2 p{ font-size:.93rem; color:var(--muted); flex:1; }
.svc2 .more{ font-family:var(--f-display); font-size:.85rem; color:var(--brand-ink); }
.ico{ width:52px; height:52px; fill:none; stroke:var(--fg); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.ico .w, .sico .w{ stroke:var(--warm); } .ico .c, .sico .c{ stroke:var(--cold); }

/* étapes */
.steps2{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:0; counter-reset:s; }
.steps2 li{ list-style:none; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px 14px; }
.steps2 li::before{ counter-increment:s; content:counter(s); font-family:var(--f-display); font-size:2.6rem; line-height:1; color:var(--line); font-variant-numeric:tabular-nums; }
.steps2 li > :not(.sico){ grid-column:1 / -1; }
.steps2 p{ font-size:.94rem; color:var(--muted); }
.sico{ width:44px; height:44px; fill:none; stroke:var(--brand); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* en-têtes illustrés */
.page-hero{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:40px; align-items:center; }
.head-ill{ width:100%; height:auto; }
.head-ill .ill-bg{ fill:var(--surface); }
.head-ill .cap{ fill:var(--fg); opacity:.85; }
.head-ill .water{ fill:url(#none); fill:var(--warm); opacity:.18; }
.head-ill .radiator{ fill:var(--chip); stroke:var(--muted); stroke-width:1.5; }
.head-ill .rad-fins line{ stroke:var(--muted); stroke-width:1.2; }
.head-ill .pipe-w{ fill:none; stroke:var(--warm); stroke-width:4; }
.head-ill .pipe-c{ fill:none; stroke:var(--cold); stroke-width:4; }
.head-ill .filter rect{ fill:none; stroke:var(--muted); stroke-width:1.5; } .head-ill .filter line{ stroke:var(--line); stroke-width:1.2; }

/* arrondis v2 */
.split img, .model .ph, .gallery figure, .note, .hero .photo{ border-radius:14px; }

@media (max-width: 960px){
  .hero2, .page-hero{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .svc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
  .svc-grid, .steps2{ grid-template-columns:minmax(0,1fr); }
  .hero-photo{ display:none; }
  .crow{ grid-template-columns:minmax(0,1fr) auto; }
  .crow .ctrack{ grid-column:1 / -1; grid-row:2; }
  .thermo-read{ grid-template-columns:minmax(0,1fr); }
  .ratio{ text-align:left; }
}
.thermo-svg .merc{ fill:var(--cold); transition:y 1s ease, height 1s ease, fill 1s; }
.thermo[data-season="ete"] .merc{ fill:var(--warm); }

/* ======== héros console interactif ======== */
.ch-hero{ display:flex; flex-direction:column; gap:26px; }
.ch-intro{ display:flex; flex-direction:column; gap:14px; max-width:760px; }
.ch-intro h1, .ch-intro h2{ font-size:clamp(1.9rem,4vw,3rem); }
.ch-card{ display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); background:var(--surface); border-radius:22px; overflow:hidden; }
.ch-svg{ width:100%; height:auto; display:block; touch-action:none; user-select:none; }
.ch-svg .sky-cold{ fill:var(--sky-w); } .ch-svg .sky-hot{ fill:var(--sky-s); transition:opacity .3s; }
.ch-svg .wall{ fill:var(--room); } .ch-svg .wallside{ fill:var(--line); }
.ch-svg .floor{ fill:var(--line); } .ch-svg .floorline{ stroke:var(--muted); stroke-width:2; }
.ch-svg .win-frame{ fill:var(--chip); stroke:var(--muted); stroke-width:1.5; } .ch-svg .win-bar{ stroke:var(--muted); stroke-width:2; }
.ch-svg .lbl{ font:300 22px var(--f-display); fill:var(--fg); letter-spacing:-.005em; }
.ch-svg .tin{ font:500 26px var(--f-display); fill:var(--fg); }
.ch-svg .flows{ transition:opacity .35s; }
.ch-svg .flow{ stroke-width:3.5; }
.ch-svg .c-body{ fill:#FFFFFF; filter:drop-shadow(0 2px 8px rgba(20,30,40,.26)); }
.ch-svg .c-grille{ fill:#D9E1E5; } .ch-svg .c-line{ stroke:#D9E1E5; stroke-width:1.5; }
.ch-svg .c-led{ fill:var(--cold); } .ch[data-mode="chaud"] .c-led, .ch-card[data-mode="chaud"] .c-led{ fill:var(--warm); }
.ch-svg .th{ filter:drop-shadow(0 3px 7px rgba(20,30,40,.14)); }
.ch-svg .tube{ fill:var(--th-glass,#fff); }
.ch-svg .th-track{ fill:var(--fg); opacity:.09; }
.ch-svg .merc{ fill:var(--cold); transition:fill .3s; }
.ch-svg .bulb{ fill:var(--cold); transition:fill .3s; }
.ch-card[data-mode="froid"] .merc, .ch-card[data-mode="froid"] .bulb{ fill:var(--warm); }
.ch-card[data-mode="neutre"] .merc, .ch-card[data-mode="neutre"] .bulb{ fill:var(--brand); }
.ch-svg .ticks line{ stroke:var(--muted); stroke-width:1.2; stroke-linecap:round; opacity:.7; } .ch-svg .ticks text{ font:400 12px var(--f-display); fill:var(--muted); }
.ch-svg .knob{ cursor:grab; outline:none; }
.ch-svg .knob-b{ fill:var(--fg); }
.ch-svg .knob path{ fill:none; stroke:var(--bg); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ch-svg .knob:focus-visible .knob-b{ stroke:var(--brand); stroke-width:4; }
.ch-svg .hit{ cursor:grab; }
.ch-svg .knob-h{ fill:none; stroke:var(--brand); stroke-width:0; opacity:0; }
.ch-hint .knob-h{ animation:knob-h 1.9s ease-out infinite; }
@keyframes knob-h{ 0%{ stroke-width:0; opacity:.55; } 70%,100%{ stroke-width:16; opacity:0; } }
@media (prefers-reduced-motion: reduce){ .ch-hint .knob-h{ animation:none; stroke-width:5; opacity:.35; } }
.ch-read{ padding:24px 26px 20px; display:flex; flex-direction:column; gap:12px; border-left:1px solid var(--line); }
.ch-temp b{ font-family:var(--f-display); font-weight:500; font-size:2.8rem; line-height:1; font-variant-numeric:tabular-nums; } .ch-temp b .tn{ display:inline-block; width:.6em; text-align:center; font-style:normal; }
.ch-temp span{ display:block; color:var(--muted); font-size:.85rem; margin-top:4px; }
.ch-mode{ align-self:flex-start; font-family:var(--f-display); font-size:.85rem; color:#fff; border-radius:999px; padding:5px 14px; background:var(--cold); transition:background .3s; }
.ch-card[data-mode="chaud"] .ch-mode{ background:var(--warm); }
.ch-card[data-mode="neutre"] .ch-mode{ background:var(--brand); }
.ch-read p{ color:var(--muted); font-size:.97rem; }
.ch-perf{ border-top:1px solid var(--line); padding-top:14px; margin-top:auto; }
.ch-perf b{ display:block; font-family:var(--f-display); font-weight:500; font-size:1.6rem; }
.ch-perf > span{ font-size:.82rem; color:var(--muted); }
.ch-read .ch-hint{ font-size:.8rem; }
@media (max-width: 900px){
  .ch-card{ grid-template-columns:minmax(0,1fr); }
  .ch-read{ border-left:0; border-top:1px solid var(--line); }
}

.ch-svg{ height:100%; }
@media (max-width: 560px){
  .nav{ flex-wrap:nowrap; overflow-x:auto; width:100%; gap:18px; scrollbar-width:none; }
  .nav::-webkit-scrollbar{ display:none; }
  .nav a{ white-space:nowrap; }
  .site-head .wrap{ gap:6px; }
  .ch-svg{ height:auto; }
}
.ch-svg .wallcut{ fill:color-mix(in srgb, var(--fg) 52%, var(--bg)); }
.ch-svg .ceil{ fill:var(--line); }
.ch-svg .glass{ fill:color-mix(in srgb, var(--cold) 55%, #fff); }
.ch-svg .w-frame{ fill:var(--fg); }
.ch-svg .sill{ fill:var(--fg); }
.ch-svg .f-sofa{ fill:#7F93A1; } .ch-svg .f-sofa2{ fill:#9DB0BC; } .ch-svg .f-pil{ fill:#E9C9A8; }
.ch-svg .f-leg{ fill:#33424C; } .ch-svg .f-wood{ fill:#CDA57C; } .ch-svg .f-wood2{ fill:#B58C63; }
.ch-svg .f-leaf{ fill:#5E9070; } .ch-svg .f-leaf2{ fill:#47775A; } .ch-svg .f-pot{ fill:#FFFFFF; }
.ch-svg .f-bk1{ fill:#7F93A1; } .ch-svg .f-bk2{ fill:var(--brand); } .ch-svg .f-bk3{ fill:#E9C9A8; }
.ch-svg .f-shade{ fill:#FFF3D6; } .ch-svg .f-frame{ fill:#FFFFFF; } .ch-svg .f-art{ fill:#DCE6EC; } .ch-svg .f-art2{ fill:#9DB0BC; }
.ch-svg .c-out{ stroke:#9AA8B1; stroke-width:2; }
.ch-svg .flow.soft{ opacity:.55; }





/* ======== simulateur v2 ======== */
:root{ --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4; --ins:#F2C14E; --pv:#1F3B57; --on-brand:#FFFFFF; }
:root{ --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --ins:#B8902F; --pv:#9EC3E6; --on-brand:#1A1124; }
.simhead{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; }
.simhead h1{ font-size:clamp(1.4rem,2.4vw,1.9rem); }
.simhead p{ color:var(--muted); font-size:.95rem; }
main:has(.sim2){ gap:56px; padding-block:20px 80px; }
.sim2{ display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.25fr); gap:28px; align-items:start; }
.sim-left{ display:flex; flex-direction:column; gap:12px; background:var(--surface); border-radius:20px; padding:16px 20px 20px; }
.sim-right{ position:sticky; top:calc(env(safe-area-inset-top,0px) + 84px); display:flex; flex-direction:column; gap:10px; align-self:start; }
.sim-disc{ margin:4px 0 0; color:var(--muted); font-size:.78rem; line-height:1.45; }

.scene{ width:100%; height:auto; max-height:170px; display:block; }
.scene .gl{ stroke:var(--muted); stroke-width:1.5; }
.scene .roof{ fill:var(--line); }
.scene .ins{ stroke:var(--muted); stroke-width:1; }
.scene .ins-bg{ fill:var(--ins); } .scene .ins-ln{ stroke:var(--bg); stroke-width:1.2; }
.scene .inside{ fill:var(--bg); transition:all .3s; }
.scene .plan{ fill:var(--brand); opacity:.18; stroke:var(--brand); stroke-width:1.5; stroke-dasharray:4 3; transition:all .25s; }
.scene .plan-t{ font:600 12px var(--f-display); fill:var(--brand-ink); }
.scene .loss path{ fill:none; stroke:var(--warm); stroke-width:2; stroke-linecap:round; }
.scene .loss{ transition:opacity .3s; }
.scene .pvg{ opacity:0; transform:translateY(-6px); transition:opacity .25s, transform .25s; }
.scene .pvg.on{ opacity:1; transform:none; }
.scene .pv{ fill:var(--pv); stroke:var(--bg); stroke-width:.6; }
.scene .u{ fill:var(--chip); stroke:var(--muted); } .scene .uf{ fill:none; stroke:var(--muted); }
@media (prefers-reduced-motion: reduce){ .scene *{ transition:none !important; } }

.ctl{ display:flex; flex-direction:column; gap:4px; }
.ctl-h{ display:flex; align-items:center; gap:8px; }
.ctl-h label{ font-family:var(--f-display); font-size:.92rem; flex:1; }
.ctl-h output{ font-family:var(--f-display); font-size:.9rem; color:var(--brand-ink); font-variant-numeric:tabular-nums; }
.ctl-ico svg, .chip-row svg{ width:22px; height:22px; fill:none; stroke:var(--fg); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; display:block; }
.ctl input[type=range]{ width:100%; accent-color:var(--brand); padding:0; border:0; background:none; margin:0; }
.conso-row{ display:grid; grid-template-columns:minmax(0,1fr) 7rem; gap:6px; }
.conso-row input, .conso-row select{ padding:8px 10px; font-variant-numeric:tabular-nums; }
.conso-hint{ font-size:.74rem; color:var(--muted); line-height:1.4; }
.conso-hint b{ color:var(--fg); }
.ticks4{ display:flex; justify-content:space-between; font-size:.72rem; color:var(--muted); }
.i-w{ stroke:var(--warm) !important; } .i-c{ stroke:var(--cold) !important; } .i-l{ fill:var(--bg); }

.chips{ border:0; padding:0; margin:0; }
.chips legend{ font-family:var(--f-display); font-size:.92rem; padding:0; margin-bottom:6px; }
.chip-row{ display:grid; gap:6px; position:relative; }
.chip-row.c2{ grid-template-columns:1fr 1fr; } .chip-row.c3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.chip-row input{ position:absolute; opacity:0; width:1px; height:1px; left:0; top:0; margin:0; }
.chip-row label{ display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; column-gap:8px; align-items:center; padding:8px 10px; border-radius:12px; border:1.5px solid var(--line); background:var(--bg); cursor:pointer; }
.chip-row label svg{ grid-row:span 2; }
.chip-row label b{ font-family:var(--f-display); font-weight:500; font-size:.88rem; line-height:1.2; }
.chip-row label span{ font-size:.72rem; color:var(--muted); line-height:1.2; }
.chip-row input:checked + label{ border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); }
.chip-row input:focus-visible + label{ outline:2px solid var(--brand); outline-offset:2px; }

.tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.tiles div{ background:var(--surface); border-radius:12px; padding:10px 12px; display:flex; flex-direction:column; gap:2px; }
.tiles span{ font-size:.74rem; color:var(--muted); }
.tiles b{ font-family:var(--f-display); font-weight:500; font-size:1.25rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tiles .hl{ background:var(--brand); } .tiles .hl span, .tiles .hl b{ color:var(--on-brand); }
.formula{ font-size:.8rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.formula b{ color:var(--fg); font-weight:700; }
.legend{ display:flex; flex-wrap:wrap; gap:4px 18px; font-size:.86rem; }
.lg{ display:inline-flex; align-items:center; gap:6px; } .lg em{ font-style:normal; color:var(--muted); }
.sw{ display:inline-block; width:16px; height:4px; border-radius:2px; }
.sw.s1{ background:var(--s1); } .sw.s2{ background:var(--s2); } .sw.s3{ background:var(--s3); } .sw.s4{ background:var(--s4); } .sw.s5{ background:var(--s5); }
.chart-wrap{ position:relative; width:100%; }
#chart{ display:block; width:100%; height:auto; touch-action:pan-y; }
#chart .grid{ stroke:var(--line); stroke-width:1; }
#chart .ax{ font:11.5px var(--f-body); fill:var(--muted); font-variant-numeric:tabular-nums; }
#chart .ln{ fill:none; stroke-width:3; stroke-linejoin:round; stroke-linecap:round; }
#chart .ln.s1{ stroke:var(--s1); } #chart .ln.s2{ stroke:var(--s2); } #chart .ln.s3{ stroke:var(--s3); } #chart .ln.s4{ stroke:var(--s4); } #chart .ln.s5{ stroke:var(--s5); }
#chart .dot{ stroke:var(--bg); stroke-width:2; }
#chart .dot.s1, #chart .gain.s1{ fill:var(--s1); } #chart .dot.s2{ fill:var(--s2); } #chart .dot.s3, #chart .gain.s3{ fill:var(--s3); } #chart .dot.s4{ fill:var(--s4); } #chart .dot.s5, #chart .gain.s5{ fill:var(--s5); }
#chart .gain{ opacity:.16; }
#chart .roi{ stroke:var(--fg); stroke-width:1; stroke-dasharray:3 4; }
#chart .roi-dot{ fill:var(--bg); stroke:var(--fg); stroke-width:2; }
#chart .roi-t{ font:600 12.5px var(--f-display); fill:var(--fg); }
#chart .xh{ stroke:var(--muted); stroke-width:1; }
.tip{ position:absolute; top:6px; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:.8rem; box-shadow:0 6px 20px rgba(0,0,0,.12); pointer-events:none; min-width:240px; }
.tip .th{ font-family:var(--f-display); margin-bottom:6px; }
.tip .tr{ display:grid; grid-template-columns:16px minmax(0,1fr) auto; gap:8px; align-items:center; }
.tip .tr b{ font-variant-numeric:tabular-nums; }
.tip .tot{ border-top:1px solid var(--line); margin-top:4px; padding-top:4px; font-weight:700; }
.under{ display:flex; flex-wrap:wrap; gap:8px 24px; align-items:baseline; }
.link-btn{ font:inherit; font-size:.85rem; background:none; border:0; color:var(--brand-ink); cursor:pointer; text-decoration:underline; text-underline-offset:3px; padding:0; }
.hyp{ flex:1; min-width:240px; } .hyp summary{ cursor:pointer; font-size:.85rem; color:var(--muted); }
.hyp-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:10px 0; }
.hyp-grid input{ padding:7px 9px; } .hyp-grid label{ font-size:.75rem; }
.know-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
.know-grid article{ display:flex; flex-direction:column; gap:8px; padding-top:16px; border-top:2px solid var(--brand); }
.know-grid p{ color:var(--muted); }

@media (max-width: 900px){
  .sim2{ grid-template-columns:minmax(0,1fr); }
  .sim-right{ position:static; order:-1; background:var(--bg); padding-block:8px; border-bottom:1px solid var(--line); margin-inline:-20px; padding-inline:20px; }
  .formula, .under, .legend em{ display:none; }
  .tiles b{ font-size:1.05rem; }
  .hyp-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px){
  .sim-right{ margin-inline:-16px; padding-inline:16px; }
  .tiles{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .tiles div{ padding:7px 7px; } .tiles span{ font-size:.64rem; } .tiles b{ font-size:.9rem; }
  .chip-row.c3{ grid-template-columns:minmax(0,1fr); }
  .know-grid{ grid-template-columns:minmax(0,1fr); }
  .scene{ max-height:150px; }
}
/* comparatif radiateur */
.ch-cmp{ display:inline-flex; align-self:flex-start; background:var(--surface); border-radius:999px; padding:4px; gap:4px; margin-bottom:-12px; }
.ch-cmp button{ font:inherit; font-family:var(--f-display); font-size:.92rem; border:0; background:none; color:var(--muted); padding:8px 18px; border-radius:999px; cursor:pointer; }
.ch-cmp button[aria-selected="true"]{ background:var(--fg); color:var(--bg); }
.ch-svg .r-body{ fill:#FFFFFF; filter:drop-shadow(0 2px 8px rgba(20,30,40,.26)); } .ch-svg .r-fin{ stroke:var(--line); stroke-width:1.5; } .ch-svg .r-foot{ fill:var(--muted); }
.ch-svg .strat{ transition:opacity .3s; } .ch-svg .strat text{ font:600 14px var(--f-display); fill:#fff; } .ch-svg .strat .st-l{ font:12px var(--f-body); fill:var(--muted); }
.ch-svg .st-hot{ fill:var(--warm); } .ch-svg .st-cold{ fill:var(--cold); }
.ch-card[data-dev="pac"] .st-cold{ fill:var(--warm); opacity:.85; }
.ch-card[data-dev="rad"][data-mode="froid"] .ch-mode{ background:var(--muted); }
.ch-read{ justify-content:center; gap:10px; }
.ch-read p{ font-size:1.05rem; color:var(--fg); height:3.2em; min-height:3.2em; margin:0; overflow:hidden; } .ch-perf > span{ height:3.75em; min-height:3.75em; overflow:hidden; } .ch-perf{ height:calc(74px + 4px + 2.2rem + 3.75em); }
.ch-perf b{ font-size:2.2rem; } .ch-perf b small{ font-size:.42em; font-weight:400; letter-spacing:.01em; } .ch-acro{ display:block; width:100%; height:74px; margin:0 0 2px auto; } .ch-perf{ min-width:240px; } .ch-acro{ position:relative; } .ch-acro>*{ position:absolute; right:0; bottom:0; width:100%; opacity:0; transition:opacity .45s ease; pointer-events:none; }
.ch-acro .acro{ display:flex; flex-direction:column; align-items:flex-end; gap:3px; text-align:right; }
.ch-acro .acro b{ font-family:var(--f-display); font-weight:600; font-size:1.15rem; line-height:1.1; letter-spacing:.08em; color:var(--brand-ink); }
.ch-acro .acro small{ font-size:.74rem; line-height:1.3; color:var(--muted); letter-spacing:.01em; max-width:100%; text-wrap:balance; }
.ch-acro .acro small i{ font-style:normal; font-weight:700; color:var(--brand-ink); } .ch-card[data-acro=scop] #acro-scop, .ch-card[data-acro=seer] #acro-seer, .ch-card[data-acro=rd] #acro-rd{ opacity:1; } @keyframes ch-sw{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } } .ch-perf .ch-fade{ animation:ch-sw .45s ease; } @media (prefers-reduced-motion:reduce){ .ch-acro>*{ transition:none; } .ch-perf .ch-fade{ animation:none; } } 
.ch-intro h1, .ch-intro h2{ font-size:clamp(1.7rem,3.4vw,2.6rem); }
.svc2{ gap:8px; }

/* ======== schéma air/air : circuit frigorifique ======== */
:root{ --hg:#D7263D; --hl:#F08A24; --bl:#5FB4EA; --bg2:#2E6FD8; --glass:#F4FAFD; --edge:#8FA3AE; }
:root{ --hg:#FF5A6E; --hl:#FFA64D; --bl:#8ACCF7; --bg2:#5B95F0; --glass:#22323B; --edge:#6E8591; }
.aa-sim{ background:var(--surface); border-radius:20px; overflow:hidden; }
.aa-svg{ width:100%; height:auto; display:block; }
.aa-sky{ fill:var(--sky-w); transition:fill .4s; } .aa-sim[data-mode="froid"] .aa-sky{ fill:var(--sky-s); }
.aa-snow{ stroke:var(--cold); stroke-width:1.4; stroke-linecap:round; opacity:0; transition:opacity .3s; } .aa-sim[data-mode="chaud"] .aa-snow{ opacity:1; }
.aa-sun circle{ fill:var(--warm); } .aa-sun{ opacity:0; transition:opacity .3s; } .aa-sim[data-mode="froid"] .aa-sun{ opacity:1; }
.aa-roof{ fill:var(--line); } .aa-wall{ fill:var(--muted); opacity:.5; }
.aa-room{ fill:var(--room); stroke:var(--line); stroke-width:2; transition:fill .4s; }
.aa-sim[data-mode="chaud"] .aa-room{ fill:color-mix(in srgb, var(--warm) 10%, var(--room)); }
.aa-sim[data-mode="froid"] .aa-room{ fill:color-mix(in srgb, var(--cold) 10%, var(--room)); }
.aa-rn{ font:12px var(--f-display); fill:var(--muted); }
.aa-ground{ stroke:var(--muted); stroke-width:2; }
.aa-unit{ fill:#fff; stroke:var(--muted); stroke-width:1.4; }
.aa-ou{ fill:#fff; fill-opacity:.55; stroke:var(--muted); stroke-width:1.6; }
.aa-fan{ fill:none; stroke:var(--edge); stroke-width:1.4; opacity:.7; }
.aa-hub{ fill:var(--edge); }
.aa-blades{ fill:none; stroke:var(--edge); stroke-width:3; opacity:.6; transform-origin:49px 298px; animation:spin 1.6s linear infinite; }
.aa-comp{ fill:#3A4650; } .aa-v4v{ fill:#5B6B76; }
.aa-eev{ fill:#5B6B76; } .aa-eev-s{ stroke:#5B6B76; stroke-width:1.5; }
.aa-lb{ font:600 10.5px var(--f-display); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.aa-phase{ font:700 13px var(--f-display); paint-order:stroke; stroke:var(--bg); stroke-width:3.5px; }
.aa-sim[data-mode="chaud"] #ph-out, .aa-sim[data-mode="froid"] #ph-in{ fill:var(--bg2); }
.aa-sim[data-mode="chaud"] #ph-in, .aa-sim[data-mode="froid"] #ph-out{ fill:var(--hg); }
.aa-cap{ font:12px var(--f-display); fill:var(--muted); }
.aa-blow path, .aa-air path{ fill:none; stroke-width:2.5; stroke-dasharray:5 7; stroke-linecap:round; animation:tflow 1.2s linear infinite; }
.aa-sim[data-mode="chaud"] .aa-blow path{ stroke:var(--warm); } .aa-sim[data-mode="froid"] .aa-blow path{ stroke:var(--cold); }
.aa-sim[data-mode="chaud"] .aa-air path{ stroke:var(--cold); } .aa-sim[data-mode="froid"] .aa-air path{ stroke:var(--warm); animation-direction:reverse; }
.aa-sim[data-mode="veille"] .aa-blow, .aa-sim[data-mode="veille"] .aa-air{ opacity:0; }
.aa-sim[data-mode="veille"] .aa-blades{ animation:none; }
@keyframes tflow{ to{ stroke-dashoffset:-24; } }
.tube path{ fill:none; stroke-linejoin:round; stroke-linecap:butt; }
.tube.gas{ --w:10px; } .tube.liq{ --w:6px; } .tube.gas2{ --w:8px; } .tube.liq2{ --w:5px; } .tube.coil{ --w:6px; } .tube.coil[data-r^="oc"]{ --w:5px; }
.tube .t-edge{ stroke:var(--edge); stroke-width:calc(var(--w) + 2px); opacity:.6; }
.tube .t-glass{ stroke:var(--glass); stroke-width:var(--w); opacity:.9; }
.tube .t-shine{ stroke:#fff; stroke-width:1px; opacity:.5; transform:translate(-1.2px,-1.2px); }
.tube .t-fluid{ stroke-width:calc(var(--w) - 2px); stroke:transparent; transition:stroke .4s, opacity .4s; }
.tube .t-flow{ stroke:transparent; stroke-linecap:round; animation:tflow 1.3s linear infinite; }
.tube.rev .t-flow{ animation-direction:reverse; }
.tube .t-fluid{ stroke-width:var(--w); }
/* gaz : tube teinté et translucide, léger reflet qui avance */
.st-hg .t-fluid{ stroke:var(--hg); opacity:.22; }
.st-bg .t-fluid{ stroke:var(--bg2); opacity:.22; }
.st-hg .t-flow, .st-bg .t-flow, .st-hl .t-flow{ stroke:#fff; stroke-width:1.3px; opacity:.7; stroke-dasharray:3 21; }
/* liquide : tube plein */
.st-hl .t-fluid{ stroke:var(--hl); opacity:1; }
/* condensation : des bouchons de liquide se forment dans le gaz */
.st-hm .t-fluid{ stroke:var(--hg); opacity:.22; }
.st-hm .t-flow{ stroke:var(--hl); stroke-width:calc(var(--w) - 1px); stroke-linecap:butt; stroke-dasharray:16 8; }
/* mélange basse pression : bouchons de liquide séparés par du gaz */
.st-bm .t-fluid{ stroke:var(--bg2); opacity:.2; }
.st-bm .t-flow{ stroke:var(--bl); stroke-width:calc(var(--w) - 1px); stroke-linecap:butt; stroke-dasharray:14 10; }
/* évaporation : le liquide disparaît */
.st-be .t-fluid{ stroke:var(--bg2); opacity:.22; }
.st-be .t-flow{ stroke:var(--bl); stroke-width:calc(var(--w) - 1px); stroke-linecap:butt; stroke-dasharray:4 8; }
.st-off .t-flow{ animation:none; }
.aa-leg{ display:flex; flex-wrap:wrap; gap:6px 22px; padding:12px 22px; border-top:1px solid var(--line); font-size:.82rem; }
.aa-leg span{ display:inline-flex; align-items:center; gap:8px; }
.aa-leg i{ display:inline-block; width:30px; height:10px; border-radius:5px; border:1px solid var(--edge); }
.lg-hg i{ background:color-mix(in srgb, var(--hg) 25%, var(--glass)); }
.lg-hl i{ background:var(--hl); }
.lg-bm i{ background:repeating-linear-gradient(90deg, var(--bl) 0 7px, color-mix(in srgb, var(--bg2) 22%, var(--glass)) 7px 12px); }
.lg-bg i{ background:color-mix(in srgb, var(--bg2) 25%, var(--glass)); }
.aa-sim[data-mode="veille"] .aa-leg{ opacity:.4; }
.aa-bar{ display:grid; grid-template-columns:auto minmax(0,1fr) minmax(0,1.3fr); gap:20px; align-items:center; padding:16px 22px 20px; border-top:1px solid var(--line); }
.aa-t{ display:flex; flex-direction:column; }
.aa-t label{ font-size:.8rem; color:var(--muted); }
.aa-t output{ font-family:var(--f-display); font-size:2rem; line-height:1; font-variant-numeric:tabular-nums; min-width:5.5rem; }
.aa-bar input[type=range]{ width:100%; accent-color:var(--brand); padding:0; border:0; background:none; }
.aa-res{ display:flex; flex-direction:column; gap:6px; }
.aa-mode{ align-self:flex-start; font-family:var(--f-display); font-size:.82rem; color:#fff; border-radius:999px; padding:3px 12px; background:var(--muted); }
.aa-sim[data-mode="chaud"] .aa-mode{ background:var(--warm); } .aa-sim[data-mode="froid"] .aa-mode{ background:var(--cold); }
.aa-row{ display:flex; height:26px; border-radius:6px; overflow:hidden; font-size:.74rem; }
.aa-row span{ display:flex; align-items:center; padding:0 8px; white-space:nowrap; overflow:hidden; color:#fff; }
.aa-row .e{ background:#E8A33D; color:#1b1b1b; } .aa-row .a, .aa-row .c{ background:var(--cold); }
.aa-sum{ font-size:.9rem; color:var(--muted); } .aa-sum b{ color:var(--fg); font-family:var(--f-display); font-weight:500; font-size:1.1rem; }
@media (prefers-reduced-motion: reduce){ .t-flow, .aa-blow path, .aa-air path, .aa-blades{ animation:none !important; } }
@media (max-width: 760px){ .aa-bar{ grid-template-columns:auto minmax(0,1fr); } .aa-res{ grid-column:1 / -1; } }

/* vanne 4 voies : tiroir mobile */
.v4-body{ fill:var(--glass); stroke:#5B6B76; stroke-width:2.5; }
.v4-hot{ fill:var(--hg); opacity:.25; }
.v4-cup{ fill:color-mix(in srgb, var(--bg2) 45%, var(--glass)); stroke:#1E2A33; stroke-width:3; }
.v4-slide{ transition:transform .9s cubic-bezier(.6,0,.3,1); }
.aa-sim[data-mode="froid"] .v4-slide{ transform:translateX(25px); }
.aa-sim[data-mode="veille"] .v4-hot{ opacity:.06; }
@media (prefers-reduced-motion: reduce){ .v4-slide{ transition:none; } }

/* échange de chaleur : du plus chaud vers le plus froid */
.hx{ transition:opacity .3s; }
.hx-p{ stroke:none; }
#hx-l{ fill:var(--warm); } #hx-r{ fill:var(--cold); }
.hx-t{ font:700 12.5px var(--f-display); fill:#fff; }
.hx-s{ font:11px var(--f-body); fill:#fff; opacity:.9; }
.hx-c{ fill:var(--fg); opacity:1; font-weight:700; font-size:10px; }
.hx-ar{ stroke:var(--fg); stroke-width:2.5; fill:none; }
.hx-mk{ fill:var(--fg); }
.aa-sim #ph-out{ fill:var(--fg) !important; font-size:12px; }

/* minimaliste */
.aa-roof{ fill:none; stroke:var(--line); stroke-width:2; }
.aa-lb{ font:500 10px var(--f-display); fill:var(--muted); }
.hx-t{ font:600 12px var(--f-display); }
.aa-phase{ font:600 12px var(--f-display); }
.aa-leg{ font-size:.78rem; color:var(--muted); padding:10px 22px; }
.aa-row{ height:18px; }
.tube .t-shine{ display:none; }
.aa-ou{ fill:#fff; fill-opacity:.5; }
.aa-room{ stroke-width:1.5; }
.aa-grille{ fill:#D9E1E5; }
.aa-sim[data-mode="froid"] .aa-floor{ opacity:0; }

/* différence liquide / gaz */
.aa-tag{ font:600 10px var(--f-display); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.st-hg .t-fluid, .st-bg .t-fluid{ opacity:.1; }
.st-hg .t-flow{ stroke:var(--hg); stroke-width:1.3px; opacity:.9; stroke-dasharray:14 10; stroke-linecap:round; }
.st-bg .t-flow{ stroke:var(--bg2); stroke-width:1.3px; opacity:.9; stroke-dasharray:14 10; stroke-linecap:round; }
.st-hl .t-edge{ stroke:color-mix(in srgb, var(--hl) 70%, #000); opacity:1; }
.st-hl .t-glass{ stroke:var(--hl); opacity:1; }
.st-hl .t-fluid{ stroke:var(--hl); opacity:1; }
.st-hl .t-flow{ stroke:#fff; stroke-width:1.2px; opacity:.55; stroke-dasharray:10 14; }
.lg-hg i{ background:linear-gradient(var(--glass),var(--glass)) ; border-color:var(--edge); position:relative; }
.lg-hg i::after, .lg-bg i::after{ content:""; position:absolute; left:3px; right:3px; top:3.5px; height:1.3px; background:repeating-linear-gradient(90deg, var(--hg) 0 7px, transparent 7px 12px); }
.lg-bg i::after{ background:repeating-linear-gradient(90deg, var(--bg2) 0 7px, transparent 7px 12px); }
.lg-bg i{ background:var(--glass); position:relative; }
.lg-hl i{ background:var(--hl); border-color:color-mix(in srgb, var(--hl) 70%, #000); height:7px; }

/* gaz = petites bulles, liquide = tube plein */
.st-hg .t-flow, .st-bg .t-flow{ stroke-width:4.6px; stroke-linecap:round; stroke-dasharray:0.1 11.9; opacity:1; }
.st-hg .t-shine, .st-bg .t-shine{ display:block !important; transform:none; stroke:var(--glass); opacity:1; stroke-width:2px; stroke-linecap:round; stroke-dasharray:0.1 11.9; animation:tflow 1.3s linear infinite; }
.tube.rev.st-hg .t-shine, .tube.rev.st-bg .t-shine{ animation-direction:reverse; }
.st-hg .t-fluid, .st-bg .t-fluid{ opacity:.08; }
/* mélange : liquide bleu plein avec bulles */
.st-bm .t-fluid{ stroke:var(--bl); opacity:1; }
.st-bm .t-flow{ stroke:#fff; stroke-width:3.6px; stroke-linecap:round; stroke-dasharray:0.1 9.9; }
.st-bm .t-flow{ stroke-dasharray:0.1 7.9; }
.st-bm .t-edge{ stroke:color-mix(in srgb, var(--bl) 70%, #000); opacity:1; }
.st-bm .t-glass{ stroke:var(--bl); opacity:1; }
/* légende */
.lg-hg i::after, .lg-bg i::after{ display:none; }
.lg-hg i{ background:radial-gradient(circle, var(--glass) 1.2px, var(--hg) 1.4px, var(--hg) 2.4px, transparent 2.7px) 2px 50%/10px 10px repeat-x, var(--glass); }
.lg-bg i{ background:radial-gradient(circle, var(--glass) 1.2px, var(--bg2) 1.4px, var(--bg2) 2.4px, transparent 2.7px) 2px 50%/10px 10px repeat-x, var(--glass); }
.lg-bm i{ background:radial-gradient(circle, #fff 1.6px, transparent 1.9px) 2px 50%/8px 8px repeat-x, var(--bl); border-color:color-mix(in srgb, var(--bl) 70%, #000); }

/* bulles de tailles variées, pleines, comme la référence */
@keyframes bub{ to{ stroke-dashoffset:-72; } }
.st-hg .t-flow, .st-bg .t-flow, .st-hg .t-shine, .st-bg .t-shine, .st-bm .t-flow, .st-bm .t-shine{ animation:bub 3.9s linear infinite !important; stroke-linecap:round; transform:none; }
.tube.rev .t-flow, .tube.rev .t-shine{ animation-direction:reverse !important; }
.st-hg .t-flow{ stroke:color-mix(in srgb, var(--hg) 55%, var(--glass)); stroke-width:calc(var(--w) - 2.5px); stroke-dasharray:0.1 17.9; opacity:1; }
.st-hg .t-shine{ display:block !important; stroke:color-mix(in srgb, var(--hg) 45%, var(--glass)); stroke-width:3px; stroke-dasharray:0.1 7.9 0.1 15.9; stroke-dashoffset:-5; opacity:1; }
.st-bg .t-flow{ stroke:color-mix(in srgb, var(--bl) 85%, var(--bg2)); stroke-width:calc(var(--w) - 2.5px); stroke-dasharray:0.1 17.9; opacity:1; }
.st-bg .t-shine{ display:block !important; stroke:color-mix(in srgb, var(--bl) 70%, var(--glass)); stroke-width:3px; stroke-dasharray:0.1 7.9 0.1 15.9; stroke-dashoffset:-5; opacity:1; }
.st-hg .t-fluid{ stroke:var(--hg); opacity:.06; } .st-bg .t-fluid{ stroke:var(--bl); opacity:.14; }
.st-bm .t-flow{ stroke:#fff; opacity:.85; stroke-width:calc(var(--w) - 3px); stroke-dasharray:0.1 17.9; }
.st-bm .t-shine{ display:block !important; stroke:#fff; opacity:.7; stroke-width:2.2px; stroke-dasharray:0.1 7.9 0.1 15.9; stroke-dashoffset:-5; }
.st-hl .t-fluid, .st-hl .t-glass{ stroke:#EE6A4A; }
.st-hl .t-edge{ stroke:#C9502F; }
.st-hl .t-flow{ opacity:.25; }
:root{ --hl:#EE6A4A; }
.lg-hg i{ background:radial-gradient(circle, color-mix(in srgb, var(--hg) 55%, var(--glass)) 2.2px, transparent 2.6px) 2px 50%/12px 10px repeat-x, var(--glass); }
.lg-bg i{ background:radial-gradient(circle, color-mix(in srgb, var(--bl) 85%, var(--bg2)) 2.2px, transparent 2.6px) 2px 50%/12px 10px repeat-x, color-mix(in srgb, var(--bl) 14%, var(--glass)); }
.lg-hl i{ background:#EE6A4A; border-color:#C9502F; }
@media (prefers-reduced-motion: reduce){ .t-flow, .t-shine{ animation:none !important; } }

/* bulles générées : tailles et positions aléatoires */
.aa-sim .tube.st-hg .t-flow, .aa-sim .tube.st-hg .t-shine, .aa-sim .tube.st-bg .t-flow, .aa-sim .tube.st-bg .t-shine,
.aa-sim .tube.st-bm .t-flow, .aa-sim .tube.st-bm .t-shine, .aa-sim .tube.st-be .t-flow, .aa-sim .tube.st-be .t-shine,
.aa-sim .tube.st-hm .t-flow, .aa-sim .tube.st-hm .t-shine{ display:none !important; }
.bb{ pointer-events:none; }
.st-hg .bb{ fill:color-mix(in srgb, var(--hg) 60%, var(--glass)); }
.st-hm .bb{ fill:color-mix(in srgb, var(--hg) 55%, #fff); }
.st-bg .bb{ fill:color-mix(in srgb, var(--bl) 80%, var(--bg2)); }
.st-be .bb{ fill:color-mix(in srgb, var(--bl) 60%, #fff); }
.st-bm .bb{ fill:#fff; opacity:.85; }
.st-be .t-fluid{ stroke:var(--bl); opacity:.35; }
.st-hm .t-fluid{ stroke:var(--hl); opacity:.6; }

/* compresseur scroll animé */
.sc-body{ fill:#2B353D; }
.sc-fix{ fill:none; stroke:#8796A1; stroke-width:1.6; stroke-linecap:round; }
.sc-mov{ fill:none; stroke:#E9EEF2; stroke-width:1.6; stroke-linecap:round; }
.sc-core{ fill:var(--hg); animation:scPulse .5s ease-in-out infinite; }
.sc-orb{ animation:scOrb .5s linear infinite; }
@keyframes scOrb{ 0%{transform:translate(1.60px,0.00px)}12%{transform:translate(1.13px,1.13px)}25%{transform:translate(0.00px,1.60px)}37%{transform:translate(-1.13px,1.13px)}50%{transform:translate(-1.60px,0.00px)}62%{transform:translate(-1.13px,-1.13px)}75%{transform:translate(-0.00px,-1.60px)}87%{transform:translate(1.13px,-1.13px)}100%{transform:translate(1.60px,-0.00px)} }
@keyframes scPulse{ 0%,100%{opacity:.5} 50%{opacity:1} }
.aa-sim[data-mode="veille"] .sc-orb, .aa-sim[data-mode="veille"] .sc-core{ animation:none; }
.aa-sim[data-mode="veille"] .sc-core{ opacity:.15; }
@media (prefers-reduced-motion:reduce){ .sc-orb,.sc-core{animation:none} }

/* alimentation électrique du compresseur */
.el-wire{ fill:none; stroke:#2B353D; stroke-width:3; stroke-linecap:round; }
.el-flow{ fill:none; stroke:#F5C21B; stroke-width:1.6; stroke-dasharray:3 5; animation:elFlow .6s linear infinite; }
.el-badge{ fill:#F5C21B; } .el-bolt{ fill:#2B353D; }
@keyframes elFlow{ to{ stroke-dashoffset:-8; } }
.aa-sim[data-mode="veille"] .el-flow{ animation:none; opacity:0; }
.aa-sim[data-mode="veille"] .el-badge{ opacity:.35; }
@media (prefers-reduced-motion:reduce){ .el-flow{animation:none} }

/* multi-split : choix du nombre d'unités, mode par unité */
.aa-top{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:12px 16px 4px; }
.aa-n{ display:flex; align-items:center; gap:6px; }
.aa-n span{ font:500 1.02rem var(--f-display); color:var(--muted); margin-right:6px; line-height:1.2; }
.aa-n button{ flex:none; width:34px; height:34px; border-radius:50%; border:1.5px solid var(--line); background:var(--bg); font:600 .9rem var(--f-display); color:var(--fg); cursor:pointer; }
.aa-n button[aria-checked="true"]{ background:var(--brand); border-color:var(--brand); color:#fff; }
.aa-n button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.aa-hint{ margin:0; font-size:.8rem; color:var(--muted); }
.aa-sim .aa-rr .aa-room{ fill:var(--room); }
.aa-sim .aa-rr[data-st="chaud"] .aa-room{ fill:color-mix(in srgb, var(--warm) 12%, var(--room)); }
.aa-sim .aa-rr[data-st="froid"] .aa-room{ fill:color-mix(in srgb, var(--cold) 12%, var(--room)); }
.aa-rn{ font:600 10.5px var(--f-display); fill:var(--fg); }
.aa-rs{ font-weight:500; fill:var(--muted); }
.aa-rr[data-st="chaud"] .aa-rs{ fill:var(--warm); } .aa-rr[data-st="froid"] .aa-rs{ fill:var(--cold); }
.aa-sim .aa-iu .aa-blow{ opacity:0; transition:opacity .3s; }
.aa-sim .aa-iu[data-st="chaud"] .aa-blow, .aa-sim .aa-iu[data-st="froid"] .aa-blow{ opacity:1; }
.aa-sim .aa-iu[data-st="chaud"] .aa-blow path{ stroke:var(--warm); }
.aa-sim .aa-iu[data-st="froid"] .aa-blow path{ stroke:var(--cold); }
.aa-sim .aa-iu[data-st="froid"] .aa-floor{ opacity:0; }
.aa-iu[data-st="wait"] .aa-unit{ stroke-dasharray:4 3; }
.aa-hit{ fill:transparent; cursor:pointer; outline:none; }
.aa-hit:hover, .aa-hit:focus-visible{ stroke:var(--brand); stroke-width:1.5; }
.aa-iu[data-st="off"] .aa-unit, .aa-iu[data-st="wait"] .aa-unit{ fill:#F3F5F7; }
.aa-warn{ margin-top:6px; font-size:.78rem; color:var(--muted); }
.aa-sim[data-season="ete"] .aa-sky{ fill:var(--sky-s); } .aa-sim[data-season="hiver"] .aa-sky, .aa-sim[data-season="mi"] .aa-sky{ fill:var(--sky-w); }

/* télécommandes */
.rc-body{ fill:#fff; stroke:var(--muted); stroke-width:1.2; }
.rc-b{ cursor:pointer; outline:none; }
.rc-k{ fill:#EEF2F5; stroke:var(--line); stroke-width:1; transition:fill .2s; }
.rc-i{ stroke:var(--muted); stroke-width:1.5; stroke-linecap:round; fill:none; }
.rc-sun .rc-i circle{ fill:var(--muted); stroke:none; }
.rc-b:hover .rc-k, .rc-b:focus-visible .rc-k{ stroke:var(--brand); stroke-width:1.5; }
.aa-iu[data-req="chaud"] .rc-sun .rc-k{ fill:var(--warm); stroke:var(--warm); }
.aa-iu[data-req="froid"] .rc-snow .rc-k{ fill:var(--cold); stroke:var(--cold); }
.aa-iu[data-req="chaud"] .rc-sun .rc-i, .aa-iu[data-req="froid"] .rc-snow .rc-i{ stroke:#fff; }
.aa-iu[data-req="chaud"] .rc-sun .rc-i circle{ fill:#fff; }
.aa-iu[data-st="wait"] .rc-b .rc-k{ opacity:.55; }
.el-w{ font:700 11px var(--f-display); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.aa-rr[data-st="chaud"] .aa-rs, .aa-rr[data-st="froid"] .aa-rs{ font-weight:700; }
.aa-pw{ font:700 11px var(--f-display); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.aa-iu[data-st="chaud"] .aa-pw{ fill:var(--warm); } .aa-iu[data-st="froid"] .aa-pw{ fill:var(--cold); }
.el-pill{ fill:#F5C21B; stroke:#E0A800; stroke-width:1; transition:opacity .3s; }
.el-bolt{ fill:#2B353D; }
.el-w{ font:700 13px var(--f-display); fill:#2B353D; stroke:none; }
.el-lb{ font:600 10.5px var(--f-display); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.aa-sim[data-mode="veille"] .el-pill{ opacity:.35; }
/* air extérieur vs fluide dans l'échangeur */
#hx-a, #hx-f{ fill:var(--cold); }
.hx[data-hot="air"] #hx-a, .hx[data-hot="fluide"] #hx-f{ fill:var(--warm); }
.hx-k{ font:600 8.5px var(--f-display); fill:#fff; opacity:.9; }
.hx .hx-t{ font:700 13px var(--f-display); fill:#fff; }
/* calories : de l'air vers le fluide (chauffage), du fluide vers l'air (froid) */
.aa-cal circle{ fill:var(--warm); filter:drop-shadow(0 0 2px var(--warm)); opacity:0; animation:calIn 2.2s linear infinite; transform-box:fill-box; transform-origin:center; }
@keyframes calIn{ 0%{ transform:translateX(0) scale(1); opacity:0; } 15%{ opacity:1; } 70%{ opacity:1; transform:translateX(52px) scale(.8); } 100%{ transform:translateX(70px) scale(.2); opacity:0; } }
.aa-sim[data-mode="froid"] .aa-cal circle{ animation-direction:reverse; }
.cal-lb{ font:700 10px var(--f-display); fill:var(--warm); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.aa-cal{ transition:opacity .3s; }
.aa-sim[data-mode="veille"] .aa-cal{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .aa-cal circle{ animation:none; opacity:.8; } }
/* calories restituées dans les pièces */
.iu-cal{ opacity:0; transition:opacity .3s; }
.aa-iu[data-st="chaud"] .iu-cal, .aa-iu[data-st="froid"] .iu-cal{ opacity:1; }
.iu-cal circle{ fill:var(--warm); filter:drop-shadow(0 0 2px var(--warm)); opacity:0; animation:calOut 2s linear infinite; transform-box:fill-box; transform-origin:center; }
@keyframes calOut{ 0%{ transform:translate(0,0) scale(.3); opacity:0; } 20%{ opacity:1; } 75%{ opacity:.9; } 100%{ transform:translate(var(--dx),var(--dy)) scale(1); opacity:0; } }
.aa-iu[data-st="froid"] .iu-cal circle{ animation-direction:reverse; }
@media (prefers-reduced-motion:reduce){ .iu-cal circle{ animation:none; opacity:.8; } }
/* calories = petits thermomètres */
.th-b{ fill:var(--warm); stroke:#fff; stroke-width:1; }
.th-m{ stroke:#fff; stroke-width:1.3; stroke-linecap:round; }
.th-c{ fill:#fff; }
.aa-cal use, .iu-cal use{ opacity:0; transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 0 1.5px rgba(232,93,42,.6)); }
.aa-cal use{ animation:calIn 2.2s linear infinite; }
.iu-cal use{ animation:calOut 2s linear infinite; }
.aa-sim[data-mode="froid"] .aa-cal use, .aa-iu[data-st="froid"] .iu-cal use{ animation-direction:reverse; }
@media (prefers-reduced-motion:reduce){ .aa-cal use, .iu-cal use{ animation:none; opacity:.85; } }
.th-b{ fill:var(--warm); stroke:none; }
.th-m{ stroke:#fff; stroke-width:1.4; }
.th-d{ fill:none; stroke:var(--warm); stroke-width:1.3; }

/* ---- PAC air/eau ---- */
.aw{ --ws:#D7263D; --wm:#E4572E; --wr:#F08A24; }
.aw[data-v="sol"]{ --ws:#F08A24; --wm:#F4A24C; --wr:#F5C07A; }
.tube.wat{ --w:7px; } .tube.wat2{ --w:4px; }
.st-ws .t-edge{ stroke:color-mix(in srgb, var(--ws) 70%, #000); opacity:1; } .st-ws .t-glass, .st-ws .t-fluid{ stroke:var(--ws); opacity:1; }
.st-wm .t-edge{ stroke:color-mix(in srgb, var(--wm) 70%, #000); opacity:1; } .st-wm .t-glass, .st-wm .t-fluid{ stroke:var(--wm); opacity:1; }
.st-wr .t-edge{ stroke:color-mix(in srgb, var(--wr) 70%, #000); opacity:1; } .st-wr .t-glass, .st-wr .t-fluid{ stroke:var(--wr); opacity:1; }
.st-ws .t-flow, .st-wm .t-flow, .st-wr .t-flow{ stroke:#fff; stroke-width:1.2px; opacity:.6; stroke-dasharray:8 14; }
.aw-v{ display:flex; flex-wrap:wrap; gap:8px; }
.aw-v button{ display:flex; flex-direction:column; align-items:flex-start; padding:7px 14px; border-radius:12px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); cursor:pointer; text-align:left; }
.aw-v button b{ font:600 .9rem var(--f-display); } .aw-v button span{ font-size:.74rem; color:var(--muted); }
.aw-v button[aria-checked="true"]{ border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); }
.aw-v button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.pl-body{ fill:var(--glass); stroke:#5B6B76; stroke-width:2; }
.pl-plate{ stroke:var(--edge); stroke-width:.8; opacity:.5; }
.pl-mid{ stroke:#5B6B76; stroke-width:1.2; stroke-dasharray:3 3; }
.pu-body{ fill:#fff; stroke:#3A4650; stroke-width:2; }
.pu-tri{ fill:#3A4650; }
.pu-rot{ transform-box:view-box; transform-origin:292px 430px; animation:spin 1s linear infinite; }
.aw[data-mode="veille"] .pu-rot{ animation:none; }
.rad{ fill:#fff; stroke:var(--muted); stroke-width:1.4; transition:fill .4s; }
.rad-fin{ stroke:var(--line); stroke-width:1.2; }
.aw[data-mode="chaud"] .rad{ fill:color-mix(in srgb, var(--ws) 22%, #fff); }
.slab{ fill:color-mix(in srgb, var(--muted) 18%, var(--room)); transition:fill .4s; }
.aw[data-mode="chaud"] .slab{ fill:color-mix(in srgb, var(--wr) 28%, var(--room)); }
.aw[data-mode="chaud"] .aa-rr .aa-room{ fill:color-mix(in srgb, var(--warm) 12%, var(--room)); }
.aw .aa-iu[data-st="chaud"] .aa-pw{ fill:var(--warm); }
.aw .aa-iu[data-st="off"] .aa-pw{ opacity:0; }
.pl-cal use{ animation-duration:1.6s !important; }
.lg-ws i{ background:var(--ws); } .lg-wr i{ background:var(--wr); }
.aa-leg em{ font-style:normal; font-weight:600; color:var(--fg); }
.tube.wfl{ --w:3.4px; }
.tube.wfl .t-flow{ stroke-width:1px !important; }
.slab{ stroke:var(--line); stroke-width:1; }
.tube.wfl{ --w:2.6px; }
.tube.wfl .t-edge{ stroke-width:calc(var(--w) + 1.2px); }
.coll{ fill:#E7ECEF; stroke:#5B6B76; stroke-width:1.4; }
.coll-v{ fill:#5B6B76; opacity:.5; }
.aw .pu-rot{ transform-origin:298px 430px; }
.aw[data-mode="froid"]{ --ws:#2E6FD8; --wm:#5C9BE3; --wr:#8DBDF0; }
.aw[data-mode="froid"] .aa-rr .aa-room{ fill:color-mix(in srgb, var(--cold) 12%, var(--room)); }
.aw[data-mode="froid"] .slab{ fill:color-mix(in srgb, var(--wr) 28%, var(--room)); }
.aw[data-mode="froid"] .aa-iu[data-st="froid"] .aa-pw{ fill:var(--cold); }
.aw[data-v="rad75"]{ --ws:#A50F2D; --wm:#C81E3A; --wr:#E0453A; }
/* ballon ECS + vanne 3 voies */
.earth{ fill:color-mix(in srgb, #8B6B4A 14%, var(--bg)); }
.aw .ecs{ visibility:hidden; }
.aw[data-ball="1"] .ecs{ visibility:visible; }
.cave{ fill:var(--room); }
.tank{ fill:#fff; stroke:#5B6B76; stroke-width:2; }
.tank-w{ fill:color-mix(in srgb, var(--cold) 14%, #fff); transition:fill .6s; }
.aw[data-h="ecs"] .tank-w{ fill:color-mix(in srgb, var(--warm) 22%, #fff); }
.tap{ fill:none; stroke:#5B6B76; stroke-width:3; stroke-linecap:round; }
.v3-act{ fill:#5B6B76; }
.v3-p{ fill:#fff; stroke:#3A4650; stroke-width:1.3; }
.v3-in{ fill:#3A4650; }
.aw[data-h="ch"] .v3-a, .aw[data-h="ecs"] .v3-b{ fill:#3A4650; }
.aw[data-h="ecs"]{ --ws:#D7263D; --wm:#E4572E; --wr:#F08A24; }
.aw[data-h="ecs"] .aa-rr .aa-room{ fill:var(--room); }
.aw[data-h="ecs"] .slab{ fill:color-mix(in srgb, var(--muted) 18%, var(--room)); }
.aw[data-h="ecs"] .rad{ fill:#fff; }
.aw .pu-rot{ transform-origin:286px 410px; }
.aw-top-r{ display:flex; gap:8px; }
.aa-top:has(.aw-o){ align-items:flex-start; }
.aw-o{ display:flex; flex-wrap:wrap; gap:8px; }
.aw-t{ display:flex; flex-direction:column; align-items:flex-start; padding:7px 14px; border-radius:12px; border:1.5px dashed var(--line); background:var(--bg); color:var(--fg); cursor:pointer; text-align:left; }
.aw-t b{ font:600 .9rem var(--f-display); } .aw-t span{ font-size:.74rem; color:var(--muted); }
.aw-t[aria-pressed="true"]{ border-style:solid; border-color:var(--warm); box-shadow:inset 0 0 0 1px var(--warm); }
.aw-t[hidden]{ display:none; }
/* ---- boiler thermodynamique ---- */
.bt .bt-room{ fill:var(--room); stroke:none; }
.bt[data-o="amb"][data-mode="chaud"] .bt-room{ fill:color-mix(in srgb, var(--cold) 10%, var(--room)); }
.bt-ceil{ stroke:var(--muted); stroke-width:2; opacity:.5; }
.bt .dct, .bt .frees{ display:none; }
.bt[data-o="amb"] .fr-in, .bt[data-o="amb"] .fr-ex, .bt[data-o="ext"] .fr-in, .bt[data-o="ext"] .dct-ex, .bt[data-o="all"] .dct{ display:inline; }
.duct{ fill:none; stroke:#C9D2D8; stroke-width:13; stroke-linejoin:round; }
.duct-f{ fill:none; stroke:var(--cold); stroke-width:2.2; stroke-dasharray:5 7; stroke-linecap:round; animation:tflow 1.2s linear infinite; }
.duct-f.duct-in{ stroke:var(--warm); }
.air-in, .air-out{ fill:none; stroke-width:2.5; stroke-dasharray:5 7; stroke-linecap:round; animation:tflow 1.2s linear infinite; }
.air-in{ stroke:var(--warm); } .air-out{ stroke:var(--cold); }
.bt[data-mode="res"] .duct-f, .bt[data-mode="res"] .air-in, .bt[data-mode="res"] .air-out{ opacity:0; }
.spig{ fill:#C9D2D8; stroke:#8FA3AE; stroke-width:1; }
.bt-mod{ fill:#fff; fill-opacity:.9; }
.bt-water{ fill:url(#bt-strat); opacity:.35; }
.s-hot{ stop-color:var(--hg); } .s-mid{ stop-color:var(--hl); } .s-cold{ stop-color:var(--cold); }
.bt-blades{ fill:none; stroke:var(--edge); stroke-width:2.4; opacity:.7; transform-origin:478px 180px; animation:spin 1s linear infinite; }
.bt[data-mode="res"] .bt-blades{ animation:none; }
.bt[data-mode="res"] .sc-orb, .bt[data-mode="res"] .sc-core{ animation:none; }
.res{ fill:none; stroke:#8FA3AE; stroke-width:2.2; stroke-linejoin:round; }
.bt[data-mode="res"] .res{ stroke:var(--hg); filter:drop-shadow(0 0 3px var(--hg)); }
#bt-res-lb{ opacity:.6; } .bt[data-mode="res"] #bt-res-lb{ opacity:1; fill:var(--hg); font-weight:700; }
.st-wk .t-edge{ stroke:color-mix(in srgb, #3E8ED0 70%, #000); opacity:1; } .st-wk .t-glass, .st-wk .t-fluid{ stroke:#5FB4EA; opacity:1; }
.st-wk .t-flow{ stroke:#fff; stroke-width:1.2px; opacity:.6; stroke-dasharray:8 14; }
.drop{ stroke:var(--cold); stroke-width:2; stroke-dasharray:3 4; animation:tflow 1s linear infinite; }
.aa-lb .b{ font-weight:700; }
.bt #hx-a{ fill:var(--warm); } .bt #hx-f{ fill:var(--cold); } .bt #hx-o{ fill:var(--cold); }
.ev-cal use{ animation-duration:1.6s !important; }
.hx-link{ stroke:var(--cold); stroke-width:1.5; stroke-dasharray:2 2; }
/* coût caché sur le volume protégé */
.vp{ fill:none; stroke:var(--warm); stroke-width:1.5; stroke-dasharray:6 5; opacity:.6; }
.vp-lb{ font:600 10px var(--f-display); fill:var(--warm); opacity:.9; }
.bt .bt-room{ fill:color-mix(in srgb, var(--warm) 8%, var(--room)); transition:fill .5s; }
.bt[data-cost="amb"] .bt-room, .bt[data-cost="inf"] .bt-room{ fill:color-mix(in srgb, var(--cold) 14%, var(--room)); }
.bt[data-o="amb"][data-mode="chaud"] .bt-room{ fill:color-mix(in srgb, var(--warm) 8%, var(--room)); }
.bt[data-cost="amb"][data-o="amb"] .bt-room{ fill:color-mix(in srgb, var(--cold) 14%, var(--room)); }
.cost-p{ fill:var(--cold); }
.bt .cost-p, .bt .cost-p + text, #bt-cost{ transition:opacity .3s; }
.bt[data-cost="0"] .cost-p, .bt[data-cost="0"] .cost-p ~ text{ opacity:0; }
.infil{ display:none; } .bt[data-cost="inf"] .infil{ display:inline; }
.air-cold{ fill:none; stroke:var(--cold); stroke-width:2.5; stroke-dasharray:5 7; stroke-linecap:round; animation:tflow 1.2s linear infinite; }
.infil-lb{ fill:var(--cold); font-weight:700; }
.room-cal .th-b{ fill:var(--warm); }
.bt-warn{ color:var(--fg); } .bt-warn b{ color:var(--cold); }
/* ---- encadré bruit ---- */
.nz-head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
/* boutons du graphique bruit : l'état actif est un aplat de couleur, plus un contour */
.nz .aw-v button[aria-checked="true"]{ background:var(--brand); border-color:var(--brand); color:var(--bg); box-shadow:none; }
.nz .aw-t[aria-pressed="true"]{ background:var(--nz-on); border-color:var(--nz-on); color:var(--bg); box-shadow:none; }
.nz .aw-v button[aria-checked="true"] span, .nz .aw-t[aria-pressed="true"] span{ color:inherit; }
.nz{ --nz-on:color-mix(in srgb, var(--warm) 84%, #000); }
:root .nz{ --nz-on:var(--warm); }
.nz-card{ border:1px solid var(--line); border-radius:18px; background:var(--bg); overflow:hidden; padding:0 0 14px; }
.nz-svg{ width:100%; height:auto; display:block; touch-action:none; cursor:pointer; }
.nz-sky{ fill:var(--sky-w); } .nz-wall{ fill:var(--muted); opacity:.35; }
.nz-ou{ fill:#FFFFFF; }
.nz-ou2{ fill:#E6EDF1; }
.nz-ft{ fill:#586973; } .nz-fan{ fill:#1C2A33; }
.nz-fan2{ fill:#263843; }
.nz-hub{ fill:#E6EDF1; }
.nz-led{ fill:var(--brand); }
.nz-bl{ fill:#8FA6B3; transform-origin:92px 175px; animation:spin 1s linear infinite; }
.nz[data-m="quiet"] .nz-bl{ animation-duration:2.2s; }
.nz-gr{ fill:#C3D0D8; }
.nz-w{ fill:none; stroke:var(--brand); stroke-width:2; opacity:0; transform-box:view-box; transform-origin:150px 175px; animation:nzw 2.7s linear infinite; }
.nz[data-m="quiet"] .nz-w{ stroke-width:1.2; }
@keyframes nzw{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(9); opacity:0; } }
.nz-tk{ stroke:var(--muted); stroke-width:1.2; } .nz-tl{ font:500 11px var(--f-display); fill:var(--muted); }
.nz-dl{ stroke:var(--brand); stroke-width:1; stroke-dasharray:3 4; opacity:.5; }
.nz-dim{ stroke:var(--brand); stroke-width:1.5; stroke-dasharray:2 3; fill:none; }
.nz-p{ cursor:grab; outline:none; } .nz-p:active{ cursor:grabbing; }
.nz-hit{ fill:transparent; }
.nz-body{ fill:var(--fg); } .nz-legs{ fill:color-mix(in srgb, var(--fg) 68%, var(--sky-w)); }
.nz-p:focus-visible .nz-body{ stroke:var(--brand); stroke-width:3; }
.nz-bb{ fill:var(--brand); }
.nz-db{ font:700 17px var(--f-display); fill:#fff; } .nz-cmp{ font:500 10.5px var(--f-display); fill:#fff; opacity:.92; }
.nz-gauge{ width:100%; height:auto; display:block; overflow:visible; padding:10px 0 0; }
.nz-gbar{ fill:url(#nz-gg); }
.nz-gt{ stroke:var(--bg); stroke-width:2; } .nz-gl{ font:700 11px var(--f-display); fill:var(--fg); } .nz-go{ font:400 10px var(--f-body); fill:var(--muted); }
.nz-gm{ fill:var(--fg); transition:transform .15s; }
.nz-hint{ margin:6px 20px 0; font-size:.8rem; color:var(--muted); }
@media (prefers-reduced-motion:reduce){ .nz-w, .nz-bl{ animation:none; } }
.nz-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width:700px){ .nz-svg, .nz-gauge{ width:680px; max-width:none; } }
.nz-o{ gap:8px; }
.nz-ray{ fill:none; stroke:var(--brand); stroke-width:1.4; stroke-dasharray:4 4; opacity:.7; }
.nz-ob{ cursor:grab; outline:none; } .nz-ob:active{ cursor:grabbing; }
.nz-ob[hidden]{ display:none; }
.nz-ob:focus-visible .nz-wl, .nz-ob:focus-visible .nz-hg{ stroke:var(--brand); stroke-width:2; }
.nz-wl{ fill:#B9A898; stroke:#8C7B6B; stroke-width:1.2; } .nz-wj{ stroke:#8C7B6B; stroke-width:.8; }
.nz-hg{ fill:#5E9E4E; stroke:#3F7A34; stroke-width:1.2; } .nz-hgd{ fill:#3F7A34; opacity:.5; }
.nz-eff{ font:700 12px var(--f-display); fill:var(--brand); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.nz-useless .nz-eff{ fill:var(--muted); }
.nz-hh{ cursor:ns-resize; } .nz-hh circle{ fill:#fff; stroke:var(--brand); stroke-width:2; } .nz-hh path{ stroke:var(--brand); stroke-width:1.4; fill:none; stroke-linecap:round; }
.nz-hl{ font:600 10.5px var(--f-display); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:3px; }
.nz-mv{ stroke:var(--muted); stroke-width:1.4; fill:none; stroke-linecap:round; opacity:.7; }
.nz-top{ fill:transparent; cursor:ns-resize; }
.nz-hit, .nz-body-o{ cursor:grab; }
.nz-drag, .nz-drag *{ cursor:grabbing !important; user-select:none; }
.nz-hh circle{ filter:drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
/* menu Produits */
.dd{ position:relative; display:flex; }
.dd > a::after{ content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-3px) rotate(45deg); }
.dd-m{ position:absolute; top:100%; left:-14px; min-width:230px; display:flex; flex-direction:column; padding:8px; background:var(--bg); border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.12); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s, transform .15s, visibility .15s; z-index:20; }
.dd:hover .dd-m, .dd:focus-within .dd-m{ opacity:1; visibility:visible; transform:none; }
.dd-m a{ padding:8px 10px !important; border-radius:8px; border-bottom:0 !important; white-space:nowrap; }
.dd-m a:hover, .dd-m a[aria-current="page"]{ background:var(--surface); }
@media (max-width:560px){ .dd-m{ display:none; } }
.svc-grid:has(> :nth-child(5)){ grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1100px){ .svc-grid:has(> :nth-child(5)){ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:960px){ .svc-grid:has(> :nth-child(5)){ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .svc-grid:has(> :nth-child(5)){ grid-template-columns:minmax(0,1fr); } }
/* ---- géothermie ---- */
.geo .geo-loc{ fill:color-mix(in srgb, var(--muted) 6%, var(--bg)); stroke:var(--line); stroke-width:1.5; }
.st-gw .t-edge{ stroke:color-mix(in srgb, #2FA58F 70%, #000); opacity:1; } .st-gw .t-glass, .st-gw .t-fluid{ stroke:#3CB8A0; opacity:1; }
.st-gk .t-edge{ stroke:color-mix(in srgb, #2C7FB0 70%, #000); opacity:1; } .st-gk .t-glass, .st-gk .t-fluid{ stroke:#4C9AD0; opacity:1; }
.st-gw .t-flow, .st-gk .t-flow{ stroke:#fff; stroke-width:1.2px; opacity:.6; stroke-dasharray:8 14; }
.lg-gw i{ background:linear-gradient(90deg,#3CB8A0,#4C9AD0); }
.gl-bore{ fill:color-mix(in srgb, #8B6B4A 22%, var(--bg)); stroke:color-mix(in srgb, #8B6B4A 45%, var(--bg)); stroke-width:1; }
.gl-brk{ fill:none; stroke:var(--bg); stroke-width:5; }
.gl-zone{ fill:color-mix(in srgb, #8B6B4A 10%, var(--bg)); stroke:color-mix(in srgb, #8B6B4A 30%, var(--bg)); stroke-width:1; }
.gpu-rot{ transform-box:view-box; transform-origin:34px 420px; animation:spin 1s linear infinite; }
.geo[data-mode="veille"] .gpu-rot{ animation:none; }
.geo #hx-a{ fill:#3CB8A0; } .geo #hx-f{ fill:var(--cold); }
.geo .aw-v + .aw-v{ margin-left:auto; }
:root{ --s6:#9a80ea; }
.sw.s6{ background:var(--s6); } #chart .ln.s6{ stroke:var(--s6); } #chart .dot.s6, #chart .gain.s6{ fill:var(--s6); }
/* mix chaudière + PAC */
.mix{ gap:10px; padding-top:4px; }
.mix-sw{ display:flex; align-items:center; gap:10px; cursor:pointer; }
.mix-sw input{ position:absolute; opacity:0; width:1px; height:1px; }
.mix-k{ flex:none; width:38px; height:22px; border-radius:11px; background:var(--line); position:relative; transition:background .2s; }
.mix-k::after{ content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25); transition:transform .2s; }
.mix-sw input:checked + .mix-k{ background:var(--brand); } .mix-sw input:checked + .mix-k::after{ transform:translateX(16px); }
.mix-sw input:focus-visible + .mix-k{ outline:2px solid var(--brand); outline-offset:2px; }
.mix-sw b{ display:block; font:500 .92rem var(--f-display); } .mix-sw small{ display:block; font-size:.74rem; color:var(--muted); }
.mix-b{ display:flex; flex-direction:column; gap:6px; } .mix-b[hidden]{ display:none; }
.mix-b input[type=range]{ width:100%; accent-color:var(--brand); }
.mix-bar{ display:flex; height:10px; border-radius:5px; overflow:hidden; }
#mix-p{ background:var(--s1); } #mix-c.c-gaz{ background:var(--s2); } #mix-c.c-mazout{ background:var(--s4); }
/* curseur unique bicolore : bleu = PAC, orange/rouge = chaudière */
.mix-b input.mix-r{ -webkit-appearance:none; appearance:none; height:12px; border-radius:6px; padding:0; border:0;
  background:linear-gradient(90deg, var(--s1) 0 var(--p,80%), var(--s4) var(--p,80%) 100%); }
.mix-b input.mix-r.c-gaz{ background:linear-gradient(90deg, var(--s1) 0 var(--p,80%), var(--s2) var(--p,80%) 100%); }
.mix-b input.mix-r::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid var(--fg); box-shadow:0 1px 3px rgba(0,0,0,.3); cursor:pointer; }
.mix-b input.mix-r::-moz-range-thumb{ width:20px; height:20px; border-radius:50%; background:#fff; border:2px solid var(--fg); cursor:pointer; }
.mix-b input.mix-r::-moz-range-track{ background:transparent; }
/* repères isolation */
.iso-d{ margin:8px 0 0; padding:10px 12px; border-radius:12px; background:var(--bg); border:1px solid var(--line); display:grid; gap:4px; font-size:.8rem; }
.iso-d div{ display:grid; grid-template-columns:7.5em minmax(0,1fr); gap:8px; }
.iso-d dt{ color:var(--muted); } .iso-d dd{ margin:0; color:var(--fg); }
/* ventilateurs des unités intérieures */
.iu-fc{ fill:none; stroke:var(--edge); stroke-width:1; opacity:.55; }
.iu-bl{ fill:none; stroke:var(--edge); stroke-width:1.8; opacity:.6; transform-box:fill-box; transform-origin:center; }
.aa-iu[data-st="chaud"] .iu-bl, .aa-iu[data-st="froid"] .iu-bl{ animation:spin .9s linear infinite; }
@media (prefers-reduced-motion:reduce){ .iu-bl{ animation:none !important; } }
.iu-fc{ fill:#fff; stroke:var(--edge); stroke-width:1.2; opacity:1; }
.iu-bl{ stroke-width:1.4; opacity:.8; }
/* ventilateur en transparence derrière l'échangeur */
.iu-fc{ fill:none; stroke:var(--edge); stroke-width:1.2; opacity:.35; }
.iu-bl{ stroke:var(--edge); stroke-width:1.6; opacity:.4; }
.iu-fc{ stroke:var(--muted); opacity:.45; } .iu-bl{ stroke:var(--muted); stroke-width:1.8; opacity:.5; }
/* télécommande 4 boutons */
.aa-iu[data-req="fan"] .rc-fan .rc-k{ fill:var(--muted); stroke:var(--muted); }
.aa-iu[data-req="fan"] .rc-fan .rc-i{ stroke:#fff; }
.aa-iu:not([data-req="off"]) .rc-pw .rc-k{ fill:#2FA35B; stroke:#2FA35B; }
.aa-iu:not([data-req="off"]) .rc-pw .rc-i{ stroke:#fff; }
.rc-i path{ fill:none; }
.aa-sim .aa-iu[data-st="fan"] .aa-blow{ opacity:1; }
.aa-sim .aa-iu[data-st="fan"] .aa-blow path{ stroke:var(--muted); }
.aa-iu[data-st="fan"] .aa-pw{ display:none; }
.aa-iu[data-st="fan"] .iu-bl{ animation:spin .9s linear infinite; }
.rc-froid .rc-i line{ stroke-width:1.2; }
.aa-iu[data-req="chaud"] .rc-chaud .rc-k{ fill:var(--warm); stroke:var(--warm); }
.aa-iu[data-req="froid"] .rc-froid .rc-k{ fill:var(--cold); stroke:var(--cold); }
.aa-iu[data-req="chaud"] .rc-chaud .rc-i, .aa-iu[data-req="froid"] .rc-froid .rc-i{ stroke:#fff; }
.aa-iu[data-req="chaud"] .rc-chaud .rc-i circle{ fill:#fff; }
.rc-chaud .rc-i circle{ fill:var(--muted); stroke:none; }
.geo[data-mode="froid"] .v4-slide{ transform:translateX(25px); }
.geo[data-mode="veille"] .v4-hot{ opacity:.06; }
.geo[data-mode="froid"] .aa-cal use, .geo[data-mode="froid"] .iu-cal use{ animation-direction:reverse; }

/* ---- animation entretien ---- */
.et{ --T:16s; }
.et-svg{ width:100%; height:auto; display:block; border-radius:18px; background:var(--surface); }
.et-sky{ fill:var(--sky-w); } .et-gr{ fill:color-mix(in srgb, #7BA05B 30%, var(--bg)); } .et-wall{ fill:var(--muted); opacity:.3; }
.et-foot{ fill:#8FA3AE; } .et-case{ fill:#fff; stroke:#5B6B76; stroke-width:2; }
.et-coilbg{ fill:#E3ECF1; } .et-fin{ stroke:#9FB2BD; stroke-width:1.2; }
.et-dirt-d{ fill:#8B6B4A; opacity:.55; } .et-leaf{ fill:#9C8A3E; opacity:.8; }
.et-dirt{ animation:etDirt var(--T) linear infinite; }
@keyframes etDirt{ 0%,30%{ opacity:1; } 58%,99%{ opacity:0; } 100%{ opacity:1; } }
.et-valve{ fill:#B9A06A; stroke:#7C6A40; }
.et-pan{ fill:#F7F9FA; stroke:#5B6B76; stroke-width:2; } .et-ring{ fill:none; stroke:#B5C3CB; stroke-width:2; }
.et-spoke{ stroke:#B5C3CB; stroke-width:2; } .et-slot{ fill:#C9D3D9; }
.et-panel{ animation:etPanel var(--T) ease-in-out infinite; transform-box:view-box; transform-origin:211px 254px; }
@keyframes etPanel{ 0%,16%{ transform:none; } 24%{ transform:translate(200px,-30px) rotate(-3deg) scale(.75); } 28%,74%{ transform:translate(300px,8px) rotate(-5deg) scale(.5); }
  84%,100%{ transform:none; } }
.et-gauge{ opacity:0; animation:etGauge var(--T) linear infinite; }
@keyframes etGauge{ 0%,60%{ opacity:0; } 63%,73%{ opacity:1; } 76%,100%{ opacity:0; } }
.et-hose{ fill:none; stroke:#3A4650; stroke-width:2.5; } .et-gface{ fill:#fff; stroke:#3A4650; stroke-width:2.5; }
.et-needle{ stroke:#D7263D; stroke-width:2; stroke-linecap:round; transform-box:view-box; transform-origin:338px 168px; animation:etNeedle var(--T) ease-out infinite; }
@keyframes etNeedle{ 0%,62%{ transform:rotate(0); } 68%,100%{ transform:rotate(95deg); } }
/* technicien */
.et-tech{ transform-box:view-box; animation:etWalk var(--T) ease-in-out infinite; }
@keyframes etWalk{ 0%{ transform:translate(640px,262px); } 14%,86%{ transform:translate(388px,262px); } 100%{ transform:translate(640px,262px); } }
.et-limb{ stroke:#2B353D; stroke-width:6; stroke-linecap:round; fill:none; } .et-limb.thin{ stroke-width:3; }
.et-torso{ stroke:#2B353D; stroke-width:6; }
.et-shirt{ fill:var(--brand); } .et-head{ fill:#F1C9A5; } .et-cap{ fill:#E8573A; } .et-capb{ stroke:#E8573A; stroke-width:3; stroke-linecap:round; }
.et-leg{ transform-box:fill-box; transform-origin:50% 0; animation:etLeg var(--T) linear infinite; }
.et-leg.l2{ animation-name:etLeg2; }
@keyframes etLeg{ 0%,2%,6%,10%{ transform:rotate(14deg); } 4%,8%,12%{ transform:rotate(-14deg); } 14%,86%{ transform:none; } 88%,92%,96%{ transform:rotate(14deg); } 90%,94%,98%{ transform:rotate(-14deg); } 100%{ transform:none; } }
@keyframes etLeg2{ 0%,2%,6%,10%{ transform:rotate(-14deg); } 4%,8%,12%{ transform:rotate(14deg); } 14%,86%{ transform:none; } 88%,92%,96%{ transform:rotate(-14deg); } 90%,94%,98%{ transform:rotate(14deg); } 100%{ transform:none; } }
.et-arm{ transform-box:view-box; transform-origin:-6px -94px; }
.et-tech .et-arm{ transform-box:fill-box; transform-origin:100% 0; animation:etArm var(--T) ease-in-out infinite; }
@keyframes etArm{ 0%,15%{ transform:rotate(30deg); } 18%,26%{ transform:rotate(-25deg); } 30%{ transform:rotate(0); } 34%,40%,46%,52%,58%{ transform:rotate(-8deg); } 37%,43%,49%,55%{ transform:rotate(10deg); } 62%,72%{ transform:rotate(18deg); } 76%,84%{ transform:rotate(-25deg); } 88%,100%{ transform:rotate(30deg); } }
.et-spray{ opacity:0; animation:etSpray var(--T) linear infinite; }
@keyframes etSpray{ 0%,28%{ opacity:0; } 30%,58%{ opacity:1; } 60%,100%{ opacity:0; } }
.et-bottle{ fill:#5FB4EA; stroke:#2C7FB0; stroke-width:1.5; }
.et-drop{ fill:#5FB4EA; animation:etDrop .7s linear infinite; }
@keyframes etDrop{ 0%{ transform:translate(0,0); opacity:1; } 100%{ transform:translate(-95px,var(--dy)); opacity:0; } }
.et-ok{ opacity:0; animation:etOk var(--T) ease-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes etOk{ 0%,84%{ opacity:0; transform:scale(.4); } 88%,97%{ opacity:1; transform:scale(1); } 100%{ opacity:0; } }
.et-okc{ fill:#2FA35B; } .et-okm{ fill:none; stroke:#fff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
/* étapes */
.et-steps{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0; margin:12px 0 0; counter-reset:et; }
.et-steps li{ counter-increment:et; text-align:center; font:500 .85rem var(--f-display); padding:8px 6px; border-radius:10px; background:var(--surface); color:var(--muted); animation:var(--T) linear infinite; }
.et-steps li::before{ content:counter(et) ". "; }
.et-steps li:nth-child(1){ animation-name:etS1; } .et-steps li:nth-child(2){ animation-name:etS2; }
.et-steps li:nth-child(3){ animation-name:etS3; } .et-steps li:nth-child(4){ animation-name:etS4; }
@keyframes etS1{ 0%,13%{ background:var(--surface); color:var(--muted); } 14%,28%{ background:var(--brand); color:#fff; } 29%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS2{ 0%,29%{ background:var(--surface); color:var(--muted); } 30%,59%{ background:var(--brand); color:#fff; } 60%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS3{ 0%,60%{ background:var(--surface); color:var(--muted); } 61%,74%{ background:var(--brand); color:#fff; } 75%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS4{ 0%,74%{ background:var(--surface); color:var(--muted); } 75%,88%{ background:var(--brand); color:#fff; } 89%,100%{ background:var(--surface); color:var(--muted); } }
@media (max-width:560px){ .et-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce){ .et *{ animation:none !important; } .et-dirt{ opacity:0; } .et-tech{ transform:translate(388px,262px); } .et-spray, .et-ok{ opacity:1; } }
/* légendes au survol des réalisations */
.gallery figure{ position:relative; outline:none; }
.gallery figcaption{ position:absolute; inset:auto 0 0 0; padding:28px 14px 12px; display:flex; flex-direction:column; gap:2px; color:#fff;
  background:linear-gradient(to top, rgba(10,20,28,.82), rgba(10,20,28,0)); opacity:0; transform:translateY(8px); transition:opacity .25s, transform .25s; pointer-events:none; }
.gallery figcaption b{ font:500 .95rem var(--f-display); } .gallery figcaption span{ font-size:.82rem; opacity:.9; }
.gallery figure:hover figcaption, .gallery figure:focus-visible figcaption, .gallery figure:focus-within figcaption{ opacity:1; transform:none; }
.gallery figure:focus-visible{ box-shadow:0 0 0 3px var(--brand); }
@media (hover:none){ .gallery figcaption{ opacity:1; transform:none; padding-top:22px; } }

/* ---- bandeau d'accueil : plein écran, fond #0B0B0D sur toute la largeur, texte clair (identique en thème clair et sombre) ---- */
.sh{ --fg:#F6F3F9; --muted:#CBC3D6; --line:rgba(255,255,255,.18); --bg:#0B0B0D; --sh-tint:#8FD0EE; --sh-btn:#2676B8;
  display:flex; flex-direction:column; min-height:calc(100vh - var(--head-h,78px)); min-height:calc(100svh - var(--head-h,78px));
  margin-top:-56px; padding-block:clamp(26px,6.5vh,76px) clamp(8px,1.6vh,18px);
  background:#0B0B0D; color:var(--fg); border-image:conic-gradient(#0B0B0D 0 0) fill 0 / 0 / 0 100vw; }
.sh-txt{ display:flex; flex-direction:column; gap:clamp(14px,2.8vh,26px); margin-block:auto; }
.sh-h{ font-family:var(--f-display); font-weight:500; font-size:clamp(2.3rem,min(6.2vw,10.5vh),4.9rem); line-height:1.06; letter-spacing:-.02em; }
.sh-h-a, .sh-h-b{ display:block; }
.sh-h-a{ font-weight:300; letter-spacing:-.025em; width:fit-content; padding-bottom:.08em; color:#6FC3EA;
  background:linear-gradient(100deg,#A9E2F8 0%,#55B4E4 45%,#2F7FD2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sh-lead{ font-size:.97rem; line-height:1.6; color:var(--muted); max-width:50ch; margin:0; }
.sh-cta{ display:flex; flex-wrap:wrap; gap:10px; }
.sh-cta a{ display:inline-flex; align-items:center; gap:9px; font-family:var(--f-display); font-weight:400; font-size:.94rem; text-decoration:none; border-radius:10px; padding:10px 18px; }
.sh-cta svg{ width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.sh-b1{ background:var(--sh-btn); color:#fff; border:1px solid var(--sh-btn); }
.sh-b1:hover{ background:#2F86CC; border-color:#2F86CC; }
.sh-b2{ border:1px solid rgba(143,208,238,.4); color:#CFEBF8; }
.sh-b2:hover{ background:rgba(143,208,238,.1); color:#fff; border-color:rgba(143,208,238,.7); }
.sh-rule{ width:56px; height:1px; border:0; margin:clamp(0px,1.2vh,12px) 0; background:var(--sh-tint); opacity:.5; }
.sh-trust{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,200px)); gap:16px clamp(16px,3vw,40px); }
.sh-trust li{ display:flex; flex-direction:column; gap:5px; }
.sh-trust b{ font-family:var(--f-display); font-weight:200; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.15; color:var(--sh-tint); }
.sh-trust span{ font-size:.8rem; line-height:1.45; color:var(--muted); }
/* logo sans slogan, centré tout en haut du bandeau */
.sh-logo{ align-self:center; width:auto; height:clamp(38px,5.6vh,58px); margin-bottom:clamp(12px,2.6vh,32px); }
/* tout le bandeau d'accueil est centré */
.sh-txt{ align-items:center; text-align:center; }
.sh-h-a{ margin-inline:auto; }
.sh-cta{ justify-content:center; }
.sh-trust{ justify-content:center; width:100%; }
.sh-trust li{ align-items:center; }
.sh-more{ align-self:center; margin-top:clamp(6px,2vh,22px); display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--sh-tint); animation:sh-bob 2.4s ease-in-out infinite; }
.sh-more svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.sh-more:hover{ color:#fff; }
@keyframes sh-bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }
@media (prefers-reduced-motion: reduce){ .sh-more{ animation:none; } }
@media (max-width:860px){ .sh{ margin-top:-36px; min-height:calc(100vh - var(--head-h,106px)); min-height:calc(100svh - var(--head-h,106px)); } } 
@media (max-width:560px){ .sh{ padding-block:28px 8px; } .sh-logo{ height:34px; margin-bottom:10px; } .sh-h{ font-size:clamp(1.9rem,8.4vw,2.3rem); } .sh-txt{ gap:14px; } .sh-lead{ font-size:.92rem; } .sh-more{ margin-top:6px; width:38px; height:38px; } }
/* écrans peu hauts : on resserre pour que tout l'écran d'arrivée reste visible */
@media (max-height:760px) and (min-width:561px){ .sh{ padding-top:24px; } .sh-logo{ height:38px; margin-bottom:10px; } .sh-txt{ gap:13px; } .sh-rule{ margin-block:0; } .sh-h{ font-size:clamp(2.3rem,min(6.2vw,9.5vh),4.9rem); } }
@media (max-height:620px) and (max-width:560px){ .sh{ padding-top:16px; } .sh-logo{ height:30px; margin-bottom:6px; } .sh-txt{ gap:10px; } .sh-rule{ margin-block:0; } .sh-more{ margin-top:2px; } }
/* titres de section de l'accueil : capitales */
.sec-h{ font-family:"Barlow Condensed", var(--f-display); font-weight:700; text-transform:uppercase; font-size:clamp(2.1rem,4vw,3.1rem); line-height:1; letter-spacing:.01em; }
/* ---- les deux saisons : 21° en hiver, 24° en été. Cartes sans photo : une ambiance de couleur qui va du dehors (coin haut droit) au dedans (coin bas gauche, là où se lit la température) ---- */
.ss{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px); scroll-margin-top:calc(var(--head-h,78px) + 24px); }
.ss-c{ position:relative; overflow:hidden; aspect-ratio:3/2; display:flex; align-items:flex-end; color:#fff; isolation:isolate; }
.ss-c::before{ content:""; position:absolute; inset:0; z-index:-1; background:repeating-radial-gradient(circle at 0% 100%, rgba(255,255,255,.085) 0 1px, rgba(255,255,255,0) 1px 13%); }
.ss-w{ background:radial-gradient(150% 150% at 0% 100%, #EE6A32 0%, #DC4A30 20%, #A9363F 37%, #62305F 54%, #2C2B5C 72%, #172748 100%); }
.ss-s{ background:radial-gradient(150% 150% at 0% 100%, #1B6AA6 0%, #2A86C4 22%, #58B6E6 40%, #B4E5F7 55%, #FFEFC9 66%, #FFC467 80%, #FA9238 100%); }
.ss-ph{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.ss-c:has(.ss-ph)::before{ background:linear-gradient(to top, rgba(18,22,34,.62) 0%, rgba(18,22,34,.28) 38%, rgba(18,22,34,0) 68%); }
.ss-out{ position:absolute; top:clamp(14px,2.2vw,24px); right:clamp(14px,2.2vw,24px); font-family:var(--f-display); font-size:.86rem; letter-spacing:.01em; padding:7px 14px; border-radius:999px; background:rgba(20,16,34,.3); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.ss-out b{ font-weight:500; margin-right:2px; }
.ss-b{ display:flex; flex-direction:column; align-items:flex-start; gap:clamp(6px,1vw,12px); padding:clamp(18px,2.8vw,34px); }
.ss-b b{ font-family:var(--f-display); font-weight:200; font-size:clamp(4.2rem,9.4vw,7.4rem); line-height:.86; letter-spacing:-.04em; margin-left:-.04em; }
.ss-b p{ font-family:var(--f-display); font-weight:400; font-size:1.02rem; line-height:1.4; max-width:24ch; }
@media (max-width:700px){ .ss{ grid-template-columns:1fr; } .ss-c{ aspect-ratio:4/3; } }


/* ---- carte zone d'intervention ---- */
.zm{ max-width:860px; margin:0 0 40px; }
.zm-txt{ display:flex; flex-direction:column; gap:10px; }
.zm-txt h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); }
.zm-txt p{ margin:0; } .zm-note{ color:var(--muted); font-size:.92rem; }
.zm-leg{ list-style:none; padding:0; margin:12px 0 0; display:flex; gap:18px; font-size:.88rem; color:var(--muted); }
.zm-leg li{ display:flex; align-items:center; gap:8px; }
.zm-leg i{ width:16px; height:16px; border-radius:5px; display:inline-block; }
.zm-k1{ background:color-mix(in srgb, var(--warm) 30%, transparent); border:2px solid var(--warm); }
.zm-k2{ background:var(--brand); border-radius:50% !important; }
.zm-svg{ width:100%; height:auto; display:block; border-radius:18px; }
.zm-sea{ fill:color-mix(in srgb, var(--brand) 10%, var(--bg)); }
.zm-land{ fill:var(--surface); stroke:var(--line); stroke-width:1; }
.zm-be{ fill:var(--bg); stroke:color-mix(in srgb, var(--fg) 45%, transparent); stroke-width:1.6; stroke-linejoin:round; }
.zm-zone{ stroke:var(--warm); stroke-width:2.4; stroke-dasharray:8 6; }
.zm-g0{ stop-color:var(--warm); stop-opacity:.42; } .zm-g1{ stop-color:var(--warm); stop-opacity:.14; }
.zm-ctry{ font:500 13px var(--f-display); fill:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.zm-city{ fill:var(--fg); }
.zm-lbl{ font:500 14px var(--f-body); fill:var(--fg); paint-order:stroke; stroke:var(--bg); stroke-width:4px; stroke-linejoin:round; }
.zm-home{ fill:var(--brand); stroke:var(--bg); stroke-width:3; }
.zm-hlbl{ font:600 17px var(--f-display); fill:var(--brand-ink); paint-order:stroke; stroke:var(--bg); stroke-width:5px; stroke-linejoin:round; }
.zm-pulse{ fill:var(--brand); opacity:.25; transform-box:fill-box; transform-origin:center; animation:zmP 2.4s ease-out infinite; }
@keyframes zmP{ 0%{ transform:scale(.4); opacity:.45; } 100%{ transform:scale(2.2); opacity:0; } }
@media (prefers-reduced-motion:reduce){ .zm-pulse{ animation:none; } }

/* ---- harmonie des encadrés : coins anguleux partout, seul le coin supérieur droit reste arrondi ---- */
:root{ --r-lg:32px; --r-md:24px; --r-sm:14px; }
/* grands cadres : simulateurs, graphiques, grandes photos */
.thermo, .ch-card, .sim-left, .aa-sim, .nz-card, .et-svg, .zm-svg, .hero-photo, .hero .photo, .ss-c{ border-radius:0 var(--r-lg) 0 0; }
.et-svg, .zm-svg{ clip-path:inset(0 round 0 var(--r-lg) 0 0); }
/* cartes, encadrés de texte, photos */
.svc2, .note, .split img, .model .ph, .gallery figure{ border-radius:0 var(--r-md) 0 0; }
/* petits cadres : tuiles, infobulles, étapes, menu déroulant, vignettes */
.tiles div, .iso-d, .tip, .et-steps li, .dd-m, .svc img, .swatches img, .logo{ border-radius:0 var(--r-sm) 0 0; }

/* simulateur #ch : la lecture (température extérieure, mode, rendement) passe à gauche du dessin, côté extérieur */
.ch-card{ grid-template-columns:minmax(0,1fr) minmax(0,1.9fr); }
.ch-read{ border-left:0; border-right:0; }
.ch-temp span{ margin:0 0 6px; font-family:var(--f-display); font-size:.86rem; letter-spacing:.01em; }
.ch-temp b{ display:block; }
@media (max-width: 900px){
  .ch-card{ grid-template-columns:minmax(0,1fr); }
  .ch-read{ border-right:0; border-top:0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px 16px; padding:20px 20px 16px; }
  .ch-temp{ display:contents; }
  .ch-temp span{ grid-column:1 / -1; margin:0; }
  .ch-temp b, .ch-mode{ grid-column:1; }
  .ch-mode{ justify-self:start; }
  .ch-perf{ grid-column:2; grid-row:2 / span 2; border-top:0; padding-top:0; margin:0; text-align:right; }
  .ch-perf > span{ display:block; max-width:9em; min-height:2.5em; line-height:1.25; margin-left:auto; text-wrap:balance; }
  .ch-read p{ grid-column:1 / -1; min-height:3.2em; }
}

/* simulateur #ch : court texte d'explication sous le titre */
.ch-lead{ max-width:64ch; font-size:.95rem; line-height:1.5; color:var(--muted); }
.ch-lead strong{ color:var(--fg); font-weight:700; }

/* section bruit : réglages sous le titre. Sélecteur à coulisse (même forme que Console Perfera / Radiateur) + interrupteurs Mur / Haie */
.nz-head{ flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:14px; margin-bottom:16px; }
.nz-ctl{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; }
.nz-seg{ display:inline-flex; background:var(--surface); border-radius:999px; padding:4px; gap:4px; }
.nz-seg button{ font:inherit; font-family:var(--f-display); font-size:.92rem; border:0; background:none; color:var(--muted); padding:8px 18px; border-radius:999px; cursor:pointer; white-space:nowrap; }
.nz-seg button span{ font-size:.8em; opacity:.7; margin-left:6px; }
.nz-seg button[aria-checked="true"]{ background:var(--fg); color:var(--bg); }
.nz-seg button:focus-visible, .nz-sw:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.nz-o{ display:flex; flex-wrap:wrap; gap:8px 20px; }
.nz-sw{ display:inline-flex; align-items:center; gap:9px; font:inherit; font-family:var(--f-display); font-size:.92rem; color:var(--muted); background:none; border:0; padding:4px 0; cursor:pointer; }
.nz-sw i{ position:relative; flex:none; width:36px; height:20px; border-radius:999px; background:color-mix(in srgb, var(--muted) 45%, var(--bg)); transition:background .2s; }
.nz-sw i::after{ content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .2s; }
.nz-sw[aria-pressed="true"]{ color:var(--fg); }
.nz-sw[aria-pressed="true"] i{ background:var(--brand); }
.nz-sw[aria-pressed="true"] i::after{ transform:translateX(16px); }
@media (max-width:760px){ .nz-seg button span{ display:none; } .nz-seg button{ padding:8px 15px; } }
@media (prefers-reduced-motion:reduce){ .nz-sw i, .nz-sw i::after{ transition:none; } }

/* simulateur #ch : le dessin a sa propre palette claire. Dehors : ciel d'hiver gris-bleu sur sol enneigé, qui passe au ciel bleu d'été sur pelouse. Dedans : mur crème, plafond blanc, parquet et plinthe. */
.ch-svg{ --fg:#1F2733; --muted:#566373; --bg:#FFFFFF; --line:#D9D2C6; --brand:#027BA5; --cold:#2E86C1; --warm:#E5542B; --th-glass:#FFFFFF; }
.ch-svg .sky-cold{ fill:url(#ch-sky-w); } .ch-svg .sky-hot{ fill:url(#ch-sky-s); }
.ch-svg .gnd-cold{ fill:#FFFFFF; } .ch-svg .gnd-hot{ fill:#86C56B; }
.ch-svg .sky-fade{ transition:opacity .3s; }
.ch-svg .wall{ fill:#F4ECDD; }
.ch-svg .ceil{ fill:#FFFFFF; }
.ch-svg .floor{ fill:#C39A6B; }
.ch-svg .plinth{ fill:#FFFFFF; }
.ch-svg .roof{ fill:none; stroke:#39424E; stroke-width:14; stroke-linejoin:miter; stroke-linecap:butt; }
.ch-svg .attic{ fill:#E3D8C5; }
.ch-svg .f-frame{ fill:#2F3640; } .ch-svg .f-art{ fill:#E8EEF2; }
.ch-svg .f-shade{ fill:#F5CE7C; }
.ch-svg .f-wood{ fill:#B98A5C; } .ch-svg .f-wood2{ fill:#9F7349; }
.ch-svg #coolroom stop{ stop-color:#63B8F2; }
.ch-svg .strat .st-l{ fill:#3B4654; }
@media (prefers-reduced-motion: reduce){ .ch-svg .sky-fade{ transition:none; } }

/* simulateur #ch : rendu « coupe d'architecte ». Éléments coupés (mur, dalle, toit) hachurés et cernés d'un trait d'encre, mobilier au trait, repères de niveau pour le plafond et le sol. */
.ch-svg{ --ink:#26303B; }
.ch-svg .wallcut, .ch-svg .ceil{ fill:url(#ch-hatch); stroke:var(--ink); stroke-width:1.4; }
.ch-svg .roof-o{ fill:none; stroke:var(--ink); stroke-width:16.5; stroke-linejoin:miter; stroke-linecap:square; }
.ch-svg .roof{ stroke:url(#ch-hatch); stroke-width:13.5; }
.ch-svg .attic{ fill:#F6F1E7; }
.ch-svg .floor{ fill:#D9BC97; }
.ch-svg .ink-ln, .ch-svg .gnd-ln{ fill:none; stroke:var(--ink); stroke-width:1.4; stroke-linecap:round; }
.ch-svg .plinth{ stroke:var(--ink); stroke-width:.8; }
.ch-svg .furn > *{ stroke:var(--ink); stroke-width:1.1; stroke-linejoin:round; }
.ch-svg .c-body, .ch-svg .r-body{ filter:none; stroke:var(--ink); stroke-width:1.3; }
.ch-svg .th{ filter:none; } .ch-svg .tube{ stroke:var(--ink); stroke-width:1.3; }
.ch-svg .lv{ transition:none; }
.ch-svg .lv-tri{ fill:var(--ink); transition:fill .3s; }
.ch-svg .lv-ln{ stroke:var(--ink); stroke-width:1.1; }
.ch-svg .lv-l{ font:500 11px var(--f-display); letter-spacing:.12em; fill:var(--muted); }
.ch-svg .lv-v{ font:500 19px var(--f-display); fill:var(--fg); letter-spacing:0; }
.ch-card[data-mode="chaud"] .lv-top .lv-tri, .ch-card[data-mode="chaud"][data-dev="pac"] .lv-bot .lv-tri{ fill:var(--warm); }
.ch-card[data-mode="chaud"][data-dev="rad"] .lv-bot .lv-tri, .ch-card[data-mode="froid"][data-dev="pac"] .lv-tri{ fill:var(--cold); }

/* pages produits : le nom du produit (fin, bleu) et la phrase d'accroche (grasse, blanche) forment un seul bloc-titre, à la même taille, comme sur l'accueil */
.ph-name, .ph-sub{ font-family:var(--f-display); font-size:clamp(1.75rem, 4.2vw + .55rem, 3.5rem); line-height:1.08; letter-spacing:-.02em; text-wrap:balance; }
.ph-name{ font-weight:300; align-self:flex-start; color:#55B4E4; background:linear-gradient(100deg,#A9E2F8,#55B4E4,#2F7FD2); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.08em; }
.ph-sub{ font-weight:500; color:var(--fg); margin-top:-10px; max-width:24em; font-size:clamp(1.3125rem, 3.15vw + .4125rem, 2.625rem); line-height:1.14; }
.ph > .lead{ max-width:42rem; margin-top:6px; }

/* schémas des pages produits : pièces cloisonnées (murs et plancher d'étage visibles entre les pièces) */
.aa-sim .aa-room{ stroke:color-mix(in srgb, var(--fg) 38%, var(--bg)); stroke-width:6; stroke-linejoin:miter; }
@media (max-width:560px){ .aa-n{ flex-wrap:wrap; } .aa-n span{ flex-basis:100%; margin:0 0 2px; } }

/* pages produits : petit filet bleu sous chaque sous-titre de section, pour le détacher du texte */
main:has(> .ph) h2::after{ content:""; display:block; width:44px; height:2px; margin-top:12px; background:var(--brand); }

/* vignettes de coloris : même format qu'avant, mais gros plan sur la façade pour montrer la teinte et la matière */
.swatches .sw-c{ display:block; width:92px; height:44px; overflow:hidden; border-radius:0 var(--r-sm) 0 0; background:var(--chip); }
.swatches .sw-c img{ width:100%; height:100%; padding:0; border-radius:0; background:none; object-fit:cover; transform:scale(3); transform-origin:32% 62%; }

/* photo recadrée au carré (au lieu du format portrait) : garde la goulotte et l'unité extérieure, enlève du mur en haut et de la terrasse en bas */
.split figure.ph-crop img{ aspect-ratio:1 / 1; object-fit:cover; object-position:50% 40%; }


/* lien d'evitement : invisible tant qu'il n'a pas le focus clavier */
.skip{ position:absolute; left:-9999px; top:0; z-index:100; padding:10px 14px; background:var(--surface); color:var(--fg); border-radius:0 0 4px 0; }
.skip:focus{ left:0; }

/* FAQ */
.faq{ gap:34px; }
.faq-item{ display:flex; flex-direction:column; gap:10px; padding-top:22px; border-top:1px solid var(--line); }
.faq-item h2{ font-size:1.25rem; }
.faq-item p{ color:var(--muted); }

/* Réalisations : les photos arrivent tout de suite sous le titre */
.page-head:has(+ section > .gallery){ gap:10px; }
.page-head:has(+ section > .gallery) .lead{ margin:0; }
section:has(> .gallery){ margin-top:-52px; }
@media (max-width:700px){ section:has(> .gallery){ margin-top:-28px; } }

/* coordonnées en evidence (page contact) */
.coord-big{ gap:34px; max-width:var(--read); }
.coord-big .row{ gap:8px; }
.coord-big .row a{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.7rem, 4vw, 2.6rem); line-height:1.1; color:var(--fg); text-decoration:none; width:fit-content; border-bottom:2px solid var(--brand); padding-bottom:2px; }
.coord-big .row a:hover{ color:var(--brand-ink); }
.coord-big .row .small{ color:var(--muted); font-size:.92rem; max-width:52ch; }

/* apparition au defilement */
.rv{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); will-change:opacity,transform; }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; transition:none; } }

/* ================= Accueil v2 ================= */
.hero{ position:relative; isolation:isolate; overflow:hidden; margin-top:-56px; margin-inline:calc(50% - 50vw);
  padding:clamp(28px,5vh,56px) max(20px, calc(50vw - 560px)) clamp(56px,8vh,80px);
  min-height:calc(100vh - var(--head-h,78px)); min-height:calc(100svh - var(--head-h,78px));
  display:flex; flex-direction:column; justify-content:center; gap:0; }
.hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(62% 58% at 10% 88%, rgba(240,100,30,.26), rgba(240,100,30,0) 70%),
    radial-gradient(56% 62% at 90% 8%, rgba(40,140,215,.26), rgba(40,140,215,0) 70%),
    radial-gradient(40% 40% at 60% 50%, rgba(255,255,255,.035), rgba(255,255,255,0) 70%); }
.hero-bg::after{ content:""; position:absolute; inset:0; background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAACO1UlEQVR42m295ZZk1660rWTGYsYm2+cefY97203FDFmVzLC+H0fxzafyvB7Do7urMhdM0JRCEVIsiqJNM+ub2a6Zxc2sa2ZvZlYzs4WZNcxsy3+XMLOpmeXN7MnMdszsH/9938wKZpbD70b+/bj/PzWzsX8+aWYZM3s0s5mZnZjZlZltm9mNma369/P+HCUzO/frt83si1/j1Z+r7fd8NbOe3+PJP9c3s2szO/Y/U2ZWNLOmme2b2dDv0/a/75jZTzP7ZGYtv77GJu+fSfv7lP1at/a//x34e8z9/5jfz8ys4s8/8Pe79n+vmtkz3uvB79nyd0+aWdWfIfL5WcOcTPz/ro9T0t955O+cMbM7v37W3znu35n5OCX9Od79e2m/59A/O/I/22a27n9+9u9Hfo2UP8/cnz3pv980s46Zbfjvv/szFX2ddf1ed/7zFTO79DXx7O+yinU3wFhnfDzKZvYWi6JIE7PuL5Pyh/jkL5Pwh1n3G+6Y2Zk/bMJfPOGf3fNBavvAtnxCqz4xOX+ZLX+Igv/90R96xZ/F/N9Tf54DX2Apv+6rv+y1D8oci3/qP8v75478fWJm9q9fe8evc+YTHPk1yv5edX/Xlg/Ypv9+4tdO+zPv+efG/vsTv08bz6/FX/Zx3PJne/Rnnvj1H3yM1n0cmj7Zfb/nyCfyzX+vhZb2z+z7ZL+b2V++SPpYUOdmduo/e/E5Sfn9zd87wgLL+rtoAw392W59cRX9u0N/p4GZXfj3y/79sa+NW/9ZAtfWhmhizDb932l/pqwbtwN/7omP+Ysbyphf45eP3WksiqKEP1DCB3nfB37ig7jjExP5BJd9oaz53yc+mXe+A19gjeNucQdYJBkfhLn/ftUfZuEv0PSBSPsAPvqz5fwzHV8QFf972T+/hgWS9kmIsDkKbrmr/jlZsqkvkL5b1qpfd9cHc9vfqQ6Lu+ELpesT+MO/Z/48DX++pl9/5u9S9me6hhGp+zXP/Nm3fXwPfYGuYSEXfCzecWp2/ZpaKIc+Zlow537/mt9Tp0rF5zPtc3Lj45D0zz749eo+HrrGmb/ri/9+x3+/5qd13t8hi3WU9bG79c+XfS2s+TvG/N1iPoZFH6Ndn/e+/3ywdJKk/Dmr8ijisGZN/2AHR9aRP4yOr4RfOOFHwbMPyK1bJ1m4hVuDug/Umt945JMY94c/9XtrE8x9clI+8A/+d1kpHWNZH4CuX7Ps1kHW5M0nqYfjve0/y+MUmPr3n7HIN7B4M3C9XnwjZrH4+z6wn/z5636fnJnd+9jk/f4tn9wMrFjbJ/TOx2UbE3Xtz/jo75r2P4v+/4t/ru3fO4WRGPlifvB5SfuzmS/4ti9Q83mQG1LG+BX9Tx35Xb9nxv8s+99bPu537t4c+3P98J8NYeFr/mxDf5cXHx+5HyV/hwu3ytfYTHKzhj5vr/6dGAzXMO4mXJY55wNa9C89wQrpaE77dzb9Yufu99266T/yBWA+SX/giKv5g8X8c10cI00fvDiO4X3/TBFHTM0/c+ODuur3XfWBSPpCLrs1KLjlKfszzfzeY//sBjZYCRs2Bn+w4O8u37/gi2jLLd0tJjju77Hrz7HqE5zzey58cVV9TKv+WS0a+fNbfr2qv+u6X6Pr77Dn19rHaXTq91h1F23fF1bkz13yv8vPH/p8P/vfU/6dFN636s8xxv0Kvin2sMk24TNH/m+dIgtstKzfuwirW4MRSJjZV98oVV+DOhlnPnYNX4ffYbHTZtaMRVEU94dK+kvJn9ryiTqA1b31wX/ChJz5zqn5DTN+9FQxMCmf3JgvAE2KFtWhD+rCHy6GSRj7c7X9PiW3PCWf6JIvhnXfFLJSa74x+pj8M590uRry3b/CSspv7vpn5r5hI38vnWLmg3jg1iLuCyuHBfoA16blm+fRn+G7f3fkkyRLLLfr3a+/62NQxftl4PcXsAFffHzf/f6f/bqb/i4JxEQ5H1fNi6ytnkluwIXPjwK9HNzLBx+znj9P3K9Zxam+73Mr9yThzxnDYo9w8m34ez64MRz5/zO4HkV/x7zPc9Lfqa8ouYwBV5B16Qvh2Rfyb3/Zjj/wld9oxSfywS/8261XyR9S/tqmT4yCxVX/fRzWae7Xf/SX6vixM/QBlyvSw4Dv+s8z2DyR/27VJ+MnUIZrH9A5fO9LoAYF+NC65si/F/eNK6SmDLco78809+e992tm/F3WYem7PtEDLCwhSs+IXRZ4znPf1LRsQleefYKHPpZbPgf/+L3GvjDP/BkbbpRa/j5alNqUSR+TC//dpT+HfNZt+NRyz+r+7zVfR3O/zqOPTc+v98vnsOljs/B/Z/wdujBIXR9HBbdJrKlD3/BD/13ezIZJH7hrBDU1HLv3vojbCO6mPoBl+HXrPlEvQAsmgH8iH8w9f8g9fwFZ0yQgIkF/Mx+EHf935P8u4dgf+OSMfXL3fJLeEbQMfRIf8G7rjniUEQQpYO24H/gd0JwCpJ5/P+MbOge0ZeELqed/TyOAPfVnnQA9kJ9/7Z899WtfAAbL+vNtYgwngKri+N4/PldxnDZCPkZm9s3H5YefSIov7gF/LXBCpXx87v3nQkcO/Wd5v966/z/w+xRxUuV8DLZxMgiE0H9DX7zPPrd6P/P1sQ6LvuPvN/Cx0YmXEkCQ+Pvvv4Wjtn3Q3oHhKvi6Bgy2gyPrARDSFJF/CkfF2H9W92vc+T0q/l0dlZv+Qvf+uwKs3Ls/zxgBUsL/XfdBWPhAlPzZXoB97vq11hGAJrDju37dpj+HNtQKAuGZ/z/w+499MV/6z1O+KSP48DVfIM/+Zw+QocYp7gvqBwLvXb9WGjj0D1+8KV/0Qnc6fq2yT24dcNkDfNcnn6dtf+ayP8fQ35cIVxVB+gHgwwWgwrH//BnjlvAxu3fjMsU75uFmyuef+bqb4HTdAAiQ8efehQ+98J/lfEy7/rsVM4sl/eIlv7ncgpkvpEd/GAVXz/45We06khaH/hAdPJAWoPzBB3+Qif+s7Q9z7N8ZI+HSRjAwd3/wCtdf+MDL/+tjsWYQ8CWAYFy4dZrAlVCipOGfEaa+6xOfAUyV8YBSi+gKE1YAjPjg/9aGywDnvQMWfuvP8Ns3sVyKV38fLW4tOrkzn3D6ydqnEXwKg876RD/7cygm2ET8sw2ko+vPpYTODBDsEM+on7cAFDRwgm36xn/291ayTcH+CABEHIkrLfgBYoqFP5+M2MLH+AkLecW/l1IGT9H9Jfydiu8yQVPyke99Iub+OWW79HcdkcKRZWVlwQt+/I0BI937JI79vopej30gdVxv+L0O4WPP4f8f+umyACZ+79/vu0X97t9t+/evfDJPkDgZ+DWKgPfm/vwPsKSRf2fLryecWfDSo4/tAJm6dfiE677B9uD77yB4TiCYkw+rRTTFqSqEpuTv9xWB6Y3/vo4Fp6BT4zjDCXoLN6Lrv0/AZza4kzU/NdI+X3s+Bn0Eyju+4fb9sxWPbTL+M7kuM//dIzZ2wucm639P+TjGfW0UfT399LUzjUVR9NU/fA5Y6tGt8L9m9ifQj4b/fRMJDE3+ig9Gyq8zhK+TgDshzHAbD7+H9OcEOOg7/FGhIW9wAeY+YLLkYzznGo7NmH//Gj75lX8+7s888AHOInt2D7hr4AN+75OR8EUw8+8sfBLTePY1v9eFX/s3oCzzd5n7AlRgrLRvdglt2PL5WEHQm0K2T8FcHFBoyxfMb3+uuf+5goRYCe5QEehIB/Drnb+vgvtbX8wluJUyRrKm//XPKlt74YZs5GNfA7qhMf4JMEHu0a1/roz44AS0ipz/PTKz41gURX/5ZM395jl/sDs/2oT3Vj3w0OcjwHd9+K5jv9EcL5TyF930ga/jSH1aipgbQD8EvBf9+FKSY+g79BlBnfDUE79GEQHonT+zLFLW/53BgHb8WZVR6/v7v2BjDvx6T36t/7olbAO7z/l1Rv79N2QN2/5eh0j56khVynfiYzzx+727RZv5wpu5pXvwRS446x4+/NifY8UNVdIN1Jt/58avX0DwbUjOKM2urOWqb7JPvsC2fZPoyK/4gs3C2DX9dxkkQfpAZ+o+Fg8+blv+7Bd+n2dAkkWPIeSqvfv3tRlflZSKu5U0WCZl0wQbjbE7zCfzxv+txMLQPxfBH5LveuTXy/vD9vz/e79e3nduBxM69et+8nuI3FPyl9tFGlfXTeEFu/79vj9TBUEJ07pNf8ZfQG1WsYDeYOW3kUlL+wTLT95d4iSsIXtZRbzwBYiLEIIFFumOb1QFzh1fiE28RwVB5rOP4wg8mCJ4EyMfv13g1z/8Mwc+JvtAUczfqeTPdAtOSgXjrRS2DNU1xu3Kv18BZ6Pti24KTP2nr70Nv86lP+8mDIOyuKIkHOEE7AIu1DpKxaIoOkFKuecXegM2eYx0btMfQAGUEiYjn4BjWIFfsN4TBGlTQEZpwIYFBHg9kFAE2iud3oG/LegvgWN4jATFFO5A1p/xzV9ebDhZXAU3SiiJZ7ANEF/H646PxRoYa/eAPWdAR/JI3yup9Oib+F9fBCXwKXQaKaMnbkgf7lfKn+kUKEbbx3sKYtOzP/8YEJmsdsW/O0ZGsewL5Nnv/dvvce7PuO6bUan3L35qf/FNWMTGmvuaifk7pwFlPvrvv/mzDmHIJv5cWcR3ccQzD/5sFz7PVTAT20nk+yNMQAKknRfAcMJYJ6AtKimw6YNa8wlIAHpRgqIJJp4W2y1wyTdf9BNkJVPwZ2OweKt+z3/gI3Oy1/x7zz554nTIz20Bctz3d+j5QItfoGMw79fJ+PMNgV2vIfJfBdMsAtdFqIDIRgVHGJTav0AwmPeFI3/0HnMx93eTe/fD3/uLz88c7/XqBmYMAyE3cRWZ3FtfZIp9pgh6N0AtfvUFvu7vZyA0XcIYzREQCgKe+DNf+5ztwa2JIYhW8usK7mrk73rm67SIQDzjz7ShWE0BRAswj1hpU5+wnP+9C1beAnhiBlZxDGutCX3yzzTAzzUsSOHJl3D6I3+en74gcu5XzjyKF0h/Cfy3Dr7uiv9ZQNrUfID+AEa85gtIx5+CkSLQBfGFC+77RkjzTnxCpn5dZcfa8MOf/P8XJGc2/Xki4O8KgB9gjSZL5LA00vaCAytu6eM+JhX/rmINnTyvblAm/v5nSC69wcrN/P7E19u+qA9wuqVAPKpg0YpaXMYCl5spw9hFbDTAxroH36Pp7/HuzyJKbQ6W/gdg076ZvcSiKPriL7sCslGE43OMTFDT/dpXQGni9/7y3/32HTgHnzrCrr4DOajsL3ADLvArsn73sB4HsO7nSNdr0e36z979pYW9doHtapF+xjsm/Vlf4B6JQiq/UCeO0sodHKkF/72OzFX4ov/659Z8bMu4XxyuV8Y/c+3jcQI369bH618f3w5OmRpwWfqjCVjzCfBqbhRRVH/5n9fwkzMQE9R8vI98YR34pkvjVPnXx18c8bRv4g3/Tg7/T4ApR/4+daTen3AaZcDuyyOp00XCLeNjPTSzYSyKopxbiSt/oYx/KQvyj5Is64BKlNl5BYNN0Na5v6x84D98EOb+MId+bQ3cHrDROWiGUpYoCm8Bdrv2iTf4uM/+e6VzI1A/DdazirTqG5CGun936M8oclMVgUobk7wGRtiWnx51nFhDEPBTWKxPcMeufKHOwN1o+bXPfLHGENsksZDO3W3RWLR9DE79eUtuQHZhBJRS3gAjT/N06M8jimvNf6f3jftaSfnnTjF+ygxKNKHs3gSp60NfwG2frxJcWj2vxqsMWvLE198YfKMIvrnitnex7QxSoC5cjymOcJHWezhSZKUryDytQE5TxiLedOv9h//bgJ5cYcHEwUBTEiEDaDABf1jukQKzhg/AvQ/SCqRJ8vPfQXNUJuodGyDpE62AdhNZ0Z4PbOT3eQBuWgLX5AqLo+I/E6V04gsw8muOcMwX3ECIK02I8h7JCxmXCbgXfaBADZDO+vCDI1B2c8j+xhAH5KDAqYGOmgCqoazeFRROVbgEM3/mSwR1PcROVXBW6ggCnwESrIES3EdwK7dSaMeTmf2Pj2NHyEMH0fjILyY4aQPBn2CbOiZ9BYFEfSkhIJaZfMQ/AAFdQdbU94i3izR5CrTWBMgvBUiYBNu8Qnf4gvT5HEqbKrgIEyQC8v7vjj9b2q8T83d+howo8veNA2JqIYP35BNZQlIjDQuqRBIlaHL1/oGELQUNn3xiiSREDDLEKwXfkD1QBZr+uSQ27jOYi1PEDRP8bAal0RCCggViggU2sfSFPbhoT47RK2chKoBikUuc6CU3dGtw1+I+p+/A1KswXnMftxJQsBszW40j4bDuFjbhH0pgIN78BRSAtRBAyTo++qJo+J9xZJXuwXW49AEY+L/lFvyLoz7tCz7hAz0CmWgMEksSi9Lgx5bcujz6IP7l97rBQhv4n9/xLCMkV9KAsVaBYZcRJC984qewRAsEc2O4Z7LWM0Bo2vS/wIVZgSBi1+/9BnhN6psXkIjkPgi/XvHnaILbIlpCCnDjKegHe/4ucn+G/v2mL+TfiIWy2Iz3+Hcd87vl32lCp/jHEvty4HPyDRnXia9F5TPWYdGTeD9h1Ftg6vUkkhWppeFfLkM61YHUJeEDeg7r0wOcJSLLLeC1Ux/oGaCZLAKvNWyErz4xWsR7wCbHS+SYCiJl6fQy0Cn+gvux7T8XL3oFqV1ZzjSw7Be4OitIPm0gO6nEjk6RLmKPdbciGugOcPZnnDprQBxKcBma4CavAA+/xanU9oU48/ue+32lcfzs4y9058Sv2fDPDRFgRyAx7fr12hAzvGGzTi0IjzOgFL8BDjzDZn+DGEQBe9LXRMyfS25sDOiJXLyWj9EM6fJ7CAPq/t2BFCsx3zkdLNonYLcC0Xf96Jj5jopwnD8B5I8hUzcHVTEBRt0muK9PFoSiTRwhEhdM/Pfy+RTciXSjbJiQmhngo29IjRYQia8g0zcEJ4TY6Q9fcFmwu+QG3fqCacNCjZfYeitYrEf+zCOQ0vv+XmfuLgxxtL/7ItD7f/IFMAEG3fF7Hvrz5OFfSgET82ufgxYr1mAM7kUV94yDzsvyBW/ILYgGcYpg3vw9I18nG+DFJ+C/a8GLhizRtDLFx/77DHDpV/+z5nN1DsDgnSBCLIqizz65dX+AHvygDsD+Df/ZFHBKHhwLyaQ+IxGSxfF85D8rAps+9r/3YAkJ7wiv1kP3ANB/9ZdbABKUUmQDk7CFDfkCKKoH9YbukfXfXYPjUQD98w4njDDfItCdkU/wIaCtClCXc9+ows/rCLyrGL9//B5F/zONRISonXkIK8p+Iu3BYr+CHptD4HuNRVzEBpfouOfjJ7+4jlzDCwLHOORwB/4eV24c7/z9apCDLcC0a/m7bCArm0UC7idOjBo4zwlkkmvg3K8omI1FUaSgQ/6P+Ze3YZ1zwKUnYGa1wHXdgk+jlLgCIuHLSaSU1zBpZ3jgdWjlRliglO4PEfiYT2TcJ7WA43EGn38Xcih9X88sadU9jrAmfLhf/vNt/96/HllfAYYU16Tp91TCQDzoNrBruV8pC6UZanC1sr7Rdt133APR/xXsvz4C2BkMzQiulbjWDTcgU8CfZyBKdS0UwYmA0++Dj30PToxKP8SgOKn795U1fYFCJ2OhIE7TN2Hen2UIVzEL10i6zn0EhBLVKmP7CnChFIui6MAv8uqDnkCeX/5XFdb4GJHrF3/oFaRYU/5gd5DxzP0BF0i6DIA3KumxBmbbEPDgrT+TAkJF1oaM4BjwIYUEeRDUpWRuWKiL8eh+3Bi+WQKw3haoAO9AWl7BbVbtCGUeVXdjA9QABTQi7c98Ie9jkRVAj3wGKUmke6EP4k3oXimQmJJAnF79MzXMz6svrlXEI0qerQDylGvzcykRNfeN8BmChSGSQarboY08QBr90U9qaTRniDtyGOMNELPmgAPfAYO+w1VK+TpcVaZwjt2vKjtj50JPkVMfwsTH4dso2KuCAppCwkIIwK0FRXUN7ksSapceoMMs1A0xuBevcD1S7sv9C78/4YvgZgk1KYDIcwoJWd/ve+DPWPT7K3O4As6vypQVEStMkQC59p9/Q9wgidKD/3kBauSOP5tqmIgHIiNyA7dDC8QAZSrAyyPxkHL0Rhu4Bm3kCLRQiYTffIE+IdhS2a1NELzuMV41WHJBpYplYnBRlcMYgO7agEsyw/uk4a6uA1FpQ5vY9XvIhVQC7tDMmnE42dqlUkvs4jiMgChIldB1PzbnD5YEx6IB9UceR30c/k8XVnAC0ncSZCHVZOBiEge3B1hxDJxS0OIbkjo/LdSPk7D0fcnqH1oQ8kqZIetx4WN0i3d/RCLmzt/5AXyVM3+nmFtXcX7n4CNMoANUinsNQocM1D/iAu+CC1LHSSRy1aW/+4m/X+Quk8oRSGhxAqhz25+9Dmua8nuJuy5Vu/SSBah0lLTqAkdWtSuJb3ewQI+Ae7ctVJgSBCx8vwkuTRlB+76P7T5Qpmszy9GH7sAqzEHvbCFgkFRJweI7fNUVpEozS0SXLlhoKqpoFhS7PX9JBUfn0MNNkGHSMZWEz7qBY1THlbglx/55qXGecDzPwCkgTXUC8ngXukCRsaQgER1gBxrJDf9OEn6yVM6XGKcuFpIs3z5QBWXkbvz6dz4um/i9wYdklrcLnDaNdL3I9Mf+OwXga9AwniBImwLxKkD+JpKZoDVKuQxraerPPoA7FiGgfQOq8wZqbc7H/hLBadHfeQ54cAQZmIzaPBZF0S5y7TMc4Zf+QFJG9DGxXaRdVQBwbqHIyQL45KHfWL9rIM19uAQV1jEotyCyxJFEuUFaN7Igm68i6SE5vhI7e+AtiDl2B7z91EKRSfnyc1gmCUiHWDgRrMMVjuIEuC0XCFITOOJ7CNyUVV0HWzEH6kELWP8IvqlEASl/txwwXmkEf8E90kKIQ9iwCguZADFfmdg1BNFiBj6Cp5MEVCm9pZI3FQvKdAkLqjjxj/xaA+DVNWQSxYgUeUkKmPcl4/UKzswwFkXRClQZUlJfgV4pqyXfsYbjX35XDb7PLhQhA5C/5z5Bxwgeti3U17i1UGZMOr8fYNlV/Z5pDHwP2jqJRQWtdf35rqH/U2r8Day0TegR5bMqi1ezoEz/DN1gCpjog4U6GTtghL0h3nhw9+wNPJR3HOOGzSzijlyuCU6EJrKwKrZY979LiSL+dQxxgOoVii/xCen+d6A0opBKvHHt763M8Q2CxaqF+nti7SWAhGmTfPINp/JpMlZDX9Qx+NHvQMTG9rECqhCrIcY+iXhhz1z1LSXGOuQ34tb2kQJeB6QzxJHbhw7wxII0fYIFn0AWSIyxPLJiVxbqRJz7Z7/799OQeG1AoyZc9sU/q1T0ll9nG+7SDjJeqtWxZR/Fvi/2saKTyOT7eOdfOIpfgabMYU2eoKJJw6pfIj2cWuIrvHpQewHueAPvQebdAr59zb/7hFPrHaflbyA1opgegu+h0lpjuAYjUFqFQF2C+y14UQYpBQrEAU6kQ/uoVs8j56CUvgzQDfId1/CdJwioUxiXR/Bn5LrFzGweB3R2heOz7LtH2q8+6KIdoAULpJUNkeyqheIpitiFnbYBtCt58xnkl5h/72hJoyirKRX5A+iQW0AUzhCEqZDKNXx6gzUaA0dfWSImzXygUwiuTkF1nMOPn8HXE7MuZ0GR/urjIS2gLNE2JrZkoWzDiv8+5Rv115JSp47xF3NuF4moHiRfcikkbhgicEtbUNLL3ZK+8F+Md3wJkVJmWNd6gfslIOEBEKIKeG74vVqg8mq9pHH6CGhIWdBvrvl4/gUqht5TMOp7HJDTNny1CZx8yXBeLFQeevIJUPZvbKH6vbjLyuaNkMNX2dQk/Mg4CDOrYPMpsDgHRtoDo23Vj646LPUCkFEG6o+Fv7R8/p6FqkJdZD1LkH5dQY62Cv5xAzh4EtDVHCfWIbgeOXAehjhtnvyzjz6pGxZKcxEOm/g4rvhi6/miUPZMJSOuQPJfh5sgGPUIqfEu4Dll/UQmUwBagRXfBVKhwvXn9rEI48jHbuZrqeI/lzv2BBFFDTz3kYU6HmvYPK9I8q3jxGsClCD6MjOzukSy94CuNOCq+3wKPsL50sBoMFpIJNz4Ma38fgaB4GfItgqAvSTmHCFbpTYT77C2BoxaLoyyV33gnEqEdBBMJpGQUM22QxDsdYS1YQF1jVMkLeIg/Svt+wgp1hEUPQtwmHXc5vz5lCJ/QhDagsYxbqE0wAQ6QQNVds3nSIVXfvocpJeUOhW4Uy1AZgXAk/cg2Esc/R1B4jsC2Czcuz7YhT0LhSjjyHgK4foFBIa1w5s+RtKpxkH2MkCfB0ilq0xGB5nWZiyKolOQtfP2UW2d9Mn8j1sJQVGiXvaQ2VO7ApWBkq8s6C1aoncW4UMJ8VDWb4bAdAo3IfJJeViSNqWwSCLguFOkSvMgUon0skAKXx0GlExSaasssN4ZID9yrC+wIfvgEitW6ICjfQMUowrd5AAZtgzS9arIuQ4M9gI4fwJwaQ4LXmUMIiRkZnBZJhYK8rwj0L0H9cHcmMXhjqXAoxYdQlyWBDb2DOl4UQ3awJilbVRWOQ0uyxjB3wMs8ze/53cEzmVw2hvSjYmgM7RQuTILDsGRv3QLEMoMmOcYWbkGBroMKGbo1iMC/JbBcXcPYnwWgWgTPGIVSyyDDy3ehRheTSyOKvx1YaDHSzhxA+qTDX+XZ1+Em/DP5ce/ebBVB7n/i39+iOOxAk3km1tKBU47vrFEDFKjoh2cfGO/j+r9tTDOKuhSs1DHYg6LW4MYYwusNtEc3oBOLIApz7AhphbKuqlUbgJWfLoEqz3bx+KXTR/bNpJe3ywU7jnxZ/rpm0eSrztsnoGFQuoSgEh2NgH4IL+8JNdBkvlVn9TfFuoWx5B67FioP9Fza2bIfDFQUTXQ7wi+EqCK1n2RlaBaUVaojQ20ArplHp+Z+CJ8gX5tgAH/j1v5IzxbHQGg3Icv0NMZBioFHkYZEKSgzUegDzFAl6rlfOWb5wX4+BzU10+++IvgYP+ETq8GiFPBthIoOShSFtjYcQRSLQu9Stah7RsDLfnl1z4FOqPuABIu15AgyloQwiawmN/ArLv159v2+d/2uTvAGisCplsDEjL1a/+2UDZDWssbiDCGEGmwWVReItmqBcHmHyASsUxqw0I3qi24FBFcgQyI8wLnC6BWqgKoGHVKqjyCPllFZNyFtk6BzjqCwAoQhikmVJq/7yBasdGMsPYIvuIWFlYWqWQRpIYg119AY5fySbhCIFYDGWnuY6oKREULbTyktC4AOnuGsOEFfq9qlEhFrYyuMrOffW7y/tlnC+3t5MoVLFQhimEhSQUud+QBqJWyibKmcfAzkkC8VpC1HFhoVdEFLSIJ4GANJ3MRCTFpQdUm7zPIR1oDN+4CD/E+UzPbjUNRMfYvD/xLbZ+IFhbMuS+UF2j7tuDMX0JnpszVJjJ91z6RVSQQeljg6pchZher1asHyxPw8Dx88gyw9E0gNF3weSuYTFFRfyP5IXx9CLmVTgKB/UpfR2CIPWNxZ/0ddORL6KnCiD/8uc4AcSUBjabhh2pcK25ALvCe6ktyYkHsGgeNdh1wlkoG38JHzy69z95SGn4DBquJYFm0gz8A2c6RIt8C5bSN+dd7sTwCq2VtYzN2/JmUlHmzULZ5YKEkchMx0NTMojii11VQIcUXUGVQHTEHPginFpo4imWldl7nvkhEpvkOks46grc1QG0zJHB+YxGoqHbWQnUlseXGFgpAsoyBuLnaEBOgAz1fUNeIsHdBkkqAUy0NoMS2u/75e79fGbCcfOZDQH1vUIT0wYneAbYr7vML/r4LGkAVKMAmNuujfRS0JsDFoftU9cWVREIkC6J8DifAG57pt4VinTPAuWVkilUzRPdNIHmSQdCo5zOoclLIOWz7uNwCDh3B7YwQjKrQ+i+/nqjEsvZ3ib///nsHBI8Bsl9VRM4t0B8FnqsCTgeEnnuQsSUOqCK9/IKI/tVPBBV2IVk/BbA9CTy2Ams8x/XNB3vNN5A4A2UMpCAelfrahAUqWChsos2t4Mggc1qx0ApBMiiVMZiBaN4At3sdafAEguJ7C1U2dc05eBEduAtZ4NhpuE4r9rGgpE6iVwtt2Ay8jgNQcCXpugMfQ3ySAwu16GII5q9BRVAmcws8+i1I5KjU7sNt08LsA7ZVY9MiVEk6Yd5huOS27vimKyPR92ZmGfnQU//SHthlyuhlQdCXoFGLJekT/cWCKPUOJPZnWNWiv+QtxI3qXnUHN0Ut2+rAuCsWShucezD6YqE8WRxp3CF4ANv+DKykLzmX6uj9wgaaIkm049ffAJf7BLRGNSRVfT7BaUd+TS2wFQS8K0tChxiuV0KQN4P6Ry2UhS//BMrxsoQlK4kUB/av8sF5oB3bwL31WXbMirA5F0tU2RzoERIsyGA0QFhqWRD25sG76dpHYbEhJlAWUvWpSei6hNpp6nPB+ZoL5VAleem5+iAKVWCFU2CcxbEg48ia3cLvG+MlVrGgq0AZDsGZfnKrdWcfK0/uwldS96lfyC6K7KKFK+C+6gP8BisSR1ZpGwt23b8v2dNffu8930AdML2U4Pnpz3wGP3EHpHizUDu6CspjBOrjT3+vL+CUvPpzfPO//8CY3uA0EYNRnxcHYmKha0Eap5QC5SECQhG8ZCF7MAYqSzbzBRZDoqwG92QITvsMfvECp2HL52oLcxsHHLePdZbwcWnDWxBPfejurtiZIwAPa2aWiYPvUPFdsI3oU+LVugXVsMg2/0EUqmYxBbCingGBqcDJO9Qh5n7qv4DEyqBNKrK9sY89UcQLEbm/YaGTah0b7g4+uHytloVefS8A9pXlPPT3Fob63UItCYlhx26Fc0A0VJhS9eS0eWaA5lR0fWPp+H2wUCpMXAxmUQ+R6RwB4ze/p9Ly8mOlC6X4gZ2qpBJRhlFoVAbaw//CB1diZxMBqXg0X5Ekmvi4iNtxjKTbn8hzlIBq1Hx+DZZda+AAOLe6EajNn1oPqtKSit0X41AnyB+KAacUNCXrfesDJIy1iIh8CrdBVXXEn94HoVvK5HdgiKsY3DZUJFJP/GmhWI16gSfAS75yS/qOhRYDYnMDLnYCPusTJj/nn5sjmtc738FHlHXIgWzTxLF4iA2kjONvHKtXPg6iQKoXjGiqSegGx+BCKOX8DlrAGii5HVjtATSPSusTVkz5Rs2CxciT8Rvw75wF9blOiRkC6yJQC/FeTpD6TgAhGixBuDOgWPuQb0mQ28aaEJViHTGUPvfN/x2xEo38XXUHlQUQdyINopJBfdIF62qIFLcWyRU0ehfwh1VkcA5tnvlkqimOXBolN+RHDyARagCFUE0Itez9DkmTBjthoWnoAqfIARIkClj+Qgb0p4XOVXt+X8UPcQuFGqUP7Pq7qN93HIR/BchfweVt+X3bOK7X3VqqNG0MQdsNLOEvcDsMEFvXQv3tGMQNCu46UJNMkYlNwOo3IApQh4MnnCb3yOp14MeLPPaXf541u1V6Qd0QZCBVcFJU1WNQV1XK9x75BpLOsmaWVtMg5flVQWgBptyl/0wFwH/4BOSAd+rFysjDy/WYwR9/BmSUha+XRFZtDARi7IOiHtMqCSuf/tYt0AB49BuSCDrONkFy0qCvWGilkEC2reH3moMR9w0IhPBVFXavI/v2Ao53ElrBU2C8qnsRs9AlK4UFI6ORsY8tzUTvPQJspxNxAdVRH1CkWulV7KMSe+g/X8OffcCuMxihIRRAcs1KyA2oxtwj7h2D0ECozxBKqALkYap2e+ELtmKhCOYCrsobYOWZz9ENVDptM4sJ7rnzBzu2IHE3CBEPcdQmMGkRBlIqEUXqFQv9/F598fTxmQaChxpUDWLs/fZn+QRs/N0tVhKZvpaF/omPOB2ufFdXgVsmwGd48HcrQuYUx6lg4DP/sFAySz0UIxzlEZCfAZCG3z52/8HJ98nv+QAabQ30yFsEbfTND5B6n4DRqK5lZfj6abiMdRicDii4ByCTJYCCpEAn7kCuJdJ+dSnQzUBVIp84uSSVSkDu9QXvNfN5jyDDuoSruOJzp4D5m4WeMYJRt6FFrKlGW2Shn4bKGahUQMNfehOL8MVCwWwpCXYsqK6zoCzu4oiQ1ZM+7QkE83VM8DFy+1cW2sbdexCqXtAVQDsDRPbn8FcVXMnfV6kyNdIRPVTMsj8tlKs9x3ts+qasY/EoG5hxo3CM9K6CqN8IbgTbvYOncQWe+AIWT1H/Pth3ct9WLTRuekCQrdJfdxZU1CIj7YMHLR7EmoVWFhFQmhUEfm/gYSvpUVgi6cvfVnP6eyAcSaA+5gZjD6dF1d0uCkV2/R4PQMTewaxUnTuVdJOLFE9CU9YAZpz2o02lXdXf4slC5fgcXioFf+gNiISYVyO4NXnghjMERo8WSkVJiCsY7hHsvg6so9huPUi4MghM3/3/TaSAq/C1qxYasf+wIKJVNX1W6DT/vdhe/wADHwEPzSIumOKYLcNHlXI+i6SWii8+IjBS7ew9BLLqXDCHi/GHhfJhzxZ6DSogVmJrBGjtGaiCWqipklIcEO43ZE+LcAsaSxKuOVCYDkhJ6mXYhCRNpSie7KPCfI5Nps+vIDETg0Ecg/4rCdyDKic9gVc6AFdCjSMF3RxBUaDU8z2UDhlMYhyE+hn0aeo1PbNQbd/82qrsU4BOrW6h2j2Fp50lhcocqhIVP8wCpWkBR36HKmMK/DaJ418JBfmSPQgJEvaxwEoSvAgpyncRUFURLMeQHp8DytJGfwOrUIG0yjFooX+3UNtN2kmqyEWTnfv4HoHeKsnbNVyUJPzRNAyGjMECXO8U8PUk4MYUYrCchQKdYx8PlSSu+/UugVporD/BfZPaXBWh1HJaVl24+RcYh3ksiqKEL8BnYIA3oBE2QXIfgr8ga10F13kAeE3QUwS9n7JvE5DS4xiEN4D9IqGPkLiYQ3qUhjJF/pYi9T6421MERJoUBUDKOv0FIcEjeL8doDJvIMDLMr/YR5X1OgKhKVhn2iAKrlOQEakiaAcTrF7jLQviVuHyf1ioJ33h4z4DAakLvs0UiqAdkP5VcWrLQs1AQxAt96EAyDEFi6k44dnvr4qp2/axmlQGG6kITeIUwXsZpLffkHlJbzjHZlU1XJVlkDZTlWtLwn7vQH6JA0NUIFdBGnoAsF4k/rk/TB+koFdE62MQydf834LXjix0Wo0QJHbAvHsBApGx0BSzDdZfA4SYqoXWaHFAVgqudL8jcIXjYIPFl7KOA/jf+1Bf1IDdbrt70IIYwOAiveNdunCXlAo/tFB9qGuhPMItFDY7/nkt3jJOwB5OI9XwjoGiege3IwsMOIPNLLfok4V2ICuQXjXghrKtiPgg6qIrKvKrfWy7ITqwMrUyntswSqKg1v0dMktccyXsOsDAVZgnr+Pw0D94sUTuEdvs0oJ4toadpb4pEdQhM7CpVCJVtSPK7queIMhaILIW97UINlcSVMEp4Kypfaz1tgJoTAmWSwt9xDewmBR8nQFRYGer2BKkVQGG2rJQC+QBiaErC+3Iskgt74HQVQIzbgPuVQ2TvgAtN4kAOwl+RQKp5lsLbUOUdOpjERct1Eu5tVAvcAcQXhOWWOiJKse24AaIjpuCgfjpfnbd5/YLpF5xELQS4Gq8+imjFsdqCLTqi1t9Vap+//+6AVPg2AMqo4peR+alwP7CC8yRKRQPeIaB/ozjdAxfktXvryxUxc+AtSXceAYSv6xpzoJsfhe+tphh53BtekAQBti5Jbgc6h0z8pdWddCBha5bLzjypXRRPPAG/HOIY11k9Q787ThOiLGPz46Fespp3wzSIe6DaJO20DVBrSP+8clpQUGj6qNiw70hiZOFqKEChtoaODkrwPhV4jcGIyBOdxpYO1shl31RycfO4mRXc1LV/BhYKD60BQhO3bQ2QIVQg3rqFFMgjsXhUqbA6FSeoe7PtSLRiTgbCrLufBFc+A0OfHAPcbSJ//oGXV4LcJnqNahfiTgNSrhUQfUcIRAtgb88gl86BTNr0/63LnMNmKkCrzKsfc0+1v/oQgK1iYAyBXmRyhckcRxLmzeEZk+QURqBr8E/ViDGfnyXSG6cw3jcQ8J05uOlDOwQVkp5AlllMe/WgRlr8b0CcVHG89y/LxfrFUSkOwShBZwGQjrEJqy6ocoDEtxAbBAB5TlAjNQCupSAe6Tnf18SN7RwAryCCx8Dt0U4+w+Pf9QXva+HVqmuffBcDxHUPeDor1loLrRpHxskqqCi5FHqYzgEqacDvFgUUSVEyhAXTJGsEZ9AVZpeEXHn7f9WvRxbqAtnPiBbWMxZfH/Fglj3AanWhltA8YlfkYiQYODNN/AAKpscKAAq73Xg33mxUMVJgVobZKZ3wIhqk1EBgX0IA/FkQaRMwe9ysfc8rP9/IOti6v87eCrvyJ6ugK8+AebMkmtZ+NplBN+P4M4MQeF99rWlBJaytkXEE5/88/Kz1fGs7z63IOKvS5BfWsfvKqyoalvcwd0YIe0YgQr4jGyfLLdKBuQQvPT8d/dILvzwwVPPa7HyFvDz+sA0hXwU4JdFkDzdwBftAt9WpcsEgPoWMmTaTFsIvj7DOqbdDaggaN1GMiiB4zyPICUB69IEP+PNJ0Kkobj/vQ5xQ3qJZvq+lCy5hsszRcIri5NC6Xht8n/8nauQo93CsieQMJJRuYd2kdrNrIW6h/LzY36934gNckBvlDmOIw2eB+VCDUUP/ft/QfQxRq7kMxJwP31OVbm2F4ui6Mh/eAjuQt5C7bo64Jc8doeI+VI1iKsRIQi8xEQfuiVIwYJ88sVXAuCeQlaxuSSH6gGJSECClIJyRQUXV8C10DF5j6N0FZMoGEyVfMrwKdUEs4SAqwhkpO0L9NnHJO6b9Svgtgh47k+fkHUEkJJ0qSOACq+oxbA+JxbjC8j2ypxVLJQEyFvoeqDikkdIUY/AfblHbCCxB5XkbHMhhfYChq5sH9vt9UCjJZrxAvSiAdqt4M8BsserFnrstBGkt+xjrRWJbRUXtFWUUbIa1eOoIhs1hU+o43MNjKkaPh+DizIHe06lonI+sBuIsCvgWYg08x1Y55NHznnwZsWxiEM/pzTrT79WFWhAHzyREgJRNr+JYWOwtl8ex6qOzRKCsAQon5dQ64iW2gdD7TuSLPeY7GMf+xuccj8RwVeRuWv5O8t/Fb/82kJ5hRsLwlpxt1XyYY5ATYp98UsEV0ZLrtgzFuAjAlwF5a/up99AfRNz9OPJQpFMSb5qQCg0ppGFBqpx+9grUq5GCmsmDpqFgIBs4u+//z4EG2oCkkwS6csN7NpLC6pnWa4HcCJeAHbXwSkW/7UE9p0ydkqL5xDcDcElEBoi6LAF1EMtLnrwWctIUUty9QgW3I6FIpQpWLQJmG15WKy4fazyI0y6BLqrSjJcuKVRI0np3SZwwZSsKWBs3nGSFKAbFOZ+gMRJBIHCypJRKPn9m9AclhGc2ZKkShZzA8Ga2HZV+9gKRAktwY/PyBYuMGaPMAA6saWFnAO6VE2WuYVSYllwaaZg1unU3oNAwPCsKTMbJd3nOUagpjazX0HoV4E9cW51xIwQeH2yUDlICY9ffrMdCwUGhQev+PcufbK+A7899Wfowmf/BfnNDCTxLFCNBVLXOsoPkNT4jOBMbtCtv/uxhfJaAyAreWSljpGm1uRcI25Q1u0FWKnUPuqaKpjsmwdpBxbq66lp0aufSjfgprPMmDSYJSg4EtAYvoHfzc6vv5E0G9vHOiY68boIxNYAbfYQgJUtVNt6saB6n+Nnh8DilZvYBx96CtVKA3yNIkABoUSqwHSKRBGTR+Lk52ShtWgFtZURIEwQKMzBYtNAyeLc4PhuAK8ugP8wRnpYNe1UzkAv18XOq0I1wZbEU3A6IkTn2rVNpPE1iQpQCvBFn8FNjoCiCK1QZ6w0gPwFyDBzZDCFF18vYfc6tgtIChwDDlxA9zdC5D+DWyax6gBzk8F91AlYAaj83AjyrwLcxA1guirGmIav3EXWsuDvp0I8SUjAVHhdPOghdJNCbsQXfwf6JXbcEKn5GTZE25+l76d/F+ttBRh2yje4rHtc6ewGcD5NcAc4qTRwOo7HmIgWkh11ZKUqULGoWaJaGahXdwHstgxISupNN8VCukdg2IPlvQZ8NMDGaftEHvp7pUG2EjVRbdSUTt7xd9hAILwBf3QbJPwRElKHQE8iCxJ8QZc3fgIpSXMGamsOaqE+SF9VJKYOfKz/B2iNsoLanK+QWG0DBhVd0xDoty2UAZDgQryYFfBPxLz85OP8CyKNd2RXhaW/QctYhksldERoxAPkVhn/+QFYl8rc1v15NuAO/0L80kHgWJDLIUmQfD5xlHNABCREFftKgcgCx0IFkb6OxHUM5ARsN1mmN0BP7GWtBMILEh1ieH3CQp4gHZ0GZyKP9HYCWUxxGZ6QQRvDstwuWd4xLMeuhcqcI2RLbwBRaXFUEHCJXvCCEyYB3Z4SRCULvf/6EC+oNccffsTKnSriSH8ApVdc6jioAwYaL6sYdUHcEqda2tIceBOi9taxIPd8Y65DYJACuatmoXyuNJoiH4me3PUxFcQ7wftUHGpMIkPdRww2s1DuTYVFR0kcNTEcOQvIiWTeFVDITxzCr9qyUBZWzLKq+8dbYKhpcNhibYr7lv17smLyeafIKOr4XoX/KkLUI1LqFQSkooaWAAWm8LvPSK8v/Lr7SE2bP9MGFtoQKXRmEnf9Gd4AL24h8xgBEboAUqMNriTNG9hrSh4puDUgDOIHSwaVx7xos0tsWgMcKhjyYomrvW6hQpFS+sdwIR8cI+7D1y4h6Bf5fwIX4cbH6hR8knMwAhMW6gjqlP7lYosmwIMh6AxHvkEWoL9uJf7+++8ZrAILmgzhd3UsqLEXmBTJfHJLR6aCwJKFwjQpgPRFwETSpq3C95siuh7BN32F5SkhgVJCkBPZx7ptSspMwJHuwd/fABd4AUuTsVA7OQGsV8VUVO9tB9ClVB2rSMp0IKNqIUnBIjpD0F7Vk/GL31eCVknipMq+hxJEJXerSLTovUvYUDEsnm1kf+XmfMKiiUM4If9ejaLGOJ3LgGlTeJ4R/G8DN6SId5c6Ss+wAbVLEahLCyn5PjjUHT+5uiI5KQARkaQM4rcc+wkQgRqIQFS1tLBA4lBxSFHAivhpBJ9K1qjnYQvZuz6YdwMkSGpQcMhyC23Ri8eWAt0xaKZ9UEUfEXAUwLFYwBJ+taCRjEN6JZXyrS9ulfgVZPfqm1r3PrDQVEk6QLXWkA+vVLwQAlU57YKjLEqpusE2gKvHcFJkobm7hWiCJDLlHnaBYXctiGMNMFsSfIs5EKkxNInq1rBvoQqXNpoQnhyUMur9rhNK8qsY0uFlWOcIbpGSQd+RTJvGIZ8R5/cEzvYLfM8OjodzC61p5TeugNp5B9/syUKzxiaOkDoWRwpYqLKWkrA3LPQN13EZs1Dh/x4W38AHUd3lV3+ONyALOaRR1cReGVBlug590MjXuABnYmahJFUPk9eAAiZCYiNyX5idV4UUnFho3VC30C4uDfhUePqRL9Kc/d8Wd0rc7CFNP7aPba0LgMaE/twhoBz6nO3iuu/IdqomxyOYd4wdDEKQCRJZ4vr8Y6EFdwNU0k0E8oUltqc24xVcSkHEAgcyZvY5FkWRKs9k4S5cWlD0NnGRLbgZcQDtC0zwo31sbL6L4K/jm6CO4yMDDLfnR8gFJuMrICtJfYQQSPi5Y6E8bdxClaQslBIKcA7BKXgEq+8UZKQtcDIkYeoj2CoiCZICYiLfN8KY7YGttol7liy0zavAyqxDUbIDbLgM3/jNQuGXNbh2OeDzUtuPIERQensGApGQpwjihRJcyhYyvu+AVRMgLXUQ1A3dJWor2eHfK7jRu7JQLGaGnITgvDsQsHIY068+xxuIT9YATS7MbJiERCYJ/1LCyCwuvoUvqmXvOSyNCDgn4Acc+mfEfMuBVRVDciUGZYI2kEq5niOgjICRPgIN0MmRgMtB8L4LH/UOMiKlsJtLx6YKRqopzi1iClU9Vb28lm9+SZLEYxkAD//TQsHLbWQBp0jn06ptg81mwPvvAekNEd+0kGjYwHxW4UoIolPf8zV8VyVtBXl2EaCSlrAFadoGCGkt5BAWS/I0uaHSWBaAuDQBj3YhtataEEG/YhF/8ec88MWtkhJJH5tEHEyrBLRzYtptQrY0cxL+uQUBpZhbT4DAFGh8A7CehH+ntsELsPySkFT1wFEQz0BcgDXAR2xfPMQiLgPiyVioV7xmoZTYDJu34Lv/Bxa61M8zPzG2LLSPS8DvbYK89YRgOoK7dgGsu+I/F4a7b6G9xJOFZp8qGRsDA1Gu2BZOngIkcC/+/QhUBNJsZxYa2Nd9LtVN6nEJ3VjAFz8FN+XVPnY+a/o1v0H+lkcCJQ6oTb/bgKtzAmKb+tvsLqXf/7JQRvkBqI6ytKvgrsxiURQpkfLkk/eMwKCM9OKqfWw4mQINcQIf9hxaL2a2RCRpIIskdEW86E0kTtaBeUqm1AcnWHzdvC/GU8QDwnzXAZW9IPX+ig1WA99Aff4k2nwGpNjHgolbqGp64QuzBf9dVYtu4RsKcdgFU0+xhRoxHeMdZZkaoKVuAvuWf/6OADFCIC1Ib+zXfQcfI+lzM7fQ0u0vUDlVVSoPrseOhVJuDU/yDOFeCc3aRR5hAbWM0tpPiB1kdDZ9zOdYCyKEiXR2BY4RuUAT8O4rsSiKviG5MEEiYQFCznzJD5bFbcDsK6Bh/wstoDmsRh58DsrohXu2EM22/LNVsP4SSA1nAZOxXW7WQg/CY5wcU/ijQ9BILyHFWgevIYnFJ+VMGYyxV0BNQls2kIFcg2pGMJQmUTTQNbyHyvkWLBTLMTAVFRjL4DQsKPPzkEX1fPOd+Vz0/RlVOqKwhMGrDfUDDEbGx/C//jspwjPA8YfgkOxCWDFaoreqLnUKiInQkzZEDVMYmizox1XkK5T8++q/F8FqZmZTFTwvggQ0RySrQObMQjsKtQ6YYHBriDS3EcjM4UexqtICPu6zhTplq/C5lEVSr8N3C2ptlfR6go+pI0qV7/9B+rWIbOIb0uSE2Tbd0ufA2osQrKkPYRX85REmp4HFz0TEDOwyFUm/BMHmBnDght/3u4VOCHFQRoUFn9jHTrY5WKoBFCyb9rE/ew6EpgiJjYL/jNWs/kUKXzWYM7DG6whqReTqgrrQAzuxB9+/5eOTBbFKgupXcEgG7m7+xqannEvlGP6yUIv8LRZF0Z8Wui/R2a4u4a/fLcjtU8iWFf27f8DqtsAN0CSf+suVkacXxfHSJ0m9wHUkTaBUkFS9h6BLO3rHv3OGYO0AQeAxjlAGH8p85SEcWLNQBi0Lt2gCEvqdWy0lB1TwZoA0/gu0hg34qBF82he3sGrlcY2gax/EfhYpHyxRKeXHK8V/BsXNDP6x1EgdC3XhEjAQIm99RV5hAUGDhBd9JEpUFH3PQqncLvICdRiuHng0az6G0nt+siDoHSGwvkAS6gCoiei+uzidTImVf+Bk/8RCavpD3OMFdJTeImHRQcqyAqVC5BbnG9CMLLJCGQttK47h1x3ipWdgj9VAnonBQuUdkRFBagRoqQP9nBrF74OH0fcdro0jH3PbF/qzuy1zcDAS8Jkb9rHrbAk+9A4WXhmcFG2ANhCFCTbCOhIzwpLX3cAUgYasgo8+Baqyg9Rz3pGBZ/jskRufBNy8DIQNU/vYnzIFA3ID1OMCKM0YGUDRZvXMIjAdYdO0kGlUCrtioZhlw0IvdlamlRH6AbHAOgxEKRZFkVQZcdAIqcxNLwU5ZQuVk/Z9E5j/fYDP1iy0O1sDZKNmNeIVSP3N7rJtCB9nWOAPbuln8KFVo+4CrpMqG53bx9YSIgllwbngO+WRODlGqvwWQoc3t4A/cNp8A2FLFX9e/Vl/gOM9sFB+YQbrdovnUeFH9S5/B2b/ZckSDnCs71ho3SaG4blbux4ISAmME6HNHPjRm+5yVBBcq1qrYqcirLHmcwZ4TxuyhhNIsUIW2dIFEmMDQLdNBInimeSXMO8TuJ0D0Uc7QC2eAchPwFcQOiE34sxC24lVn9AYKKBTEIIy8KWVOVKx7RisgWpVFMHnyEFJIV/wyT+rMrcMKIW4jJD52wa8w5YQ0s7Vwc5rWmgsqfJaF/5cUoMcI2gsYCGpLt0qkAYx2L5YKA2RxQm2WGL2qThjH1lLKTY+A3I8R+r/Am6KCvu0gExInZ/z5zBsHKl3skBXMiCVFZA4iSNIE0VUbeYiUGnTSzyTe7/vFQzExEIFWG3QO9ARGghK85ACGsZ2EzI1ZSo31ehG0XEaC6OIgOoVoHnV/awnC+2SmaMXMK7d++AboAECvTpCyUe8AWE7i+No36+xi6zYOphpVf/zwRemCqxMwRNQEJu0UNo3B9RlCs7FGgKsOyAmwqobiBPKSJw8+zhtI5it+CRuWeguteexiIrZJEFNLUBxU/ZNP0Ja3kBuUrcxJXSUGbzFCdkEmtIGxh4HuzKHea0gC6qgvQfobWcpYZKBckVlfAfw50dwt658UReReXyy0PEqiU1ZR7Aq7HsXxqpioVD6toWGRnnzPoUzHMWbcLzvQb6XTGcXHN0UcMcmSDpVWDwduzEkJQgNquzTJ0S7wyUA/hEbIIuMn3a38OE8LOIQEJrI+S9g/I3Buza/tpIiHbDeFNA+wQ1LAq6L4XqviOZn8Jl1krG2BuvxxbDRFWDncO3HpeM9Dr9XDTovQV1V8LW5JHt7so+1q7WIpfxJIgbaB8Nyx4J4NwOmoSDQDohKKRg9dhIo49R+BoK0QKDZAIz3Bt5OHRa45c/W93cewa25NbNPRDmSmGC2BHuEL3Pni0fUvTJIP8ImFZg8A6dUjQgeH2kkKYQEqC7zFl5ahPZ7ZBnVQk4D0raP/a9bUFGs+8CrtdwP+9ii7Nh/JsXNg4UqqFW86xQ+pwF3zSKtvwK5lDoQ7CM1u2WhVrQKji+AoKhgobjFLWgmR/8P9c8Mkq86kKOeP98U8GkHDLwJ3McY8g5qfKRxPvPPk24rjsomxlnKpicLglrxaUREW3cX4ROylmtLPnEeQfwbNorqfv8ExJu00GtmX7x0+dBjQGJFEIPkaqRAjI9jAY0weEPIfSR7l78sf1MBhnoc5nEE7fi9K7Bcqskgzsgmot8+lB6KdCWf0oAq6lYBF9VcY3WhFrKir/7vU5wQWaTN9+GH6nfCvbsI9iThV9JFXVy7QJFEzx2BkrsKGkATKXvVlq5jY49AcVXr6hsL5QmaFtqqmS8kITENBG0DWN0REhX3CJYPwVBMAItPwr8WyegIQamSMIbYREmeYyz0NqgQYhmuI7/RhlegU09kpjVsuA0NbhrHicG8b2FBqnvpBIHVyCf/yT+7BkhFD3INzHMd5KYs7plxayDi+RECgJaFLlF6CamixeQSMH/m95aQkm2fY0izr4MrIX3bC0hDCQvlzmZL+sEXUCEp/s0CoeggxT8HmagPjvGahY6uOpqVUZsgmcQOAVrAPVyrCihPJ8oxYogKFB15+Pei9yoTvANXaROLKo0gchMZwhqkZ1tLWV+13XiHMVvYxx6U0lomwMlWTuDMx/nZQiXW/4AnIr423Y60eSkw8U6VaXoDXGY4VtSCYobgY8WPgRj4E/tgru1aKEYjuuAvC62Jx7BIeWTCzoCHFjFxkkK1LVQPPfTrNJHB1PuULfQUvPf3mwC62vfBqoD8NIP1USVNBU7/AYnmHeiKyo51MU5SvagnzBlwZpHupfW7AudYWcsyYEKdAmrppron4gkzw6qSDmks/imkXl0gUlkgDyq6qUY9CxCcRlDurCHtr/T0GVCsX/67GhZey5/jFlrIH+CBlCz0jxHqJWJcznMlIjKtI4u94/8W0NCIRVGkCPIJ1uQGQeAUmcAIComrJRjuvxaKEmbBKZbbIHdD6nHRM0WM0mJqQ+GyYqH+8T2Yf2egVqrY+AABmyp0KunwBCz6s4WOW0qoXEIJsQLYqAXIsWwfm8jHEQDfIYmQAGdcqp0hEg0TXJuxxRRstwsLrYCVyfuMDX+6lDVkVc91nALyp5W8UE2Nrn2sRW0+5i3Ach3/jDLDF3AtS6AOqFTYb4AGqxiTEnDn//i197DRWnD/BEWK6SgIUcZWLdySSOGr4VHGzHbjkNHk4FOtww97tY8FGRPgFghH/uULqOk7c+CWRcHSI5IBF76wVv3aytU/QZUhoeUbomFlEdVM5gvw3AzYd5s++QMQnbaQ2r50fvIBsmgV+Hhn0AJW3IrXEF804bvnLdTASyMjKIstiybrdeHfvUM6v+fjcgac/Zsv3BaotoI2Vyy0Bb6xUKZNrtuFhRp+OgXvQUltwbeOYO3noK6uQGMon/wECpI0KAEJZH5T4HzsALFQ3CX23jkgPi1iFXYXW1ItSvac2ZdGXPYCIxF3Y1sys64UK+IovCBqTyEITIJLMUcAoYSDNIFNTyVfAQq7AIIiBtzaUtZqAVaacFXh4C/AotUYXsphyYfkAypxonK4cfj8st5ieaXAShP3QNVEf0AmJQgwgeeLIZjJg3+iQtzK4PWwSCdgEe5jAV2DKadC30rf7/tCVwvrO3BUUkByRhZqLTeA+IgHsYXkhxJWUwtVjZhFNGD8C/vYkevFf65yXTW4pcqapkDin1voiKt0vDqNiahUslC2WZI5+e/3CHoffQ3cID0uRbwM4E4siiKpgu8tyOSPEfzIZ9TOVEG9XU8SrIA3oQqUuz7oT35zlYVNI8WdxOD8dmspmCfnn2sDkSggoVJAgqBioRXCT8BngqoOoDus4LnSPiBpkK6GyB7e4bjUe8udKmGCza2oCPHPvjgOfTNnfbNNEFzFsDgn/k4KUn8gSzdGMkGtHwSj9kA3SONIFjdEm+sf/5yynnls8P/4NX9bqOsshOjGLd8DNmcW1lYY8Qpg1DyIQ1vw19WBVg2VYmBpjgDRvsGK3yCof0ZyKe0LXDydW1CUY4m///77E+RALQulS5tIe9ah5duDGzGAmkU8iGMIAYpYBCq+eI2F08b3StA0znAi6P83MLEU4dfsY+ckLVjJ9WtQfLCwu/DOd5DnBdCPLbRJy4JvIGxa3ANt3nXoK9VgfWIfK9Lr349IcXcRP8SBz6s7lxbCGvgR1xbU31lkPcvYpMJwxXdRAPoOuG0DlvoKbiLpw3NkThs4kaeAZ5+wSckujAA1zpDxzCDu0emsTGIKLkfFT8dLnIA1UFWbQDzUpz5mZtk4mE19C8UIBYYPQcf810Ib5Vswpb4julcR7QKQgxignlcLhb4PQcWMWWjePgE+3MeuPwax/xjBljqtSjomZTPLMAjxUAZrakFJvor7vQC/pb9cB5QoYa4UJFMLauU1LE4VtfwCWZPKBawibV0APGZL4gl1sxXRSIJYCYJ1ov3Xn1nax6OlGKUEgteJfawBkoWfq0paabDzlMk78s89w8XK+fvcAskq2ce+iXse09z7eN4jCE9ijQihkfhjgHuoaE0dci6eanviv8SiKIpDzaHjo22hwj27g8YByO9baDIeB+ldcpotBI1D/LtpoeB12kK1Hz3cv77o0/5S8ttEPRyCDD9HUNn2Z3pDUkaE9B1k49aRcROHOIYAU5Xya0gfKwWurOMYp9KbL9SUuwUb4LdsAo7LgMAuRbPEtlL0qNnSxBeQ4EFVhVKFUp1QsqA5/DwDiC8BeZKaVN4hIJMPfGmhXtwWDEwENt26byRl6NQ7ZhMJjxjiBOLPV8gIS/CcA6d+5NeUL665kDV+hhxtgRNFRlP+fj8WRdEmIJRtf9ArCy2KhWtOwac48993/CFJmJ9Dw6c6G7s4fkt+c9VvnmGBNH1Sx+BVKMBpgh+xA7hKAkkhDU8g4ohWmoBG8A0+5RMyoYKqWHRx1QdYPbkliNXCV4S/CfpjAieGtJRK2FQtlC+WlSrCfRCytA8fXojJAJlVFTJvIC2vlLmYbnmQp7SBb0AqUiHHCP76/ZIkjvVDYpCt6RTbAiI0QXpcSbAxuB1dpO/VaHWG4G8IV0UJtC6EDNIPniLBtAaMe1epb1mtPHZFFQ+uYCdhH1uppZH/b+BBz5E1y2PHnvuD6995RM+sPSfFcAz+aNWCSFZJgmdYOgldVQhGnVl/WKihochdFquDZE3dQs1oYZ50cd5wWjwDrjqx0HhevUXkJ49huSYgSFWQPKjgiM8DpdHkioPS9Q3wBPnZO1CFnH0sQxZDcH3v975FXKIStpJB3Vio6VyBCGMVPnAL2WH1XkxgzRyAerwFl0M8lqmFNhtlBHfX+LsYm+qWtu2BqQhOh1AojSG7O/BrZGNRFKlSkhZwBVS+OPRoquN8DCHkG8y/qIbqTSerpEIxZqHiuyQ+e/CZ9SIK/k4QlFb9xYWN/oBesGcfe4nvwnpWwJCTX1gBZ1viTpXdOgAnOeEDJ0ZbwT4KbRVAs0q9fGfRNB+Q2n4HU24Mn3FqoRBLFwGtCDdvjkToGH4GpVPunxJa4p7LtSsC5lQgv+oL+cXHUnGRqsr2kRDpQBso9+VfqHqoV2T3hH8tiIVV4zAJveIQayCJBdwA4W0f2WBVsrqBUmfPPnYTbplZWsVl7vzlEshWNX13NDAomiy1qN0C9Fa3jxU1dVy+gS2XBzZr0JSJb3ELGmPPv6vC49uwrgUoanTNOsQKRcBym8CQb5GmVxmwG3+nr0Bd5ALcILsnCT7FocrmzYEw6Pl/WWg4FEMGLAlfmsFTAQbkFdZ3xUKXV7kCx+726Sh+An9mHxtP8KM28SEM1Qx/TpbI8yryLr9W9f8ucEoX4SYe+OYtQtFzaaE6VA6qJKl/9v33vyxU4pKL8tXfRejXEWgSSp2/IyOs96jFoihSreA0NHMbjl6cQIKVhIbtEZb4DQHTM+inSphsI7d/iaTJHBO4AkZdFj6s+tspX18HXJNAsGg+oAksZKmGL31AXgHrvcH/5TG8CfJ5GbzpMZITBVjLOZJIOk3kTyugzsHFKIArUoHPLc7KBBG9qjrdWqguVEeGbn0p1omwiAVn7vl4/etjoLimD36yfHTDPDcQo4zga9fArWY5YxkZwWt5jNmF/0xJpHWgYiNwrrmR3pYCz2iJPKVYQOogQYYZ+T538Gu7yF69ILhK+4spjS0ykAIPFZjZtVDhXbijIKpvCGTGIOIMkHXUA0rQurCPPQzFMVAvlT4ySkIlMgDv5z4BbfA0Plnog21g5kX+7jmkxMUVzmBxxaDcOAbmXAXPOI2JlyiXHF8pzo+R5q3i6P3l7/nZ7ymLRdHoBlCBJmDAriMa3y2IUzPIeIp83wCKMQXyIvx6aqGcrqDEewgDtOgPfVH/aaFTV2Qfu2ldQTjyxUKjJ5UteEb+gfkAUXdFOX3w+ZuCzKT8RDsOnHi6JANSdLlroZ1uCpZrYqFxfd9Ce7Vbh68ygGsMAWOEZMmfFnqwCM+UnKkBYtQdoDHBciMEqDvwuafYQCL4i1vwhqRGFUf+CdCZDQtla/cQJMu3vYf2cmShIExnKWP6y/8U6WkP7pmqH/3l/+5iY15aqJFXwql3AILXd/jt1xZqx+kEEG/mFO7ghY/LGWC9BU7nN+DIeb/HA2gPEm7kANFWgAnPAPctgFKozbKsqTjt7+CApKGiGVqoO6iKXeKon/l7XgNoUCwyMa8+KgsqrsDWUg6d2TyVZDqBtOeHhWaPI3CGBYXdAec9BCSnKjuCsBLQyqUhtypBCCk/fgMIjCEtugbk4mmJEDOCxEg+6xUYeVuQNSWhcdxF1J/FOKj497++2Ergo6hrWAfUgO8g4GTBYR6AuScsXVCj1NN9ZG/FPExCKvUOJt0Q0JkhIFZJry0kYDaQKh8jAVNGmryN4E3VmDKgzcrXH4OMJZ1ozYLWswAd5CP4KXPwSrLYBGP7WOu7Y6G+yCt85wFg4qNYFEVFRNUi0qSACCgQGmFHvcPZz2Jnxu1j8540EjOKspUUISlpBh9LfTyU8dKiS+Bo6QGuekJkv4skhFCIOrJqRz7QM2S+ur4wn0ALTeIUiEMTp4BwDpjxEomEGigEe36CfcbC+g7IKgmNoZJM/zqz7BmnmjSFauMhI/COTbHl76VFr/c0f+achf7kddxLrkgdgWuEpIeKsP/wa14DIhVf/AhITQ8cnAoUTSrGGCE2ygPVaSPeUisKoSnsb9kDR3qKLKE6MMTjYJQ1kG6OgVi+giPHLPRCUcpWR+ynJRB/A4iDyEIrCBKvQbU0n/wx/O5T+1jiV7BY26+tKjxZLA7WZpPPHrn1WwP9UmQYWe8rv2YNiZ91gP+sMnSPwGcG6HEIay9E4E+k/dVaQokNwW5VC30NP1moEd1ZSkq8W6jsL2u/jQXB7mEdbNq2H81D8El+waqqgPwlgt7fFtqxyd0Z4WSUW3Hgn5W+cw63VBnPAxg9KemfgNWrIVQG8y2x9Rcf3zp0hVPAg4JchdVHsSiKPvkNtkGaV+nWa2TmpkAHhCAo9T2BFKa/pGrgDsyDyFMESiKf9dpf4h5WWKLcX6ANqqnmOha8gpcxLPxwicj/YKFTgYSlTR8YJYF++2dfMGnXCKgkAD6AeySy+V9AJoZI2Ehdob5/PzAJm/A3RbDfA2z4GYHyENlSFlyvIY08A2dF8UHkm0B1++SGqGahqsTeILvLWocN35wN+9hYqgaOeW7JSNzj1P4CPH8BNc+F33sflNhHN0TX2LAGOsUbcOkROPPbZtaORVGkYtfb/oKffJIjaNsecazJ96lCQVEEkSiF3aZ+KVXAQqtOaRRveopFfuy/yyMZI+piB9mjG/Ak6IYIIz+F1cn5gr1EEJT09/llodqoyoepI1YFEGUVWOwQ/uoLAqkUJkWlEFRMMQW2XBUT/44T4xEChgi8DDatv4O1U5p7HdSFJDDxBKRYTSRLBJWtIRCfw+WoWyjrpT6PehfzOTu10H9bC+7EQquSB3/Og6WUtiDWNjZ7GomgTQAE4mjnATJoQ4tXnwcnJ2Nm8zjSra8IQsYWqg5pRw3AclPNhpa/yBCZPlnmFyRE5H+v+ab5HwvFH8Wm2/afZZA6PQLqoQrxj0Ad4vD91SzzT7cGj8jS/cAk1ZHKTYLBloLGrw5sV7yNLoQQrI/Rg3+nNK+aRR6AoWeQMzXtY48UldGVwGIERtwcHO62j/0DFvML0BrFJnWoPkb+zEl8VsVxflkQ5bJqlYxBEbi54iJZ7BefR7WEuMX7fQYNdgxu9i1QmCEUKw0EfB3QBATXHoEzo/uv+felPb0zs2QsiqIv/gK/fIB3fDHUfeGcg7v6joTCF5/EOyyWLHBOOfMScV5a6NXdBkguNpyI6FoQY2QbxRs+9u+q77bK1NagMtlGHKDoXt2i1Ff7CEeaBJYH4K1okJ6x6EZIeqxBThW3jzUu4uBc5yExSgDX/2RBZf7N3+EJC+IZLpFwV7ltdxZqzHUhm2qBby4kIWeh7NocWd8SiPbszDqEiydmWxl//otnZzVT0UAzyF+cgGIgldCzz/VP+yhY1sl7gfhGz1TDtQUtz6FBlP++amYPCqSukPbUsTkCiL6OVOiOhWo6Y3cdEghulP7NI4WdcL9wua9gzz52V10As1R689Wf6ysI+WXIlGa+GTJgirWh5fthoWFNB7RGnUZr0BQ+QV4mQnsGur99JARqUFQYYogqEkIlIDkX/lxf8B6lJRLPOU4CuXBr2GjkHy8gP3rHqZEAZEfBw4uFwokduGinPk67PkcXbnxaFlT+ovLuWegqlgMbUg2mdH1J7K7gGrCSkiRsZQu1ot/A4Bvg2X/67xbQSMYs9JuR9X4ys1VVm9yDtVOLsjowQdaeU72JQwtq3S2Qw+fgI9xbKFrd90Flo58V+IlkcrGEVRZssVUQ7kml/MMnMItovQU8fIBgsOqWRgGVNsU1NmBuSbe3b6EEQM0+Nu9UoPwVbL4OaKcL+MlHyJhJsXMB1loFz/wZfqeKhivFvA+rKX623DDVT5Go9QbBtnzhNxB/2rCiC0CkBxZqG3YsFFscQ0qnFPYAi/YIaWy1rFNRxQsLGk/5vQ9+mkQQlRh8b8GjaSRZYuAJKQnz2cxmcciTRqBypn0Qcxgg1fVNIJCr+sN0YHHWfQK7yMqdWihc0wD5Xv5SY+loSoBDksMz/bZQH+3MB3DTQqdWCWNPLaiCFehoga3jaCyAobYPS/RgoXutAdxXnHCJo1NQ3wPSwRHeR2iDBLi7oIbqFLlxS5XBuIqfPAADbcU+ttXoIiGTAKavWnGqz70PPvG2haZLIhoJNWpYqMUtl6wHcv4AesQc4qU7JJUGSOBsW2j8JNndO1yxlhsKMudEY83CXe0ixpFrdOD3UffjmJmtKbGiVOU6rGseSYI/IbtRjeYBMNkxCP8DZAyVUta/r/waUmnPwbfdBfaqsqpJSJceQbBRSYNzf7FzkPrXAWEtgO3KxRCqI+jqwr/zhORIGYkC1SbpgFB1iCO1CN95hgxnDC5Qy0L9ihayYm/gTJxDudNBHPMOtCcBi/RkoX+isqmKE8Zg3sm1UGKm5feogqi1D5eE7TaE6NTB4Eu75Ot//E8RxLRYD7DpxLLcB82TOYMY4iJZ6J9+DZaey/j4KL7bhdROTWGL4kMLCE+ALKTayveg7CXBcc7Ab9zGMZlDtB8D73cBR3+B1LPS1nlAMdMlNUYeWbp3fK+MTJN4CH2kbl8x0dsg/4gc8wak4RLvWIE/r3jgFhPbB+rSgAXbslB5X4oTBZgqoFMGciSLqwKGtwg42boj6RboGlDlPoJg9ZQsIourykv3/gyafJ1kn/zvI7DkTpDx1TuM4caI9rqAzC4PlVPXN1kR16H6PoE8QcxCBawFTmvFQWrOGkey6h2ol5qt5uHu3EmCJamMxKZy6p+XeLUvUH4U4e+8wbIps2awtusgjleQTHixUHNYkpp3C71Y9uB3q61b0hdfDbtX1lC1OLSLdQzlYPFV+LAH2qIKnauOyE+4WFXQNp8sVIRqgg7awXs3ETjGwCJU+wsVKxxgMvctFJLcBYWy78+nkgB5D36zgEJF+FdXgxaSPH9aEO5ewkoKv/4MLskIXAmpXm7cyIjwVcU7suqSVOElnBYLYMv74AZNkKh7RMpdNNYhOCrKNJaRbn+3UBulDXqGeN+nyhQKcdiAhRV0pWrraqQpVcs1dq/Zx7KrUirImpUt9OwTjq08/E/AP1OklDex+1T8RRm8dbycMo4tkPFLIP/rGVQ37hyklyEQnW1fHCvw4y/AqS4h8t5EenmBxX5kQZ0tOb96qbDtRwa+dQZp7UvAo3IBJxaqb5aQgJAwQ8mUbVB72T9F5SSe4YuKhpAFl3gNQfvCr3sEeE0p7yzyFjp9vvhY3gBR6iFBMofRUPngS3gDM9+AkYUuASsIUJ8An878PgcWqg+UxBVKQiakviRx7BplqdjcUoUMtavkf5ageZMk5gsGcoKsGdvhyqWZuoVawFq33cc6B/69ZaG9rwI1HZm/gcnu+DPXsOkiDOhy8ZNbWP6uD5q4AlVgqqq4NALMWIYFigH4L8L6ZYG+cBGrcmofcKVkcaTNDpFpuwHRaAIFTQeZtjIoDM+gCOd8zhQ76CSTlCtC4uQCSI/aT1wCoUpAdSQEqIcxlus6RGymjameLGoodOa/k+LmP0tMygx4+7LIQuj084x86BRIIir6JwnWd7xQD1F/BwD+J0yo6uO9AtWIIypNIzUrAF8kmmckJhQ03rr1YV/nOfyxCRQkZUTh54jM1/1ZBZGtAgNPIKAs+yY4tqDOltzsi9/rGnrFhoX+KatQatzj6N3FO9wC5ViAlFWxUE9uvkSdfAKt03AsT5DxzEJkII3nO9QyQlikBK9BlfME/rghDV9CxlRaxMoSli8WnCgRKpXwD04RA+eljJ+1gEePoUIRvEmlzMT+b1kycToOQGv4Q1yOHAD5BGCcMgjYvxCAfIaffA+8coTslhCTLBIT8t8O7WPbsAxQlG1YOWX5pGwQzDRFZDsB9p0EpdSWsk3qpNSB5c2AgaZqq1KNi4dxAj/+0oLqOIlAa83HRUmjTXw2D1+wC/pjEfKvKwsNiBL2sUadEJ13bNZnH98fyKqq//fYF9AKFrMqHB3ipCsBgh2AKiyrmALFVli0qKlyP+TufYXaJwmZ1YuFfuZ6ZlEpzix0fcgjtlgF7VinxYkveGVgRejP+z0VJySlKdwH9CLL1ABSMQS5JQ4W3l8W+mxsujVnIBUDBLjpE/fNB67vLkwXBJMxNHZVdy0WIEOJgigescS7R/7y9zjGFbAega+slsZ9WFSJC3ogMsXgq/8Cu6sBH/EeHBYVYd9BkiOBIE1uihIJawiqflqo3q/gaQPR/oqFQj76LwGkRwHvHj4vzouSXi1o8LRhmuDHlJe0eToxrvwaX31u10EJfgH+LnruOegHC7iuM/vYYHNqoU6KgtIsEmnquagE2i8LhRprSJDlAa/GzGwlDh/n3L+Y9RuVgMPW4F6ISC8s8AmJlrKFgt4GXeEAQdyZhSbs/4BncYYU8BRHaQxE+gtAZ0o+zPHMOpabeJ43BDBKvgjpkKRnBYmWHxZKiD0ibS9927pv+i1IwjLAagVDLQA53ftYnfliEYQpYXDVxyeG9LW6ACit/Qp3TP77FU6wH35taTs3PdAqQ/L2hMRPZQlBUOC8CldQcUAXbqHqV2+DoTiy0NtxD0SqV2gMZUUPLdQxEXf9m31sQt+FBCuOZy1DoTLGSaFCRx0VPK8hyaFoVEqTCzDAZGXlM18D7jO/2bkPpH6vpje3gNDk4iSh06uCOsluXOqmNUdAIcusSpgHCBBvIS6IQPRhj/FNWLwOLIx8ZAkUWvBt1aaChSFFPxVy0UBwpGIvVeDjHSAwd+Ba7wEJmMGFmgPiPISffwdRxT9IIxeA5eo6auPcRDJGtE+l5NUKpAW34Mn//Qeyez0LyvSuhQby6+CbiK+etiBu1fORUiA8WuNm2FSGGGkGNzgGDDyL64kiMI2DHhnBSZfURSVbV5CxqVmo3k+i+JOFrqxt/xnbsR3jJWKQPOnozIMOGAehXpCNrEUBn1m3oIpWpmqGzXAH1psiejXCqcCKy/K0kGCK4UhrWegEFoP1ObCPvWlyoHwWgLvvwt+sgIClEgtxC12yRmAJfkbKdwHIrQc3JgaLrxIFPQSM23i2XQTCe7jXJrK8Q1AR4hbK5D5YqBOyjhNYKfcJNIFqYfITyFAZ1FG1nWNRnR0YuSxEGWNgzUWodZSsGgAomCuxIhxSu0f6tDc44GJVjSyUGXiC5OfJJ7GKpMkbHuoFLzrzyTy2ULviGtyRFzz00EKrgxo0hKtudY4tNKi/B0dgExCjsO8KAtU2Aj8t4D7IMH1YsNkSwjMApXYN1EbV38sgkVOD2qeA3+vkWUG6VyWLV5BIuvL3b0NFk4IP2gWn+9ytdsvvnwL99shCGYYyeDtFcMelCKohSCtCSzjAyZEDPyaD9ysDJekAHauAC56HWyMOy39985Wh1hGUfAFIVV0TOvD3hZTFVGBR/bbnAOvlh04BtgsB2AJCoB36GRTULxYaxFxCaqNaFLMlcP4eOroK7nnigec7rFBxibCkjqyqnbyC4GKIxbtlH/vnic5Y9cV05O9y7IO3hRR+HcQj8Ynl1ryCV1yGgmPP//zhp5U2gpIXspQq5/AGXFXxy3cLfb6fwPudABeXusWAIgnb/gTrLGHuGOy9HBa+oL+hz5eotLc+t2oCtGehLoYEv4+ADNtg8IkzMoeb2QHgoK5qvyF0+O1rpgJZXtVC7cQRxCenFooOvZsXPDekfzOwiBs4gtUjRDtEQYG4soL2NOhjpMslUc9j0ETTlGJBpQPU40Tigldk7QZQmLSW4J49WNJnHPsqvyvpv4ofija7gOXvQh4kSO4FGTlZ2gnuq65UMbgjKiizis2+DlRGSZ0RsOYr+KVtC40161hkwp4rgN1Yo1oqmKmF6qOKZ96RQEqDQdmyUKqgjExfDmn+OjjNCqqLYFNOAT/2kKyaAVodgGYrMbL6yG9a6NRbhwFSL28lhlj8swt6AxGiuHp9T0AAqSKNWQSt9AA+YhbJkzP/zA8L9Tsi//4JjvQcItMZUsE9WHsFNSqCIkaayqgW3cKLcysU5hVB4b4v8Cyi7ge/9jdwAMwHYcff6Rqkeh2zsjoVYOQqCN9B8DWyUHSniyyZsNxHZPKavlEkg7qDq7YOf1sK9yLYg6fQ4z1BnzgE50aQoyDG4RKha7CE0MTcAq+CNCQ8/7df9xN8dyVFDiAkmCMN/i+IXZt+clWRu3jABkiBXqqMaAWnpaDkGpJ9yrL+5Wuug7H+/zOFcTDG3iF0lLiy5lZ5ExH4JhIj8sdkhbrgD4wRJKk659CCMnsOFYp4HKplPIIvtgphgfjD4pqwl8szrEzJJ+UE0XIXqduYBeXz45KEKwHSexpWRxF8DFazvURyKgMimyCLKlbhhT/TNRIgA0Cc2xZaKBtOhBoSK0KipNsc+DsU/L3VrEnjFoNroezcCEiTxiELzk4SrlsfZKsHYO49C8VrVnA6q1XfE2gNKgo6A0F/BhJbAdlmKYO0HjZ9k/YhQZMrqo7IO1IU7MBCbiJY2YEkKAY1xruFGgt5+Ns9Cz2ub5EenQDkP0dUfOjQz8BCDeQXCx1FN8EdVuR/jQyWqrtLip+zj2UKlNZV9uvdQiHyFiZRroPaDdfAO2nhyBf09Y4FE1/SQApHz1ho2VzzSRBqMAL0F4PEKIO0fgkB7Bu0hmIUvgIak0hCR3ocgoUWMr4qGnmLJEgcahC1nL70d2oiGN2F0kTUzQYWvCFBkwUUPEaA/8VC6WWRyQrwEG6AIE2w2VTNa4rs8QTBvCqTXsaiKBIJfB3+m0Dsc/AxFsA+5/67r2CN0b8+9IXfAXOqA4ppDMoK9a0zPOAXwE5NvPgQhPQHEFU2wCegNZKVfgYvuwa3R4jABBnODALlf0F2X4DtpjIEx5h0iTnbWHDH0OCp0mkKMGARhKXPQDQiZO76S+hMHov/HG7IKxClS1hw+cwJ8F2asK6Kofbguqg0g8E9esX9H3By1C0UzxTOf2uhQsB3/10KPGu9yzkgvSburTLBKrGbASqyhXWTtNDCum5mSZW9Ui03kdzvcQykcFwfIgL+6hOQRRQrxXYEOVAe2HMTUNM1NoOgLPW/vgA/RBZEdS8OfUC/+mfjQCC0SFRGtur3WnerXvZ7HAASks/8hFR11xMWBWCgItt883c8wWBuQjCwA7K9Qc+4aqEK1R4yrRtQ60hMIAtUR1BdheRIbebku7fA95CuTxXz5f69wbcVSWwHeYIO8PrHpTzCnb/vFIvxq4WaLXWQkISa/OvPto1Fvw3K56V9VG9Le1lExprYdhPrVKxEKaA2lYCKRVH0ly+gDRCJpgi6GgDDIwRUD8ipy4+7R+pT1e8n2BwtC4VqpuBsPCGr9MVCOy+1k1MQptrEEZAFuTryFaVLrPr9CiD/m1uIKSA59So0kPYFI7ILloqQ74FCmUKWLw3VSRbEnFfIkuaA7DIWShFnsHh+4xgtI2bJwdJeWyjDK+rowsdBHIss/GF1Z624Qdm0UDVK/PZV+KwV6AMzUCQlYZhGcI26HqRd+GZ6gLJGJKsW1tA2yGhq6xZDgiQDjFzolzqUpcGRr/t4iU04jkVRJFnQHWidK+AoFJCOVFtf+WrKdF0jBfzDd6/ch3OQsFX7rgvoZx3wVhtkmTk2UgsLTgVrGoAO7/zlVKlp20Lh8ynorqI91t0CncJCvMFiL6DEEKdBR6balwnHzcGXVgCj8ghTkNmPl1LbM7DNDIHUFItnCLxbGcs/LdRKkTu1DTpmYSmxJPL7JaR2giTlZrzjPnnQMVfgfilGkXSsjeBXEjHVOVHiawbGXxM0B9F1hUBtIB2fherpBDyYBZiLWahj1Ph+YWaFJAIBUSL/wQT/4Q/+BL9xFXq/baAbKYDc5/6wwo5HSH2LEDOC0qSFNPE2TgqlY2uwDs9AVrQ4ZDUN6EoeZPNjsL9WQTp6A/VTfReVOr610GNwBVKoEiRjLME1WAq85PvfIIhV6dzPwGlVfEV6ys8+5lmQqBQAqaSEKoiKKnsPctULfPh9ZAqFYKi0wQoYjkkEw6+IlS4hx5JhkQRtCHGB4F65XU3/zinmsI18wQrS5iXoJcW9ifmz/Af4cwxszw4Mwivgykip7xJ4C8IOjyz0yBMpZgzfWPxe0QzjIPXkEXmrlKpSvZLNF5Ym6BUoi3oFkmerOiGq7vMDVkjSqw7kXKrFrEYzNX+mnk/ud6SRDy1USioDqB/6M6i4Yg5xwwZkWpFPXgrEGvUDFMT0AAhvH+nhBVL0ETgPgqcKfppkodQwC11yixb69NXdICnLWUbSomqhxEACBKoS8govgGm/I25Qg6WhxxAqk5tADKNC6HMYoAX864mPqVwaFRt68Gv2gJzIJe0BZdrFu3y2oC+t4D0LcjkEtN8CA5VKpQkLGl8ith+6NZZKWxavDay2CGqkFMySKmmxJYFL5pA+3gJfWu5GwRf4iQ96ykLN6S6OJVXKVOu0X37i/McnKQXfVkSfPtwRSfqFab/gWceI/DMWNJcNwHfC4E8tNCyqgzhkfgL8csuVgitSRDb2HhTfE7+OjMI+soRKMuUQeI/BG9bYCP0QsYdFL+XKySWQjvIR9IgbsOxYEF++/ggG7N5CDxdxtn8hExxHvqEMRCcNjH3VF70g3D5IV4p/lI19Tvz999/bFuoADxC1X1toHqMeJGqLqxoPylR17KMSOwaSuAImoQpXwL3nSBpsIkhgb0QhEPK5X8EZZrete5CCZkjWJJDAuEciYx/B2RD+6yp89jUsBBUdn+IYH0M8IBeqiqCwjhT9G046Mc3Y2+XBQo0TcYyHILkrZpGKJg0ueBUBp478OeRuMQR3bLSThhxszTfLV7/mKxb9OpCvFdB5m0hACalKeaBmiAP6cE9VUvgdvnYR7qxKO4ufMXBjcbWkppngxJRXEQkSa1oo8z8BMiF4RD7fge+yJngPaqA+h55wEyiJqI5TAP6//UH6WHgTRPsDJCnukcGsIaLPACctgKdccp85Dx9TEf0n+1hy9taCSHjVv/fmf+77xApKSiOYlaU+cKtoCIKEhxdBan8H7JlFYPWCDOUEOO4ZkA31dGG1qg6gN2kB+0vowDESHnULfVt+ABlgb5VbbFJVCV0F16SKIC9noU/LwD6Wi7gHzUHjpWaiI6iNslAqpeBiVJGSr+OEr1voTrsO4/LVQhWBbCyKoqwPdNzdh88WKuL0kVePIQC6RorV/OF+WChWuOq+nrSCny2UbBI/QdV1ZkBRPiGQ1PFzjyBwCt5AHQTwIQI4NQp6s49V6sUAnPimJPOvCNyzB0xcgWANgfAqsl8N+KZykX5aKIHFDdmAjxwHFFa10L21aR87Jqjl8BrGZbAUjKsGyCdIq3Z8I30F9mzAumMQTGiz/kQwHvNnFtW3gdhEdIA2chgxaP1kMYVaCFgQ2UyEsFNY+RQIbgmfl21kTaUs6sJYvIJ1KRGESVO4DjbdDKhH1x8wjaNPWaYtSKyGSDvXoP3L+Wb5x+GmB+CMKTCwVBOiBoy7Dkz53UIV+Cqw8JmFqkYxUA6VAVtHBJ1CVK7urAvAlVv43pOF4tt5HM/qsdgET2GOAGkHEGQDSpYpMPEdHJ8qGqPSX4fgKGz7Iovh2YSMnID89QzCksoMz0AQk0J925MdCUCgalXcgAtHH74CjngRLk7bF1gPNNz/ghIqf1w90pO+gK8slOeVq/gA0cXUQgFQGdABuNxKzpB/voBiZhKLoiiGl6kCfbhDECdG2TvYVQkQz1eBGLRxLCZBWNfxpMlQ2YQkUt9SpIhspAwWOdlr8NlaYOaJyqqIdwsbLQ9fz5DcEKYtn3Pfr6lKQZcY/BKCW+G+XWTc5DYog1eDFvIICh31Z5lCUFEGn2UHkq05fO02IMgnwIbHPndnFioxXfk4i857aB/rf2Rwb/Vfr2Fxi9J5gOA2B5J/zUJB9TsIN3JAwlR+zQDrpnwBn8AIJOFqqO8h6cFXFso8G1RSLaBKKkCzGYeEKQseQB/+nsqdqr6ZUIXPuNibfWwvdm6h18mBhXIDFXCVZdkkrzqC019wCzEHn2PDJ0u1IF4gBigCgakA4GcjziH8OMmOlBzpwFfU4nn2e57AUkxBaG9hIVz5SSBsPgdqqBQ9EqDm4a4M/XnZ/7zvm+IGcNoYVqhloVOYFuZ3f65TJGOURIoh6Bz6O19jkWR9LicgPLEL2BCox5197FiVRexQxlimYBhmUBdlcMKSZ9OB+6JT4h1Jr3ecVMpOfwFHXZh9N+7R4Qi+4RcfCPFWB4CwhFoIx81B+5dAAPjJQj07CSxVmJotjRd+DFYRWO0Cbprixce+cLRx5HcdIT1dtNBRYBNH8dVS1vDGQg2/BzAB5f6swAInIHNS8mnPF+Kxhf7kOl3UvuIreDBqjNRAqnfVr9kBxzuDIFdaw5aFyqUFZB53IHHaWEokpbH4Y9iItwgcNWYUR2gz9pb824Z/ThrKuP/sHJnSWxz/cQvlK0oWanB0QRnWKbsJid0/EIWMQMGNweDk4dKRZ9Q2s1wsiiJFiYriWz6hVX+QJID5CoKtAhhw7+BSUNZ15TtnD5rBBYKRlm+Yz7AiRxYKYxeQwBkB5I+W4KoeuLpK0apJpwK9bUTeSuScwG0p+vudWah7vQmLIrco8ufVoKoTlyRW9xb6baurVhauilLQSlGrU1XMQu2LFN7xGRlDMdUkYlX53e9An1jdNQnXwOB//ouEzyNcthRw4xcLpYqzSOsLUrtbcg/2YZFVFq4MBKsH8Yb6MH71dTG0UD8kC0GCYN0UDJFitIaFbg2SvN0lsbgUpQtHlZbsp4UCgI/IuxNL3YSPW0SqtgDd4YqF7q3iL8/BWxDhRR1nz7CBRGJSMKbNJkn/LsjoZdAhRbIR9yELyzT00+kEqg6dJkpt6537gC67yIBKwPkJlM1tCAcicJwLyIqqiKOO5x+43jtIRQUcy1lg9CW4HFcWOnetIQmjE2wfQWIM3G/xygswBjpVReB/A1pjsJRTGDplPsXX3gIldtU+9mrp4ZRq+traBxKlXodd0F1VgLIGLD4Gt0Xw6k/zgueH0PWtwUJNgEM+gWCygGXWzm8A/O8jwaCqN8rpKxuk/hi7/w+AXa3LRMg5hNZtBNbeqg/4AQLWPvzNCnxFaQifEIhMQZ1U8CbN3Yp9FI2qXskqrHsc/p4h5asTrot3rgKhUdUmIS7PYA2KrPUAS/UGvjZrmbzAqlbBbpti8SnWEP67BsKYlEAJQI/bvkGOLdRcuQP68oAs8BZO0TsgDyq+2IQrK1W3kKBbh/N++jOZP0MPGLVKKiQAyymTuudz00RgPDGzWSyKIu2+HcAy4quuISOjDNAaVBBdC/XSxNFdBYYaA3a6ZqHoXw/kpVv/+xhSp66Fvi+XvmgXSN4k/Fk2oc1TNqwDS1YG2fwM/GC2TFZ956IPulAL8+uqJ8grUJ8h8NgiUvgqdXsLVl4LErBHELOeMfFpJLHEt5AyvgSfVG3c1CNbwVTJF4dqlggHnyFhcgAqp+RNihcET6rIjvo4noEXovGWMEBdHCYWxMQS3q6BBanYSEVodDLHkV1sQ2KVtqAYz8GlbAFFUVMidZeVOv5TLIoipZc7fnRd4lhbAakkbh+bbl4hY5ZFhi8J3PYNGrIuFq24zeriqqi2ggVSgkznGcfdLrggGdz7FsdqFf7hBjJWKiTZsdCNqg9cXEQglXt9ALYq/oa4C3ng5WmcIiqYKMrqGhiFivKHCOi2kD1MI2nUBoMvDp9/ABnWJfjUXYzLvoX6gWorLEhshgxr3uf2wEKN6zh4yxqbCNm6EhI+GbxzFxssg/S6TpTMEplKv6vDx950F24PATzrgyyQMZW6fQCa7iQOqdKfkA+JxCI9YAmmfgGYSJWNHvwYGwGZmIJDrbp2gpRO/fc1wHhdUDP1M7XYPUKEbRjMK3/mG39mke2rWMQP8KcHfs0v4PMmsWAj/Dtmod/4E4LAEoInUWMvsBk7gPTS4BiXcMqITkDFjYLiHgKeLn62b6EV8IGP6WdY27z/fsvvqdJbqzhpfiLD2EY2Nmah/ZxKF7xBzlaG9VXbZEn2bi3Usp5gzUjGNcLJvwKJ3ycYzjTiMZ24LTD/pMBJ+LVVPfYVRmFiZl/iS9IekcE3kMEx4KUqbL1hoRLOBOlHFR55hzV9tlCTOY4IeQzSziOsXB8IgVKkEfgDI6SKE0taOfm0QluE/f6A7GsKstMQxP04aKH3FqquCrfeBaFKRU+KeLYIg7uOdD7FsKzDrIV1aaHik+T8CoY3QH56ArlHQaS0nFKpqw3FbyAEA5xqB5C+KfO5iQBep+YPGLmehfqGVSweWdvP4GQoz9Dx+6iOxgbyHDlfWyra+R0ZZ7XZE+fmGYHhPrKrDeD3T/6dipm9xkFeUZbvDTilaIpbWLiyygL8Jxb6ijxbKDayArhMMp0TiAXmuFfNfXFxKMYgBSkwuLXQGUu0w6lb6XWQ5yuAcyQmKEJoqSTHORiGC1i6LvjTqsux45O6QLDSAdtsiFhBdFdxy4cWlN4FyIqIte/giFb1UxW/2bePjYzE/70E+rOHoOyzB1zyPcU5lyRtAyiCxMQVnJYNsAuVza0h46tkxx6ymddueHJ++qlGdA8cFbksa5DMNR26K1howaceOzW8Qxdu6aoF4bJKYsial2JRFG0giycW2BMSLYLaVMRlAOBdSQdVilcF+wwYc1IVZJEk+Q7IRQT+NBI16piahL8nEcIMWTXtUOHYkYV+1rLikobdgZaZXSI3TUHtjHwMbiwUZXn0RSfo6Rk4sSJ5WlURryIIJO7c4v3rky6XRL9TSr8I5Ij8aKWC24hHTnBqHsCPFi1UNUNWcDzPcboo6bOHgLSMzO8W1kIThKE40KkVuDBiILZglFoW6kgLDdoF6ayA3IIovhWsgxmITW13P2Lg0ayBzLUaBwacRFCRhq7uwSdC3NZ7LKYEMk0bSE6oQLiOM3VgmvpiXgPtMoXMoS3xNSYO+wlY/wHZkKJjpcmvfWE0EJjt+LvdYZI3weNOYkCzsFh9WKeefSx1ppoin+BWCPUYQYXRAvx4D9LQjoWOrANYnzgygercG8ElLAASPLLQ6qIHPkyEozuzRLFVHHGIgHW+hCz13RXYAKNtz0I/wSESIWL8acwNG1EdE7Txn5CY0/vUEYQmgS0fYD1J6HHpz3vqc60TZgMZybmZXceiKNpbCsqE475aELU+gWzTtFAYZNtCg0sFVduw+CKCCxmQSyBucxbyIsFJu1AoSBWjQCNC4KGT4htYe4+A5kRgOUJmbRXSpxISCSXg6y9g1aluxDF8uQV0drsQJzwBoVBDzwQwUi3qe7gpaQRmWVjUHNLeKrIiwYG6Cgj3lwL8BSdkDZyLNwvl0kTLLQJyVFu9LxbKD+sEkCtyj4W/Biqq5ovIiNyEdxilNaA48yXp2yUymCNAvoJI38H0vPAFP0MQmfZ3PzKzRBJcjTdM+g+kUnWsiCyv6PUVG6AI6/bLH+TWQofQOCLdIRZmCUqVNvy9Eib1HMGntGgJf/kqpE1tJDHkmx/Bv5UeLw6eshpQLnyglLlU4KFuVN+Rjt0ARBeDomUdm/sHrIngQ1UiGvh9J/57baY8AsYiUsiyYp/g7+cQLEreNIZhEgJVgiROdNz1JbZdGrK2IVhzdSysNVBrlf1VuTEDciMhbwdQ4BSyKhazFFdE7p7KK0R+vyTgwCy4IjqdaRhEVx7FoijK4WiaIhlSdwuRBqla5CNBMZuAUzr2sbKQmlMmAL80QVYpQzvGWsNpMO5SAP0XPoBVEMgn4BGYhc61SggUoMBg0RWdGkoG/PDv/+EDW4NPKZ9ROLRqXa/Zx2aQZVBppTXcQoJnggD3CXKrhbshA9BFM0tp9QGeqwWtXwSmXgy00h0L7TW++s/EWswioydu+gZO3gLkXIpLhGGvQwE0RWyiakfnYBf2gbIkoRoS5rwCozYE3l31a6ps3KGvEWkhRUpaxQm07pZ+GsexIvB6Dx+uAp9sgnQijvC/FmrVScVQ8clOAKV4XIK71pG+nWAxi1H1DMTlyT8Xg1Dy3IJC/BBQ1jWO3DLI+huwkmn7WDr4AVyT39j1UslICa5AMYLOcgUJnww406fgl2ijJcGbyMJKVhGEvcD/FyZ7jbxACpyYn/ax5XLN7yus9hHIRxf84wLYbDp9O4DUSmAuTrCRY+Ccj5FcieCnx6BrTMAHl8BBErM6qLuitMqF+Q1FT8UX6qv/mcT7y6PIQAmzKtgu7X5Y0o/XCY6vGYjVPUB8t74wT8CIyoB0c+qTtQNrpmTLK6iGsixPyNvvwY8TR+IJkJ8gphFQFrWcEF+A9SVewD4bIxIXGlNZgtOySGqwfa+O4T372LB+H0GW9HkXFmpItCAoeEOaW8iNFsKJL8RbC60gxm447oFyNEGPHfhkiym5j1OybEHBzt6CCxCXpv4cOyCAXcNVUzGYEfSRWcQgFVAHDrBhSxBUkFx0aKE6gAoylpGePwDBad1CSYRDbCKJfc8tVJw6Na8PXQLvYgAVyhQ82s2lQKMPMrn85qkPmFyGe1hflfKa+QB/wSJRGYVDC4rnPoKeT5BTJYDX7lhocCOR7xR+v+Tuv3zihrCAU7DQJCply4hL+HwtcL5V3nfi91c2UdWYtsAWPAJCI/qryEAXvmC78D3LoJgeY1NvIOU8xn0rCLZLcI2eHcaUCPcvt3qCUavgQCimufM/RXUtWujoquZRRTP7HzynilQqBriC5VeNFjUwVcB359/9uoRSsJb0HWgWKuFc8t+xTJuCYZV/m4rgn0K024Z1miOR0PcjTj6cVBUT3OAdos1tH2gDqP8EFtwQqdSWhWqmV1hEMbDJ1Dd8HTKre18gt/C/FFFf+M+022+xIa/9z3skBx6Ryo7As/4CV2rqizSLI/YNKeuWT17OBz8GmugWLLx6WG8BCqsgna46dO9YIB28qzKad8Dfs0BMSkiQmFv3LSBJ9xb6r6v397aF1hxv4LywkGbZ/remyRzfKQI5UWXZiRP1HxHsxkBBUGzyhMBU5byOoJvsgfdcBEtwH3QCxRVKCk7iPglNoAJil0n9sIHMj5rzfIMKYxMkb0XgLdABD4AvqgRV0r9/4v+P/TpJuBg7S0hA3kJt5l3c9y98R/TKHfimjyDIZxColJfQFhWZ1MmgRb+KBa56yvc44jPAn+vYeKovMQUvg+3IOvaxbK60ey0c9X2/344HrFNf1BULOk+1Lp5AZJFBoC2+8DZS/NISCvNXoJwDmarkcyY3cAIlzRlQpwVkVv/69U8hBJDi/Q8LAmXmH1aBdknfKHExayyyKesrXOUFJIIxoRwjXDgN5/0O6egz4IFKNDBF+Wqh3987sMkFLL+i1CMLRUJSUKYMcO03oAsrUCtUofkrgrwuzeMCZPlrbLI9JDlWkVQQDquGQJJqtRHUxpBwWkN2UcT93xYKev/wP5vwDwcIfFSDTpVE5Zp9A0b8E8GzICkVmDHfGDEwEf/02Ocz8gdUo4vvskBMVAay9YzF1cV8KrFUg2HQZlLpLzH4jpAIefb5+9NC70fRcnV/JUdY6/kZrLs3KHmuwO3eAP9dKfBdH+OVxN9//z3zLwp/bfnLKMoWuL1jQQ39iERIEtqzNrJuORyTO0tsM2GVKqlrEElmEbiIHKRgc99C6V+pkFWTr4oFoZ7e++BWtJBQUOHGZwv1HZRO7wOGXLUgAu0jIFMHqAvEHeJZH8ECFRGxVy10b8oCFRgB31Vbtww44H2kkEXMYgVWLbpD//cIaE7bQiXSB0im8ghOVcQ8C3pADnjzFAG8ElhxKGhkTK4gk9IG/c+SC/sGdIWi2jVAdDJYI7+e5jtCRnECpcsUfJRfsSiKTmENO8BOq+4LFhEgqWqklCQ90An3AL2VkJ3LgFyj6v4K4o4xGANwARaYXAH9qnh5YB+7SHWR8Pjh39tAEKqCMUI7ehZKNrTB9+jC0gyB6miTzRG1i5/CJIyI7KxmJL2b1C4RLHcci1wqkAYCnL98gW34OCihIF5HDydMHKoX8U5Epi+AJKQC5YIpq+B/GHzaTSRNdmBUyu5WiPwkn14qcFFDzy20ixaPRzmMMlLisqwq3Sbk6hAJlWcLxeUl9Rv6eushEZU0s59xDOiKP8AN/MKifWy4+d0/t2qh7lrNL16G7OoaPvgqkhFlLF6hKVpgNeCm8l9VD68MX28EjPTWPlYeOgF5qQC+RAXCzMhCEUhBdEqHb/s7ztyN0EYfQnGShmqjAVXFEOn/pn93DILSk4VmkfsWau7FQGRStU/Vu9uxUI8vteRz98BEG/pm/te/I9GwemBP3B2RVlAV9e/h2vSRIZQOcMVCHxWdTiIm3QKOO/SxaSBlLmmWRLcn/hwqHfbN5061nxM4wcTBLtjHtm4lsECV+FEm98nMarLKVeC7x74gbsFimoDvKzfg1i8yBu1RknJRDoV+yMKwd9+the5PFViuKVKcObDinpFxEv/jBJDRrYXyBmMsVunxNkCcv4RmUG3bBPxnEcwm/Dv3OIWE7GxCQbEHeu2TT8gaLI70fgcWKrrKylyAFnALP/PdQtVP1etL+7PuICb4DGu9DjeOEKdkX3/Cws2QF7iyUIvvFbBs3+9bQtJlHWQgJdouLFTTurNQSuHEQom2exiNwpKrtb6E9FyBlnoPhuQAuHcDXPQ/Bakm4c+NfJDugSGeI8KfInO1AlHnzEKprZb/bAHOwDksPtsKS3rVBIw1s49FHb/7dw4tlJIdAbqT1TiCH51BwHloQYwqTkQeBPwyMoLy0zfAT5Hy4tJCC4mKj1Mcn3nziRoh2aLkkgKnKwst4ybAtCMIGvZ9/EU6kuuwj0znIzKHRQtlvLJgzZGKcAQOdwp+8RaoqgrGb7ARxbnpWuhAVUPsQ7huzfWYhmBVhd7ZEGoAN64BddOLhW4BZSTSCpDpCSCQr13ACaWkzBX7KEsuIwhGqck2UqRp4MJlX2TfkMTQ4AsWUqviXRCWYsjkdSC76vkAtwGc17DQVCfj2kLp2oqFKvUqjqNUuerW6aT5CX9Yrog6DrxZaFMnlEVHah7HtoKzNqL+CH69+v+J+P8bfnzF/z8AK/GHP/e//r8I7GcgzFdx/3dAimKc1S1UVUojsD+C+9gCOjFZQl4aPhdNCBdk5VUabQ1yNcGDGaTvVTNahTlvsLgP/DoqCP8JrEQl3cjNHkBAoATYA3zlr/7cSoTlIF5Iqk9hGUoE9e17hRUTwUcY6bYvykf4iUMkMcTqKkBtkl/KUEUQEJwsEYFukZjZQqbt3T97bKEW9QzPawhe1cX2s4WWaoJ5lDKvgf8x9p3/CwtGtfnUcPTRQilXMdFysIDic3+FLjKDLOqlBUW3gp87C8VlFFD+D9CCLjZ5AYmoO5/UN8BwHUBzF+ChVyGLy4EhJ1dDracVXEuydYXrzrHh1WZCVZZUjkHNNVfAY3l24yb6wQ341m/Ayd8h2OhBfCGLfON/ly60AGLbpYJjFSB/gWRGvug6gocuApm4fRR0TiGizMDHkz8pnmwDR+A16IHiGcfh+E98IQ+Qjs6CT8vspdqVSTipKpxtBJ4qPq7yWyMQbZIWal78tlDuSxDeALzuFWDggsB+2Md2E8Kt3923E9rQhJyKncRWEcTK5bq3ULdNLEUDpr4FOExxwSoypgsLZQZER3j3+42x+WpANb5ZqLTKHoEEDETdrSMQ1xhuAcIrAR1R0LsCdyIHd1Pq9yrmoY6gV4ZAHKIbiCdU1rni13kXN3gXFpCVflS5Z2Af+w7OQDZRgCHN3gM40dLQqTq76jjksBkUtZ745MRBctmxj7UdZOELcCtEx1Rti76FyvuyzF/9XqqglEfQRLWM/D8lQG58UX4CH+XBQonXrxbaQKhZkUS3G+5XCm9NIounsgOCTEtAmyoWCsazC2sP76TOZVtwmVgz5RNQGiU7DnxRiUiWQsD+5nOmxk4NBH3S7Q2BuMxhqef+Ht99gVWW8hQTnBAL0IqFpSvT9woZntzav6BDrPuY70Nqt+cGWNLBvTh2/hT+nvzWH/5y30Dza1oQq5bh84h3sQYMtYsIPAHVxDby9j/95X5ZKGrC6vQTqE9uLPR8EStvDfh4Ebxp9osWT3gb/n/NQs1hQZNSUCshI0WFaKU9WJ+kL1g2iM8ho7WCgPMVnGdVaPrifvO2n4YsRD5HGl7WtgG0KfJ7X/o9di30L1Gg+pd/vwPUKIskVg4QrMofvGCDruGdRiBA5UFKerJQI28dCaW5hUpJZSBpAgsaSOjMIAJQ/uEMMUYHDMAOxAJTAAhC6+7kQ19YqLU7BIog3PPcv/QXsjTnsKaPoISKuzqFgkNH2AqwymccF+tYtCOA6up9t2JBfCrVRhL6xj6IVGOflDr4DEJXWKREqE4RGbA9HIVKd+9baLewj1T0DPq8LCRsm+63N5Ael+hAnBilpotAh/L4nHgyD8i+FvDsr3AJN0CUyiMTJ/SpA8s+hfokAga/ArXKGejDCwul4URj+I7f6WR/tKCWF0EsBUO5C3eyjfG/wWlKVY1S+lm4uFXEcypnrIpcMlSfYlEUZRD8iXCidLbSyfKpn5E1ZLvkpv9+BGC9Axw15X8vwk2IQ1g5RIp9G1yCEZ4rCf9X2jM1KhKXumahxXMKm6oNbHW0lKpVb0K22lB3gjSevQAOdBVB5QNOtDIombJgs6XEkcS2kpMZaLMzqF0kIhCX+Qb8mDq44RFclzkIVwraawhmZbGf4U4KPz90ltwOYL8i9HotpOtPYYnfl9Q0MegPV8D5KMEKtyyUadvDqbqN9LhEGZKy/WGhbkseApQ5qAyJOI6CFVACBc3Iv/1sQbk7Ao9CFScbeBCpshV4zbF44vaxiKDI4ilwH8Zg461YaDNBoayI+e+AelLQPD755NxbqABUBKlH2PgmXJAGoKKRP98Yfl3cQkvhOWiR68hgidIYh7InCdKUjtc+xBSvSPsKCi0BMkzBWonPIPrtKgQTaeC6+9jQ6ry6gEvzCcT+CL6uONSiGmhdXIPtdoR7DhH455HprCL1/eC/SwIpmQF9+WWht3sBaI8g3y6ABS3iLLgm4qUkzayZBDx1BwjsD+DAIsYraDlAoFhEIJmAX6OjXmLGLxaqR3ahkJHubQEykRYrW3yVoATZgSpF7sYXZMTuQb2sIwX+gok8ROCrVK740ifg/Iq73UeQFGHRL5bcjwX8xHULNfdUzyMLll0TVnSBBX0NWLCBYLiBhdEEHfYQia8hXMV7cL2/WWj+MwMMKF+fyIfiGrW+yOJEOsTJKaKYILoBgtUEUJVPQLwWSMfP3eIKZ54i/S7kpILT+BEeRAe4eAtzk4iDOKRA59R3DSenhR2mYFHEnpY/RAYL6AHkcVXGzPqiWUDHpko/n/0BZamm4PAKlxRNdASEZAw9niazjoj6FUR5+WVXUN4IOdARJjLNBfgXD0iDjxBrFPx7FZ+0HnRud3CnpDfcg6VnwXdZmDRS5HX4+88gJe1aKFKYRsZRyMcnLJwsDJAU1ivggycAQx7D3RGKcANqQhKuwsoSJVRIiFLo6hNZAqqhJI2keLfgsShOqmEDV0HwX4BPU0BclvVnFCf/p5mN45ioRwRkp3iZKgKmBIjgYtrt+2DeYBLLoGN2wDxbQL2iB/7XB1JUwQ6sVgpW+A2LSJOsQO0NvN4yONx1WOAZMFKlxiNEyWwopCZAhxZaP0/g0sSgDBl74PSK433q7/AAyuwvD5bHeCaVSDuCT5tEEHeA9DYV5Lf+cwXZbXCQc0hdq7KS/M4mUIIZ6Ksqs7ZvoTzFJwvFebrAwwUtKhl2iyTQLhbbG55PLpg4MYd+vTrIR3NoPeNQMUmUIQxf8K86Bf/CvA4UVa8hgydaoIrvRUj5roLbPAHNTzKoBoKOObiuCQSVAwtF/J4dORkB4WhhMV8DdN+zUM0/aaGxplycHX9+QWzPsKQHvoEqsPZmoQj4CMkRLahNRO5bECWc+2ISwjKy0OhTAog8uNBljOs6LKXqnqz5O7wDrYhBiiZ36MVCsfgCrH0Sp5rqZcR9nJUoEi9jBr6NugyMEXiqnoa43jsQTLC+3g5cvTQyf1qs6rX+6v9uYWE+gFkouPXU5+UcTMJ1C22lM5CXiZmoBMwegtgD9fqWSkBQzgMwxDoUBnNwAXQMKZVZQWKljFR2GWnNLBQQr/6dJ3AS3kFCKsBaTuxjVVGRd3ZBgVzzo/4bAokeEAQVLVGXgB0EmhXgzFks+qGFKlIRyELi6eaBAz/ApbrDSVb1SVKDoTXIh+awehn4omKqtcDX/g7s/wXaxCYgSmkIK0BAIvBndIqOLBR1lwsitKYGNUhvKdFRB0RZRq7g3DfCPSi6SXBvdkGXzcB9mMO4bSNoJaoj1/UUJ92uX0N6wy3fgAexKIqqiNbVaaoG0PsdiIdgIdE0Vb/5GyY9Bz/uCL7gOSRaKsFVQep8CviriZccgsKaAJldVf7VS7AAwvsI2bVv2DSyjj3s+l3QHZ+WBj+H4OQn8NRnnAxNLKYImOkzSDMlWLYW4M8NPKcSPCrMcw+ui1osR+4KqJLUuYVmSDWf7ISF4jTC01d9wk99MxgCwAQCcWHFRaSkf/kYqoeM3MM83m0K5GrNPhbrUXB9ZaGmxo2FvjAzP6WfEUvEkLUUVbhiobWzZIBb4IukzGz0/wGIG2aZDO7nigAAAABJRU5ErkJggg==); background-size:180px 180px; opacity:.55; }
#vi-intro{ position:absolute; inset:0; z-index:1; pointer-events:none; }
#vi-intro svg{ position:absolute; inset:0; width:100%; height:100%; display:block; visibility:hidden; }
#vi-intro.vi-on svg{ visibility:visible; }
#vi-intro .vi-vignette{ display:none; }
#vi-logoG{ transition:opacity .8s ease; }
#vi-intro.vi-bg #vi-logoG{ opacity:0; }
.hero-in{ position:relative; z-index:2; width:100%; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:clamp(28px,5vw,72px); align-items:center; }
.hero-eyebrow{ font-family:var(--f-display); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 clamp(14px,2.4vh,26px); }
.hero-h{ font-family:var(--f-display); font-weight:500; font-size:clamp(2.5rem, 4.6vw, 4.6rem); line-height:1.04; letter-spacing:-.035em; margin:0; }
.hero-h .hl{ display:block; padding-right:.06em; }
.gw{ background:linear-gradient(92deg,#FF5A36 0%,#FF8A2A 55%,#F8B133 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gc{ background:linear-gradient(92deg,#5FC9F5 0%,#2F8FDE 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lead{ font-size:clamp(1rem,1.25vw,1.15rem); line-height:1.6; color:var(--muted); max-width:46ch; margin:clamp(18px,2.8vh,30px) 0 0; }
.hero-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; margin-top:clamp(22px,3.4vh,36px); }
.cta{ position:relative; display:inline-flex; align-items:center; gap:12px; font-family:var(--f-display); font-weight:500; font-size:1rem; letter-spacing:-.005em;
  color:#140A04; text-decoration:none; padding:15px 22px 15px 24px; border-radius:999px;
  background:linear-gradient(92deg,#FF6A3A 0%,#F7931A 60%,#FFB13D 100%); background-size:160% 100%; background-position:0% 0;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 34px rgba(247,120,40,.35), 0 2px 8px rgba(0,0,0,.35);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, background-position .6s ease; }
.cta svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.cta:hover{ transform:translateY(-2px); background-position:100% 0; box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 16px 44px rgba(247,120,40,.5), 0 3px 10px rgba(0,0,0,.4); }
.cta:hover svg{ transform:translateX(4px); }
.cta:active{ transform:translateY(0); }
.hero-tel{ font-family:var(--f-display); font-size:.95rem; color:var(--muted); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.22); padding-bottom:2px; transition:color .25s, border-color .25s; }
.hero-tel b{ font-weight:500; color:var(--fg); }
.hero-tel:hover{ color:var(--fg); border-color:var(--brand); }

/* carte temperature en direct */
.live{ position:relative; isolation:isolate; overflow:hidden; border-radius:22px; aspect-ratio:4/5; width:100%; max-width:400px; justify-self:end;
  display:flex; align-items:flex-end; color:#fff; box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08) inset;
  animation:live-float 8s ease-in-out infinite; }
@keyframes live-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
.live-bg{ position:absolute; inset:0; z-index:-1; transition:opacity 1.8s ease; }
.live-w{ background:radial-gradient(150% 150% at 0% 100%, #EE6A32 0%, #DC4A30 20%, #A9363F 37%, #62305F 54%, #2C2B5C 72%, #172748 100%); }
.live-s{ background:radial-gradient(150% 150% at 0% 100%, #1B6AA6 0%, #2A86C4 22%, #58B6E6 40%, #B4E5F7 55%, #FFEFC9 66%, #FFC467 80%, #FA9238 100%); opacity:0; }
.live.is-s .live-s{ opacity:1; } .live.is-s .live-w{ opacity:0; }
.live::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:repeating-radial-gradient(circle at 0% 100%, rgba(255,255,255,.085) 0 1px, rgba(255,255,255,0) 1px 13%); }
.live-mode{ position:absolute; top:20px; left:22px; font-family:var(--f-display); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; opacity:.85; }
.live-out{ position:absolute; top:16px; right:18px; font-family:var(--f-display); font-size:.86rem; padding:7px 14px; border-radius:999px; background:rgba(0,0,0,.3); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); font-variant-numeric:tabular-nums; }
.live-out b{ font-weight:500; margin-right:2px; }
.live-b{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:clamp(20px,3vw,34px); }
.live-b b{ font-family:var(--f-display); font-weight:300; font-size:clamp(4.4rem,8.5vw,7.2rem); line-height:.86; letter-spacing:-.045em; margin-left:-.04em; font-variant-numeric:tabular-nums; }
.live-b p{ font-family:var(--f-display); font-weight:400; font-size:1.02rem; line-height:1.4; max-width:24ch; min-height:2.8em; }

/* apparition apres l'intro */
.hero-h .hl{ clip-path:inset(-10% 100% -10% 0); transform:translateY(.22em); transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
.hero-h .hl:nth-child(2){ transition-delay:.28s; } .hero-h .hl:nth-child(3){ transition-delay:.56s; }
.hero-eyebrow, .hero-lead, .hero-cta, .live, .hero-more{ opacity:0; transform:translateY(14px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.hero-eyebrow{ transition-delay:.1s; } .hero-lead{ transition-delay:1s; } .hero-cta{ transition-delay:1.2s; } .live{ transition-delay:.7s; } .hero-more{ transition-delay:1.8s; }
.hero.is-on .hero-h .hl{ clip-path:inset(-10% -3% -10% 0); transform:none; }
.hero.is-on .hero-eyebrow, .hero.is-on .hero-lead, .hero.is-on .hero-cta, .hero.is-on .hero-more{ opacity:1; transform:none; }
.hero.is-on .live{ opacity:1; }
.hero-more{ position:absolute; left:50%; bottom:14px; z-index:2; margin-left:-22px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:var(--muted); animation:hero-bob 2.6s ease-in-out infinite; }
.hero-more svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.hero-more:hover{ color:var(--fg); }
@keyframes hero-bob{ 0%,100%{ translate:0 0; } 50%{ translate:0 6px; } }

/* bandeau de confiance */
.trust{ margin-top:-40px; }
.trust ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px clamp(16px,3vw,40px); }
.trust li{ display:flex; flex-direction:column; gap:6px; padding:22px 0 0; border-top:1px solid var(--line); }
.trust b{ font-family:var(--f-display); font-weight:300; font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.1; color:var(--brand-ink); }
.trust span{ font-size:.86rem; line-height:1.45; color:var(--muted); }

@media (max-width:900px){
  .hero{ min-height:0; padding-top:40px; }
  .hero-in{ grid-template-columns:minmax(0,1fr); gap:34px; }
  .live{ justify-self:stretch; max-width:none; aspect-ratio:16/10; animation:none; }
  .hero-more{ display:none; }
}
@media (max-width:560px){
  .hero-h{ font-size:clamp(2.3rem,10.5vw,3rem); }
  .live{ aspect-ratio:4/3; }
  .live-b b{ font-size:4.2rem; }
  .trust ul{ grid-template-columns:1fr; gap:0; }
  .trust li{ padding:14px 0; }
}
@media (prefers-reduced-motion: reduce){
  .live{ animation:none; } .hero-more{ animation:none; }
  .hero-h .hl, .hero-eyebrow, .hero-lead, .hero-cta, .live, .hero-more{ transition:none; }
}

/* ---- console Perfera & simulateur de bruit : meme colorimetrie que le hero ---- */
.ch-card, .nz-card{ border-radius:22px; border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(70% 70% at 0% 100%, rgba(240,100,30,.16), rgba(240,100,30,0) 70%),
             radial-gradient(60% 70% at 100% 0%, rgba(40,140,215,.16), rgba(40,140,215,0) 70%), var(--surface);
  box-shadow:0 30px 70px rgba(0,0,0,.45); }
.ch-read{ background:transparent; }
.ch-temp b{ color:#4FC0F2; transition:color .4s ease; }
.ch-card[data-mode="chaud"] .ch-temp b{ color:#FF8A2A; }
.ch-card[data-mode="neutre"] .ch-temp b{ color:var(--fg); }
.ch-mode{ background:#3FB4EE; color:#071722; font-weight:500; transition:background-color .4s ease, color .4s ease; }
.ch-card[data-mode="chaud"] .ch-mode{ background:#FB8A2E; color:#140A04; }
.ch-card[data-mode="neutre"] .ch-mode{ background:rgba(255,255,255,.12); color:var(--fg); }
.ch-perf b{ background:linear-gradient(92deg,#FF8A2A,#5FC9F5); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ch-svg .gnd-cold{ fill:#D7E3EE; } .ch-svg .gnd-hot{ fill:#6FA85A; }
/* interieur de nuit : la piece suit le fond du site, les meubles sont desatures */
.ch-svg .wall{ fill:#15161B; } .ch-svg .attic{ fill:#1C1D23; }
.ch-svg .ceil, .ch-svg .floor{ fill:#2A2B33; } .ch-svg .plinth{ fill:#1F2026; stroke:#3A3B44; }
.ch-svg .wallcut{ fill:#2E2F37; } .ch-svg .roof-o{ stroke:#3A3B44; }
.ch-svg .ink-ln, .ch-svg .gnd-ln{ stroke:#4A4C57; }
.ch-svg .glass{ fill:rgba(95,201,245,.35); } .ch-svg .w-frame, .ch-svg .sill{ fill:#C9CBD3; }
.ch-svg .gnd-cold{ fill:#1B2230; } .ch-svg .gnd-hot{ fill:#2F4A2C; }
.ch-svg .f-sofa{ fill:#3B4654; } .ch-svg .f-sofa2{ fill:#4C5868; } .ch-svg .f-pil{ fill:#C8A27E; } .ch-svg .f-leg{ fill:#0F1013; }
.ch-svg .f-wood{ fill:#7C5E43; } .ch-svg .f-wood2{ fill:#5F4733; } .ch-svg .f-leaf{ fill:#3F7A55; } .ch-svg .f-leaf2{ fill:#2E5B40; }
.ch-svg .f-pot{ fill:#D9D6CF; } .ch-svg .f-bk1{ fill:#4C5868; } .ch-svg .f-bk2{ fill:#2F8FDE; } .ch-svg .f-bk3{ fill:#C8A27E; }
.ch-svg .f-shade{ fill:#F5D59A; } .ch-svg .f-frame{ fill:#2A2B33; } .ch-svg .f-art{ fill:#353846; } .ch-svg .f-art2{ fill:#4C5868; }
.ch-svg .c-body, .ch-svg .r-body{ fill:#F2F3F5; stroke:#B8BCC6; filter:none; } .ch-svg .c-grille, .ch-svg .c-line{ fill:#C9CDD6; stroke:#C9CDD6; }
.ch-svg .c-out{ stroke:#8A8F9B; } .ch-svg .r-fin{ stroke:#B8BCC6; } .ch-svg .r-foot{ fill:#8A8F9B; }
.ch-svg .tube{ fill:rgba(255,255,255,.08); } .ch-svg .th{ filter:none; }
.ch-svg .lbl, .ch-svg .tin{ fill:#fff; }
.ch-hero .ch-svg .lv-v{ fill:#fff; } .ch-hero .ch-svg .lv-l{ fill:rgba(255,255,255,.65); } .ch-hero .ch-svg .lv-ln{ stroke:rgba(255,255,255,.5); } .ch-hero .ch-svg .lv-tri{ fill:#fff; }
.ch-svg .ticks line{ stroke:rgba(255,255,255,.75); } .ch-svg .ticks text{ fill:rgba(255,255,255,.92); font-weight:500; }
.sec-h{ font-family:var(--f-display); font-weight:500; text-transform:none; font-size:clamp(1.9rem,4vw,3rem); line-height:1.08; letter-spacing:-.02em; }
.nz-card{ padding-bottom:18px; }
.nz-sky{ fill:url(#nz-skyg); }
.nz-seg{ background:rgba(255,255,255,.06); }
.nz-sw[aria-pressed="true"] i{ background:linear-gradient(92deg,#5FC9F5,#2F8FDE); }
.nz-bb{ fill:url(#nz-bbg); }
.nz-w{ stroke:#5FC9F5; }
.nz-led{ fill:#5FC9F5; }
.nz-eff{ fill:#8FD0EE; }
.nz-gm{ fill:#FFB13D; }
.nz-wl{ fill:#5A5245; stroke:#8C8273; } .nz-wj{ stroke:#8C8273; } .nz-hg{ fill:#3F7A55; stroke:#2E5B40; } .nz-hgd{ fill:#2E5B40; }
.nz-ou{ fill:#F2F3F5; } .nz-ou2{ fill:#D5DAE1; } .nz-gr{ fill:#B5BCC6; }

/* ---- notions utiles : cartes animees ---- */
.know-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px); }
.kc{ position:relative; isolation:isolate; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.08); display:flex; flex-direction:column;
  background:radial-gradient(70% 70% at 0% 100%, rgba(240,100,30,.14), rgba(240,100,30,0) 70%), radial-gradient(60% 70% at 100% 0%, rgba(40,140,215,.14), rgba(40,140,215,0) 70%), var(--surface);
  box-shadow:0 24px 60px rgba(0,0,0,.4); }
.kc svg{ display:block; width:100%; height:auto; }
.kc-t{ padding:6px clamp(18px,2.4vw,26px) clamp(18px,2.4vw,24px); display:flex; flex-direction:column; gap:8px; }
.kc h3{ font-size:1.15rem; font-weight:500; }
.kc p{ color:var(--muted); font-size:.95rem; line-height:1.55; }
.kc .ink{ fill:none; stroke:rgba(255,255,255,.7); stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; }
.kc .lbl{ font:500 10px var(--f-display); fill:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.kc .big{ font:500 26px var(--f-display); fill:var(--fg); letter-spacing:-.02em; }
.kc .sub{ font:400 12px var(--f-display); fill:var(--muted); }
.kc .cool{ fill:url(#k-cool); } .kc .warm{ fill:url(#k-warm); }
.kc .cool-s{ stroke:url(#k-cool); } .kc .yel-s{ stroke:url(#k-yel); } .kc .warm-s{ stroke:url(#k-warm); }

/* 1 — W/m3 : l'isolation s'epaissit, la puissance necessaire baisse */
.k1 .fl{ transform-origin:50% 100%; animation:k1-flick 1.1s ease-in-out infinite alternate; }
.k1 .leak path{ animation:k1-up 1.8s ease-out infinite; opacity:0; }
.k1 .leak path:nth-child(2){ animation-delay:.6s; } .k1 .leak path:nth-child(3){ animation-delay:1.2s; }
.k1 .leak path:nth-child(4), .k1 .leak path:nth-child(5){ animation-name:k1-side; } .k1 .leak path:nth-child(5){ animation-delay:.9s; }
@keyframes k1-up{ 0%{ transform:translateY(0); opacity:.9; } 100%{ transform:translateY(-12px); opacity:0; } }
@keyframes k1-side{ 0%{ transform:translateX(0); opacity:.9; } 100%{ transform:translateX(16px); opacity:0; } }
.k1 .gf{ transform-box:fill-box; transform-origin:0 50%; animation:k1-fill 7s ease-out infinite; }
@keyframes k1-flick{ 0%{ transform:scaleY(1) scaleX(1); } 100%{ transform:scaleY(.86) scaleX(1.06); } }
@keyframes k1-rise{ 0%{ transform:translateY(0); opacity:.9; } 100%{ transform:translateY(-22px); opacity:0; } }
@keyframes k1-fill{ 0%{ transform:scaleX(0); } 30%,100%{ transform:scaleX(1); } }

/* 2 — SCOP : 1 kWh entre, 4 kWh sortent */
.k2 .ein{ animation:k2-in 6s ease-in-out infinite; }
.k2 .hout g{ opacity:0; transform:translateX(-16px); animation:k2-out 6s ease-out infinite; }
.k2 .hout g:nth-child(2){ animation-delay:.18s; } .k2 .hout g:nth-child(3){ animation-delay:.36s; } .k2 .hout g:nth-child(4){ animation-delay:.54s; }
.k2 .fan{ transform-origin:130px 60px; animation:spin 2.2s linear infinite; }
.k2 .pulse{ animation:k2-pulse 6s ease-in-out infinite; }
.k2 .rglow{ animation:k2-pulse 6s ease-in-out infinite; }
@keyframes k2-in{ 0%{ transform:translateX(-50px); opacity:0; } 12%{ opacity:1; } 30%,92%{ transform:translateX(0); opacity:1; } 100%{ transform:translateX(0); opacity:0; } }
@keyframes k2-out{ 0%,34%{ opacity:0; transform:translateX(-16px); } 46%,86%{ opacity:1; transform:translateX(0); } 94%,100%{ opacity:0; } }
@keyframes k2-pulse{ 0%,28%{ opacity:0; } 36%{ opacity:.9; } 48%,100%{ opacity:0; } }

/* 3 — plancher 35 °C vs radiateurs 60 °C */
.k3 .m35{ transform-origin:50% 100%; animation:k3-m35 7s ease-in-out infinite; }
.k3 .m60{ transform-origin:50% 100%; animation:k3-m60 7s ease-in-out infinite; }
.k3 .glow-f{ animation:k3-glow 7s ease-in-out infinite; } .k3 .glow-r{ animation:k3-glow 7s ease-in-out infinite .2s; }
.k3 .pipe-f{ stroke-dasharray:4 10; animation:k3-flow 1.6s linear infinite; }
.k3 .pipe-r{ stroke-dasharray:4 10; animation:k3-flow 1.6s linear infinite reverse; }
@keyframes k3-flow{ to{ stroke-dashoffset:-28; } }
.k3 .heat path{ animation:k1-rise 2.2s ease-out infinite; } .k3 .heat path:nth-child(2){ animation-delay:.7s; } .k3 .heat path:nth-child(3){ animation-delay:1.4s; }
@keyframes k3-m35{ 0%{ transform:scaleY(.1); } 30%,100%{ transform:scaleY(1); } }
@keyframes k3-m60{ 0%{ transform:scaleY(.1); } 40%,100%{ transform:scaleY(1); } }
@keyframes k3-glow{ 0%{ opacity:0; } 40%,100%{ opacity:1; } }

/* 4 — photovoltaïque : les electrons vont du panneau a la pompe a chaleur */
.k4 .rays{ transform-origin:366px 44px; animation:spin 24s linear infinite; }
.k4 .flow{ stroke-dasharray:3 9; animation:k4-flow 1.4s linear infinite; }
.k4 .fan{ transform-origin:209px 164px; animation:spin 2.4s linear infinite; }
.k4 .sunp{ transform-origin:366px 44px; animation:k4-sun 3s ease-in-out infinite; }
@keyframes k4-flow{ to{ stroke-dashoffset:-24; } }
@keyframes k4-sun{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.06); } }
@keyframes k4-eur{ 0%{ transform:translateY(0); opacity:0; } 15%{ opacity:1; } 60%{ opacity:1; } 100%{ transform:translateY(-26px); opacity:0; } }
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (max-width:760px){ .know-grid{ grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce){ .kc *{ animation:none !important; } .k2 .ein{ opacity:1; } .k1 .leak path{ opacity:.9; } .k1 .gf{ transform:none; } .k2 .hout g{ opacity:1; transform:none; } .k3 .m35, .k3 .m60{ transform:none; } .k3 .glow-f, .k3 .glow-r{ opacity:1; } }

/* --- ajouts propres à l'aperçu (absents du site réel) --- */
:root{ box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); }
html{ scroll-padding-top:env(safe-area-inset-top,0px); }
#pv-badge{ position:fixed; left:10px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); z-index:999;
  font:500 12px/1.2 "Lexend","Segoe UI",system-ui,sans-serif; color:#fff; background:rgba(22,33,42,.82);
  border-radius:999px; padding:6px 11px; pointer-events:none; letter-spacing:.01em; }
#pv-badge b{ font-weight:500; opacity:.7; margin-right:.35em; }

/* ======== conformité & accessibilité (oct. 2026) ======== */
.skip{ position:absolute; left:-9999px; top:8px; z-index:50; background:var(--brand); color:#1A1124; font-family:var(--f-display); padding:10px 16px; border-radius:4px; text-decoration:none; }
.skip:focus{ left:16px; outline:2px solid var(--fg); outline-offset:2px; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
main:focus{ outline:none; }
/* contrastes : texte sombre sur les aplats de couleur (blanc sur bleu/orange < 3:1) */
.thermo[data-season="hiver"] #tab-hiver, .thermo[data-season="ete"] #tab-ete, .ch-mode, .aa-mode, .aa-n button[aria-checked="true"], .aa-row span{ color:#1A1124; }
.ch-svg .strat text, .hx-t, .hx-s, .hx-k, .hx .hx-t, .nz-db, .nz-cmp{ fill:#1A1124; }
.steps2 li::before{ color:var(--muted); }
@keyframes etS1{ 0%,13%{ background:var(--surface); color:var(--muted); } 14%,28%{ background:var(--brand); color:#1A1124; } 29%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS2{ 0%,29%{ background:var(--surface); color:var(--muted); } 30%,59%{ background:var(--brand); color:#1A1124; } 60%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS3{ 0%,60%{ background:var(--surface); color:var(--muted); } 61%,74%{ background:var(--brand); color:#1A1124; } 75%,100%{ background:var(--surface); color:var(--muted); } }
@keyframes etS4{ 0%,74%{ background:var(--surface); color:var(--muted); } 75%,88%{ background:var(--brand); color:#1A1124; } 89%,100%{ background:var(--surface); color:var(--muted); } }
/* formulaire */
.req{ font-weight:400; color:var(--muted); font-size:.82rem; }
.rgpd{ max-width:60ch; }
/* pied de page */
.foot-legal{ display:inline-block; margin-top:6px; font-size:.82rem; }
.foot-navs{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
.foot-legal-nav a{ font-size:.82rem; }
@media (max-width: 860px){ .foot-navs{ align-items:flex-start; } }
/* pages légales */
.legal{ display:flex; flex-direction:column; gap:14px; }
.legal h2{ font-size:1.25rem; margin-top:18px; }
.legal p, .legal li, .legal td, .legal dd{ color:var(--muted); }
.legal p.lead{ color:var(--muted); }
.legal a{ color:var(--brand-ink); }
.legal-dl{ margin:0; display:grid; gap:0; border-top:1px solid var(--line); }
.legal-dl div{ display:grid; grid-template-columns:minmax(0,14rem) minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.legal-dl dt{ font-family:var(--f-display); font-size:.9rem; color:var(--muted); }
.legal-dl dd{ margin:0; color:var(--fg); }
.legal-table th, .legal-table td{ font-size:.9rem; padding-right:12px; }
.legal-table td:first-child{ color:var(--fg); }
.legal-head .small{ color:var(--muted); }
@media (max-width: 560px){ .legal-dl div{ grid-template-columns:minmax(0,1fr); gap:2px; } }


/* ===== Affordances : rendre visible ce qui se manipule ===== */
.ix-host{ position:relative; }
.ix-badge{ position:absolute; top:12px; right:12px; z-index:4; display:inline-flex; align-items:center; gap:6px; padding:5px 10px 5px 8px; border-radius:999px;
  font-family:var(--f-display); font-size:.72rem; font-weight:500; letter-spacing:.02em; color:#0B1A24; background:var(--brand); box-shadow:0 2px 10px rgba(0,0,0,.35); pointer-events:none; }
.ix-badge svg{ width:13px; height:13px; }
.ch-card .ix-badge{ top:14px; right:14px; }
.sim-left .ix-badge{ top:10px; right:10px; } .aa-sim .ix-badge{ top:62px; right:12px; } .nz-card .ix-badge{ top:12px; right:12px; }
/* étiquette d'aide : phylactère dont l'appendice pointe exactement la commande à manipuler */
.ix-coach{ --tx:50%; --ty:50%; position:absolute; z-index:5; max-width:230px; padding:9px 13px; border-radius:14px; font-size:.8rem; line-height:1.3; color:#0B1A24; background:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.45); pointer-events:none; opacity:0; transition:opacity .35s; }
.ix-coach.on{ opacity:1; }
.ix-coach::after{ content:""; position:absolute; width:0; height:0; border:9px solid transparent; }
.ix-coach[data-side="top"]::after{ left:var(--tx); bottom:-17px; margin-left:-9px; border-top-color:#fff; border-bottom:0; }
.ix-coach[data-side="bottom"]::after{ left:var(--tx); top:-17px; margin-left:-9px; border-bottom-color:#fff; border-top:0; }
.ix-coach[data-side="left"]::after{ top:var(--ty); right:-17px; margin-top:-9px; border-left-color:#fff; border-right:0; }
.ix-coach[data-side="right"]::after{ top:var(--ty); left:-17px; margin-top:-9px; border-right-color:#fff; border-left:0; }
.ix-coach b{ font-weight:600; }
/* halo pulsé sur les poignées à glisser, jusqu'à la première manipulation */
@keyframes ix-pulse{ 0%{ filter:drop-shadow(0 0 0 rgba(85,180,228,.95)) drop-shadow(0 0 0 rgba(85,180,228,.6)); } 70%{ filter:drop-shadow(0 0 6px rgba(85,180,228,0)) drop-shadow(0 0 14px rgba(85,180,228,0)); } 100%{ filter:drop-shadow(0 0 0 rgba(85,180,228,0)) drop-shadow(0 0 0 rgba(85,180,228,0)); } }
.ix-pulse{ animation:ix-pulse 1.8s ease-out infinite; }
/* curseurs : poignée plus grosse, anneau blanc, piste colorée jusqu'à la valeur */
input[type="range"]{ -webkit-appearance:none; appearance:none; height:22px; background:transparent; cursor:grab; }
input[type="range"]:active{ cursor:grabbing; }
input[type="range"]::-webkit-slider-runnable-track{ height:6px; border-radius:3px; background:linear-gradient(90deg, var(--brand) 0 var(--ix-p,50%), rgba(255,255,255,.14) var(--ix-p,50%)); }
input[type="range"]::-moz-range-track{ height:6px; border-radius:3px; background:rgba(255,255,255,.14); }
input[type="range"]::-moz-range-progress{ height:6px; border-radius:3px; background:var(--brand); }
input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; margin-top:-8px; border-radius:50%; background:var(--brand); border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.45); transition:transform .15s; }
input[type="range"]::-moz-range-thumb{ width:16px; height:16px; border-radius:50%; background:var(--brand); border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.45); }
input[type="range"]:hover::-webkit-slider-thumb, input[type="range"]:focus-visible::-webkit-slider-thumb{ transform:scale(1.15); }
input[type="range"]:focus-visible{ outline:0; } input[type="range"]:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(85,180,228,.35), 0 2px 8px rgba(0,0,0,.45); }
/* boutons d'options : contour visible, survol marqué, main au survol */
.ch-cmp button, .nz-seg button, .aa-n button, .aw-v button, .aw-t, .coord button, .chip-row label, .thermo-tabs button{ cursor:pointer; transition:background-color .2s, border-color .2s, color .2s, transform .15s; }
.ch-cmp button:not([aria-selected="true"]), .nz-seg button:not([aria-checked="true"]){ box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); }
.ch-cmp button:not([aria-selected="true"]):hover, .nz-seg button:not([aria-checked="true"]):hover, .aa-n button:not([aria-checked="true"]):hover, .aw-v button:not([aria-checked="true"]):hover, .aw-t[aria-pressed="false"]:hover, .coord button:hover, .chip-row label:hover{ background:rgba(85,180,228,.16); border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); color:var(--fg); }
.aa-n button:active, .ch-cmp button:active, .nz-seg button:active, .aw-v button:active, .aw-t:active{ transform:scale(.96); }
/* télécommandes et poignées SVG : main qui indique le clic, surbrillance au survol */
.rc-b{ cursor:pointer; } .rc-b:hover{ filter:brightness(1.25); }
.ch-svg .knob, .nz-p, .nz-hh, .nz-ob{ cursor:grab; } .ch-svg .knob:active, .nz-p:active, .nz-hh:active{ cursor:grabbing; }
/* liens-cartes : flèche et soulèvement */
.svc2{ position:relative; transition:transform .25s, border-color .25s; }
.svc2::after{ content:"→"; position:absolute; right:16px; bottom:12px; font-family:var(--f-display); font-size:1.1rem; color:var(--brand); opacity:.75; transition:transform .25s, opacity .25s; }
.svc2:hover{ transform:translateY(-3px); border-color:var(--brand); } .svc2:hover::after{ transform:translateX(4px); opacity:1; }
/* « Voir les chiffres » et « Hypothèses » : vrais boutons */
.link-btn{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid var(--brand); border-radius:999px; color:var(--brand-ink); text-decoration:none; cursor:pointer; font-family:var(--f-display); font-size:.86rem; background:transparent; transition:background-color .2s; }
.link-btn:hover{ background:rgba(85,180,228,.14); }
.link-btn::after{ content:"▾"; font-size:.8em; transition:transform .2s; } .link-btn[aria-expanded="true"]::after{ transform:rotate(180deg); }
.hyp summary{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; cursor:pointer; list-style:none; font-family:var(--f-display); font-size:.86rem; transition:background-color .2s, border-color .2s; }
.hyp summary::-webkit-details-marker{ display:none; } .hyp summary::before{ content:"▸"; color:var(--brand); transition:transform .2s; } .hyp[open] summary::before{ transform:rotate(90deg); }
.hyp summary:hover{ background:rgba(255,255,255,.07); border-color:var(--brand); }
/* indice de survol sur le graphique */
.ix-chart{ position:absolute; top:8px; right:8px; z-index:3; padding:4px 9px; border-radius:999px; font-size:.72rem; color:var(--muted); background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.14); pointer-events:none; transition:opacity .3s; }
.ix-chart.off{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .ix-pulse{ animation:none; } }
@media (max-width:700px){ .ix-coach{ max-width:180px; font-size:.76rem; } .ix-badge{ font-size:.68rem; } }


/* caractéristiques techniques repliables sous chaque unité intérieure */
.techs{ margin-top:4px; border-top:1px solid var(--line); }
.techs summary{ display:flex; align-items:center; gap:8px; padding:10px 0; cursor:pointer; list-style:none; font-family:var(--f-display); font-size:.86rem; color:var(--brand-ink); }
.techs summary::-webkit-details-marker{ display:none; }
.techs summary::before{ content:"▸"; font-size:.8em; transition:transform .2s; } .techs[open] summary::before{ transform:rotate(90deg); }
.techs summary:hover{ color:var(--fg); }
.techs dl{ margin:0 0 10px; display:grid; gap:6px 12px; }
.techs dl div{ display:grid; grid-template-columns:minmax(0,38%) minmax(0,1fr); gap:10px; font-size:.84rem; line-height:1.4; }
.techs dt{ color:var(--muted); } .techs dd{ margin:0; color:var(--fg); }

/* ===== Galerie produit : carrousel + choix du coloris ===== */
.ph.gal{ position:relative; background:#fff; aspect-ratio:4/3; }
.ph.gal .gal-track{ position:absolute; inset:0; } .ph.gal.square{ aspect-ratio:4/4.6; background:var(--surface); border-radius:0 var(--r-md) 0 0; } .ph.gal.square .gal-dots i{ background:rgba(255,255,255,.55); } .ph.gal.square .gal-dots i.on{ background:var(--brand); }
.ph.gal img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:6%; box-sizing:border-box; opacity:0; transition:opacity .35s ease; }
.ph.gal img.on{ opacity:1; } .ph.gal img.photo, .ph.gal img[data-pv-img$='-ambiance.webp']{ object-fit:cover; padding:0; }
.gal-btn{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(20,20,24,.72); color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; display:grid; place-items:center; opacity:.9; box-shadow:0 2px 8px rgba(0,0,0,.35); transition:opacity .2s, background-color .2s, transform .15s; }
.gal-btn:active{ transform:translateY(-50%) scale(.94); }
.gal-prev{ left:8px; } .gal-next{ right:8px; }
.ph.gal:hover .gal-btn, .ph.gal:focus-within .gal-btn{ opacity:1; } .gal-btn:hover{ background:var(--brand); color:#0B1A24; border-color:var(--brand); }
.gal-count{ position:absolute; top:10px; right:10px; padding:4px 10px; border-radius:999px; background:rgba(20,20,24,.72); color:#fff; font-family:var(--f-display); font-size:.74rem; letter-spacing:.04em; pointer-events:none; }
.ph.gal[data-count="1"] .gal-count{ display:none; }
.ph.gal[data-count="1"] .gal-btn, .ph.gal[data-count="1"] .gal-dots{ display:none; }
.gal-dots{ position:absolute; left:0; right:0; bottom:8px; display:flex; justify-content:center; gap:6px; }
.gal-dots i{ width:9px; height:9px; border-radius:50%; background:rgba(20,20,24,.3); box-shadow:0 0 0 1.5px rgba(255,255,255,.7); transition:background-color .2s, transform .2s; }
.gal-dots i.on{ background:var(--brand); transform:scale(1.25); }
.colors{ display:flex; flex-wrap:wrap; gap:8px; }
.colors button{ display:inline-flex; align-items:center; gap:8px; padding:5px 12px 5px 6px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--fg); font-family:var(--f-display); font-size:.82rem; cursor:pointer; transition:border-color .2s, background-color .2s; }
.colors button span{ width:22px; height:22px; border-radius:50%; background:var(--c) center/cover; box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.colors button:hover{ border-color:var(--brand); }
.colors button[aria-checked="true"]{ border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); }
@media (hover:none){ .gal-btn{ opacity:1; } }


.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:10px 14px;background:var(--surface);color:var(--fg);border-radius:0 0 4px 0}
.skip:focus{left:0}
