/* ==========================================================================
   Pride Built Homes concept
   Design language: Modern Clinical (type, spacing, composition, motion)
   Palette: Pride Built Homes lion mark (oxblood / rust over black) plus the
   warm neutrals of their own project photography.
   ========================================================================== */

:root{
  /* Ink family, deepened from the black of their lion mark */
  --ink:            #121316;
  --ink-2:          #1a1c20;
  --ink-3:          #24272c;
  --ink-line:       rgba(255,255,255,0.13);

  /* Light family, warmed to their interior photography */
  --paper:          #ffffff;
  --bone:           #f6f4f1;
  --bone-2:         #ece8e2;
  --line:           #ded8d0;

  /* Accent family, sampled from the lion mark gradient */
  --oxblood:        #7c2d24;
  --oxblood-hover:  #632019;
  --rust:           #8f4a3a;
  --accent-on-dark: #c98072;
  --accent-on-light:#6e2820;

  /* Text */
  --text-dark:        #1a1c20;
  --text-body:        #4a4d52;
  --text-muted:       #6a6d73;
  --text-light:       rgba(255,255,255,0.93);
  --text-light-muted: rgba(255,255,255,0.62);

  /* Type */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body:    'Lora', Georgia, serif;

  /* Layout */
  --wrap:      min(90%, 1180px);
  --wrap-wide: min(94%, 1440px);
  --nav-h:     78px;
  --pad-y:     clamp(4rem, 8vw, 7.5rem);
  --radius:    10px;

  /* Motion */
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--text-body);
  font-family:var(--font-body);
  font-size:clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ width:var(--wrap); margin-inline:auto; }

/* ---------- Type ---------- */
.h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.9rem, 1.15rem + 2.5vw, 3.05rem);
  line-height:1.1;
  letter-spacing:-0.025em;
  color:var(--text-dark);
  margin:0 0 1.1rem;
}
.h2--light{ color:var(--paper); }

.h3{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.35rem, 1.05rem + 1vw, 1.85rem);
  line-height:1.16;
  letter-spacing:-0.02em;
  color:var(--text-dark);
  margin:0 0 .85rem;
}

.eyebrow{
  font-family:var(--font-display);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent-on-dark);
  margin:0 0 1.1rem;
}
.eyebrow--light{ color:var(--accent-on-light); }

.lead{
  font-size:clamp(1.1rem, 1.02rem + 0.35vw, 1.3rem);
  line-height:1.6;
  color:var(--text-dark);
  margin:0 0 1.2rem;
}
.body{ margin:0 0 1.2rem; }
.body--light{ color:var(--text-light-muted); }

.sechead{ max-width:47ch; margin-bottom:clamp(2.2rem, 4vw, 3.4rem); }
.sechead--dark .h2{ color:var(--paper); }
.sechead__sub{ color:var(--text-light-muted); margin:0; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:var(--font-display);
  font-size:.875rem;
  font-weight:500;
  letter-spacing:.01em;
  text-decoration:none;
  padding:.95rem 1.5rem;
  border-radius:999px;
  border:1px solid transparent;
  transition:background-color .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
  min-height:48px;
  cursor:pointer;
}
.btn__dot{
  width:7px; height:7px; border-radius:50%;
  background:currentColor; opacity:.55;
  transition:transform .35s var(--ease), opacity .35s var(--ease);
}
.btn:hover .btn__dot{ transform:translateX(3px) scale(1.25); opacity:1; }

