/* ==========================================================================
   Spark Hollow — adaptations responsives
   Paliers : 1440 · 1280 · 1100 (navigation mobile) · 900 · 700 · 480 · 360
   ========================================================================== */

@media (min-width:1700px){
  :root{--container:1480px}
}

@media (max-width:1380px){
  .strip__label{display:none}
  .strip__link{padding:0 10px;font-size:.86rem}
  .strip__toggle{margin-left:-8px}
}

@media (max-width:1280px){
  .nav__list{gap:22px}
  .nav__link{font-size:.92rem}
  .brand img{height:36px}
}

/* ---------- Navigation mobile ---------- */
@media (max-width:1100px){
  :root{--header-h:78px}
  .nav__list,.nav .btn,.strip{display:none}
  .nav-toggle{display:inline-flex}
  .site-header.is-scrolled .masthead{height:70px}
  .utility__tag{display:none}
  .utility .container{grid-template-columns:1fr auto}
  .hero__mark{display:none}
}

/* ---------- Tablette ---------- */
@media (max-width:1024px){
  .intro{grid-template-columns:minmax(0,1fr)}
  .intro__text h2{max-width:none}
  .intro__media{margin-right:0;margin-top:20px}
  .intro__media::before{left:-12px;top:-12px}
  .sec-head{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
  .sec-head h2{max-width:22ch}
  .svc--feature{grid-column:span 12;min-height:480px}
  .svc--tall,.svc--third{grid-column:span 6}
  .svc--tall .svc__img{aspect-ratio:4/3}
  .svc--wide .svc__img{flex-basis:45%}
  .svc__list{grid-template-columns:minmax(0,1fr)}
  .expertise__grid{grid-template-columns:minmax(0,1fr)}
  .expertise__media{margin:0 calc(var(--gutter) * -1) calc(var(--section) * -1);min-height:380px}
  .expertise__media::after{background:linear-gradient(180deg,var(--charcoal) 0%,rgba(41,42,45,.2) 35%,rgba(16,38,50,.2) 100%)}
  .domains{grid-auto-rows:minmax(240px,auto)}
  .domain--a{grid-column:span 12;grid-row:span 1;min-height:380px}
  .domain--b,.domain--c,.domain--d,.domain--e{grid-column:span 6}
  .domain--f{grid-column:span 12}
  .cta__inner{grid-template-columns:minmax(0,1fr);align-items:start}
  .two-col{grid-template-columns:minmax(0,1fr)}
  .aside-card{position:static}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 0}
  .value-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-dark)}
  .value{border-bottom:1px solid var(--border-dark)}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related a:last-child:nth-child(odd){grid-column:span 2}
  .related a:last-child:nth-child(odd) .svc__img{aspect-ratio:21/9}
}

@media (max-width:900px){
  .split{grid-template-columns:minmax(0,1fr)}
  .split__panel{min-height:520px}
  .media-split{grid-template-columns:minmax(0,1fr)}
  .media-split--rev .media-split__media{order:0}
  .footer-top .container{flex-direction:column;align-items:flex-start}
  .cookie-bar{grid-template-columns:minmax(0,1fr)}
  .cookie-actions{justify-content:flex-start}
  .article{grid-template-columns:minmax(0,1fr);gap:12px}
}

/* ---------- Mobile ---------- */
@media (max-width:768px){
  :root{--util-h:36px}
  .utility{font-size:.76rem}
  .hero{height:auto;min-height:640px}
  .hero__slide{position:absolute}
  .hero__shade{background:linear-gradient(90deg,rgba(11,28,37,.9) 0%,rgba(16,38,50,.78) 60%,rgba(16,38,50,.55) 100%),linear-gradient(0deg,rgba(11,28,37,.85) 0%,rgba(11,28,37,0) 50%)}
  .hero__grid .container{grid-template-columns:repeat(2,1fr)}
  .hero__content{align-items:flex-end;padding-bottom:128px;padding-top:56px}
  .hero__title{font-size:clamp(2.1rem,8.6vw,3rem);max-width:none}
  .hero__sub{margin-bottom:28px}
  .hero__controls .container{flex-direction:column;gap:0;padding-bottom:14px}
  .hero__tabs{grid-template-columns:repeat(3,1fr)}
  .hero__tab{padding:14px 12px 10px 0;font-size:.74rem}
  .hero__tab span{display:none}
  .hero__tab::before{right:12px}
  .hero__tab[aria-selected="true"] i{width:calc(100% - 12px)}
  .hero__buttons{position:absolute;right:var(--gutter);bottom:14px}
  .hero__btn{width:42px;height:42px}
  .page-hero{min-height:400px}
  .page-hero .container{padding-top:56px}
  .intro__facts{grid-template-columns:minmax(0,1fr);border-top:0}
  .intro__facts li{border-right:0;border-top:1px solid var(--border);padding:14px 0;margin:0}
  .intro__media::after{bottom:-18px;height:36px}
  .intro__caption{position:static;padding:14px 0 0}
  .step{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:24px 0}
  .step__num{font-size:2rem}
}

