/* Consolidated CSS. Override duplicates removed without reordering selectors. */
:root {
  --emerald:#003735;
  --ivory:#efe9dc;
  --gold:#c9a778;
  --ink:#0b2d2d;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  background:var(--emerald);
  color:var(--ivory);
}

a {
  color:inherit;
}

a:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:5px;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

.hero {
  position:relative;
}

.hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(0,35,33,.50) 0%,rgba(0,40,37,.25) 52%,transparent 79%);
}

.brand-mark {
  aspect-ratio:1185/878;
}

.language-switch {
  position:absolute;
  right:clamp(18px,3vw,48px);
  top:25px;
  z-index:2;
  display:flex;
  gap:12px;
  font:600 13px Arial,sans-serif;
  letter-spacing:.1em;
}

.language-switch a {
  text-decoration:none;
  opacity:.75;
}

.language-switch a[aria-current] {
  opacity:1;
  text-decoration:underline;
  text-underline-offset:5px;
}

.rule {
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  width:300px;
  max-width:70%;
  margin:0 0 27px;
}

.lead {
  font-size:clamp(18px,2vw,24px);
  line-height:1.4;
  max-width:625px;
  margin:0 0 32px;
  text-shadow:0 2px 9px #001e1d88;
}

.actions {
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}

.cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:13px 24px;
  border:1px solid #d4b48a;
  border-radius:4px;
  text-decoration:none;
  transition:background .15s;
}

.cta-primary {
  background:linear-gradient(#e4d0aa,#cbab7d);
  color:#1a2d2a;
}

.cta-secondary {
  background:#002b29aa;
}

.cta:hover {
  background:#d7c198;
  color:#112b29;
}

.arrow {
  font:26px Arial,sans-serif;
  line-height:1;
}

.houses-inner {
  max-width:1220px;
  margin:auto;
}

.houses h2 {
  font-weight:400;
  letter-spacing:-.03em;
  margin:0 0 42px;
}

.houses h2:before {
  content:"";
  display:inline-block;
  width:75px;
  max-width:12vw;
  height:1px;
  background:var(--gold);
  vertical-align:middle;
  margin-right:23px;
}

.house-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
}

.house-cell {
  display:flex;
  justify-content:center;
  align-items:center;
  border-right:1px solid #c5a77c88;
}

.house-cell:nth-child(5n) {
  border-right:0;
}

