/* Homepage concept v1. Scoped to body.home-redesign so other pages retain their existing styles. */
.home-redesign { background: var(--paper); }
.home-redesign .skip-link { position:absolute; left:-999px; top:0; z-index:100; background:#fff; padding:12px; }
.home-redesign .skip-link:focus { left:12px; }
.home-redesign .brand-fallback { display:flex; flex-direction:column; font-weight:900; font-size:23px; letter-spacing:.07em; line-height:1.2; }
.home-redesign .brand-fallback[hidden] { display:none; }
.home-redesign .brand-fallback span { font-size:9px; margin-top:5px; letter-spacing:.18em; color:var(--gold); }
.home-redesign .nav-contact { border-bottom:2px solid var(--gold); padding-bottom:5px; }
.home-width { width:min(100% - 48px, 1280px); margin-inline:auto; }
.home-hero { min-height:680px; padding:clamp(72px,8vw,118px) max(24px,calc((100vw - 1280px)/2)); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(35px,5vw,90px); background:linear-gradient(145deg,#f8f5ef 0%,#eee9e1 100%); }
.home-hero-copy { min-width:0; }
.home-hero h1 { font-size:clamp(54px,6vw,92px); line-height:1.03; letter-spacing:-.055em; }
.home-hero h1 em { font-style:normal; color:var(--gold); }
.home-hero .hero-lead { max-width:650px; font-size:clamp(21px,2vw,27px); line-height:1.48; color:var(--muted); margin:30px 0 0; }
.home-hero .hero-links { display:flex; flex-wrap:wrap; align-items:center; gap:27px; margin-top:34px; }
.home-redesign .button { gap:15px; }
.understated-link { font-size:17px; font-weight:900; border-bottom:1px solid var(--gold); padding:7px 0; }
.home-hero-photographs { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:14px; position:relative; min-width:0; padding-bottom:30px; }
.home-photo { margin:0; overflow:hidden; background:#ded8cf; box-shadow:0 16px 35px rgba(36,39,42,.14); }
.home-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.home-photo-primary { aspect-ratio:4/5.5; transform:translateY(-34px); }
.home-photo-secondary { aspect-ratio:4/4.8; }
.image-accent { position:absolute; bottom:0; right:0; font-size:10px; font-weight:900; letter-spacing:.24em; color:var(--gold); }
.home-bridge { padding:clamp(75px,9vw,130px) 0; background:#292b2d; color:#f8f5ef; }
.home-bridge .home-width { max-width:1010px; }
.home-bridge h2 { font-size:clamp(40px,5.5vw,76px); }
.home-bridge p:last-child { font-size:clamp(20px,2.25vw,27px); line-height:1.6; max-width:960px; color:#ddd6cd; margin:30px 0 0; }
.work-section { padding-block:clamp(84px,9vw,140px); }
.section-heading { margin-bottom:42px; }
.section-heading h2, .home-photography h2, .home-selected h2, .home-contact h2 { font-size:clamp(38px,5vw,66px); line-height:1.06; }
.work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.work-card { background:#eeebe6; border-top:4px solid #c3a48f; min-height:470px; padding:36px 32px; display:flex; flex-direction:column; }
.work-number { color:#996044; font-size:12px; font-weight:900; letter-spacing:.18em; }
.work-card h3 { font-size:clamp(29px,3vw,39px); line-height:1.12; margin-top:27px; letter-spacing:-.04em; }
.work-card p { color:var(--muted); line-height:1.55; font-size:17px; margin:22px 0 0; }
.work-card .service-types { font-size:14px; font-weight:700; line-height:1.8; color:#7c5c4a; }
.work-card a { margin-top:auto; padding-top:30px; color:#875137; font-weight:900; border-bottom:1px solid rgba(170,103,71,.4); align-self:flex-start; }
.work-card-dmos { background:#e7dfd5; }
.home-photography { background:#e6dfd5; padding:clamp(80px,8vw,125px) 0; }
.photo-section-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(35px,7vw,115px); align-items:start; }
.home-photography p:not(.eyebrow) { font-size:clamp(20px,2vw,25px); line-height:1.55; color:var(--muted); max-width:680px; }
.home-photography .button { margin-top:14px; }
.photo-services { border-top:3px solid var(--gold); padding-top:22px; }
.photo-services p { font-size:15px!important; font-weight:900; letter-spacing:.12em; text-transform:uppercase; margin:0; }
.photo-services ul { list-style:none; padding:0; margin:20px 0; }
.photo-services li { padding:11px 0; border-bottom:1px solid var(--line); font-weight:700; }
.photo-services small { color:var(--muted); }
.home-selected { padding-block:clamp(75px,8vw,125px); display:flex; justify-content:space-between; align-items:end; gap:40px; }
.home-selected>div { max-width:840px; }
.home-selected p:not(.eyebrow) { color:var(--muted); font-size:21px; line-height:1.5; }
.home-selected .understated-link { flex-shrink:0; }
.home-contact { background:#d6c4b7; padding:clamp(85px,9vw,135px) 0; }
.home-contact .home-width { max-width:1000px; }
.home-contact p:not(.eyebrow) { color:#4f4b48; font-size:22px; line-height:1.5; max-width:750px; }
.home-contact .button { margin-top:18px; }
.home-redesign .site-footer { display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.home-redesign .site-footer a { color:var(--muted); font-size:14px; }
@media(max-width:1050px) {
 .home-hero { grid-template-columns:1fr; }
 .home-hero-photographs { max-width:680px; }
 .work-grid { grid-template-columns:1fr; }
 .work-card { min-height:0; }
 .photo-section-inner { grid-template-columns:1fr; }
}
@media(max-width:650px) {
 .home-hero { padding:65px 24px; }
 .home-hero h1 { font-size:clamp(47px,12vw,68px); }
 .home-hero .hero-lead { font-size:20px; }
 .home-hero-photographs { gap:10px; }
 .home-hero .hero-links { align-items:flex-start; gap:20px; }
 .home-selected { align-items:flex-start; flex-direction:column; }
 .home-redesign .site-header .nav { flex-wrap:wrap; justify-content:flex-start; column-gap:19px; row-gap:10px; }
 .work-card { padding:30px 26px; }
}

/* V2: business / photography / Puerto Rico are introduced before the philosophy section. */
.home-redesign .home-hero-photographs {
  display:block;
  width:100%;
  max-width:660px;
  padding-bottom:0;
  justify-self:center;
}
.home-redesign .home-photo-feature {
  display:block;
  width:100%;
  margin:0;
  aspect-ratio:auto;
  transform:none;
}
.home-redesign .home-photo-feature img {
  display:block;
  width:100%;
  height:auto;
  max-height:575px;
  object-fit:contain;
}
.home-redesign .image-accent {
  right:0;
  bottom:-25px;
}
.home-redesign .work-section {
  background:#f6f3ed;
}
.home-redesign .home-bridge {
  background:#292b2d;
}
@media(max-width:1050px) {
  .home-redesign .home-hero-photographs { max-width:760px; }
}
