.creates,
.process,
.garland-service,
.testimonials,
.faq,
.payment-methods {
  padding: 7.5rem 7vw;
}

.garland-service {
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 7vw;
  align-items: center;
}

.rainbow-rental {
  padding: 0 7vw 7.5rem;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
  gap: 7vw;
  align-items: center;
}

.rainbow-rental-image {
  min-height: 680px;
  position: relative;
  overflow: hidden;
  background: #ececeb;
}

.rainbow-rental-image img {
  width: 100%;
  height: 680px;
  object-fit: cover;
}

.rainbow-rental-image span {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  padding: .7rem 1rem;
  background: rgba(28, 33, 29, .9);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.rainbow-rental-copy h2 {
  max-width: 720px;
  margin: .6rem 0 1.5rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.6rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 1;
}

.rainbow-rental-copy > p:not(.eyebrow) {
  color: #5f665f;
  font-size: 1.08rem;
  line-height: 1.8;
}

.rainbow-rental-price {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin: 1.75rem 0;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(45, 65, 51, .22);
  border-bottom: 1px solid rgba(45, 65, 51, .22);
}

.rainbow-rental-price span {
  padding-bottom: .45rem;
  color: #5f665f;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.rainbow-rental-price strong {
  color: #34443a;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.5rem, 7vw, 5.8rem);
  font-weight: 400;
  line-height: .8;
}

.rainbow-rental-copy ul {
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

.rainbow-rental-copy li {
  padding: .7rem 0 .7rem 1.5rem;
  position: relative;
  color: #505850;
}

.rainbow-rental-copy li::before {
  content: '•';
  position: absolute;
  left: .3rem;
  color: #b78b43;
}

.garland-heading h2 {
  max-width: 620px;
  margin: .6rem 0 1.5rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.6rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 1;
}

.garland-heading > p:not(.eyebrow) {
  max-width: 600px;
  margin: 0 0 2rem;
  color: #5f665f;
  font-size: 1.08rem;
}

.garland-card {
  padding: clamp(2rem, 5vw, 4rem);
  background: #dfe6da;
  border: 1px solid rgba(45, 65, 51, .18);
}

.garland-price {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(45, 65, 51, .24);
}

.garland-price small {
  padding-bottom: .65rem;
  color: #5f665f;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.garland-price strong {
  color: #34443a;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  font-weight: 400;
  line-height: .8;
}

.garland-card ul {
  margin: 1.75rem 0;
  padding: 0;
  list-style: none;
}

.garland-card li {
  padding: .75rem 0 .75rem 1.6rem;
  border-bottom: 1px solid rgba(45, 65, 51, .16);
  position: relative;
}

.garland-card li::before {
  content: '•';
  position: absolute;
  left: .35rem;
  color: #b78b43;
}

.garland-note {
  margin: 0;
  color: #5f665f;
  font-size: .88rem;
  line-height: 1.7;
}

/* Crop the photographed background around the circular logo so the mark reads cleanly. */
.brand img,
.about img,
footer img {
  object-fit: cover;
  object-position: 50% 51%;
  clip-path: circle(42.5% at 50% 51%);
}

.about img {
  width: 340px;
  aspect-ratio: 1;
}

.design-inspiration {
  padding: 0 7vw 7.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 6vw;
  align-items: center;
}

.inspiration-image {
  position: relative;
  overflow: hidden;
  min-height: 520px;
}

.inspiration-image img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.inspiration-image span {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  padding: .7rem 1rem;
  background: rgba(28, 33, 29, .9);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.inspiration-copy h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 4.5vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
}

.inspiration-copy > p:last-child {
  margin: 1.75rem 0 0;
  color: #5f665f;
  font-size: 1.08rem;
  line-height: 1.8;
}

/* Keep the headline clear of the illuminated sign within the hero photograph. */
@media (min-width: 701px) {
  .hero h1 {
    max-width: 680px;
    font-size: clamp(58px, 6.5vw, 92px);
  }
}

.creates,
.faq {
  background: #faf7f0;
}

.creates .section-head,
.process .section-head,
.faq .section-head {
  max-width: 760px;
  margin-bottom: 3rem;
}

.creates-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(45, 65, 51, .22);
  border-left: 1px solid rgba(45, 65, 51, .22);
}

.creates-grid article {
  min-height: 190px;
  padding: 2rem;
  border-right: 1px solid rgba(45, 65, 51, .22);
  border-bottom: 1px solid rgba(45, 65, 51, .22);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background .25s ease, transform .25s ease;
}

.creates-grid article:hover {
  background: #fff;
  transform: translateY(-3px);
}

.creates-grid span,
.process-grid span {
  color: #b78b43;
  font-size: .78rem;
  letter-spacing: .16em;
}

.creates-grid h3,
.process-grid h3 {
  margin: 1.5rem 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 400;
}

.process {
  background: #dfe6da;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.process-grid article {
  min-height: 280px;
  padding: 2.25rem;
  background: rgba(255, 255, 255, .7);
  border-radius: 999px 999px 1rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.process-grid p {
  margin: 1rem 0 0;
  line-height: 1.7;
}

.testimonials {
  background: #283c31;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 6vw;
  align-items: center;
}

.testimonials h2 {
  max-width: 560px;
  margin: .6rem 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 5vw, 5.5rem);
  font-weight: 400;
  line-height: .98;
}

.review-invite {
  padding: 2.5rem;
  border: 1px solid rgba(255, 255, 255, .28);
}

.review-invite p {
  margin: 0 0 1.5rem;
  font-size: 1.08rem;
  line-height: 1.8;
}

.review-invite .text-link {
  color: #e7c47d;
}

.faq-list {
  max-width: 920px;
  margin-left: auto;
}

.faq details {
  border-top: 1px solid rgba(45, 65, 51, .24);
}

.faq details:last-child {
  border-bottom: 1px solid rgba(45, 65, 51, .24);
}

.faq summary {
  padding: 1.55rem 3rem 1.55rem 0;
  cursor: pointer;
  list-style: none;
  position: relative;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq summary::after {
  content: '+';
  position: absolute;
  right: .25rem;
  color: #b78b43;
  font-family: Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
}

.faq details[open] summary::after {
  content: '−';
}

.faq details p {
  max-width: 760px;
  margin: -.25rem 0 1.6rem;
  color: #5f665f;
  line-height: 1.75;
}

.payment-methods {
  background: #dfe6da;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 6vw;
  align-items: center;
}

.payment-methods h2 {
  max-width: 650px;
  margin: .6rem 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1;
}

.payment-card {
  padding: 2.5rem;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(45, 65, 51, .18);
}

.payment-card p {
  margin: 1.5rem 0 0;
  font-size: 1.08rem;
  line-height: 1.8;
}

.payment-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.payment-tags span {
  padding: .65rem .9rem;
  border: 1px solid rgba(45, 65, 51, .3);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.floating-contact {
  position: fixed;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  z-index: 100;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: .65rem;
}

.floating-contact > button {
  min-width: 112px;
  padding: .9rem 1.3rem;
  border: 0;
  border-radius: 999px;
  background: #c39a53;
  color: #17271e;
  box-shadow: 0 10px 30px rgba(26, 38, 30, .25);
  cursor: pointer;
  font: 700 .78rem/1 Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.floating-contact > div {
  display: none;
  min-width: 205px;
  padding: .5rem;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 14px 40px rgba(26, 38, 30, .2);
  flex-direction: column;
}

.floating-contact.open > div {
  display: flex;
}

.floating-contact a {
  padding: .8rem 1rem;
  border-radius: .5rem;
  color: #283c31;
  text-decoration: none;
}

.floating-contact a:hover {
  background: #f2ede3;
}

@media (max-width: 1050px) {
  .design-inspiration {
    grid-template-columns: 1fr;
  }

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

  .testimonials {
    grid-template-columns: 1fr;
  }

  .garland-service {
    grid-template-columns: 1fr;
  }

  .rainbow-rental {
    grid-template-columns: 1fr;
  }

  .payment-methods {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .design-inspiration {
    padding: 0 6vw 5rem;
    gap: 2.5rem;
  }

  .rainbow-rental {
    padding: 0 6vw 5rem;
    gap: 2.5rem;
  }

  .rainbow-rental-image,
  .rainbow-rental-image img {
    min-height: 520px;
    height: 520px;
  }

  .inspiration-image,
  .inspiration-image img {
    min-height: 360px;
  }

  .creates,
  .process,
  .garland-service,
  .testimonials,
  .faq,
  .payment-methods {
    padding: 5rem 6vw;
  }

  .creates-grid,
  .process-grid {
    grid-template-columns: 1fr;
  }

  .creates-grid article {
    min-height: 145px;
  }

  .process-grid article {
    min-height: 235px;
  }

  .review-invite {
    padding: 1.6rem;
  }

  .about img {
    width: 230px;
  }

  .payment-card {
    padding: 1.6rem;
  }

  .floating-contact {
    right: 1rem;
    bottom: 1rem;
  }
}

/* Keep the corporate image and copy in separate rows at every viewport width. */
.corporate {
  display: block;
}

.corporate img {
  width: 100%;
  height: clamp(460px, 52vw, 760px);
  object-fit: cover;
}

.corporate > div {
  min-width: 0;
  position: relative;
  padding: clamp(3.5rem, 5vw, 5rem) clamp(2.25rem, 5vw, 5.5rem);
}

.corporate h2 {
  max-width: 900px;
  font-size: clamp(2.9rem, 4vw, 4rem);
  line-height: 1.04;
  overflow-wrap: break-word;
}

@media (max-width: 1400px) {
  .corporate img {
    height: clamp(430px, 46vw, 620px);
  }

  .corporate > div {
    padding: 4.5rem 7vw 5rem;
  }

}

@media (max-width: 650px) {
  .corporate > div {
    padding: 4.25rem 6vw;
  }

  .corporate h2 {
    font-size: clamp(2.6rem, 12vw, 3.25rem);
  }
}

/* Responsive guardrails: keep content in normal flow at browser zoom levels. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

main,
main > section,
main > section > *,
.topbar > *,
.gallery > *,
.showcase > * {
  min-width: 0;
}

h1,
h2,
h3,
p,
a,
small,
span {
  max-width: 100%;
  overflow-wrap: break-word;
}

main > section {
  clear: both;
  isolation: isolate;
}

/* Corporate media and copy must always occupy separate rows. */
.corporate {
  display: flow-root !important;
  grid-template-columns: none !important;
  height: auto !important;
}

.corporate > img,
.corporate > div {
  float: none !important;
  inset: auto !important;
  transform: none !important;
}

.corporate > img {
  display: block;
}

@media (max-width: 900px) {
  .intro,
  .rentals,
  .quote,
  .design-inspiration,
  .garland-service,
  .rainbow-rental,
  .testimonials,
  .payment-methods,
  .about {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .intro,
  .rentals,
  .quote,
  .design-inspiration,
  .garland-service,
  .rainbow-rental,
  .testimonials,
  .payment-methods,
  .about {
    gap: clamp(2rem, 6vw, 4rem);
  }
}

@media (max-width: 520px) {
  .hero h1,
  .intro h2,
  .section-head h2,
  .rental-copy h2,
  .corporate h2,
  .about h2,
  .quote h2,
  .garland-heading h2,
  .rainbow-rental-copy h2,
  .testimonials h2,
  .payment-methods h2 {
    font-size: clamp(2.35rem, 11vw, 3.4rem);
    line-height: 1.05;
  }

  .topbar,
  .brand,
  .header-actions {
    min-width: 0;
  }

  .brand span {
    overflow: hidden;
  }

  .brand b {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}

/* Desktop zoom safety: keep media in normal flow at every browser scale. */
.gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  align-items: start;
}

.gallery figure,
.gallery .wide {
  min-width: 0;
  height: auto;
  grid-column: auto;
}

.gallery .wide {
  grid-column: span 2;
}

.gallery img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.showcase {
  height: auto;
  align-items: start;
}

.showcase img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.design-inspiration,
.garland-service,
.rainbow-rental,
.rentals,
.testimonials,
.payment-methods,
.quote,
.about {
  align-items: start;
}

.inspiration-image,
.inspiration-image img,
.rainbow-rental-image,
.rainbow-rental-image img {
  min-height: 0;
}

.inspiration-image img,
.rainbow-rental-image img {
  height: auto;
  max-height: none;
  object-fit: contain;
}

.corporate img {
  height: auto;
  max-height: none;
  object-fit: contain;
}

@media (max-width: 650px) {
  .gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .gallery .wide {
    grid-column: auto;
  }

  .showcase {
    grid-template-columns: minmax(0, 1fr);
  }
}
.wooden-rentals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5vw;padding:0 7vw 110px}.wooden-rentals-image{background:#ebe3d8;overflow:hidden}.wooden-rentals-image img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:contain}.wooden-rentals-copy{min-width:0}.wooden-rentals-copy h2{font:400 clamp(40px,4vw,64px)/1.06 "Italiana",serif;margin:0 0 20px}.wooden-rentals-copy>p:not(.eyebrow){color:var(--muted);margin:0 0 22px}.wooden-prices{border-top:1px solid var(--line)}.wooden-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.wooden-prices span{min-width:0}.wooden-prices strong{flex:none;font-size:18px;color:var(--green)}.wooden-rentals-copy .wooden-note{font-size:14px;line-height:1.5;margin:17px 0 0;color:var(--muted)}@media(max-width:900px){.wooden-rentals{grid-template-columns:1fr;gap:35px;padding:0 6vw 80px}.wooden-rentals-image img{max-height:520px}}@media(max-width:520px){.wooden-rentals-copy h2{font-size:44px}.wooden-prices>div{gap:12px}.wooden-prices strong{font-size:17px}}
.quote .honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.quote .form-status{margin:0;line-height:1.5}.quote .form-status:empty{display:none}.quote .form-status.success{color:#cce5c9}.quote .form-status.error{color:#ffd3c9}.quote button[type="submit"]:disabled{opacity:.7;cursor:wait}
.quote .quote-actions{display:grid;gap:14px;padding:22px;border:1px solid #596158;background:#27302a}.quote .quote-actions[hidden]{display:none}.quote .quote-actions label{font-size:16px}.quote .quote-actions textarea{resize:vertical;min-height:155px}.quote .quote-send-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.quote .quote-send-actions .button{font-size:14px}.quote .quote-send-actions .text-link{margin:0 0 0 8px;color:#e3c894}.quote .form-status:not(:empty){font-size:16px;color:#f0dfbd}
/* 2026 catalog update: fluid cards and restrained image scale. */
section[id]{scroll-margin-top:100px}.gallery{max-width:1440px;margin:auto;padding:0 7vw 64px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery figure,.gallery .wide{grid-column:auto;overflow:hidden;border-radius:12px;background:#e9e4da}.gallery img{width:100%;height:auto;aspect-ratio:4/5;max-height:430px;object-fit:contain}.gallery figcaption{position:static;background:var(--green);font-size:23px;padding:15px 18px;min-height:68px}.gallery figure:hover img{transform:none}.photo-open{display:block;padding:0;border:0;background:transparent;width:100%;cursor:zoom-in;color:inherit}.portfolio-section,.inspiration-section,.rental-builder,.rainbow-feature{padding:80px 7vw}.portfolio-section{background:#fff}.inspiration-section{background:#ece7de}.portfolio-section>h2,.inspiration-section>h2,.rental-builder>h2,.rainbow-feature h2{font-size:clamp(36px,4.5vw,64px);max-width:950px}.portfolio-section>p:not(.eyebrow),.inspiration-section>p:not(.eyebrow),.rental-builder>p{max-width:850px;color:var(--muted)}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.design-card{background:var(--ivory);border:1px solid var(--line);border-radius:14px;overflow:hidden;padding-bottom:24px}.design-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#e8e0d4}.design-card h3{font:30px/1.15 'Italiana',serif;margin:16px 22px 10px}.design-card p,.design-card small,.design-card .text-link{margin-left:22px;margin-right:22px}.design-card p{color:var(--muted);font-size:14px}.design-card small{display:block;margin-top:18px;font-size:10px;letter-spacing:.12em;color:#6a5839}.design-card .text-link{font-size:13px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.filter-bar button{font:inherit;font-size:13px;background:transparent;border:1px solid #a9afa5;padding:9px 16px;border-radius:30px;cursor:pointer}.filter-bar button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}[hidden]{display:none!important}.flyer-library{margin-top:60px;padding-top:35px;border-top:1px solid #667269}.flyer-library h3{font:38px 'Italiana',serif;margin:0}.flyer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:25px}.flyer-grid article{min-width:0}.flyer-grid img{width:100%;height:auto;border-radius:8px}.flyer-grid h4{margin:12px 0 5px;font-weight:500}.flyer-link{display:inline-block;font-size:13px;margin:5px 12px 5px 0;border-bottom:1px solid #d4b27e}.rental-builder{background:#fff}.rental-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:32px}.rental-builder-grid img{width:100%;height:auto;max-height:460px;object-fit:contain;background:#f1ece3;border-radius:14px}.rental-caption{font-size:13px;color:var(--muted)}.rental-config{padding:30px;background:var(--ivory);border:1px solid var(--line);border-radius:14px}.rental-config label{display:block;font-weight:500;margin-bottom:12px}.rental-config select{width:100%;max-width:100%;font:inherit;font-size:15px;padding:14px;border:1px solid #9b9f96;background:white;color:var(--ink);border-radius:4px}.rental-config .pedestal-option{display:flex;gap:10px;align-items:center;margin:20px 0}.pedestal-option input{width:20px;height:20px;accent-color:var(--green)}#rental-total{display:block;font:54px/1.1 'Italiana',serif;color:var(--green)}.rental-note{font-size:13px;color:var(--muted)}.rental-price-list{margin-top:30px;border-top:1px solid var(--line);padding:20px 0}.rental-price-list summary{cursor:pointer;font-weight:600}.rental-price-list p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;margin:0}.rental-price-list strong{flex-shrink:0}.rainbow-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:center;background:#e8e1d7}.rainbow-feature img{width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:14px}.rainbow-prices{font-size:20px;color:var(--green)}.corporate>img{width:100%;height:auto;max-height:520px;object-fit:contain;background:#e7e1d6}.review-links{display:flex;flex-direction:column;align-items:flex-start}.review-card{margin:0;padding:32px;border:1px solid #7b897c;border-radius:14px;background:#344a3c}.review-card blockquote{font-size:20px;line-height:1.7;margin:15px 0 24px}.review-card figcaption{position:static;padding:0;background:none;font:600 16px 'DM Sans',sans-serif}.review-card small{display:block;margin-top:15px;color:#d0d9d2}.review-stars{color:#e7c47d;font-size:24px;letter-spacing:3px;margin:0}.photo-dialog{border:0;padding:14px;background:var(--ivory);border-radius:12px;max-width:94vw;max-height:94dvh}.photo-dialog::backdrop{background:#101810db}.photo-dialog img{max-width:88vw;max-height:80dvh;width:auto;height:auto;object-fit:contain}.close-photo{display:block;margin:0 0 10px auto;padding:10px 15px;border:1px solid var(--line);background:white;cursor:pointer;font:inherit}.button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #c09751;outline-offset:4px}.section-head>p:last-child{color:inherit}.hero{min-height:560px;max-height:900px}.hero-copy{right:7vw}.collection-grid,.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:16px}.topbar nav{gap:16px}
@media(min-width:1500px){.design-grid,.flyer-grid,.rental-builder-grid,.rainbow-feature>div{max-width:1360px}.portfolio-section,.inspiration-section,.rental-builder,.collections{padding-left:max(7vw,calc((100vw - 1400px)/2));padding-right:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.gallery,.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flyer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rental-builder-grid,.rainbow-feature{grid-template-columns:1fr}.rainbow-feature .photo-open{max-width:550px;margin:auto}}
@media(max-width:650px){.gallery,.design-grid{grid-template-columns:minmax(0,1fr)}.gallery{padding:0 6vw 50px}.gallery img{max-height:380px}.design-card img{max-height:420px}.flyer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section,.inspiration-section,.rental-builder,.rainbow-feature{padding:55px 6vw}.rental-config{padding:22px}.rental-builder-grid{gap:20px}.collection-grid,.policy-grid{grid-template-columns:1fr}.hero{height:auto;min-height:650px}.hero>img,.hero-overlay{position:absolute;inset:0}.hero-copy{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;padding:80px 6vw 90px}.hero h1{font-size:clamp(42px,11vw,58px)}.review-card{padding:24px}.topbar{gap:10px}.brand b{font-size:10px}.review-card blockquote{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Customer review collection: complete quotes, flexible card heights. */
.testimonials.all-reviews{display:block}.all-reviews>div:first-child{max-width:900px}.all-reviews h2{max-width:850px}.all-reviews .review-links{flex-direction:row;flex-wrap:wrap;gap:12px 28px}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:36px;align-items:start}.reviews-grid .review-card{height:auto;min-width:0}.reviews-grid blockquote{font-size:16px;line-height:1.8;margin:18px 0 0}.reviews-grid figcaption{font-size:16px;color:#f0d6a5}.reviews-note{display:block;color:#d0d9d2;margin-top:24px}@media(max-width:700px){.reviews-grid{grid-template-columns:minmax(0,1fr)}.reviews-grid .review-card{padding:24px}.all-reviews .review-links{flex-direction:column;gap:0}}

/* Focused layout refinement: larger corporate photo and compact reviews. */
.corporate>img{width:min(100%,1110px);height:auto;max-height:740px;object-fit:contain;margin-inline:auto}
.testimonials.all-reviews{padding-block:72px}
.all-reviews>div:first-child{max-width:1100px;margin-inline:auto}
.all-reviews h2{font-size:clamp(36px,4.4vw,62px);line-height:1.08;max-width:900px}
.all-reviews .eyebrow{margin-bottom:14px}
.all-reviews .review-links{gap:8px 24px}
.reviews-grid{display:block;column-count:2;column-gap:18px;max-width:1100px;margin:28px auto 0}
.reviews-grid .review-card{display:inline-block;width:100%;break-inside:avoid;margin:0 0 18px;padding:24px;vertical-align:top}
.reviews-grid blockquote{font-size:15px;line-height:1.7;margin-top:14px}
.reviews-note{max-width:1100px;margin:6px auto 0}
@media(max-width:700px){.reviews-grid{column-count:1}.testimonials.all-reviews{padding-block:50px}.reviews-grid .review-card{padding:22px;margin-bottom:14px}.corporate>img{max-height:none}}

.marquee-rental .marquee-photos{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px}.marquee-rental .design-card img{aspect-ratio:4/5;max-height:520px;object-fit:contain}.marquee-price{font-size:22px;font-weight:600}.marquee-weather{max-width:850px;margin:30px 0;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--ivory)}.marquee-weather h3{font:30px 'Italiana',serif;margin:0 0 12px}.marquee-weather p{margin:0;color:var(--muted)}@media(max-width:650px){.marquee-rental .marquee-photos{grid-template-columns:1fr}}

/* Full rental photos remain visible at every viewport size. */
.rental-photo-frame{width:100%;aspect-ratio:1/1;max-width:560px;margin:0 auto;background:#eee7dc;border-radius:14px;overflow:hidden}
.rental-builder-grid .rental-photo-frame img{display:block;position:static;width:100%;height:100%;max-height:none;max-width:100%;object-fit:contain;border-radius:0;margin:0}
#rental-pedestal-preview{margin:20px auto 0;text-align:center;font-size:13px}
.rental-pedestal-frame{max-width:170px}
.rental-caption{text-align:center;min-height:24px}
.rental-photo-note{text-align:center;font-size:12px;color:var(--muted);margin:12px 0}
