/* Home design: imagery can change independently of layout and brand colors. */
.home-page{--home-gutter:clamp(24px,5vw,90px)}
.home-page .header{height:96px;position:sticky;top:0;z-index:40;background:rgba(15,17,18,.96);backdrop-filter:blur(16px);padding:0 var(--home-gutter)}
.home-page .header nav{gap:25px;font-size:11px}.home-page .brand img{width:220px}.home-page .nav-contact{padding:12px 16px}.home-page .nav-contact span{margin-left:18px}
.home-page .home-hero{height:auto;max-height:none;min-height:0;display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:64px var(--home-gutter) 54px;overflow:visible;align-items:center}
.home-page .hero-content{height:auto;padding:0;min-width:0;display:block;position:static}
.home-page .hero-content>.eyebrow{font-size:9px;letter-spacing:1.7px;line-height:1.8}
.home-page .hero h1{font-size:clamp(51px,5.65vw,91px);font-weight:500;letter-spacing:-4.3px;line-height:1.09;margin:36px 0 28px}.home-page .hero h1 span{color:var(--muted)}
.hero-intro{font-size:12px;line-height:2;color:var(--muted);max-width:440px;margin:0}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:33px;flex-wrap:wrap}
.button-primary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 21px;background:var(--ivory);color:var(--bg);font-size:11px;transition:background .2s}.button-primary:hover{background:#dce3d4}.button-primary span{font-size:21px;line-height:1}.hero-contact-link{font-size:11px;display:flex;gap:16px;align-items:center}.hero-contact-link span{font-size:17px}
.hero-discipline{display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:1.9px;color:var(--muted);margin-top:47px}.hero-discipline i{font-style:normal;color:var(--sage)}
.hero-media{margin:0;min-width:0;position:relative;align-self:stretch;display:flex;flex-direction:column}.hero-media-top{display:flex;justify-content:space-between;align-items:center;padding:0 0 15px;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.hero-media-top>span:last-child{font-size:19px;color:var(--sage)}
.hero-photo{width:100%;height:100%;min-height:430px;max-height:615px;flex:1;object-fit:cover;object-position:50% 45%;display:block;filter:none;background:#1a1f1d}
.hero-media figcaption{display:flex;justify-content:space-between;align-items:center;padding:17px 0 0;color:var(--muted);font-size:10px;letter-spacing:.4px}.hero-media figcaption a{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:31px;height:31px;font-size:15px}
.home-page .statement-strip{margin:0 var(--home-gutter);padding:28px 0;border-top:1px solid var(--line);font-size:15px}.home-page .statement-strip .asterisk{font-size:22px}
.home-page .section{padding:90px var(--home-gutter)}.home-page .section-top{margin-bottom:40px}.home-page .section-top>.eyebrow{font-size:9px}.home-page h2{font-size:clamp(36px,4.05vw,64px);letter-spacing:-2.3px;line-height:1.17}.home-page .section-heading{margin-bottom:45px}.home-page .tabs{gap:5px}.home-page .tabs button{font-size:11px;padding:11px 20px}.home-page .tabs button[aria-selected=true]{background:var(--ivory);color:var(--bg);border-color:var(--ivory)}
.home-page .portfolio-empty{grid-template-columns:1.2fr 1fr;border:0;background:#161b18;min-height:305px}.home-page .frame-art{margin:0;min-height:305px;background:radial-gradient(ellipse at 50% 125%,#394137,#1a211d 60%,#151a17)}.home-page .frame-art:after{opacity:.025}.home-page .viewfinder img{mix-blend-mode:screen;opacity:.75;width:160px;height:160px}.home-page .empty-copy{padding:45px 11%;border-left:1px solid var(--line)}.home-page .empty-copy h3{font-size:29px;line-height:1.35}.home-page .empty-copy p{font-size:12px}
.home-page .about{background:#191c1b}.home-page .about-layout{grid-template-columns:.9fr 1.1fr;gap:11%}.home-page .about-mark{min-height:340px;background:var(--bg);margin:0;align-self:stretch}.home-page .about-mark img{width:240px;height:240px}.home-page .about-mark small{font-size:8px;bottom:32px;letter-spacing:2px}.home-page .about-layout h2{font-size:clamp(34px,3.5vw,54px)}.home-page .about-layout p{font-size:12px;line-height:2}.home-values{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.home-values span{border:1px solid var(--line);border-radius:20px;padding:8px 13px;font-size:9px;color:#b9c2b3}
.home-page .services-intro{margin-bottom:48px;gap:45px}.home-page .service-list{column-gap:60px}.home-page .service-card-link{padding:31px 8px 33px 0}.home-page .service-item h3{font-size:19px}.home-page .service-card-link:hover{background:rgba(120,130,117,.07)}.home-page .service-item p{max-width:420px}.home-page .services-contact{max-width:340px}
.home-page .home-blog{background:#191c1b;border-top:0}.home-page .home-blog h2{font-size:clamp(36px,3.6vw,56px)}.home-page .home-blog>.text-link{width:300px}
.home-page .contact{position:relative}.home-page .contact h2{font-size:clamp(38px,5vw,78px);letter-spacing:-3px;max-width:1050px;margin-top:35px}.contact-cta{display:flex;align-items:center;justify-content:space-between;max-width:300px;gap:40px;background:var(--bg);color:var(--ivory);font-size:12px;padding:17px 21px;margin-top:35px}.contact-cta span{font-size:22px}.home-page .contact-bottom{margin-top:45px}.home-page footer{padding-left:var(--home-gutter);padding-right:var(--home-gutter)}
@media(min-width:1600px){.home-page{--home-gutter:max(6vw,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.home-page .header nav{gap:15px;font-size:10px}.home-page .nav-contact{padding:11px}.home-page .nav-contact span{margin-left:10px}.home-page .home-hero{gap:4%;padding-top:45px}.home-page .hero h1{letter-spacing:-3px}.hero-actions{gap:20px}.hero-photo{min-height:450px}.home-page .service-list{column-gap:35px}}
@media(max-width:800px) and (min-width:651px){.home-page .header nav{gap:11px;font-size:9px}.home-page .nav-contact{padding:9px}.home-page .nav-contact span{margin-left:5px}.home-page .hero h1{font-size:48px;letter-spacing:-2.7px}.hero-intro br{display:none}.hero-photo{min-height:450px}.hero-discipline{font-size:7px;gap:10px}.home-page .hero-content>.eyebrow{font-size:7px;letter-spacing:1.3px}.button-primary{gap:17px}.home-page .about-layout{gap:6%}}
@media(max-width:650px){.home-page .header{height:85px}.home-page .header nav{font-size:12px;gap:0;top:85px}.home-page .header nav .nav-contact{padding:15px;margin-top:10px}.home-page .home-hero{display:flex;flex-direction:column;gap:37px;padding-top:42px;padding-bottom:32px;align-items:stretch}.home-page .hero-content>.eyebrow{font-size:8px;letter-spacing:1.3px}.home-page .hero h1{font-size:clamp(48px,11vw,68px);letter-spacing:-2.8px;line-height:1.1;margin:27px 0 24px}.hero-intro{font-size:12px;max-width:360px}.hero-intro br{display:none}.hero-actions{gap:22px;margin-top:27px}.button-primary{padding:16px 18px;gap:23px;font-size:10px}.hero-contact-link{font-size:10px;gap:12px}.hero-discipline{margin-top:30px;font-size:7px;gap:12px}.hero-media{align-self:auto}.hero-photo{height:auto;min-height:0;max-height:none;aspect-ratio:4/3;object-position:center 43%}.hero-media-top{font-size:7px;padding-bottom:10px}.hero-media figcaption{font-size:9px;padding-top:12px}.home-page .statement-strip{font-size:10px;gap:8px;padding:23px 0}.home-page .statement-strip .asterisk{font-size:17px}.home-page .section{padding-top:60px;padding-bottom:60px}.home-page h2{font-size:37px;letter-spacing:-1.8px}.home-page .section-top{margin-bottom:32px}.home-page .section-top>.eyebrow{font-size:8px}.home-page .portfolio-empty{grid-template-columns:1fr}.home-page .frame-art{min-height:240px}.home-page .empty-copy{padding:30px 25px;border-left:0;border-top:1px solid var(--line)}.home-page .empty-copy h3{font-size:25px}.home-page .about-layout{grid-template-columns:1fr;gap:35px}.home-page .about-mark{min-height:290px}.home-page .about-mark img{width:210px;height:210px}.home-page .about-layout h2{font-size:36px}.home-page .service-list{column-gap:0}.home-page .service-card-link{padding-top:25px;padding-bottom:27px}.home-page .service-item h3{font-size:18px}.home-page .home-blog>.text-link{width:100%}.home-page .contact h2{font-size:40px;letter-spacing:-2px}.home-page .contact-bottom{margin-top:35px}.contact-cta{max-width:100%}.home-page footer{padding-bottom:105px}.home-page .back-top{margin-right:70px}}
@media(prefers-reduced-motion:reduce){.home-page .header{backdrop-filter:none}}

/* Restore only the immersive hero; all other home refinements remain. */
.home-page .hero:not(.home-hero){height:calc(100svh - 96px);min-height:660px;max-height:900px;position:relative;overflow:hidden}.home-page .hero:not(.home-hero) .hero-content{position:relative;height:100%;padding:85px 8% 90px;display:flex;flex-direction:column;justify-content:center}.home-page .hero:not(.home-hero) h1{font-size:clamp(48px,6.8vw,106px);letter-spacing:-5px;line-height:1.16;margin:38px 0 40px;font-weight:500}.home-page .hero:not(.home-hero) h1 span{color:#e7e1d4}@media(max-width:900px){.home-page .hero:not(.home-hero){height:730px;min-height:600px}.home-page .hero:not(.home-hero) h1{letter-spacing:-3px}}@media(max-width:650px){.home-page .hero:not(.home-hero){height:calc(90svh - 85px);min-height:570px;max-height:760px}.home-page .hero:not(.home-hero) .hero-content{padding:65px 6% 85px}.home-page .hero:not(.home-hero) h1{font-size:clamp(41px,9.8vw,65px);letter-spacing:-2.4px;margin:30px 0}}

.home-page .hero-cinematic {
  background-position: 76% center;
  filter: none;
  transform: none;
  animation: none;
}
.home-page .hero-cinematic + .hero-shade {
  background: linear-gradient(90deg, #0f1112b3 0%, #0f111233 44%, transparent 75%),
              linear-gradient(0deg, #0f1112 0%, transparent 38%);
}
@media (max-width: 650px) {
  .home-page .hero-cinematic {
    background-position: 87% top;
    background-size: auto 80%;
    background-repeat: no-repeat;
    background-color: #0f1112;
  }
  .home-page .hero-cinematic + .hero-shade {
    background: linear-gradient(0deg, #0f1112 13%, #0f1112db 40%, transparent 76%);
  }
  .home-page .hero:has(.hero-cinematic) .hero-content {
    justify-content: flex-end;
    padding-bottom: 92px;
  }
}

#works .portfolio-wall {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: clamp(.55rem, 1.5vw, 1.4rem);
}
#works [data-portfolio-type][hidden] { display: none; }
.portfolio-wall .portfolio-photo {
 position: relative;
 display: block;
 aspect-ratio: 4 / 3;
 background: #191b18;
}
.portfolio-photo img, .portfolio-photo .cms-card-blank {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.portfolio-wall .cms-gallery-card figcaption {
 box-sizing: border-box;
 height: 7.5rem;
 padding: .7rem clamp(.55rem, 1.2vw, 1rem);
}
.portfolio-wall .cms-gallery-card h4,
.portfolio-wall .cms-gallery-card figcaption p {
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 2;
 overflow: hidden;
 overflow-wrap: anywhere;
}
.portfolio-wall .cms-gallery-card h4 { font-size: clamp(.95rem, 1.7vw, 1.35rem); }
.portfolio-wall .cms-gallery-card figcaption p { font-size: clamp(.72rem, 1vw, .875rem); }
@media (max-width: 767px) {
 #works .portfolio-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.home-blog {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(24px, 6vw, 96px);
  align-items: center;
}
.home-blog .home-blog-copy p {
  font-size: 16px;
  max-width: 38ch;
  margin: 18px 0 24px;
  line-height: 1.6;
}
.home-blog .text-link {
  display: inline-flex;
  gap: 24px;
  align-items: center;
}
.home-blog-image {
  width: 100%;
  display: block;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border: 1px solid var(--line);
}
@media (max-width: 760px) {
  .home-blog { grid-template-columns: minmax(0, 1fr); }
  .home-blog-image { grid-row: 1; }
}
