/* =========================================================
   DAS COMPANY — Construction générale & rénovation
   Système : grille 1320 / 12 · échelle d'espacement cohérente
   Direction : studio d'architecture belge, sobre & précis
   ========================================================= */

:root {
  /* ---- Palette ---- */
  --white: #ffffff;
  --paper: #f5f4f1;      /* gris très clair, chaud */
  --line:  rgba(17,17,17,.12);
  --line-2:rgba(17,17,17,.08);
  --line-d:rgba(255,255,255,.16);
  --ink:   #111110;      /* noir profond */
  --dark:  #141413;      /* sections sombres */
  --grey:  #6b6b64;      /* texte secondaire clair */
  --grey-d:#a6a6a0;      /* texte secondaire sur fond sombre */
  --accent:#9a7b4f;      /* pierre chaude, discret */

  /* ---- Type ---- */
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:  'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --h1: clamp(3.25rem, 5.4vw, 5.5rem);   /* 52 → 88 */
  --h2: clamp(2.25rem, 3.6vw, 3.75rem);  /* 36 → 60 */
  --h3: clamp(1.4rem, 1.9vw, 1.9rem);    /* ~22 → 30 */
  --lead: clamp(1.08rem, 1.25vw, 1.3rem);
  --body: clamp(1rem, 1.02vw, 1.125rem); /* 16 → 18 */
  --label: .72rem;

  /* ---- Layout ---- */
  --maxw: 1320px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --gap: clamp(1.1rem, 1.8vw, 1.75rem);
  --header-h: 74px;

  /* ---- Espacement ---- */
  --s-1: .5rem; --s-2: 1rem; --s-3: 1.5rem; --s-4: 2rem;
  --s-5: 3rem; --s-6: 4rem; --s-7: 6rem;
  --sec: clamp(4.5rem, 8vw, 7.5rem);

  --ease: cubic-bezier(.22,1,.36,1);
  --radius: 3px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  font-family:var(--sans);
  font-weight:400;
  font-size:var(--body);
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  opacity:0;
  animation:pageIn .6s var(--ease) forwards;
}
@keyframes pageIn{ to{ opacity:1; } }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul,ol{ list-style:none; }
::selection{ background:var(--ink); color:var(--white); }

/* Lenis */
html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

/* ---------- container / grid ---------- */
.container{
  width:100%;
  max-width:calc(var(--maxw) + var(--gutter) * 2);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
section{ position:relative; }
section[id]{ scroll-margin-top:calc(var(--header-h) + 1rem); }

/* ---------- helpers ---------- */
.section--dark{ background:var(--dark); color:var(--white); }
.section--dark ::selection{ background:var(--white); color:var(--ink); }
.section--soft{ background:var(--paper); }

.eyebrow{
  display:inline-block;
  font-size:var(--label);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--grey);
}
.eyebrow--onDark{ color:var(--grey-d); }

.section-head{ max-width:44rem; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-head .eyebrow{ margin-bottom:1.1rem; }
.section-title{
  font-family:var(--serif); font-weight:500;
  font-size:var(--h2); line-height:1.06; letter-spacing:-.01em;
}
.section-intro{ margin-top:1.1rem; color:var(--grey); max-width:52ch; }

.link-arrow{
  font-size:.82rem; letter-spacing:.06em; font-weight:500;
  display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap;
  border-bottom:1px solid var(--line); padding-bottom:.35rem;
  transition:gap .35s var(--ease), border-color .35s var(--ease);
}
.link-arrow::after{ content:"→"; transition:transform .35s var(--ease); }
.link-arrow:hover{ gap:.8rem; border-color:var(--ink); }

/* ---------- buttons ---------- */
.btn{
  --bg:var(--ink); --fg:var(--white); --bd:var(--ink);
  position:relative; z-index:0; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 1.7rem;
  font-size:.8rem; letter-spacing:.06em; font-weight:500;
  color:var(--fg); background:var(--bg);
  border:1px solid var(--bd); border-radius:var(--radius);
  transition:color .45s var(--ease);
}
.btn::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--fg); transform:scaleY(0); transform-origin:bottom;
  transition:transform .45s var(--ease);
}
.btn:hover{ color:var(--bg); }
.btn:hover::after{ transform:scaleY(1); }
.btn--dark{ --bg:var(--ink); --fg:var(--white); --bd:var(--ink); }
.btn--light{ --bg:var(--white); --fg:var(--ink); --bd:var(--white); }
.btn--ghost{ --bg:transparent; --fg:var(--white); --bd:rgba(255,255,255,.55); }
.btn--ghost::after{ background:var(--white); }
.btn--ghost:hover{ color:var(--ink); }
.btn--sm{ padding:.7rem 1.2rem; font-size:.76rem; }
.btn--full{ width:100%; }

