/* ============================================================
   AVERRA — Dark Cinematic Edition
   Bodoni Moda · Manrope
   ============================================================ */

:root{
  --obsidian:#0A0908;
  --graphite:#15130F;
  --slate:#1F1C17;
  --ivory:#EDE3CF;
  --ivory-soft:#D2C9B4;
  --ivory-dim:#8C836F;
  --brass:#C49C5C;
  --brass-deep:#8E7038;
  --brass-soft:#E2C99B;
  --line:rgba(237, 227, 207, 0.12);
  --line-soft:rgba(237, 227, 207, 0.06);

  --serif:'Bodoni Moda', 'Didot', serif;
  --sans:'Manrope', system-ui, sans-serif;

  --easing:cubic-bezier(.2,.8,.25,1);
  --slow:1.2s;
  --med:.6s;
  --fast:.3s;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--obsidian)}
body{
  font-family:var(--sans);
  background:var(--obsidian);
  color:var(--ivory);
  font-size:16px;
  line-height:1.65;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  letter-spacing:0.005em;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}

/* ============ FILM GRAIN ============ */
body::before{
  content:"";
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .25 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  pointer-events:none;
  z-index:99;
  opacity:.4;
  mix-blend-mode:overlay;
}

/* ============ CONTAINER ============ */
.container{max-width:1480px;margin:0 auto;padding:0 56px}
.container-tight{max-width:1100px;margin:0 auto;padding:0 56px}

/* ============ TYPOGRAPHY UTILITIES ============ */
.serif{font-family:var(--serif);font-weight:400}
.eyebrow{
  font-family:var(--sans);
  font-size:0.72rem;font-weight:500;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--brass);
  display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::before{
  content:"";display:block;width:30px;height:1px;background:var(--brass);
}
.eyebrow.center{justify-content:center}
.eyebrow.no-bar{display:inline-block}
.eyebrow.no-bar::before{display:none}

.chapter{
  font-family:var(--serif);
  font-style:italic;
  font-size:0.95rem;
  color:var(--brass);
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.title-xxl{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(3.8rem,9vw,9rem);
  line-height:0.92;
  letter-spacing:-0.025em;
}
.title-xxl em{font-style:italic;font-weight:400}

.title-xl{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2.8rem,6vw,5.6rem);
  line-height:0.98;
  letter-spacing:-0.02em;
}
.title-xl em{font-style:italic}

.title-lg{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2.2rem,4.4vw,3.8rem);
  line-height:1.05;
  letter-spacing:-0.015em;
}
.title-lg em{font-style:italic}

.title-md{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1.1;
  letter-spacing:-0.01em;
}
.title-md em{font-style:italic}

.lede{
  font-size:1.15rem;line-height:1.55;font-weight:300;
  color:var(--ivory-soft);max-width:54ch;
}
.body{
  font-size:1.04rem;line-height:1.75;font-weight:300;
  color:var(--ivory-soft);max-width:64ch;
}
.body p+p{margin-top:18px}

/* ============ BUTTONS / LINKS ============ */
.btn{
  display:inline-flex;align-items:center;gap:18px;
  padding:18px 32px;
  border:1px solid var(--ivory);
  font-family:var(--sans);
  font-size:0.78rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ivory);
  transition:background .35s var(--easing),color .35s var(--easing),border-color .35s;
  position:relative;overflow:hidden;
}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--ivory);
  transform:translateY(101%);transition:transform .45s var(--easing);
  z-index:-1;
}
.btn:hover::before{transform:translateY(0)}
.btn:hover{color:var(--obsidian);border-color:var(--ivory)}
.btn .arrow{display:inline-block;transition:transform .35s var(--easing)}
.btn:hover .arrow{transform:translateX(6px)}

.btn-brass{border-color:var(--brass);color:var(--brass)}
.btn-brass::before{background:var(--brass)}
.btn-brass:hover{color:var(--obsidian)}

.btn-ghost{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--sans);font-size:0.78rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ivory);
  padding-bottom:8px;border-bottom:1px solid var(--ivory);
  transition:color .3s,border-color .3s,gap .3s;
}
.btn-ghost:hover{color:var(--brass);border-bottom-color:var(--brass);gap:22px}

/* ============ NAV ============ */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:28px 0;
  transition:padding .4s var(--easing),background .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
.site-nav.scrolled{
  padding:18px 0;
  background:rgba(10,9,8,0.84);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
}
.nav-inner{
  max-width:1480px;margin:0 auto;padding:0 56px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;
}
.brand{
  font-family:var(--serif);font-style:italic;
  font-size:1.7rem;font-weight:400;
  color:var(--ivory);line-height:1;letter-spacing:-0.01em;
}
.brand .ampersand{color:var(--brass)}

.nav-links{
  display:flex;gap:40px;align-items:center;justify-self:end;
  grid-column:3;
}
.nav-links a{
  position:relative;
  font-family:var(--sans);font-size:0.74rem;font-weight:500;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--ivory-soft);
  padding:6px 0;
  transition:color .3s;
}
.nav-links a:hover{color:var(--ivory)}
.nav-links a.is-active{color:var(--brass)}
.nav-links a.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:1px;background:var(--brass);
}
.nav-links a.nav-cta{
  color:var(--brass);
}
.nav-links a.nav-cta::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:1px;background:var(--brass);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--easing);
}
.nav-links a.nav-cta:hover::after{transform:scaleX(1)}

.brand{justify-self:start}

.nav-toggle{
  display:none;
  width:38px;height:38px;
  position:relative;
  justify-self:end;
}
.nav-toggle span{
  display:block;width:22px;height:1px;background:var(--ivory);
  position:absolute;left:8px;
  transition:transform .35s,top .35s;
}
.nav-toggle span:nth-child(1){top:14px}
.nav-toggle span:nth-child(2){top:22px}
.nav-toggle.open span:nth-child(1){top:18px;transform:rotate(45deg)}
.nav-toggle.open span:nth-child(2){top:18px;transform:rotate(-45deg)}

