/* ============================================================
   JOHN LORD · Design System · ATELIER
   Design applicato alla materia: gioielli, moto, mobilio.
   Foto protagoniste · palette calda materica · Fraunces display
   ============================================================ */
@import url("../fonts/fonts.css");

:root{
  /* Palette calda / materica */
  --ink:      #1c1813;   /* inchiostro caldo, quasi nero */
  --ink-2:    #4a423a;
  --paper:    #f6f2ea;   /* avorio caldo */
  --paper-2:  #efe9dd;   /* sabbia */
  --cream:    #faf7f0;
  --muted:    #8c8377;
  --faint:    #b3aa9b;
  --line:     #ddd4c4;
  --gold:     #a8853e;   /* firma oro */
  --gold-soft:#c4a05a;
  --coal:     #17130f;   /* sezioni scure */

  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  --wrap: 1480px;
  --gutter: clamp(22px, 5vw, 80px);
  --sp: clamp(90px, 12vw, 210px);
  --ease: cubic-bezier(.19,1,.22,1);
  --ease-2: cubic-bezier(.65,.05,.36,1);
  --header-h: 84px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-weight:400; font-size:16.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--gold); color:var(--paper); }

/* ---------- Tipografia ---------- */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:400; line-height:1.02; margin:0; color:var(--ink); }
.display{ font-size:clamp(3.2rem,10vw,9.5rem); font-weight:300; line-height:.96; letter-spacing:-.015em; }
h1{ font-size:clamp(2.6rem,6.5vw,6rem); font-weight:300; letter-spacing:-.01em; }
h2{ font-size:clamp(2.4rem,5vw,4.6rem); font-weight:300; letter-spacing:-.01em; }
h3{ font-size:clamp(1.4rem,2vw,2rem); font-weight:400; }
em,.it{ font-style:italic; }
p{ margin:0 0 1.15em; }
.lead{ font-size:clamp(1.15rem,1.6vw,1.5rem); line-height:1.55; color:var(--ink-2); max-width:68ch; font-weight:300; }