/* =========================================================
   HEADER
   ========================================================= */
.header{
  position:fixed; top:0; left:0; width:100%; z-index:200;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid var(--line-2);
}
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; height:var(--header-h); }
.brand{ display:flex; align-items:baseline; gap:.45rem; }
.brand__mark{ font-family:var(--serif); font-weight:600; font-size:1.5rem; letter-spacing:.04em; color:var(--ink); }
.brand__sub{ font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; color:var(--grey); }
.header__nav{ display:flex; gap:2.4rem; margin-left:auto; }
.header__nav a{
  font-size:.82rem; letter-spacing:.03em; font-weight:400; color:var(--ink);
  position:relative; padding:.3rem 0;
}
.header__nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--ink); transition:width .35s var(--ease);
}
.header__nav a:hover::after{ width:100%; }
.header__right{ display:flex; align-items:center; gap:1.2rem; }

/* sélecteur de langue */
.lang{ display:flex; align-items:center; gap:.15rem; }
.lang button{
  font-size:.72rem; letter-spacing:.06em; font-weight:500; color:var(--grey);
  padding:.25rem .3rem; line-height:1; position:relative;
  transition:color .3s var(--ease);
}
.lang button + button::before{ content:"/"; position:absolute; left:-.28rem; color:var(--line); }
.lang button:hover{ color:var(--ink); }
.lang button.is-active{ color:var(--ink); }
.lang--menu{ margin-bottom:1.1rem; }
.lang--menu button{ font-size:.9rem; color:var(--grey); padding:.3rem .45rem; }
.lang--menu button + button::before{ left:-.4rem; }
.lang--menu button.is-active{ color:var(--ink); }
.burger{ display:none; width:30px; height:16px; position:relative; }
.burger span{ position:absolute; left:0; width:100%; height:1.5px; background:var(--ink); transition:.4s var(--ease); }
.burger span:first-child{ top:2px; }
.burger span:last-child{ bottom:2px; }
body.menu-open .burger span:first-child{ top:7px; transform:rotate(45deg); }
body.menu-open .burger span:last-child{ bottom:7px; transform:rotate(-45deg); }

/* mobile menu */
.menu{
  position:fixed; inset:0; z-index:150;
  background:var(--white);
  padding:calc(var(--header-h) + 2.5rem) var(--gutter) 2.5rem;
  display:flex; flex-direction:column; justify-content:space-between;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .6s var(--ease);
  pointer-events:none;
}
body.menu-open .menu{ clip-path:inset(0 0 0 0); pointer-events:auto; }
.menu__nav{ display:flex; flex-direction:column; }
.menu__nav a{
  font-family:var(--serif); font-weight:500; font-size:clamp(2rem,9vw,3rem);
  line-height:1.5; letter-spacing:-.01em; color:var(--ink);
  border-bottom:1px solid var(--line-2); padding:.5rem 0;
}
.menu__foot{ display:flex; flex-direction:column; gap:.3rem; color:var(--grey); font-size:.95rem; }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end;
  padding-top:var(--header-h);
  padding-bottom:clamp(3rem,7vw,6rem);
  color:var(--white); overflow:hidden;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__img{
  position:absolute; inset:0;
  background:var(--dark) center/cover no-repeat;
}
.hero__overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(10,10,9,.78) 0%, rgba(10,10,9,.45) 42%, rgba(10,10,9,.12) 78%),
    linear-gradient(0deg, rgba(10,10,9,.55) 0%, rgba(10,10,9,0) 55%);
}
.hero__inner{ position:relative; z-index:2; width:100%; }
.hero__content{ max-width:40rem; }
.hero__title{
  font-family:var(--serif); font-weight:500;
  font-size:var(--h1); line-height:1.04; letter-spacing:-.015em;
  margin:1.4rem 0 1.5rem;
}
.hero__lead{
  font-size:var(--lead); color:rgba(255,255,255,.86); font-weight:300;
  max-width:34rem; line-height:1.6;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.2rem; }
