/* ============================================================
   REVOLIUM — style.css (v2, marque-système B2B)
   DA : luxe silencieux, minéral chaud, éditorial
   Palette : ivoire / sable / pierre + accents noyer & bronze + anthracite
   ============================================================ */

:root{
  /* 70% — clair minéral */
  --ivoire:#F6F1E9;
  --sable:#EDE5D7;
  --pierre:#E0D6C5;
  --pierre-fonce:#C9BCA6;
  /* 20% — accents */
  --noyer:#5C4632;
  --noyer-clair:#7A5E44;
  --bronze:#A6824E;
  --champagne:#CDB68C;
  /* 10% — sombre */
  --anthracite:#23211E;
  --noir-mineral:#15140F;
  /* texte */
  --encre:#2A261F;
  --encre-doux:#6A6052;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",-apple-system,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.21,.6,.2,1);
  --maxw:1320px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  font-size:1.0625rem;line-height:1.7;font-weight:330;
  color:var(--encre);background:var(--ivoire);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--champagne);color:var(--noir-mineral)}

/* ---------- Typographie ---------- */
h1,h2,h3,.display{font-family:var(--serif);font-weight:450;letter-spacing:-.005em;line-height:1.04}
h1{font-size:clamp(2.7rem,6.4vw,6rem)}
h2{font-size:clamp(2rem,4.4vw,3.7rem);line-height:1.08}
h3{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.16}
.serif-lead{font-family:var(--serif);font-weight:380;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.3;color:var(--encre)}
p{max-width:64ch}
.lead{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.65;color:#453f35;font-weight:340}
.eyebrow{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.26em;
  color:var(--bronze);display:block;margin-bottom:1.5rem;font-weight:600;
}
.meta{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--encre-doux);font-weight:500}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 6vw}
section{padding:clamp(5.5rem,12vh,9.5rem) 0}
.sable{background:var(--sable)}
.pierre{background:var(--pierre)}
.dark{background:var(--anthracite);color:var(--ivoire)}
.dark .eyebrow{color:var(--champagne)}
.dark .lead{color:#cbc2b2}
.dark .meta{color:#9c9384}
.dark p{color:#d4cbbb}
.hairline{border:none;border-top:1px solid rgba(42,38,31,.14)}
.dark .hairline{border-color:rgba(246,241,233,.16)}
.center{text-align:center}
.center p{margin-left:auto;margin-right:auto}

/* ---------- Boutons ---------- */
.btn{
  display:inline-block;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  padding:1.05rem 2.1rem;border:1px solid var(--noir-mineral);background:var(--noir-mineral);color:var(--ivoire);
  transition:background .5s var(--ease),color .5s var(--ease),transform .4s var(--ease);cursor:pointer;text-align:center;
}
.btn:hover{background:transparent;color:var(--noir-mineral)}
.btn-ghost{background:transparent;color:var(--encre)}
.btn-ghost:hover{background:var(--noir-mineral);color:var(--ivoire)}
.btn-bronze{background:var(--bronze);border-color:var(--bronze);color:var(--ivoire)}
.btn-bronze:hover{background:transparent;color:var(--bronze)}
.dark .btn{background:var(--ivoire);border-color:var(--ivoire);color:var(--noir-mineral)}
.dark .btn:hover{background:transparent;color:var(--ivoire)}
.dark .btn-ghost{background:transparent;color:var(--ivoire)}
.dark .btn-ghost:hover{background:var(--ivoire);color:var(--noir-mineral)}
.lien{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--bronze);border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .4s,color .3s}
.lien:hover{border-color:var(--bronze)}
.lien::after{content:" →";font-weight:400}

/* ---------- Header ---------- */
header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 4vw;transition:background .5s var(--ease),box-shadow .5s var(--ease),padding .5s var(--ease);
}
header.scrolled{background:rgba(246,241,233,.93);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(42,38,31,.08);padding:.75rem 4vw}
.logo{font-family:var(--serif);font-size:1.7rem;letter-spacing:.22em;font-weight:500;color:var(--encre)}
.logo b{font-weight:500;color:var(--bronze)}
nav.main{display:flex;gap:2.1rem;align-items:center}
nav.main a{font-size:.84rem;letter-spacing:.04em;font-weight:450;position:relative;padding:.2rem 0;color:var(--encre)}
nav.main a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--bronze);transition:width .45s var(--ease)}
nav.main a:hover::after,nav.main a[aria-current="page"]::after{width:100%}
.header-cta{font-size:.78rem;padding:.85rem 1.6rem}

/* Header clair sur hero sombre (accueil) — repasse foncé une fois scrollé */
body.hero-clair header:not(.scrolled) .logo,
body.hero-clair header:not(.scrolled) nav.main a{color:var(--ivoire)}
body.hero-clair header:not(.scrolled) nav.main a::after{background:var(--champagne)}
body.hero-clair header:not(.scrolled) .burger span{background:var(--ivoire)}