.btn--solid{ background:var(--oxblood); color:#fff; }
.btn--solid:hover{ background:var(--oxblood-hover); }

.btn--ghost{ background:transparent; color:var(--paper); border-color:rgba(255,255,255,0.38); }
.btn--ghost:hover{ border-color:var(--paper); background:rgba(255,255,255,0.08); }

.btn--sm{ padding:.7rem 1.2rem; min-height:44px; font-size:.82rem; }

/* ---------- Nav ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:120;
  background:transparent;
  transition:background-color .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-solid{
  background:rgba(18,19,22,0.96);
  border-bottom-color:var(--ink-line);
  backdrop-filter:saturate(140%) blur(8px);
}
.nav__inner{
  width:var(--wrap-wide); margin-inline:auto;
  min-height:var(--nav-h);
  display:flex; align-items:center; gap:1.5rem;
}
.nav__brand{
  display:flex; align-items:center; gap:.7rem; text-decoration:none; margin-right:auto;
  min-height:44px; padding-block:.4rem;
}
.nav__mark{ width:auto; height:36px; max-width:44px; object-fit:contain; }
.nav__word{
  font-family:var(--font-display);
  font-size:.94rem; font-weight:600; letter-spacing:.03em;
  color:var(--paper);
}
.nav__links{ display:flex; gap:1.9rem; }
.nav__link{
  font-family:var(--font-display);
  font-size:.83rem; font-weight:400; letter-spacing:.03em;
  color:var(--text-light); text-decoration:none;
  position:relative; padding-block:.35rem;
}
.nav__link::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--accent-on-dark); transition:right .4s var(--ease);
}
.nav__link:hover::after{ right:0; }
.nav__cta{ color:#fff; }

.nav__burger{
  display:none;
  width:46px; height:46px;
  background:transparent; border:1px solid rgba(255,255,255,0.28);
  border-radius:999px;
  align-items:center; justify-content:center;
  flex-direction:column; gap:5px;
  cursor:pointer; padding:0;
  position:relative; z-index:150;
}
.nav__burger span{ display:block; width:17px; height:1.5px; background:var(--paper); transition:transform .35s var(--ease), opacity .3s var(--ease); }
.nav__burger.is-open span:nth-child(1){ transform:translateY(3.25px) rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ transform:translateY(-3.25px) rotate(-45deg); }

/* ---------- Mobile menu ---------- */
.mmenu{
  position:fixed; inset:0; z-index:130;
  background:rgba(18,19,22,0.98);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .35s var(--ease);
}
.mmenu.is-open{ opacity:1; pointer-events:auto; }
.mmenu__panel{ width:min(88%, 420px); display:flex; flex-direction:column; gap:.2rem; text-align:left; }
.mmenu__link{
  font-family:var(--font-display);
  font-size:clamp(1.5rem, 6vw, 2rem);
  font-weight:400; letter-spacing:-0.02em;
  color:var(--paper); text-decoration:none;
  padding-block:.55rem;
}
.mmenu__rule{ height:1px; background:var(--ink-line); margin:1.4rem 0 1.2rem; }
.mmenu__phone{
  font-family:var(--font-display); font-size:1rem; color:var(--accent-on-dark);
  text-decoration:none; padding-block:.65rem;
}
.mmenu__cta{ align-self:flex-start; margin-top:.9rem; }

/* ---------- Hero ---------- */
.hero{
  min-height:100vh;
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  background:var(--ink);
  position:relative;
}
.hero__text{
  display:flex; align-items:center;
  padding:calc(var(--nav-h) + clamp(2.5rem,6vw,5rem)) clamp(1.5rem,4vw,4rem) clamp(3rem,6vw,5rem) 0;
  padding-left:calc((100vw - min(94vw, 1440px))/2);
}
.hero__textin{ max-width:34rem; }
.hero__h1{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.5rem, 1.1rem + 4.4vw, 4.35rem);
  line-height:1.02;
  letter-spacing:-0.038em;
  color:var(--paper);
  margin:0 0 1.35rem;
}
.hero__sub{
  font-size:clamp(1.02rem, 0.98rem + 0.3vw, 1.16rem);
  line-height:1.68;
  color:var(--text-light-muted);
  margin:0 0 2.1rem;
  max-width:33rem;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; }

.hero__media{ position:relative; overflow:hidden; }
.hero__img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__media::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to right, var(--ink) 0%, rgba(18,19,22,0.45) 26%, rgba(18,19,22,0) 52%);
}
.hero__tag{
  position:absolute; z-index:3;
  left:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem);
  max-width:calc(100% - 2rem);
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
  background:rgba(18,19,22,0.72);
  border:1px solid var(--ink-line);
  border-radius:999px;
  padding:.5rem 1rem;
  font-family:var(--font-display); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--text-light);
  backdrop-filter:blur(6px);
}
.hero__tagsep{ width:3px; height:3px; border-radius:50%; background:var(--accent-on-dark); }

/* ---------- Credential strip ---------- */
.strip{ background:var(--ink-2); border-top:1px solid var(--ink-line); }
.strip__grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1px; background:var(--ink-line);
  border-left:1px solid var(--ink-line); border-right:1px solid var(--ink-line);
}
.strip__item{
  background:var(--ink-2);
  padding:clamp(1.4rem,2.6vw,2.1rem) clamp(1rem,2vw,1.6rem);
  display:flex; flex-direction:column; gap:.4rem;
}
.strip__label{
  font-family:var(--font-display); font-size:.66rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--accent-on-dark);
}
.strip__val{
  font-family:var(--font-display); font-size:clamp(.95rem,.9rem + .3vw,1.15rem);
  font-weight:400; color:var(--text-light); line-height:1.3;
}

