/* ============================================================
+   GRV — home page sections
+   Extracted without selector or value changes.
+   ============================================================ */

/* ============================================================
   HOME · FINAL FIGMA COMPOSITION
   ============================================================ */

/* Overlay header on the opening project */
.site-header{position:fixed;left:0;right:0;top:0;transition:background .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),min-height .35s var(--ease);}
.site-header.hero-mode{background:transparent;border-bottom-color:transparent;color:var(--grv-white);-webkit-backdrop-filter:none;backdrop-filter:none;}
.site-header.hero-mode .site-nav a{color:rgba(255,255,255,.76);}
.site-header.hero-mode .site-nav a:hover,.site-header.hero-mode .site-nav a.active{color:var(--grv-white);}
.site-header.hero-mode .site-nav a::after{background:var(--grv-white);}
.site-header.hero-mode .site-header-action{background:rgba(48,28,27,.92);border-color:rgba(48,28,27,.92);color:var(--grv-white);}
.site-header.hero-mode .menu-toggle{border-color:rgba(255,255,255,.45);color:var(--grv-white);}
.site-header.hero-mode .brand-logo{filter:brightness(0) invert(1);}
.site-header.menu-is-open{background:var(--grv-paper);border-bottom-color:var(--grv-line);color:var(--grv-ink);}
.site-header.menu-is-open .brand-logo{filter:none;}
.site-header.menu-is-open .menu-toggle{border-color:var(--grv-line-2);color:var(--grv-ink);}