.eyebrow--onDark{ position:relative; padding-left:2.2rem; }
.eyebrow--onDark::before{ content:""; position:absolute; left:0; top:.5em; width:1.5rem; height:1px; background:var(--accent); }

/* =========================================================
   NOTRE ENGAGEMENT
   ========================================================= */
.engagement{ padding-block:var(--sec); }
.engagement__grid{
  display:grid; grid-template-columns:5fr 6fr; gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.engagement__left{ position:sticky; top:calc(var(--header-h) + 2rem); }
.engagement__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.9rem,3vw,3rem); line-height:1.1; letter-spacing:-.01em;
  margin-top:1.2rem; max-width:16ch;
}
.engagement__text{ color:var(--grey-d); font-size:var(--lead); line-height:1.65; max-width:56ch; }
.engagement__points{ margin-top:2.5rem; border-top:1px solid var(--line-d); }
.engagement__points li{
  display:flex; align-items:baseline; gap:1.2rem;
  padding:1.15rem 0; border-bottom:1px solid var(--line-d);
  font-size:1.1rem; color:var(--white);
}
.engagement__points li .epn{ font-family:var(--serif); font-size:.95rem; color:var(--accent); min-width:1.6rem; }

/* =========================================================
   EXPERTISES
   ========================================================= */
.expertise{ padding-block:var(--sec); }

/* Feature Mortex */
.feature{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem);
  align-items:center;
  padding-bottom:clamp(3rem,5vw,4.5rem);
  margin-bottom:clamp(3rem,5vw,4.5rem);
  border-bottom:1px solid var(--line);
}
.feature__media{ position:relative; aspect-ratio:5/4; border-radius:var(--radius); overflow:hidden; background:var(--paper); }
.feature__img{ position:absolute; inset:0; background:var(--dark) center/cover no-repeat; transition:transform 1.2s var(--ease); }
.feature:hover .feature__img{ transform:scale(1.04); }
.feature__badge{
  position:absolute; top:1rem; left:1rem;
  background:var(--white); color:var(--ink);
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  padding:.45rem .8rem; border-radius:2px;
}
.feature__n{ font-family:var(--serif); font-size:1rem; color:var(--accent); }
.feature__title{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,4vw,3.4rem); line-height:1; margin:.6rem 0 1.1rem; }
.feature__lead{ font-size:var(--lead); color:var(--ink); max-width:55ch; margin-bottom:1.1rem; }
.feature__desc{ color:var(--grey); max-width:64ch; margin-bottom:1.8rem; }
.feature__apps{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem 1.5rem; margin-bottom:2rem; }
.feature__apps li{ position:relative; padding-left:1.1rem; color:var(--ink); font-size:.98rem; }
.feature__apps li::before{ content:""; position:absolute; left:0; top:.7em; width:5px; height:5px; background:var(--accent); border-radius:50%; }

/* Grille des services */
.svc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap);
}
.svc-card{ display:flex; flex-direction:column; }
.svc-card__media{ position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius); background:var(--paper); }
.svc-card__img{ position:absolute; inset:0; background:var(--dark) center/cover no-repeat; transition:transform 1.1s var(--ease); }
.svc-card:hover .svc-card__img{ transform:scale(1.05); }
.svc-card__head{ display:flex; align-items:baseline; gap:.8rem; margin:1.2rem 0 .5rem; }
.svc-card__n{ font-family:var(--serif); font-size:1rem; color:var(--accent); }
.svc-card__title{ font-family:var(--serif); font-weight:500; font-size:var(--h3); line-height:1.1; }
.svc-card__desc{ color:var(--grey); font-size:.98rem; margin-bottom:1rem; }
.svc-card__foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid var(--line-2); }
.svc-card__tag{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grey); }
.svc-card__link{ font-size:.8rem; font-weight:500; display:inline-flex; align-items:center; gap:.4rem; transition:gap .35s var(--ease); }
.svc-card__link::after{ content:"→"; }
.svc-card:hover .svc-card__link{ gap:.7rem; }