.menu-overlay{
  position:fixed;inset:0;z-index:40;
  background:var(--obsidian);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .5s var(--easing);
}
.menu-overlay.open{opacity:1;pointer-events:auto}
.menu-list{
  display:flex;flex-direction:column;gap:32px;
  text-align:center;
  padding:0 32px;
}
.menu-list a{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(2.4rem,8vw,4.2rem);
  color:var(--ivory);line-height:1;letter-spacing:-0.01em;
  transition:color .3s,transform .3s;
  display:inline-block;
}
.menu-list a:hover{color:var(--brass);transform:translateX(8px)}
.menu-list a .num{
  font-family:var(--sans);font-style:normal;
  font-size:0.6rem;font-weight:500;letter-spacing:0.2em;
  color:var(--brass);vertical-align:super;margin-right:14px;
}
.menu-meta{
  position:absolute;bottom:48px;left:0;right:0;
  text-align:center;
  font-family:var(--sans);font-size:0.72rem;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ivory-dim);
}

/* ============ HERO (HOME) ============ */
.hero{
  position:relative;height:100vh;min-height:720px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('https://averra.ca/wp-content/uploads/2021/10/2018-E19-Exterior-Rear-Twilight-scaled.jpg');
  background-size:cover;background-position:center 50%;
  transform:scale(1.06);
  animation:slowKen 24s ease-in-out infinite alternate;
}
@keyframes slowKen{
  0%{transform:scale(1.04) translateY(0)}
  100%{transform:scale(1.14) translateY(-2%)}
}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,9,8,0.55) 0%, rgba(10,9,8,0.15) 30%, rgba(10,9,8,0.4) 70%, rgba(10,9,8,0.95) 100%);
}
.hero-shade-vertical{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(10,9,8,0.45) 0%, rgba(10,9,8,0) 25%, rgba(10,9,8,0) 75%, rgba(10,9,8,0.45) 100%);
}

.hero-content{
  position:relative;z-index:2;
  max-width:1100px;padding:80px 32px 0;
  animation:heroIn 1.4s var(--easing) .3s both;
}
.hero-content .chapter{
  text-shadow:0 1px 12px rgba(10,9,8,0.6);
}
@keyframes heroIn{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
.hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(3.2rem,9.5vw,9.5rem);
  line-height:0.92;letter-spacing:-0.025em;
  color:var(--ivory);
  margin:32px 0 36px;
}
.hero h1 em{font-style:italic;color:var(--brass-soft)}

.hero-tag{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.1rem,1.6vw,1.4rem);
  color:var(--ivory-soft);letter-spacing:0.01em;
  max-width:34ch;margin:0 auto;
  line-height:1.6;
}

.hero-base{
  position:absolute;bottom:32px;left:0;right:0;z-index:2;
  padding:0 56px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ivory-soft);
}
.hero-base .scroll{display:flex;flex-direction:column;align-items:center;gap:14px}
.hero-base .scroll-line{
  width:1px;height:60px;background:rgba(237,227,207,.25);
  position:relative;overflow:hidden;
}
.hero-base .scroll-line::after{
  content:"";position:absolute;left:0;top:0;width:100%;height:35%;
  background:var(--brass);
  animation:scrollDown 2.6s cubic-bezier(.6,0,.4,1) infinite;
}
@keyframes scrollDown{
  0%{top:-35%}50%{top:55%}100%{top:130%}
}

/* ============ HERO INNER (other pages) ============ */
.hero-inner{
  position:relative;
  padding:200px 0 100px;
  text-align:center;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero-inner-bg{
  position:absolute;inset:0;
  opacity:0.55;
  background-size:cover;background-position:center;
  filter:saturate(0.9) contrast(0.95);
}
.hero-inner-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,9,8,0.55) 0%, rgba(10,9,8,0.30) 35%, rgba(10,9,8,0.45) 70%, rgba(10,9,8,0.85) 100%);
}
.hero-inner-content{position:relative;z-index:2}
.hero-inner h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(3rem,7.5vw,7.5rem);
  line-height:0.94;letter-spacing:-0.025em;
  color:var(--ivory);
  margin:24px 0 28px;
}
.hero-inner h1 em{font-style:italic;color:var(--brass-soft)}
.hero-inner .lede{margin:0 auto;text-align:center}

/* ============ SECTIONS ============ */
section{position:relative}

.section{padding:140px 0}
.section-divider{
  height:1px;background:var(--line);
  max-width:1480px;margin:0 auto;
}
.section-spaced{padding:160px 0}

/* ============ HOME — INTRO BLOCK ============ */
.intro-block{padding:140px 0 100px}
.intro-grid{
  display:grid;grid-template-columns:1fr 2fr;gap:120px;align-items:start;
}
.intro-side{position:sticky;top:120px}
.intro-side .eyebrow{margin-bottom:24px}
.intro-side .ref-num{
  font-family:var(--serif);font-style:italic;
  font-size:5rem;color:var(--brass);line-height:0.9;letter-spacing:-0.04em;
  margin-top:32px;
}
.intro-side .ref-meta{
  font-family:var(--sans);font-size:0.74rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ivory-dim);
  margin-top:16px;line-height:2;
}
.intro-side .ref-meta span{display:block}

/* ============ HOME — SERVICES PREVIEW ============ */
.services-preview{
  padding:120px 0 140px;
  border-top:1px solid var(--line);
}
.services-preview-head{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;
  margin-bottom:80px;
}
.services-tiles{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
}
.tile{
  position:relative;display:block;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--graphite);
}
.tile-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform 1.4s var(--easing);
  filter:saturate(0.85) brightness(0.7);
}
.tile:hover .tile-img{transform:scale(1.06);filter:saturate(1) brightness(0.85)}
.tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(10,9,8,0.92) 100%);
}
.tile-cap{
  position:absolute;left:24px;right:24px;bottom:24px;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
}
.tile-cap .num{
  font-family:var(--serif);font-style:italic;
  font-size:0.95rem;color:var(--brass);
  letter-spacing:0.04em;
}
.tile-cap h3{
  font-family:var(--serif);font-style:italic;
  font-size:1.65rem;font-weight:400;line-height:1;
  color:var(--ivory);letter-spacing:-0.01em;
}