.home-hero{position:relative;width:100%;height:100svh;min-height:670px;overflow:hidden;background:var(--grv-warm-grey);}
.home-hero-media,.home-hero-slide{position:absolute;inset:0;}
.home-hero-slide{opacity:0;transition:opacity 1.05s var(--ease);}
.home-hero-slide.active{opacity:1;z-index:1;}
.home-hero-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.035);transition:transform 8s linear;}
.home-hero-slide.active img{transform:scale(1);}
.home-hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(48,28,27,.34) 0%,rgba(48,28,27,.06) 42%,rgba(48,28,27,.52) 100%),
    linear-gradient(90deg,rgba(48,28,27,.18),transparent 38%,transparent 70%,rgba(48,28,27,.14));
}
.home-hero-content{
  position:absolute;
  z-index:3;
  right:42px;
  bottom:188px;
  left:42px;
  color:var(--grv-white);
}
.home-hero-title{width:100%;}
.home-hero-bottom-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:end;
}
.home-hero-left{min-width:0;}
.home-hero-title h1{
  max-width:820px;
  margin:0;
  color:var(--grv-white);
  font-size:clamp(58px,6.4vw,104px);
  font-weight:300;
  line-height:.88;
  letter-spacing:-.055em;
}
.home-hero-right{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.home-hero-area-line{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.home-hero-area{
  display:flex;
  align-items:flex-start;
  gap:8px;
  line-height:.76;
  transform:translateY(-2px);
  transition:opacity .86s var(--text-reveal-ease),transform .92s var(--text-reveal-ease);
}
.home-hero-area-number{
  font-size:clamp(92px,10vw,164px);
  font-weight:300;
  letter-spacing:-.07em;
}
.home-hero-area-unit{
  margin-top:4px;
  font-size:18px;
}
.home-hero-title.is-changing .home-hero-area{
  opacity:0;
  transform:translate3d(0,14px,0);
  transition-duration:.24s;
}
.home-hero-title.is-entering .home-hero-area{
  opacity:0;
  transform:translate3d(0,105%,0);
  transition:none;
}
.home-hero-thumbs{
  position:absolute;
  top:calc(100% + 22px);
  right:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  width:420px;
}
.home-hero-thumbs button{
  position:relative;
  width:auto;
  height:68px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.36);
  background:transparent;
  cursor:pointer;
  opacity:.62;
  transition:opacity .35s ease,transform .35s var(--ease),border-color .35s ease;
}
.home-hero-thumbs button:hover{opacity:1;transform:translateY(-3px);}
.home-hero-thumbs button.active{opacity:1;border-color:var(--grv-white);}
.home-hero-thumbs img{width:100%;height:100%;object-fit:cover;display:block;}

@media(max-width:900px){
  .home-hero-content{bottom:112px;}
  .home-hero-bottom-row{grid-template-columns:1fr;gap:22px;}
  .home-hero-right{display:block;}
  .home-hero-area-line{justify-content:flex-start;}
  .home-hero-thumbs{
    position:static;
    width:min(100%,420px);
    margin-top:14px;
  }
  .home-hero-thumbs button{height:62px;}
}

@media(max-width:620px){
  .home-hero-content{right:20px;bottom:112px;left:20px;}
  .home-hero-title h1{font-size:clamp(44px,13.8vw,54px);}
  .home-hero-area-number{font-size:84px;}
  .home-hero-thumbs{gap:8px;}
  .home-hero-thumbs button{height:54px;}
}

@media(max-height:840px) and (min-width:901px){
  .home-hero-content{bottom:166px;}
  .home-hero-thumbs{top:calc(100% + 18px);}
  .home-hero-thumbs button{height:58px;}
}

body.home-page .site-audio-toggle{bottom:max(28px,env(safe-area-inset-bottom));}

.stats-section{padding-top:var(--section-y);padding-bottom:var(--section-y);}
.stats-grid{display:grid;grid-template-columns:4fr 7fr;gap:90px;align-items:end;}
.stats-title{display:flex;flex-direction:column;gap:18px;max-width:440px;}
.stats-list{max-width:680px;margin-left:auto;width:100%;}
.stats-main{display:grid;grid-template-columns:minmax(260px,auto) 1fr;gap:28px;align-items:end;padding:0 0 28px;}
.stats-main strong{font-size:clamp(48px,5vw,72px);line-height:.9;font-weight:300;letter-spacing:-.035em;white-space:nowrap;}
.stats-main>span{max-width:260px;padding-bottom:2px;font-size:16px;line-height:1.58;color:var(--grv-ink-2);}
.stats-row{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:23px 0;align-items:baseline;}
.stats-key{font-size:clamp(40px,4.2vw,60px);line-height:1;font-weight:300;color:var(--grv-ink-3);}
.stats-row:last-child .stats-key{font-size:14px;text-transform:uppercase;letter-spacing:.1em;}
.stats-value{font-size:16px;line-height:1.58;color:var(--grv-ink-2);}

.philosophy-band{position:relative;min-height:710px;display:flex;align-items:flex-end;overflow:hidden;background:var(--grv-brown);color:var(--grv-white);}
.philosophy-band>img,.philosophy-band>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;}
.philosophy-band .philosophy-shade{position:absolute;inset:0;background:rgba(48,28,27,.70);}
.philosophy-content{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:4fr 7fr;gap:90px;align-items:start;padding:0 var(--pad) 68px;}
.philosophy-content .grv-eyebrow{align-self:start;margin-top:6px;}
.grv-eyebrow{font-family:var(--font-sans);font-size:var(--text-eyebrow);line-height:var(--lh-label);letter-spacing:var(--ls-label);}
.philosophy-eyebrow{padding:0;border:0;background:transparent;box-shadow:none;}
.philosophy-copy{max-width:714px;margin-left:auto;}
.philosophy-copy p{max-width:714px;margin:0;font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--grv-cool-grey);}
.philosophy-copy .philosophy-lead{margin-bottom:30px;font-size:24px;font-weight:300;line-height:1.4;letter-spacing:0;color:var(--grv-paper-warm);}

.selected-projects{padding-top:var(--section-y-lg);padding-bottom:var(--section-y-lg);}
.section-head-row{align-items:flex-end;gap:32px;margin-bottom:var(--space-section-head);}
.section-head-copy{max-width:760px;}
.selected-projects-cta{min-height:52px;padding:0 28px;font-size:16px;}
.project-list{display:flex;flex-direction:column;gap:105px;}
.project-row{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:end;}
.project-row[data-project-url]{cursor:pointer;}
.project-row[data-project-url]:focus-visible{outline:2px solid var(--grv-brown);outline-offset:10px;}
.project-row.reverse{grid-template-columns:5fr 7fr;}
.project-row.reverse .project-image{order:1;}
.project-row.reverse .project-info{order:2;}
.project-image{display:block;}
.project-image .frame{min-height:0;}
.project-status--photo{display:none;}
.project-info{padding-bottom:12px;max-width:520px;}
.project-labels{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:16px;}
.project-number{font-family:var(--font-serif);font-size:42px;line-height:.8;color:var(--grv-clay);font-weight:500;}
.project-info h3{margin:0 0 13px;font-size:var(--text-h3);font-weight:var(--fw-regular);line-height:var(--lh-h3);letter-spacing:-.01em;}
.project-meta{margin:0 0 18px;font-size:16px;line-height:1.5;color:var(--grv-ink);}
.project-meta:empty{display:none;}
.project-description{margin:0 0 22px;max-width:48ch;font-size:16px;line-height:1.6;color:var(--grv-ink-2);}
.project-info .arrow-link{min-height:44px;padding:8px 6px 8px 0;font-size:16px;}