/* Filtres */
.filtres button{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--encre-doux);padding:0 0 5px;border-bottom:1px solid transparent;transition:color .35s,border-color .35s}
.filtres button.active,.filtres button:hover{color:var(--encre);border-color:var(--bronze)}

.burger{display:none;background:none;border:none;cursor:pointer;width:34px;height:20px;position:relative;z-index:120}
.burger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--encre);transition:transform .45s var(--ease),opacity .3s,top .45s var(--ease)}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:9px}.burger span:nth-child(3){top:18px}
body.menu-open .burger span:nth-child(1){top:9px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:9px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:var(--sable);z-index:110;display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:0 8vw;opacity:0;visibility:hidden;transition:opacity .55s var(--ease),visibility .55s}
body.menu-open .mobile-menu{opacity:1;visibility:visible}
.mobile-menu a{font-family:var(--serif);font-size:2.1rem;color:var(--encre)}
.mobile-menu .btn{margin-top:1.5rem;font-size:.85rem}

/* ---------- Hero split ---------- */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding-bottom:0;overflow:hidden}
.hero-split{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:-2}
.hero-half{position:relative;overflow:hidden}
.hero-half img{width:100%;height:100%;object-fit:cover;transition:transform 6s var(--ease)}
.hero-half:hover img{transform:scale(1.05)}
.hero-half .demi-label{position:absolute;top:6.5rem;z-index:3;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--ivoire);mix-blend-mode:difference}
.hero-half.gauche .demi-label{left:6vw}
.hero-half.droite .demi-label{right:6vw}
.hero-split::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(18,17,12,.62) 0%,rgba(18,17,12,.22) 48%,rgba(18,17,12,0) 72%),
  linear-gradient(180deg,rgba(21,20,15,.28) 0%,rgba(21,20,15,.12) 38%,rgba(21,20,15,.5) 78%,rgba(21,20,15,.8) 100%)}
.hero-divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(246,241,233,.28);z-index:1}
.hero-content{position:relative;z-index:4;color:var(--ivoire);padding-bottom:clamp(3.5rem,7vh,6rem)}
.hero-content .eyebrow{color:var(--champagne)}
.hero h1{max-width:16ch;color:var(--ivoire);margin-bottom:1.8rem}
.hero .lead{color:#ece4d6;max-width:60ch;margin-bottom:2.6rem}
.hero-ctas{display:flex;gap:1.3rem;flex-wrap:wrap;align-items:center}
.hero-content .btn-ghost{color:var(--ivoire);border-color:var(--ivoire)}
.hero-content .btn-ghost:hover{background:var(--ivoire);color:var(--noir-mineral)}

/* ticker */
.ticker{overflow:hidden;background:var(--noir-mineral);color:var(--ivoire);padding:.95rem 0}
.ticker-track{display:flex;gap:3.5rem;white-space:nowrap;width:max-content;animation:tick 42s linear infinite}
.ticker-track span{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:#b7ad9c;display:flex;align-items:center;gap:3.5rem}
.ticker-track span::after{content:"·";color:var(--bronze)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Grilles ---------- */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem}

/* ---------- Chiffres ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stats .num{font-family:var(--serif);font-size:clamp(2.8rem,5.8vw,4.8rem);line-height:1;display:block;margin-bottom:.6rem;color:var(--encre)}
.dark .stats .num{color:var(--ivoire)}
.stats p{font-size:.9rem;color:var(--encre-doux);max-width:24ch}
.dark .stats p{color:#a89e8e}

/* ---------- Cartes image ---------- */
.tuile{position:relative;overflow:hidden;background:var(--pierre)}
.tuile img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.4s var(--ease)}
.tuile:hover img{transform:scale(1.06)}
.tuile-cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;background:linear-gradient(0deg,rgba(21,20,15,.78),transparent);color:var(--ivoire)}
.tuile-cap h3{color:var(--ivoire);font-size:1.45rem}
.tuile-cap .meta{color:#d8cfbf;margin-top:.3rem}

/* ---------- Révélation avant/après ---------- */
.reveal{position:relative;overflow:hidden;aspect-ratio:16/11;background:var(--pierre)}
.reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reveal .apres{opacity:0;transform:scale(1.04);transition:opacity 1.1s var(--ease),transform 1.7s var(--ease)}
.reveal.on .apres,.reveal:hover .apres{opacity:1;transform:scale(1)}
.reveal .lab{position:absolute;top:1.1rem;z-index:3;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;background:rgba(246,241,233,.92);color:var(--encre);padding:.4rem .8rem}
.reveal .lab.av{left:1.1rem}
.reveal .lab.ap{right:1.1rem;background:var(--noir-mineral);color:var(--ivoire);opacity:0;transition:opacity .9s var(--ease)}
.reveal.on .lab.ap,.reveal:hover .lab.ap{opacity:1}

/* ---------- Bandeau matière ---------- */
.bande-mat{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.bande-mat .sw{aspect-ratio:1;overflow:hidden;position:relative}
.bande-mat .sw img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.bande-mat .sw:hover img{transform:scale(1.12)}
.bande-mat .sw span{position:absolute;left:.7rem;bottom:.6rem;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire);mix-blend-mode:difference;font-weight:600}

/* ---------- Collections ---------- */
/* V2 sensorielle : application (grande) + macro texture */
.col-visuels{position:relative;display:grid;grid-template-rows:1fr auto;min-height:74vh;overflow:hidden}
.col-app{position:relative;overflow:hidden}
.col-app img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 2s var(--ease)}
.col-block:hover .col-app img{transform:scale(1.07)}
.col-macro{position:relative;height:34%;min-height:170px;overflow:hidden;border-top:3px solid var(--ivoire)}
.col-macro img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 2s var(--ease)}
.col-block:hover .col-macro img{transform:scale(1.14)}
.col-macro::after{content:"Matière";position:absolute;left:1rem;bottom:.8rem;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire);mix-blend-mode:difference;font-weight:600}
.col-app::after{content:"Application";position:absolute;left:1rem;top:1rem;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire);mix-blend-mode:difference;font-weight:600}