/* ============ HOME — FEATURED PROJECT ============ */
.featured{
  padding:140px 0 160px;
}
.featured-frame{
  position:relative;
  aspect-ratio:21/9;min-height:520px;
  overflow:hidden;
}
.featured-frame img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s var(--easing);
}
.featured-frame:hover img{transform:scale(1.04)}
.featured-frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,9,8,0.2) 0%, rgba(10,9,8,0) 30%, rgba(10,9,8,0) 60%, rgba(10,9,8,0.7) 100%);
}
.featured-cap{
  position:absolute;left:48px;right:48px;bottom:48px;z-index:2;
  display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;
}
.featured-cap .info h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,3.6vw,3rem);
  color:var(--ivory);line-height:1;letter-spacing:-0.015em;
}
.featured-cap .info h3 em{font-style:italic;color:var(--brass-soft)}
.featured-cap .info .meta{
  font-family:var(--sans);font-size:0.74rem;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--ivory-soft);
  margin-top:14px;
}
.featured-head{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;
  margin-bottom:48px;
}

/* ============ HOME — END CTA ============ */
.end-cta{
  padding:160px 0 200px;
  text-align:center;
  border-top:1px solid var(--line);
  position:relative;
}
.end-cta .eyebrow{margin-bottom:32px}
.end-cta h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.8rem,7vw,7rem);
  line-height:0.95;letter-spacing:-0.025em;
  color:var(--ivory);
  max-width:14ch;margin:0 auto 56px;
}
.end-cta h2 em{font-style:italic;color:var(--brass-soft)}
.end-cta-decor{
  position:absolute;left:50%;top:40%;transform:translateX(-50%);
  font-family:var(--serif);font-style:italic;
  font-size:30rem;line-height:1;
  color:rgba(196,156,92,0.04);letter-spacing:-0.04em;
  pointer-events:none;user-select:none;z-index:0;
}
.end-cta-content{position:relative;z-index:1}

/* ============ SERVICES PAGE ============ */
.svc-block{
  padding:140px 0;
  border-bottom:1px solid var(--line);
}
.svc-block:last-of-type{border-bottom:none}
.svc-block-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.svc-block.reverse .svc-block-grid{direction:rtl}
.svc-block.reverse .svc-block-grid > *{direction:ltr}
.svc-block-img{
  position:relative;aspect-ratio:4/5;
  overflow:hidden;
  background:var(--graphite);
}
.svc-block-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--easing);
}
.svc-block:hover .svc-block-img img{transform:scale(1.04)}
.svc-block-text .ref{
  font-family:var(--serif);font-style:italic;
  font-size:5rem;color:var(--brass);line-height:0.9;
  letter-spacing:-0.04em;margin-bottom:36px;
  display:inline-block;position:relative;
  padding-bottom:18px;
}
.svc-block-text .ref::after{
  content:"";position:absolute;left:0;bottom:0;
  width:60px;height:1px;background:var(--brass);
}
.svc-block-text h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.4rem,4.5vw,4rem);
  line-height:1;letter-spacing:-0.02em;color:var(--ivory);
  margin-bottom:36px;
}
.svc-block-text h2 em{font-style:italic;color:var(--brass-soft)}
.svc-block-text .desc{
  font-family:var(--serif);font-style:italic;
  font-size:1.5rem;line-height:1.5;color:var(--ivory);
  max-width:42ch;margin-bottom:48px;
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}
.svc-block-text .body{margin-bottom:36px}

/* ============ WORK PAGE ============ */
.work-grid{
  padding:80px 0 120px;
}
.work-grid-inner{
  display:grid;grid-template-columns:repeat(12, 1fr);gap:14px;
}
.proj-card{
  position:relative;display:block;
  background:var(--graphite);
  overflow:hidden;
}
.proj-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--easing),filter .5s;
  filter:saturate(0.9) brightness(0.85);
}
.proj-card:hover img{transform:scale(1.04);filter:saturate(1) brightness(1)}
.proj-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(10,9,8,0.85) 100%);
  opacity:0;transition:opacity .4s;
}
.proj-card:hover::after{opacity:1}
.proj-info{
  position:absolute;left:24px;right:24px;bottom:20px;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  opacity:0;transform:translateY(8px);
  transition:opacity .4s,transform .4s;
}
.proj-card:hover .proj-info{opacity:1;transform:translateY(0)}
.proj-info .ttl{
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;color:var(--ivory);line-height:1;
}
.proj-info .meta{
  font-family:var(--sans);font-size:0.7rem;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--brass-soft);
}

.w1{grid-column:span 7;aspect-ratio:16/9}
.w2{grid-column:span 5;aspect-ratio:4/5}
.w3{grid-column:span 5;aspect-ratio:4/5}
.w4{grid-column:span 7;aspect-ratio:16/9}
.w5{grid-column:span 4;aspect-ratio:1/1}
.w6{grid-column:span 4;aspect-ratio:1/1}
.w7{grid-column:span 4;aspect-ratio:1/1}
.w8{grid-column:span 6;aspect-ratio:4/3}
.w9{grid-column:span 6;aspect-ratio:4/3}

/* ============ ABOUT PAGE ============ */
.philosophy{
  padding:140px 0 160px;
  border-bottom:1px solid var(--line);
}
.philosophy-grid{
  display:grid;grid-template-columns:1fr 2fr;gap:120px;align-items:start;
}
.philosophy-side{position:sticky;top:120px}
.philosophy-side .eyebrow{margin-bottom:32px}
.philosophy-side .quote{
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;color:var(--brass-soft);line-height:1.4;
  margin-top:32px;
  border-left:1px solid var(--brass);padding-left:20px;
}
.philosophy-statement{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.2rem,4vw,3.4rem);
  line-height:1.15;letter-spacing:-0.015em;color:var(--ivory);
  margin-bottom:48px;
}
.philosophy-statement em{font-style:italic;color:var(--brass-soft)}

.process-list{
  padding:120px 0 140px;
  border-bottom:1px solid var(--line);
}
.process-head{
  text-align:center;margin-bottom:96px;
}
.process-head .eyebrow{margin-bottom:24px}
.process-rows{display:flex;flex-direction:column}
.process-row{
  display:grid;grid-template-columns:120px 1fr 1.5fr;gap:64px;
  padding:56px 0;
  border-top:1px solid var(--line);
  align-items:start;
  transition:background .4s;
}
.process-row:last-child{border-bottom:1px solid var(--line)}
.process-row:hover{background:rgba(196,156,92,0.03)}
.process-row .num{
  font-family:var(--serif);font-style:italic;
  font-size:3.6rem;color:var(--brass);line-height:0.9;letter-spacing:-0.04em;
}
.process-row .ttl{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.8rem,2.8vw,2.4rem);
  line-height:1.1;letter-spacing:-0.015em;color:var(--ivory);
}
.process-row .ttl em{font-style:italic}
.process-row .desc{
  font-size:1.02rem;line-height:1.75;color:var(--ivory-soft);
  font-weight:300;
}