.for-whom{padding-top:var(--section-y);padding-bottom:var(--section-y);}
.rem-context-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.rem-context-label{font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-light);line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--grv-ink-3);}
.for-whom-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px 48px;}
.audience-card{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--grv-chocolate);font-family:var(--font-sans);}
.audience-card h3{margin:0;font-size:var(--text-h3);font-weight:var(--fw-regular);line-height:var(--lh-h3);letter-spacing:-.005em;color:var(--grv-ink);}
.audience-card p{margin:0;font-size:16px;line-height:1.6;color:var(--grv-ink-2);}

.tariffs-home{padding-top:var(--section-y);padding-bottom:var(--section-y);}
.tariffs-home__price-link{display:inline-flex;align-items:center;gap:12px;width:auto;min-height:48px;padding:0 24px;background:var(--grv-brown);color:var(--grv-white);text-decoration:none}
.tariffs-home__price-link .grv-text-link__arrow{color:inherit}
.tariff-grid>div>div{min-height:500px!important;}
.tariff-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:480px;padding:36px 32px 32px;overflow:hidden;border-top:1px solid var(--grv-ink);background:transparent;box-shadow:none;font-family:var(--font-sans);isolation:isolate;}
.tariff-card::before{content:"";position:absolute;inset:0;z-index:0;background:var(--grv-surface);transform:translateY(101%);transition:transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none;}
.tariff-card--featured{border-top-width:2px;background:var(--grv-surface);box-shadow:var(--shadow-inset);}
.tariff-card--featured::before{background:var(--grv-buttermilk);}
.tariff-card-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:28px;}
.tariff-card-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;}
.tariff-card-list li{position:relative;padding-left:18px;font-size:16px;line-height:1.58;color:var(--grv-ink-2);}
.tariff-card-list li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--grv-ink-2);}
.tariff-card-footer{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;}
.tariff-card-price{padding-top:18px;border-top:1px solid var(--grv-line);}
.tariff-card-price>span{font-size:32px;font-weight:var(--fw-light);letter-spacing:-.01em;color:var(--grv-ink);}
.tariff-card-price small{margin-left:6px;color:var(--grv-ink-3);font-size:var(--text-eyebrow);}
.tariff-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;}
.tariff-card-name{padding-top:4px;font-family:var(--font-sans);font-size:24px;font-weight:var(--fw-regular);line-height:1.25;letter-spacing:-.01em;text-transform:none;color:var(--grv-ink);}
.tariff-card-days{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:6px;font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-regular);line-height:1;color:var(--grv-ink-2);white-space:nowrap;}
.tariff-card-days strong{font-size:clamp(32px,3vw,40px);font-weight:var(--fw-light);line-height:1;letter-spacing:-.025em;color:var(--grv-ink);}
.tariff-card .gx-btn{height:48px;padding-right:26px;padding-left:26px;font-size:16px;}
.tariff-card .gx-btn::before{transform:translateY(101%);}
.tariff-card .gx-btn:hover::before{transform:translateY(0);}
.tariff-area-note{margin:34px 0 0;padding-top:18px;border-top:1px solid var(--grv-line);font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-light);line-height:1.5;color:var(--grv-ink-3);}
@media (hover:hover){
  .tariff-card:hover::before{transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  .tariff-card::before,
  .tariff-card .gx-btn::before{transition:none;}
}

.team-intro{display:flex;min-height:clamp(700px,54vw,780px);align-items:center;background:var(--grv-paper);color:var(--grv-ink);}
.team-intro__inner{display:grid;width:100%;grid-template-columns:minmax(330px,34fr) minmax(0,66fr);gap:clamp(48px,5.5vw,88px);align-items:stretch;padding:clamp(58px,5vw,76px) var(--pad);}
.team-intro__copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:26px;}
.team-intro__title{margin:0;font-family:var(--font-sans);font-size:clamp(48px,3.5vw,50px);font-weight:var(--fw-light);line-height:1.06;letter-spacing:-.035em;color:var(--grv-ink);}
.team-intro__title span{display:block;white-space:nowrap;}
.team-intro__text{display:flex;max-width:35ch;flex-direction:column;gap:18px;}
.team-intro__text p{margin:0;font-family:var(--font-sans);font-size:17px;font-weight:var(--fw-regular);line-height:1.58;color:var(--grv-ink-2);}
.team-intro__action{margin-top:auto;}
.team-intro__media{display:block;width:100%;height:auto;min-height:clamp(430px,36vw,620px);margin:0;background:var(--grv-warm-grey);}
.team-intro__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
.team-showcase{position:relative;min-height:clamp(760px,calc(100svh - 88px),850px);overflow:hidden;isolation:isolate;background:var(--grv-dark);color:var(--grv-ink-inverse);}
.team-showcase__bg{position:absolute;inset:-42px;z-index:-3;background-position:center 22%;background-size:cover;filter:blur(28px) saturate(.68);opacity:.62;transform:scale(1.12);transition:opacity .42s ease,transform .8s var(--ease),background-image .25s ease;}
.team-showcase__bg.is-placeholder{background-image:var(--grv-brand-gradient);}
.team-showcase__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(48,28,27,.46),rgba(48,28,27,.18) 48%,rgba(48,28,27,.56)),linear-gradient(90deg,rgba(48,28,27,.3),transparent 38%,transparent 62%,rgba(48,28,27,.3));}
.team-showcase__inner{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1440px);min-height:clamp(760px,calc(100svh - 88px),850px);margin:0 auto;padding:clamp(96px,7vw,112px) var(--pad) 24px;}
.team-showcase__head{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;}
.team-showcase__heading{display:flex;flex-direction:column;max-width:720px;}
.team-showcase__heading .gx-mask{padding-top:.12em;margin-top:-.12em;}
.team-showcase__title{margin:0;font-family:var(--font-sans);font-size:clamp(28px,2.4vw,36px);font-weight:var(--fw-light);line-height:1.08;letter-spacing:-.025em;text-transform:none;color:var(--grv-ink-inverse);}
.team-showcase__subtitle{margin:0;max-width:650px;font-family:var(--font-sans);font-size:18px;font-weight:var(--fw-regular);line-height:1.55;color:color-mix(in srgb,var(--grv-ink-inverse) 76%,transparent);}
.team-showcase__counter{flex:none;padding-top:7px;font-size:13px;font-weight:var(--fw-regular);line-height:1;letter-spacing:.18em;color:color-mix(in srgb,var(--grv-ink-inverse) 72%,transparent);font-variant-numeric:tabular-nums;}
.team-showcase__stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:16px 0 10px;touch-action:pan-y;}
.team-showcase__card{position:relative;width:clamp(270px,21vw,330px);transition:opacity .34s ease,transform .62s var(--ease);}
.team-showcase__photo-shell{position:relative;width:100%;}
.team-showcase__photo{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--grv-warm-grey);}
.team-showcase__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.78) contrast(.95);transition:opacity .34s ease,transform .62s var(--ease);}
.team-showcase__photo{display:flex;align-items:flex-end;justify-content:center;}
.team-showcase__placeholder{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--grv-brand-gradient);color:var(--grv-white);}
.team-showcase__placeholder span{font-family:var(--font-sans);font-size:clamp(58px,6vw,92px);font-weight:var(--fw-light);line-height:1;letter-spacing:-.05em;}
.team-showcase__placeholder small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grv-ink-3);}
.team-showcase__meta{padding-top:12px;}
.team-showcase__meta h3{margin:0 0 5px;font-family:var(--font-sans);font-size:clamp(26px,2vw,30px);font-weight:var(--fw-light);line-height:1.08;letter-spacing:-.025em;color:var(--grv-ink-inverse);}
.team-showcase__meta p{margin:0;font-family:var(--font-sans);font-size:14px;font-weight:var(--fw-light);line-height:1.45;color:color-mix(in srgb,var(--grv-ink-inverse) 72%,transparent);}
.team-showcase__meta p+p{margin-top:2px;}
.team-showcase__footer{display:flex;align-items:flex-end;justify-content:flex-start;}
.team-showcase__controls{position:absolute;z-index:3;top:50%;right:-72px;left:-72px;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%);}
.team-showcase__controls button{pointer-events:auto;}
.team-showcase__controls button{width:52px;height:52px;padding:0;border:1px solid color-mix(in srgb,var(--grv-ink-inverse) 36%,transparent);border-radius:0;background:color-mix(in srgb,var(--grv-dark) 42%,transparent);color:var(--grv-ink-inverse);font-size:18px;line-height:1;cursor:pointer;transition:background .36s var(--ease),color .36s var(--ease),border-color .36s var(--ease);}
.team-showcase__controls button:hover{border-color:var(--grv-ink-inverse);background:var(--grv-ink-inverse);color:var(--grv-dark);}
.team-showcase.is-switching .team-showcase__card{opacity:.22;transform:translateY(5px);}
.team-showcase.is-switching .team-showcase__bg{opacity:.24;transform:scale(1.135);}
@media (max-height:800px) and (min-width:768px){.team-showcase__inner{padding-top:96px;padding-bottom:18px;}.team-showcase__heading{gap:10px;}.team-showcase__stage{padding:8px 0 6px;}.team-showcase__card{width:clamp(230px,18vw,270px);}.team-showcase__meta{padding-top:8px;}.team-showcase__meta h3{margin-bottom:3px;font-size:24px;}}
@media (prefers-reduced-motion:reduce){.team-intro__media img,.team-showcase__bg,.team-showcase__card,.team-showcase__photo img,.team-showcase__controls button{transition:none;}}