@media (max-width:700px){
  .svc-grid{gap:16px}
  .svc--tall,.svc--third{grid-column:span 12}
  .svc--feature{min-height:440px}
  .svc--wide{flex-direction:column}
  .svc--wide .svc__img{flex:none;min-height:0;aspect-ratio:4/3}
  .domain--b,.domain--c,.domain--d,.domain--e{grid-column:span 12}
  .domain--a{min-height:320px}
  .feature-list{grid-template-columns:minmax(0,1fr)}
  .process{grid-template-columns:minmax(0,1fr)}
  .value-grid{grid-template-columns:minmax(0,1fr)}
  .related{grid-template-columns:minmax(0,1fr)}
  .related a:last-child:nth-child(odd){grid-column:auto}
  .related a:last-child:nth-child(odd) .svc__img{aspect-ratio:16/10}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .footer-cols{grid-template-columns:minmax(0,1fr);gap:36px}
  .footer-bottom .container{flex-direction:column;align-items:flex-start}
  .mobile-nav__services{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:480px){
  .utility__right .utility__lang{display:none}
  .btn{white-space:normal;text-align:left;padding:12px 20px}
  .hero .btn-row .btn,.cta .btn,.split__inner .btn{width:100%;justify-content:space-between}
  .masthead .container{gap:16px}
  .brand img{height:32px}
  .nav-toggle span{display:none}
  .nav-toggle{width:48px;padding:0;justify-content:center}
  .form-card{padding:22px 18px}
  .choices{flex-direction:column}
  .choice span{width:100%}
  .cookie-actions .btn{flex:1 1 100%;justify-content:center;text-align:center}
  .cookie-bar{padding:20px}
  .split__panel{min-height:480px}
  .crumbs{margin-bottom:18px}
}

@media (max-width:360px){
  :root{--gutter:16px}
  .utility__loc span{display:none}
  .hero__title{font-size:2rem}
  .hero__tab{font-size:.68rem}
  h2{font-size:1.75rem}
  .brand img{height:28px}
}

/* ---------- Impression ---------- */
@media print{
  .utility,.strip,.nav,.nav-toggle,.hero__controls,.cookie-bar,.cookie-panel,.cta,.mobile-nav{display:none!important}
  .site-header{position:static}
  .page-hero,.hero{min-height:0;height:auto;background:none;color:#000}
  .page-hero::before,.page-hero__media,.hero__media,.hero__shade{display:none}
  .page-hero h1,.page-hero .lead{color:#000}
}

/* ---------- Index des services et domaines ---------- */
@media (max-width:1100px){
  .svc-index__row{grid-template-columns:56px minmax(0,1fr) 160px 52px}
  .svc-index__tags{display:none}
}
@media (max-width:900px){
  .dom-row,.dom-row:nth-child(even){grid-template-columns:minmax(0,1fr)}
  .dom-row:nth-child(even) .dom-row__img{order:0}
  .dom-row__img{min-height:0;aspect-ratio:16/9}
}
@media (max-width:700px){
  .svc-index__row{grid-template-columns:40px minmax(0,1fr) 44px;gap:14px}
  .svc-index__img{display:none}
  .svc-index__num{font-size:1.2rem}
  .svc-index__title .ic{display:none}
  .svc-index__go{width:44px;height:44px}
}

/* Onglets du carrousel : espace réservé aux boutons sur mobile */
@media (max-width:768px){
  .hero__tabs{flex:none;width:calc(100% - 150px)}
}