.partners-bar{
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.partners-bar-inner{
  display:flex;align-items:center;justify-content:space-between;gap:48px;
}
.partners-bar .eyebrow{flex-shrink:0}
.partners-list{
  display:flex;align-items:center;gap:64px;flex-wrap:wrap;
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;color:var(--ivory-soft);
}
.partners-list span{transition:color .3s}
.partners-list span:hover{color:var(--brass-soft)}

/* ============ CONTACT PAGE ============ */
.contact-block{
  padding:140px 0;
  position:relative;
}
.contact-grid{
  display:grid;grid-template-columns:1.2fr 1fr;gap:96px;align-items:start;
}
.contact-info .info-card{
  margin-bottom:36px;
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}
.contact-info .info-card:last-child{border-bottom:none;padding-bottom:0}
.contact-info .info-label{
  font-family:var(--sans);font-size:0.72rem;font-weight:500;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--brass);margin-bottom:18px;
  display:flex;align-items:center;gap:12px;
}
.contact-info .info-label::before{
  content:"";width:24px;height:1px;background:var(--brass);
}
.contact-info address,
.contact-info .info-text{
  font-family:var(--serif);font-style:normal;
  font-size:1.5rem;color:var(--ivory);line-height:1.45;
}
.contact-info a.info-link{
  font-family:var(--serif);
  font-size:1.5rem;color:var(--ivory);line-height:1.45;
  display:block;transition:color .25s;
}
.contact-info a.info-link:hover{color:var(--brass-soft)}
.contact-info .small{
  font-family:var(--sans);font-size:0.85rem;font-weight:300;
  color:var(--ivory-dim);margin-top:8px;
}

.cform{
  background:var(--graphite);padding:48px 44px;
  border:1px solid var(--line);
}
.cform h2{
  font-family:var(--serif);font-weight:400;
  font-size:2rem;line-height:1;color:var(--ivory);
  margin-bottom:8px;letter-spacing:-0.01em;
}
.cform h2 em{font-style:italic;color:var(--brass-soft)}
.cform > .small{
  font-family:var(--sans);font-size:0.85rem;font-weight:300;
  color:var(--ivory-dim);margin-bottom:36px;
}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cform-field{margin-bottom:24px;position:relative}
.cform-field label{
  display:block;
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ivory-dim);margin-bottom:8px;
}
.cform-field label .req{color:var(--brass);margin-left:4px}
.cform-field input,
.cform-field select,
.cform-field textarea{
  width:100%;padding:14px 0;
  background:transparent;border:none;
  border-bottom:1px solid var(--line);
  font-family:var(--sans);font-size:1rem;font-weight:300;
  color:var(--ivory);
  transition:border-color .25s;
}
.cform-field select{padding-right:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23B8AE99' stroke-width='1' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 4px center}
.cform-field option{background:var(--graphite);color:var(--ivory)}
.cform-field input:focus,
.cform-field select:focus,
.cform-field textarea:focus{outline:none;border-bottom-color:var(--brass)}
.cform-field textarea{resize:vertical;min-height:96px;line-height:1.6}
.cform-submit{
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:16px;
  padding:20px;border:1px solid var(--brass);background:transparent;
  font-family:var(--sans);font-size:0.78rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);
  transition:background .35s var(--easing),color .35s;
  margin-top:8px;
}
.cform-submit:hover{background:var(--brass);color:var(--obsidian)}

/* ============ FOOTER ============ */
.site-footer{
  background:var(--graphite);
  padding:96px 0 40px;
  border-top:1px solid var(--line);
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:64px;
  margin-bottom:80px;
}
.footer-col .ft-brand{
  font-family:var(--serif);font-style:italic;
  font-size:2.4rem;color:var(--ivory);letter-spacing:-0.01em;
  margin-bottom:16px;line-height:1;
}
.footer-col .ft-tag{
  font-family:var(--serif);font-style:italic;
  font-size:1.05rem;color:var(--ivory-soft);line-height:1.6;
  max-width:32ch;
}
.footer-col .ft-label{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--brass);margin-bottom:18px;
}
.footer-col p, .footer-col a{
  font-size:0.95rem;line-height:1.7;color:var(--ivory-soft);
  display:block;
  transition:color .25s;
}
.footer-col a:hover{color:var(--ivory)}
.footer-bottom{
  padding-top:32px;
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;
  font-family:var(--sans);font-size:0.7rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ivory-dim);
}
.footer-bottom .ft-est{text-align:center;color:var(--ivory-dim)}
.footer-bottom > *:last-child{text-align:right}
.footer-bottom a{color:var(--ivory-dim);transition:color .25s}
.footer-bottom a:hover{color:var(--brass)}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--easing),transform .9s var(--easing)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.delay-1{transition-delay:.1s}
.reveal.delay-2{transition-delay:.2s}
.reveal.delay-3{transition-delay:.3s}

/* ============ MOBILE ============ */
@media (max-width: 1024px){
  .container, .container-tight{padding:0 32px}
  .nav-inner{padding:0 32px;grid-template-columns:1fr auto}
  .nav-links{display:none}
  .nav-toggle{display:block}
  .menu-overlay{display:flex}

  .hero{min-height:600px;height:100vh}
  .hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}
  .hero-base{padding:0 32px;flex-wrap:wrap;font-size:0.66rem}

  .hero-inner{padding:160px 0 80px}

  .intro-block{padding:90px 0 80px}
  .intro-grid{grid-template-columns:1fr;gap:48px}
  .intro-side{position:static}

  .services-preview-head, .featured-head{grid-template-columns:1fr;gap:24px}
  .services-tiles{grid-template-columns:repeat(2,1fr)}

  .featured-frame{aspect-ratio:4/3;min-height:400px}
  .featured-cap{left:24px;right:24px;bottom:24px;grid-template-columns:1fr;gap:16px}
  .featured-cap .btn-ghost{align-self:flex-start}

  .end-cta{padding:120px 0 140px}
  .end-cta-decor{font-size:14rem}

  .svc-block{padding:90px 0}
  .svc-block-grid{grid-template-columns:1fr;gap:40px;direction:ltr !important}
  .svc-block.reverse .svc-block-grid{direction:ltr}

  .work-grid-inner{grid-template-columns:repeat(6,1fr);gap:10px}
  .w1,.w2,.w3,.w4,.w5,.w6,.w7,.w8,.w9{grid-column:span 6}
  .w5,.w6,.w7{aspect-ratio:4/3}
  .proj-info{opacity:1;transform:none}

  .philosophy{padding:90px 0 100px}
  .philosophy-grid{grid-template-columns:1fr;gap:48px}
  .philosophy-side{position:static}

  .process-list{padding:80px 0 100px}
  .process-row{grid-template-columns:auto 1fr;gap:32px;padding:36px 0}
  .process-row .desc{grid-column:1/-1}

  .partners-bar-inner{flex-direction:column;align-items:flex-start;gap:24px}
  .partners-list{font-size:1.2rem;gap:32px}

  .contact-grid{grid-template-columns:1fr;gap:56px}
  .cform{padding:32px 24px}
  .cform-row{grid-template-columns:1fr}

  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .footer-bottom{grid-template-columns:1fr;gap:14px;text-align:center}
  .footer-bottom .ft-est, .footer-bottom > *:last-child{text-align:center}
}