.tag{ font-family:var(--sans); font-weight:600; font-size:1rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.tag-muted{ color:var(--muted); }
.num-i{ font-family:var(--serif); font-style:italic; font-size:.95rem; color:var(--faint); font-weight:400; }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.wrap-wide{ width:100%; padding-inline:var(--gutter); }
.section{ padding-block:var(--sp); }
.section--paper2{ background:var(--paper-2); }
.section--coal{ background:var(--coal); color:var(--paper); }
.section--coal h1,.section--coal h2,.section--coal h3{ color:var(--paper); }
.center{ text-align:center; }
.narrow{ max-width:760px; margin-inline:auto; }

/* intestazione sezione: tag + titolo, con filo oro */
.head{ margin-bottom:clamp(48px,6vw,90px); max-width:900px; }
.head .tag{ display:inline-flex; align-items:center; gap:.9em; margin-bottom:1.6rem; }
.head .tag::before{ content:""; width:34px; height:1px; background:var(--gold); display:inline-block; }
.head h2{ margin:0; }
.head p{ margin:1.4rem 0 0; color:var(--muted); max-width:72ch; }
.head--center{ margin-inline:auto; text-align:center; }
.head--center .tag::before{ display:none; }

/* ---------- Bottoni / link ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.8em;
  font-family:var(--sans); font-weight:500; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase;
  padding:1.15em 2.2em; background:var(--ink); color:var(--paper); border:1px solid var(--ink);
  border-radius:100px; transition:all .5s var(--ease);
}
.btn:hover{ background:transparent; color:var(--ink); }
.btn--light{ background:transparent; color:var(--paper); border-color:rgba(246,242,234,.4); }
.btn--light:hover{ background:var(--paper); color:var(--ink); border-color:var(--paper); }
.btn--gold{ background:var(--gold); border-color:var(--gold); color:var(--paper); }
.btn--gold:hover{ background:transparent; color:var(--gold); }

.link{ font-family:var(--sans); font-weight:500; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:.7em; color:var(--ink); position:relative; padding-bottom:4px; }
.link::before{ content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:currentColor; transform:scaleX(1); transform-origin:right; transition:transform .5s var(--ease); }
.link:hover::before{ transform:scaleX(0); transform-origin:left; }
.link .ar{ transition:transform .5s var(--ease); }
.link:hover .ar{ transform:translateX(5px); }
.section--coal .link{ color:var(--paper); }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{ position:fixed; top:0; left:0; right:0; z-index:100; height:var(--header-h);
  display:flex; align-items:center; transition:background .6s var(--ease), backdrop-filter .6s; }
.site-header .wrap-wide{ display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-header.solid{ background:rgba(246,242,234,.9); -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 1px 0 var(--line); }
.site-header.on-dark:not(.solid) .brand img{ filter:brightness(0) invert(1); }
.brand img{ height:44px; width:auto; transition:height .4s var(--ease); }
.site-header.solid .brand img{ height:40px; }

.nav{ display:flex; align-items:center; gap:clamp(1.4rem,2.6vw,2.8rem); }
.nav a.navlink{ font-family:var(--sans); font-weight:500; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink); position:relative; white-space:nowrap; opacity:.85; transition:opacity .3s; }
.site-header.on-dark:not(.solid) .nav a.navlink{ color:var(--paper); }
.nav a.navlink:hover{ opacity:1; }
.nav a.navlink.active{ color:var(--gold); opacity:1; }
.site-header.on-dark:not(.solid) .nav a.navlink.active{ color:var(--gold-soft); }

.lang{ display:flex; align-items:center; gap:.4rem; font-family:var(--sans); font-size:.74rem; font-weight:500; letter-spacing:.06em; }
.lang a{ color:var(--faint); transition:color .3s; }
.lang a.active{ color:var(--ink); }
.site-header.on-dark:not(.solid) .lang a{ color:rgba(246,242,234,.55); }
.site-header.on-dark:not(.solid) .lang a.active{ color:var(--paper); }
.lang span{ opacity:.4; }

.burger{ display:none; flex:0 0 auto; width:32px; min-width:32px; height:16px; position:relative; background:none; border:0; padding:0; cursor:pointer; }
.burger span{ position:absolute; left:0; height:2px; width:100%; background:var(--ink); transition:all .45s var(--ease); }
.site-header.on-dark:not(.solid) .burger span{ background:var(--paper); }
.burger span:nth-child(1){ top:0; } .burger span:nth-child(2){ top:14px; } .burger span:nth-child(3){ top:7px; opacity:0; }
body.nav-open .burger span{ background:var(--ink); }
body.nav-open .burger span:nth-child(1){ top:6px; transform:rotate(45deg); }
body.nav-open .burger span:nth-child(2){ top:6px; transform:rotate(-45deg); }

.mobile-nav{ display:none; position:fixed; inset:0; z-index:99; background:var(--paper); padding:calc(var(--header-h) + 30px) var(--gutter) 40px;
  transform:translateY(-102%); transition:transform .7s var(--ease); flex-direction:column; overflow-y:auto; }
body.nav-open .mobile-nav{ transform:translateY(0); }
.mobile-nav a{ font-family:var(--serif); font-weight:300; font-size:clamp(2.2rem,10vw,3.4rem); letter-spacing:-.01em;
  padding:.4rem 0; color:var(--ink); border-bottom:1px solid var(--line); transition:color .3s, padding-left .4s var(--ease); }
.mobile-nav a:hover{ color:var(--gold); padding-left:.6rem; }
.mobile-nav .m-lang{ margin-top:auto; padding-top:2rem; display:flex; gap:1.4rem; }
.mobile-nav .m-lang a{ font-family:var(--sans); font-size:.9rem; border:0; padding:0; letter-spacing:.12em; text-transform:uppercase; }
.mobile-nav .m-lang a.active{ color:var(--gold); }

/* ============================================================
   HERO · foto cinematica full-screen
   ============================================================ */
.hero{ position:relative; min-height:100svh; overflow:hidden; background:var(--coal); }
.hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.6s var(--ease); z-index:1; }
.hero-slide.active{ opacity:1; z-index:2; }
.hero-slide .bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 9s linear; }
.hero-slide.active .bg{ transform:scale(1); }
.hero-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,12,9,.28) 0%,rgba(15,12,9,.05) 42%,rgba(15,12,9,.72) 100%); }
.hero-inner{ position:absolute; left:0; right:0; bottom:0; z-index:3; width:100%; padding-bottom:clamp(72px,12vh,120px); }
.hero-cap{ opacity:0; transform:translateY(28px); transition:opacity 1.1s .35s var(--ease), transform 1.1s .35s var(--ease); }
.hero-slide.active .hero-cap{ opacity:1; transform:none; }
.hero-cap{ max-width:min(90vw,780px); }
.hero-cap .tag{ color:var(--gold-soft); display:flex; align-items:center; gap:.9em; margin-bottom:1.4rem; }
.hero-cap .tag::before{ content:""; width:40px; height:1px; background:var(--gold-soft); }
.hero-cap h1{ color:var(--paper); font-weight:300; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.06; }
.hero-cap .meta{ margin-top:1.6rem; font-family:var(--sans); font-size:.82rem; letter-spacing:.06em; color:rgba(246,242,234,.7); }
.hero-cap .btn{ margin-top:2rem; }
.hero-foot{ position:absolute; z-index:4; left:0; right:0; bottom:34px; }
.hero-foot .wrap{ display:flex; align-items:center; justify-content:space-between; }
.hero-index{ font-family:var(--serif); font-style:italic; color:rgba(246,242,234,.75); font-size:1rem; }
.hero-dots{ display:flex; gap:12px; }
.hero-dots button{ width:36px; height:2px; background:rgba(246,242,234,.3); border:0; padding:0; transition:background .5s; }
.hero-dots button.active{ background:var(--gold-soft); }

