.office-page .nav-v3 a[aria-current="page"] { color: var(--paper); }
.office-page .nav-v3 a[aria-current="page"]::after { right: 0; }
.office-page .menu-v3 nav a[aria-current="page"] { color: var(--gold-soft); }

.page-section { padding: 125px 0; }

.office-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 84px);
  background:
    radial-gradient(circle at 78% 42%, rgba(201, 169, 110, .075), transparent 27%),
    linear-gradient(105deg, #09090b 0%, #0a0a0c 58%, #100e0c 100%);
}
.office-hero::before {
  position: absolute;
  content: "Escritório";
  left: 4%;
  top: 37%;
  color: rgba(237, 234, 228, .018);
  font-family: var(--serif);
  font-size: clamp(115px, 17vw, 250px);
  line-height: 1;
  pointer-events: none;
}
.office-hero-grid {
  min-height: calc(100vh - 84px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 85px;
  padding-top: 68px;
  padding-bottom: 82px;
}
.office-hero-copy { position: relative; z-index: 2; }
.office-hero .hero-display,
.office-story h2,
.office-approach h2,
.office-spaces h2,
.office-principles h2 {
  margin: 0 0 28px;
  font-family: var(--serif);
  font-size: clamp(46px, 4.7vw, 66px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.office-hero .hero-display em,
.office-story h2 em,
.office-approach h2 em,
.office-spaces h2 em,
.office-principles h2 em { color: var(--gold-soft); font-weight: 400; }
.office-hero-lead { max-width: 620px; margin-bottom: 35px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.office-hero-actions { display: flex; align-items: center; gap: 27px; flex-wrap: wrap; }
.office-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 55px; padding-top: 25px; border-top: 1px solid var(--border-white); }
.office-hero-facts > div { padding-right: 18px; }
.office-hero-facts > div + div { padding-left: 18px; border-left: 1px solid var(--border-white); }
.office-hero-facts strong { display: block; margin-bottom: 4px; color: var(--gold-soft); font-family: var(--serif); font-size: 20px; font-weight: 400; }
.office-hero-facts span { display: block; color: var(--muted); font-size: 10px; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; }

.office-hero-visual { position: relative; z-index: 2; height: 610px; }
.office-hero-visual::before { position: absolute; content: ""; inset: 38px 25px -10px -25px; border: 1px solid var(--border); }
.office-hero-main-photo { position: absolute; inset: 0 0 45px 52px; overflow: hidden; margin: 0; border: 1px solid var(--border); background: var(--panel); }
.office-hero-main-photo::after { position: absolute; content: ""; inset: 0; background: linear-gradient(180deg, transparent 54%, rgba(10, 10, 12, .38)); }
.office-hero-main-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.03) brightness(.9); }
.office-hero-building { position: absolute; z-index: 2; left: 0; bottom: 0; width: 42%; height: 245px; overflow: hidden; margin: 0; border: 1px solid var(--border); box-shadow: 22px -18px 45px rgba(0, 0, 0, .35); }
.office-hero-building img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.6) contrast(1.04) brightness(.8); }
.office-hero-seal { position: absolute; z-index: 3; right: -8px; bottom: 22px; width: 110px; height: 110px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 13px; color: var(--gold-soft); background: rgba(10, 10, 12, .96); border: 1px solid var(--border); border-radius: 50%; }
.office-hero-seal span { font-family: var(--serif); font-size: 27px; text-align: center; }
.office-hero-seal small { padding-left: 9px; border-left: 1px solid var(--border); color: var(--muted); font-size: 9px; line-height: 1.35; text-transform: uppercase; }

.office-story { background: var(--black); }
.office-story-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 110px; align-items: start; }
.office-story-heading { position: sticky; top: 125px; }
.office-story-heading > p:not(.label-v3) { color: var(--muted); font-size: 15px; }
.office-timeline { border-top: 1px solid var(--border); }
.office-timeline article { display: grid; grid-template-columns: 82px 1fr; gap: 27px; padding: 36px 4px; border-bottom: 1px solid var(--border); }
.office-timeline article > span { color: var(--gold); font-family: var(--serif); font-size: 20px; font-style: italic; }
.office-timeline h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.office-timeline p { margin: 0; color: var(--muted); font-size: 14px; }