@media (max-width: 640px){
  .container, .container-tight{padding:0 20px}
  .nav-inner{padding:0 20px}
  .site-nav{padding:18px 0}
  .site-nav.scrolled{padding:14px 0}
  .brand{font-size:1.4rem}

  .hero{min-height:540px}
  .hero h1{font-size:2.6rem;line-height:0.96}
  .hero-tag{font-size:1rem}
  .hero-base{display:none}

  .hero-inner{padding:130px 0 60px}

  .intro-block, .services-preview, .featured, .end-cta{padding:64px 0 72px}
  .services-tiles{grid-template-columns:1fr}
  .featured-frame{aspect-ratio:3/4}

  .footer-grid{grid-template-columns:1fr;gap:36px}
  .site-footer{padding:64px 0 32px}

  .end-cta-decor{font-size:9rem}
  .svc-block{padding:64px 0}
  .work-grid-inner{grid-template-columns:1fr;gap:14px}
  .w1,.w2,.w3,.w4,.w5,.w6,.w7,.w8,.w9{grid-column:1;aspect-ratio:4/3}

  .process-row{grid-template-columns:1fr;gap:14px}
}

/* ============ DEEP SERVICE BLOCKS (services.html enhancements) ============ */
.svc-block-text .body-block{
  margin-bottom:48px;
}
.svc-block-text .body-block p{
  font-size:1.06rem;line-height:1.8;color:var(--ivory-soft);
  font-weight:300;
}
.svc-block-text .body-block p+p{margin-top:20px}

/* === SPEC BLOCK — bordered card with brass accent === */
.spec-block{
  margin:48px 0;
  padding:32px 36px;
  background:rgba(237,227,207,0.025);
  border-left:2px solid var(--brass);
  position:relative;
}
.spec-block-label{
  font-family:var(--sans);font-size:0.7rem;font-weight:600;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--brass);
  margin-bottom:24px;
  display:flex;align-items:center;gap:14px;
}
.spec-block-label::after{
  content:"";display:block;flex:1;height:1px;
  background:rgba(196,156,92,0.18);
}
.spec-block ul{list-style:none;padding:0;margin:0}
.spec-block li{
  display:grid;grid-template-columns:20px 1fr;gap:16px;
  padding:12px 0;font-size:1rem;color:var(--ivory-soft);line-height:1.65;
  border-top:1px dashed rgba(237,227,207,0.06);
  font-weight:300;
}
.spec-block li:first-child{border-top:none;padding-top:4px}
.spec-block li::before{
  content:"→";color:var(--brass);font-family:var(--serif);
  font-style:italic;font-size:0.95rem;line-height:1.7;
}

/* === WHY AVERRA — distinctive editorial callout === */
.why-card{
  margin:56px 0 48px;
  padding:44px 0 40px 36px;
  position:relative;
  border-top:1px solid var(--brass);
  border-bottom:1px solid rgba(196,156,92,0.18);
  background:linear-gradient(90deg, rgba(196,156,92,0.05) 0%, rgba(196,156,92,0) 60%);
}
.why-card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;background:var(--brass);
}
.why-card .why-label{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.7rem;color:var(--brass-soft);
  margin-bottom:20px;
  letter-spacing:-0.005em;
  display:block;
  line-height:1;
}
.why-card p{
  font-family:var(--serif);
  font-size:1.3rem;line-height:1.6;color:var(--ivory);
  font-weight:400;
  max-width:50ch;
  letter-spacing:-0.005em;
}

/* ============ RICH CASE STUDIES (work.html) ============ */
.cases-section{padding:60px 0 120px}
.case-rich{
  display:grid;grid-template-columns:1.15fr 1fr;gap:80px;
  padding:80px 0;align-items:center;
  border-top:1px solid var(--line);
}
.case-rich:last-of-type{border-bottom:1px solid var(--line)}
.case-rich.reverse{grid-template-columns:1fr 1.15fr}
.case-rich.reverse .case-img-rich{order:2}
.case-rich.reverse .case-text-rich{order:1}
.case-img-rich{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:var(--graphite);
}
.case-img-rich img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s var(--easing);
}
.case-rich:hover .case-img-rich img{transform:scale(1.05)}
.case-img-tag{
  position:absolute;top:18px;left:18px;
  font-family:var(--sans);font-size:0.7rem;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory);
  background:rgba(10,9,8,0.7);backdrop-filter:blur(8px);
  padding:7px 13px;
}
.case-text-rich .case-eyebrow{
  display:flex;gap:14px;align-items:center;
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);
  margin-bottom:24px;
}
.case-text-rich .case-eyebrow span:not(:last-child)::after{
  content:"·";margin-left:14px;color:var(--ivory-dim);
}
.case-text-rich h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05;
  letter-spacing:-0.02em;color:var(--ivory);
  margin-bottom:28px;
}
.case-text-rich h3 em{font-style:italic;color:var(--brass-soft)}
.case-text-rich .case-blurb{
  font-family:var(--serif);font-style:italic;
  font-size:1.25rem;line-height:1.55;color:var(--ivory-soft);
  max-width:46ch;margin-bottom:36px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
}