/* page hero: titolo su avorio + foto larga sotto */
.page-hero{ padding-top:calc(var(--header-h) + clamp(70px,11vw,150px)); }
.page-hero .tag{ display:flex; align-items:center; gap:.9em; margin-bottom:1.8rem; }
.page-hero .tag::before{ content:""; width:36px; height:1px; background:var(--gold); }
.page-hero h1{ max-width:15ch; }
.page-hero .sub{ margin-top:2rem; max-width:74ch; color:var(--ink-2); font-size:clamp(1.05rem,1.4vw,1.3rem); font-weight:300; }
.page-hero .ph-media{ margin-top:clamp(48px,7vw,90px); aspect-ratio:21/9; overflow:hidden; border-radius:6px; }
.page-hero .ph-media .bg{ width:100%; height:100%; background-size:cover; background-position:center; transform:scale(1.05); animation:kb 12s var(--ease) forwards; }
@keyframes kb{ to{ transform:scale(1); } }

/* ============================================================
   MANIFESTO (statement + discipline)
   ============================================================ */
.manifesto{ }
.manifesto .big{ font-family:var(--serif); font-weight:300; font-size:clamp(1.8rem,4vw,3.4rem); line-height:1.16;
  letter-spacing:-.01em; max-width:22ch; }
.manifesto .big em{ color:var(--gold); }