.house-frame {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.house-frame img {
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
}

.house-cell--dark .house-frame {
  padding:12px;
  background:var(--emerald);
  border-radius:2px;
}

.house-cell--dark img {
  max-height:74px;
}

.footer {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:46px 7vw 31px;
}

.footer:after {
  position:absolute;
  z-index:-1;
  content:"";
  width:min(430px,45vw);
  aspect-ratio:1;
  bottom:-55%;
  right:-8%;
  background:url("../assets/backgrounds/marble-accent-bottom-right-1200.png") center/contain no-repeat;
  pointer-events:none;
}

.footer-inner {
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px;
}

.footer-col {
  border-right:1px solid #bc9f74;
  padding-right:25px;
  min-height:75px;
}

.footer-col:last-child {
  border:0;
}

.footer-label {
  display:block;
  font:600 12px Arial,sans-serif;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#d8b589;
  margin-bottom:9px;
}

.footer-value {
  font-size:20px;
  line-height:1.35;
  margin:0;
}

.footer-value a {
  text-decoration:none;
}

.footer-value a:hover {
  text-decoration:underline;
}

.footer-bottom {
  max-width:1100px;
  margin:32px auto 0;
  text-align:right;
  font:12px Arial,sans-serif;
}

.footer-bottom a {
  opacity:.8;
  text-underline-offset:3px;
}

.privacy-main {
  background:#f4eee2;
  color:var(--ink);
  padding:90px 8vw;
  min-height:70vh;
}

.privacy-content {
  max-width:790px;
  margin:auto;
}

.privacy-main h1 {
  font-weight:400;
  font-size:clamp(36px,5vw,56px);
}

.privacy-main h2 {
  font-weight:400;
  margin-top:38px;
}

.privacy-main p {
  line-height:1.7;
  font-size:18px;
}

.privacy-top {
  background:var(--emerald);
  padding:22px 7vw;
  display:flex;
  justify-content:space-between;
  font:15px Arial,sans-serif;
}

.privacy-top a {
  text-underline-offset:4px;
}

@media (max-width:850px){
.house-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.house-cell:nth-child(5n) {
  border-right:1px solid #c5a77c88;
}

.house-cell:nth-child(3n) {
  border-right:0;
}

.footer-inner {
  gap:22px;
}

.footer-value {
  font-size:18px;
}
}

@media (max-width:560px){
.hero {
  background-image:url("../assets/backgrounds/marble-hero-mobile-1080x1920.webp");
  background-position:center top;
}

.hero:before {
  background:linear-gradient(180deg,rgba(0,40,38,.10) 0%,rgba(0,38,35,.80) 41%,rgba(0,34,32,.85) 100%);
}

.rule {
  margin-bottom:20px;
}

.lead {
  font-size:18px;
}

.actions {
  flex-direction:column;
  gap:12px;
}

.cta {
  width:100%;
  min-height:55px;
  padding:10px 16px;
}

.houses h2 {
  margin-bottom:25px;
}

.houses h2:before {
  width:32px;
  margin-right:10px;
}

.house-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.house-cell {
  border-right:1px solid #c5a77c88;
}

.house-cell:nth-child(3n) {
  border-right:1px solid #c5a77c88;
}

.house-cell:nth-child(2n) {
  border-right:0;
}

.house-cell--dark .house-frame {
  padding:8px;
}

.footer {
  padding:36px 24px 26px;
}

.footer-inner {
  grid-template-columns:1fr;
  gap:22px;
}

.footer-col {
  border:0;
  border-bottom:1px solid #bc9f7466;
  padding:0 0 18px;
  min-height:0;
}

.footer-col:last-child {
  border:0;
}

.footer-bottom {
  text-align:left;
  margin-top:14px;
}

.privacy-main {
  padding:54px 24px;
}

.language-switch {
  top:16px;
  right:18px;
}
}

@media (prefers-reduced-motion:reduce){
html {
  scroll-behavior:auto;
}

.cta {
  transition:none;
}
}

body {
  font-family:Didot,"Bodoni MT","Times New Roman",serif;
}

.hero {
  min-height:680px;
  background:#003735;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
}

.hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#003735 0%,rgba(0,55,53,.97) 21%,rgba(0,55,53,.82) 45%,rgba(0,55,53,.43) 72%,rgba(0,55,53,.18) 100%);
}

.hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("../assets/backgrounds/marble-section-light-1600x900.webp") center center/cover no-repeat;
  opacity:.72;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.24) 28%,rgba(0,0,0,.76) 65%,black 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.24) 28%,rgba(0,0,0,.76) 65%,black 100%);
}

.hero-inner {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:min(1400px,100%);
  padding:42px clamp(35px,7.2vw,108px) 54px;
  position:relative;
  margin:auto;
}

.brand-mark {
  display:block;
  width:clamp(255px,26vw,320px);
  height:auto;
  margin:0 0 10px 0;
  object-fit:contain;
  object-position:left center;
}