/* Stats — keep compact but with breath */
.case-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  margin-bottom:36px;max-width:440px;
  border-bottom:1px solid var(--line);
}
.case-stat{
  padding:14px 16px 14px 0;border-top:1px solid var(--line);
}
.case-stat:nth-child(odd){padding-right:16px;border-right:1px solid var(--line)}
.case-stat:nth-child(even){padding-left:20px}
.case-stat .k{
  font-family:var(--sans);font-size:0.66rem;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--ivory-dim);
  margin-bottom:6px;
}
.case-stat .v{
  font-family:var(--serif);font-size:1.15rem;
  color:var(--ivory);line-height:1.2;letter-spacing:-0.005em;
}

/* Features — list with breath */
.case-feats{
  list-style:none;padding:0;margin:0 0 40px;
}
.case-feats li{
  display:grid;grid-template-columns:14px 1fr;gap:14px;
  padding:10px 0;font-size:0.98rem;color:var(--ivory-soft);
  line-height:1.65;font-weight:300;
  border-top:1px dashed rgba(237,227,207,0.05);
}
.case-feats li:first-child{border-top:none}
.case-feats li::before{
  content:"·";color:var(--brass);font-size:1.6rem;line-height:0.7;
  align-self:start;padding-top:8px;
}

/* Smaller tile gallery beneath case studies */
.more-projects{margin-top:80px}
.more-projects-head{
  display:grid;grid-template-columns:1fr auto;gap:24px;
  align-items:end;margin-bottom:32px;
  padding-top:48px;border-top:1px solid var(--line);
}
.more-projects-head h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  color:var(--ivory);letter-spacing:-0.015em;line-height:1;
}
.more-projects-head h3 em{font-style:italic;color:var(--brass-soft)}
.more-projects-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}

/* ============ BLOG / INSIGHTS ============ */
.blog-grid-section{padding:80px 0 120px}
.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
}
.post-card{
  display:flex;flex-direction:column;
  background:var(--graphite);
  border:1px solid var(--line-soft);
  text-decoration:none;color:inherit;
  transition:border-color .3s,background .3s,transform .3s;
}
.post-card:hover{
  border-color:rgba(196,156,92,0.3);
  background:#1A1813;
  transform:translateY(-4px);
}
.post-card-img{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:var(--obsidian);
}
.post-card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--easing),filter .4s;
  filter:saturate(0.85) brightness(0.85);
}
.post-card:hover .post-card-img img{
  transform:scale(1.04);filter:saturate(1) brightness(1);
}
.post-card-cat{
  position:absolute;top:14px;left:14px;
  font-family:var(--sans);font-size:0.65rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory);
  background:rgba(10,9,8,0.78);backdrop-filter:blur(8px);
  padding:6px 11px;
}
.post-card-body{padding:32px 32px 36px;flex:1;display:flex;flex-direction:column}
.post-card-meta{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory-dim);
  margin-bottom:14px;
}
.post-card h3{
  font-family:var(--serif);font-weight:400;
  font-size:1.55rem;line-height:1.15;color:var(--ivory);
  margin-bottom:14px;letter-spacing:-0.01em;
}
.post-card h3 em{font-style:italic;color:var(--brass-soft)}
.post-card p{
  font-size:0.96rem;line-height:1.65;color:var(--ivory-soft);
  font-weight:300;flex:1;margin-bottom:20px;
}
.post-card-cta{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);
  display:inline-flex;align-items:center;gap:10px;transition:gap .3s;
}
.post-card:hover .post-card-cta{gap:18px}

/* Featured post */
.featured-post{
  margin-bottom:48px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:48px;
  background:var(--graphite);
  border:1px solid var(--line-soft);
  align-items:stretch;overflow:hidden;
}
.featured-post-img{
  position:relative;min-height:380px;overflow:hidden;
  background:var(--obsidian);
}
.featured-post-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--easing);
}
.featured-post:hover .featured-post-img img{transform:scale(1.04)}
.featured-post-body{
  padding:56px 56px 56px 0;display:flex;flex-direction:column;justify-content:center;
}
.featured-post-cat{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);
  margin-bottom:14px;display:flex;align-items:center;gap:14px;
}
.featured-post-cat::before{
  content:"";display:block;width:30px;height:1px;background:var(--brass);
}
.featured-post-body h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.1;
  color:var(--ivory);margin:14px 0 18px;letter-spacing:-0.015em;
}
.featured-post-body h2 em{font-style:italic;color:var(--brass-soft)}
.featured-post-body p{
  font-size:1.04rem;line-height:1.7;color:var(--ivory-soft);
  font-weight:300;margin-bottom:24px;max-width:54ch;
}
.featured-post-meta{
  font-family:var(--sans);font-size:0.7rem;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory-dim);
  margin-bottom:14px;
}

@media (max-width: 1024px){
  .case-rich, .case-rich.reverse{grid-template-columns:1fr;gap:32px;padding:48px 0}
  .case-rich.reverse .case-img-rich, .case-rich.reverse .case-text-rich{order:initial}
  .case-stats{grid-template-columns:1fr 1fr}
  .more-projects-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:1fr 1fr;gap:24px}
  .featured-post{grid-template-columns:1fr;gap:0}
  .featured-post-img{min-height:280px}
  .featured-post-body{padding:36px 24px}
}
@media (max-width: 640px){
  .more-projects-grid, .blog-grid{grid-template-columns:1fr}
  .case-stats{grid-template-columns:1fr}
}

/* ============ CAREERS / JOBS ============ */
.careers-section{
  padding:80px 0 120px;
}
.careers-intro{
  max-width:720px;margin:0 auto 64px;text-align:center;
}
.careers-intro p{
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;line-height:1.55;color:var(--ivory);
}

