/* Latest local refinements — intentionally not published yet. */
.brand .brand-name {
  font-size: 14px;
  letter-spacing: .11em;
  line-height: 1.15;
}

.brand .brand-name small {
  font-size: 8px;
  letter-spacing: .23em;
  margin-top: 5px;
}

/* Clear, confident navigation against the new bright exterior image. */
.header {
  color: #000;
}

.header .brand {
  margin-left: 95px;
  font-weight: 800;
  text-shadow: 0 1px 3px rgba(255, 255, 255, .62);
}

.header .brand b {
  border-width: 2px;
}

.header nav {
  gap: 30px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .035em;
}

.header nav a {
  opacity: 1;
}

.header .nav-button {
  border-color: #000;
  color: #000 !important;
  padding: 12px 16px;
}

.menu i {
  background: #000;
}

.scroll {
  font-size: 11px;
  font-weight: 700;
}

.hero-text {
  color: rgba(255, 255, 255, .94);
}

/* Strong readable copy on the light sections. */
.story-copy > p:not(.kicker),
.location > p,
.amenities-heading > p:not(.kicker),
.amenity-grid p,
.gallery-heading p,
.story-image p {
  color: #000;
}

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

.email-button {
  background: transparent;
  border: 1px solid #f4ebe0;
  color: #f4ebe0;
}

.text-link {
  font-size: 13px;
  font-weight: 700;
}

.section-label {
  font-size: 11px;
  font-weight: 700;
}

/* Gallery: a balanced pair of tall anchor images with two moments between them. */
.gallery-grid {
  grid-template-columns: 1fr 1fr 1.45fr;
}

.gallery-grid .right-tall {
  grid-column: 3;
  grid-row: 1 / span 2;
}

.why-choose {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 54px;
  margin: 44px 0 22px;
  padding: 42px 0;
  border-top: 1px solid #cdbdac;
  border-bottom: 1px solid #cdbdac;
  color: #171210;
}

.why-section {
  padding-top: 86px;
  padding-bottom: 86px;
  background: #faf7f1;
}

.amenities {
  background: #e8ddd0;
}

.gallery {
  background: #3a2a24;
  color: #fff8f1;
}

.gallery .section-label,
.gallery-heading p {
  color: #e6d4c6;
}

.gallery .section-label span,
.gallery h2 em {
  color: #e7b584;
}

/* Milan's refined, unified colour system. */
:root {
  --ink: #1e2b2e;
  --coal: #17272b;
  --cream: #f8f4ed;
  --sand: #e8ded2;
  --gold: #b88a4c;
  --rose: #9b5d4b;
  --line: #d4c4b5;
}