.disciplines{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.discipline{ background:var(--paper); padding:clamp(2rem,3vw,3.2rem); display:flex; flex-direction:column; min-height:300px; transition:background .5s var(--ease); }
.discipline:hover{ background:var(--cream); }
.discipline h3{ font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:300; margin:0 0 .8rem; }
.discipline p{ color:var(--muted); font-size:.98rem; margin-bottom:1.4rem; }
.discipline .link{ margin-top:auto; }
@media (max-width:860px){ .disciplines{ grid-template-columns:1fr; } .discipline{ min-height:auto; } }

/* ============================================================
   WORKS · griglia progetti (foto protagoniste)
   ============================================================ */
.works{ display:grid; gap:clamp(24px,3vw,48px) clamp(18px,2vw,32px); }
.works-2{ grid-template-columns:repeat(2,1fr); }
.works-3{ grid-template-columns:repeat(3,1fr); }
.work{ display:block; }
.work .frame{ position:relative; overflow:hidden; border-radius:6px; background:var(--paper-2); aspect-ratio:4/5; }
.work--wide .frame{ aspect-ratio:16/10; }
.work--tall .frame{ aspect-ratio:3/4; }
.work .frame img{ width:100%; height:100%; object-fit:cover; transition:transform 1.3s var(--ease); }
.work:hover .frame img{ transform:scale(1.045); }
.work .frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(15,12,9,.4)); opacity:0; transition:opacity .6s; }
.work:hover .frame::after{ opacity:1; }
.work .cap{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-top:1.2rem; }
.work .cap .t{ font-family:var(--serif); font-weight:400; font-size:clamp(1.15rem,1.6vw,1.5rem); line-height:1.15; }
.work .cap .k{ font-family:var(--sans); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.work .disc{ font-family:var(--serif); font-style:italic; color:var(--gold); font-size:.92rem; margin-top:.3rem; }

/* featured: un progetto grande a tutta larghezza */
.feature{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(30px,5vw,80px); align-items:center; }
.feature--rev .feature-media{ order:2; }
.feature-media{ overflow:hidden; border-radius:6px; }
.feature-media img{ width:100%; aspect-ratio:5/4; object-fit:cover; transition:transform 1.4s var(--ease); }
.feature:hover .feature-media img{ transform:scale(1.04); }
.feature-media--logo{ background:#fff; display:flex; align-items:center; justify-content:center; padding:clamp(28px,5vw,64px); }
.feature-media--logo img{ aspect-ratio:auto; max-height:220px; object-fit:contain; }
.feature:hover .feature-media--logo img{ transform:none; }
.feature-body{ max-width:46ch; }
.feature-body .tag{ display:flex; align-items:center; gap:.8em; margin-bottom:1.4rem; }
.feature-body .tag::before{ content:""; width:30px; height:1px; background:var(--gold); }
@media (max-width:860px){ .feature{ grid-template-columns:1fr; gap:28px; } .feature--rev .feature-media{ order:0; } }

/* ============================================================
   GALLERY · griglia foto (opere) + lightbox
   ============================================================ */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,24px); }
.g-item{ overflow:hidden; cursor:pointer; position:relative; background:var(--paper-2); border-radius:5px; }
.g-item::before{ content:""; display:block; padding-top:118%; }
.g-item img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.g-item:hover img{ transform:scale(1.05); }
@media (max-width:860px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .gallery-grid{ grid-template-columns:1fr; } }

/* ============================================================
   RACING · video con poster + griglia su fondo scuro
   ============================================================ */
.section--coal .tag{ color:var(--gold-soft); }
.section--coal .head p{ color:rgba(246,242,234,.62); }
.section--coal .g-item{ background:rgba(246,242,234,.06); }
.section--coal .num-i{ color:rgba(246,242,234,.5); }

.racing-credit{ margin:-2rem 0 clamp(48px,6vw,80px); }
.videos{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,2.4vw,36px); margin-bottom:clamp(20px,2.4vw,36px); }
.vfig{ margin:0; }
.vfig video{ width:100%; aspect-ratio:16/9; display:block; background:#000; border-radius:5px; object-fit:cover; }
.vfig figcaption{ margin-top:1.1rem; }
.vfig figcaption h3{ margin:.2rem 0 0; font-size:clamp(1.2rem,2vw,1.6rem); font-weight:400; }
@media (max-width:860px){ .videos{ grid-template-columns:1fr; } }

.lightbox{ position:fixed; inset:0; z-index:200; background:rgba(20,16,12,.97); display:none; align-items:center; justify-content:center; opacity:0; transition:opacity .45s; }
.lightbox.open{ display:flex; opacity:1; }
.lightbox img{ max-width:90vw; max-height:85vh; object-fit:contain; border-radius:4px; }
.lb-close,.lb-prev,.lb-next{ position:absolute; background:none; border:0; color:rgba(246,242,234,.75); transition:color .3s; z-index:2; font-family:var(--serif); }
.lb-close{ top:26px; right:32px; font-size:2rem; }
.lb-prev,.lb-next{ top:50%; transform:translateY(-50%); font-size:2.8rem; padding:0 26px; font-style:normal; }
.lb-prev{ left:8px; } .lb-next{ right:8px; }
.lb-close:hover,.lb-prev:hover,.lb-next:hover{ color:var(--gold-soft); }
.lb-counter{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%); font-family:var(--serif); font-style:italic; font-size:.9rem; color:rgba(246,242,234,.6); }

/* ============================================================
   QUOTE / AMBASSADOR (blocco scuro materico)
   ============================================================ */