.office-approach { padding: 120px 0; background: var(--black-soft); border-top: 1px solid var(--border-white); border-bottom: 1px solid var(--border-white); }
.office-approach-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 100px; align-items: start; margin-bottom: 75px; }
.office-approach-copy { padding-top: 8px; }
.office-approach-copy > p { color: var(--muted); font-size: 16px; }
.office-approach-copy blockquote { margin: 30px 0 0; color: var(--gold-soft); font-family: var(--serif); font-size: 24px; font-style: italic; }
.office-pillars { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border-white); }
.office-pillars article { min-height: 245px; padding: 35px 30px; border-bottom: 1px solid var(--border-white); }
.office-pillars article + article { border-left: 1px solid var(--border-white); }
.office-pillars article > span { display: block; margin-bottom: 38px; color: var(--gold); font-family: var(--serif); font-style: italic; }
.office-pillars h3 { margin-bottom: 9px; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.office-pillars p { margin: 0; color: var(--muted); font-size: 14px; }

.office-spaces { background: var(--black); }
.office-spaces-heading { display: grid; grid-template-columns: 1fr .5fr; align-items: end; gap: 80px; margin-bottom: 58px; }
.office-spaces-heading > p { margin: 0; color: var(--muted); font-size: 14px; }
.office-spaces-gallery { min-height: 590px; display: grid; grid-template-columns: .88fr .72fr 1.1fr; gap: 10px; }
.office-spaces-gallery figure { position: relative; overflow: hidden; margin: 0; border: 1px solid var(--border); background: var(--panel); }
.office-spaces-gallery figure::after { position: absolute; content: ""; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(10, 10, 12, .24)); pointer-events: none; }
.office-spaces-gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.03) brightness(.9); transition: transform 450ms ease, filter 450ms ease; }
.office-spaces-gallery figure:hover img { transform: scale(1.025); filter: saturate(.9) brightness(.97); }
.space-meeting img { object-position: center; }
.space-lounge img { object-position: center; }
.space-reception img { object-position: center; }

.office-principles { background: #0d0c0b; border-top: 1px solid var(--border-white); }
.office-principles-heading { max-width: 790px; margin-bottom: 60px; }
.office-principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.office-principles-grid article { min-height: 390px; display: flex; flex-direction: column; padding: 38px 34px; border: 1px solid var(--border); margin: -1px 0 0 -1px; background: linear-gradient(145deg, rgba(201, 169, 110, .04), transparent 48%); }
.principle-number { margin-bottom: 45px; color: var(--gold); font-family: var(--serif); font-size: 19px; font-style: italic; }
.office-principles-grid h3 { margin-bottom: 16px; font-family: var(--serif); font-size: 31px; font-weight: 400; }
.office-principles-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.values-card ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.values-card li { padding: 6px 10px; color: var(--muted); border: 1px solid var(--border); font-size: 11px; }

@media (max-width: 1050px) {
  .office-hero-grid { gap: 50px; }
  .office-hero-main-photo { left: 30px; }
  .office-story-grid { gap: 70px; }
  .office-approach-grid { gap: 70px; }
}

@media (max-width: 820px) {
  .page-section { padding: 95px 0; }
  .office-hero { min-height: auto; }
  .office-hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 65px; padding-top: 85px; padding-bottom: 110px; }
  .office-hero-visual { max-width: 600px; width: 92%; height: 640px; margin-left: auto; }
  .office-story-grid, .office-approach-grid, .office-spaces-heading { grid-template-columns: 1fr; gap: 45px; }
  .office-story-heading { position: static; }
  .office-pillars { grid-template-columns: 1fr; }
  .office-pillars article + article { border-left: 0; }
  .office-spaces-gallery { min-height: 760px; grid-template-columns: repeat(2, 1fr); grid-template-rows: .9fr 1.1fr; }
  .space-reception { grid-column: 1 / -1; }
  .office-principles-grid { grid-template-columns: 1fr; }
  .office-principles-grid article { min-height: auto; }
}

@media (max-width: 560px) {
  .page-section { padding: 78px 0; }
  .office-hero-grid { padding-top: 65px; padding-bottom: 86px; }
  .office-hero .hero-display, .office-story h2, .office-approach h2, .office-spaces h2, .office-principles h2 { font-size: 43px; }
  .office-hero-actions { align-items: stretch; flex-direction: column; }
  .office-hero-actions .quiet-link { align-self: flex-start; }
  .office-hero-facts { grid-template-columns: 1fr; }
  .office-hero-facts > div { padding: 14px 0; }
  .office-hero-facts > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--border-white); }
  .office-hero-visual { width: calc(100% - 8px); height: 520px; }
  .office-hero-visual::before { inset: 25px 14px -8px -14px; }
  .office-hero-main-photo { inset: 0 0 35px 30px; }
  .office-hero-building { width: 44%; height: 195px; }
  .office-hero-seal { width: 92px; height: 92px; right: -7px; bottom: 12px; }
  .office-hero-seal span { font-size: 23px; }
  .office-hero-seal small { font-size: 8px; }
  .office-timeline article { grid-template-columns: 62px 1fr; gap: 18px; padding: 29px 0; }
  .office-approach { padding: 78px 0; }
  .office-approach-grid { margin-bottom: 55px; }
  .office-pillars article { min-height: auto; padding: 31px 20px; }
  .office-pillars article > span { margin-bottom: 25px; }
  .office-spaces-gallery { min-height: 700px; gap: 8px; }
  .office-principles-heading { margin-bottom: 42px; }
  .office-principles-grid article { padding: 32px 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .office-spaces-gallery img { transition-duration: .01ms !important; }
}