.rem-home{padding-top:var(--section-y);padding-bottom:var(--section-y);}
.buildable-grid{display:grid;grid-template-columns:minmax(410px,1fr) minmax(0,1.75fr);gap:clamp(56px,5vw,88px);align-items:stretch;}
.buildable-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:34px;padding-top:2px;}
.buildable-copy-top,.buildable-copy-bottom{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:24px;}
.buildable-eyebrow{margin-bottom:8px;}
.buildable-title{margin:0;font-family:var(--font-sans);font-size:clamp(44px,3.45vw,50px);font-weight:var(--fw-light);line-height:1.08;letter-spacing:-.035em;color:var(--grv-ink);}
.buildable-title span{display:block;white-space:nowrap;}
.buildable-benefits{display:flex;width:100%;max-width:42ch;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;font-family:var(--font-sans);font-size:18px;line-height:1.5;color:var(--grv-ink);}
.buildable-benefits li{padding:20px 22px;border:1px solid var(--grv-line);background:color-mix(in srgb,var(--grv-surface) 88%,var(--grv-buttermilk) 12%);}
.rem-people-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.2vw,36px);align-items:start;}
.rem-person{display:flex;flex-direction:column;min-width:0;}
.rem-person-photo{width:100%;aspect-ratio:2 / 3;overflow:hidden;background:var(--grv-warm-grey);}
.rem-person-photo picture,.rem-person-photo img{display:block;width:100%;height:100%;}
.rem-person-photo img{object-fit:cover;}
.rem-person-title{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding-top:18px;}
.rem-person-title h3{margin:0;font-size:clamp(22px,1.65vw,24px);font-weight:var(--fw-regular);line-height:1.2;letter-spacing:-.02em;color:var(--grv-ink);}
.rem-person-title span{font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--grv-ink-3);text-align:right;}
.rem-person>p{margin:17px 0 0;max-width:47ch;font-size:15px;line-height:1.55;color:var(--grv-ink-2);}
.build-site-section{padding-top:clamp(80px,6.5vw,104px);padding-bottom:0;}
.build-site-carousel{display:grid;grid-template-columns:minmax(190px,.48fr) minmax(0,2fr);gap:clamp(36px,4vw,64px);align-items:start;margin-top:0;}
.build-site-aside{display:flex;flex-direction:column;align-items:flex-start;min-height:100%;gap:22px;}
.build-site-title{margin:0 0 20px;max-width:9ch;font-family:var(--font-sans);font-size:clamp(46px,3.5vw,50px);font-weight:var(--fw-light);line-height:1.02;letter-spacing:-.035em;color:var(--grv-ink);}
.build-site-carousel .site-car-nav{margin-top:auto;}
.build-site-carousel .site-car-nav button{width:52px;height:52px;border-radius:0;font-size:18px;}
.build-site-carousel .site-car-nav button:disabled{opacity:.28;cursor:default;background:transparent;color:var(--grv-ink-3);border-color:var(--grv-line);}
.build-site-main{min-width:0;}
.build-site-track{gap:20px;scroll-snap-type:x mandatory;}
.build-site-card,.build-site-card:first-child{width:auto;flex:0 0 calc((100% - 40px)/3);min-width:0;}
.build-site-card>picture{display:block;width:100%;height:clamp(430px,32vw,470px);overflow:hidden;background:var(--grv-warm-grey);}
.build-site-card>picture>img{display:block;width:100%;height:100%;object-fit:cover;border:0;transition:transform .7s var(--ease);}
.build-site-card:hover>picture>img{transform:scale(1.035);}
.build-site-carousel .site-car-bar{margin-top:34px;}
@media (prefers-reduced-motion:reduce){.build-site-card>picture>img{transition:none;}.build-site-track{scroll-behavior:auto;}}