.col-block{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid rgba(42,38,31,.12)}
.col-img{position:relative;overflow:hidden;min-height:74vh}
.col-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.9s var(--ease)}
.col-block:hover .col-img img{transform:scale(1.07)}
.col-txt{padding:clamp(2.5rem,6vw,5.5rem);display:flex;flex-direction:column;justify-content:center}
.col-block:nth-child(even) .col-txt{order:-1}
.teintes{display:flex;flex-direction:column;gap:.7rem;margin:1.8rem 0 2.4rem}
.teintes span{font-size:.98rem;color:#4c463b;border-bottom:1px dotted rgba(42,38,31,.22);padding-bottom:.7rem;max-width:42ch;display:flex;gap:.8rem;align-items:baseline}
.teintes span b{font-weight:500;color:var(--encre);min-width:9.5rem;display:inline-block}
.badge{display:inline-block;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--bronze);color:var(--bronze);padding:.35rem .8rem;margin-bottom:1.3rem;width:max-content;font-weight:600}

/* ---------- Système : vue éclatée ---------- */
.systeme-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:center}
.couches{display:flex;flex-direction:column;gap:0;counter-reset:c}
.couche{display:grid;grid-template-columns:54px 1fr;gap:1.6rem;padding:1.5rem 0;border-bottom:1px solid rgba(42,38,31,.14);align-items:baseline}
.couche .n{font-family:var(--serif);font-size:1.5rem;color:var(--bronze)}
.couche h3{font-size:1.3rem;margin-bottom:.25rem}
.couche p{font-size:.96rem;color:var(--encre-doux)}
.exploded{width:100%;height:auto}

/* avantages */
.av-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(42,38,31,.12);border:1px solid rgba(42,38,31,.12)}
.av-cell{background:var(--ivoire);padding:2.2rem}
.dark .av-grid{background:rgba(246,241,233,.14);border-color:rgba(246,241,233,.14)}
.dark .av-cell{background:var(--anthracite)}
.av-cell h3{font-size:1.2rem;margin-bottom:.6rem}
.av-cell p{font-size:.92rem;color:var(--encre-doux)}
.dark .av-cell p{color:#a89e8e}

/* ---------- Applications ---------- */
.app-cat{margin-bottom:3rem}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.app-grid.featured{grid-template-columns:2fr 1fr 1fr}
.app-grid .tuile:first-child img{aspect-ratio:16/11}

/* ---------- Études de cas ---------- */
.cas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid rgba(42,38,31,.12);align-items:center}
.cas blockquote{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.32;margin:1.3rem 0;color:var(--encre)}
.cas .det{display:flex;gap:2.4rem;margin-top:1.6rem;flex-wrap:wrap}
.cas .det div span{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:.25rem;font-weight:600}
.cas .det div{font-size:.96rem}