.job-list{
  max-width:1100px;margin:0 auto;
  border-top:1px solid var(--line);
}
.job-item{
  border-bottom:1px solid var(--line);
}
.job-trigger{
  width:100%;
  display:grid;grid-template-columns:80px 1fr auto auto;
  gap:32px;align-items:center;
  padding:36px 16px;
  background:none;border:none;cursor:pointer;
  text-align:left;color:var(--ivory);
  transition:color .3s, padding .3s;
  font-family:inherit;
}
.job-trigger:hover{color:var(--brass-soft)}
.job-trigger:hover .job-num{color:var(--brass-soft)}
.job-num{
  font-family:var(--serif);font-style:italic;
  font-size:2.4rem;color:var(--brass);
  letter-spacing:-0.02em;line-height:1;
  transition:color .3s;
}
.job-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  letter-spacing:-0.015em;line-height:1.05;
}
.job-status{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--brass);
}
.job-icon{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--ivory-dim);
  display:flex;align-items:center;justify-content:center;
  color:var(--ivory);font-size:1.4rem;line-height:1;
  transition:transform .4s var(--easing), background .25s, color .25s, border-color .25s;
}
.job-item.open .job-icon{
  transform:rotate(45deg);
  background:var(--brass);color:var(--obsidian);border-color:var(--brass);
}
.job-body{
  max-height:0;overflow:hidden;
  transition:max-height .5s var(--easing);
}
.job-item.open .job-body{max-height:1200px}
.job-body-inner{
  padding:0 16px 48px 96px;
  display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start;
}
.job-body-meta{
  font-family:var(--sans);font-size:0.72rem;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ivory-dim);line-height:2;
}
.job-body-meta .row{display:flex;gap:8px;align-items:center}
.job-body-meta .row .k{color:var(--brass);min-width:80px}
.job-body-content p{
  font-size:1.04rem;line-height:1.8;color:var(--ivory-soft);
  margin-bottom:20px;font-weight:300;
}
.job-body-content p strong{color:var(--ivory);font-weight:500}
.job-body-content h4{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.2rem;line-height:1.3;color:var(--brass-soft);
  margin:28px 0 12px;letter-spacing:-0.005em;
}
.job-body-content ul{list-style:none;padding:0;margin:0 0 20px}
.job-body-content ul li{
  display:grid;grid-template-columns:14px 1fr;gap:12px;
  padding:6px 0;font-size:0.98rem;line-height:1.65;
  color:var(--ivory-soft);font-weight:300;
}
.job-body-content ul li::before{
  content:"·";color:var(--brass);font-size:1.4rem;line-height:0.7;
  align-self:start;padding-top:6px;
}
.job-apply{
  display:inline-flex;align-items:center;gap:14px;
  margin-top:16px;
  padding:14px 28px;border:1px solid var(--brass);
  font-family:var(--sans);font-size:0.74rem;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);
  text-decoration:none;
  transition:background .3s,color .3s;
}
.job-apply:hover{background:var(--brass);color:var(--obsidian)}

.why-work{
  padding:80px 0;
  background:var(--graphite);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.why-work-grid{
  display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start;
  max-width:1100px;margin:0 auto;
}
.why-work .eyebrow{margin-bottom:24px}
.why-work h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;
  letter-spacing:-0.02em;color:var(--ivory);
}
.why-work h2 em{font-style:italic;color:var(--brass-soft)}
.why-work p{
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;line-height:1.55;color:var(--ivory);
  letter-spacing:-0.005em;
}

@media (max-width: 1024px){
  .job-trigger{grid-template-columns:60px 1fr auto;gap:20px;padding:28px 8px}
  .job-status{display:none}
  .job-num{font-size:1.8rem}
  .job-body-inner{grid-template-columns:1fr;gap:24px;padding:0 8px 36px 72px}
  .why-work-grid{grid-template-columns:1fr;gap:32px}
  .why-work p{font-size:1.2rem}
}
@media (max-width: 640px){
  .job-trigger{grid-template-columns:48px 1fr auto;gap:14px;padding:20px 4px}
  .job-num{font-size:1.5rem}
  .job-body-inner{padding:0 4px 28px 60px}
}

/* ============ ARTICLE / BLOG POST ============ */
.article-hero{
  padding:200px 0 80px;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.article-hero .chapter{margin-bottom:18px;display:inline-block}
.article-hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.4rem,5.6vw,4.6rem);
  line-height:1.05;letter-spacing:-0.02em;
  color:var(--ivory);max-width:22ch;margin:8px auto 28px;
}
.article-hero h1 em{font-style:italic;color:var(--brass-soft)}
.article-meta{
  display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--sans);font-size:0.74rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory-dim);
}
.article-meta .dot{
  width:4px;height:4px;background:var(--brass);
  border-radius:50%;
}

.article-image{
  max-width:1280px;margin:0 auto;padding:64px 56px 0;
}
.article-image img{
  width:100%;aspect-ratio:21/9;object-fit:cover;
  background:var(--graphite);
}

.article-body{
  max-width:760px;margin:0 auto;padding:80px 32px 120px;
}
.article-body .lede{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.55rem;line-height:1.5;color:var(--ivory);
  margin-bottom:48px;letter-spacing:-0.005em;
  padding-bottom:36px;border-bottom:1px solid var(--line);
}
.article-body p{
  font-size:1.1rem;line-height:1.85;color:var(--ivory);
  font-weight:300;margin-bottom:24px;
}
.article-body p strong{color:var(--ivory);font-weight:500}
.article-body h2{
  font-family:var(--serif);font-weight:400;
  font-size:2rem;line-height:1.2;letter-spacing:-0.015em;
  color:var(--ivory);margin:64px 0 24px;
}
.article-body h2 em{font-style:italic;color:var(--brass-soft)}
.article-body h3{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.4rem;line-height:1.3;color:var(--brass-soft);
  margin:40px 0 16px;letter-spacing:-0.005em;
}
.article-body ul, .article-body ol{
  list-style:none;padding:0;margin:24px 0 32px;
}
.article-body li{
  display:grid;grid-template-columns:18px 1fr;gap:14px;
  padding:8px 0;font-size:1.04rem;line-height:1.75;
  color:var(--ivory);font-weight:300;
}
.article-body li::before{
  content:"·";color:var(--brass);font-size:1.6rem;line-height:0.7;
  align-self:start;padding-top:6px;
}
.article-body ol{counter-reset:li-counter}
.article-body ol li{counter-increment:li-counter}
.article-body ol li::before{
  content:counter(li-counter, decimal-leading-zero);
  font-family:var(--serif);font-style:italic;
  color:var(--brass);font-size:1rem;line-height:1.7;
  padding-top:0;
}
.article-body blockquote{
  margin:48px 0;padding:32px 36px;
  background:rgba(196,156,92,0.05);
  border-left:2px solid var(--brass);
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;line-height:1.5;color:var(--ivory);
}

