/* ============================================================
   MODULA LAB — styles.css
   Monocromo concreto · profesional · logo-forward
   ============================================================ */

:root{
  --bg:        #201b13;
  --bg-grad-1: #2a2418;
  --bg-grad-2: #1a1610;
  --bg-2:      #17150f;
  --bg-3:      #1c1a14;
  --cream:     #ece6da;   /* crema del logo */
  --cream-dim: #968f82;
  --cream-faint:#56514a;
  --concrete:  #b9b1a2;   /* acento neutro (concreto claro) */
  --red:       #d62d22;   /* tríada del logo */
  --yellow:    #efbb16;
  --blue:      #0f63cf;
  --line:      rgba(236,230,218,0.11);
  --line-soft: rgba(236,230,218,0.06);

  --display:"Archivo", system-ui, sans-serif;
  --mono:"Space Mono", ui-monospace, monospace;

  --maxw:1280px;
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(0.22,1,0.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--cream);font-family:var(--display);font-weight:400;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;}
/* layered, living background across the WHOLE page */
body::before{
  content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;
  background:
    radial-gradient(45% 40% at 50% 50%, rgba(214,45,34,0.10), transparent 70%),
    linear-gradient(160deg, var(--bg-grad-1), var(--bg-grad-2));
}
/* moving colored halos (the color source for the smoke) */
.bg-halos{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;}
.halo{position:absolute;border-radius:50%;filter:blur(90px);opacity:.9;will-change:transform;}
.halo--blue{width:60vw;height:60vw;background:radial-gradient(circle,rgba(15,99,207,0.5),transparent 68%);top:-16vw;right:-10vw;animation:haloA 26s ease-in-out infinite;}
.halo--red{width:56vw;height:56vw;background:radial-gradient(circle,rgba(214,45,34,0.42),transparent 68%);top:24%;left:-16vw;animation:haloB 30s ease-in-out infinite;}
.halo--yellow{width:58vw;height:58vw;background:radial-gradient(circle,rgba(239,187,22,0.32),transparent 68%);bottom:-18vw;right:4vw;animation:haloC 34s ease-in-out infinite;}
.halo--blue2{width:50vw;height:50vw;background:radial-gradient(circle,rgba(15,99,207,0.3),transparent 68%);bottom:8%;left:14%;animation:haloD 28s ease-in-out infinite;}
@keyframes haloA{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-9vw,8vw) scale(1.18)}66%{transform:translate(5vw,3vw) scale(0.9)}}
@keyframes haloB{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(8vw,-6vw) scale(1.12)}66%{transform:translate(4vw,10vw) scale(0.88)}}
@keyframes haloC{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-7vw,-9vw) scale(1.15)}66%{transform:translate(-12vw,4vw) scale(0.94)}}
@keyframes haloD{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(11vw,-7vw) scale(1.2)}}
/* drifting smoke (SVG fractal noise) across the whole page */
.smoke{position:fixed;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.1;mix-blend-mode:screen;}
.smoke-drift{transform-origin:50% 50%;animation:smokeDrift 34s linear infinite;will-change:transform;}
@keyframes smokeDrift{0%{transform:translate(-7%,-5%) scale(1.22)}25%{transform:translate(5%,3%) scale(1.3)}50%{transform:translate(8%,7%) scale(1.22)}75%{transform:translate(-3%,5%) scale(1.3)}100%{transform:translate(-7%,-5%) scale(1.22)}}
/* fine technical grid + grain over everything */
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(236,230,218,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(236,230,218,0.035) 1px, transparent 1px);
  background-size:58px 58px;
  opacity:.6;
  -webkit-mask-image:linear-gradient(180deg, #000, rgba(0,0,0,0.5));
          mask-image:linear-gradient(180deg, #000, rgba(0,0,0,0.5));
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:0.16em;}
strong{color:var(--cream);font-weight:600;}
em{font-style:normal;}
::selection{background:var(--cream);color:var(--bg);}

/* ---------- M MONOGRAM ---------- */
.mmark{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:11%;flex:none;}
.mmark i{background:transparent;}
/* M monogram in the brand triad: left stem red, middle V yellow, right stem blue */
.mmark i:nth-child(1),.mmark i:nth-child(6),.mmark i:nth-child(11),.mmark i:nth-child(16),.mmark i:nth-child(21){background:var(--red);}
.mmark i:nth-child(7),.mmark i:nth-child(9),.mmark i:nth-child(13){background:var(--yellow);}
.mmark i:nth-child(5),.mmark i:nth-child(10),.mmark i:nth-child(15),.mmark i:nth-child(20),.mmark i:nth-child(25){background:var(--blue);}
.mmark--sm{width:26px;height:26px;}
.mmark--lg{width:84px;height:84px;}
.mmark--hero{width:clamp(74px,11vw,128px);height:clamp(74px,11vw,128px);}

/* ---------- SPLASH ---------- */
.splash{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .7s var(--ease),visibility .7s;}
.splash .mmark--lg i{opacity:0;}
.splash .mmark--lg i:nth-child(1),.splash .mmark--lg i:nth-child(5),
.splash .mmark--lg i:nth-child(6),.splash .mmark--lg i:nth-child(7),.splash .mmark--lg i:nth-child(9),.splash .mmark--lg i:nth-child(10),
.splash .mmark--lg i:nth-child(11),.splash .mmark--lg i:nth-child(13),.splash .mmark--lg i:nth-child(15),
.splash .mmark--lg i:nth-child(16),.splash .mmark--lg i:nth-child(20),
.splash .mmark--lg i:nth-child(21),.splash .mmark--lg i:nth-child(25){opacity:0;animation:cellIn .5s var(--ease) forwards;}
.splash .mmark--lg i:nth-child(1){animation-delay:.04s}.splash .mmark--lg i:nth-child(5){animation-delay:.08s}
.splash .mmark--lg i:nth-child(6){animation-delay:.12s}.splash .mmark--lg i:nth-child(7){animation-delay:.16s}
.splash .mmark--lg i:nth-child(9){animation-delay:.2s}.splash .mmark--lg i:nth-child(10){animation-delay:.24s}
.splash .mmark--lg i:nth-child(11){animation-delay:.28s}.splash .mmark--lg i:nth-child(13){animation-delay:.32s}
.splash .mmark--lg i:nth-child(15){animation-delay:.36s}.splash .mmark--lg i:nth-child(16){animation-delay:.4s}
.splash .mmark--lg i:nth-child(20){animation-delay:.44s}.splash .mmark--lg i:nth-child(21){animation-delay:.48s}
.splash .mmark--lg i:nth-child(25){animation-delay:.52s}
@keyframes cellIn{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
.splash.done{opacity:0;visibility:hidden;}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(13,13,12,0.82);backdrop-filter:blur(14px);border-bottom-color:var(--line);padding-top:13px;padding-bottom:13px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-word{font-weight:700;font-size:17px;letter-spacing:0.02em;}
.brand-word em{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:0.34em;color:var(--cream-dim);padding-left:0.55em;vertical-align:1px;}
.nav-links{display:flex;gap:34px;}
.nav-links a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.14em;color:var(--cream-dim);position:relative;padding:4px 0;transition:color .25s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--cream);transition:width .3s var(--ease);}
.nav-links a:hover{color:var(--cream);}
.nav-links a:hover::after{width:100%;}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-burger span{width:24px;height:2px;background:var(--cream);transition:.3s;}
.nav-burger.open span:nth-child(1){transform:translateY(3.5px) rotate(45deg);}
.nav-burger.open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);}
.mobile-menu{position:fixed;inset:0;z-index:700;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.mobile-menu.open{opacity:1;visibility:visible;}
.mobile-menu a{font-weight:600;font-size:30px;letter-spacing:-0.02em;color:var(--cream);padding:10px;}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.12em;padding:14px 26px;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:100px;transition:background .3s,color .3s,border-color .3s,transform .25s;}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--cream);border-color:var(--line);}
.btn--ghost:hover{background:transparent;border-color:var(--cream);color:var(--cream);transform:translateY(-2px);}
.btn--sm{padding:10px 18px;font-size:11px;}
.btn--big{padding:17px 34px;font-size:13px;}