/* ---------- Avantages partenaires ---------- */
.benef{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(42,38,31,.14)}
.benef .item{padding:2.4rem 0;border-bottom:1px solid rgba(42,38,31,.14);display:grid;grid-template-columns:54px 1fr;gap:1.6rem;padding-right:2rem;align-items:baseline}
.benef .item:nth-child(odd){padding-right:3rem}
.benef .item:nth-child(even){padding-left:3rem;border-left:1px solid rgba(42,38,31,.14)}
.dark .benef,.dark .benef .item{border-color:rgba(246,241,233,.16)}
.benef .n{font-family:var(--serif);font-size:1.4rem;color:var(--bronze)}
.benef h3{font-size:1.25rem;margin-bottom:.4rem}
.benef p{font-size:.95rem;color:var(--encre-doux)}
.dark .benef p{color:#a89e8e}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid rgba(42,38,31,.14)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.7rem 0;font-family:var(--serif);font-size:1.4rem;color:var(--encre)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:1.5rem;color:var(--bronze);transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.7rem;color:#4c463b;max-width:62ch}

/* ---------- Formulaire ---------- */
form{display:grid;gap:1.7rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem}
label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:.6rem;font-weight:600}
input,select,textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(42,38,31,.3);padding:.75rem 0;font-family:var(--sans);font-size:1.02rem;color:var(--encre);border-radius:0;transition:border-color .35s}
input::placeholder,textarea::placeholder{color:#a89f90}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--noyer)}
textarea{resize:vertical;min-height:120px}
.choix{display:flex;gap:.9rem;flex-wrap:wrap}
.choix input{position:absolute;opacity:0;pointer-events:none}
.choix label{cursor:pointer;border:1px solid rgba(42,38,31,.3);padding:.8rem 1.4rem;margin:0;font-size:.82rem;color:var(--encre);letter-spacing:0;text-transform:none;font-weight:400;transition:background .35s,border-color .35s,color .35s}
.choix input:checked+label{background:var(--noir-mineral);color:var(--ivoire);border-color:var(--noir-mineral)}
.form-note{font-size:.84rem;color:var(--encre-doux);max-width:52ch}

/* ---------- Footer ---------- */
footer{background:var(--anthracite);color:var(--ivoire);padding:5.5rem 0 2.5rem}
.foot-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:3rem;margin-bottom:4rem}
footer .logo{color:var(--ivoire)}
footer h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);margin-bottom:1.3rem;font-weight:600}
footer a{display:block;font-size:.94rem;color:#c4baaa;margin-bottom:.65rem;transition:color .3s;font-weight:330}
footer a:hover{color:var(--ivoire)}
.foot-base{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;border-top:1px solid rgba(246,241,233,.14);padding-top:2rem}
.foot-base p{font-size:.78rem;color:#9a9080}

/* ---------- CTA final ---------- */
.cta-final{position:relative;overflow:hidden}
.cta-final h2{max-width:20ch;margin-bottom:2rem}

/* ---------- CTA mobile ---------- */
.cta-mobile{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--noir-mineral);text-align:center;padding:1rem;transform:translateY(110%);transition:transform .6s var(--ease);display:none}
.cta-mobile a{color:var(--ivoire);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.cta-mobile.show{transform:none}

/* ---------- Page interne head ---------- */
.page-head{padding:12rem 0 5.5rem}
.page-head h1{max-width:18ch}
.page-head .lead{margin-top:1.7rem;max-width:60ch}

/* ---------- Apparitions ---------- */
.fade{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.fade.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
.veil{position:relative;overflow:hidden}
.veil::after{content:"";position:absolute;inset:0;background:var(--sable);transform:translateY(0);transition:transform 1.3s var(--ease)}
.veil.in::after{transform:translateY(-101%)}

:focus-visible{outline:1.5px solid var(--noyer);outline-offset:4px}
.skip{position:absolute;left:-9999px;background:var(--noir-mineral);color:var(--ivoire);padding:.8rem 1.2rem;z-index:200}
.skip:focus{left:1rem;top:1rem}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fade{opacity:1;transform:none}.veil::after{display:none}
  .hero-half img{transform:none!important}html{scroll-behavior:auto}
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  nav.main{display:none}.burger{display:block}.header-cta{display:none}
  .g2,.systeme-grid,.cas{grid-template-columns:1fr;gap:2.5rem}
  .systeme-grid .exploded-wrap{order:-1}
  .g3,.g4,.app-grid,.app-grid.featured,.stats{grid-template-columns:1fr 1fr}
  .av-grid{grid-template-columns:1fr}
  .col-block,.col-block:nth-child(even){grid-template-columns:1fr}
  .col-block:nth-child(even) .col-txt{order:0}
  .col-img{min-height:52vh}
  .benef{grid-template-columns:1fr}
  .benef .item,.benef .item:nth-child(odd),.benef .item:nth-child(even){padding:2rem 0;padding-left:0;border-left:none}
  .bande-mat{grid-template-columns:repeat(3,1fr)}
  .f-row{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .cta-mobile{display:block}
  .hero-content{padding-bottom:5.5rem}
}
@media (max-width:560px){
  .stats{grid-template-columns:1fr 1fr}
  .g3,.g4,.app-grid,.app-grid.featured{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .hero-half .demi-label{top:5.5rem}
}