.related-posts{
  padding:96px 0;border-top:1px solid var(--line);
  background:var(--graphite);
}
.related-posts-head{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;
  margin-bottom:48px;
}
.related-posts h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;
  letter-spacing:-0.015em;color:var(--ivory);
}
.related-posts h2 em{font-style:italic;color:var(--brass-soft)}

@media (max-width: 1024px){
  .article-hero{padding:140px 0 60px}
  .article-image{padding:40px 24px 0}
  .article-body{padding:60px 24px 80px}
  .article-body .lede{font-size:1.3rem;margin-bottom:36px;padding-bottom:24px}
  .article-body p{font-size:1.05rem}
  .article-body h2{font-size:1.7rem;margin:48px 0 18px}
  .related-posts{padding:64px 0}
  .related-posts-head{grid-template-columns:1fr;gap:18px}
}

/* ============ PROJECT MODAL ============ */
body.modal-open{overflow:hidden}
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(10,9,8,0.94);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:none;align-items:flex-start;justify-content:center;
  padding:48px 24px;
  overflow-y:auto;
  opacity:0;
  transition:opacity .35s var(--easing);
}
.modal-overlay.open{display:flex;opacity:1}

.modal-card{
  background:var(--obsidian);
  border:1px solid var(--line);
  max-width:1140px;width:100%;
  position:relative;margin:auto 0;
  transform:translateY(24px);
  transition:transform .45s var(--easing);
}
.modal-overlay.open .modal-card{transform:translateY(0)}

.modal-close{
  position:fixed;top:24px;right:32px;z-index:201;
  width:48px;height:48px;
  background:rgba(10,9,8,0.88);
  border:1px solid var(--ivory-dim);
  display:flex;align-items:center;justify-content:center;
  color:var(--ivory);font-size:1.6rem;line-height:1;
  cursor:pointer;
  transition:background .25s,border-color .25s,color .25s;
}
.modal-close:hover{
  background:var(--brass);color:var(--obsidian);border-color:var(--brass);
}

.modal-hero{
  position:relative;aspect-ratio:21/9;min-height:380px;
  overflow:hidden;background:var(--graphite);
}
.modal-hero img{width:100%;height:100%;object-fit:cover}
.modal-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,9,8,0) 40%, rgba(10,9,8,0.85) 100%);
  pointer-events:none;
}
.modal-hero-cap{
  position:absolute;left:48px;right:48px;bottom:36px;z-index:2;
}
.modal-eyebrow{
  font-family:var(--sans);font-size:0.72rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);
  margin-bottom:14px;
}
.modal-hero h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,4vw,3.4rem);line-height:1;
  letter-spacing:-0.025em;color:var(--ivory);margin:0;
}
.modal-hero h2 em{font-style:italic;color:var(--brass-soft)}

.modal-body{padding:56px 64px}
.modal-blurb{
  font-family:var(--serif);font-style:italic;
  font-size:1.4rem;line-height:1.55;color:var(--ivory);
  max-width:62ch;margin-bottom:48px;
  padding-bottom:36px;border-bottom:1px solid var(--line);
}
.modal-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-bottom:56px;border:1px solid var(--line);
}
.modal-stat{padding:20px 24px;border-right:1px solid var(--line)}
.modal-stat:last-child{border-right:none}
.modal-stat .k{
  font-family:var(--sans);font-size:0.66rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--ivory-dim);
  margin-bottom:8px;
}
.modal-stat .v{
  font-family:var(--serif);font-size:1.2rem;color:var(--ivory);
  line-height:1.2;letter-spacing:-0.005em;
}

.modal-content-grid{
  display:grid;grid-template-columns:1.2fr 1fr;gap:64px;
  margin-bottom:56px;
}
.modal-section h4{
  font-family:var(--sans);font-size:0.7rem;font-weight:500;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--brass);
  margin-bottom:24px;
  display:flex;align-items:center;gap:14px;
}
.modal-section h4::after{
  content:"";display:block;flex:1;height:1px;background:rgba(196,156,92,0.18);
}
.modal-prose p{
  font-size:1.04rem;line-height:1.8;color:var(--ivory-soft);
  font-weight:300;margin-bottom:18px;
}
.modal-prose p:last-child{margin-bottom:0}

.modal-feats{list-style:none;padding:0;margin:0}
.modal-feats li{
  display:grid;grid-template-columns:14px 1fr;gap:14px;
  padding:10px 0;font-size:0.98rem;color:var(--ivory-soft);
  line-height:1.65;font-weight:300;
  border-top:1px dashed rgba(237,227,207,0.05);
}
.modal-feats li:first-child{border-top:none;padding-top:0}
.modal-feats li::before{
  content:"·";color:var(--brass);font-size:1.6rem;line-height:0.7;
  align-self:start;padding-top:6px;
}

.modal-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.modal-gallery img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  background:var(--graphite);
  transition:opacity .25s,transform .4s var(--easing);
}
.modal-gallery img:hover{opacity:0.92;transform:scale(1.01)}

.modal-footer{
  padding:32px 64px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.modal-footer-meta{
  font-family:var(--sans);font-size:0.74rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ivory-dim);
}

@media (max-width: 1024px){
  .modal-overlay{padding:24px 12px}
  .modal-hero{aspect-ratio:4/3;min-height:280px}
  .modal-hero-cap{left:32px;right:32px;bottom:28px}
  .modal-body{padding:40px 32px}
  .modal-blurb{font-size:1.15rem;margin-bottom:32px;padding-bottom:24px}
  .modal-stats{grid-template-columns:repeat(2,1fr)}
  .modal-stat{border-right:none;border-bottom:1px solid var(--line)}
  .modal-stat:nth-child(odd){border-right:1px solid var(--line)}
  .modal-stat:nth-last-child(-n+2){border-bottom:none}
  .modal-content-grid{grid-template-columns:1fr;gap:40px;margin-bottom:40px}
  .modal-gallery{grid-template-columns:repeat(2,1fr)}
  .modal-footer{padding:24px 32px;flex-direction:column;align-items:stretch}
}
@media (max-width: 640px){
  .modal-stats{grid-template-columns:1fr}
  .modal-stat{border-right:none !important;border-bottom:1px solid var(--line)}
  .modal-stat:last-child{border-bottom:none}
  .modal-gallery{grid-template-columns:1fr}
  .modal-close{top:16px;right:16px;width:40px;height:40px}
}

/* ============ NO MOTION ============ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
  .hero-bg{animation:none}
}