/* ---------- Intro ---------- */
.intro{ background:var(--bone); padding-block:var(--pad-y); }
.intro__grid{
  display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);
  gap:clamp(2rem, 5vw, 4.5rem);
}
.intro__left .h2{ margin-bottom:0; }
.intro__sig{
  display:flex; flex-direction:column; gap:.15rem;
  border-top:1px solid var(--line); padding-top:1.2rem; margin-top:1.8rem;
}
.intro__signame{ font-family:var(--font-display); font-weight:500; font-size:1rem; color:var(--text-dark); }
.intro__sigrole{ font-size:.9rem; color:var(--text-muted); }

/* ---------- What we build ---------- */
.build{ background:var(--paper); padding-block:var(--pad-y); }
.svc{ padding-block:clamp(1.6rem,3.4vw,2.8rem); }
.svc__inner{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.8rem, 4vw, 4rem); align-items:center;
}
.svc--flip .svc__media{ order:2; }
.svc__media{
  border-radius:var(--radius); overflow:hidden;
  box-shadow:0 18px 44px -30px rgba(18,19,22,0.55);
  background:var(--bone-2);
}
.svc__media img{ width:100%; height:clamp(260px, 34vw, 460px); object-fit:cover; }
.svc__num{
  display:block; font-family:var(--font-display); font-size:.72rem; font-weight:500;
  letter-spacing:.2em; color:var(--accent-on-light); margin-bottom:.9rem;
}
.ticks{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.ticks li{ position:relative; padding-left:1.5rem; font-size:.97rem; color:var(--text-body); }
.ticks li::before{
  content:""; position:absolute; left:0; top:.72em;
  width:9px; height:1px; background:var(--rust);
}

/* ---------- Project index ---------- */
.work{ background:var(--ink); padding-block:var(--pad-y); }
.filters{
  display:flex; gap:.5rem; flex-wrap:wrap;
  margin-bottom:clamp(1.4rem,2.6vw,2.2rem);
}
.pill{
  font-family:var(--font-display); font-size:.79rem; font-weight:400; letter-spacing:.02em;
  color:var(--text-light-muted);
  background:transparent; border:1px solid var(--ink-line);
  border-radius:999px; padding:.6rem 1.05rem; min-height:44px;
  cursor:pointer; transition:color .3s var(--ease), border-color .3s var(--ease), background-color .3s var(--ease);
}
.pill:hover{ color:var(--paper); border-color:rgba(255,255,255,0.32); }
.pill.is-active{ background:var(--oxblood); border-color:var(--oxblood); color:#fff; }

.proj{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(1.6rem,3.5vw,3.2rem); align-items:start;
}
.proj__list{ display:flex; flex-direction:column; border-top:1px solid var(--ink-line); }
.proj__row{
  display:flex; align-items:baseline; gap:1rem;
  width:100%; text-align:left;
  background:transparent; border:0; border-bottom:1px solid var(--ink-line);
  padding:1.15rem .4rem 1.15rem 0;
  cursor:pointer; color:var(--text-light);
  transition:background-color .3s var(--ease), padding-left .35s var(--ease);
  font-family:var(--font-body);
}
.proj__row:hover{ background:rgba(255,255,255,0.035); padding-left:.6rem; }
.proj__row.is-active{ background:rgba(255,255,255,0.05); padding-left:.6rem; }
.proj__row.is-hidden{ display:none; }
.proj__n{
  font-family:var(--font-display); font-size:.72rem; font-weight:500; letter-spacing:.14em;
  color:var(--accent-on-dark); flex:0 0 auto; min-width:1.8rem;
}
.proj__main{ display:flex; flex-direction:column; gap:.3rem; min-width:0; flex:1 1 auto; }
.proj__name{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.05rem, 0.95rem + 0.45vw, 1.32rem);
  letter-spacing:-0.015em; color:var(--paper); line-height:1.2;
}
.proj__meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:.5rem;
  font-size:.82rem; color:var(--text-light-muted); line-height:1.4;
}
.proj__dot{ width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.4); }
.proj__thumb{ display:none; }