.partners-home{padding-top:clamp(108px,9vw,144px);padding-bottom:clamp(108px,9vw,144px);background:var(--grv-dark);color:var(--grv-ink-inverse);}
.partners-layout{display:grid;grid-template-columns:minmax(390px,36%) minmax(0,1fr);gap:clamp(58px,6vw,96px);align-items:start;}
.partners-copy{position:sticky;top:120px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;}
.partners-eyebrow{margin:0;font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-regular);line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--grv-ink-inverse) 62%,transparent);}
.partners-title{margin:0;max-width:16ch;font-family:var(--font-sans);font-size:clamp(48px,3.5vw,50px);font-weight:var(--fw-light);line-height:1.08;letter-spacing:-.035em;color:var(--grv-ink-inverse);}
.partners-title span{display:block;white-space:nowrap;}
.partners-description{margin:4px 0 0;max-width:460px;font-family:var(--font-sans);font-size:17px;font-weight:var(--fw-regular);line-height:1.6;color:color-mix(in srgb,var(--grv-ink-inverse) 72%,transparent);}
.partners-groups{display:flex;min-width:0;flex-direction:column;gap:42px;}
.partners-group{min-width:0;}
.partners-group-title{margin:0 0 14px;font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-regular);line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--grv-ink-inverse) 62%,transparent);}
.partners-home .partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:14px;}
.partners-home .plogo{position:relative;min-height:184px;padding:30px 22px;border:1px solid color-mix(in srgb,var(--grv-ink-inverse) 16%,transparent);background:var(--grv-dark-2);overflow:hidden;transition:background .36s var(--ease),border-color .36s var(--ease);}
.partners-home .plogo-mark{font-family:var(--font-sans);font-size:clamp(17px,1.45vw,21px);font-weight:var(--fw-regular);line-height:1.25;letter-spacing:-.01em;color:var(--grv-ink-inverse);transition:transform .36s var(--ease),color .36s var(--ease);}
.partners-home .plogo:hover{background:color-mix(in srgb,var(--grv-dark-2) 86%,var(--grv-paper) 14%);border-color:color-mix(in srgb,var(--grv-ink-inverse) 34%,transparent);}
.partners-home .plogo:hover .plogo-mark{color:var(--grv-ink-inverse);transform:translateY(-3px);}
.partners-grid--developments .plogo{min-height:132px;}
.partners-home .supplier-card{display:flex;min-width:0;min-height:184px;flex-direction:column;align-items:center;justify-content:space-between;gap:20px;text-align:center;background:color-mix(in srgb,var(--grv-paper) 94%,var(--grv-brown) 6%);border-color:color-mix(in srgb,var(--grv-paper) 62%,transparent);}
.supplier-card img{display:block;width:min(78%,180px);height:68px;max-width:180px;max-height:68px;object-fit:contain;object-position:center;mix-blend-mode:multiply;filter:grayscale(1) sepia(.18) saturate(.55) contrast(1.12);opacity:.82;transition:opacity .36s var(--ease),transform .36s var(--ease);}
.supplier-category{font-size:12px;font-weight:var(--fw-regular);line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--grv-brown) 62%,transparent);}
.partners-home .supplier-card:hover{background:var(--grv-paper);border-color:color-mix(in srgb,var(--grv-paper) 78%,transparent);}
.supplier-card:hover img{opacity:1;transform:translateY(-2px);}