body { background: #f8f4ed; }

.hero-overlay {
  background: linear-gradient(90deg, rgba(12, 30, 34, .82), rgba(12, 30, 34, .45) 44%, rgba(12, 30, 34, .08)), linear-gradient(0deg, rgba(10, 24, 27, .54), transparent 47%);
}

.intro-shade {
  background: linear-gradient(90deg, rgba(12, 30, 34, .7), rgba(12, 30, 34, .08) 72%), linear-gradient(0deg, rgba(12, 30, 34, .36), transparent 55%);
}

.location { background: #e8ded2; }
.location-mark, .gold { color: #9f7440; }

.celebrate { background: #9a654f; }
.celebrate .button.dark { background: #173237; }

.why-section { background: #f8f4ed; }
.amenities { background: #e7d9ca; }
.amenity-grid { border-color: #c7b4a3; }
.amenity-grid article { border-color: #c7b4a3; }
.amenity-grid span { color: #935845; }

.gallery { background: #17373d; }
.gallery .section-label, .gallery-heading p { color: #e6d9cb; }
.gallery .section-label span, .gallery h2 em { color: #dfae72; }

.quote { background: #f8f4ed; }
.quote > span { color: #b88a4c; }

.reserve { background: #17272b; }
.reserve .kicker { color: #e0b47e; }
.reserve em { color: #e0b47e; }
.email-button { border-color: #e9ded2; color: #e9ded2; }

footer { background: #102024; }

.quote {
  padding: 130px 8%;
}

.quote p {
  margin: 0;
  color: #1e2b2e;
  font: italic clamp(27px, 3.5vw, 48px)/1.3 var(--serif);
  letter-spacing: -.035em;
}

footer {
  position: relative;
  justify-content: center;
}

footer .brand { margin-left: 0; }

footer > span {
  position: absolute;
  right: 7%;
}

@media (max-width: 620px) {
  footer > span {
    position: static;
    margin-left: 0;
  }
}

/* A warmer, timeless Milan palette. */
:root {
  --ink: #2c1e1a;
  --coal: #321d1b;
  --cream: #fbf6ef;
  --sand: #ead9ca;
  --gold: #ad7941;
  --rose: #934d42;
  --line: #d5bdab;
}

body { background: #fbf6ef; }

.hero-overlay {
  background: linear-gradient(90deg, rgba(50, 29, 27, .83), rgba(50, 29, 27, .46) 44%, rgba(50, 29, 27, .08)), linear-gradient(0deg, rgba(41, 22, 20, .55), transparent 47%);
}

.intro-shade {
  background: linear-gradient(90deg, rgba(50, 29, 27, .72), rgba(50, 29, 27, .08) 72%), linear-gradient(0deg, rgba(50, 29, 27, .36), transparent 55%);
}

.location { background: #ead9ca; }
.location-mark, .gold { color: #8f573f; }

.celebrate { background: #914f43; }
.celebrate .button.dark { background: #42211e; }

.why-section { background: #fbf6ef; }
.amenities { background: #f0e3d6; }
.amenity-grid { border-color: #d1b8a6; }
.amenity-grid article { border-color: #d1b8a6; }
.amenity-grid span { color: #8f4b40; }

.gallery { background: #482b29; }
.gallery .section-label, .gallery-heading p { color: #eadace; }
.gallery .section-label span, .gallery h2 em { color: #dfae72; }

.quote { background: #fbf6ef; }
.quote p { color: #3a241f; }

.reserve { background: #321d1b; }
.reserve .kicker, .reserve em { color: #e0b47e; }
.email-button { border-color: #f0e1d3; color: #f0e1d3; }

footer { background: #241513; }

/* Celebration palette: plum, marigold, rose, and soft blush. */
:root {
  --ink: #3a2035;
  --coal: #44203c;
  --cream: #fff8ef;
  --sand: #f6dfd2;
  --gold: #d49a32;
  --rose: #b84e62;
  --line: #e5c8b8;
}

body { background: #fff8ef; }

.hero-overlay {
  background: linear-gradient(90deg, rgba(68, 32, 60, .83), rgba(68, 32, 60, .45) 44%, rgba(68, 32, 60, .08)), linear-gradient(0deg, rgba(56, 25, 49, .55), transparent 47%);
}

.intro-shade {
  background: linear-gradient(90deg, rgba(68, 32, 60, .72), rgba(68, 32, 60, .08) 72%), linear-gradient(0deg, rgba(56, 25, 49, .36), transparent 55%);
}

.location { background: #f6dfd2; }
.location-mark, .gold { color: #b5505c; }

.celebrate { background: #bb5960; }
.celebrate .button.dark { background: #4d213f; }

.why-section { background: #fff8ef; }
.amenities { background: #f8e7c6; }
.amenity-grid { border-color: #e4c69f; }
.amenity-grid article { border-color: #e4c69f; }
.amenity-grid span { color: #ae4d5c; }

.gallery { background: #522445; }
.gallery .section-label, .gallery-heading p { color: #f5dccc; }
.gallery .section-label span, .gallery h2 em { color: #f1bb54; }

.quote { background: #fff8ef; }
.quote p { color: #4b2442; }

.reserve { background: #48203e; }
.reserve .kicker, .reserve em { color: #f0bd58; }
.email-button { border-color: #ffe8d0; color: #ffe8d0; }

footer { background: #35162e; }

/* Restored original warm-neutral Milan colours; retain the new typography. */
:root {
  --ink: #29211d;
  --coal: #201916;
  --cream: #f5f0e7;
  --sand: #e8ddd0;
  --gold: #b98655;
  --rose: #a85d4b;
  --line: #d7c8b9;
}

body { background: #f5f0e7; }

.hero-overlay {
  background: linear-gradient(90deg, rgba(22, 15, 12, .8), rgba(22, 15, 12, .46) 42%, rgba(22, 15, 12, .08)), linear-gradient(0deg, rgba(14, 10, 9, .52), transparent 47%);
}

.intro-shade {
  background: linear-gradient(90deg, rgba(20, 13, 10, .68), rgba(20, 13, 10, .1) 72%), linear-gradient(0deg, rgba(20, 13, 10, .34), transparent 55%);
}

.location { background: #e8ddd0; }
.location-mark, .gold { color: #9b7254; }

.celebrate { background: #b77f64; }
.celebrate .button.dark { background: #201916; }

.why-section { background: #f5f0e7; }
.amenities { background: #faf7f1; }
.amenity-grid { border-color: #d7c8b9; }
.amenity-grid article { border-color: #d7c8b9; }
.amenity-grid span { color: #a85d4b; }

.gallery { background: #e9e0d4; color: #29211d; }
.gallery .section-label { color: #756d65; }
.gallery-heading p { color: #70665d; }
.gallery .section-label span { color: #a85d4b; }
.gallery h2 em { color: #e1ad81; }

.quote { background: #f5f0e7; }
.quote p { color: #29211d; }

.reserve { background: #201916; }
.reserve .kicker, .reserve em { color: #e1ad81; }
.email-button { border-color: #f4ebe0; color: #f4ebe0; }

footer { background: #171210; }

.why-kicker {
  margin: 0 0 15px;
  color: #9b7254;
  font: 700 10px var(--sans);
  letter-spacing: .17em;
}

.why-choose h3 {
  margin: 0;
  font: 31px/1.28 var(--serif);
  font-weight: 400;
}

.why-choose h3 em { color: #e1ad81; }

.why-choose ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.why-choose li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: #171210;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.why-choose li::before {
  content: '✓';
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  flex: 0 0 19px;
  margin-top: -1px;
  border-radius: 50%;
  background: #b98655;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.floating-actions {
  position: fixed;
  z-index: 40;
  right: 24px;
  bottom: 24px;
  display: grid;
  gap: 11px;
}

.whatsapp-float,
.call-float,
.map-float {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 2px solid rgba(255,255,255,.85);
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 9px 25px rgba(22, 68, 41, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}

.whatsapp-float { background: #25d366; }
.call-float { background: #22201e; }
.map-float { background: #cb4335; }

.whatsapp-float:hover,
.call-float:hover,
.map-float:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 12px 30px rgba(22, 68, 41, .45);
}

.whatsapp-float svg,
.call-float svg,
.map-float svg { width: 30px; height: 30px; }

@media (max-width: 620px) {
  .header .brand { margin-left: 12px; }
  .brand .brand-name { font-size: 12px; }
  .brand .brand-name small { font-size: 7px; }
  .floating-actions { right: 17px; bottom: 17px; gap: 9px; }
  .whatsapp-float, .call-float, .map-float { width: 52px; height: 52px; }

  /* Preserve the entire auditorium façade on phone screens. */
  .hero > img,
  .intro img {
    object-fit: contain;
    object-position: center center;
    background: #1594e8;
  }

  .header nav.open {
    color: #fff;
  }

  .header nav.open .nav-button {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .65);
  }

  .scroll { font-size: 10px; }
  .text-link { font-size: 12px; }
  .section-label { font-size: 10px; }
  .gallery-grid .right-tall { grid-column: auto; grid-row: auto; }
  .why-choose { grid-template-columns: 1fr; gap: 25px; padding: 30px 0; }
  .why-choose ul { grid-template-columns: 1fr; gap: 13px; }
}