.proj__stage{ position:sticky; top:calc(var(--nav-h) + 1.6rem); }
.proj__frame{
  border-radius:var(--radius); overflow:hidden; background:var(--ink-3);
  box-shadow:0 26px 60px -34px rgba(0,0,0,0.9);
}
.proj__frame img{
  width:100%; height:clamp(340px, 46vw, 660px); object-fit:cover;
  transition:opacity .35s var(--ease);
}
.proj__frame.is-fading img{ opacity:0; }
.proj__caption{
  margin:.95rem 0 0;
  font-family:var(--font-display); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text-light-muted);
}

/* ---------- Down Home Fab ---------- */
.show{ background:var(--bone); padding-block:var(--pad-y); }
.show__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,4.5rem); align-items:center;
}
.show__body .btn{ margin-top:.6rem; }
.show__media{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  grid-template-rows:auto auto;
  gap:clamp(.7rem,1.4vw,1.1rem);
}
.show__fig{ margin:0; border-radius:var(--radius); overflow:hidden; background:var(--bone-2); box-shadow:0 16px 40px -30px rgba(18,19,22,0.6); }
.show__fig img{ width:100%; height:100%; object-fit:cover; }
.show__fig--a{ grid-row:span 2; }
.show__fig--a img{ height:clamp(300px, 40vw, 520px); }
.show__fig--b img,.show__fig--c img{ height:clamp(140px, 19vw, 250px); }

/* ---------- Testimonials ---------- */
.quotes{ background:var(--ink-2); padding-block:var(--pad-y); }
.quotes__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);
}
.qcard{
  margin:0; background:var(--ink-3); border:1px solid var(--ink-line);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.6vw,2.2rem);
  display:flex; flex-direction:column; gap:1.2rem;
}
.qcard blockquote{
  margin:0; font-size:1rem; line-height:1.7; color:var(--text-light);
  font-style:italic;
}
.qcard figcaption{
  font-family:var(--font-display); font-size:.85rem; font-weight:500; color:var(--paper);
  display:flex; flex-wrap:wrap; gap:.5rem; align-items:baseline;
  border-top:1px solid var(--ink-line); padding-top:1.1rem; margin-top:auto;
}
.qcard figcaption span{ font-weight:400; font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; color:var(--text-light-muted); }

/* ---------- Team ---------- */
.team{ background:var(--bone); padding-block:var(--pad-y); }
.team__grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.tcard{
  background:var(--bone); padding:clamp(1.4rem,2.4vw,2rem);
  display:flex; flex-direction:column; gap:.3rem;
}
.tcard__name{ font-family:var(--font-display); font-weight:500; font-size:1.08rem; color:var(--text-dark); }
.tcard__role{ font-size:.9rem; color:var(--text-muted); }
.tcard__mail{
  font-size:.85rem; color:var(--accent-on-light); text-decoration:none;
  margin-top:.4rem; word-break:break-word;
  display:flex; align-items:center; min-height:44px; padding-block:.3rem;
}
.tcard__mail:hover{ text-decoration:underline; }

/* ---------- CTA ---------- */
.cta{ background:var(--ink); padding-block:var(--pad-y); }
.cta__grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:clamp(2rem,5vw,4.5rem);
}
.cta__btns{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.cta__right{ display:flex; flex-direction:column; gap:1rem; }
.ccard{
  background:var(--ink-2); border:1px solid var(--ink-line); border-radius:var(--radius);
  padding:clamp(1.2rem,2.2vw,1.6rem);
  display:flex; flex-direction:column; gap:.25rem;
}
.ccard__label{
  font-family:var(--font-display); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--accent-on-dark);
  margin-bottom:.35rem;
}
.ccard__role{ font-size:.86rem; color:var(--text-light-muted); margin-bottom:.4rem; }
.ccard__addr{ font-style:normal; color:var(--text-light); line-height:1.6; }
.ccard a{ color:var(--text-light); text-decoration:none; padding-block:.3rem; }
.ccard a:hover{ color:var(--accent-on-dark); }

