/*
Theme Name: SicWeb
Theme URI: https://sicweb.fr/
Author: SicWeb
Description: Thème WordPress SicWeb — version 0.6.17, administration simplifiée en privilégiant les fonctions natives WordPress.
Version: 0.6.17
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: sicweb
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --sw-bg:#090b0f;
  --sw-bg-2:#0d1015;
  --sw-panel:#101319;
  --sw-panel-2:#151920;
  --sw-text:#f5f3ee;
  --sw-muted:#a8afb9;
  --sw-muted-2:#7f8792;
  --sw-accent:#ff6b57;
  --sw-accent-2:#ff8e7e;
  --sw-line:rgba(245,243,238,.12);
  --sw-line-coral:rgba(255,107,87,.28);
  --sw-width:1720px;
  --sw-content:1720px;
  --sw-card:#11141a;
  --sw-card-border:rgba(255,107,87,.42);
  --sw-radius:18px;
  --sw-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--sw-bg)}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--sw-bg);color:var(--sw-text);font-family:var(--sw-font);font-size:17px;line-height:1.58;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column}
body.sw-menu-open{overflow:hidden}
body.admin-bar .sw-header{top:32px}
@media(max-width:782px){body.admin-bar .sw-header{top:46px}}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--sw-accent)}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
::selection{background:var(--sw-accent);color:#090b0f}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;color:#111;clip:auto!important;clip-path:none;height:auto;left:8px;top:8px;padding:12px 16px;width:auto;z-index:100000}

.sw-shell{width:min(94vw,var(--sw-width));margin-inline:auto}
.sw-web{color:var(--sw-accent)!important}
.sw-brand-word{display:inline-flex;align-items:baseline;font-weight:850;letter-spacing:-.055em;color:var(--sw-text)}
.sw-brand-sic{color:var(--sw-text)}
.sw-main{min-height:0;overflow:hidden;background:var(--sw-bg);flex:1 0 auto}

/* Header */
.sw-header{position:absolute;inset:0 0 auto;z-index:90;pointer-events:none}
.sw-header__inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.sw-header__brand{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:28px;line-height:1}
.sw-header__brand img{width:36px;height:auto;display:block}
.sw-desktop-nav{pointer-events:auto;font-size:13px;font-weight:700}
.sw-desktop-nav__list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.sw-desktop-nav__list>li{display:block}
.sw-desktop-nav__list>li>a{color:#d8dbe0;text-decoration:none;transition:color .18s ease,transform .18s ease}
.sw-desktop-nav__list>li>a:hover{color:#fff;transform:translateY(-1px)}
.sw-desktop-nav__list>li.sw-nav-cta>a{background:var(--sw-accent);color:#090b0f;padding:11px 22px;border-radius:999px;font-weight:850}
.sw-desktop-nav__list>li.sw-nav-cta>a:hover{background:var(--sw-accent-2);color:#090b0f}
.sw-menu-toggle{display:none;pointer-events:auto;width:46px;height:46px;padding:10px 7px;background:transparent;border:0;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;color:var(--sw-accent)}
.sw-menu-toggle span:not(.screen-reader-text){display:block;width:32px;height:2.5px;border-radius:99px;background:currentColor}

/* Menu mobile */
.sw-menu-panel{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
.sw-menu-panel.is-open{visibility:visible;pointer-events:auto}
.sw-menu-panel__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);opacity:0;transition:opacity .25s ease}
.sw-menu-panel.is-open .sw-menu-panel__backdrop{opacity:1}
.sw-menu-panel__drawer{position:absolute;top:0;right:0;height:100%;width:min(500px,92vw);padding:30px;background:linear-gradient(160deg,#11151b,#090b0f 74%);border-left:1px solid var(--sw-line);box-shadow:-30px 0 100px rgba(0,0,0,.38);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.75,.2,1)}
.sw-menu-panel.is-open .sw-menu-panel__drawer{transform:translateX(0)}
.sw-menu-panel__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--sw-line)}
.sw-menu-panel__brand{display:inline-flex;align-items:center;gap:10px;font-size:27px;text-decoration:none}
.sw-menu-panel__brand img{width:33px}
.sw-menu-close{width:44px;height:44px;border:0;background:transparent;color:var(--sw-muted);font-size:40px;line-height:1;cursor:pointer}
.sw-menu-close:hover{color:var(--sw-accent)}
.sw-menu-panel__nav{padding:26px 0}
.sw-menu-panel__list{list-style:none;margin:0;padding:0}
.sw-menu-panel__list li{border-bottom:1px solid rgba(255,255,255,.07)}
.sw-menu-panel__list a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:clamp(25px,6vw,40px);font-weight:780;letter-spacing:-.04em;text-decoration:none;color:var(--sw-text)}
.sw-menu-panel__list a::after{content:"↗";font-size:.55em;color:var(--sw-accent);opacity:.65}
.sw-menu-panel__signature{margin-top:auto;padding-top:20px;border-top:1px solid var(--sw-line);display:flex;flex-direction:column;gap:8px;color:var(--sw-muted);font-size:13px}
.sw-menu-panel__signature a{color:var(--sw-accent);font-weight:800;text-decoration:none}

/* Accueil — fidèle à la maquette validée */
.sw-hero{position:relative;height:clamp(520px,calc(100svh - 180px),760px);min-height:520px;display:flex;align-items:center;overflow:hidden;background:#090b0f}
.sw-hero__motif{position:absolute;inset:0;background:url("assets/images/hero-home.webp") center right/cover no-repeat;z-index:0;pointer-events:none}
.sw-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,15,1) 0%,rgba(9,11,15,1) 35%,rgba(9,11,15,.94) 49%,rgba(9,11,15,.55) 59%,rgba(9,11,15,.16) 70%,rgba(9,11,15,0) 100%);z-index:1;pointer-events:none}
.sw-hero__inner{position:relative;z-index:2;width:min(88vw,var(--sw-width));margin-inline:auto;padding-top:54px}
.sw-hero__content{max-width:720px}
.sw-eyebrow{margin:0 0 18px;color:#ecebe8;font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:800}
.sw-hero h1{margin:0;max-width:760px;font-size:clamp(50px,3.8vw,66px);line-height:.98;letter-spacing:-.058em;font-weight:900}
.sw-hero__lead{margin:20px 0 0;font-size:clamp(21px,1.55vw,27px);line-height:1.2;letter-spacing:-.03em;color:#f4f1ec;font-weight:500}
.sw-hero__copy{margin:16px 0 0;max-width:650px;color:#bbc0c7;font-size:14.5px;line-height:1.5}
.sw-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.sw-button,.wp-block-button__link,.sicweb-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:47px;padding:0 21px;border:1px solid transparent;border-radius:13px;background:var(--sw-accent);color:#090b0f;text-decoration:none;font-weight:850;font-size:14px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.sw-button:hover,.wp-block-button__link:hover,.sicweb-submit:hover{background:var(--sw-accent-2);color:#090b0f;transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,107,87,.18)}
.sw-button--ghost,.is-style-outline>.wp-block-button__link{background:#090b0f;color:var(--sw-text);border-color:rgba(245,243,238,.35)}
.sw-button--ghost:hover,.is-style-outline>.wp-block-button__link:hover{background:#11151b;color:#fff;border-color:rgba(245,243,238,.55);box-shadow:none}

/* 4 cadres */
.sw-promise-strip{position:relative;z-index:3;background:#090b0f;padding:0 0 18px}
.sw-promise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
a.sw-promise{min-height:128px;padding:19px 19px;border:1px solid var(--sw-card-border);border-radius:15px;background:linear-gradient(145deg,#12161c,#0d1015);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);display:flex;align-items:flex-start;gap:16px;text-decoration:none;color:var(--sw-text);transition:transform .18s ease,border-color .18s ease,background .18s ease}
a.sw-promise:hover{transform:translateY(-3px);border-color:rgba(255,107,87,.72);background:linear-gradient(145deg,#151a21,#101318);color:var(--sw-text)}
.sw-promise__icon{flex:0 0 40px;width:40px;height:40px;color:var(--sw-accent);background-position:center;background-repeat:no-repeat;background-size:contain}
.sw-promise__icon svg{display:none}
.sw-promise strong{display:block;font-size:16px;line-height:1.2;margin:3px 0 8px;letter-spacing:-.02em}
.sw-promise small{display:block;color:#969da7;font-size:12.5px;line-height:1.4}


/* Finition accueil : la 2e promesse utilise le véritable engrenage de la maquette */
.sw-promise__icon--screen{background-image:url("assets/images/icon-screen.svg")}
.sw-promise__icon--gear{background-image:url("assets/images/icon-gear.svg")}
.sw-promise__icon--bars{background-image:url("assets/images/icon-bars.svg")}
.sw-promise__icon--people{background-image:url("assets/images/icon-people.svg")}

/* Règle de marque : partout où le thème compose SicWeb, Web reste corail. */
.sw-brand-word .sw-web,.sw-header__brand .sw-web,.sw-footer__brand .sw-web,.sw-menu-panel__brand .sw-web{color:var(--sw-accent)!important}

/* Footer */
.sw-footer{padding:12px 0 13px;background:#080a0e;border-top:1px solid rgba(255,255,255,.08);flex:0 0 auto}
.sw-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sw-footer__legal{display:flex;align-items:center;color:#858c96;font-size:11.5px}
.sw-footer-menu{display:flex;align-items:center;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
.sw-footer-menu li{display:flex;align-items:center}
.sw-footer-menu li:not(:last-child)::after{content:"|";margin:0 10px;color:#858c96}
.sw-footer__legal a{color:#858c96;text-decoration:none}
.sw-footer__legal a:hover{color:var(--sw-accent)}
.sw-footer__signature{display:flex;align-items:center;gap:9px;color:#858c96;font-size:11.5px;white-space:nowrap}
.sw-footer__brand{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:14px}
.sw-footer__brand img{width:23px;height:auto;display:block}
.sw-footer__copyright{color:#858c96}

/* Pages internes */
.sw-page-hero{position:relative;min-height:350px;padding:124px 0 52px;border-bottom:1px solid var(--sw-line);overflow:hidden;background:#090b0f}
.sw-page-hero::before{content:"";position:absolute;inset:0;background-image:url("assets/images/hero-generic.webp");background-repeat:no-repeat;background-position:right bottom;background-size:auto 100%;opacity:.98}
.sw-page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.995) 40%,rgba(9,11,15,.90) 52%,rgba(9,11,15,.46) 66%,rgba(9,11,15,.05) 88%)}
.sw-page-hero__grid{position:relative;z-index:2;display:block}
.sw-page-hero__grid>div{max-width:760px}
.sw-page-hero__symbol{display:none}
.sw-kicker{color:var(--sw-accent);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;margin-bottom:14px}
.sw-kicker .sw-brand-word{font-size:14px;letter-spacing:-.04em;text-transform:none}
.sw-page-hero h1{font-size:clamp(46px,4.4vw,68px);line-height:.98;letter-spacing:-.06em;margin:0;max-width:760px;font-weight:870}
.sw-page-hero__lead{font-size:18px;color:#bfc4cb;max-width:680px;margin-top:18px;line-height:1.5}
.sw-page-hero__lead p{margin:0}

.sw-content{width:min(94vw,var(--sw-content));margin-inline:auto;padding:48px 0 58px}
.sw-content>*{max-width:1000px;margin-left:0;margin-right:0}
.sw-content>.alignwide{max-width:1480px}
.sw-content>.alignfull{max-width:none}
.sw-content h2{font-size:clamp(30px,3.1vw,43px);line-height:1.05;letter-spacing:-.045em;margin-top:1.55em;margin-bottom:.38em;color:#fff}
.sw-content h3{font-size:25px;line-height:1.15;letter-spacing:-.03em;margin-top:1.45em;color:#fff}
.sw-content p,.sw-content li{color:#c4c9d0}
.sw-content a{color:#fff}.sw-content a:hover{color:var(--sw-accent)}
.sw-content .has-large-font-size{font-size:clamp(22px,2.3vw,29px)!important;line-height:1.4;color:#f1efeb}
.sw-content blockquote{border-left:3px solid var(--sw-accent);margin:36px auto;padding:8px 0 8px 22px;font-size:23px;line-height:1.38;color:#f2f0ec}

/* Mise en cartes automatique des contenus Services/Méthode/À propos */
body.sw-page-services .sw-content,
body.sw-page-methode .sw-content{max-width:1480px;margin-left:3vw;margin-right:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:40px}
body.sw-page-services .sw-content>.has-large-font-size,
body.sw-page-methode .sw-content>.has-large-font-size{grid-column:1/-1;max-width:760px;margin-bottom:10px}
body.sw-page-services .sw-content>.sw-content-card,
body.sw-page-methode .sw-content>.sw-content-card{max-width:none;margin:0;min-height:174px;padding:24px;border:1px solid var(--sw-card-border);border-radius:16px;background:linear-gradient(145deg,#12161c,#0d1015);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
body.sw-page-services .sw-content>.sw-content-card h2,
body.sw-page-methode .sw-content>.sw-content-card h2{font-size:25px;margin:0 0 10px}
body.sw-page-services .sw-content>.sw-content-card p,
body.sw-page-methode .sw-content>.sw-content-card p{margin:0;color:#aeb4bc;font-size:15px}

/* Réalisations */
.sw-projects{max-width:var(--sw-content)!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.sw-project-card{border:1px solid var(--sw-card-border);border-radius:16px;overflow:hidden;background:var(--sw-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.sw-project-card__image{aspect-ratio:16/10;background:#14181f;overflow:hidden}
.sw-project-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.sw-project-card__image--brand{position:relative;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at 90% 14%,rgba(255,107,87,.4),transparent 32%),linear-gradient(145deg,#12161c,#0d1015 56%,#170f12 100%);border-bottom:1px solid rgba(255,107,87,.18)}
.sw-project-card__image .sw-project-card__logo{display:block;width:88%;height:70%;object-fit:contain}
.sw-project-card:hover .sw-project-card__image img{transform:scale(1.025)}
.sw-project-card__body{padding:20px}
.sw-project-card__body h3{margin:7px 0 8px;font-size:22px}
.sw-project-card__body p{font-size:14px;color:#9da4ae}
.sw-project-card__link{display:inline-block;margin-top:8px;color:var(--sw-accent)!important;font-weight:800;text-decoration:none}
.sw-card__num{color:var(--sw-accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.sw-empty{max-width:760px!important;padding:25px;border:1px solid var(--sw-card-border);border-radius:16px;background:var(--sw-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);color:#aeb4bc}

/* Contact */
.sicweb-form{max-width:820px;margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}
.sicweb-form__honeypot{position:absolute;left:-9999px}
.sicweb-form__field{display:flex;flex-direction:column;gap:7px}
.sicweb-form__field--full{grid-column:1/-1}
.sicweb-form__field label{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#969da8;font-weight:780}
.sicweb-form__field input,.sicweb-form__field textarea{width:100%;border:1px solid var(--sw-line);border-radius:12px;background:#0c0f14;color:#fff;padding:13px 14px;outline:none}
.sicweb-form__field input:focus,.sicweb-form__field textarea:focus{border-color:var(--sw-accent);box-shadow:0 0 0 3px rgba(255,107,87,.10)}
.sicweb-form__field textarea{min-height:160px;resize:vertical}
.sicweb-notice{grid-column:1/-1;padding:13px 15px;border-radius:12px;border:1px solid var(--sw-line)}
.sicweb-notice--success{border-color:rgba(255,107,87,.45);color:#ff8e7e}
.sicweb-notice--error{border-color:rgba(255,107,87,.45)}

/* Archives / posts */
.sw-section{padding:60px 0 90px}
.sw-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sw-post-card{padding:24px;border:1px solid var(--sw-card-border);border-radius:16px;background:var(--sw-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.sw-post-card__meta{font-size:11px;color:var(--sw-accent);text-transform:uppercase;letter-spacing:.12em}
.sw-post-card h2{font-size:25px;line-height:1.1}.sw-post-card h2 a{text-decoration:none}

/* 404 */
.sw-404{position:relative;min-height:calc(100svh - 54px);display:flex;align-items:center;background:#090b0f;overflow:hidden}
.sw-404::before{content:"";position:absolute;inset:0;background-image:url("assets/images/hero-404.webp");background-repeat:no-repeat;background-position:right center;background-size:auto 100%;opacity:.95}
.sw-404::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.97) 52%,rgba(9,11,15,.2) 100%)}
.sw-404>.sw-shell{position:relative;z-index:2;padding:104px 0 62px}
.sw-404__symbol{display:none}.sw-404__code{font-size:clamp(90px,16vw,210px);font-weight:900;letter-spacing:-.08em;line-height:.85;color:#fff}
.sw-404 h1{max-width:680px;font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.05em}
.sw-404 p{color:var(--sw-muted)}

/* Desktop compact : garde l’accueil cadré à 100 % sur les écrans à faible hauteur utile */
@media(min-width:981px) and (max-height:860px){
  .sw-header__inner{height:84px}
  .sw-header__brand{font-size:25px}.sw-header__brand img{width:33px}
  .sw-desktop-nav{font-size:12.5px}.sw-desktop-nav__list{gap:25px}
  .sw-hero__inner{padding-top:42px}
  .sw-eyebrow{margin-bottom:14px;font-size:10.5px}
  .sw-hero h1{font-size:clamp(48px,3.45vw,61px);max-width:710px}
  .sw-hero__lead{margin-top:17px;font-size:23px}
  .sw-hero__copy{margin-top:14px;font-size:13.5px;max-width:610px}
  .sw-actions{margin-top:21px}
  .sw-button{min-height:44px;padding-inline:18px;font-size:13px}
  .sw-promise-strip{padding-bottom:6px}
  .sw-promise-grid{gap:14px}
  a.sw-promise{min-height:116px;padding:17px}
  .sw-promise strong{font-size:15px;margin-bottom:6px}
  .sw-promise small{font-size:12px}
  .sw-footer{padding:10px 0 11px}
}


/* Consolidation desktop 0.6.0 -------------------------------------------------
   - même rythme visuel sur toutes les pages
   - image hero interne affichée sans recadrage inutile
   - footer plus compact (Chrome / Firefox)
   - pages légales, À propos, Réalisations et Contact resserrées
---------------------------------------------------------------------------- */
@media(min-width:981px){
  .sw-page-hero{min-height:336px;padding:116px 0 46px}
  .sw-page-hero__grid>div{max-width:820px}
  .sw-page-hero h1{font-size:clamp(48px,4vw,66px);max-width:820px}
  .sw-page-hero__lead{margin-top:14px}

  .sw-content{width:min(94vw,var(--sw-content))}
  .sw-content>*{margin-left:0;margin-right:0}

  body.sw-page-services .sw-content,
  body.sw-page-methode .sw-content{padding-bottom:64px}

  body.sw-page-a-propos .sw-page-hero{min-height:292px;padding-top:108px;padding-bottom:20px}
  body.sw-page-a-propos .sw-content{padding-top:30px;padding-bottom:34px}
  body.sw-page-a-propos .sw-content>.has-large-font-size{line-height:1.35;margin-bottom:16px}
  body.sw-page-a-propos .sw-content p{margin-top:0;margin-bottom:14px}
  body.sw-page-a-propos .sw-content blockquote{margin-top:20px;margin-bottom:0;padding-top:4px;padding-bottom:4px;font-size:21px}

  body.sw-page-realisations .sw-content{padding-top:50px;padding-bottom:62px}
  body.sw-page-realisations .sw-empty{margin-top:24px}

  body.sw-page-contact .sw-content{padding-top:48px;padding-bottom:58px}
  body.sw-page-contact .sw-content>.has-large-font-size{margin-bottom:18px}

  body.sw-page-mentions-legales .sw-content,
  body.sw-page-confidentialite .sw-content{padding-top:44px;padding-bottom:58px}
  body.sw-page-mentions-legales .sw-content h2,
  body.sw-page-confidentialite .sw-content h2{margin-top:1.18em}

  .sw-404__code{font-size:clamp(96px,13vw,185px)}
  .sw-404 h1{font-size:clamp(38px,3.6vw,54px)}
}


/* Finitions 0.6.1 ------------------------------------------------------------
   - marge gauche desktop réduite
   - cartes plus présentes
   - accueil sans vide excessif sous les 4 promesses
   - page À propos cadrée à 100 % sur un écran desktop courant
---------------------------------------------------------------------------- */
@media(min-width:981px){
  body.home .sw-promise-strip{padding-bottom:6px}
  body.home .sw-footer{margin-top:0}
  body.sw-page-a-propos .sw-footer{margin-top:0}
}
@media(min-width:981px) and (max-height:900px){
  body.sw-page-a-propos .sw-page-hero{min-height:286px;padding-top:98px;padding-bottom:28px}
  
  body.sw-page-a-propos .sw-content{padding-top:24px;padding-bottom:26px}
  body.sw-page-a-propos .sw-content>.has-large-font-size{line-height:1.3;margin-bottom:12px}
  body.sw-page-a-propos .sw-content p{margin-bottom:10px}
  body.sw-page-a-propos .sw-content blockquote{font-size:19px;line-height:1.3;margin-top:14px}
}

/* Firefox et autres moteurs : éviter un « faux vide » sous le footer. */
@supports (height:100svh){
  html,body{min-height:100svh}
}
@-moz-document url-prefix(){
  .sw-footer{padding-top:10px;padding-bottom:10px}
  .sw-promise-strip{padding-bottom:12px}
}

/* Responsive */
@media(max-width:980px){
  .sw-desktop-nav{display:none}.sw-menu-toggle{display:flex}
  .sw-header__inner{height:88px}
  .sw-hero{height:auto;min-height:620px;padding:118px 0 56px;align-items:flex-start}
  .sw-hero__motif{background-position:67% center;background-size:auto 100%;opacity:.88}
  .sw-hero::after{background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.98) 53%,rgba(9,11,15,.55) 78%,rgba(9,11,15,.12) 100%)}
  .sw-hero__inner{padding-top:24px}.sw-hero__content{max-width:650px}
  .sw-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-page-hero{min-height:325px;padding-top:112px}.sw-page-hero::before{background-position:right bottom;background-size:auto 100%}
  .sw-projects,.sw-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .sw-shell,.sw-content{width:min(90vw,var(--sw-width))}
  .sw-header__inner{height:78px}.sw-header__brand{font-size:23px}.sw-header__brand img{width:31px}
  .sw-menu-toggle{margin-left:auto}
  .sw-hero{min-height:670px;padding:96px 0 38px}
  .sw-hero__motif{inset:0;background-position:78% bottom;background-size:auto 78%;opacity:.62}
  .sw-hero::after{background:linear-gradient(180deg,rgba(9,11,15,.995) 0%,rgba(9,11,15,.96) 43%,rgba(9,11,15,.72) 67%,rgba(9,11,15,.22) 100%)}
  .sw-hero__inner{padding-top:16px}.sw-eyebrow{font-size:10px;margin-bottom:15px;letter-spacing:.17em}
  .sw-hero h1{font-size:clamp(46px,13vw,61px);line-height:.97}.sw-hero__lead{font-size:23px;margin-top:19px}.sw-hero__copy{font-size:14px;margin-top:16px;line-height:1.5}
  .sw-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.sw-button{width:100%;padding:0 12px;font-size:12.5px;min-height:46px}
  .sw-promise-grid{grid-template-columns:1fr;gap:10px}a.sw-promise{min-height:104px;padding:18px}
  .sw-footer__inner{flex-direction:column;align-items:stretch;gap:13px}.sw-footer__legal,.sw-footer__signature{justify-content:center;flex-wrap:wrap}.sw-footer-menu{justify-content:center}
  .sw-page-hero{min-height:292px;padding:96px 0 40px}.sw-page-hero h1{font-size:47px}.sw-page-hero::before{background-position:right bottom;background-size:auto 100%;opacity:.75}.sw-page-hero::after{background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.985) 64%,rgba(9,11,15,.35) 100%)}
  .sw-content{padding:46px 0 70px}
  body.sw-page-services .sw-content,body.sw-page-methode .sw-content{grid-template-columns:1fr;padding-top:38px}
  .sw-projects,.sw-post-grid{grid-template-columns:1fr}.sicweb-form{grid-template-columns:1fr}.sicweb-form__field--full{grid-column:auto}
}


/* Base consolidée ------------------------------------------------------------
   - identité définitive SicWeb intégrée
   - une seule image fixe pour toutes les pages
   - footer restauré, aucun trait de séparation parasite
   - accueil et pages internes harmonisés
   - Services devient la page commerciale principale
---------------------------------------------------------------------------- */

/* Structure générale + fond unique */
.sw-main{position:relative;z-index:1;background:transparent!important;overflow:visible;flex:1 0 auto}
body:not(.error404) .sw-main::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:#090b0f url("assets/images/hero-unified.webp") no-repeat;
  background-size:cover;
  background-position:calc(100% - 28px) calc(50% + 62px);
}
body:not(.error404) .sw-main::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(9,11,15,.985) 0%,rgba(9,11,15,.95) 43%,rgba(9,11,15,.72) 60%,rgba(9,11,15,.18) 100%);
}

/* Header fixe et logo définitif */
.sw-header{position:fixed;inset:0 0 auto;z-index:90;transition:background .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
.sw-header.is-scrolled{background:rgba(9,11,15,.88);box-shadow:0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.error404 .sw-header{position:fixed;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.sw-header__brand img,.sw-menu-panel__brand img{object-fit:contain;filter:drop-shadow(0 0 7px rgba(255,107,87,.22))}
.sw-header__brand img{width:40px;height:41px}
.sw-footer__brand img{width:27px;height:28px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,107,87,.18))}
.sw-header__brand img.sw-custom-logo--header{width:auto;max-width:190px;height:41px;filter:none}
.sw-menu-panel__brand img.sw-custom-logo--mobile{width:auto;max-width:180px;height:36px;filter:none}
.sw-footer__brand img.sw-custom-logo--footer{width:auto;max-width:130px;height:28px;filter:none}

/* Navigation : micro-animation discrète */
.sw-desktop-nav__list>li:not(.sw-nav-cta)>a{position:relative;padding:10px 0;transition:color .2s ease,transform .2s ease}
.sw-desktop-nav__list>li:not(.sw-nav-cta)>a::after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:2px;border-radius:999px;background:var(--sw-accent);opacity:0;transition:left .22s ease,right .22s ease,opacity .22s ease}
.sw-desktop-nav__list>li:not(.sw-nav-cta)>a:hover{color:var(--sw-accent);transform:translateY(-2px)}
.sw-desktop-nav__list>li:not(.sw-nav-cta)>a:hover::after{left:0;right:0;opacity:1}
.sw-desktop-nav__list>li.sw-nav-cta>a{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.sw-desktop-nav__list>li.sw-nav-cta>a:hover{transform:translateY(-2px) scale(1.025);box-shadow:0 10px 28px rgba(255,107,87,.22)}

/* Accueil : même fond que tout le site */
.sw-hero{height:auto;min-height:590px;background:transparent!important;overflow:visible;align-items:center}
.sw-hero__motif{display:none!important}
.sw-hero::after{display:none!important}
.sw-hero__inner{width:min(88vw,var(--sw-width));padding-top:112px;padding-bottom:34px}
.sw-hero__content{max-width:760px}
.sw-hero h1{font-size:clamp(76px,5.5vw,108px);max-width:1030px}
.sw-hero__lead{font-size:clamp(34px,2.5vw,44px);margin-top:18px;font-weight:560}
.sw-hero__copy{font-size:19px;line-height:1.56;max-width:820px;margin-top:20px}
.sw-actions{margin-top:25px}

/* 4 promesses : zone sûre à gauche, le motif reste libre à droite */
.sw-promise-strip{background:transparent!important;padding:0 0 20px;position:relative;z-index:3}
.sw-promise-grid{width:min(76vw,1460px);margin-left:3vw;margin-right:auto;gap:14px}
a.sw-promise{background:linear-gradient(145deg,rgba(18,22,28,.96),rgba(13,16,21,.96));backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.sw-promise__icon--gear{background-image:url("assets/images/icon-gear.svg")}

/* Heroes internes : aucun trait blanc, rythme plus compact */
.sw-page-hero{min-height:318px;padding:116px 0 36px;border-bottom:0!important;background:transparent!important;overflow:visible}
.sw-page-hero::before,.sw-page-hero::after{display:none!important}
.sw-page-hero__grid{position:relative;z-index:2}
.sw-page-hero__grid>div{max-width:820px}
.sw-page-hero h1{font-size:clamp(47px,4vw,65px);max-width:820px}
.sw-page-hero__lead{margin-top:12px}

/* Contenu : transparent, marge verticale resserrée, zone sûre à gauche */
.sw-content{position:relative;z-index:3;background:transparent!important;width:min(94vw,var(--sw-content));padding:26px 0 48px}
.sw-content>*{margin-left:0;margin-right:0}
body.sw-page-a-propos .sw-content,
body.sw-page-mentions-legales .sw-content,
body.sw-page-confidentialite .sw-content{width:min(68vw,1120px);margin-left:3vw;margin-right:auto}
body.sw-page-a-propos .sw-content{width:min(72vw,1220px);padding-top:26px;padding-bottom:42px}
body.sw-page-a-propos .sw-content>.has-large-font-size{line-height:1.4;margin-bottom:26px;max-width:1200px;color:#f4f2ed!important}
body.sw-page-a-propos .sw-content p{line-height:1.62;margin-top:0;margin-bottom:18px;max-width:1180px}
body.sw-page-a-propos .sw-content blockquote{margin:26px 0 0;font-size:24px;line-height:1.42;max-width:980px}

/* Footer restauré */
.sw-footer{position:relative;z-index:20;margin-top:auto;background:#080a0e;border-top:1px solid rgba(255,255,255,.08);padding:12px 0 13px}
.sw-footer__legal{gap:9px}

/* Services : 3 offres commerciales alignées */
body.sw-page-services .sw-content{display:block;width:min(76vw,1460px);max-width:none;margin-left:3vw;margin-right:auto;padding-top:22px;padding-bottom:52px}
.sw-commerce{max-width:none!important}
.sw-commerce__intro{font-size:clamp(23px,2.1vw,31px)!important;line-height:1.38;color:#f1efeb!important;max-width:990px;margin:0 0 26px!important}
.sw-offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.sw-offer-card{display:flex;flex-direction:column;min-width:0;padding:25px;border:1px solid var(--sw-card-border);border-radius:18px;background:linear-gradient(145deg,rgba(18,22,28,.97),rgba(13,16,21,.97));box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 34px rgba(0,0,0,.12)}
.sw-offer-card--featured{border-color:rgba(255,107,87,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 16px 40px rgba(255,107,87,.08)}
.sw-offer-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sw-offer-card__name{color:var(--sw-ivory);font-size:13px;font-weight:850;letter-spacing:.02em}
.sw-offer-card__price{font-size:25px;line-height:1;font-weight:900;color:#fff;white-space:nowrap}
.sw-offer-card__price small{font-size:11px;color:var(--sw-muted);font-weight:800}
.sw-offer-card__price--text{font-size:22px}
.sw-offer-card__pages{margin:10px 0 16px;color:#f5f3ee;font-size:18px;line-height:1.35;font-weight:540;letter-spacing:-.01em;text-transform:none}
.sw-offer-card>p{margin:0 0 16px;color:#cdd2d8;min-height:72px;font-size:16px;line-height:1.52}
.sw-offer-card--custom>p{margin-top:22px}
.sw-offer-card ul{margin:0 0 22px;padding-left:0;list-style:none;display:grid;gap:8px;color:#d0d5db;font-size:15px;line-height:1.46}
.sw-offer-card li{position:relative;padding-left:17px;color:#d0d5db}
.sw-offer-card li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:var(--sw-accent)}
.sw-offer-card .sw-button{margin-top:auto;align-self:flex-start}
.sw-services-extra{margin-top:34px;max-width:100%}
.sw-section-label{color:var(--sw-accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:850;margin-bottom:10px}
.sw-service-lines{border-top:1px solid rgba(255,255,255,.1)}
.sw-service-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.sw-service-line>div{display:flex;flex-direction:column;gap:4px}
.sw-service-line strong{font-size:17px;color:#fff}
.sw-service-line span{font-size:14px;color:#aeb5bf;max-width:850px}
.sw-service-line small{font-size:12px;color:#7f8792;max-width:900px;line-height:1.45}
.sw-service-line>b{color:var(--sw-accent);font-size:15px;white-space:nowrap}
.sw-plain-note{max-width:1020px!important;margin:34px 0 0!important;padding:0!important;background:transparent!important;border:0!important}
.sw-plain-note h2{font-size:clamp(27px,2.4vw,38px);margin:0 0 10px!important}
.sw-plain-note p{margin:0 0 8px!important;color:#c4c9d0}
.sw-plain-note--muted{margin-top:26px!important;padding-top:0!important;border-top:0!important}
.sw-commercial-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;max-width:1180px!important;padding:22px 0;border-top:0}
.sw-commercial-cta>div{display:flex;flex-direction:column;gap:4px}.sw-commercial-cta strong{font-size:20px;color:#fff}.sw-commercial-cta span{font-size:14px;color:#aeb5bf}
.sw-services-note{max-width:880px;margin:30px 0 0;color:#bfc5cd;font-size:15px;line-height:1.6}.sw-services-note a{color:var(--sw-accent)!important;font-weight:750;text-decoration:none}
.sw-brochure-link{margin-top:8px}.sw-brochure-link a{color:var(--sw-accent)!important;font-weight:800;text-decoration:none}

/* Méthode */
body.sw-page-methode .sw-content{display:block;width:min(76vw,1380px);max-width:none;margin-left:3vw;margin-right:auto;padding-top:22px;padding-bottom:50px}
.sw-method-final{max-width:none!important}
.sw-method-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}
.sw-method-steps article{position:relative;min-height:164px;padding:24px;border:1px solid var(--sw-card-border);border-radius:16px;background:linear-gradient(145deg,rgba(18,22,28,.96),rgba(13,16,21,.96))}
.sw-method-steps article:last-child{grid-column:1/-1;max-width:calc(50% - 8px)}
.sw-method-steps span{display:block;color:var(--sw-accent);font-size:11px;font-weight:850;letter-spacing:.12em;margin-bottom:8px}
.sw-method-steps h2{font-size:26px!important;margin:0 0 8px!important}.sw-method-steps p{margin:0!important;color:#aeb5bf}

/* Référencement */
body.sw-page-referencement .sw-content{width:min(72vw,1320px);margin-left:3vw;margin-right:auto;padding-top:22px;padding-bottom:50px}
.sw-visibility-final{max-width:none!important}
.sw-visibility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0 28px}
.sw-visibility-list article{padding:23px;border:1px solid var(--sw-card-border);border-radius:16px;background:linear-gradient(145deg,rgba(18,22,28,.96),rgba(13,16,21,.96))}
.sw-visibility-list h2{font-size:25px!important;margin:0 0 8px!important}.sw-visibility-list p{margin:0!important;color:#aeb5bf}

/* Réalisations : restent réelles et dans la zone de lecture sûre */
body.sw-page-realisations .sw-content{width:min(82vw,1480px);margin-left:3vw;margin-right:auto;padding-top:8px;padding-bottom:46px}
body.sw-page-realisations .sw-projects{max-width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))}

/* Contact : compact et lisible */
body.sw-page-contact .sw-page-hero{min-height:285px;padding-top:108px;padding-bottom:28px}
body.sw-page-contact .sw-content{width:min(66vw,1120px);margin-left:3vw;margin-right:auto;padding-top:22px;padding-bottom:46px}
body.sw-page-contact .sw-content>.has-large-font-size{line-height:1.4;max-width:1040px;margin:0 0 15px}
body.sw-page-contact .sicweb-form{max-width:100%;margin:16px 0 0}
body.sw-page-contact .has-small-font-size{font-size:12.5px!important;color:#8f97a2!important;margin-top:14px}

/* 404 : même image de fond, structure validée */
.sw-404{min-height:calc(100svh - 52px);background:#090b0f}
.sw-404::before{background-image:url("assets/images/hero-unified.webp");background-position:right center;background-size:cover;opacity:1}
.sw-404::after{background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.97) 52%,rgba(9,11,15,.18) 100%)}
.sw-404>.sw-shell{padding-top:110px;padding-bottom:56px}

/* Petit écran desktop */
@media(min-width:981px) and (max-height:860px){
  .sw-hero{min-height:540px}.sw-hero__inner{padding-top:90px;padding-bottom:28px}
  .sw-hero h1{font-size:clamp(52px,3.7vw,66px)}.sw-hero__lead{font-size:24px}.sw-hero__copy{font-size:14px}
  .sw-page-hero{min-height:286px;padding-top:102px;padding-bottom:28px}
  .sw-content{padding-top:20px;padding-bottom:38px}
  body.sw-page-a-propos .sw-content{padding-top:16px;padding-bottom:26px}
}

/* Tablette */

/* v0.6.7 - finition */
.sw-content hr,.sw-content .wp-block-separator,.sw-commerce hr{display:none!important}
body.sw-page-realisations .sw-page-hero{min-height:258px;padding-top:110px;padding-bottom:14px}
body.sw-page-realisations .sw-content>.has-large-font-size{margin-top:0!important;margin-bottom:14px!important;max-width:1180px}
body.sw-page-realisations .sw-real-showcase{margin-top:8px}

@media(max-width:1180px) and (min-width:681px){
  .sw-promise-grid{width:min(90vw,1050px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sw-page-services .sw-content,body.sw-page-methode .sw-content,body.sw-page-referencement .sw-content,body.sw-page-realisations .sw-content,body.sw-page-contact .sw-content,body.sw-page-a-propos .sw-content,body.sw-page-mentions-legales .sw-content,body.sw-page-confidentialite .sw-content{width:min(90vw,1050px);margin-inline:auto}
  .sw-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-offer-card:last-child{grid-column:1/-1}
  .sw-method-steps article:last-child{max-width:none}
}


@media(max-width:1180px) and (min-width:681px){
  body.sw-page-realisations .sw-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.error404) .sw-main::before{background-size:cover;background-position:calc(100% - 18px) calc(50% + 54px)}
}

/* Mobile */
@media(max-width:680px){
  body:not(.error404) .sw-main::before{background-position:67% calc(50% + 44px);background-size:auto 100svh}
  body:not(.error404) .sw-main::after{background:linear-gradient(180deg,rgba(9,11,15,.98) 0%,rgba(9,11,15,.9) 47%,rgba(9,11,15,.68) 100%)}
  .sw-header__inner{height:78px}.sw-header__brand{font-size:23px}.sw-header__brand img{width:34px;height:35px}
  .sw-hero{min-height:640px;padding:92px 0 30px;align-items:flex-start}.sw-hero__inner{width:min(90vw,var(--sw-width));padding-top:22px;padding-bottom:20px}
  .sw-hero h1{font-size:clamp(54px,14.3vw,68px);line-height:.97}.sw-hero__lead{font-size:26px}.sw-hero__copy{font-size:15.5px}
  .sw-actions{grid-template-columns:1fr 1fr}
  .sw-promise-grid{width:min(90vw,var(--sw-width));margin-inline:auto;grid-template-columns:1fr}
  .sw-page-hero{min-height:250px;padding:92px 0 24px}.sw-page-hero h1{font-size:43px}
  .sw-content,body.sw-page-services .sw-content,body.sw-page-methode .sw-content,body.sw-page-referencement .sw-content,body.sw-page-realisations .sw-content,body.sw-page-contact .sw-content,body.sw-page-a-propos .sw-content,body.sw-page-mentions-legales .sw-content,body.sw-page-confidentialite .sw-content{width:min(90vw,var(--sw-width));margin-inline:auto;padding-top:22px;padding-bottom:42px}
  .sw-offers-grid,.sw-method-steps,.sw-visibility-list{grid-template-columns:1fr}
  .sw-method-steps article:last-child,.sw-offer-card:last-child{grid-column:auto;max-width:none}
  .sw-offer-card__top{flex-direction:column}.sw-offer-card>p{min-height:0}
  .sw-service-line{grid-template-columns:1fr;gap:8px}.sw-service-line>b{justify-self:start}
  .sw-commercial-cta{flex-direction:column;align-items:flex-start}
  body.sw-page-realisations .sw-projects{grid-template-columns:1fr}
  .sicweb-form{grid-template-columns:1fr}.sicweb-form__field--full{grid-column:auto}
  .sw-footer__inner{flex-direction:column;align-items:stretch;gap:12px}.sw-footer__legal,.sw-footer__signature{justify-content:center;flex-wrap:wrap}.sw-footer-menu{justify-content:center}
  .sw-404::before{background-position:65% center;background-size:auto 100%}
}


/* v0.6.9 — typographie harmonisée, sans changement de police ni de couleurs */
body{font-size:18px}
.sw-hero h1,.sw-page-hero h1{font-size:clamp(56px,4.5vw,74px);line-height:.98;max-width:900px}
.sw-page-hero__lead{font-size:20px;line-height:1.52}
.sw-content h2{font-size:clamp(32px,3.1vw,46px)}
.sw-content h3{font-size:27px}
.sw-content p,.sw-content li{font-size:18px;line-height:1.62}
.sw-promise strong{font-size:17px}.sw-promise small{font-size:13.5px}
.sw-offer-card>p{font-size:17px}.sw-offer-card ul{font-size:16px}
.sw-method-steps h2,.sw-visibility-list h2{font-size:28px!important}
.sw-method-steps p,.sw-visibility-list p{font-size:17px!important;line-height:1.55!important}
.sw-project-card__body p{font-size:16px;line-height:1.55}
.sw-services-note{font-size:16.5px}

.sw-legal-content{max-width:1060px}
.sw-legal-content .sw-legal-version{font-size:15px;color:var(--sw-muted);margin-top:0;margin-bottom:28px}
.sw-legal-content h2{margin-top:1.35em;margin-bottom:.45em}
.sw-legal-content p{margin-top:0;margin-bottom:14px}
.sw-legal-content ul{margin:0 0 16px;padding-left:1.35em}

@media(max-width:680px){
  body{font-size:17px}
  .sw-hero h1,.sw-page-hero h1{font-size:clamp(46px,12vw,54px);line-height:.98}
  .sw-page-hero__lead{font-size:18px}
  .sw-content h2{font-size:clamp(29px,8vw,36px)}
  .sw-content h3{font-size:24px}
  .sw-content p,.sw-content li{font-size:17px;line-height:1.58}

}

/* v0.6.10 — harmonisation ciblée -------------------------------------------
   - même échelle de titres sur Accueil et pages internes
   - même taille de texte courant ; intros harmonisées
   - héros internes sans hauteur minimale artificielle
   - pages juridiques compactées, avec titres de section clairement secondaires
---------------------------------------------------------------------------- */
:root{
  --sw-h1-size:clamp(56px,4.5vw,74px);
  --sw-h2-size:clamp(30px,2.5vw,38px);
  --sw-intro-size:clamp(22px,2vw,28px);
  --sw-body-size:18px;
}

/* Aucun hero interne ne conserve une hauteur forcée : le contenu fixe le rythme. */
body .sw-page-hero{min-height:0!important;padding:116px 0 28px!important}
.sw-hero{min-height:0!important}
.sw-hero__inner{padding-top:116px;padding-bottom:34px}

/* Titres principaux : une seule échelle sur tout le site. */
.sw-hero h1,.sw-page-hero h1{font-size:var(--sw-h1-size)!important;line-height:.98;max-width:900px}

/* Paragraphes de présentation et textes courants. */
.sw-hero__lead,.sw-page-hero__lead{font-size:20px!important;line-height:1.52}
.sw-hero__copy{font-size:var(--sw-body-size)!important;line-height:1.62}
.sw-content p,.sw-content li{font-size:var(--sw-body-size);line-height:1.62}
.sw-content .has-large-font-size,.sw-commerce__intro{font-size:var(--sw-intro-size)!important;line-height:1.4!important}
.sw-content h2{font-size:var(--sw-h2-size)}

/* Même respiration de départ sur les pages internes, sans grand espace vide. */
body .sw-content{padding-top:22px!important}

/* Les pages juridiques ont un H1 dans leur hero puis des H2 de section nettement plus petits. */
body.sw-page-mentions-legales .sw-content h2,
body.sw-page-confidentialite .sw-content h2,
.sw-legal-content h2{
  font-size:clamp(26px,2vw,32px)!important;
  line-height:1.16!important;
  letter-spacing:-.035em;
  margin-top:1.08em!important;
  margin-bottom:.42em!important;
}
body.sw-page-mentions-legales .sw-content>.sw-legal-content,
body.sw-page-confidentialite .sw-content>.sw-legal-content{margin-top:0!important}
.sw-legal-content .sw-legal-version{margin:0 0 18px!important}
body.sw-page-mentions-legales .sw-content>p:first-child,
body.sw-page-confidentialite .sw-content>p:first-child{margin-top:0!important;margin-bottom:18px!important}

/* Logos des réalisations : fichiers distants de la médiathèque, jamais rognés. */
.sw-project-card__image .sw-project-card__logo{width:88%;height:70%;object-fit:contain;object-position:center}

@media(max-width:680px){
  :root{
    --sw-h1-size:clamp(44px,11.8vw,54px);
    --sw-h2-size:clamp(28px,7.6vw,34px);
    --sw-intro-size:22px;
    --sw-body-size:17px;
  }
  body .sw-page-hero{padding:94px 0 22px!important}
  .sw-hero__inner{padding-top:94px;padding-bottom:26px}
  .sw-hero__lead,.sw-page-hero__lead{font-size:18px!important}
  .sw-content .has-large-font-size,.sw-commerce__intro{font-size:var(--sw-intro-size)!important}
  body.sw-page-mentions-legales .sw-content h2,
  body.sw-page-confidentialite .sw-content h2,
  .sw-legal-content h2{font-size:clamp(25px,7.2vw,31px)!important}
}



/* v0.6.11 — corrections strictement validées */
.sw-eyebrow{color:var(--sw-accent)!important;font-size:11px!important;font-weight:850;letter-spacing:.18em;margin-bottom:14px}
.sw-hero__lead{color:#bfc4cb!important}
.sw-project-card__image--brand{color:inherit;text-decoration:none}

@media(max-width:680px){
  /* Supprime le double padding mobile hérité : le header garde sa respiration, sans grand vide. */
  .sw-hero{padding:0 0 30px!important}
  .sw-hero__inner{padding-top:94px!important}
}

/* v0.6.12 — corrections finales de mise en page uniquement -----------------
   Périmètre verrouillé : mobile inchangé ; corrections tablette et desktop
   strictement ciblées, sans modification de contenu ni de structure PHP.
---------------------------------------------------------------------------- */

/* TABLETTE UNIQUEMENT : 681–980 px.
   Supprime la double respiration héritée entre le header fixe et le premier
   contenu, sans toucher au rendu mobile validé. */
@media (min-width:681px) and (max-width:980px){
  body .sw-page-hero{padding-top:96px!important}

  body.home .sw-hero{
    padding:0 0 12px!important;
    min-height:0!important;
    align-items:flex-start;
  }
  body.home .sw-hero__inner{
    padding-top:96px!important;
    padding-bottom:10px!important;
  }

  /* Accueil tablette : compacter uniquement les respirations verticales. */
  body.home .sw-eyebrow{margin-bottom:8px}
  body.home .sw-hero__lead{margin-top:10px}
  body.home .sw-hero__copy{margin-top:8px}
  body.home .sw-actions{margin-top:12px}
  body.home .sw-promise-strip{padding-bottom:6px}
  body.home .sw-promise-grid{gap:8px}
  body.home a.sw-promise{min-height:94px;padding:13px 15px}
  body.home .sw-promise strong{margin-top:1px;margin-bottom:4px}
}

/* DESKTOP UNIQUEMENT : le mobile et la tablette restent inchangés. */
@media (min-width:981px){
  /* Footer : forcer sa présence sur toutes les pages, sans en changer le design. */
  .sw-footer{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%;
    position:relative;
    z-index:20;
    flex:0 0 auto;
  }

  /* Accueil : reprendre le même rythme structurel que la page Méthode. */
  body.home .sw-hero{
    min-height:0!important;
    height:auto!important;
    align-items:flex-start;
  }
  body.home .sw-hero__inner{
    width:min(94vw,var(--sw-width));
    margin-inline:auto;
    padding-top:116px;
    padding-bottom:28px;
  }
  body.home .sw-hero__content{max-width:820px}
  body.home .sw-promise-strip{padding-top:22px;padding-bottom:50px}
  body.home .sw-promise-grid{
    width:min(76vw,1380px);
    max-width:none;
    margin-left:3vw;
    margin-right:auto;
  }

  /* Pages juridiques : un seul interligne entre le hero et la ligne de version. */
  body.sw-page-mentions-legales .sw-page-hero,
  body.sw-page-confidentialite .sw-page-hero{padding-bottom:10px!important}
  body.sw-page-mentions-legales .sw-content,
  body.sw-page-confidentialite .sw-content{padding-top:0!important}
  body.sw-page-mentions-legales .sw-legal-content .sw-legal-version,
  body.sw-page-confidentialite .sw-legal-content .sw-legal-version{margin-top:0!important}
}

/* v0.6.13 — corrections responsive ciblées uniquement ----------------------
   Périmètre verrouillé : desktop inchangé ; uniquement mobile/tablette selon
   les demandes validées, sans modification de contenu ni de structure PHP.
---------------------------------------------------------------------------- */

/* MOBILE UNIQUEMENT : rapprocher la ligne « Version consolidée » du hero
   sur les deux pages juridiques, sans toucher aux autres pages. */
@media (max-width:680px){
  body.sw-page-mentions-legales .sw-page-hero,
  body.sw-page-confidentialite .sw-page-hero{padding-bottom:10px!important}
  body.sw-page-mentions-legales .sw-content,
  body.sw-page-confidentialite .sw-content{padding-top:0!important}
}

/* TABLETTE, PORTRAIT ET PAYSAGE : supprimer uniquement le décalage gauche
   des contenus internes pour reprendre le bord gauche de référence de l'Accueil. */
@media (min-width:681px) and (max-width:1180px){
  body.sw-page-services .sw-content,
  body.sw-page-realisations .sw-content,
  body.sw-page-methode .sw-content,
  body.sw-page-a-propos .sw-content,
  body.sw-page-contact .sw-content,
  body.sw-page-referencement .sw-content,
  body.sw-page-mentions-legales .sw-content,
  body.sw-page-confidentialite .sw-content{
    margin-left:3vw!important;
    margin-right:auto!important;
  }
}

/* TABLETTE VERTICALE UNIQUEMENT : même respiration juridique validée que
   sur mobile, sans effet sur le paysage ni sur le desktop. */
@media (min-width:681px) and (max-width:1180px) and (orientation:portrait){
  body.sw-page-mentions-legales .sw-page-hero,
  body.sw-page-confidentialite .sw-page-hero{padding-bottom:10px!important}
  body.sw-page-mentions-legales .sw-content,
  body.sw-page-confidentialite .sw-content{padding-top:0!important}
}

/* TABLETTE HORIZONTALE UNIQUEMENT : compacter les seules respirations
   verticales de l'Accueil afin de supprimer ou minimiser le scroll, sans
   réduire les polices ni masquer/reordonner le moindre contenu. */
@media (min-width:681px) and (max-width:1180px) and (orientation:landscape){
  body.home .sw-hero{padding-bottom:4px!important}
  body.home .sw-hero__inner{padding-top:84px!important;padding-bottom:6px!important}
  body.home .sw-eyebrow{margin-bottom:5px!important}
  body.home .sw-hero__lead{margin-top:6px!important}
  body.home .sw-hero__copy{margin-top:6px!important}
  body.home .sw-actions{margin-top:8px!important}
  body.home .sw-promise-strip{padding-bottom:2px!important}
  body.home .sw-promise-grid{row-gap:6px!important}
}

/* v0.6.14 — harmonisation Accueil mobile + tablette uniquement -------------
   Périmètre verrouillé : seule la présentation responsive de l'Accueil est
   harmonisée sur le gabarit de la page Méthode. Desktop et autres pages
   restent strictement inchangés.
---------------------------------------------------------------------------- */

/* MOBILE : même logique structurelle que Méthode (hero puis contenu),
   sans toucher au contenu propre de l'Accueil. */
@media (max-width:680px){
  body.home .sw-hero{
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    align-items:flex-start!important;
  }
  body.home .sw-hero__inner{
    width:min(90vw,var(--sw-width))!important;
    margin-inline:auto!important;
    padding-top:94px!important;
    padding-bottom:22px!important;
  }
  body.home .sw-promise-strip{
    padding-top:22px!important;
    padding-bottom:42px!important;
  }
  body.home .sw-promise-grid{
    width:min(90vw,var(--sw-width))!important;
    margin-inline:auto!important;
  }
}

/* TABLETTE, PORTRAIT ET PAYSAGE : reprendre les mêmes axes que Méthode.
   Le hero utilise le même bord gauche que les heroes internes et les quatre
   engagements utilisent la même largeur utile que le contenu de Méthode. */
@media (min-width:681px) and (max-width:1180px){
  body.home .sw-hero{
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    align-items:flex-start!important;
  }
  body.home .sw-hero__inner{
    width:min(94vw,var(--sw-width))!important;
    margin-inline:auto!important;
    padding-bottom:28px!important;
  }
  body.home .sw-promise-strip{
    padding-top:22px!important;
    padding-bottom:50px!important;
  }
  body.home .sw-promise-grid{
    width:min(90vw,1050px)!important;
    margin-left:3vw!important;
    margin-right:auto!important;
  }
}

/* Même départ vertical que les pages internes aux breakpoints existants. */
@media (min-width:681px) and (max-width:980px){
  body.home .sw-hero__inner{padding-top:96px!important}
}
@media (min-width:981px) and (max-width:1180px){
  body.home .sw-hero__inner{padding-top:116px!important}
}

/* TABLETTE HORIZONTALE : conserver autant que possible le compactage validé
   en v0.6.13, sans modifier la structure, les tailles de police ou le contenu. */
@media (min-width:681px) and (max-width:1180px) and (orientation:landscape){
  body.home .sw-eyebrow{margin-bottom:5px!important}
  body.home .sw-hero__lead{margin-top:6px!important}
  body.home .sw-hero__copy{margin-top:6px!important}
  body.home .sw-actions{margin-top:8px!important}
  body.home .sw-promise-grid{row-gap:6px!important}
  body.home a.sw-promise{min-height:94px!important;padding:13px 15px!important}
  body.home .sw-promise strong{margin-top:1px!important;margin-bottom:4px!important}
}

/* v0.6.15 — tablette horizontale : Accueil + À propos uniquement -----------
   Périmètre verrouillé : aucun effet sur mobile, tablette verticale, desktop
   ou les autres pages. Seules les respirations verticales sont resserrées.
---------------------------------------------------------------------------- */
@media (min-width:681px) and (max-width:1180px) and (orientation:landscape){
  /* Accueil : conserver tous les contenus et réduire uniquement les vides. */
  body.home .sw-hero{padding-bottom:0!important}
  body.home .sw-hero__inner{padding-top:82px!important;padding-bottom:0!important}
  body.home .sw-eyebrow{margin-bottom:3px!important}
  body.home .sw-hero__lead{margin-top:4px!important}
  body.home .sw-hero__copy{margin-top:4px!important}
  body.home .sw-actions{margin-top:6px!important}
  body.home .sw-promise-strip{padding-top:0!important;padding-bottom:0!important}
  body.home .sw-promise-grid{row-gap:4px!important}
  body.home a.sw-promise{min-height:86px!important;padding-top:9px!important;padding-bottom:9px!important}
  body.home .sw-promise strong{margin-top:0!important;margin-bottom:2px!important}

  /* À propos : même principe, uniquement les espaces verticaux disponibles. */
  body.sw-page-a-propos .sw-page-hero{padding-top:90px!important;padding-bottom:8px!important}
  body.sw-page-a-propos .sw-kicker{margin-bottom:8px!important}
  body.sw-page-a-propos .sw-content{padding-top:6px!important;padding-bottom:8px!important}
  body.sw-page-a-propos .sw-content>.has-large-font-size{margin-top:0!important;margin-bottom:8px!important}
  body.sw-page-a-propos .sw-content p{margin-top:0!important;margin-bottom:7px!important}
  body.sw-page-a-propos .sw-content blockquote{margin-top:8px!important;margin-bottom:0!important;padding-top:2px!important;padding-bottom:2px!important}
}

/* v0.6.16 — compatibilité inter-navigateurs desktop à faible hauteur ---------
   Périmètre verrouillé : Accueil + À propos uniquement, desktop > 1180 px.
   Aucun contenu, taille de police, élément graphique, responsive mobile/tablette
   ou autre page n'est modifié. Les règles standard ci-dessous resserrent
   uniquement les respirations verticales quand la hauteur utile du viewport
   est limitée, afin d'obtenir le même cadrage dans les moteurs modernes.
---------------------------------------------------------------------------- */
@media (min-width:1181px) and (max-height:900px){
  /* Accueil : uniquement les espaces verticaux ; contenu et dimensions inchangés. */
  body.home .sw-hero__inner{padding-top:92px!important;padding-bottom:14px!important}
  body.home .sw-eyebrow{margin-bottom:8px!important}
  body.home .sw-hero__lead{margin-top:10px!important}
  body.home .sw-hero__copy{margin-top:10px!important}
  body.home .sw-actions{margin-top:14px!important}
  body.home .sw-promise-strip{padding-top:8px!important;padding-bottom:10px!important}

  /* À propos : même principe, sans toucher aux tailles, contenus ou proportions. */
  body.sw-page-a-propos .sw-page-hero{padding-top:92px!important;padding-bottom:12px!important}
  body.sw-page-a-propos .sw-kicker{margin-bottom:8px!important}
  body.sw-page-a-propos .sw-content{padding-top:10px!important;padding-bottom:14px!important}
  body.sw-page-a-propos .sw-content>.has-large-font-size{margin-top:0!important;margin-bottom:12px!important}
  body.sw-page-a-propos .sw-content p{margin-top:0!important;margin-bottom:10px!important}
  body.sw-page-a-propos .sw-content blockquote{margin-top:12px!important;margin-bottom:0!important;padding-top:3px!important;padding-bottom:3px!important}
}