/* Residential references stay inside the original partners composition. */
.residential-list-shell{overflow:visible;transition:max-height .65s var(--ease);}
.partners-home.is-ready .residential-list-shell{overflow:hidden;}
.partners-home .residential-list{margin:0;padding:0;list-style:none;}
.partners-home .residential-list li{display:flex;aspect-ratio:1;min-width:0;min-height:0;align-items:center;justify-content:center;padding:24px;border:1px solid color-mix(in srgb,var(--grv-ink-inverse) 16%,transparent);background:var(--grv-dark-2);color:var(--grv-ink-inverse);font-family:var(--font-sans);font-size:clamp(15px,1.2vw,18px);font-weight:var(--fw-light);line-height:1.3;text-align:center;transition:background .36s var(--ease),border-color .36s var(--ease),transform .36s var(--ease);}
.residential-toggle{margin-top:24px;padding:0;border:0;background:transparent;color:var(--grv-ink-inverse);font:400 15px/1.4 var(--font-sans);cursor:pointer;}
.residential-toggle::after{content:" ↓";display:inline-block;margin-left:8px;transition:transform .35s var(--ease);}
.partners-home.is-expanded .residential-toggle::after{transform:rotate(180deg);}
.partners-home .partners-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.partners-home .plogo{aspect-ratio:1;min-height:0;}
@media(hover:hover){.partners-home .residential-list li:hover{background:color-mix(in srgb,var(--grv-dark-2) 86%,var(--grv-paper) 14%);border-color:color-mix(in srgb,var(--grv-ink-inverse) 34%,transparent);transform:translateY(-2px)}}