/* =========================================================
   RÉALISATIONS
   ========================================================= */
.work{ padding-block:var(--sec); }
.work__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; max-width:none; }
.work__head > div{ max-width:44rem; }
.work__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.work__item{ position:relative; display:block; overflow:hidden; border-radius:var(--radius); aspect-ratio:4/3; background:var(--dark); }
.work__img{ position:absolute; inset:0; background:var(--dark) center/cover no-repeat; transition:transform 1.1s var(--ease); }
.work__item:hover .work__img{ transform:scale(1.05); }
.work__item::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,9,.78), rgba(10,10,9,0) 58%); }
.work__cap{ position:absolute; left:1.2rem; right:1.2rem; bottom:1.1rem; z-index:2; color:var(--white); }
.work__cat{ font-family:var(--serif); font-size:1.35rem; line-height:1.15; }
.work__meta{ display:block; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-top:.35rem; }
.work__note{ margin-top:1.5rem; font-size:.8rem; color:var(--grey); font-style:italic; }

/* =========================================================
   MÉTHODE
   ========================================================= */
.method{ padding-block:var(--sec); }
.method__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.method__step{ background:var(--paper); padding:clamp(1.8rem,2.6vw,2.6rem); display:flex; flex-direction:column; gap:.55rem; transition:background .4s var(--ease); }
.method__step:hover{ background:var(--white); }
.method__n{ font-family:var(--serif); font-size:1.1rem; color:var(--accent); }
.method__step h3{ font-family:var(--serif); font-weight:500; font-size:1.5rem; line-height:1.15; }
.method__step p{ color:var(--grey); font-size:.98rem; }

/* =========================================================
   CONTACT
   ========================================================= */
.contact{ padding-block:var(--sec); }
.contact__grid{ display:grid; grid-template-columns:5fr 6fr; gap:clamp(2.5rem,5vw,5rem); align-items:start; margin-bottom:clamp(3rem,6vw,5rem); }
.contact__title{ font-family:var(--serif); font-weight:500; font-size:var(--h2); line-height:1.05; margin:1.1rem 0 1.2rem; letter-spacing:-.01em; }
.contact__lead{ color:var(--grey); max-width:46ch; margin-bottom:2.5rem; }
.contact__info{ border-top:1px solid var(--line); }
.contact__row{ display:grid; grid-template-columns:7rem 1fr; gap:1.5rem; padding:1.05rem 0; border-bottom:1px solid var(--line); align-items:baseline; }
.contact__row dt{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey); }
.contact__row dd{ display:flex; flex-direction:column; gap:.2rem; font-size:1.05rem; color:var(--ink); }
.contact__row dd a{ position:relative; width:fit-content; }
.contact__row dd a::after{ content:""; position:absolute; left:0; bottom:-1px; width:0; height:1px; background:var(--ink); transition:width .35s var(--ease); }
.contact__row dd a:hover::after{ width:100%; }

