/* Locally served typography and the original Paradise feature icon set. */
:root {
  --font: 'Manrope', 'Segoe UI', sans-serif;
  --font-display: 'DM Serif Display', Georgia, serif;
}
body { font-weight: 400; -webkit-font-smoothing: antialiased; }
p { letter-spacing: 0; }
h2, h3 { font-family: var(--font); font-weight: 650; letter-spacing: -.035em; }
.desktop-nav { font-weight: 650; font-size: calc(8.5 * var(--u)); }
.dropdown-menu { font-weight: 550; }
.eyebrow { font-weight: 600; letter-spacing: .075em; font-size: calc(10.5 * var(--u)); }
.button { font-weight: 650; letter-spacing: -.01em; }
.call-button strong { font-weight: 700; letter-spacing: -.015em; }
.hero h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(42px, 4.45vw, 70px);
  letter-spacing: -.025em;
  line-height: 1.065;
}
.hero h1 em {
  font-family: var(--font);
  font-weight: 550;
  font-size: clamp(27px, 3.05vw, 46px);
  letter-spacing: -.035em;
  margin-top: 17px;
  line-height: 1.2;
}
.hero-description { font-weight: 400; letter-spacing: -.015em; font-size: clamp(14px, 1.2vw, 18px); line-height: 1.75; }
.hero .eyebrow { font-weight: 600; font-size: clamp(10px, 1vw, 14px); letter-spacing: .17em; }
.hero-features { gap: clamp(18px, 2vw, 31px); border-top-color: #e4c48a26; padding-top: 25px; }
.hero-features > div { gap: 11px; font-weight: 500; font-size: clamp(10px, .91vw, 14px); line-height: 1.55; }
.hero .feature-icon {
  width: clamp(46px, 4.15vw, 60px);
  height: clamp(46px, 4.15vw, 60px);
  border-radius: 15px;
  border: 1px solid #d6b07145;
  background: linear-gradient(145deg, #ffffff0b, #00283b55);
  box-shadow: inset 0 1px 0 #ffffff0d, 0 5px 18px #00152216;
}
.hero .feature-icon img { width: 86%; height: 86%; object-fit: contain; }
.hero .button { font-weight: 650; font-size: 14px; }
.service-content h2 { font-weight: 650; font-size: calc(23 * var(--u)); line-height: 1.14; }
.service-content p:not(.eyebrow) { font-size: calc(11.5 * var(--u)); line-height: 1.47; max-width: calc(375 * var(--u)); }
.service-content p .desktop-break { display: none; }
.service-content .button { margin-top: calc(10 * var(--u)); }
.service-points li { font-size: calc(9.8 * var(--u)); font-weight: 550; }
.section-heading h2 { font-weight: 650; font-size: calc(23 * var(--u)); }
.section-heading p:not(.eyebrow) { line-height: 1.4; font-size: calc(10.8 * var(--u)); }
.product-card > span { font-size: calc(10 * var(--u)); font-weight: 600; letter-spacing: -.01em; }
.colours-content h2, .standards-content h2 { font-weight: 650; font-size: calc(20 * var(--u)); }
.colours-content p:not(.eyebrow), .standards-content p:not(.eyebrow) { font-size: calc(10.2 * var(--u)); line-height: 1.45; }
.colour-panel h3 { font-weight: 750; letter-spacing: -.01em; }
.swatch-label { font-weight: 600; }
.compliance-list { font-weight: 500; font-size: calc(9.8 * var(--u)); }
.process-content h2 { font-weight: 650; }
.process-steps b { font-weight: 650; }
.process-steps span { font-weight: 600; }
.process-steps { margin-top: calc(7 * var(--u)); }
.process-steps .process-icon {
  display: grid;
  place-items: center;
  width: calc(42 * var(--u));
  height: calc(42 * var(--u));
  margin: 0 0 calc(6 * var(--u)) calc(12 * var(--u));
  border-radius: calc(11 * var(--u));
  border: 1px solid #c9ad7840;
  background: linear-gradient(145deg, #fff, #f8f6f1);
  box-shadow: inset 0 1px 0 #fff, 0 calc(4 * var(--u)) calc(12 * var(--u)) #0b2f4510;
}
.process-icon img { width: 86%; height: 86%; object-fit: contain; }
.process-steps li:not(:last-child)::after {
  content: '';
  width: calc(11 * var(--u));
  height: 1px;
  top: calc(21 * var(--u));
  right: calc(-7 * var(--u));
  background: #b995574d;
}
.why-us ul { font-size: calc(9.4 * var(--u)); }
.testimonials blockquote { font-size: calc(9.2 * var(--u)); line-height: 1.5; }
.review-author { font-weight: 700; }
.footer-cta h2 { font-weight: 650; letter-spacing: -.02em; }
.footer-contact > a:not(.footer-brand) { font-weight: 550; font-size: calc(10.2 * var(--u)); }
.site-dialog h2 { font-family: var(--font-display); font-weight: 400; font-size: 32px; letter-spacing: -.025em; }
.site-dialog h3 { font-weight: 650; }

@media (max-width: 760px) {
  .hero h1 { font-size: clamp(31px, 8.5vw, 45px); line-height: 1.1; }
  .hero h1 em { font-size: clamp(25px, 6.5vw, 32px); font-weight: 550; margin-top: 15px; }
  .hero-description { font-size: 14px; line-height: 1.8; }
  .hero-features { gap: 18px 13px; }
  .hero-features > div { font-size: 10.5px; gap: 10px; }
  .hero .feature-icon { width: 47px; height: 47px; border-radius: 12px; }
  .hero .button { font-size: 13px; }
  .mobile-nav a, .mobile-nav button { font-weight: 600; }
  .service-content h2, .section-heading h2 { font-size: 25px; }
  .service-content p:not(.eyebrow) { font-size: 13px; line-height: 1.75; max-width: 540px; }
  .service-points li { font-size: 9.8px; }
  .section-heading p:not(.eyebrow) { font-size: 12.5px; line-height: 1.7; }
  .product-card > span { font-size: 10.5px; }
  .colours-content h2, .standards-content h2 { font-size: 23px; }
  .colours-content p:not(.eyebrow), .standards-content p:not(.eyebrow) { font-size: 12.5px; line-height: 1.7; }
  .compliance-list { font-size: 10px; }
  .why-us ul { font-size: 10.5px; }
  .testimonials blockquote { font-size: 11px; line-height: 1.8; }
  .footer-contact > a:not(.footer-brand) { font-size: 10.5px; }
  .process-steps .process-icon { width: 42px; height: 42px; margin-left: 0; margin-bottom: 12px; border-radius: 11px; }
  .process-steps li:not(:last-child)::after { width: 8px; right: -4px; top: 21px; }
}