/* ---------- SECTION SHELL ---------- */
.section{padding:clamp(80px,11vw,150px) var(--pad);max-width:var(--maxw);margin:0 auto;position:relative;}
.section-head{margin-bottom:clamp(40px,6vw,68px);}
.index{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:var(--cream-dim);margin-bottom:20px;}
.index::before{content:"";width:26px;height:1px;background:currentColor;opacity:.6;}
main > section:nth-of-type(2) .index{color:var(--red);}
main > section:nth-of-type(3) .index{color:var(--yellow);}
main > section:nth-of-type(4) .index{color:var(--blue);}
main > section:nth-of-type(5) .index{color:var(--red);}
main > section:nth-of-type(6) .index{color:var(--yellow);}
main > section:nth-of-type(7) .index{color:var(--blue);}
.section-title{font-weight:600;font-size:clamp(30px,5vw,60px);line-height:1.04;letter-spacing:-0.03em;max-width:16ch;text-wrap:balance;}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px var(--pad) 90px;overflow:hidden;}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 42%,transparent 40%,rgba(13,13,12,0.55) 100%);pointer-events:none;}
.hero-inner{position:relative;display:flex;flex-direction:column;align-items:center;max-width:880px;animation:heroIn 1.1s var(--ease) both;}
@keyframes heroIn{from{transform:translateY(16px);}to{transform:none;}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.22em;color:var(--cream-dim);margin-bottom:36px;}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(214,45,34,0.55);animation:pulseDot 2.4s infinite;}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(214,45,34,0.5)}70%{box-shadow:0 0 0 9px rgba(214,45,34,0)}100%{box-shadow:0 0 0 0 rgba(214,45,34,0)}}
.hero-logo{display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3vw,32px);margin-bottom:34px;}
.mmark--hero{animation:popMark .7s var(--ease) both;}
@keyframes popMark{from{transform:scale(.7);opacity:0;}to{transform:scale(1);opacity:1;}}
.hero-word{font-weight:700;font-size:clamp(44px,9vw,118px);letter-spacing:-0.03em;line-height:0.9;display:flex;align-items:baseline;gap:0.28em;flex-wrap:wrap;justify-content:center;}
.hero-word span{font-family:var(--mono);font-weight:400;font-size:0.26em;letter-spacing:0.42em;color:var(--cream-dim);padding-left:0.42em;}
.hero-lead{font-size:clamp(15px,1.7vw,20px);color:var(--cream-dim);max-width:42ch;margin-bottom:38px;line-height:1.6;text-wrap:pretty;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2;}
.hero-scroll .mono{font-size:9.5px;color:var(--cream-faint);letter-spacing:0.2em;}
.hero-scroll-line{width:1px;height:42px;background:linear-gradient(var(--cream-faint),transparent);position:relative;overflow:hidden;}
.hero-scroll-line::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--cream);animation:scrollDot 2.2s var(--ease) infinite;}
@keyframes scrollDot{0%{top:-50%}100%{top:120%}}

