@import url("fonts/ptc-fonts.css");

/* PTC — socle autonome des fiches. Les premières migrations du 20/08 ne
   conservaient plus la feuille inline historique : sans ce bloc, seuls les
   onglets étaient stylés et le corps retombait en Times New Roman. */
:root{--cream:#f7f4ef;--ice:#eaf3fb;--ink:#22293a;--muted:#647080;--line:#e5e0d7;--white:#fff;--amber:#e3a316;--shadow:0 16px 44px rgba(26,45,74,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,-apple-system,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
button,input,select,textarea{font:inherit}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav{max-width:1120px;margin:auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-links{display:flex;align-items:center;gap:20px}
.nav-links a{text-decoration:none;font-weight:700;font-size:.86rem;color:var(--navy)}
.nav-links .cta{background:var(--coral);color:#fff;padding:9px 15px;border-radius:999px}
.wrap{max-width:1100px;margin:auto;padding:0 22px}
.breadcrumbs{color:var(--muted)}
.breadcrumbs a{color:var(--navy)}
.back-btn{display:none;align-items:center;gap:6px;margin:9px 0 0;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:700;font-size:.8rem;padding:6px 11px;border-radius:999px;cursor:pointer}
.fiche-flag{display:inline-flex;align-items:center;gap:6px;background:var(--ice);color:var(--navy);border:1px solid #d4e5f4;border-radius:999px;padding:3px 9px;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-right:7px}
.eyebrow{display:block;color:var(--coral-dark);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
h1,h2,h3{font-family:"Poppins","DM Sans",sans-serif;line-height:1.2;color:var(--navy)}
h1{letter-spacing:-.03em}
h2{font-size:clamp(1.08rem,1.8vw,1.35rem);margin:0 0 9px}
h3{font-size:.96rem;margin:0 0 6px}
.lead{max-width:960px;color:#40516a;margin:0}
.content-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(26,45,74,.05)}
.content-card p{margin:0}
.content-card p+p{margin-top:9px}
.content-card.questions{background:var(--ice);border-color:#d5e5f3}
.content-card.alert{border-left:5px solid var(--amber);background:#fffaf0}
.content-card.evidence{background:var(--cream)}
.result-card{background:var(--navy);border-color:var(--navy);color:#fff}
.result-card h2,.result-card h3{color:#fff}
.result-card p{color:#e1e9f3}
.action-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.action-list li{position:relative}
.action-list li::before{content:"";position:absolute;left:3px}
.mc-tip{border:1px solid #d4e5f4;border-left:4px solid var(--navy);background:var(--ice);border-radius:12px;padding:12px 15px;margin:0 0 12px;color:#40516a}
.mc-tip p{margin:0}
.ptc-vers-outil{border:1px solid #d4e5f4;border-left:4px solid var(--coral);border-radius:12px;background:#f5f9fd;padding:13px 16px}
.ptc-vers-outil p{margin:0}
.ptc-vers-outil a{display:inline-flex;margin-top:7px;color:var(--coral-dark);font-weight:800;font-size:.82rem;text-decoration:none}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.related-card{border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;background:#fff;transition:.2s}
.related-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#bfd0e0}
.related-card span{color:var(--muted)}
.related-card strong{font-family:"Poppins","DM Sans",sans-serif;color:var(--navy)}
.related-card em{font-style:normal;color:var(--coral-dark);font-weight:800;margin-top:auto}
.source-update{margin:0 0 12px;color:var(--muted);font-size:.78rem}
.source-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.source-list li{border-left:3px solid var(--coral);padding-left:12px}
.source-list a{display:block;color:#245b8f;font-weight:700;font-size:.82rem;overflow-wrap:anywhere}
.source-list span,.source-list small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}
.notice{background:#fff4ee;border:1px solid #f2c8b7;border-radius:12px;padding:12px 15px;color:#71320f;margin:10px 0 28px;font-size:.8rem}
.notice strong{color:var(--navy)}
footer{background:#13233a;color:#fff;margin-top:0}
.footer-wrap{max-width:1100px;margin:auto;padding:25px 22px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
footer p{margin:0;color:#b9c9dc;font-size:.8rem}
footer a{color:#fff}
@media(max-width:820px){.nav-links a:not(.cta){display:none}.related-grid{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{padding:0 15px}.nav{padding:11px 15px}}

/* PTC — gabarit de fiche (onglets, definitions, voix PTC, pastilles, encarts compacts).
   Gabarit de reference : /fiches/etudes-geotechniques-choisir-la-mission-adaptee-au-terrain-et-au-projet/
   A charger APRES ptc-brand.css (dernier lien du head) pour conserver l'ordre de cascade.
   Decision de gabarit du 15/08/2026 - sitepartagé/strategie/repartition-gabarit-fiches-2026-08.md */
.breadcrumbs{padding:10px 0 0;font-size:.76rem}
      .hero{padding:10px 0 4px}.hero-tags{display:none}
      .hero h1{font-size:clamp(1.35rem,2.4vw,1.85rem);margin:0 0 6px}
      .hero .lead{font-size:.92rem;line-height:1.5;max-width:920px}
      .hero .eyebrow{margin-bottom:4px;font-size:.68rem}
      .ptc-onglets{margin:10px 0 34px}
      .ptc-tabbar{position:sticky;top:var(--ptc-header-height,61px);z-index:24;display:flex;align-items:center;gap:5px;margin:5px 0 0;padding:7px 8px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:15px;box-shadow:0 9px 24px rgba(26,45,74,.1);overflow-x:auto;scrollbar-width:thin;scroll-behavior:smooth}
      .ptc-tabbar button,.ptc-tabbar a{flex:0 0 auto;border:1px solid transparent;border-radius:999px;padding:7px 10px;background:transparent;color:var(--navy);font:800 .73rem "DM Sans",sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
      .ptc-tabbar [role="tab"]:hover,.ptc-tabbar [role="tab"]:focus-visible{background:var(--ice)}
      .ptc-tabbar [role="tab"][aria-selected="true"],.ptc-tabbar [role="tab"].est-actif{background:var(--navy);color:#fff}
      .ptc-tabbar__sep{flex:1 0 12px}
      .ptc-tabbar .tool-store{border-color:#c9dceb;background:#f5f9fd}
      .ptc-tabbar .tool-next{background:var(--coral);color:#fff}
      .ptc-tabbar button:focus-visible,.ptc-tabbar a:focus-visible{outline:3px solid #79aee0;outline-offset:2px}
      .ptc-onglet{padding-top:16px}
      [data-ptc-onglets].est-js .ptc-onglet{display:none}
      [data-ptc-onglets].est-js .ptc-onglet.est-actif{display:block}
      .ptc-onglet .content-card{margin:0}
      .ptc-onglet .card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
      /* Une ancre peut être portée par une carte : la grille organise les
         conteneurs de cartes, jamais le titre et les paragraphes d'une carte.
         :where garde la spécificité initiale pour les variantes prose/mobile. */
      #comprendre:where(:not(.content-card)){display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;align-items:start}
      /* Fiches de fond rédigées en prose longue : une seule colonne. En grille, des encarts
         de longueurs très inégales produisent des hauteurs discordantes et des blancs
         (retour Déb du 16/08 sur la fiche limites/voisinage). */
      .ptc-prose #comprendre{grid-template-columns:1fr}
      .ptc-prose #comprendre>.content-card{margin:0}
      [data-panneau="comprendre"]>section.content-card{margin-top:14px}
      #preparer .action-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
      #controler:where(:not(.content-card)){display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
      [data-panneau="emporter"]>section[style]{margin:0 0 14px;padding:0;max-width:none}
      [data-panneau="emporter"] .side-card{margin-top:14px}
      @media(max-width:820px){.ptc-tabbar__sep{display:none}}
      .related{padding:10px 0 28px}
      .related .section-heading{margin-bottom:10px}
      .related-grid{gap:10px}
      .related-card{padding:10px 14px;border-radius:12px;gap:2px}
      .related-card span{font-size:.72rem}
      .related-card strong{font-size:.92rem;line-height:1.3}
      .related-card em{margin-top:2px;font-size:.8rem}
      span.ptc-def{border-bottom:1px dotted var(--coral-dark);cursor:help;position:relative;font-style:normal}
      span.ptc-def:hover::after,span.ptc-def:focus::after{content:attr(data-def);position:absolute;left:0;bottom:calc(100% + 7px);z-index:80;background:var(--navy);color:#fff;font-family:"DM Sans",sans-serif;font-size:.8rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5;padding:9px 12px;border-radius:10px;width:min(320px,74vw);box-shadow:0 12px 28px rgba(26,45,74,.28);white-space:normal}
      .ptc-def-lien{color:var(--coral-dark);font-weight:700;text-decoration:none;border-bottom:1px dotted var(--coral-dark)}
      .ptc-def-lien:hover{color:var(--coral)}
      .action-list li{padding-left:20px}
      .action-list li::before{width:7px;height:7px;border:none;border-radius:50%;background:var(--coral);top:.55em}
      .ptc-voix,.mc-tip p{font-family:Georgia,"Times New Roman",serif;font-style:italic}
      .missions-card{grid-column:1/-1;order:3}
      .ptc-missions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
      .ptc-missions article{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--cream)}
      .ptc-missions strong{display:block;color:var(--coral-dark);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
      .ptc-missions p{margin:0;font-size:.85rem;line-height:1.45;white-space:normal}
      #comprendre .ptc-context-guide__services{grid-column:1/-1;order:4}
      #comprendre .ptc-context-guide__services h3{margin:0 0 8px}
      #comprendre .ptc-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
      .ptc-onglet .content-card{padding:16px 18px}
      .ptc-onglet .content-card h2{font-size:1.05rem;margin-bottom:8px}
      .ptc-onglet .content-card p,.ptc-onglet .action-list{font-size:.9rem;line-height:1.5}
      .ptc-context-guide__answer p{font-size:.9rem}
      @media(max-width:820px){#comprendre{grid-template-columns:1fr}.ptc-missions{grid-template-columns:1fr}#comprendre .ptc-service-grid{grid-template-columns:1fr}.ptc-onglet .card-grid{grid-template-columns:1fr}}
      .ptc-action-lien{display:inline-flex;margin-top:8px;color:var(--coral-dark);font-weight:800;font-size:.8rem;text-decoration:none}
      .ptc-action-lien:hover{text-decoration:underline}
      /* Pastilles de statut d'exigence — taxonomie commune aux deux lots (point 12 de la repartition).
         Base = recommandation professionnelle / norme volontaire ; --legale = obligation avec texte,
         champ et conditions ; --contractuelle = condition possible ou certaine d'un contrat ;
         --territoriale = portée limitée à certains territoires (teinte alignée sur --territoire de ptc-raccordements.css). */
      .ptc-pastille{display:inline-block;margin:3px 0 3px 8px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.67rem;font-weight:800;line-height:1.35;vertical-align:middle}
      .ptc-pastille--legale{border-color:#9ebbd4;background:var(--ice);color:var(--navy)}
      .ptc-pastille--contractuelle{border-color:#dfb457;background:#fff8e8;color:#704b00}
      .ptc-pastille--territoriale{border-color:#9bc9b7;background:#eef8f3;color:#17634d}
      .ptc-controls__note{margin:2px 0 12px;color:#5b6573;font-size:.8rem;max-width:900px}
      .carte-devis{margin-top:14px}
      .carte-devis .action-list{margin:8px 0 12px}
      .ptc-subtabs{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
      .ptc-subtabs__bar{display:flex;gap:5px;padding:7px;background:var(--cream);border-bottom:1px solid var(--line);overflow-x:auto}
      .ptc-subtabs__bar button{flex:0 0 auto;border:1px solid transparent;border-radius:999px;padding:7px 11px;background:transparent;color:var(--navy);font:800 .76rem "DM Sans",sans-serif;cursor:pointer}
      .ptc-subtabs__bar button[aria-selected="true"]{background:var(--navy);color:#fff}
      .ptc-subtabs__bar button:focus-visible{outline:3px solid #79aee0;outline-offset:1px}
      .ptc-subtabs__panel{padding:12px 14px}
      .ptc-compare{width:100%;border-collapse:collapse;font-size:.82rem;line-height:1.42}
      .ptc-compare th,.ptc-compare td{padding:8px 9px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
      .ptc-compare th{color:var(--navy);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}
      .ptc-compare tr:last-child td{border-bottom:0}
      .ptc-compare td:first-child{width:17%;color:var(--coral-dark);font-weight:800;white-space:nowrap}
      .ptc-source-card{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
      .ptc-source-card .source-list{margin-bottom:0}
      .ptc-onglet{scroll-margin-top:calc(var(--ptc-header-height,61px) + 64px)}
      .ptc-anchor-alias{display:block;height:0;overflow:hidden;scroll-margin-top:calc(var(--ptc-header-height,61px) + 64px)}
      @media(max-width:560px){.site-header .nav{gap:7px}.site-header .brand{gap:4px;font-size:.76rem}.site-header .brand svg{width:25px}.site-header .nav-links .cta{max-width:108px;padding:7px 9px;font-size:.68rem;line-height:1.15;text-align:center}.ptc-synthese{width:40px;height:40px;padding:8px;justify-content:center}.ptc-synthese span{display:none}.ptc-compare{font-size:.78rem}.ptc-compare th:nth-child(3),.ptc-compare td:nth-child(3){display:none}}
      @media print{.ptc-tabbar{display:none}[data-ptc-onglets].est-js .ptc-onglet{display:block!important}}
/* LES QUESTIONS EN CARTES — portées AU GABARIT le 01/09/2026 (FIC-PORTES-BALISAGE,
   retournée). La ligne de registre disait « portes-d-entree est la seule fiche à
   porter ce balisage » ; mesuré : VINGT-NEUF fiches le portent, dont QUATRE sans
   aucun style — le balisage s’est copié de fiche en fiche, parfois sans sa feuille,
   et leurs questions rendaient brutes (bordure 0, fond transparent, grille en bloc).
   Une fois ici, les 25 copies inline deviennent redondantes : elles disent la même
   chose et gagnent la cascade là où elles divergent — rien ne casse, et leur retrait
   relève d’une session de convergence dédiée, pas de ce correctif. Valeurs de la
   variante majoritaire (21 fiches sur 25). */
.question-grid,.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.question-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}
.question-card p{font-size:.86rem}
.expected strong{color:#1f6f42}
/* 820 et non 760 : c est LE point de rupture que les 24 fiches de la famille
   posaient elles-memes ; converger a 760 aurait rendu deux colonnes entre 760
   et 820 la ou elles n en montraient qu une. .case-grid suit : meme famille,
   24 corps identiques mesures le 01/09/2026. */
@media(max-width:820px){.question-grid,.case-grid{grid-template-columns:1fr}}
