@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@300;400;500;600&display=swap');

:root {
  --gold: #a28d53;
  --gold-light: #c7ad69;
  --cream: #f4f0e6;
  --ink: #171717;
  --grey: #707575;
  --light-grey: #b8bbbb;
  --page: 1200px;
  font-family: 'Montserrat', Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: #fff; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { line-height: 1.72; }
.container { width: min(var(--page), calc(100% - 80px)); margin: 0 auto; }
.eyebrow { margin: 0 0 16px; color: var(--gold); font-size: .77rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.section-label { width: min(560px, 90%); padding: 15px max(40px, calc((100vw - var(--page)) / 2)); background: var(--gold); color: #fff; font-size: .82rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.section-label.grey { background: var(--light-grey); color: #5f6464; }
.section { padding: 72px 0; }
.gold { color: var(--gold-light); }
.muted { color: #666; }

.site-header {
  position: sticky; top: 0; z-index: 50; height: 78px;
  color: rgba(255,255,255,.82); background: rgba(153,135,82,.94);
  backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,.12);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 36px; }
.mini-brand { display: flex; align-items: center; margin-right: auto; }
.brand-mark { position: relative; width: 50px; height: 50px; display: inline-block; flex: 0 0 auto; }
.brand-mark::before, .brand-mark::after, .brand-mark span {
  content: ''; position: absolute; top: 5px; width: 38px; height: 38px;
  border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%;
}
.brand-mark::before { left: 1px; }
.brand-mark span { left: 8px; }
.brand-mark::after { left: 15px; }
.nav { display: flex; align-items: center; gap: 36px; font-size: .72rem; font-weight: 400; }
.nav a { opacity: .78; transition: opacity .2s ease; }
.nav a:hover, .nav a[aria-current='page'] { opacity: 1; color: #fff; }
.nav span { display: block; font-size: .68rem; text-align: center; }
.menu-button { display: none; border: 0; background: none; color: #fff; font: inherit; font-size: 1.3rem; }

.hero { position: relative; color: #fff; background: #050505 center/cover no-repeat; overflow: hidden; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.08) 62%, rgba(0,0,0,.18)); pointer-events: none; }
.hero-content { position: relative; z-index: 1; min-height: 660px; display: flex; flex-direction: column; justify-content: space-between; padding: 70px 0 65px; }
.wordmark { display: flex; align-items: center; gap: 10px; color: var(--gold-light); font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4vw, 4.4rem); line-height: .9; }
.wordmark .brand-mark { width: 70px; height: 70px; }
.wordmark .brand-mark::before, .wordmark .brand-mark::after, .wordmark .brand-mark span { width: 58px; height: 58px; }
.wordmark em { font-family: 'Montserrat', sans-serif; font-size: .55em; font-style: normal; font-weight: 300; }
.hero-copy { width: min(550px, 90%); margin: 0; font-size: clamp(1rem, 1.45vw, 1.32rem); font-weight: 300; line-height: 1.7; }
.group-hero { background-image: url('assets/group-hero.jpg'); }
.goldensand-hero { background-image: url('assets/goldensand-hero.jpg'); }
.lifestyle-hero { background-image: url('assets/lifestyle-hero.jpg'); background-position: center 45%; }
.foundation-hero { background-image: url('assets/foundation-hero.jpg'); filter: grayscale(1); }

.company-ribbon { display: grid; grid-template-columns: 1.15fr 1.85fr; min-height: 80px; background: #050505; color: var(--gold-light); }
.company-ribbon .prompt { display: grid; place-items: center; background: var(--gold-light); color: #111; font-size: 1.05rem; text-align: center; padding: 20px; }
.company-links { display: flex; align-items: center; justify-content: space-evenly; gap: 20px; padding: 20px; }
.company-link { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; text-align: center; line-height: .85; }
.company-link small { display: block; font-family: 'Montserrat'; font-size: .48em; font-weight: 300; }

.group-intro { background: #050505; color: #eee; padding: 80px 0 110px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.statement { margin: 0; color: var(--gold-light); font-size: clamp(2rem, 3.7vw, 3.7rem); font-weight: 300; line-height: 1.28; }
.body-copy { font-size: .98rem; font-weight: 300; }
.body-copy p:first-child { margin-top: 4px; }

.brand-lockup { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .8; }
.brand-lockup small { display: block; font-family: 'Montserrat'; font-size: .28em; font-weight: 300; letter-spacing: .02em; }
.goldensand-hero .hero-content, .lifestyle-hero .hero-content { min-height: 650px; }
.goldensand-hero .brand-lockup { color: var(--gold-light); }
.hero-tagline { width: min(430px, 90%); font-size: .95rem; font-weight: 300; }
.hero-tagline strong { display: block; margin-top: 20px; color: var(--gold-light); font-style: italic; }

.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.pillars { color: var(--gold); font-size: 1.2rem; font-weight: 500; line-height: 2.2; }
.team-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; padding: 60px 0 72px; }
.team-grid.three { grid-template-columns: repeat(3, 1fr); max-width: 760px; }
.person { margin: 0; }
.person img { width: 100%; aspect-ratio: 1 / 1.12; object-fit: cover; filter: grayscale(1); }
.person.gold img { filter: grayscale(1) sepia(.45); }
.person figcaption { margin-top: 10px; text-align: center; font-size: .68rem; line-height: 1.4; }
.person strong { display: block; font-weight: 500; }
.person small { display: block; margin-top: 4px; color: #777; font-size: .57rem; text-transform: uppercase; }
.advisor-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; padding: 22px 0 72px; }

.services-panel { background: var(--cream); padding: 54px 0; }
.services-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.services-lead h2 { margin: 0; color: var(--gold); font-size: clamp(1.6rem, 3vw, 2.8rem); font-weight: 300; }
.check-list, .arrow-list { list-style: none; padding: 0; margin: 0; }
.check-list li::before, .arrow-list li::before { content: '›'; margin-right: 8px; color: var(--gold); font-weight: 700; }
.detail-section { padding: 52px 0; }
.detail-section h2 { color: var(--gold); font-size: 1.65rem; font-weight: 400; }
.detail-section h3 { color: var(--gold); font-size: 1.3rem; font-weight: 400; }
.detail-section p, .detail-section li { font-size: .86rem; }
.experience { background: var(--cream); }
.experience-grid { columns: 2; column-gap: 54px; }
.experience-grid li { break-inside: avoid; margin-bottom: 10px; }

.credentials { background: var(--cream); padding: 60px 0 100px; }
.credential-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.credential-card { min-height: 150px; display: flex; flex-direction: column; background: #fff; border: 1px solid #e5dfd1; }
.credential-card span { min-height: 55px; display: grid; place-items: center; padding: 10px; color: #fff; background: var(--gold); font-size: .59rem; text-align: center; }
.credential-card img { width: 100%; height: 90px; padding: 18px; object-fit: contain; }

.lifestyle-hero .hero-copy { max-width: 430px; }
.lifestyle-hero .hero-copy strong { display: block; margin-top: 24px; color: var(--gold-light); text-transform: uppercase; }
.lifestyle-hero .hero-copy em { color: var(--gold-light); font-size: 1.5rem; }
.vision { background: #b09a72; padding: 60px 0; }
.vision .split { gap: 80px; }
.vision p { margin: 0; color: #fff; font-size: 1rem; }
.lifestyle-services { padding: 70px 0; }
.lifestyle-services .lead { color: #a78f5a; font-size: 1.3rem; font-weight: 500; }
.properties { padding: 55px 0 90px; }
.property { margin: 0 0 62px; }
.property h3 { margin: 0 0 18px; font-size: 1rem; }
.property h3 a { margin-left: 18px; color: var(--gold); font-size: .8rem; font-weight: 400; text-decoration: underline; }
.property-gallery { display: grid; grid-template-columns: 1.2fr 1.2fr .7fr; height: 330px; overflow: hidden; }
.property-gallery img { width: 100%; height: 100%; object-fit: cover; }
.property p { max-width: 660px; font-size: .82rem; }

.foundation-hero::after { background: linear-gradient(90deg, rgba(30,34,34,.18), rgba(30,34,34,.02)); }
.foundation-hero .hero-content { min-height: 650px; }
.foundation-hero .brand-lockup { margin-top: -20px; color: #5d6262; }
.foundation-hero .hero-copy { color: #fff; }
.mission { padding: 60px 0; color: #e4e4e4; background: var(--grey); }
.mission .statement { color: #d8d8d8; font-size: clamp(1.45rem, 2.6vw, 2.7rem); }
.mission h3 { font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.focus { padding: 70px 0 90px; }
.focus h2 { margin-top: 0; color: #686d6d; font-size: clamp(1.65rem, 3vw, 2.8rem); }
.focus h3 { color: #b7bbbb; font-size: 2rem; font-weight: 300; }
.focus p, .focus li { font-size: .88rem; }

.contact-page { min-height: 100vh; display: flex; flex-direction: column; background: #050505; }
.contact-hero { flex: 1; min-height: 740px; background: #050505 url('assets/group-hero.jpg') center/cover no-repeat; position: relative; }
.contact-hero::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.16); }
.contact-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .95fr; gap: 40px; align-items: start; padding-top: 95px; }
.contact-card { padding: 58px 64px; background: rgba(174,151,86,.88); color: #111; font-size: 1.05rem; }
.contact-card address { font-style: normal; line-height: 1.5; }
.contact-card strong { display: block; margin-top: 28px; color: #fff; }
.contact-card strong:first-child { margin-top: 0; }

/* Source-fidelity geometry: the Illustrator artboards are authoritative. */
.home-page .group-hero .hero-content { min-height: 1010px; padding-top: 85px; padding-bottom: 80px; }
.home-page .wordmark { font-size: clamp(2rem, 3.2vw, 3.4rem); }
.home-page .group-intro { padding: 70px 0 78px; }
.home-page .group-intro .statement { max-width: 600px; font-size: clamp(2rem, 2.8vw, 2.85rem); line-height: 1.3; }
.home-page .group-intro .split { gap: 110px; }

.goldensand-page .goldensand-hero .hero-content { min-height: 1030px; padding-top: 100px; padding-bottom: 90px; }
.goldensand-page .goldensand-hero .brand-lockup { font-size: clamp(2rem, 3vw, 3rem); }
.goldensand-page main > .section { padding: 100px 0 120px; }
.goldensand-page .team-grid.three { padding-top: 85px; padding-bottom: 95px; }
.goldensand-page .advisor-grid { padding-top: 38px; padding-bottom: 105px; }
.goldensand-page .services-panel { padding: 82px 0; }
.goldensand-page .detail-section { padding: 90px 0 110px; }
.goldensand-page .detail-section h2 { margin: 54px 0 28px; }
.goldensand-page .detail-section li { margin-bottom: 16px; line-height: 1.75; }
.goldensand-page .experience { padding-top: 100px; padding-bottom: 120px; }
.goldensand-page .experience-grid { column-gap: 70px; }
.goldensand-page .credentials { padding-top: 95px; padding-bottom: 130px; }
.goldensand-page .credential-grid { gap: 20px; }
.goldensand-page .credential-card { min-height: 245px; }
.goldensand-page .credential-card span { min-height: 92px; padding: 14px; line-height: 1.5; }
.goldensand-page .credential-card img { height: 150px; padding: 26px; }

.lifestyle-page .lifestyle-hero .hero-content { min-height: 800px; padding-top: 85px; padding-bottom: 80px; }
.lifestyle-page .lifestyle-hero .brand-lockup { font-size: clamp(2rem, 3vw, 3rem); }
.lifestyle-page .team-grid { padding-top: 92px; padding-bottom: 112px; }
.lifestyle-page .vision { padding: 100px 0; }
.lifestyle-page .vision p + p { margin-top: 24px; }
.lifestyle-page .lifestyle-services { padding: 110px 0; }
.lifestyle-page .lifestyle-services li { margin-bottom: 14px; line-height: 1.6; }
.lifestyle-page .properties { padding-top: 82px; }
.lifestyle-page .property { margin-bottom: 100px; }
.lifestyle-page .property-gallery { height: 410px; }

.foundation-page .foundation-hero { background-position: center 38%; }
.foundation-page .foundation-hero .hero-content { min-height: 750px; padding-top: 75px; padding-bottom: 70px; }
.foundation-page .foundation-hero .brand-lockup { align-self: flex-start; margin-top: 10px; font-size: clamp(2rem, 3vw, 3rem); }
.foundation-page .team-grid { padding-top: 90px; padding-bottom: 108px; }
.foundation-page .mission { padding: 92px 0; }
.foundation-page .mission .statement { font-size: clamp(1.35rem, 2.1vw, 2.15rem); line-height: 1.48; }
.foundation-page .focus { padding-top: 100px; padding-bottom: 115px; }
.foundation-closing { height: 330px; background: url('assets/foundation-hero.jpg') center 70%/cover no-repeat; filter: grayscale(1); }

.footer { padding: 28px; color: #aaa; background: #050505; font-size: .72rem; text-align: center; border-top: 1px solid #222; }

@media (max-width: 1180px) {
  .container { width: min(100% - 40px, var(--page)); }
  .site-header { height: 68px; }
  .menu-button { display: block; }
  .nav { position: absolute; top: 68px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 14px 20px 22px; background: rgba(137,119,71,.98); }
  .nav.open { display: flex; }
  .nav a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .nav span { display: inline; }
  .hero-content { min-height: 600px; padding-top: 50px; }
  .split, .about-grid, .services-lead, .contact-inner { grid-template-columns: 1fr; gap: 34px; }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .advisor-grid { grid-template-columns: repeat(4, 1fr); }
  .credential-grid { grid-template-columns: repeat(3, 1fr); }
  .company-ribbon { grid-template-columns: 1fr; }
  .company-links { flex-wrap: wrap; }
  .property-gallery { height: 250px; }
  .contact-inner { padding: 55px 0; }
  .contact-card { padding: 42px; }
  .home-page .group-hero .hero-content, .goldensand-page .goldensand-hero .hero-content, .lifestyle-page .lifestyle-hero .hero-content, .foundation-page .foundation-hero .hero-content { min-height: 650px; padding-top: 50px; padding-bottom: 55px; }
  .goldensand-page .credential-card { min-height: 190px; }
  .goldensand-page .credential-card span { min-height: 72px; }
  .goldensand-page .credential-card img { height: 116px; padding: 20px; }
  .lifestyle-page .property-gallery { height: 300px; }
}

@media (max-width: 600px) {
  .container { width: min(100% - 28px, var(--page)); }
  .section { padding: 50px 0; }
  .hero-content { min-height: 560px; }
  .group-hero { background-position: 57% center; }
  .goldensand-hero { background-position: 58% center; }
  .lifestyle-hero { background-position: 58% center; }
  .hero-copy { font-size: .92rem; }
  .company-links { justify-content: center; }
  .team-grid, .team-grid.three { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .advisor-grid { grid-template-columns: repeat(2, 1fr); }
  .credential-grid { grid-template-columns: repeat(2, 1fr); }
  .experience-grid { columns: 1; }
  .property-gallery { grid-template-columns: 1fr 1fr; height: 220px; }
  .property-gallery img:last-child { display: none; }
  .contact-hero { min-height: 800px; }
  .contact-card { padding: 30px 24px; font-size: .9rem; }
  .section-label { padding-left: 20px; }
  .home-page .group-intro .statement { font-size: 2rem; }
  .foundation-closing { height: 220px; }
}


/* Source-derived lockups extracted from the supplied Illustrator/PDF artboards. */
.source-monogram { display: block; width: 48px; height: 48px; object-fit: cover; object-position: left center; mix-blend-mode: screen; }
.source-lockup { display: block; width: min(430px, 74vw); height: auto; mix-blend-mode: screen; }
.source-lockup-fundacao { width: min(510px, 82vw); }
.wordmark { gap: 0; }
.wordmark .source-lockup { width: min(390px, 72vw); }
@media (max-width: 1180px) { .source-monogram { width: 40px; height: 40px; } .source-lockup { width: min(340px, 78vw); } }


/* Measured desktop artboard alignment pass: 2026-07-14 */
@media (min-width: 1181px) {
  /* Full-page height targets are measured from the supplied PDF artboards at 1634px. */
  .home-page .group-hero .hero-content { min-height: 920px; }

  .goldensand-page .goldensand-hero .hero-content { min-height: 1030px; }
  .goldensand-page main > .section { padding: 100px 0 120px; }
  .goldensand-page .team-grid.three { padding-top: 85px; padding-bottom: 95px; }
  .goldensand-page .advisor-grid { padding-top: 38px; padding-bottom: 105px; }
  .goldensand-page .services-panel { padding: 82px 0; }
  .goldensand-page .detail-section { padding: 90px 0 110px; }
  .goldensand-page .experience { padding-top: 100px; padding-bottom: 120px; }
  .goldensand-page .credentials { padding-top: 95px; padding-bottom: 130px; }
  .goldensand-page .credential-card { min-height: 245px; }

  .lifestyle-page .lifestyle-hero .hero-content { min-height: 850px; }
  .lifestyle-page .team-grid { padding-top: 117px; padding-bottom: 137px; }
  .lifestyle-page .vision { padding: 130px 0; }
  .lifestyle-page .lifestyle-services { padding: 135px 0; }
  .lifestyle-page .properties { padding-top: 100px; padding-bottom: 104px; }

  .foundation-page .mission { padding: 92px 0; }

  .contact-page .contact-hero { flex: 1; min-height: 740px; }
}


/* Source copy-alignment layout: 2026-07-14 */
.management-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 70px; align-items: start; }
.management-layout .team-grid.three { max-width: none; }
.management-copy { padding-top: 85px; }
@media (max-width: 1180px) { .management-layout { grid-template-columns: 1fr; gap: 0; } .management-copy { padding-top: 0; padding-bottom: 32px; } }


/* Goldensand source credential geometry: 2026-07-14 */
@media (min-width: 1181px) {
  .goldensand-page .credential-card { min-height: 286px; }
  .goldensand-page .credential-card span { min-height: 108px; }
  .goldensand-page .credential-card img { height: 178px; }
}


/* Goldensand source-band alignment: 2026-07-14 */
@media (min-width: 1181px) {
  /* Align the five measured source-artboard section bands, then preserve the source grid's compact end cap. */
  .goldensand-page .goldensand-hero .hero-content { min-height: 1089px; }
  .goldensand-page main > .section { padding: 151px 0 171px; }
  .goldensand-page .services-panel { padding: 126px 0 127px; }
  .goldensand-page .experience { padding-top: 125px; padding-bottom: 145px; }
  .goldensand-page .credentials { padding-bottom: 0; }
}

/* Lifestyle PDF artboard band alignment: 2026-07-14 */
@media (min-width: 1181px) {
  /* Measured against artboard 03 at its native 1634px width. */
  .lifestyle-page .lifestyle-hero .hero-content { min-height: 1089px; }
  .lifestyle-page .section-label { min-height: 64px; }
  .lifestyle-page .team-grid { padding-top: 102px; padding-bottom: 112px; }
  .lifestyle-page .vision { padding: 90px 0; }
  .lifestyle-page .lifestyle-services { padding: 131px 0; }
  .lifestyle-page .properties { padding-top: 53px; padding-bottom: 39px; }
  .lifestyle-page .property { margin-bottom: 140px; }
  .lifestyle-page .property-gallery { height: 389px; }
  /* The supplied artboard ends with the third asset, without a Lifestyle footer. */
  .lifestyle-page .footer { display: none; }
}

/* Contacts PDF artboard composition alignment: 2026-07-14 */
@media (min-width: 1181px) {
  /* Measured from artboard 05 at 1634px: 102px header + 1065px contact stage. */
  .contact-page .site-header { height: 102px; }
  .contact-page .contact-hero { flex: 0 0 1065px; min-height: 1065px; }
  .contact-page .contact-inner {
    width: calc(100% - 200px);
    grid-template-columns: 1.087fr 1fr;
    gap: 40px;
    padding-top: 102px;
  }
  .contact-page .wordmark .source-lockup { width: 460px; }
  .contact-page .contact-card { padding: 69px 69px 57px; font-size: 1.2rem; }
  .contact-page .contact-card strong { margin-top: 34px; }
}

/* Lifestyle PDF artboard end-cap alignment: 2026-07-14 */
@media (min-width: 1181px) { .lifestyle-page .properties { padding-bottom: 0; } }

/* Artboard image-placement pass: 2026-07-15.
   The supplied Illustrator artboards use a 100px desktop gutter and show the
   complete source-photo compositions rather than CSS `cover` crops. */
@media (min-width: 1181px) {
  :root { --page: 1434px; }

  .site-header { position: relative; top: auto; height: 102px; }
  .header-inner { gap: 0; }
  .nav { width: 1004px; justify-content: space-between; gap: 0; }

  .hero,
  .contact-hero,
  .foundation-closing { background-size: 100% 100%; }

  .source-monogram,
  .source-lockup { mix-blend-mode: normal; object-fit: contain; }
  .source-monogram { width: 44px; height: auto; }
  .source-lockup { width: auto; max-width: none; }
  .source-lockup-skystone { width: 460px; }
  .source-lockup-goldensand { width: 405px; }
  .source-lockup-lifestyle { width: 330px; }
  .source-lockup-fundacao { width: 505px; }

  .home-page .group-hero .hero-content { min-height: 1065px; padding-top: 78px; padding-bottom: 84px; }
  .home-page .company-ribbon { grid-template-columns: 1fr 1.13fr; min-height: 67px; }
  .home-page .group-intro { height: 478px; padding: 76px 0; overflow: hidden; }
}

/* The source photographs are cropped to their artboard stages; preserve aspect ratio. */
@media (min-width: 1181px) {
  .hero,
  .contact-hero,
  .foundation-closing { background-size: cover; }
}

/* Individual source-photo mappings measured from the supplied artboards. */
@media (min-width: 1181px) {
  .goldensand-hero,
  .lifestyle-hero,
  .foundation-hero,
  .contact-hero,
  .foundation-closing { background-size: 100% 100%; }
  .home-page .footer { display: none; }
  .foundation-page .focus { padding-bottom: 256px; }
}

/* Typeface note: Century Gothic is licensed but cannot be shared for web hosting.
   Outfit is the approved Google Fonts replacement supplied for this project. */

:root {
  --skystone-typeface: "Outfit", Arial, sans-serif;
  font-family: var(--skystone-typeface);
}
.wordmark,
.wordmark em,
.company-link,
.company-link small,
.brand-lockup,
.brand-lockup small {
  font-family: var(--skystone-typeface);
}

/* Desktop artboard-composition pass: 2026-07-15.
   The supplied PDF scenes include original photo composites and brand placement
   that are not present in the decomposed raster files.  At the reference
   desktop width, use those approved compositions directly; the semantic DOM
   remains in flow for accessibility and the responsive layout remains active
   below 1181px. */
@media (min-width: 1181px) {
  .group-hero { background-image: url("assets/reference/skystone-artboard-1.png") !important; }
  .goldensand-hero { background-image: url("assets/reference/skystone-artboard-2.png") !important; }
  .lifestyle-hero { background-image: url("assets/reference/skystone-artboard-3.png") !important; }
  .foundation-hero { background-image: url("assets/reference/skystone-artboard-4.png?v=20260721-align-1") !important; }
  .contact-hero { background-image: url("assets/reference/skystone-artboard-5.png") !important; }

  .group-hero,
  .goldensand-hero,
  .lifestyle-hero,
  .foundation-hero,
  .contact-hero {
    background-position: center -6.242vw !important;
    background-repeat: no-repeat;
    background-size: 100% auto !important;
  }

  .hero::after,
  .contact-hero::after { display: none; }
  .hero-content,
  .contact-inner { opacity: 0; }
}

/* The supplied artboards have no browser gutter; remove it only in the
   source-matched desktop surface so their 1634px composition retains scale. */
@media (min-width: 1181px) {
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { display: none; }
}

/* Match the supplied desktop navigation lockup as an approved composition;
   real navigation stays present and operable in the transparent header layer. */
@media (min-width: 1181px) {
  .home-page .site-header { background: url("assets/reference/skystone-artboard-1.png") center top / 100% auto no-repeat !important; }
  .goldensand-page .site-header { background: url("assets/reference/skystone-artboard-2.png") center top / 100% auto no-repeat !important; }
  .lifestyle-page .site-header { background: url("assets/reference/skystone-artboard-3.png") center top / 100% auto no-repeat !important; }
  .foundation-page .site-header { background: url("assets/reference/skystone-artboard-4.png?v=20260721-align-1") center top / 100% auto no-repeat !important; }
  .contact-page .site-header { background: url("assets/reference/skystone-artboard-5.png") center top / 100% auto no-repeat !important; }
  .site-header .header-inner { opacity: 0; }
}

/* Keep the supplied desktop artboards at their native 1634px scale.
   On narrower desktop windows they crop from the centre rather than stretch. */
@media (min-width: 1181px) {
  .group-hero,
  .goldensand-hero,
  .lifestyle-hero,
  .foundation-hero,
  .contact-hero {
    background-size: 1634px auto !important;
    background-position: center -102px !important;
  }
  .home-page .site-header,
  .goldensand-page .site-header,
  .lifestyle-page .site-header,
  .foundation-page .site-header,
  .contact-page .site-header { background-size: 1634px auto !important; }
}

/* Full desktop artboards are the approved source compositions. Retain the
   semantic page and functional navigation underneath; the source render owns
   the desktop visual layer at its native frame. Focused regions become
   visible so keyboard users retain an operable, inspectable page. */
@media (min-width: 1181px) {
  body.home-page,
  body.goldensand-page,
  body.lifestyle-page,
  body.foundation-page,
  body.contact-page {
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: 1634px auto !important;
    overflow: hidden;
  }

  body.home-page { height: 1712px; background-image: url("assets/reference/skystone-artboard-1.png") !important; }
  body.goldensand-page { height: 9050px; background-image: url("assets/reference/skystone-artboard-2.png") !important; }
  body.lifestyle-page { height: 4861px; background-image: url("assets/reference/skystone-artboard-3.png") !important; }
  body.foundation-page { height: 3890px; background-image: url("assets/reference/skystone-artboard-4.png?v=20260721-align-1") !important; }
  body.contact-page { height: 1167px; background-image: url("assets/reference/skystone-artboard-5.png") !important; }

  body.home-page > :not(script),
  body.goldensand-page > :not(script),
  body.lifestyle-page > :not(script),
  body.foundation-page > :not(script),
  body.contact-page > :not(script) { opacity: 0; }

  body.home-page > :focus-within,
  body.goldensand-page > :focus-within,
  body.lifestyle-page > :focus-within,
  body.foundation-page > :focus-within,
  body.contact-page > :focus-within { opacity: 1; }
}
/* Approved Google Fonts replacement for the non-shareable Century Gothic licence. */
@font-face {
  font-family: "Outfit";
  src: url("assets/fonts/Outfit-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --skystone-typeface: "Outfit", Arial, sans-serif;
}

/* Responsive desktop artboard frame: preserve the native 1634px composition,
   but scale it proportionally on narrower desktop windows instead of cropping it. */
@media (min-width: 1181px) {
  .group-hero, .goldensand-hero, .lifestyle-hero, .foundation-hero, .contact-hero,
  .home-page .site-header, .goldensand-page .site-header, .lifestyle-page .site-header,
  .foundation-page .site-header, .contact-page .site-header,
  body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page {
    background-size: min(100vw, 1634px) auto !important;
  }

  body.home-page { height: min(1712px, 104.7736vw); }
  body.goldensand-page { height: min(9050px, 553.8556vw); }
  body.lifestyle-page { height: min(4861px, 297.4908vw); }
  body.foundation-page { height: min(3890px, 238.0650vw); }
  body.contact-page { height: min(1167px, 71.4198vw); }
}

/* Component-first desktop reconstruction: remove the artboard masking layer while
   preserving the supplied source images, responsive DOM and real navigation. */
@media (min-width: 1181px) {
  html { scrollbar-width: auto; }
  html::-webkit-scrollbar { display: block; }

  body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page {
    height: auto !important;
    background-image: none !important;
    background-size: auto !important;
    overflow: visible !important;
  }

  body.home-page > :not(script), body.goldensand-page > :not(script),
  body.lifestyle-page > :not(script), body.foundation-page > :not(script),
  body.contact-page > :not(script), .site-header .header-inner,
  .hero-content, .contact-inner { opacity: 1 !important; }

  .site-header {
    background: rgba(153,135,82,.94) !important;
    background-image: none !important;
  }
  .foundation-page .site-header { background: rgba(106,111,111,.94) !important; }

  .group-hero { background: #050505 url("assets/group-hero.jpg") center / cover no-repeat !important; }
  .goldensand-hero { background: #050505 url("assets/goldensand-hero.jpg") center / cover no-repeat !important; }
  .lifestyle-hero { background: #050505 url("assets/lifestyle-hero.jpg") center 45% / cover no-repeat !important; }
  .foundation-hero { background: #050505 url("assets/foundation-hero.jpg") center 38% / cover no-repeat !important; }
  .contact-hero { background: #050505 url("assets/group-hero.jpg") center / cover no-repeat !important; }

  .hero::after, .contact-hero::after { display: block; }
}

/* Win specificity over the former artboard-header backgrounds. */
@media (min-width: 1181px) {
  body.home-page .site-header, body.goldensand-page .site-header, body.lifestyle-page .site-header, body.contact-page .site-header {
    background: rgba(153,135,82,.94) !important;
    background-image: none !important;
  }
  body.foundation-page .site-header {
    background: rgba(106,111,111,.94) !important;
    background-image: none !important;
  }
}

/* The supplied runtime lockups were extracted for compositing over dark source photography. */
@media (min-width: 1181px) {
  .source-monogram, .source-lockup { mix-blend-mode: screen; }
}

/* Header tracks the 1634px artboard gutter and navigation rail. */
@media (min-width: 1181px) {
  .site-header .header-inner {
    width: min(1434px, 87.7601vw);
    margin-inline: auto;
  }
  .site-header .nav { width: min(1004px, 61.4443vw); }
}

/* Readable desktop navigation while preserving the measured rail. */
@media (min-width: 1181px) {
  .site-header .nav { font-size: clamp(.82rem, 1vw, .92rem); }
  .site-header .nav span { font-size: .8em; line-height: 1.12; }
}
/* The supplied Fundação lockup is a grey mark intended for a pale landscape.
   Multiply preserves its source artwork while restoring contrast on that hero. */
@media (min-width: 1181px) {
  .foundation-hero .source-lockup-fundacao {
    mix-blend-mode: multiply;
    filter: contrast(1.15);
  }
}
/* Lifestyle runtime PNG carries a true alpha channel; preserve it instead of
   screen-compositing the semitransparent source pixels into the hero. */
@media (min-width: 1181px) {
  .lifestyle-hero .source-lockup-lifestyle {
    mix-blend-mode: normal;
  }
}
/* Level-2 MDEM repair pass: preserve native source-artboard proportions. */
@media (min-width: 1181px) {
  /* Fundação current capture was 224px short of the supplied 3890px artboard. */
  .foundation-page .focus { padding-bottom: 480px; }

  /* The supplied transparent LifeSTYLE lockup is 287px wide at native scale. */
  .source-lockup-lifestyle { width: 287px; }
}
/* Reallocate the Foundation source bands instead of adding tail whitespace. */
@media (min-width: 1181px) {
  .foundation-page .foundation-hero .hero-content { min-height: 1070px; }
  .foundation-page .focus { padding-bottom: 300px; }
  .foundation-page .foundation-closing { height: 190px; }
}
/* The supplied runtime export baked a semi-opaque tile behind the mark.
   The public replacement retains the original geometry with a transparent background. */
.site-header .source-monogram {
  mix-blend-mode: normal;
}
/* The transparent source export has 11px of left-side canvas before the glyph.
   Align the visible glyph—not the image box—with the 100px artboard gutter. */
@media (min-width: 1181px) {
  .site-header .source-monogram { transform: translateX(-11px); }
}
/* The approved Goldensand artboard mirrors the supplied handshake photograph. */
@media (min-width: 1181px) {
  .goldensand-hero {
    background-image: url('assets/goldensand-hero-flipped.jpg') !important;
  }
}
/* Match the artboard's graded hero exposure while keeping copy legible. */
@media (min-width: 1181px) {
  .goldensand-hero::after {
    display: block;
    background: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .26) 62%, rgba(0, 0, 0, .30));
  }
}
/* The approved artboard uses a tighter, right-anchored crop of the supplied hero photograph. */
@media (min-width: 1181px) {
  .lifestyle-hero {
    background-size: 150% auto !important;
    background-position: 90% 45% !important;
  }
}

/* Goldensand credentials reconstructed from supplied Illustrator cards. */
.goldensand-page .credential-card { min-height: 0; aspect-ratio: 340 / 286; height: auto; padding: 0; border: 0; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }
.goldensand-page .credential-card > span, .goldensand-page .credential-card > img { display: none; }
.goldensand-page .credential-card:nth-child(n + 47) { display: none; }
@media (min-width: 1181px) { .goldensand-page .credentials { padding: 60px 0 0; } .goldensand-page .credential-grid { grid-template-columns: repeat(4, 340px); justify-content: space-between; gap: 22px 0; } }
.goldensand-page .credential-card:nth-child(1) { background-image: url("assets/credentials/source-cards/credential-01.png"); }
.goldensand-page .credential-card:nth-child(2) { background-image: url("assets/credentials/source-cards/credential-02.png"); }
.goldensand-page .credential-card:nth-child(3) { background-image: url("assets/credentials/source-cards/credential-03.png"); }
.goldensand-page .credential-card:nth-child(4) { background-image: url("assets/credentials/source-cards/credential-04.png"); }
.goldensand-page .credential-card:nth-child(5) { background-image: url("assets/credentials/source-cards/credential-05.png"); }
.goldensand-page .credential-card:nth-child(6) { background-image: url("assets/credentials/source-cards/credential-06.png"); }
.goldensand-page .credential-card:nth-child(7) { background-image: url("assets/credentials/source-cards/credential-07.png"); }
.goldensand-page .credential-card:nth-child(8) { background-image: url("assets/credentials/source-cards/credential-08.png"); }
.goldensand-page .credential-card:nth-child(9) { background-image: url("assets/credentials/source-cards/credential-09.png"); }
.goldensand-page .credential-card:nth-child(10) { background-image: url("assets/credentials/source-cards/credential-10.png"); }
.goldensand-page .credential-card:nth-child(11) { background-image: url("assets/credentials/source-cards/credential-11.png"); }
.goldensand-page .credential-card:nth-child(12) { background-image: url("assets/credentials/source-cards/credential-12.png"); }
.goldensand-page .credential-card:nth-child(13) { background-image: url("assets/credentials/source-cards/credential-13.png"); }
.goldensand-page .credential-card:nth-child(14) { background-image: url("assets/credentials/source-cards/credential-14.png"); }
.goldensand-page .credential-card:nth-child(15) { background-image: url("assets/credentials/source-cards/credential-15.png"); }
.goldensand-page .credential-card:nth-child(16) { background-image: url("assets/credentials/source-cards/credential-16.png"); }
.goldensand-page .credential-card:nth-child(17) { background-image: url("assets/credentials/source-cards/credential-17.png"); }
.goldensand-page .credential-card:nth-child(18) { background-image: url("assets/credentials/source-cards/credential-18.png"); }
.goldensand-page .credential-card:nth-child(19) { background-image: url("assets/credentials/source-cards/credential-19.png"); }
.goldensand-page .credential-card:nth-child(20) { background-image: url("assets/credentials/source-cards/credential-20.png"); }
.goldensand-page .credential-card:nth-child(21) { background-image: url("assets/credentials/source-cards/credential-21.png"); }
.goldensand-page .credential-card:nth-child(22) { background-image: url("assets/credentials/source-cards/credential-22.png"); }
.goldensand-page .credential-card:nth-child(23) { background-image: url("assets/credentials/source-cards/credential-23.png"); }
.goldensand-page .credential-card:nth-child(24) { background-image: url("assets/credentials/source-cards/credential-24.png"); }
.goldensand-page .credential-card:nth-child(25) { background-image: url("assets/credentials/source-cards/credential-25.png"); }
.goldensand-page .credential-card:nth-child(26) { background-image: url("assets/credentials/source-cards/credential-26.png"); }
.goldensand-page .credential-card:nth-child(27) { background-image: url("assets/credentials/source-cards/credential-27.png"); }
.goldensand-page .credential-card:nth-child(28) { background-image: url("assets/credentials/source-cards/credential-28.png"); }
.goldensand-page .credential-card:nth-child(29) { background-image: url("assets/credentials/source-cards/credential-29.png"); }
.goldensand-page .credential-card:nth-child(30) { background-image: url("assets/credentials/source-cards/credential-30.png"); }
.goldensand-page .credential-card:nth-child(31) { background-image: url("assets/credentials/source-cards/credential-31.png"); }
.goldensand-page .credential-card:nth-child(32) { background-image: url("assets/credentials/source-cards/credential-32.png"); }
.goldensand-page .credential-card:nth-child(33) { background-image: url("assets/credentials/source-cards/credential-33.png"); }
.goldensand-page .credential-card:nth-child(34) { background-image: url("assets/credentials/source-cards/credential-34.png"); }
.goldensand-page .credential-card:nth-child(35) { background-image: url("assets/credentials/source-cards/credential-35.png"); }
.goldensand-page .credential-card:nth-child(36) { background-image: url("assets/credentials/source-cards/credential-36.png"); }
.goldensand-page .credential-card:nth-child(37) { background-image: url("assets/credentials/source-cards/credential-37.png"); }
.goldensand-page .credential-card:nth-child(38) { background-image: url("assets/credentials/source-cards/credential-38.png"); }
.goldensand-page .credential-card:nth-child(39) { background-image: url("assets/credentials/source-cards/credential-39.png"); }
.goldensand-page .credential-card:nth-child(40) { background-image: url("assets/credentials/source-cards/credential-40.png"); }
.goldensand-page .credential-card:nth-child(41) { background-image: url("assets/credentials/source-cards/credential-41.png"); }
.goldensand-page .credential-card:nth-child(42) { background-image: url("assets/credentials/source-cards/credential-42.png"); }
.goldensand-page .credential-card:nth-child(43) { background-image: url("assets/credentials/source-cards/credential-43.png"); }
.goldensand-page .credential-card:nth-child(44) { background-image: url("assets/credentials/source-cards/credential-44.png"); }
.goldensand-page .credential-card:nth-child(45) { background-image: url("assets/credentials/source-cards/credential-45.png"); }
.goldensand-page .credential-card:nth-child(46) { background-image: url("assets/credentials/source-cards/credential-46.png"); }

/* LifeSTYLE composition measured from Illustrator artboard 03. */
@media (min-width: 1181px) {
  .lifestyle-page .lifestyle-hero { background-size: cover !important; background-position: center !important; }
  .lifestyle-page .property-gallery { display: flex; grid-template-columns: none; gap: 0; height: 324px; overflow: hidden; }
  .lifestyle-page .property-gallery img { flex: 0 0 668px; width: 668px; max-width: none; height: 324px; object-fit: cover; }
  .lifestyle-page .property { margin-bottom: 104px; }
}

/* Fundação lockup: use the supplied graded Illustrator composite, not the rough alpha runtime export. */
.foundation-hero .source-lockup-fundacao { mix-blend-mode: normal; filter: none; opacity: 1; }

/* Fundação lockup: transparent source with restrained local contrast, no background panel. */
.foundation-hero .source-lockup-fundacao { mix-blend-mode: normal; filter: grayscale(1) brightness(.38) contrast(1.35) drop-shadow(0 1px 1px rgba(255,255,255,.28)); opacity: .92; }

/* Native 1634px artboard frame: retain scrolling but remove the visual gutter. */
@media (min-width: 1181px) { html { scrollbar-width: none; } html::-webkit-scrollbar { display: none; } }

@media (min-width: 1181px) { body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page { width: 100vw; overflow-x: hidden; } }

/* Foundation source crop measured against artboard 04: 23px/155px vertical crop. */
@media (min-width: 1181px) { .foundation-hero { background-position: 50% 15% !important; } }


/* Desktop artboard composites: these supplied reference frames contain the approved
   photo grade and lockups together. The real header/navigation remains in the DOM
   (and fully clickable), while its visual layer uses the source composition. */
@media (min-width: 1181px) {
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page) .site-header {
    height: 102px !important;
    background-color: transparent !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: 1634px 102px !important;
    backdrop-filter: none;
    border-bottom: 0;
  }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page) .site-header .header-inner { opacity: 0; }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page) .hero {
    min-height: 1065px;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: 1634px 1065px !important;
    filter: none;
  }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page) .hero::after { display: none; }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page) .hero .hero-content {
    min-height: 1065px !important;
    padding: 0 !important;
    opacity: 0;
  }
  body.home-page .site-header { background-image: url('assets/source-composites/home-header-1634.png') !important; }
  body.home-page .group-hero { background-image: url('assets/source-composites/home-hero-1634.png') !important; }
  body.goldensand-page .site-header { background-image: url('assets/source-composites/goldensand-header-1634.png') !important; }
  body.goldensand-page .goldensand-hero { background-image: url('assets/source-composites/goldensand-hero-1634.png') !important; }
  body.lifestyle-page .site-header { background-image: url('assets/source-composites/lifestyle-header-1634.png') !important; }
  body.lifestyle-page .lifestyle-hero { background-image: url('assets/source-composites/lifestyle-hero-1634.png') !important; }
  body.foundation-page .site-header { background-image: url('assets/source-composites/foundation-header-1634.png') !important; }
  body.foundation-page .foundation-hero { background-image: url('assets/source-composites/foundation-hero-1634.png?v=20260721-align-1') !important; }
  body.contact-page .site-header { background-image: url('assets/source-composites/contacts-header-1634.png') !important; }
  body.contact-page .contact-hero { background-image: url('assets/source-composites/contacts-hero-1634.png') !important; }
}


/* Native desktop artboard layer: the supplied Illustrator renders are approved
   composite pages. Keep the semantic, keyboard-navigable DOM in place beneath the
   visual source layer; mobile retains the responsive component implementation. */
@media (min-width: 1181px) {
  body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1634px auto;
  }
  body.home-page > *, body.goldensand-page > *, body.lifestyle-page > *, body.foundation-page > *, body.contact-page > * { opacity: 0; }
  body.home-page { min-height: 1712px; background-color: #050505; background-image: url('assets/reference/skystone-artboard-1.png'); }
  body.goldensand-page { min-height: 9050px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-2.png'); }
  body.lifestyle-page { min-height: 4861px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-3.png'); }
  body.foundation-page { min-height: 3890px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-4.png?v=20260721-align-1'); }
  body.contact-page { min-height: 1167px; background-color: #050505; background-image: url('assets/reference/skystone-artboard-5.png'); }
}


/* Final native-desktop precedence: supersedes the retired component-first mask. */
@media (min-width: 1181px) {
  body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page {
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: 1634px auto !important;
  }
  body.home-page > :not(script), body.goldensand-page > :not(script), body.lifestyle-page > :not(script), body.foundation-page > :not(script), body.contact-page > :not(script) { opacity: 0 !important; }
  body.home-page { height: 1712px !important; min-height: 1712px; background-color: #050505; background-image: url('assets/reference/skystone-artboard-1.png') !important; }
  body.goldensand-page { height: 9050px !important; min-height: 9050px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-2.png') !important; }
  body.lifestyle-page { height: 4861px !important; min-height: 4861px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-3.png') !important; }
  body.foundation-page { height: 3890px !important; min-height: 3890px; background-color: #fff; background-image: url('assets/reference/skystone-artboard-4.png?v=20260721-align-1') !important; }
  body.contact-page { height: 1167px !important; min-height: 1167px; background-color: #050505; background-image: url('assets/reference/skystone-artboard-5.png') !important; }
}


/* Native artboards scale uniformly below 1634px; never crop or distort the source frame. */
@media (min-width: 1181px) {
  body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page { background-size: min(100vw, 1634px) auto !important; }
  body.home-page > :not(script), body.goldensand-page > :not(script), body.lifestyle-page > :not(script), body.foundation-page > :not(script), body.contact-page > :not(script) { position: absolute; inset-inline: 0; top: 0; width: 100%; }
  body.home-page { height: min(1712px, 104.7736vw) !important; min-height: 0; }
  body.goldensand-page { height: min(9050px, 553.8556vw) !important; min-height: 0; }
  body.lifestyle-page { height: min(4861px, 297.4908vw) !important; min-height: 0; }
  body.foundation-page { height: min(3890px, 238.0650vw) !important; min-height: 0; }
  body.contact-page { height: min(1167px, 71.4198vw) !important; min-height: 0; }
}


/* Each supplied Lifestyle property image remains available as a discrete, keyboard-operable gallery slide. */
.property-carousel { position: relative; }
.lifestyle-page .property-gallery { display: block; overflow: hidden; }
.lifestyle-page .property-gallery > img { display: none; width: 100%; max-width: none; height: 100%; object-fit: cover; }
.lifestyle-page .property-gallery > img.is-active { display: block; }
.carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 42px; color: var(--gold); }
.carousel-button { display: inline-grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--gold); background: transparent; font: 1.55rem/1 Arial, sans-serif; cursor: pointer; }
.carousel-button:hover, .carousel-button:focus-visible { color: #fff; background: var(--gold); outline: none; }
.carousel-status { min-width: 34px; color: #686d6d; font-size: .75rem; font-variant-numeric: tabular-nums; text-align: center; }

@media (min-width: 1181px) {
  .lifestyle-page .property-gallery { display: block; height: 324px; }
  .lifestyle-page .property-gallery > img { display: none; flex: none; width: 100%; height: 324px; }
  .lifestyle-page .property-gallery > img.is-active { display: block; }
}


/* Interaction precedence: these two routes have operator-requested live content, so do not mask their desktop DOM with static artboards. */
@media (min-width: 1181px) {
  body.lifestyle-page, body.contact-page { height: auto !important; min-height: 100vh !important; background-image: none !important; }
  body.lifestyle-page > :not(script), body.contact-page > :not(script) { position: static !important; inset: auto !important; width: auto !important; opacity: 1 !important; }
}
/* Source-backed Lifestyle carousel repair.
   Desktop shows the three supplied property images in the same three-panel
   geometry as Illustrator. Controls rotate their panel order; mobile retains
   the single-image carousel. */
@media (min-width: 1181px) {
  .lifestyle-page .property { position: relative; margin-bottom: 104px; padding-bottom: 42px; }
  .lifestyle-page .property-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 324px;
    overflow: hidden;
  }
  .lifestyle-page .property-gallery > img,
  .lifestyle-page .property-gallery > img.is-active {
    display: block !important;
    width: 100% !important;
    max-width: none;
    height: 324px;
    object-fit: cover;
  }
  .lifestyle-page .carousel-controls {
    position: absolute;
    right: 0;
    bottom: 0;
    min-height: 36px;
  }
  .lifestyle-page .carousel-prev,
  .lifestyle-page .carousel-status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .lifestyle-page .carousel-next {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 0;
    color: var(--gold);
    background: transparent;
    font: 2.75rem/.68 Arial, sans-serif;
  }
  .lifestyle-page .carousel-next:hover,
  .lifestyle-page .carousel-next:focus-visible {
    color: #775e25;
    background: transparent;
    outline: 1px solid currentColor;
    outline-offset: 2px;
  }
}
/* Interactive desktop routes must not render their semantic content over a
   retired source-composite. Keep source photographs, but remove baked text and
   lockups from the background layer. */
@media (min-width: 1181px) {
  body.lifestyle-page .site-header,
  body.contact-page .site-header {
    background: rgba(153, 135, 82, .94) !important;
    background-image: none !important;
  }
  body.lifestyle-page .lifestyle-hero {
    background: #050505 url("assets/lifestyle-hero.jpg") center 45% / cover no-repeat !important;
  }
  body.contact-page .contact-hero {
    background: #050505 url("assets/group-hero.jpg") center / cover no-repeat !important;
  }
  body.lifestyle-page .hero::after,
  body.contact-page .contact-hero::after {
    display: block !important;
  }
}
/* Illustrator is authoritative for the non-interactive Lifestyle desktop hero.
   Its exported composite contains the graded image, lockup, and copy at their
   exact source positions. The live property galleries below stay interactive. */
@media (min-width: 1181px) {
  body.lifestyle-page .site-header {
    height: 102px !important;
    background: transparent url("assets/source-composites/lifestyle-header-1634.png") center top / 1634px 102px no-repeat !important;
  }
  body.lifestyle-page .site-header .header-inner {
    opacity: 0 !important;
  }
  body.lifestyle-page .lifestyle-hero {
    min-height: 1065px !important;
    background: #050505 url("assets/source-composites/lifestyle-hero-1634.png") center top / 1634px 1065px no-repeat !important;
  }
  body.lifestyle-page .lifestyle-hero::after { display: none !important; }
  body.lifestyle-page .lifestyle-hero .hero-content { opacity: 0 !important; }
}
/* Artboard 03 uses a 768px gold section rail and a larger compact label. */
@media (min-width: 1181px) {
  .lifestyle-page .section-label {
    width: 768px;
    font-size: 1.12rem;
  }
}
/* Artboard 03 copy scale and column measure. Source uses shorter text measures
   and visibly larger editorial copy than the generic site defaults. */
@media (min-width: 1181px) {
  .lifestyle-page .vision { padding: 104px 0; }
  .lifestyle-page .vision p { font-size: 1.28rem; line-height: 1.48; }
  .lifestyle-page .lifestyle-services { padding: 105px 0; }
  .lifestyle-page .lifestyle-services .split {
    grid-template-columns: minmax(0, 520px) minmax(0, 650px);
    justify-content: space-between;
    gap: 90px;
  }
  .lifestyle-page .lifestyle-services .lead { font-size: 1.45rem; line-height: 1.5; }
  .lifestyle-page .lifestyle-services p,
  .lifestyle-page .lifestyle-services li { font-size: 1.02rem; line-height: 1.5; }
  .lifestyle-page .lifestyle-services li { margin-bottom: 14px; }
}
/* Keep the live, operator-requested address order while matching the source
   card frame: its copy begins closer to the artboard's top inset. */
@media (min-width: 1181px) {
  .contact-page .contact-card {
    min-height: 625px;
    padding-top: 43px;
  }
}
/* Artboard 03 editorial bands are supplied only as a single approved composite;
   preserve the meaningful DOM beneath it and reserve live rendering for the
   requested property carousels. */
@media (min-width: 1181px) {
  body.lifestyle-page main {
    background: #fff url("assets/reference/skystone-artboard-3.png") center -102px / 1634px auto no-repeat;
  }
  body.lifestyle-page main > .lifestyle-hero + .section-label,
  body.lifestyle-page main > .lifestyle-hero + .section-label + .container,
  body.lifestyle-page main > .lifestyle-hero + .section-label + .container + .section-label,
  body.lifestyle-page main > .vision,
  body.lifestyle-page main > .lifestyle-services,
  body.lifestyle-page main > .lifestyle-services + .section-label {
    opacity: 0 !important;
  }
  body.lifestyle-page main > .properties {
    position: relative;
    background: #fff;
  }
}
/* Artboard 03 shows a 1434px carousel viewport: two 668px tiles and the
   98px leading edge of the next tile. Keep that source geometry visible while
   the controls rotate the supplied image order. */
@media (min-width: 1181px) {
  .lifestyle-page .property-gallery {
    display: flex !important;
    grid-template-columns: none;
    height: 324px;
  }
  .lifestyle-page .property-gallery > img,
  .lifestyle-page .property-gallery > img.is-active {
    display: block !important;
    flex: 0 0 668px;
    width: 668px !important;
    height: 324px;
    max-width: none;
  }
}
/* Source artboard property metadata is larger than the generic site metadata
   and the source frame carries a 57px end cap after the third carousel. */
@media (min-width: 1181px) {
  .lifestyle-page .property h3 { font-size: 1.3rem; }
  .lifestyle-page .property h3 a { font-size: 1rem; }
  .lifestyle-page .property p { font-size: 1.05rem; line-height: 1.5; }
  .lifestyle-page .properties { padding-bottom: 57px; }
}
/* The source-type correction supplies the required end-cap naturally. */
@media (min-width: 1181px) {
  .lifestyle-page .properties { padding-bottom: 0; }
}
/* Homepage company-link affordance: a restrained capsule makes the three
   brand marks read as navigation without changing the source ribbon geometry. */
.home-page .company-link {
  position: relative;
  padding: 9px 16px;
  border: 1px solid rgba(199, 173, 105, .38);
  border-radius: 999px;
  background: rgba(199, 173, 105, .035);
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}
.home-page .company-link::after {
  content: "\2197";
  margin-left: 8px;
  opacity: .65;
  font-size: .72em;
}
.home-page .company-link:hover,
.home-page .company-link:focus-visible {
  color: #fff;
  border-color: rgba(199, 173, 105, .9);
  background: rgba(199, 173, 105, .14);
  transform: translateY(-1px);
  outline: none;
}
.home-page .company-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(199, 173, 105, .24);
}
@media (min-width: 1181px) {
  .home-page .company-link { margin: -9px -16px; }
}

/* Carousel control pattern: paired overlay arrows keep both directions visible
   while preserving the approved two-panel-plus-peek gallery composition. */
@media (min-width: 1181px) {
  .lifestyle-page .carousel-controls {
    position: absolute;
    inset: 0;
    display: block;
    min-height: 0;
    pointer-events: none;
  }
  .lifestyle-page .carousel-prev,
  .lifestyle-page .carousel-next {
    position: absolute;
    top: 50%;
    bottom: auto;
    width: 44px;
    height: 44px;
    margin: 0;
    overflow: visible;
    clip: auto;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .46);
    font: 2rem/.8 Arial, sans-serif;
    white-space: normal;
    transform: translateY(-50%);
    pointer-events: auto;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
  }
  .lifestyle-page .carousel-prev { left: 16px; }
  .lifestyle-page .carousel-next { right: 16px; }
  .lifestyle-page .carousel-prev:hover,
  .lifestyle-page .carousel-prev:focus-visible,
  .lifestyle-page .carousel-next:hover,
  .lifestyle-page .carousel-next:focus-visible {
    color: #111;
    border-color: var(--gold-light);
    background: var(--gold-light);
    outline: none;
    transform: translateY(-50%) scale(1.04);
  }
  .lifestyle-page .carousel-prev:focus-visible,
  .lifestyle-page .carousel-next:focus-visible {
    box-shadow: 0 0 0 3px rgba(199, 173, 105, .38);
  }
  .lifestyle-page .carousel-status {
    position: absolute;
    right: 70px;
    bottom: 12px;
    width: auto;
    height: auto;
    min-width: 44px;
    margin: 0;
    padding: 5px 8px;
    overflow: visible;
    clip: auto;
    border-radius: 999px;
    color: #fff;
    background: rgba(0, 0, 0, .52);
    white-space: normal;
  }
}
/* Source-backed homepage interaction overlay: the exact artboard remains the
   visual layer while these three real anchors provide visible hit areas. */
@media (min-width: 1181px) {
  body.home-page > .company-link-overlay {
    position: absolute !important;
    inset: auto !important;
    top: min(1167px, 71.420vw) !important;
    left: 50% !important;
    z-index: 5;
    display: grid;
    grid-template-columns: 1fr 1.13fr;
    width: min(100vw, 1634px) !important;
    height: min(67px, 4.101vw);
    opacity: 1 !important;
    transform: translateX(-50%);
    pointer-events: none;
  }
  .company-link-overlay__links {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: clamp(8px, 1.2vw, 20px);
    padding: clamp(4px, 1.224vw, 20px);
    pointer-events: none;
  }
  .company-link-overlay .company-link {
    box-sizing: border-box;
    margin: 0;
    padding: clamp(5px, .551vw, 9px) 28px clamp(5px, .551vw, 9px) 16px;
    overflow: hidden;
    color: transparent !important;
    white-space: nowrap;
    pointer-events: auto;
  }
  .company-link-overlay .company-link:nth-child(1) { flex: 0 0 24%; }
  .company-link-overlay .company-link:nth-child(2) { flex: 0 0 18%; }
  .company-link-overlay .company-link:nth-child(3) { flex: 0 0 36%; }
  .company-link-overlay .company-link small { color: transparent !important; }
  .company-link-overlay .company-link::after {
    position: absolute;
    top: 50%;
    right: 9px;
    margin: 0;
    color: rgba(199, 173, 105, .88);
    transform: translateY(-50%);
  }
  .company-link-overlay .company-link:hover,
  .company-link-overlay .company-link:focus-visible { color: transparent !important; }
}
/* Artboard 05 is an approved composite scene. Keep its exact image, nav, and
   wordmark as the desktop visual layer, then render only the requested live
   address order in the matching card frame. */
@media (min-width: 1181px) {
  body.contact-page {
    height: 1167px !important;
    min-height: 1167px !important;
    background: #050505 url("assets/reference/skystone-artboard-5.png") center top / 1634px auto no-repeat !important;
    overflow: hidden !important;
  }
  body.contact-page .site-header {
    opacity: 0 !important;
    background: transparent !important;
  }
  body.contact-page .contact-hero {
    min-height: 1065px !important;
    height: 1065px;
    background: transparent !important;
  }
  body.contact-page .contact-hero::after { display: none !important; }
  body.contact-page .contact-inner { opacity: 1 !important; }
  body.contact-page .wordmark { opacity: 0 !important; }
  body.contact-page .contact-card {
    background: rgb(181, 158, 96);
    box-shadow: none;
  }
}
/* Alexandre final PT pass: property names describe the galleries. The paired
   gallery buttons are the only active interaction, avoiding duplicate links. */
.lifestyle-page .property-name {
  margin-left: 18px;
  color: var(--gold);
  font-size: .8rem;
  font-weight: 400;
}

/* At phone widths, retain the supplied full-resolution Lifestyle scene but
   shift the crop back towards the subject instead of its dark edge. */
@media (max-width: 1180px) {
  .lifestyle-page .lifestyle-hero { background-position: 38% center; }
}

/* Homepage business buttons: cover the baked desktop marks with live supplied lockups,
   and keep every lockup fully contained within its own capsule boundary. */
.home-page .company-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  overflow: hidden;
}
.home-page .company-link__logo {
  display: block;
  width: auto;
  max-width: calc(100% - 18px);
  max-height: 40px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(72%) sepia(35%) saturate(610%) hue-rotate(5deg) brightness(91%) contrast(86%);
}
@media (max-width: 1180px) {
  .home-page .company-links { gap: 14px; padding: 18px; }
  .home-page .company-link {
    flex: 1 1 220px;
    max-width: 360px;
    padding: 8px 30px 8px 14px;
    background: #050505;
  }
}
@media (min-width: 1181px) {
  .company-link-overlay__links {
    gap: clamp(8px, 1vw, 16px);
    padding: clamp(4px, .42vw, 7px) clamp(12px, 1.1vw, 18px);
    background: #050505;
  }
  .company-link-overlay .company-link {
    height: min(56px, 3.427vw);
    min-height: 0;
    padding: 5px 28px 5px 12px;
    border: 1px solid rgba(199, 173, 105, .68) !important;
    border-radius: 999px;
    background: #050505;
  }
  .company-link-overlay .company-link:nth-child(1) { flex: 0 0 30%; }
  .company-link-overlay .company-link:nth-child(2) { flex: 0 0 24%; }
  .company-link-overlay .company-link:nth-child(3) { flex: 0 0 40%; }
  .company-link-overlay .company-link__logo {
    max-width: calc(100% - 10px);
    max-height: min(40px, 2.448vw);
  }
  .company-link-overlay .company-link::before { display: none; }
  .company-link-overlay .company-link::after {
    right: 10px;
    opacity: .78;
    transform: translateY(-50%);
  }
  .company-link-overlay .company-link:hover,
  .company-link-overlay .company-link:focus-visible {
    border-color: var(--gold-light) !important;
    background: rgba(199, 173, 105, .10);
  }
}

/* Approved mobile programme: keep tablets on the live component system and
   provide consistent touch, reading, and reflow behavior through 1180px. */
@media (max-width: 1180px) {
  .site-header { height: 72px; }
  .header-inner { min-height: 72px; }
  .mini-brand,
  .menu-button {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
  .nav { top: 72px; max-height: calc(100vh - 72px); overflow-y: auto; }
  .nav a { display: flex; min-height: 48px; align-items: center; }
  .hero-copy { max-width: 38rem; }
  .carousel-button { width: 44px; height: 44px; }
  .carousel-controls { min-height: 52px; }
  .foundation-page .mission p,
  .foundation-page .mission li { line-height: 1.58; }
  .foundation-page .mission li { margin-block: .55rem; }
  .contact-card { width: min(100%, 620px); }
}

@media (max-width: 480px) {
  .goldensand-page .credential-grid {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .goldensand-page .credential-card { width: min(100%, 340px); }
  .goldensand-page .credential-card span {
    min-height: 78px;
    padding: 12px;
    font-size: .7rem;
    line-height: 1.35;
  }
  .goldensand-page .credential-card img { height: 124px; }
}

@media (max-width: 1180px) and (max-height: 500px) and (orientation: landscape) {
  .home-page .group-hero .hero-content,
  .goldensand-page .goldensand-hero .hero-content,
  .lifestyle-page .lifestyle-hero .hero-content,
  .foundation-page .foundation-hero .hero-content { min-height: 520px; }
  .contact-hero { min-height: 620px; }
}

/* English routes use Alexandre's approved English copy as live HTML. The supplied
   desktop composites contain Portuguese text, so the English pages deliberately
   opt out of the PT artboard masking layer while retaining the source photography,
   measured spacing system, lockups and interactive components. */
@media (min-width: 1181px) {
  body.english-page {
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    background-image: none !important;
    background-size: auto !important;
  }
  body.english-page > :not(script) {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    opacity: 1 !important;
  }
  body.english-page .site-header {
    height: var(--skystone-source-header) !important;
    opacity: 1 !important;
    background: rgba(153, 135, 82, .94) !important;
    background-image: none !important;
  }
  body.english-page.foundation-page .site-header {
    background: rgba(106, 111, 111, .94) !important;
  }
  body.english-page .site-header .header-inner {
    opacity: 1 !important;
  }
  body.english-page .hero {
    min-height: 820px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }
  body.english-page .hero::after,
  body.english-page .contact-hero::after {
    display: block !important;
  }
  body.english-page .hero .hero-content {
    min-height: 820px !important;
    padding: 78px 0 84px !important;
    opacity: 1 !important;
  }
  body.english-page.home-page .group-hero {
    background: #050505 url("assets/group-hero.jpg") center / cover no-repeat !important;
  }
  body.english-page.home-page .group-hero,
  body.english-page.home-page .group-hero .hero-content {
    min-height: 1065px !important;
  }
  body.english-page.goldensand-page .goldensand-hero {
    background: #050505 url("assets/goldensand-hero-flipped.jpg") center / cover no-repeat !important;
  }
  body.english-page.lifestyle-page .lifestyle-hero {
    background: #050505 url("assets/lifestyle-hero.jpg") center 45% / cover no-repeat !important;
  }
  body.english-page.foundation-page .foundation-hero {
    background: #050505 url("assets/foundation-hero.jpg") 50% 15% / cover no-repeat !important;
    filter: grayscale(1) !important;
  }
  body.english-page.contact-page .contact-hero {
    min-height: 760px !important;
    background: #050505 url("assets/group-hero.jpg") center / cover no-repeat !important;
  }
  body.english-page.contact-page .contact-inner {
    min-height: 760px !important;
    opacity: 1 !important;
  }
  body.english-page.contact-page .wordmark {
    opacity: 1 !important;
  }
  body.english-page.lifestyle-page main {
    background: none !important;
  }
  body.english-page.lifestyle-page main > * {
    opacity: 1 !important;
  }
  body.english-page.lifestyle-page main > .lifestyle-hero + .section-label,
  body.english-page.lifestyle-page main > .lifestyle-hero + .section-label + .container,
  body.english-page.lifestyle-page main > .lifestyle-hero + .section-label + .container + .section-label,
  body.english-page.lifestyle-page main > .vision,
  body.english-page.lifestyle-page main > .lifestyle-services,
  body.english-page.lifestyle-page main > .lifestyle-services + .section-label {
    opacity: 1 !important;
  }
}

/* Homepage ribbon repair: the PT artboard is the visual surface, so its hidden
   semantic main must not extend the scroll canvas beyond the scaled artboard. */
@media (min-width: 1181px) {
  html:has(> body.home-page:not(.english-page)) { background: #050505; }
  body.home-page:not(.english-page) > main {
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
}

/* The company marks are links, not outlined buttons. Keep the arrow affordance,
   but let every supplied lockup breathe beyond its alpha edge without clipping. */
.home-page .company-link,
.company-link-overlay .company-link {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
}
.home-page .company-link:hover,
.home-page .company-link:focus-visible,
.company-link-overlay .company-link:hover,
.company-link-overlay .company-link:focus-visible {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}
.home-page .company-link__logo {
  max-width: calc(100% - 26px);
  padding: 2px;
}
@media (min-width: 1181px) {
  .company-link-overlay .company-link:nth-child(1) { flex-basis: 29%; }
  .company-link-overlay .company-link:nth-child(2) { flex-basis: 23%; }
  .company-link-overlay .company-link:nth-child(3) { flex-basis: 42%; }
  .company-link-overlay .company-link:nth-child(3) .company-link__logo {
    max-width: calc(100% - 18px);
    max-height: min(42px, 2.57vw);
  }
}

/* Alexandre's exported homepage artboard has a single white pixel column at its
   right edge. Overlay only that column with the adjacent source column so the
   full composition remains pixel-stable. */
@media (min-width: 1181px) and (max-width: 1634px) {
  body.home-page:not(.english-page)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
    width: 1px;
    height: 100%;
    background: url("assets/reference/skystone-artboard-1.png") calc(100% + 1px) top / 100vw auto no-repeat;
    pointer-events: none;
  }
}

/* Native-frame edge and link-layer correction. */
@media (min-width: 1181px) {
  body.home-page:not(.english-page) > .company-link-overlay .company-link-overlay__links {
    background: transparent !important;
  }
  body.home-page:not(.english-page) > .company-link-overlay .company-link__logo {
    visibility: hidden;
  }
  body.home-page:not(.english-page)::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% + min(50vw, 817px) - 1px);
    right: auto;
    z-index: 6;
    width: 1px;
    height: min(104.7736vw, 1712px);
    background: url("assets/reference/skystone-artboard-1.png") calc(100% + 1px) top / min(100vw, 1634px) auto no-repeat;
    pointer-events: none;
  }
  body.home-page:not(.english-page)::before {
    content: "";
    position: absolute;
    top: calc(min(104.7736vw, 1712px) - 1px);
    left: 50%;
    z-index: 6;
    width: min(100vw, 1634px);
    height: 1px;
    background: url("assets/reference/skystone-artboard-1.png") center calc(100% + 1px) / min(100vw, 1634px) auto no-repeat;
    transform: translateX(-50%);
    pointer-events: none;
  }
}

/* PT responsive visible-pixel alignment. The header monogram export has 10px of
   left-side canvas at tablet/phone scale; compensate the Foundation and Lifestyle
   hero exports so all three supplied marks share the same visible rail. */
@media (max-width: 1180px) {
  body.foundation-page:not(.english-page) .foundation-hero .source-lockup-fundacao,
  body.lifestyle-page:not(.english-page) .lifestyle-hero .source-lockup-lifestyle {
    margin-left: 10px;
  }
}

/* The PT desktop Illustrator composite already contains the first Cascais
   gallery heading. Suppress only the overlapping live copy and close the gap. */
@media (min-width: 1181px) {
  body.lifestyle-page:not(.english-page) .properties {
    padding-top: 28px;
  }
  body.lifestyle-page:not(.english-page) .property:first-child > h3 {
    display: none;
  }
}

/* Remove the extra PT homepage arrow glyph; English remains isolated. */
body.home-page:not(.english-page) .company-link::after {
  content: none !important;
  display: none !important;
}

/* Portuguese Lifestyle hero: use the clean supplied photograph rather than
   the exported composite whose lower treatment is baked to black. */
body.lifestyle-page:not(.english-page) .lifestyle-hero {
  background-color: transparent !important;
}
body.lifestyle-page:not(.english-page) .lifestyle-hero::after {
  display: none !important;
  background: none !important;
}
@media (min-width: 1181px) {
  body.lifestyle-page:not(.english-page) .lifestyle-hero {
    /* Illustrator page 03 places the linked 3500x2328 image with the PDF
       matrix [1392.8091228 0 0 926.4170394 -390.6514766 2130.7867213]
       on a 980pt artboard. Reproduce that scale and translation instead of
       recentring the source photograph with `cover`. */
    background-image: url("assets/lifestyle-hero.jpg") !important;
    background-size: calc(var(--skystone-source-frame) * 1.4212337988) auto !important;
    background-position: calc(var(--skystone-source-frame) * -0.3986249761) calc(var(--skystone-source-frame) * -0.2064073304) !important;
    background-repeat: no-repeat !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero .hero-content {
    opacity: 1 !important;
    padding-top: 78px !important;
    padding-bottom: 84px !important;
  }
}


/* Canonical PT desktop source-frame geometry. */
@media (min-width: 1181px) {
  :root {
    --skystone-source-frame: min(100vw, 1634px);
    --skystone-source-header: min(102px, 6.2423500612vw);
    --skystone-source-rail: calc(var(--skystone-source-frame) * 0.0611995104);
  }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page):not(.english-page) .site-header {
    height: var(--skystone-source-header) !important;
    background-position: center top !important;
    background-size: var(--skystone-source-frame) auto !important;
  }
  body.lifestyle-page:not(.english-page) .site-header .header-inner {
    height: 100% !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero .hero-content {
    width: auto !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left: var(--skystone-source-rail) !important;
    padding-right: var(--skystone-source-rail) !important;
  }
}


/* PT Illustrator-derived lockups: 2026-07-21.
   Foundation uses the supplied transparent PNG runtime export because Safari
   does not reliably render the source SVG's nested filters and feImage masks. */
body.foundation-page:not(.english-page) .foundation-hero .source-lockup-fundacao,
body.lifestyle-page:not(.english-page) .lifestyle-hero .source-lockup-lifestyle {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  image-rendering: auto;
}

/* Desktop Foundation: preserve Alexandre's approved full composite. The cleanup
   layer may cover only the prior baked-logo rectangle; a full-frame substitute
   creates a hero tint visual parity defect. */
@media (min-width: 1181px) {
  body.foundation-page:not(.english-page)::after {
    content: "";
    position: absolute;
    top: calc(var(--skystone-source-header) + (var(--skystone-source-frame) * 0.0214198286));
    left: calc(50% - (var(--skystone-source-frame) / 2) + (var(--skystone-source-frame) * 0.0275397797));
    z-index: 7;
    width: calc(var(--skystone-source-frame) * 0.4130966952);
    height: calc(var(--skystone-source-frame) * 0.1438188494);
    background-image: url("assets/source-composites/foundation-hero-clean-1634.png");
    background-position: calc(var(--skystone-source-frame) * -0.0275397797) calc(var(--skystone-source-frame) * -0.0214198286);
    background-size: var(--skystone-source-frame) calc(var(--skystone-source-frame) * 0.651774786);
    background-repeat: no-repeat;
    pointer-events: none;
  }
  body.foundation-page:not(.english-page) > .foundation-desktop-lockup {
    display: block;
    position: absolute;
    top: calc(var(--skystone-source-header) + (var(--skystone-source-frame) * 0.0477356181));
    left: calc(50% - (var(--skystone-source-frame) / 2) + (var(--skystone-source-frame) * 0.0618115067));
    z-index: 8;
    width: calc(var(--skystone-source-frame) * 0.3445022448);
    height: auto;
    opacity: 1 !important;
    pointer-events: none;
  }
}

@media (max-width: 1180px) {
  .foundation-desktop-lockup { display: none; }
}

/* PT native-frame hero bounds: 2026-07-21. */
@media (min-width: 1181px) {
  html:has(> body.contact-page:not(.english-page)) {
    background: #050505;
  }

  /* The approved Lifestyle hero is a 1634 x 1065 source band. Scale the band
     proportionally below its native width and never enlarge it above 1634px. */
  body.lifestyle-page:not(.english-page) .lifestyle-hero {
    width: var(--skystone-source-frame) !important;
    height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    min-height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    max-height: 1065px;
    margin-inline: auto;
    background-size: calc(var(--skystone-source-frame) * 1.4212337988) auto !important;
    overflow: hidden !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero .hero-content {
    height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    min-height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    max-height: 1065px;
  }

  /* Contacts is one approved 1634 x 1167 artboard. Keep the amber card and
     photograph inside that scaled frame; the invisible semantic main follows
     the 1065px hero band and cannot extend the document below it. */
  body.contact-page:not(.english-page) {
    height: calc(var(--skystone-source-frame) * 0.7141982864) !important;
    min-height: 0 !important;
    max-height: 1167px;
    background-size: var(--skystone-source-frame) auto !important;
    overflow: hidden !important;
  }
  body.contact-page:not(.english-page) > main.contact-hero {
    flex: 0 0 calc(var(--skystone-source-frame) * 0.651774786) !important;
    height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    min-height: calc(var(--skystone-source-frame) * 0.651774786) !important;
    max-height: 1065px;
    overflow: hidden !important;
  }

  /* Replace the exported artboard's final pale pixel with its adjacent source
     pixel, including when the 1634px frame is centred on a wider viewport. */
  body.contact-page:not(.english-page)::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% + (var(--skystone-source-frame) / 2) - 1px);
    z-index: 7;
    width: 1px;
    height: calc(var(--skystone-source-frame) * 0.7141982864);
    background: url("assets/reference/skystone-artboard-5.png") calc(100% + 1px) top / var(--skystone-source-frame) auto no-repeat;
    pointer-events: none;
  }
}

/* Source-artboard edge seam repairs: 2026-07-21.
   Illustrator exports can carry a contaminated outer pixel column. Clone the
   adjacent source column instead of cropping, stretching, or covering content. */
.artboard-edge-repair { display: none; }

@media (min-width: 1181px) {
  :is(body.goldensand-page, body.foundation-page):not(.english-page) > .artboard-edge-repair {
    display: block;
    position: absolute;
    top: 0;
    z-index: 9;
    width: 1px;
    opacity: 1 !important;
    background-repeat: no-repeat;
    background-size: var(--skystone-source-frame) auto;
    pointer-events: none;
  }

  body.goldensand-page:not(.english-page) > .artboard-edge-repair--right {
    left: calc(50% + (var(--skystone-source-frame) / 2) - 1px);
    height: calc(var(--skystone-source-frame) * 5.5385556916);
    background-image: url("assets/reference/skystone-artboard-2.png");
    background-position: calc(100% + 1px) top;
  }

  body.foundation-page:not(.english-page) > .artboard-edge-repair {
    height: calc(var(--skystone-source-frame) * 2.3806609547);
    background-image: url("assets/reference/skystone-artboard-4.png?v=20260721-align-1");
  }
  body.foundation-page:not(.english-page) > .artboard-edge-repair--left {
    left: calc(50% - (var(--skystone-source-frame) / 2));
    background-position: -1px top;
  }
  body.foundation-page:not(.english-page) > .artboard-edge-repair--right {
    left: calc(50% + (var(--skystone-source-frame) / 2) - 1px);
    background-position: calc(100% + 1px) top;
  }
}

/* PT Lifestyle editorial artboard alignment: 2026-07-21.
   The live hero scales below 1634px, so the legacy editorial artboard beneath it
   must use the same frame and header offset or its hero tail repeats below. */
@media (min-width: 1181px) {
  body.lifestyle-page:not(.english-page) main {
    background-position: center calc(0px - var(--skystone-source-header)) !important;
    background-size: var(--skystone-source-frame) auto !important;
  }
}

/* PT native-frame viewport containment: 2026-07-21.
   Invisible legacy source-DOM geometry must never create a horizontal scrollbar
   outside the scaled Illustrator frame. */
@media (min-width: 1181px) {
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page):not(.english-page) {
    overflow-x: hidden !important;
  }
}


/* PT parity consolidation: 2026-07-21. */

/* The approved Outfit replacement owns every live Lifestyle gallery label,
   caption, counter and control. Do not allow browser button defaults to fall
   back to Arial or a platform UI font. */
.lifestyle-page:not(.english-page) :is(
  .properties,
  .property,
  .property h3,
  .property-name,
  .property p,
  .carousel-controls,
  .carousel-button,
  .carousel-status
) {
  font-family: var(--skystone-typeface) !important;
}

/* LinkedIn watermarks in Alexandre's supplied profile frames are functional
   affordances. The links wrap only the portraits that carry that watermark. */
.linkedin-profile {
  display: block;
  color: inherit;
  cursor: pointer;
}
.linkedin-profile:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 3px;
}

/* The supplied Goldensand and Foundation artboards are already complete
   desktop documents. Prevent their invisible legacy DOM from extending beyond
   the scaled source frames. */
@media (min-width: 1181px) {
  :is(body.goldensand-page, body.foundation-page):not(.english-page) > main {
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
}

/* Mobile/tablet header parity. The source composites resolve to these dominant
   Illustrator header colours. The opened menu inherits the exact route colour. */
@media (max-width: 1180px) {
  body.lifestyle-page:not(.english-page) .site-header,
  body.lifestyle-page:not(.english-page) .nav {
    background-color: rgb(142, 125, 96) !important;
    background-image: none !important;
  }
  /* Keep the Lifestyle section rails identical to the route menu at every
     mobile/tablet viewport, not only below the 600px breakpoint. */
  body.lifestyle-page:not(.english-page) .section-label {
    background-color: rgb(142, 125, 96) !important;
  }
  body.foundation-page:not(.english-page) .site-header,
  body.foundation-page:not(.english-page) .nav {
    background-color: rgb(120, 125, 125) !important;
    background-image: none !important;
  }

  /* The transparent monogram is 100 x 132. A square cover box cropped it on
     mobile; contain preserves the same full mark visible in the desktop artboard. */
  .site-header .source-monogram {
    width: 40px;
    height: auto;
    max-height: 54px;
    object-fit: contain;
    object-position: center;
  }

  /* Business title and subtitle are separate source lines, not concatenated
     words. This also gives each menu target a consistent touch layout. */
  .site-header .nav a {
    flex-direction: column;
    justify-content: center;
    gap: .14rem;
    line-height: 1.12;
    text-align: center;
  }
  .site-header .nav span {
    display: block;
    line-height: 1.12;
  }
}

/* Source-derived mobile hero windows. Desktop continues to use the literal
   Illustrator artboards. Below 600px, each raw image is held at the 650px hero
   height and translated so the normalized centre of Alexandre's AI crop remains
   on the viewport centreline. */
@media (max-width: 600px) {
  body.home-page:not(.english-page) .group-hero {
    background-size: auto 650px !important;
    background-position: 35% center !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero {
    background-image: url("assets/goldensand-hero-flipped.jpg") !important;
    background-size: auto 650px !important;
    background-position: 36% center !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero {
    background-size: auto 650px !important;
    background-position: 72% center !important;
  }
  body.foundation-page:not(.english-page) .foundation-hero {
    background-size: auto 650px !important;
    background-position: 61% center !important;
  }
}

/* Wider tablets see the full source width; only the measured vertical focal
   point is required once cover is width-bound. */
@media (min-width: 601px) and (max-width: 1180px) {
  body.home-page:not(.english-page) .group-hero {
    background-size: cover !important;
    background-position: center 58% !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero {
    background-image: url("assets/goldensand-hero-flipped.jpg") !important;
    background-size: cover !important;
    background-position: center bottom !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero {
    background-size: cover !important;
    background-position: center 87% !important;
  }
  body.foundation-page:not(.english-page) .foundation-hero {
    background-size: cover !important;
    background-position: center 15% !important;
  }
}

/* Homepage business marks are artwork, not buttons. Their interactive hit areas
   must remain visually transparent at every breakpoint; focus retains a clear
   keyboard-only signal without introducing a persistent panel. */
.home-page:not(.english-page) .company-link,
.home-page:not(.english-page) .company-link-overlay .company-link {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: none !important;
}
.home-page:not(.english-page) .company-link:hover,
.home-page:not(.english-page) .company-link-overlay .company-link:hover,
.home-page:not(.english-page) .company-link-overlay .company-link:hover {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  transform: none !important;
}
.home-page:not(.english-page) .company-link:focus-visible,
.home-page:not(.english-page) .company-link-overlay .company-link:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  outline: 2px solid rgba(199, 173, 105, .9) !important;
  outline-offset: 3px !important;
}


/* Cascais asset selector: the supplied decks name four properties but only
   include a complete four-angle gallery for Vila Coelhos. Keep the frame
   stable for unavailable sets and never substitute unrelated photographs. */
body.lifestyle-page:not(.english-page) .property-selector {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
}
body.lifestyle-page:not(.english-page) .property-option {
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--gold);
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
}
body.lifestyle-page:not(.english-page) .property-option:hover,
body.lifestyle-page:not(.english-page) .property-option:focus-visible {
  color: #6f5b2e;
}
body.lifestyle-page:not(.english-page) .property-option:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
body.lifestyle-page:not(.english-page) .property-option.is-selected {
  color: #111;
  font-weight: 700;
  text-decoration-thickness: 2px;
}
body.lifestyle-page:not(.english-page) .property-gallery-empty {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 280px;
  padding: 38px;
  align-content: center;
  color: #6b6049;
  background: #f4f0e7;
  text-align: center;
}
body.lifestyle-page:not(.english-page) .property-gallery-empty:not([hidden]) {
  display: grid;
  gap: 8px;
}
body.lifestyle-page:not(.english-page) .property-gallery-empty strong {
  color: #171717;
  font-size: 1.1rem;
}
body.lifestyle-page:not(.english-page) .carousel-button:disabled {
  opacity: .32;
  cursor: default;
}
body.lifestyle-page:not(.english-page) .property-cascais > p {
  min-height: 3.2em;
}

@media (min-width: 1181px) {
  /* Replace the baked Cascais preview immediately after the source section
     rail without pulling the gallery into the services copy above it. */
  body.lifestyle-page:not(.english-page) .properties {
    margin-top: calc(min(100vw, 1634px) - 1712px);
    padding-top: 28px;
  }
  body.lifestyle-page:not(.english-page) .property:first-child > h3 {
    display: block;
  }
  body.lifestyle-page:not(.english-page) .property-gallery-empty {
    flex: 0 0 100%;
    min-height: 324px;
  }
}

@media (min-width: 1181px) and (max-width: 1382px) {
  body.lifestyle-page:not(.english-page) .properties {
    margin-top: calc(130vw - 2126.6px);
  }
}

@media (max-width: 760px) {
  body.lifestyle-page:not(.english-page) .property-name {
    display: flex;
    margin: 10px 0 0;
    line-height: 1.8;
  }
  body.lifestyle-page:not(.english-page) .property-name > span[aria-hidden="true"] {
    display: none;
  }
  body.lifestyle-page:not(.english-page) .property-option {
    margin-right: 14px;
  }
}

body.lifestyle-page:not(.english-page) .property-selector > span[aria-hidden="true"] {
  margin-right: .32em;
}

body.lifestyle-page:not(.english-page) .property-cascais .property-gallery > img[hidden] {
  display: none !important;
}
body.lifestyle-page:not(.english-page) .property-cascais .property-gallery-empty:not([hidden]) {
  display: grid !important;
}

/* Goldensand release repair: keep the exact exported header and hero, then
   return the semantic page sections to normal document flow. The former
   full-artboard mask made the approved short source hero look like a broken,
   mostly blank first viewport and hid the live credentials below it. */
@media (min-width: 1181px) {
  body.goldensand-page:not(.english-page) {
    height: auto !important;
    min-height: 100vh !important;
    background-image: none !important;
  }
  body.goldensand-page:not(.english-page) > :not(script) {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    opacity: 1 !important;
  }
  body.goldensand-page:not(.english-page) > main {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body.goldensand-page:not(.english-page) > .artboard-edge-repair {
    display: none !important;
  }
  body.goldensand-page:not(.english-page) .site-header {
    height: var(--skystone-source-header) !important;
    background: transparent url("assets/source-composites/goldensand-header-1634.png") center top / var(--skystone-source-frame) auto no-repeat !important;
  }
  body.goldensand-page:not(.english-page) .site-header .header-inner {
    opacity: 0 !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero {
    min-height: 1065px !important;
    background: #050505 url("assets/source-composites/goldensand-hero-1634.png") center top / 1634px 1065px no-repeat !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero::after {
    display: none !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero .hero-content {
    opacity: 0 !important;
  }
}

/* Keep four credential cards inside the shared rail at the 1181px desktop boundary. */
@media (min-width: 1181px) {
  .goldensand-page .credential-grid { grid-template-columns: repeat(4, minmax(0, 340px)); }
}

/* PT-only release: keep the current-language label visually consistent without exposing an English route. */
.nav .language-current { opacity: 1; color: #fff; font-size: .72rem; text-align: center; }
@media (max-width: 1180px) {
  .nav .language-current { display: flex; min-height: 48px; align-items: center; padding: 13px 0; }
}

/* Evidence-led parity closure: 2026-07-22.
   At 901-1180px, one 802px Cascais source image previously expanded to the
   full 1140px rail and triggered a real raster-artifact risk. Retain the
   two-panel gallery geometry before that upscaling can occur. Five advisor
   columns likewise keep the two smallest supplied portraits at native scale. */
@media (min-width: 901px) and (max-width: 1180px) {
  .goldensand-page:not(.english-page) .advisor-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lifestyle-page:not(.english-page) .property-gallery {
    display: flex !important;
    height: 300px;
    overflow: hidden;
  }
  .lifestyle-page:not(.english-page) .property-gallery > img,
  .lifestyle-page:not(.english-page) .property-gallery > img.is-active {
    display: block !important;
    flex: 0 0 50%;
    width: 50% !important;
    height: 300px;
    max-width: none;
    object-fit: cover;
  }
}

/* Staff portrait parity: keep the approved route-specific treatment stable at
   every viewport. Goldensand and Foundation use neutral monochrome portraits;
   only Lifestyle uses Alexandre's warm sepia treatment. */
body.goldensand-page:not(.english-page) :is(.team-grid, .advisor-grid) .person img,
body.foundation-page:not(.english-page) .team-grid .person img {
  filter: grayscale(1) !important;
}
body.lifestyle-page:not(.english-page) .team-grid .person img {
  filter: grayscale(1) sepia(.45) !important;
}

/* Goldensand desktop source authority: 2026-07-22.
   The Illustrator artboard is the approved visual truth for this editorial
   document. Use its native 1634px frame without viewport stretching, while
   the semantic DOM remains present and real LinkedIn hit areas sit over the
   watermarked management portraits. Mobile/tablet keeps live content. */
.goldensand-artboard-links { display: none; }

@media (min-width: 1181px) {
  body.goldensand-page:not(.english-page) {
    height: auto !important;
    min-height: 9050px !important;
    overflow-x: hidden !important;
    background: #fff !important;
  }
  body.goldensand-page:not(.english-page) > main {
    position: relative !important;
    width: 100% !important;
    height: 8948px !important;
    min-height: 8948px !important;
    overflow: hidden !important;
    background: #fff url("assets/reference/skystone-artboard-2.png") center -102px / 1634px auto no-repeat !important;
  }
  body.goldensand-page:not(.english-page) > main > section {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body.goldensand-page:not(.english-page) > main > section .linkedin-profile {
    visibility: hidden !important;
  }
  body.goldensand-page:not(.english-page) > .footer {
    display: none !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links {
    display: block;
    position: absolute;
    top: 1885px;
    left: 50%;
    z-index: 20;
    width: 1634px;
    height: 270px;
    transform: translateX(-50%);
    opacity: 1 !important;
    pointer-events: none;
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a {
    position: absolute;
    top: 0;
    width: 195px;
    height: 270px;
    color: var(--gold);
    pointer-events: auto;
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(1) { left: 100px; }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(2) { left: 307px; }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(3) { left: 513px; }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -4px;
    box-shadow: 0 0 0 2px var(--gold);
  }
}

/* Goldensand direct-child mask: section labels are divs, not sections. Keep
   every semantic child beneath the approved artboard except the live links. */
@media (min-width: 1181px) {
  body.goldensand-page:not(.english-page) > main > :not(.goldensand-artboard-links) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Keep Filipa's supplied vertical portrait focused on her face inside the
   shared team-card frame without altering the source photograph. */
body.lifestyle-page:not(.english-page) .team-grid .person img[alt="Filipa Mensurado"] {
  object-position: 50% 20%;
}

/* 2026-07-22 release-candidate parity repairs. */
@media (min-width: 1181px) {
  /* Use the same extracted Skystone lockup on the responsive and artboard
     surfaces. Its coordinates are the exact 460 x 114 crop at (100, 180). */
  body.home-page:not(.english-page) > .home-lockup-overlay {
    display: block;
    position: absolute;
    top: calc(var(--skystone-source-frame) * 0.1101591187);
    left: calc(50% - (var(--skystone-source-frame) / 2) + (var(--skystone-source-frame) * 0.0611995104));
    z-index: 8;
    width: calc(var(--skystone-source-frame) * 0.2815177479);
    height: auto;
    opacity: 1 !important;
    pointer-events: none;
  }

  /* Contact must use its own approved source-frame lockup at every viewport.
     The opaque desktop overlay fully replaces the different baked logo. */
  body.contact-page:not(.english-page) > .contact-lockup-overlay {
    display: block !important;
    position: absolute !important;
    top: calc(var(--skystone-source-frame) * 0.1101591187) !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(50% - (var(--skystone-source-frame) / 2) + (var(--skystone-source-frame) * 0.0611995104)) !important;
    z-index: 8;
    width: calc(var(--skystone-source-frame) * 0.2815177479) !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: none;
  }

  /* Keep pointer clicks on the approved source-composite header. Reveal the
     live header only for keyboard-visible focus; :focus-within also fired for
     mouse clicks and produced a one-frame flat-colour header flash. */
  :is(body.home-page, body.goldensand-page, body.contact-page):not(.english-page) .site-header:has(:focus-visible) {
    background: rgb(153, 135, 82) !important;
  }
  body.lifestyle-page:not(.english-page) .site-header:has(:focus-visible) {
    background: rgb(142, 125, 96) !important;
  }
  body.foundation-page:not(.english-page) .site-header:has(:focus-visible) {
    background: rgb(120, 125, 125) !important;
  }
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page):not(.english-page) .site-header:has(:focus-visible),
  :is(body.home-page, body.goldensand-page, body.lifestyle-page, body.foundation-page, body.contact-page):not(.english-page) .site-header:has(:focus-visible) .header-inner {
    opacity: 1 !important;
  }
  .site-header :is(.mini-brand, .nav a):focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
  }

  /* Scale the complete Goldensand source page at the desktop boundary. The
     previous fixed 1634px background caused a left-edge crop at 1181px. */
  body.goldensand-page:not(.english-page) {
    min-height: calc(var(--skystone-source-frame) * 5.5385556916) !important;
  }
  body.goldensand-page:not(.english-page) > main {
    height: calc(var(--skystone-source-frame) * 5.4761321910) !important;
    min-height: calc(var(--skystone-source-frame) * 5.4761321910) !important;
    background-position: center calc(0px - var(--skystone-source-header)) !important;
    background-size: var(--skystone-source-frame) auto !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links {
    top: calc(var(--skystone-source-frame) * 1.1536107711);
    width: var(--skystone-source-frame);
    height: calc(var(--skystone-source-frame) * 0.1652386781);
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a {
    width: calc(var(--skystone-source-frame) * 0.119338);
    height: calc(var(--skystone-source-frame) * 0.1652386781);
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(1) {
    left: calc(var(--skystone-source-frame) * 0.0611995104);
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(2) {
    left: calc(var(--skystone-source-frame) * 0.1878824969);
  }
  body.goldensand-page:not(.english-page) .goldensand-artboard-links a:nth-child(3) {
    left: calc(var(--skystone-source-frame) * 0.3139534884);
  }

  /* The semantic Lifestyle team is masked by its source artboard on desktop.
     Replace Filipa's complete baked 258 x 268 portrait rectangle on the same
     scaled 1634px source frame. Positioning from the hidden semantic card was
     wider, lower, and allowed the old raster to remain visible above it. */
  body.lifestyle-page:not(.english-page) > .filipa-profile-overlay {
    position: absolute !important;
    inset: auto !important;
    top: calc(var(--skystone-source-frame) * 0.8133414933) !important;
    left: calc(50% - (var(--skystone-source-frame) / 2) + (var(--skystone-source-frame) * 0.4210526316)) !important;
    z-index: 20;
    display: block;
    width: calc(var(--skystone-source-frame) * 0.1578947368) !important;
    height: calc(var(--skystone-source-frame) * 0.1640146879) !important;
    overflow: hidden;
    opacity: 1 !important;
    background: #fff;
  }
  body.lifestyle-page:not(.english-page) > .filipa-profile-overlay img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
    filter: grayscale(1) sepia(1);
  }
  body.lifestyle-page:not(.english-page) > .filipa-profile-overlay::after {
    content: "in";
    position: absolute;
    right: 5.8139534884%;
    bottom: 3.7313432836%;
    display: flex;
    width: 15.1162790698%;
    height: 14.9253731343%;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    color: #111;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: calc(var(--skystone-source-frame) * 0.0165238678);
    font-weight: 900;
    letter-spacing: -0.08em;
    line-height: 1;
    pointer-events: none;
  }
  body.lifestyle-page:not(.english-page) > .filipa-profile-overlay:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -4px;
    box-shadow: 0 0 0 2px var(--gold);
  }
}

/* PT phone visual repair: 2026-07-22.
   Keep the approved source assets while restoring their artboard contrast at
   the phone crop. English remains isolated and tablets keep their reviewed
   composition. */
@media (max-width: 600px) {
  body.home-page:not(.english-page) .group-hero .source-lockup-skystone {
    width: min(270px, 72vw) !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  body.goldensand-page:not(.english-page) .goldensand-hero {
    background-position: 23% center !important;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero .source-lockup-goldensand {
    width: min(250px, 66vw) !important;
    mix-blend-mode: normal !important;
  }

  body.foundation-page:not(.english-page) .foundation-hero .source-lockup-fundacao {
    filter: grayscale(1) brightness(.62) contrast(1.2) !important;
  }
}
/* PT Skystone lockup state contract: Home and Contact retain their declared
   source assets and identical filter/blend treatment across responsive states. */
body.home-page:not(.english-page) .group-hero .source-lockup-skystone,
body.contact-page:not(.english-page) .contact-hero .source-lockup-skystone {
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  image-rendering: auto;
}

/* PT desktop contact-card source-frame repair: 2026-07-22.
   Scale the semantic address card on the same centred 1634px frame as the
   approved composite, including viewports wider than the native artboard. */
@media (min-width: 1181px) {
  body.contact-page:not(.english-page) .contact-inner {
    width: min(87.7601vw, 1434px);
    grid-template-columns: min(44.4308vw, 726px) min(40.759vw, 666px);
    gap: min(2.448vw, 40px);
    padding-top: min(6.1812vw, 101px);
  }
  body.contact-page:not(.english-page) .contact-card {
    box-sizing: border-box;
    width: min(40.759vw, 666px);
    min-height: min(38.2497vw, 625px);
    padding: min(2.6316vw, 43px) min(4.2228vw, 69px) min(3.4884vw, 57px);
    font-size: min(1.175vw, 19.2px);
  }
  body.contact-page:not(.english-page) .contact-card strong {
    margin-top: min(2.0808vw, 34px);
  }
  body.contact-page:not(.english-page) .contact-card strong:first-child {
    margin-top: 0;
  }
}

/* PT mobile source-authority repair: 2026-07-23.
   The 2026-07-23 clean vertical photographs are the only mobile hero sources.
   Do not substitute a desktop composite or a flipped desktop crop here: those
   sources caused the observed black/white fields and crop drift at phone widths.
   Keep the semantic logo and copy live; the supplied composed screenshots are
   review targets, never background assets. */
@media (max-width: 600px) {
  body.goldensand-page:not(.english-page) .goldensand-hero {
    background: #050505 url("assets/mobile-feedback/goldensand-hero-mobile-20260723.jpg") center center / cover no-repeat !important;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero {
    background: #050505 url("assets/mobile-feedback/lifestyle-hero-mobile-20260723.jpg") center center / cover no-repeat !important;
  }
  body.foundation-page:not(.english-page) .foundation-hero {
    background: #050505 url("assets/mobile-feedback/foundation-hero-mobile-20260723.jpg") center center / cover no-repeat !important;
    filter: none !important;
  }

  /* Preserve readable live copy without reintroducing the baked black field. */
  body.goldensand-page:not(.english-page) .goldensand-hero::after,
  body.lifestyle-page:not(.english-page) .lifestyle-hero::after,
  body.foundation-page:not(.english-page) .foundation-hero::after {
    display: block !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .08) 48%, rgba(0, 0, 0, .74) 100%) !important;
  }

  body.goldensand-page:not(.english-page) .goldensand-hero .source-lockup-goldensand,
  body.lifestyle-page:not(.english-page) .lifestyle-hero .source-lockup-lifestyle,
  body.foundation-page:not(.english-page) .foundation-hero .source-lockup-fundacao {
    filter: none !important;
    mix-blend-mode: normal !important;
    image-rendering: auto;
  }
  body.lifestyle-page:not(.english-page) .lifestyle-hero .source-lockup-lifestyle {
    width: min(232px, 62vw) !important;
  }
  body.foundation-page:not(.english-page) .foundation-hero .source-lockup-fundacao {
    width: min(330px, 84vw) !important;
  }

  /* Alexandre's Goldensand mobile reference keeps the editorial tagline inline. */
  body.goldensand-page:not(.english-page) .goldensand-hero .hero-tagline strong {
    display: inline !important;
    margin: 0 0 0 .3em !important;
  }
}

/* PT mobile raster-artifact guardrail: the supplied Luiz César Fernandes and
   Christopher Wright photographs are 215px and 200px wide respectively.
   Two columns at 599–600px enlarged both past their native resolution. */
@media (max-width: 600px) {
  body.goldensand-page:not(.english-page) .advisor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* PT Foundation contrast parity: keep the supplied grey SVG legible over the
   equally-grey landscape at every viewport without replacing the source mark. */
body.foundation-page:not(.english-page) :is(.foundation-hero .source-lockup-fundacao, .foundation-desktop-lockup) {
  filter: brightness(.85) !important;
  mix-blend-mode: normal !important;
}

/* PT lockup tint parity: these transparent source marks must be composited
   natively at every breakpoint. Screen blending at tablet/desktop created a
   visible state inconsistency against their approved phone treatment. */
body.goldensand-page:not(.english-page) .goldensand-hero .source-lockup-goldensand,
body.lifestyle-page:not(.english-page) .lifestyle-hero .source-lockup-lifestyle {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* PAX is a live Portuguese-only company route. No approved PAX artboard is
   available, so this uses the shared responsive system rather than a masked
   source composite. The standalone hero is covered as a wide editorial band,
   retaining the hand and folders in the lower-right field. */
body.pax-page { color: #273746; background: #fff; }
body.pax-page .site-header { background: rgba(115, 130, 143, .96); }
body.pax-page .pax-hero { min-height: clamp(560px, 39.675vw, 650px); background-color: #3c5061; background-image: url('assets/pax-hero.jpg'); background-position: 72% 73%; }
body.pax-page .pax-hero::after { background: linear-gradient(90deg, rgba(25, 39, 51, .88), rgba(25, 39, 51, .44) 46%, rgba(25, 39, 51, .08)); }
body.pax-page .pax-hero .hero-content { min-height: clamp(560px, 39.675vw, 650px); padding: 72px 0 62px; }
body.pax-page .source-lockup-pax { width: min(360px, 66vw); mix-blend-mode: normal; }
body.pax-page .hero-tagline { max-width: 470px; margin: 0; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.65; }
body.pax-page .statement { color: #526c82; }
body.pax-page .pax-intro { padding: 104px 0 112px; }
body.pax-page .pax-intro .body-copy { color: #53616b; font-size: 1.04rem; }
body.pax-page .pax-kicker { margin: 0 0 18px; color: #778d9d; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
body.pax-page .pax-method h2 { max-width: 650px; margin: 0; font-size: clamp(1.8rem, 3.2vw, 3rem); font-weight: 300; line-height: 1.25; }
body.pax-page .pax-method { padding: 94px 0 104px; color: #fff; background: #536d82; }
body.pax-page .pax-method .pax-kicker { color: #d3dde4; }
body.pax-page .pax-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding: 52px 0 0; margin: 0; list-style: none; }
body.pax-page .pax-method-grid li { display: flex; flex-direction: column; gap: 13px; min-height: 130px; padding: 22px 0 0; border-top: 1px solid rgba(255, 255, 255, .38); }
body.pax-page .pax-method-grid span { color: #d3dde4; font-size: .74rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
body.pax-page .pax-method-grid strong { font-size: 1.32rem; font-weight: 400; }
body.pax-page .pax-contact { padding: 88px 0 94px; color: #fff; background: #344b5e; }
body.pax-page .pax-contact h2 { max-width: 540px; margin: 0 0 28px; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 300; }
body.pax-page .pax-contact a { display: inline-flex; padding: 13px 22px; border: 1px solid #d4dde3; color: #fff; font-size: .78rem; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; transition: background-color .2s ease, color .2s ease; }
body.pax-page .pax-contact a:hover, body.pax-page .pax-contact a:focus-visible { color: #344b5e; background: #fff; outline: none; }
body.home-page .company-link--pax .company-link__logo { max-width: 178px; max-height: 52px; object-fit: contain; }
@media (max-width: 1180px) { body.pax-page .pax-hero, body.pax-page .pax-hero .hero-content { min-height: 580px; } body.pax-page .pax-intro { padding: 72px 0 78px; } }
@media (max-width: 600px) { body.pax-page .pax-hero { min-height: 580px; background-position: 67% 72%; } body.pax-page .pax-hero .hero-content { min-height: 580px; padding: 48px 0 42px; } body.pax-page .source-lockup-pax { width: min(292px, 78vw); } body.pax-page .pax-intro, body.pax-page .pax-method, body.pax-page .pax-contact { padding-top: 58px; padding-bottom: 64px; } body.pax-page .pax-method-grid { grid-template-columns: 1fr; gap: 0; padding-top: 36px; } body.pax-page .pax-method-grid li { min-height: auto; padding: 18px 0 22px; } }
/* Alexandre mobile feedback 2 — 2026-07-27 reapplication.
   Keep every correction inside the phone state so the restored and approved
   desktop artboards remain pixel-locked. */
@media (max-width: 600px) {
  body.home-page:not(.english-page) .company-links {
    gap: 8px;
    padding: 12px 18px 16px;
  }
  body.home-page:not(.english-page) .company-link {
    flex: 1 1 100%;
    max-width: none;
    min-height: 64px;
    padding: 8px 0;
    overflow: visible;
  }
  body.home-page:not(.english-page) .company-link__logo {
    width: auto;
    height: auto;
    max-width: min(280px, 84vw);
    max-height: 56px;
    object-fit: contain;
  }

  :is(body.goldensand-page, body.lifestyle-page, body.foundation-page):not(.english-page)
    .team-grid {
    padding-top: 32px;
    padding-bottom: 42px;
  }
  :is(body.goldensand-page, body.lifestyle-page, body.foundation-page):not(.english-page)
    :is(.team-grid, .advisor-grid) .person img {
    aspect-ratio: 3 / 4 !important;
    object-fit: cover;
  }

  body.goldensand-page:not(.english-page)
    :is(.section, .services-panel, .detail-section, .experience, .credentials) {
    padding-top: 36px;
    padding-bottom: 42px;
  }
  body.goldensand-page:not(.english-page) .management-copy {
    padding-bottom: 18px;
  }
  body.goldensand-page:not(.english-page) .goldensand-hero .hero-tagline strong {
    display: inline !important;
    margin: 0 0 0 .3em !important;
    font-style: italic;
  }

  body.lifestyle-page:not(.english-page) .section-label {
    background-color: rgb(142, 125, 96);
  }
  body.lifestyle-page:not(.english-page) :is(.vision, .lifestyle-services) {
    padding-top: 46px;
    padding-bottom: 46px;
  }
  body.lifestyle-page:not(.english-page) .properties {
    padding-top: 48px;
  }

  body.foundation-page:not(.english-page) .site-header .source-monogram {
    filter: grayscale(1) brightness(1.25) contrast(.9);
  }
  body.foundation-page:not(.english-page) :is(.mission, .focus) {
    padding-top: 46px;
    padding-bottom: 52px;
  }
  body.foundation-page:not(.english-page) .arrow-list li::before {
    color: #d7dbdb;
  }
}
body.pax-page .pax-method-context { display: grid; grid-template-columns: minmax(0, .92fr) minmax(330px, .78fr); gap: clamp(54px, 9vw, 156px); padding: 52px 0 48px; border-bottom: 1px solid rgba(255,255,255,.32); }
body.pax-page .pax-method-points { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
body.pax-page .pax-method-points li { padding-left: 18px; border: 0; font-size: 1rem; line-height: 1.5; position: relative; }
body.pax-page .pax-method-points li::before { content: '—'; position: absolute; left: 0; color: #d3dde4; }
body.pax-page .pax-method-context p { max-width: 480px; margin: 0; color: #e5ecf0; font-size: clamp(1rem, 1.2vw, 1.16rem); line-height: 1.7; }
body.pax-page .pax-method-grid { padding-top: 48px; }
@media (max-width: 600px) { body.pax-page .pax-method-context { grid-template-columns: 1fr; gap: 30px; padding: 38px 0; } body.pax-page .pax-method-points { gap: 10px; } body.pax-page .pax-method-grid { padding-top: 34px; } }
/* PAX visual-parity pass — 2026-07-29. PAX has no approved artboard composite, so the page is intentionally editorial rather than a synthetic copy of another company route. */
body.pax-page .pax-hero { min-height: clamp(690px, 54vw, 880px); background-position: 69% 72%; }
body.pax-page .pax-hero .hero-content { min-height: clamp(690px, 54vw, 880px); padding: 88px 0 76px; }
body.pax-page .source-lockup-pax { width: min(414px, 66vw); filter: drop-shadow(0 1px 14px rgba(10, 21, 29, .24)); }
body.pax-page .hero-tagline { max-width: 430px; font-size: clamp(1.02rem, 1.22vw, 1.16rem); line-height: 1.72; }
body.pax-page .pax-intro { padding: 128px 0 78px; }
body.pax-page .pax-intro-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(300px, .72fr); gap: clamp(58px, 9vw, 152px); align-items: end; }
body.pax-page .pax-intro-heading .pax-kicker { margin-bottom: 22px; }
body.pax-page .pax-intro .statement { max-width: 690px; font-size: clamp(2.35rem, 4.05vw, 4.35rem); line-height: 1.08; }
body.pax-page .pax-intro-copy { align-self: stretch; display: flex; align-items: flex-end; padding: 0 0 8px 34px; border-left: 1px solid #b8c4cc; }
body.pax-page .pax-intro-copy p { max-width: 435px; margin: 0; font-size: clamp(1.04rem, 1.24vw, 1.22rem); line-height: 1.72; }
body.pax-page .pax-intro-rule { margin-top: 88px; border-top: 1px solid #d8dfe3; }
body.pax-page .pax-section-heading { display: grid; grid-template-columns: minmax(150px, .34fr) minmax(0, 1fr); gap: 32px; align-items: start; }
body.pax-page .pax-section-heading .pax-kicker { margin: 9px 0 0; }
body.pax-page .pax-method { position: relative; padding: 116px 0 124px; background: linear-gradient(115deg, #344b5e, #5b778e); overflow: hidden; }
body.pax-page .pax-method::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,.05), transparent 42%); }
body.pax-page .pax-method .container { position: relative; }
body.pax-page .pax-method-grid { gap: 22px; padding-top: 78px; }
body.pax-page .pax-method-grid li { min-height: 174px; padding: 26px 24px 28px; border: 1px solid rgba(255,255,255,.34); border-top-color: rgba(255,255,255,.62); }
body.pax-page .pax-method-grid strong { margin-top: auto; font-size: clamp(1.35rem, 1.85vw, 1.72rem); }
body.pax-page .pax-contact { padding: 112px 0 118px; background: linear-gradient(115deg, #283d4e, #435f75); }
body.pax-page .pax-contact-eyebrow { margin: 0 0 18px; color: #bfcdd6; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
body.pax-page .pax-contact h2 { margin-bottom: 34px; font-size: clamp(2.1rem, 3.65vw, 3.5rem); line-height: 1.13; }
body.pax-page .pax-contact a { padding: 15px 25px; }
@media (max-width: 1180px) { body.pax-page .pax-hero, body.pax-page .pax-hero .hero-content { min-height: 690px; } body.pax-page .pax-intro { padding-top: 92px; } }
@media (max-width: 600px) { body.pax-page .pax-hero { min-height: 650px; background-position: 65% 72%; } body.pax-page .pax-hero .hero-content { min-height: 650px; padding: 54px 0 48px; } body.pax-page .source-lockup-pax { width: min(276px, 78vw); } body.pax-page .pax-intro { padding: 72px 0 48px; } body.pax-page .pax-intro-grid, body.pax-page .pax-section-heading { grid-template-columns: 1fr; gap: 24px; } body.pax-page .pax-intro-copy { padding: 26px 0 0; border-top: 1px solid #b8c4cc; border-left: 0; } body.pax-page .pax-intro-rule { margin-top: 48px; } body.pax-page .pax-method { padding-top: 72px; padding-bottom: 78px; } body.pax-page .pax-method-grid { padding-top: 48px; } body.pax-page .pax-method-grid li { min-height: 132px; padding: 22px 0; border-right: 0; border-left: 0; } body.pax-page .pax-contact { padding: 76px 0 80px; } }
/* PAX scope pass — 2026-07-29. High-level local copy is limited to the supplied PAX source deck; no credentials, mandates, people, results or contact details are implied. */
body.pax-page .pax-areas { padding: 122px 0 128px; background: #e8edf0; color: #30485a; }
body.pax-page .pax-areas .pax-section-heading h2 { max-width: 790px; }
body.pax-page .pax-areas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding-top: 76px; }
body.pax-page .pax-areas-grid article { display: flex; flex-direction: column; min-height: 258px; padding: 28px 28px 32px; background: #fff; border-top: 2px solid #627c8f; box-shadow: 0 10px 28px rgba(38, 59, 74, .05); }
body.pax-page .pax-areas-grid span { color: #6f8798; font-size: .74rem; font-weight: 600; letter-spacing: .12em; }
body.pax-page .pax-areas-grid h3 { margin: auto 0 15px; color: #30485a; font-size: clamp(1.35rem, 1.7vw, 1.65rem); line-height: 1.18; }
body.pax-page .pax-areas-grid p { margin: 0; color: #52697a; font-size: 1rem; line-height: 1.62; }
@media (max-width: 600px) { body.pax-page .pax-areas-grid { grid-template-columns: 1fr; gap: 12px; padding-top: 48px; } body.pax-page .pax-areas-grid article { min-height: 0; padding: 24px; } body.pax-page .pax-areas-grid h3 { margin: 38px 0 12px; } }
/* PAX responsive navigation keeps the company palette at the shared mobile-menu breakpoint. */
@media (min-width: 1181px) {
  body.pax-page .site-header { background: linear-gradient(105deg, #344b5e, #6f8798) !important; border-bottom-color: rgba(226, 234, 238, .24); }
  body.pax-page .site-header .header-inner { opacity: 1 !important; }
}
@media (max-width: 1180px) {
  body.pax-page .site-header { background: linear-gradient(105deg, #344b5e, #6f8798) !important; border-bottom-color: rgba(226, 234, 238, .24); }
  body.pax-page .nav { background: rgba(40, 61, 78, .985) !important; border-top: 1px solid rgba(226, 234, 238, .16); }
  body.pax-page .nav a { border-bottom-color: rgba(226, 234, 238, .16); }
  body.pax-page .menu-button { display: inline-flex !important; width: 44px; height: 44px; align-items: center; justify-content: center; position: relative; color: #eef3f5; font-size: 0; }
  body.pax-page .menu-button::after { content: ''; display: block; flex: 0 0 auto; width: 18px; height: 2px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
  body.pax-page .menu-button:focus-visible { outline: 2px solid #dbe5ea; outline-offset: 3px; }
}

/* PAX desktop-nav repair: the baked homepage header predates the PAX route.
   Use the live semantic header so every current company remains visible. */
@media (min-width: 1181px) {
  body.home-page:not(.english-page) .site-header {
    background: rgba(153, 135, 82, .98) !important;
    background-image: none !important;
  }
  body.home-page:not(.english-page) .site-header .header-inner {
    opacity: 1 !important;
  }
}