/* ---------- ESTUDIO ---------- */
.estudio-lead{font-size:clamp(22px,3vw,36px);font-weight:500;line-height:1.28;letter-spacing:-0.02em;max-width:24ch;margin-bottom:clamp(40px,6vw,68px);text-wrap:balance;}
.estudio-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-bottom:clamp(48px,7vw,84px);}
.estudio-cols p{color:var(--cream-dim);font-size:16px;line-height:1.7;max-width:42ch;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);padding-top:40px;}
.stat{display:flex;flex-direction:column;gap:10px;}
.stat-n{font-weight:600;font-size:clamp(38px,5vw,60px);letter-spacing:-0.03em;line-height:1;}
.stat-l{font-size:10px;color:var(--cream-dim);}

/* ---------- SERVICIOS ---------- */
.serv-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.serv{background:rgba(24,21,16,0.5);backdrop-filter:blur(2px);padding:clamp(28px,3vw,42px);min-height:256px;display:flex;flex-direction:column;transition:background .4s var(--ease);position:relative;overflow:hidden;}
.serv::before{content:"";position:absolute;top:0;left:0;height:3px;width:0;transition:width .45s var(--ease);}
.serv:nth-child(1)::before{background:var(--red);}
.serv:nth-child(2)::before{background:var(--yellow);}
.serv:nth-child(3)::before{background:var(--blue);}
.serv:nth-child(4)::before{background:var(--red);}
.serv:nth-child(5)::before{background:var(--yellow);}
.serv:nth-child(6)::before{background:var(--blue);}
.serv:hover::before{width:100%;}
.serv:hover{background:rgba(34,30,22,0.7);}
.serv-n{font-size:11px;color:var(--cream-dim);margin-bottom:auto;letter-spacing:0.16em;}
.serv:nth-child(1) .serv-n{color:var(--red);}
.serv:nth-child(2) .serv-n{color:var(--yellow);}
.serv:nth-child(3) .serv-n{color:var(--blue);}
.serv:nth-child(4) .serv-n{color:var(--red);}
.serv:nth-child(5) .serv-n{color:var(--yellow);}
.serv h3{font-weight:600;font-size:clamp(20px,2vw,25px);letter-spacing:-0.02em;margin:34px 0 12px;}
.serv p{color:var(--cream-dim);font-size:14.5px;line-height:1.6;margin-bottom:18px;text-wrap:pretty;}
.serv-tags{font-size:10px;color:var(--cream-faint);}
.serv--cta{align-items:flex-start;justify-content:center;gap:20px;background:rgba(34,30,22,0.66);}
.serv--cta h3{margin:0;}