/* form */
.form__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.3rem 1.4rem; margin-bottom:1.8rem; }
.field{ display:flex; flex-direction:column; gap:.45rem; }
.field--full{ grid-column:1 / -1; }
.field label{ font-size:.74rem; letter-spacing:.06em; color:var(--ink); font-weight:500; }
.field label .opt{ color:var(--grey); font-weight:400; letter-spacing:0; }
.field input,.field textarea,.field select{
  width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius); padding:.85rem .9rem;
  transition:border-color .3s var(--ease);
}
.field textarea{ resize:vertical; min-height:6.5rem; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--ink); }
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{ box-shadow:0 0 0 3px rgba(154,123,79,.14); }
.field input[type="file"]{ padding:.65rem .9rem; font-size:.9rem; color:var(--grey); cursor:pointer; }
.field input.invalid,.field textarea.invalid,.field select.invalid{ border-color:#b4432b; }

.select{ position:relative; }
.select::after{ content:""; position:absolute; right:1rem; top:50%; width:.5rem; height:.5rem; border-right:1.5px solid var(--grey); border-bottom:1.5px solid var(--grey); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.select select{ appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:2.2rem; }

.field--check{ flex-direction:row; align-items:flex-start; gap:.7rem; }
.field--check input{ width:1.1rem; height:1.1rem; margin-top:.15rem; flex:0 0 auto; accent-color:var(--ink); cursor:pointer; }
.field--check label{ font-weight:400; font-size:.86rem; color:var(--grey); line-height:1.5; }

.form__note{ margin-top:1rem; font-size:.9rem; min-height:1.2em; }
.form__note.is-error{ color:#b4432b; }
.form__note.is-ok{ color:var(--accent); }

/* =========================================================
   AVIS CLIENTS
   ========================================================= */
.avis{ padding-block:var(--sec); }
.avis__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,3rem); }
.avis__card{ margin:0; display:flex; flex-direction:column; gap:1.1rem; padding-top:1.6rem; border-top:1px solid var(--line-d); }
.avis__mark{ font-family:var(--serif); font-size:3rem; line-height:.4; color:var(--accent); height:1.1rem; }
.avis__quote{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(1.2rem,1.5vw,1.5rem); line-height:1.4; color:var(--white); }
.avis__author{ margin-top:auto; padding-top:.6rem; display:flex; flex-direction:column; gap:.3rem; }
.avis__name{ font-size:.98rem; color:var(--white); }
.avis__meta{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-d); }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ padding-block:clamp(3rem,5vw,4.5rem) 2rem; }
.footer__cta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; padding-bottom:clamp(2.5rem,4vw,3.5rem); border-bottom:1px solid var(--line-d); }
.footer__cta p{ font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.1; max-width:20ch; }
.footer__main{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:2.5rem; padding-block:clamp(2.5rem,4vw,3.5rem); }
.footer__brandcol p{ color:var(--grey-d); max-width:38ch; margin-top:1rem; font-size:.95rem; }
.footer__logo{ font-family:var(--serif); font-size:1.5rem; color:var(--white); }
.footer__logo span{ font-weight:600; letter-spacing:.04em; }
.footer__col{ display:flex; flex-direction:column; gap:.55rem; }
.footer__label{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--grey-d); margin-bottom:.4rem; }
.footer__col a{ color:var(--grey-d); font-size:.92rem; transition:color .3s var(--ease); width:fit-content; }
.footer__col a:hover{ color:var(--white); }
.footer__bottom{ display:flex; flex-wrap:wrap; gap:1.2rem 2rem; align-items:center; padding-top:1.8rem; border-top:1px solid var(--line-d); font-size:.8rem; color:var(--grey-d); }
.footer__bottom a{ transition:color .3s var(--ease); }
.footer__bottom a:hover{ color:var(--white); }

/* =========================================================
   REVEAL (retenu, respectueux)
   ========================================================= */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1024px){
  .engagement__grid{ grid-template-columns:1fr; gap:2rem; }
  .engagement__left{ position:static; }
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .work__grid{ grid-template-columns:repeat(2,1fr); }
  .method__grid{ grid-template-columns:repeat(2,1fr); }
  .footer__main{ grid-template-columns:1fr 1fr; }
  .footer__brandcol{ grid-column:1 / -1; }
}
@media(max-width:768px){
  .header__nav{ display:none; }
  .header__right .btn--sm{ display:none; }
  .header__right .lang{ display:none; }
  .burger{ display:block; }
  .feature{ grid-template-columns:1fr; }
  .feature__media{ order:-1; aspect-ratio:16/10; }
  .contact__grid{ grid-template-columns:1fr; gap:2.5rem; }
  .avis__grid{ grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:560px){
  .svc-grid{ grid-template-columns:1fr; }
  .work__grid{ grid-template-columns:1fr; }
  .method__grid{ grid-template-columns:1fr; }
  .work__head{ flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .form__grid{ grid-template-columns:1fr; }
  .feature__apps{ grid-template-columns:1fr; }
  .contact__row{ grid-template-columns:1fr; gap:.3rem; }
  .footer__main{ grid-template-columns:1fr; }
  .footer__cta{ flex-direction:column; align-items:flex-start; }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  body{ opacity:1; }
  .reveal{ opacity:1 !important; transform:none !important; }
}