.final-band{position:relative;height:620px;overflow:hidden;background:var(--grv-brown);color:var(--grv-white);}
.final-band>img,.final-band>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.final-band-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(48,28,27,.3),transparent 45%);}
.final-band-sign{position:absolute;right:var(--pad);bottom:40px;display:flex;align-items:center;gap:24px;font-family:var(--font-serif);font-size:34px;color:var(--grv-white);}
.sound-mark{font-family:var(--font-sans);font-size:34px;line-height:1;transform:rotate(180deg);opacity:.8;}

.queue-section{padding-top:clamp(88px,7vw,112px);padding-bottom:clamp(92px,8vw,124px);}
.capacity-grid{display:grid;grid-template-columns:minmax(460px,.82fr) minmax(0,1.38fr);gap:clamp(48px,4vw,64px);align-items:start;}
.capacity-intro{display:flex;flex-direction:column;align-items:flex-start;gap:28px;}
.capacity-title{margin:0;font-family:var(--font-sans);font-size:clamp(46px,3.7vw,58px);font-weight:var(--fw-light);line-height:.99;letter-spacing:-.045em;color:var(--grv-ink);}
.capacity-title span{display:block;white-space:nowrap;}
.capacity-lead{max-width:440px;margin:0;font-family:var(--font-sans);font-size:18px;font-weight:var(--fw-regular);line-height:1.55;color:var(--grv-ink-2);}
.capacity-panel{display:grid;gap:28px;min-width:0;}
.capacity-top{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:end;}
.capacity-number{font-family:var(--font-sans);font-size:clamp(108px,9.2vw,132px);font-weight:var(--fw-light);line-height:.76;letter-spacing:-.075em;color:var(--grv-ink);}
.capacity-number-copy{max-width:120px;padding-bottom:5px;font-size:15px;line-height:1.35;color:var(--grv-ink-2);}
.capacity-ratio{padding-bottom:6px;text-align:right;}
.capacity-ratio strong{display:block;font-size:38px;font-weight:var(--fw-light);line-height:1;letter-spacing:-.04em;color:var(--grv-ink);}
.capacity-ratio>span{display:block;margin-top:8px;font-size:13px;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;color:var(--grv-ink-3);}
.capacity-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.capacity-slot{min-width:0;height:76px;padding-top:13px;border-top:2px solid var(--grv-ink);font-size:12px;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;color:var(--grv-ink-3);}
.capacity-slot--free{border-top-color:var(--grv-buttermilk);}
.capacity-slot small{display:block;margin-top:8px;font-size:11px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--grv-ink-3);}
.capacity-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding-top:4px;}
.capacity-bottom-copy{max-width:520px;}
.capacity-status{margin:0 0 12px;font-size:15px;line-height:1.4;color:var(--grv-ink-2);}
.capacity-status span,.capacity-text span{display:block;}
.capacity-status span{white-space:nowrap;}
.capacity-text{max-width:520px;margin:0;font-size:18px;line-height:1.52;color:var(--grv-ink);}
.capacity-text span+span{margin-top:3px;}
.capacity-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;}
.capacity-actions .gx-btn{min-height:54px;}