/* ---------- MATERIALES ---------- */
.mat-list{list-style:none;border-top:1px solid var(--line);}
.mat{display:grid;grid-template-columns:minmax(5.5ch,auto) 1fr;gap:clamp(20px,4vw,56px);align-items:baseline;padding:clamp(20px,2.5vw,28px) 0;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease);}
.mat:hover{padding-left:16px;}
.mat-name{font-weight:600;font-size:clamp(22px,3vw,34px);letter-spacing:-0.02em;transition:color .3s;}
.mat-name em{font-family:var(--mono);font-size:0.5em;font-weight:400;color:var(--cream-dim);letter-spacing:0.1em;}
.mat:hover .mat-name{color:var(--cream);}
.mat:nth-child(1):hover .mat-name{color:var(--red);}
.mat:nth-child(2):hover .mat-name{color:var(--yellow);}
.mat:nth-child(3):hover .mat-name{color:var(--blue);}
.mat:nth-child(4):hover .mat-name{color:var(--red);}
.mat:nth-child(5):hover .mat-name{color:var(--yellow);}
.mat:nth-child(6):hover .mat-name{color:var(--blue);}
.mat-desc{color:var(--cream-dim);font-size:15px;max-width:52ch;align-self:center;}

/* ---------- PIEZAS / GALLERY ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,20px);grid-auto-flow:dense;}
.g-item{position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2);}
.g-item--tall{grid-row:span 2;}
.g-item--wide{grid-column:span 2;}
.g-img{position:relative;width:100%;height:100%;overflow:hidden;}
.g-img img{width:100%;height:100%;object-fit:cover;min-height:240px;transition:transform 1s var(--ease);}
.g-item--tall .g-img img{min-height:516px;}
.g-item:hover .g-img img{transform:scale(1.05);}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:22px;background:linear-gradient(to top,rgba(13,13,12,0.9),transparent);transform:translateY(6px);opacity:0;transition:opacity .45s,transform .45s;}
.g-item:hover figcaption{opacity:1;transform:none;}
.g-name{font-weight:600;font-size:18px;letter-spacing:-0.01em;}
.g-meta{font-size:10px;color:var(--cream-dim);}
.piezas-note{margin-top:32px;font-size:10.5px;color:var(--cream-faint);letter-spacing:0.1em;}

/* ---------- PROCESO ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.step{background:rgba(24,21,16,0.5);backdrop-filter:blur(2px);padding:clamp(26px,3vw,40px);min-height:212px;display:flex;flex-direction:column;transition:background .4s;position:relative;overflow:hidden;}
.step::before{content:"";position:absolute;top:0;left:0;height:3px;width:0;transition:width .45s var(--ease);}
.steps .step:nth-child(1)::before{background:var(--red);}
.steps .step:nth-child(2)::before{background:var(--yellow);}
.steps .step:nth-child(3)::before{background:var(--blue);}
.steps .step:nth-child(4)::before{background:var(--red);}
.step:hover::before{width:100%;}
.step:hover{background:rgba(34,30,22,0.7);}
.step-n{font-weight:700;font-size:clamp(32px,4vw,48px);color:var(--cream);letter-spacing:-0.02em;line-height:1;}
.steps .step:nth-child(1) .step-n{color:var(--red);}
.steps .step:nth-child(2) .step-n{color:var(--yellow);}
.steps .step:nth-child(3) .step-n{color:var(--blue);}
.steps .step:nth-child(4) .step-n{color:var(--red);}
.step h3{font-weight:600;font-size:20px;letter-spacing:-0.01em;margin:auto 0 10px;}
.step p{color:var(--cream-dim);font-size:14px;line-height:1.6;}

/* ---------- CONTACTO ---------- */
.contacto{text-align:center;}
.contacto-inner{max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.contacto .index{justify-content:center;}
.contacto-title{font-weight:600;font-size:clamp(44px,8vw,104px);line-height:0.98;letter-spacing:-0.04em;margin-bottom:24px;text-wrap:balance;}
.contacto-lead{color:var(--cream-dim);font-size:clamp(15px,1.7vw,19px);max-width:50ch;margin-bottom:40px;line-height:1.65;}
.contacto-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:clamp(48px,7vw,76px);}
.contacto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;width:100%;}
.ci{background:rgba(24,21,16,0.5);backdrop-filter:blur(2px);padding:26px;display:flex;flex-direction:column;gap:8px;text-align:left;transition:background .4s;}
.ci:hover{background:rgba(34,30,22,0.7);}
.ci-k{font-size:10px;color:var(--cream-dim);}
.ci-v{font-size:15px;color:var(--cream);transition:color .3s;}
a.ci-v:hover{color:var(--concrete);}

/* ---------- FOOTER ---------- */
.footer{padding:clamp(50px,7vw,76px) var(--pad) 36px;max-width:var(--maxw);margin:0 auto;border-top:1px solid var(--line);}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;padding-bottom:38px;}
.footer-tag{text-align:right;color:var(--cream-dim);font-size:14px;line-height:1.6;}
.footer-tag span{color:var(--cream);}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line-soft);}
.footer-bottom span{font-size:10px;color:var(--cream-faint);letter-spacing:0.1em;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .nav-links,.btn--sm{display:none;}
  .nav-burger{display:flex;}
  .estudio-cols{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;gap:30px 24px;}
  .serv-list{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .contacto-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .serv-list,.gallery,.steps{grid-template-columns:1fr;}
  .g-item--tall,.g-item--wide{grid-row:auto;grid-column:auto;}
  .footer-top,.footer-tag{text-align:left;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero-scroll-line::after{animation:none;}
  .halo{animation:none !important;}
  .smoke-drift{animation:none !important;}
}
