.partner-page { background: #fffdfb; }
.partner-page .topbar, .partner-page .topbar.scrolled { display: block; padding: 0; color: var(--ink); background: rgba(255,253,251,.97); border-bottom: 1px solid var(--line); }
.partner-page .topbar-main { height: 65px; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; }
.partner-page .category-nav { height: 49px; padding: 0 5vw; display: flex; align-items: center; justify-content: center; gap: clamp(25px,5vw,70px); border-top: 1px solid #f0e4e0; }
.partner-page .category-nav a { color: #4f4243; font-size: 12px; font-weight: 600; }
.partner-page .contact-pill { color: var(--brand-red-dark); border-color: var(--brand-red-dark); }
.partner-hero { min-height: 670px; padding: 185px 7vw 110px; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); gap: 9vw; align-items: center; background: #f8eee9; }
.partner-page.vitrium-page .partner-hero { background: #edf0f1; }
.partner-hero-copy > a { color: var(--brand-red-dark); text-decoration: none; font: 600 12px var(--sans); }
.partner-hero .kicker { margin: 48px 0 16px; color: var(--brand-red-dark); }
.partner-hero h1 { font: 400 clamp(53px,6vw,90px)/.96 var(--serif); letter-spacing: -.055em; margin: 0 0 25px; }
.partner-hero h1 em { font-weight: 400; }
.partner-hero p:not(.kicker) { max-width: 610px; color: #695d59; line-height: 1.8; }
.partner-primary, .partner-contact a { display: inline-flex; align-items: center; gap: 35px; margin-top: 18px; padding: 17px 20px; color: #fff; background: var(--brand-red-dark); text-decoration: none; font: 600 12px var(--sans); }
.partner-logo-stage { min-height: 380px; display: grid; place-items: center; border: 1px solid #decac4; background: #fffdfb; position: relative; }
.partner-logo-stage::after { content: 'FILGUEIRA & FILGUEIRA · DESARROLLOS'; position: absolute; bottom: 25px; left: 25px; color: #9d8985; font: 600 10px var(--sans); letter-spacing: .1em; }
.partner-logo-stage img { width: min(80%,360px); max-height: 155px; object-fit: contain; }
.partner-project-list { padding: 105px 7vw 120px; display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 9vw; }
.partner-project-list h2 { font: 400 clamp(43px,4vw,62px)/1 var(--serif); letter-spacing: -.04em; margin: 18px 0; }
.partner-project-list p { color: #6e625e; line-height: 1.7; }
.project-folder { border-top: 2px solid var(--brand-red-dark); background: #f9f3ef; padding: 36px; min-height: 290px; display: flex; flex-direction: column; justify-content: space-between; }
.project-folder > span { color: var(--brand-red-dark); font: 600 11px var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.project-folder h3 { font: 400 43px/1 var(--serif); letter-spacing: -.04em; margin: 0 0 10px; }
.project-folder p { margin: 0; max-width: 450px; }
.project-folder a { width: fit-content; color: var(--brand-red-dark); font: 600 12px var(--sans); text-underline-offset: 4px; }
.partner-contact { background: #342722; color: #fffaf7; text-align: center; padding: 100px 20px; }
.partner-contact .kicker { color: #eec3b8; }
.partner-contact h2 { font: 400 clamp(43px,5vw,70px)/1 var(--serif); max-width: 750px; margin: 15px auto 20px; }
.partner-contact p:not(.kicker) { color: #d6c7c0; }
@media(max-width:800px) { .partner-page .topbar .category-nav { display: flex; } .partner-hero, .partner-project-list { grid-template-columns: 1fr; } .partner-logo-stage { min-height: 260px; } }
@media(max-width:600px) { .partner-page .topbar-main { height: 60px; padding: 0 18px; } .partner-page .category-nav { height: 48px; padding: 0 18px; justify-content: flex-start; gap: 22px; overflow-x: auto; } .partner-page .category-nav a { white-space: nowrap; } .partner-hero { padding: 150px 22px 80px; gap: 45px; } .partner-hero .kicker { margin-top: 35px; } .partner-project-list { padding: 80px 22px; gap: 30px; } .project-folder { padding: 25px; } }

/* Project galleries shared by the Altius and Vitrium pages. */
.partner-page .category-nav a.active { color: var(--brand-red-dark); }
.partner-feature-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 670px; background: #f8f0ec; }
.partner-feature-copy { padding: 165px 6vw 80px 7vw; align-self: center; }
.partner-back { display: inline-block; margin-bottom: 60px; color: var(--brand-red-dark); font: 600 12px var(--sans); text-decoration: none; }
.partner-feature-copy .kicker { margin-bottom: 16px; color: var(--brand-red-dark); }
.partner-heading-logo { display: block; width: min(190px,45%); height: 65px; object-fit: contain; object-position: left center; margin: 5px 0 18px; }
.partner-feature-copy h1 { max-width: 760px; margin: 0 0 24px; font: 400 clamp(53px,5.6vw,86px)/.98 var(--serif); letter-spacing: -.055em; }
.partner-feature-copy h1 em, .partner-section-head h2 em { font-weight: 400; }
.partner-feature-copy > p:not(.kicker) { max-width: 550px; color: #625754; line-height: 1.75; }
.partner-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 26px; }
.partner-hero-actions .partner-primary { margin: 0; }
.partner-secondary { color: var(--brand-red-dark); font: 600 12px var(--sans); text-decoration: none; text-underline-offset: 4px; }
.partner-feature-visual { min-height: 670px; position: relative; overflow: hidden; background: #d8d9d4; }
.partner-feature-visual img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; }
.partner-feature-visual::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.38)); }
.partner-feature-visual span { position: absolute; z-index: 1; bottom: 31px; left: 35px; color: white; font: 600 11px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.partner-ribbon { display: flex; justify-content: space-around; gap: 20px; padding: 22px 5vw; background: #fff; border-bottom: 1px solid var(--line); color: #746865; font: 600 10px var(--sans); letter-spacing: .14em; }
.partner-catalog, .partner-commercial { padding: 95px 7vw 115px; }
.partner-commercial { background: #f8f1ed; }
.partner-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.55fr); align-items: end; gap: 35px; margin-bottom: 42px; }
.partner-section-head .kicker { color: var(--brand-red-dark); }
.partner-section-head h2 { max-width: 750px; margin: 14px 0 0; font: 400 clamp(48px,5vw,72px)/1 var(--serif); letter-spacing: -.055em; }
.partner-section-head > p { max-width: 400px; color: #746965; font-size: 13px; line-height: 1.7; }
.partner-project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.partner-project-card { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); min-height: 385px; background: #fff; border: 1px solid #eadeda; overflow: hidden; }
.partner-project-image { position: relative; min-height: 385px; background: #d3d8d6; overflow: hidden; }
.partner-project-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center top; transition: transform .6s ease; }
.altius-page .partner-project-image img[src*="altius-nostrum-uruguay"] { object-position: center bottom; }
.altius-page .partner-project-image img[src*="altius-plaza2"], .altius-page .partner-project-image img[src*="altius-flow"], .altius-page .partner-project-image img[src*="altius-nostrum-central"], .altius-page .partner-project-image img[src*="altius-nostrum-bay"] { object-position: center 25%; }
.altius-page .partner-project-image img[src*="altius-more-botavara"], .altius-page .partner-feature-visual img[src*="altius-more-botavara"] { object-position: right center; }
.partner-project-card:hover .partner-project-image img { transform: scale(1.035); }
.partner-project-image span { position: absolute; bottom: 0; left: 0; padding: 12px 14px; color: white; background: rgba(28,25,24,.76); font: 600 10px var(--sans); letter-spacing: .11em; }
.partner-project-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 27px 27px; }
.partner-project-copy .partner-type { margin: 0 0 8px; color: var(--brand-red-dark); font: 600 10px var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.partner-project-copy h3 { margin: 0 0 11px; font: 400 clamp(34px,3vw,46px)/.98 var(--serif); letter-spacing: -.035em; }
.partner-project-copy > p:not(.partner-type) { color: #726763; font-size: 12px; line-height: 1.65; margin: 0 0 16px; }
.partner-price { margin-top: auto; display: flex; flex-direction: column; gap: 2px; border-top: 1px solid #eadeda; padding-top: 16px; width: 100%; }
.partner-price small { color: #8a7b76; font-size: 10px; }
.partner-price strong { color: #1e1b1b; font: 400 31px var(--serif); }
.partner-project-copy > a { display: inline-block; margin-top: 19px; color: var(--brand-red-dark); font: 600 12px var(--sans); text-decoration: underline; text-underline-offset: 4px; }
.partner-price-note { margin: 30px 0 0; max-width: 1000px; color: #746965; font-size: 11px; line-height: 1.65; }
.partner-page.vitrium-page .partner-feature-hero { background: #edf0ef; }
.partner-page.vitrium-page .partner-feature-visual { background: #d6dedb; }
.partner-page.vitrium-page .partner-feature-visual img { object-fit: contain; }
@media (max-width:1050px) { .partner-project-card { grid-template-columns: 1fr; } .partner-project-image { min-height: 330px; } .partner-project-image img { position: relative; height: 330px; } }
@media (max-width:800px) { .partner-feature-hero { grid-template-columns: 1fr; } .partner-feature-copy { padding: 155px 6vw 70px; } .partner-feature-visual { min-height: 430px; } .partner-section-head { grid-template-columns: 1fr; gap: 10px; } }
@media (max-width:600px) { .partner-feature-copy { padding: 140px 22px 63px; } .partner-back { margin-bottom: 37px; } .partner-feature-visual { min-height: 350px; } .partner-ribbon { justify-content: flex-start; overflow-x: auto; } .partner-ribbon span { white-space: nowrap; } .partner-catalog, .partner-commercial { padding: 75px 22px; } .partner-project-grid { grid-template-columns: 1fr; } .partner-project-image, .partner-project-image img { min-height: 290px; height: 290px; } .partner-section-head h2 { font-size: 46px; } .partner-feature-copy h1 { font-size: 55px; } }
@media (prefers-reduced-motion: reduce) { .partner-project-image img { transition: none; } }
