/* Traboule Solaire : vert sapin + vert clair, lin, quadrillage de plan, angles arrondis */
@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/space-grotesk.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans.woff2) format("woff2");font-weight:400 600;font-display:swap}
:root{--sapin:#1d4a40;--sapin-2:#2b6356;--clair:#9ccc5a;--clair-pale:#eef5e6;--lin:#f5f1e8;--menthe:#eef5f0;--encre:#1f2a27;--doux:#5b6a65;--bord:#d7e0da;--rayon:14px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body.tr-body{margin:0;background:#fff;color:var(--encre);font:400 1.03rem/1.68 "IBM Plex Sans",system-ui,-apple-system,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--sapin-2)}
.tr-frame{max-width:1200px;margin:0 auto;padding-left:22px;padding-right:22px}
h1,h2,h3,.tr-mark,.tr-foot__name,.tr-leave__t,.tr-offre__name,.tr-index__l,.tr-hero__facts dt{font-family:"Space Grotesk",system-ui,sans-serif}

/* en-tête */
.tr-head{position:sticky;top:0;z-index:30;background:var(--sapin);color:#fff}
.tr-head__row{display:flex;align-items:center;gap:22px;min-height:70px}
.tr-mark{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.25rem;margin-right:auto}
.tr-mark__grid{display:grid;grid-template-columns:repeat(2,11px);gap:3px;transform:skewX(-12deg)}
.tr-mark__grid i{width:11px;height:11px;background:var(--clair);border-radius:2px}
.tr-menu{display:flex;align-items:center;gap:22px}
.tr-menu ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;white-space:nowrap}
.tr-menu ul a{color:#d9ece4;text-decoration:none;font-weight:500}
.tr-menu ul a:hover{color:#fff;text-decoration:underline}
.tr-burger{position:absolute;opacity:0;pointer-events:none}
.tr-burger__lbl{display:none}
.tr-pill{display:inline-block;background:var(--clair);color:#13302a;font-weight:600;text-decoration:none;padding:12px 22px;border-radius:999px;border:2px solid var(--clair);white-space:nowrap}
.tr-pill:hover{background:#86b947;border-color:#86b947}
.tr-pill--line{background:transparent;color:var(--sapin);border-color:var(--sapin)}
.tr-pill--line:hover{background:var(--sapin);color:#fff;border-color:var(--sapin)}

/* titres */
.tr-h1{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--sapin);margin:8px 0 14px}
.tr-h2{font-size:clamp(1.45rem,2.5vw,1.95rem);color:var(--sapin);margin:0 0 20px;letter-spacing:-.01em}
.tr-h3{font-size:1.2rem;color:var(--sapin);margin:26px 0 8px}
.tr-tag{display:inline-block;font:600 .78rem/1 "IBM Plex Sans",sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--sapin-2);background:var(--clair-pale);padding:7px 11px;border-radius:999px;margin:0 0 12px}
.tr-muted{color:var(--doux);font-size:.92rem}
.tr-path{font-size:.86rem;padding-top:16px;font-family:system-ui,sans-serif}
.tr-path ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;color:var(--doux)}
.tr-path li+li::before{content:"/";margin-right:6px;color:#9fb0a9}
.tr-path a{color:var(--doux)}

/* hero sur quadrillage */
section{padding:58px 0}
.tr-hero{background-color:var(--menthe);background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(29,74,64,.06) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(29,74,64,.06) 31px 32px);padding:40px 0 44px}
.tr-hero--sub{padding-top:22px}
.tr-hero__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"eye vis" "title vis" "text vis" "cta vis" "facts facts" "budget budget";column-gap:46px;align-items:start}
.tr-hero__eyebrow{grid-area:eye;margin:0 0 10px;font:600 .9rem system-ui,sans-serif;color:var(--sapin-2);text-transform:uppercase;letter-spacing:.06em}
.tr-hero__title{grid-area:title;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.12;color:var(--sapin);margin:0 0 16px;font-weight:700}
.tr-hero__text{grid-area:text;margin:0 0 24px;max-width:56ch;font-family:system-ui,sans-serif}
.tr-hero__visual{grid-area:vis;align-self:center;border-radius:var(--rayon);overflow:hidden;box-shadow:0 0 0 8px #fff,0 16px 34px rgba(29,74,64,.18)}
.tr-hero__cta{grid-area:cta;display:flex;gap:12px}
.tr-hero__facts{grid-area:facts;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0 0}
.tr-hero__facts div{background:#fff;border-radius:var(--rayon);padding:16px 18px;border:1px solid var(--bord)}
.tr-hero__facts dt{font-size:1.35rem;font-weight:700;color:var(--sapin)}
.tr-hero__facts dd{margin:4px 0 0;font-size:.93rem;color:var(--doux)}
.tr-hero__budget{grid-area:budget;margin:18px 0 0;font-weight:600;color:var(--sapin);font-family:system-ui,sans-serif}

/* passages numérotés */
.tr-passages{background:#fff}
.tr-passages__list{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tr-passages__list li{counter-increment:p;background:var(--lin);border-radius:var(--rayon);padding:20px 18px}
.tr-passages__list li::before{content:"Passage " counter(p,decimal-leading-zero);display:block;font:600 .78rem "IBM Plex Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--sapin-2);margin-bottom:8px}
.tr-passages__list h3{font-size:1.1rem;color:var(--sapin);margin:0 0 6px}
.tr-passages__list p{margin:0;font-size:.95rem}

/* formulaire */
.tr-devis{background:var(--lin)}
.tr-devis__box{max-width:900px;text-align:center}
.tr-devis__lead{max-width:62ch;margin:0 auto 20px}
.tr-devis__iframe{background:#fff;border-radius:var(--rayon);padding:16px 10px 0;text-align:left;border:1px solid var(--bord)}

/* offres */
.tr-offres{background:#fff}
.tr-offres__pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tr-offre{position:relative;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--encre);border-radius:var(--rayon);overflow:hidden;border:1px solid var(--bord);padding-bottom:20px}
.tr-offre img{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:10px}
.tr-offre>span,.tr-offre>a{padding:0 20px}
.tr-offre__name{text-decoration:none}
.tr-offre__name::after{content:"";position:absolute;inset:0}
.tr-offre__name{font-size:1.35rem;font-weight:700;color:var(--sapin)}
.tr-offre__price{font-weight:600;color:var(--sapin-2)}
.tr-offre:hover .tr-offre__name{text-decoration:underline}

/* index des communes */
.tr-index{background:var(--menthe)}
.tr-index__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tr-index__letter{background:#fff;border-radius:var(--rayon);padding:14px 18px;display:grid;grid-template-columns:34px 1fr;gap:6px}
.tr-index__l{font-size:1.6rem;font-weight:700;color:var(--clair);line-height:1}
.tr-index ul{list-style:none;margin:0;padding:0}
.tr-index li{padding:2px 0}
.tr-index a{color:var(--encre);text-decoration:none}
.tr-index a:hover{color:var(--sapin-2);text-decoration:underline}
.tr-index__flat{columns:3 250px;column-gap:28px}
.tr-index__flat li{break-inside:avoid;padding:4px 0}
.tr-index__flat--one{columns:1}
.tr-index__two{display:grid;grid-template-columns:1fr 2fr;gap:30px}

/* FAQ */
.tr-faq{background:#fff}
.tr-faq__col{max-width:860px}
.tr-faq__item{border:1px solid var(--bord);border-radius:var(--rayon);margin-bottom:10px;padding:0 18px;background:#fff}
.tr-faq__item summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--sapin)}
.tr-faq__item[open]{background:var(--clair-pale);border-color:#cfe3b6}
.tr-faq__item p{margin:0 0 14px}

/* mémo SEO */
.tr-memo{background:#fff;padding-top:10px}
.tr-memo__sheet{background:var(--lin);border-radius:var(--rayon);padding:34px 36px}
.tr-memo__cols{columns:2 340px;column-gap:36px}
.tr-memo__cols p{margin:0 0 14px;break-inside:avoid}

/* article */
.tr-article{background:#fff;padding:42px 0}
.tr-article__wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}
.tr-article__lead{font-size:1.08rem}
.tr-article__aside{background:var(--menthe);border-radius:var(--rayon);padding:22px;position:sticky;top:100px}
.tr-ticks{list-style:none;margin:0;padding:0}
.tr-ticks li{padding:7px 0 7px 26px;position:relative;font-size:.95rem;border-bottom:1px dashed var(--bord)}
.tr-ticks li::before{content:"";position:absolute;left:2px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--clair)}
.tr-mini{margin:0 0 12px}
.tr-mini a{font-weight:600}

/* installateurs */
.tr-pros{background:var(--lin)}
.tr-pros__layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}
.tr-pros__table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--rayon);overflow:hidden;font-size:.94rem}
.tr-pros__table th,.tr-pros__table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--bord);vertical-align:top}
.tr-pros__table thead th{background:var(--sapin);color:#fff;font-weight:600}
.tr-pros__note{font:700 1.15rem "Space Grotesk",sans-serif;color:var(--sapin)}
.tr-pros__claim{font-size:.8rem;color:var(--doux)}
.tr-pros__map{width:100%;min-height:380px;height:100%;border:0;border-radius:var(--rayon);background:var(--menthe)}
.tr-plan{width:100%;border-collapse:collapse;font-size:.95rem}
.tr-plan th,.tr-plan td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bord)}

/* exemples de projets */
.tr-cases{background:#fff}
.tr-cases__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.tr-case{border:1px solid var(--bord);border-radius:var(--rayon);padding:18px 18px 16px;background:var(--lin)}
.tr-case__num{margin:0;font:600 .78rem "IBM Plex Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--sapin-2)}
.tr-case__t{font-size:1.1rem;color:var(--sapin);margin:6px 0 10px}
.tr-case__tab{width:100%;border-collapse:collapse;font-size:.92rem}
.tr-case__tab th{text-align:left;vertical-align:top;color:var(--doux);font-weight:600;padding:6px 10px 6px 0;width:38%}
.tr-case__tab td{padding:6px 0;border-bottom:1px dashed var(--bord)}
.tr-case__prix{font-weight:600;color:var(--sapin)}
.tr-case__vig{margin:10px 0 0;font-size:.9rem}
@media (max-width:980px){.tr-cases__row{grid-template-columns:1fr}}

/* pied */
.tr-foot{background:var(--sapin);color:#cfe3da;padding:48px 0 22px}
.tr-foot a{color:#fff;text-decoration:none}
.tr-foot a:hover{text-decoration:underline}
.tr-foot__top{display:flex;gap:30px;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid #2f6357;padding-bottom:20px}
.tr-foot__name{font-size:1.5rem;font-weight:700;color:#fff;margin:0}
.tr-foot__pitch{margin:0;max-width:70ch}
.tr-foot__cols{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;padding:24px 0}
.tr-foot__cols ul{list-style:none;margin:0;padding:0}
.tr-foot__cols li{padding:3px 0}
.tr-foot__towns{columns:2}
.tr-foot__mail{margin:0}
.tr-foot__base{font-size:.86rem;margin:0;color:#a9c6bb}

/* sortie */
.tr-leave{position:fixed;inset:0;z-index:80;background:rgba(19,48,42,.5);display:none;align-items:center;justify-content:center;padding:20px}
.tr-leave.is-on{display:flex}
.tr-leave__box{background:#fff;border-radius:var(--rayon);max-width:420px;padding:30px;position:relative;border-top:8px solid var(--clair)}
.tr-leave__t{font-size:1.4rem;font-weight:700;color:var(--sapin);margin:0 0 8px}
.tr-leave__x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--doux)}

@media (max-width:980px){
  .tr-passages__list{grid-template-columns:1fr 1fr}
  .tr-article__wrap,.tr-pros__layout,.tr-foot__cols,.tr-index__two{grid-template-columns:1fr}
  .tr-article__aside{position:static}
}
@media (max-width:860px){
  .tr-hero__text{font-size:1rem}
  .tr-burger__lbl{display:block;width:44px;height:40px;border:1px solid #4d7f73;border-radius:10px;position:relative;cursor:pointer}
  .tr-burger__lbl span,.tr-burger__lbl span::before,.tr-burger__lbl span::after{position:absolute;left:11px;width:20px;height:2px;background:#fff;content:""}
  .tr-burger__lbl span{top:19px}.tr-burger__lbl span::before{top:-6px;left:0}.tr-burger__lbl span::after{top:6px;left:0}
  .tr-menu{display:none;position:absolute;left:0;right:0;top:70px;background:var(--sapin);flex-direction:column;align-items:stretch;padding:8px 22px 20px;gap:12px}
  .tr-burger:checked~.tr-menu{display:flex}
  .tr-menu ul{flex-direction:column;gap:0}
  .tr-menu ul a{display:block;padding:11px 0;border-bottom:1px solid #2f6357}
  .tr-menu .tr-pill{text-align:center}
  .tr-hero__layout{grid-template-columns:1fr;grid-template-areas:"eye" "title" "text" "vis" "cta" "facts" "budget"}
  .tr-hero__visual{margin:4px 0 22px}
  .tr-hero__cta{flex-wrap:wrap}
  .tr-hero__facts{grid-template-columns:1fr}
  .tr-offres__pair,.tr-passages__list{grid-template-columns:1fr}
  .tr-memo__sheet{padding:24px 20px}
  .tr-pros__table thead{display:none}
  .tr-pros__table,.tr-pros__table tbody,.tr-pros__table tr,.tr-pros__table td{display:block;width:100%}
  .tr-pros__table td{border-bottom:0;padding:4px 14px}
  .tr-pros__table tr{border-bottom:1px solid var(--bord);padding:10px 0}
  .tr-plan{display:block;overflow-x:auto}
  section{padding:44px 0}
}