.quote{ background:var(--coal); color:var(--paper); }
.quote .wrap{ max-width:1240px; }
.quote .tag{ color:var(--gold-soft); }
.quote p{ font-family:var(--serif); font-weight:300; font-size:clamp(1.5rem,3vw,2.6rem); line-height:1.28; letter-spacing:-.01em; color:var(--paper); margin:1.6rem 0 0; }
.quote .who{ margin-top:2rem; font-family:var(--sans); font-size:.8rem; letter-spacing:.06em; color:rgba(246,242,234,.6); }

/* ============================================================
   PEOPLE / CONTACT
   ============================================================ */
.people{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,3vw,48px); max-width:760px; }
.person .ph{ aspect-ratio:4/5; overflow:hidden; border-radius:6px; margin-bottom:1.4rem; background:var(--paper-2); }
.person .ph img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3) contrast(1.02); transition:filter .7s, transform 1.2s var(--ease); }
.person:hover .ph img{ filter:none; transform:scale(1.03); }
.person h3{ font-size:1.6rem; font-weight:400; }
.person .role{ font-family:var(--sans); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin:.5rem 0 1rem; }
.person .info{ font-family:var(--sans); font-size:.94rem; color:var(--ink-2); line-height:1.95; }
.person .info a{ color:var(--ink); border-bottom:1px solid var(--line); }
.person .info a:hover{ border-color:var(--gold); color:var(--gold); }
@media (max-width:860px){ .people{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; } }

.contact-cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,80px); align-items:start; }
@media (max-width:860px){ .contact-cols{ grid-template-columns:1fr; } }

/* ============================================================
   PRESS
   ============================================================ */
.press{ border-top:1px solid var(--line); }
.press-item{ display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1.4rem,3vw,3rem); align-items:center;
  padding:clamp(1.6rem,2.8vw,2.4rem) 0; border-bottom:1px solid var(--line); transition:padding-left .5s var(--ease); }
.press-item:hover{ padding-left:1.2rem; }
.press-item .num-i{ white-space:nowrap; }
.press-item .src{ font-family:var(--sans); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.press-item .h{ font-family:var(--serif); font-weight:400; font-size:clamp(1.15rem,1.9vw,1.6rem); line-height:1.18; max-width:42ch; }
.press-item .ar{ font-size:1.2rem; color:var(--muted); transition:transform .5s var(--ease); }
.press-item:hover .ar{ transform:translateX(5px); color:var(--gold); }
@media (max-width:640px){ .press-item{ grid-template-columns:auto 1fr; } .press-item .ar{ display:none; } }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--coal); color:rgba(246,242,234,.6); padding-block:clamp(64px,8vw,120px) 40px; }
.site-footer .big{ font-family:var(--serif); font-weight:300; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.01em; line-height:.95; color:var(--paper); margin-bottom:clamp(40px,5vw,64px); }
.site-footer .big em{ color:var(--gold-soft); }
.site-footer .cols{ display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:clamp(24px,3vw,52px); padding-top:clamp(34px,4vw,52px); border-top:1px solid rgba(246,242,234,.14); }
.site-footer h4{ font-family:var(--sans); font-weight:500; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--paper); margin-bottom:1.4rem; }
.site-footer a{ color:rgba(246,242,234,.6); display:block; padding:.32rem 0; font-size:.94rem; transition:color .3s; }
.site-footer a:hover{ color:var(--gold-soft); }
.site-footer .about{ font-size:.94rem; line-height:1.75; max-width:34ch; }
.site-footer .bottom{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:34px; margin-top:34px; border-top:1px solid rgba(246,242,234,.14); font-size:.78rem; color:rgba(246,242,234,.4); flex-wrap:wrap; }
.site-footer .bottom a{ display:inline; }
@media (max-width:860px){ .site-footer .cols{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .site-footer .cols{ grid-template-columns:1fr; } }

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.1s; } .reveal[data-d="2"]{ transition-delay:.2s; } .reveal[data-d="3"]{ transition-delay:.3s; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){ .works-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px){ .nav,.lang{ display:none; } .burger{ display:block; margin-left:auto; } .mobile-nav{ display:flex; } }
@media (max-width:600px){ .works-2,.works-3{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
  .reveal{ opacity:1; transform:none; } .hero-slide .bg,.page-hero .bg{ transform:none!important; }
}