/* 2026-08-19 — capacity copy/layout refinement. */
.capacity-top{
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}
.capacity-ratio{
  padding-bottom:6px;
  text-align:right;
}
.capacity-ratio strong{
  display:block;
  font-size:38px;
  font-weight:var(--fw-light);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--grv-ink);
}
.capacity-ratio>span{
  display:block;
  margin-top:8px;
  font-size:13px;
  line-height:1.3;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--grv-ink-3);
}
.capacity-bottom{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:22px;
  padding-top:4px;
}
.capacity-bottom-copy,
.capacity-text{
  width:100%;
  max-width:none;
}
.capacity-text span{
  display:block;
  width:100%;
}
.capacity-actions{
  justify-content:flex-start;
}



/* 2026-08-19 — capacity availability returns to the left, no 4/6 metric. */
.capacity-top{
  display:flex;
  justify-content:flex-start;
  align-items:flex-end;
  gap:22px;
}
.capacity-number{
  text-align:left;
}
.capacity-number-copy{
  text-align:left;
}



/* 2026-08-19 — selected project CTA refinement. */
.project-row{align-items:end}
.project-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-bottom:0;
}
.project-view-btn{
  min-height:52px;
  margin-top:0;
  padding-inline:24px;
  font-size:16px;
}
.project-view-btn .gx-btn-label{white-space:nowrap}

/* Capacity heading: deliberate 3-line editorial rhythm. */
.capacity-title span{display:block;white-space:nowrap}



/* Team slide: centered portrait, metadata below it, long note higher on the right. */
.team-showcase__stage{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) clamp(270px,21vw,330px) minmax(260px,1fr);
  align-content:center;
  align-items:start;
  gap:clamp(48px,6vw,96px);
}
.team-showcase__card{grid-column:2;width:100%;align-self:start}
.team-showcase__note{
  grid-column:3;
  align-self:start;
  max-width:390px;
  margin-top:0;
  padding-right:clamp(0px,3vw,40px);
}
.team-showcase__note p{
  margin:0;
  font-size:16px;
  font-weight:300;
  line-height:1.55;
  color:color-mix(in srgb,var(--grv-ink-inverse) 78%,transparent);
}
@media(max-width:1100px){
  .team-showcase__stage{grid-template-columns:minmax(0,1fr) 300px minmax(220px,1fr);gap:42px}
  .team-showcase__note{max-width:270px;margin-top:0;padding-right:0}
  .team-showcase__note p{font-size:14px}
}
@media(max-width:767px){
  .team-showcase__stage{display:flex !important;flex-direction:column;gap:18px}
  .team-showcase__card{width:min(72vw,280px)}
  .team-showcase__note{width:min(72vw,280px);max-width:min(72vw,280px);margin-top:0;padding-right:0;text-align:left}
  .team-showcase__note p{font-size:15px}
  .team-showcase__controls{right:-42px;left:-42px}
  .team-showcase__controls button{width:34px;height:34px;font-size:14px}
}

/* 2026-08-20 — team carousel: keep placeholder from sharing the photo row.
   The placeholder is only shown by JS when the employee photo is unavailable. */
.team-showcase__photo{
  position:relative;
  display:block;
}
.team-showcase__photo > img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-width:none;
  flex:none;
}
.team-showcase__placeholder{
  position:absolute;
  inset:0;
  z-index:2;
}
.team-showcase__placeholder[hidden]{
  display:none !important;
}