/* ---------- Footer ---------- */
.foot{ background:var(--ink-2); border-top:1px solid var(--ink-line); padding-top:clamp(3rem,6vw,4.5rem); }
.foot__grid{
  display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3, minmax(0,1fr));
  gap:clamp(1.6rem,3vw,3rem);
  padding-bottom:clamp(2.4rem,4vw,3.4rem);
}
.foot__mark{ width:auto; height:44px; max-width:52px; object-fit:contain; margin-bottom:.8rem; }
.foot__word{ display:block; font-family:var(--font-display); font-weight:600; font-size:1rem; letter-spacing:.03em; color:var(--paper); }
.foot__note{ margin:.8rem 0 0; font-size:.88rem; color:var(--text-light-muted); max-width:34ch; }
.foot__label{
  display:block; font-family:var(--font-display); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--accent-on-dark); margin-bottom:.9rem;
}
.foot__nav,.foot__col{ display:flex; flex-direction:column; }
.foot__nav a,.foot__col a,.foot__col address{
  font-size:.9rem; color:var(--text-light-muted); text-decoration:none;
  padding-block:.4rem; font-style:normal; line-height:1.55;
}
.foot__nav a:hover,.foot__col a:hover{ color:var(--paper); }
.foot__base{
  display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; justify-content:space-between;
  border-top:1px solid var(--ink-line);
  padding-block:1.4rem;
  font-family:var(--font-display); font-size:.76rem; letter-spacing:.04em;
  color:var(--text-light-muted);
}

/* ---------- 404 ---------- */
.err{
  min-height:100vh; min-height:100svh;
  background:var(--ink);
  display:flex; align-items:center;
  padding-top:var(--nav-h);
}
.err__code{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(4.5rem, 14vw, 10rem); line-height:1;
  color:rgba(201,128,114,0.22); letter-spacing:-0.05em; margin:0 0 .6rem;
}
.err__title{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.7rem, 1.1rem + 2.2vw, 2.6rem);
  line-height:1.12; letter-spacing:-0.025em; color:var(--paper); margin:0 0 1rem;
}
.err__body{ color:var(--text-light-muted); max-width:48ch; margin:0 0 2rem; }

/* ---------- Reveal ---------- */
html.js .reveal{ opacity:0; transform:translateY(18px); }
@media (prefers-reduced-motion: reduce){
  html.js .reveal{ opacity:1 !important; transform:none !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:1024px){
  .nav__links{ display:none; }
  .nav__cta{ display:none; }
  .nav__burger{ display:flex; }

  .hero{ grid-template-columns:minmax(0,1fr); min-height:auto; }
  .hero__text{
    order:2;
    padding:clamp(2.5rem,7vw,3.5rem) 0 clamp(2.8rem,7vw,3.5rem);
    padding-left:0;
    width:var(--wrap); margin-inline:auto;
  }
  .hero__media{ order:1; height:clamp(340px, 62svh, 560px); padding-top:var(--nav-h); background:var(--ink); }
  .hero__media::before{
    background:linear-gradient(to bottom, rgba(18,19,22,0.85) 0%, rgba(18,19,22,0.15) 38%, rgba(18,19,22,0) 60%);
  }
  .hero__textin{ max-width:none; }

  .intro__grid,
  .svc__inner,
  .show__grid,
  .cta__grid,
  .proj{ grid-template-columns:minmax(0,1fr); }
  .svc--flip .svc__media{ order:0; }

  .proj__stage{ display:none; }
  .proj__row{ align-items:center; }
  .proj__thumb{
    display:block; flex:0 0 auto;
    width:clamp(88px, 22vw, 132px);
    border-radius:8px; overflow:hidden; background:var(--ink-3);
  }
  .proj__thumb img{ width:100%; height:clamp(66px, 16vw, 96px); object-fit:cover; }

  .team__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .foot__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width:768px){
  .strip__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .quotes__grid{ grid-template-columns:minmax(0,1fr); }
  .show__media{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .show__fig--a{ grid-row:span 1; grid-column:span 2; }
  .show__fig--a img{ height:clamp(240px, 52vw, 340px); }
  .show__fig--b img,.show__fig--c img{ height:clamp(130px, 30vw, 190px); }
  .svc__media img{ height:clamp(230px, 52vw, 340px); }

  .filters{
    flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding-bottom:2px;
  }
  .filters::-webkit-scrollbar{ display:none; }
  .filters > *{ flex-shrink:0; }
}

@media (max-width:600px){
  .team__grid{ grid-template-columns:minmax(0,1fr); }
  .foot__grid{ grid-template-columns:minmax(0,1fr); }
  .foot__nav a,.foot__col a{ padding-block:.65rem; }
  .foot__base{ justify-content:flex-start; }
}

@media (max-width:480px){
  .strip__grid{ grid-template-columns:minmax(0,1fr); }
  .hero__cta .btn,.cta__btns .btn{ width:100%; justify-content:center; }
  .nav__word{ font-size:.84rem; }
  .nav__mark{ height:30px; }
  .proj__meta{ font-size:.76rem; }
  .proj__thumb{ width:84px; }
}