.hero .rule {
  margin:0 0 22px;
  width:290px;
  max-width:66vw;
  background:linear-gradient(90deg,#c8a16f,transparent);
}

.hero h1 {
  font-size:clamp(40px,4vw,57px);
  font-weight:400;
  letter-spacing:-.014em;
  line-height:1.16;
  max-width:min(820px,100%);
  margin:0 0 19px;
  text-shadow:none;
}

.hero h1 em {
  font-style:normal;
  font-weight:400;
}

.hero .lead {
  font-size:clamp(18px,1.65vw,23px);
  max-width:640px;
  line-height:1.42;
  margin:0 0 27px;
  text-shadow:none;
}

.cta {
  font-size:clamp(15px,1.3vw,18px);
  min-height:55px;
}

.houses {
  position:relative;
  background:#efe9dc;
  color:#0b2d2d;
  padding:57px 6vw 67px;
  overflow:hidden;
  isolation:isolate;
}

.houses:before,.houses:after {
  position:absolute;
  content:"";
  width:min(33vw,450px);
  height:min(33vw,450px);
  pointer-events:none;
  z-index:-1;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:.13;
}

.houses:before {
  top:0;
  left:0;
  background-image:url("../assets/backgrounds/marble-accent-top-left-1200.png");
}

.houses:after {
  bottom:0;
  right:0;
  background-image:url("../assets/backgrounds/marble-accent-bottom-right-1200.png");
}

.houses h2 {
  font-size:clamp(35px,4vw,51px);
  margin-bottom:31px;
}

.house-grid {
  gap:20px 0;
}

.house-cell {
  position:relative;
  height:116px;
  padding:17px 22px;
}

.house-frame img {
  max-height:80px;
  max-width:100%;
  filter:contrast(1.12);
}

.house-cell--dark .house-frame {
  max-width:190px;
  max-height:80px;
}

.footer {
  background:#003735;
}

.footer:after {
  opacity:.17;
}

.house-cell--coming .house-frame img {
  filter:grayscale(1) contrast(.9);
  opacity:.43;
}

.house-cell--coming.house-cell--dark .house-frame {
  background:#5c655f;
}

.house-cell--coming.house-cell--dark .house-frame img {
  opacity:.55;
}

.house-status {
  position:absolute;
  right:7px;
  top:0;
  display:inline-block;
  max-width:calc(100% - 14px);
  padding:5px 8px 4px;
  background:#e4d7bf;
  border:1px solid #bb9c75;
  color:#344441;
  font:600 9px/1.2 Arial,sans-serif;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
}

/* Optical normalization. The official image files are never distorted. */
.house-frame img[src*="by-kilian"] { max-width:78%; max-height:62px; }
.house-frame img[src*="tous"] { max-width:76%; max-height:64px; }
.house-frame img[src*="xerjoff"] { max-width:80%; max-height:66px; }
.house-frame img[src*="tiziana-terenzi"] { max-width:100%; max-height:103px; }
.house-frame img[src*="atkinsons"] { max-height:77px; }

/* Center the two logos in the last desktop row without changing their order. */
@media (min-width:851px) {
  .house-cell:nth-child(16) { grid-column:2; }
  .house-cell:nth-child(17) { grid-column:4; }
  .house-cell:nth-child(15) { border-right:0; }
  .house-cell:nth-child(17) { border-right:0; }
}

@media (max-width:850px){
.hero {
  min-height:630px;
}

.hero-inner {
  padding-top:38px;
  padding-bottom:50px;
}

.hero h1 {
  font-size:clamp(37px,5.1vw,53px);
}

.houses:before,.houses:after {
  width:35vw;
  height:35vw;
}
}

@media (max-width:560px){
.hero {
  min-height:710px;
  align-items:flex-end;
  background:#003735;
}

.hero::before {
  background:linear-gradient(180deg,rgba(0,55,53,.34),rgba(0,55,53,.75) 35%,#003735 78%);
}

.hero::after {
  background-image:url("../assets/backgrounds/marble-hero-mobile-1080x1920.webp");
  background-position:center top;
  opacity:.42;
  -webkit-mask-image:linear-gradient(180deg,black 0%,rgba(0,0,0,.6) 34%,transparent 73%);
  mask-image:linear-gradient(180deg,black 0%,rgba(0,0,0,.6) 34%,transparent 73%);
}

.hero-inner {
  padding:65px 24px 44px;
}

.brand-mark {
  width:min(272px,78vw);
  margin:0 0 10px;
}

.hero h1 {
  font-size:clamp(35px,9vw,46px);
  max-width:100%;
}

.hero .lead {
  font-size:18px;
}

.houses {
  padding:43px 18px 57px;
}

.houses:before,.houses:after {
  width:63vw;
  height:63vw;
  opacity:.1;
}

.houses h2 {
  font-size:34px;
}

.house-grid {
  gap:12px 0;
}

.house-cell {
  height:112px;
  padding:15px;
}

.house-frame img {
  max-height:72px;
}

.house-status {
  font-size:8px;
  padding:5px 6px;
  right:4px;
}
}
