/* RFID Resort — coastal hospitality rebrand, July 2026 */
:root {
  --color-primary-950: #062c36;
  --color-primary-900: #073b4c;
  --color-primary-800: #075466;
  --color-primary-700: #087083;
  --color-primary-600: #078f98;
  --color-primary-500: #0aa6a6;
  --color-primary-300: #70d5cf;
  --color-primary-200: #a8e6df;
  --color-primary-100: #d6f4ed;
  --color-primary-50: #eefbf7;
  --color-accent-800: #873519;
  --color-accent-700: #ad4526;
  --color-accent-600: #d95735;
  --color-accent-500: #f36f45;
  --color-accent-400: #ff946c;
  --color-accent-300: #ffb99b;
  --color-accent-200: #ffd4bf;
  --color-accent-100: #ffe8da;
  --color-accent-50: #fff4ec;
  --color-warm-50: #fffaf0;
  --color-warm-100: #f8edda;
  --color-warm-200: #ead8b8;
  --color-warm-300: #d7bd91;
  --shadow-card-hover: 0 22px 55px rgba(7, 59, 76, .14);
}

/* --------------------------------------------------------------------------
   Sitewide catalogue alignment — July 2026
   The wristband catalogue is the visual source of truth for every page.
   -------------------------------------------------------------------------- */

:root {
  --rr-ink: #062c36;
  --rr-sea: #078f98;
  --rr-sea-soft: #dff5ef;
  --rr-coral: #f36f45;
  --rr-sun: #ffbd59;
  --rr-sand: #f8edda;
  --rr-cream: #fffaf0;
  --rr-line: rgba(7, 59, 76, .13);
  --rr-shadow: 0 24px 70px rgba(6, 44, 54, .12);
}

body {
  overflow-x: clip;
}

#site-header nav {
  min-height: 5.5rem;
  max-width: 90rem;
}

#site-header:not(.scrolled) {
  background: linear-gradient(180deg, rgba(6,44,54,.62), rgba(6,44,54,0)) !important;
}

#site-header.scrolled {
  border-bottom: 1px solid rgba(255,255,255,.09);
}

#site-header nav > div > a,
#site-header nav > div > div > a {
  position: relative;
}

#site-header .rr-active-nav::after {
  background: var(--rr-sun);
  border-radius: 999px;
  bottom: .35rem;
  content: "";
  height: 2px;
  left: 1rem;
  position: absolute;
  right: 1rem;
}

#products-dropdown {
  border-radius: 1.15rem !important;
  box-shadow: 0 28px 80px rgba(3, 25, 31, .35) !important;
  width: 24rem !important;
}

#products-dropdown > div:first-child {
  display: grid;
  gap: .15rem;
  grid-template-columns: 1fr 1fr;
  padding: .7rem;
}

#products-dropdown a[role="menuitem"] {
  min-height: 4.9rem;
  padding: .85rem !important;
}

#products-dropdown .rr-catalogue-nav-link {
  background: linear-gradient(135deg, rgba(255,189,89,.18), rgba(243,111,69,.12));
  border: 1px solid rgba(255,189,89,.22);
  grid-column: 1 / -1;
  min-height: auto;
}

#products-dropdown .rr-catalogue-nav-link span:first-child,
#mobile-products-list .rr-catalogue-nav-link {
  color: #ffd07d !important;
}

footer.bg-primary-900 {
  background:
    radial-gradient(circle at 80% 5%, rgba(39,184,182,.15), transparent 24rem),
    #062c36 !important;
}

footer.bg-primary-900 h2,
footer.bg-primary-900 h3 {
  color: #fff7e7 !important;
  font-family: var(--font-sans);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

footer.bg-primary-900 a {
  text-underline-offset: .22em;
}

footer.bg-primary-900 a:hover {
  color: #ffbd59 !important;
  text-decoration: underline;
}

/* Homepage product image correction and catalogue continuity */
.resort-home main > section[aria-label="Products"] article:nth-child(1)::after {
  background-color: transparent !important;
  background-image: url('/images/products/rfid-hotel-keycard.webp?v=sitewide-20260716') !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 13rem !important;
  transform: rotate(-2deg);
  width: 23rem !important;
}

/* Shared interior canvas */
.resort-interior main {
  background: var(--rr-cream);
}

.resort-interior main > section:first-child {
  background:
    radial-gradient(circle at 84% 38%, rgba(39,184,182,.23), transparent 25rem),
    radial-gradient(circle at 7% 4%, rgba(255,189,89,.12), transparent 19rem),
    var(--rr-ink) !important;
  isolation: isolate;
  min-height: 28rem;
  overflow: hidden;
  position: relative;
}

.resort-interior main > section:first-child::before {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
  height: 38rem;
  pointer-events: none;
  position: absolute;
  right: -12rem;
  top: -16rem;
  width: 38rem;
  z-index: 0;
}

.resort-interior main > section:first-child::after {
  background: linear-gradient(90deg, var(--rr-sun) 0 50%, var(--rr-coral) 50%);
  bottom: 0;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 3;
}

.resort-interior main > section:first-child > * {
  position: relative;
  z-index: 1;
}

.resort-interior main > section:first-child h1 {
  color: #fffaf0 !important;
  font-family: var(--font-heading);
  font-size: clamp(3rem, 6.1vw, 6.35rem) !important;
  letter-spacing: -.045em;
  line-height: .93 !important;
  max-width: 59rem;
  text-wrap: balance;
}

.resort-interior main > section:first-child h1 + p,
.resort-interior main > section:first-child .text-lg,
.resort-interior main > section:first-child .md\:text-xl {
  color: rgba(255,255,255,.76) !important;
  max-width: 45rem;
}

.resort-interior main > section:first-child nav[aria-label="Breadcrumb"] {
  padding-bottom: 1.25rem;
}

.resort-interior main > section:not(:first-child) h2.section-heading,
.resort-interior main > section:not(:first-child) h2:not([class*="text-"]) {
  font-size: clamp(2.3rem, 4vw, 4.1rem);
  letter-spacing: -.035em;
  line-height: 1;
  text-wrap: balance;
}

.resort-interior .card-natural,
.resort-interior .card-warm {
  box-shadow: none;
}

.resort-interior .card-natural:hover,
.resort-interior .card-warm:hover {
  border-color: rgba(7,143,152,.32);
  box-shadow: var(--rr-shadow);
}

/* Product catalogue index */
.rr-products-index main > section[aria-label="Products hero"] {
  min-height: 40rem;
  padding-bottom: 6rem !important;
  padding-top: 9.5rem !important;
}

.rr-products-index main > section[aria-label="Products hero"] > .container-wide {
  padding-right: min(48vw, 44rem);
}

.rr-products-index main > section[aria-label="Products hero"]::before {
  background: var(--rr-sand) url('/images/illustrations/resort-rfid-wristbands-real.png?v=sitewide-20260716') center / contain no-repeat;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 2rem;
  box-shadow: 0 28px 70px rgba(0,0,0,.22);
  height: 25rem;
  left: auto;
  right: max(2rem, calc((100vw - 90rem) / 2 + 1.5rem));
  top: 9rem;
  transform: rotate(1.5deg);
  width: min(42vw, 38rem);
}

.rr-products-index main > section[aria-label="Products hero"]::after {
  background: linear-gradient(90deg, var(--rr-sun), var(--rr-coral), var(--rr-sea));
}

.rr-products-index main > section:nth-child(2) {
  background: rgba(248,237,218,.88) !important;
  backdrop-filter: blur(16px);
  border-color: var(--rr-line) !important;
  box-shadow: 0 10px 35px rgba(6,44,54,.07);
  top: 5.5rem !important;
  z-index: 35 !important;
}

.rr-products-index .category-pill {
  border-color: rgba(7,59,76,.18) !important;
  color: var(--rr-ink) !important;
  padding: .48rem 1rem !important;
}

.rr-products-index .category-pill[style*="background: var(--color-primary-800)"] {
  background: var(--rr-ink) !important;
  border-color: var(--rr-ink) !important;
  color: #fff !important;
}

.rr-products-index main > section[aria-label="All products"] {
  background:
    linear-gradient(rgba(7,59,76,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,59,76,.035) 1px, transparent 1px),
    var(--rr-cream) !important;
  background-size: 42px 42px !important;
  padding-bottom: 8rem !important;
  padding-top: 6rem !important;
}

.rr-products-index #products-grid {
  gap: 1.5rem;
}

.rr-products-index #products-grid > article {
  background: rgba(255,255,255,.94);
  border: 1px solid var(--rr-line);
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 0;
}

.rr-products-index #products-grid > article:hover {
  box-shadow: 0 22px 58px rgba(6,44,54,.14);
  transform: translateY(-6px);
}

.rr-products-index #products-grid > article > .relative {
  background: var(--rr-sand) !important;
  border-radius: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.rr-products-index #products-grid > article > .relative::after {
  background: linear-gradient(0deg, rgba(6,44,54,.07), transparent 42%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.rr-products-index #products-grid > article > .relative img {
  filter: saturate(.96) contrast(1.02);
}

.rr-products-index #products-grid > article:hover > .relative img {
  transform: scale(1.045);
}

.rr-products-index #products-grid > article > .flex-1 {
  padding: 1.55rem;
}

.rr-products-index #products-grid h2 {
  color: var(--rr-ink) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.7rem !important;
  font-weight: 400 !important;
  letter-spacing: -.025em;
  line-height: 1.05;
}

.rr-products-index #products-grid .spec-text {
  color: var(--rr-sea);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.rr-products-index #products-grid .btn-outline {
  border-width: 1px;
  justify-content: space-between;
  margin-top: auto;
  width: 100%;
}

/* Individual product pages */
.rr-product-detail main > section[aria-label="Product hero"] {
  min-height: 0;
  padding-top: 7.5rem !important;
}

.rr-product-detail main > section[aria-label="Product hero"]::before {
  border-color: rgba(255,255,255,.1);
  right: -19rem;
  top: -14rem;
}

.rr-product-detail main > section[aria-label="Product hero"] .grid {
  gap: clamp(2.5rem, 6vw, 6rem);
}

.rr-product-detail main > section[aria-label="Product hero"] .rounded-2xl {
  background: var(--rr-sand);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 2rem;
  box-shadow: 0 25px 65px rgba(0,0,0,.2);
  padding: .65rem;
  transform: rotate(1deg);
}

.rr-product-detail main > section[aria-label="Product hero"] img {
  border-radius: 1.45rem;
}

.rr-product-detail main > section[aria-label="Product description"] {
  padding-bottom: 7rem !important;
  padding-top: 7rem !important;
}

.rr-product-detail main > section[aria-label="Product description"] .space-y-4 {
  background: var(--rr-sea-soft);
  border: 1px solid rgba(7,143,152,.16);
  border-radius: 1.4rem;
  padding: 1.5rem;
}

.rr-product-detail main > section[aria-label="Technical specifications"] {
  background: var(--rr-sand) !important;
  border-color: var(--rr-line) !important;
}

.rr-product-detail main > section[aria-label="Technical specifications"] table {
  background: rgba(255,255,255,.65);
  border: 1px solid var(--rr-line);
  border-radius: 1rem;
  display: table;
  overflow: hidden;
}

.rr-product-detail main > section[aria-label="Technical specifications"] tr {
  border-color: var(--rr-line) !important;
}

.rr-product-detail main > section[aria-label="Technical specifications"] td,
.rr-product-detail main > section[aria-label="Technical specifications"] th {
  padding: 1rem 1.25rem;
}

.rr-product-detail main > section[aria-label="Certifications"] .card-natural {
  border-radius: 1.25rem;
  border-top: 4px solid var(--rr-sea);
  padding: 1.6rem;
}

.rr-product-detail main > section[aria-label="Custom branding"] {
  background:
    radial-gradient(circle at 90% 50%, rgba(7,143,152,.13), transparent 25rem),
    #e9f7f2 !important;
}

.rr-product-detail main > section[aria-label="Request samples CTA"] {
  background:
    radial-gradient(circle at 90% 0, rgba(255,189,89,.4), transparent 20rem),
    var(--rr-coral) !important;
}

.rr-product-detail main > section[aria-label="Request samples CTA"] h2,
.rr-product-detail main > section[aria-label="Request samples CTA"] p {
  color: white !important;
}

.rr-product-detail main > section[aria-label="Related products"] .card-natural {
  border-radius: 1.35rem;
  overflow: hidden;
  padding: .7rem;
}

.rr-product-detail main > section[aria-label="Related products"] .card-natural img {
  border-radius: .95rem;
}

.rr-product-detail main > section[aria-label="Related products"] h3 {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 400;
}

/* Industry and service directories */
.rr-industries main > section:nth-child(2),
.rr-services main > section:nth-child(2),
.rr-news-index main > section:nth-child(2) {
  background:
    linear-gradient(rgba(7,59,76,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,59,76,.03) 1px, transparent 1px),
    var(--rr-cream) !important;
  background-size: 46px 46px !important;
}

.rr-industries main > section:nth-child(2) .grid > div {
  border-color: var(--rr-line) !important;
  border-radius: 1.35rem !important;
  border-top: 4px solid var(--rr-sea) !important;
  box-shadow: none !important;
  min-height: 20rem;
  overflow: hidden;
  position: relative;
}

.rr-industries main > section:nth-child(2) .grid > div:nth-child(3n+2) {
  border-top-color: var(--rr-coral) !important;
}

.rr-industries main > section:nth-child(2) .grid > div:nth-child(3n) {
  border-top-color: var(--rr-sun) !important;
}

.rr-industries main > section:nth-child(2) .grid > div:hover,
.rr-services main > section:nth-child(2) .grid > div:hover {
  border-color: rgba(7,143,152,.3) !important;
  box-shadow: var(--rr-shadow) !important;
  transform: translateY(-5px);
}

.rr-industries main > section:nth-child(2) .grid h2,
.rr-industries main > section:nth-child(2) .grid h3,
.rr-services main > section:nth-child(2) .grid h2,
.rr-services main > section:nth-child(2) .grid h3 {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.05;
}

.rr-services main > section:nth-child(2) .grid > div {
  border-color: var(--rr-line) !important;
  border-radius: 1.35rem !important;
  box-shadow: none !important;
}

.rr-services main > section:nth-child(2) .grid > div > div:first-child {
  background: linear-gradient(135deg, var(--rr-ink), #087083) !important;
}

.rr-industries main > section:last-child,
.rr-services main > section:last-child,
.rr-about main > section:last-child,
.rr-history main > section:last-child,
.rr-news-index main > section:last-child {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,189,89,.4), transparent 22rem),
    var(--rr-coral) !important;
}

.rr-industries main > section:last-child h2,
.rr-services main > section:last-child h2,
.rr-about main > section:last-child h2,
.rr-history main > section:last-child h2,
.rr-news-index main > section:last-child h2,
.rr-industries main > section:last-child p,
.rr-services main > section:last-child p,
.rr-about main > section:last-child p,
.rr-history main > section:last-child p,
.rr-news-index main > section:last-child p {
  color: #fff !important;
}

/* About and history */
.rr-about main > section img,
.rr-history main > section img {
  border-radius: 1.75rem;
}

.rr-about main > section:nth-child(2) .grid > div:last-child,
.rr-about main > section:nth-child(4) .grid > div,
.rr-about main > section:nth-child(6) .grid > div {
  border-color: var(--rr-line) !important;
  border-radius: 1.35rem !important;
}

.rr-about main > section:nth-child(3) {
  background:
    radial-gradient(circle at 9% 20%, rgba(255,189,89,.13), transparent 20rem),
    var(--rr-ink) !important;
}

.rr-about main > section:nth-child(4) {
  background: var(--rr-sand) !important;
}

.rr-about main > section:nth-child(4) .grid > div {
  border-top: 4px solid var(--rr-sea) !important;
}

.rr-about main > section:nth-child(5) {
  background: var(--rr-ink) !important;
}

.rr-about main > section:nth-child(6) {
  background: #e9f7f2 !important;
}

.rr-history main > section:nth-child(2) .max-w-4xl {
  border-left: 3px solid var(--rr-coral);
  padding-left: clamp(1.25rem, 4vw, 3rem);
}

/* Editorial index and articles */
.rr-news-index main > section:nth-child(2) .grid {
  gap: 1.5rem !important;
}

.rr-news-index main > section:nth-child(2) article {
  border-color: var(--rr-line) !important;
  border-radius: 1.35rem !important;
  box-shadow: none !important;
}

.rr-news-index main > section:nth-child(2) article:hover {
  border-color: rgba(7,143,152,.32) !important;
  box-shadow: var(--rr-shadow) !important;
  transform: translateY(-5px);
}

.rr-news-index main > section:nth-child(2) article > a:first-child {
  background: var(--rr-sand);
}

.rr-news-index main > section:nth-child(2) article h2,
.rr-news-index main > section:nth-child(2) article h3 {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.rr-article main > section:first-child {
  min-height: 36rem;
}

.rr-article main > section:first-child::before {
  background: linear-gradient(90deg, rgba(6,44,54,.84), rgba(6,44,54,.35));
  border: 0;
  border-radius: 0;
  height: auto;
  inset: 0;
  width: auto;
}

.rr-article main > section:first-child h1 {
  font-size: clamp(2.75rem, 5.4vw, 5.65rem) !important;
  max-width: 70rem;
}

.rr-article main > section:nth-child(2) {
  background: var(--rr-cream) !important;
  padding-bottom: 8rem !important;
  padding-top: 5rem !important;
}

.rr-article main > section:nth-child(2) .prose,
.rr-article main > section:nth-child(2) .prose-nativa {
  color: #35565d;
  font-size: 1.04rem;
  line-height: 1.82;
  max-width: 52rem;
}

.rr-article main > section:nth-child(2) .prose h2,
.rr-article main > section:nth-child(2) .prose h3,
.rr-article main > section:nth-child(2) .prose-nativa h2,
.rr-article main > section:nth-child(2) .prose-nativa h3 {
  color: var(--rr-ink);
  font-family: var(--font-heading);
  letter-spacing: -.025em;
  line-height: 1.08;
}

.rr-article main > section:nth-child(2) .prose h2,
.rr-article main > section:nth-child(2) .prose-nativa h2 {
  font-size: clamp(2rem, 4vw, 3.15rem);
  margin-top: 2em;
}

.rr-article main > section:nth-child(2) .prose blockquote,
.rr-article main > section:nth-child(2) .prose-nativa blockquote {
  background: var(--rr-sea-soft);
  border-left-color: var(--rr-sea);
  border-radius: 0 1.15rem 1.15rem 0;
  color: var(--rr-ink);
  padding: 1.25rem 1.5rem;
}

.rr-article main > section:nth-child(2) .not-prose {
  border-radius: 1.2rem;
}

/* Contact, FAQ and legal */
.rr-contact main > section:nth-child(2) form {
  background: #fff;
  border: 1px solid var(--rr-line);
  border-radius: 1.6rem;
  box-shadow: 0 22px 60px rgba(6,44,54,.08);
  padding: clamp(1.4rem, 4vw, 2.5rem);
}

.rr-contact main > section:nth-child(2) input:not([type="hidden"]),
.rr-contact main > section:nth-child(2) textarea,
.rr-contact main > section:nth-child(2) select {
  background: var(--rr-cream) !important;
  border-color: var(--rr-line) !important;
  border-radius: .85rem !important;
  min-height: 3.25rem;
}

.rr-contact main > section:nth-child(2) input:focus,
.rr-contact main > section:nth-child(2) textarea:focus,
.rr-contact main > section:nth-child(2) select:focus {
  border-color: var(--rr-sea) !important;
  box-shadow: 0 0 0 3px rgba(7,143,152,.13) !important;
}

.rr-contact main > section:nth-child(2) button[type="submit"] {
  background: var(--rr-coral) !important;
  border-radius: 999px;
  justify-content: center;
  min-height: 3.2rem;
}

.rr-contact main > section:nth-child(2) .lg\:col-span-2 {
  background:
    radial-gradient(circle at 100% 0, rgba(39,184,182,.2), transparent 18rem),
    var(--rr-ink);
  border-radius: 1.6rem;
  color: rgba(255,255,255,.78);
  padding: clamp(1.5rem, 4vw, 2.4rem);
}

.rr-contact main > section:nth-child(2) .lg\:col-span-2 h2,
.rr-contact main > section:nth-child(2) .lg\:col-span-2 h3,
.rr-contact main > section:nth-child(2) .lg\:col-span-2 a {
  color: #fff !important;
}

.rr-contact main > section:last-child {
  background: var(--rr-ink) !important;
}

.rr-faq main > section:nth-child(2) details {
  background: rgba(255,255,255,.88) !important;
  border-color: var(--rr-line) !important;
  border-radius: 1rem !important;
  box-shadow: none;
}

.rr-faq main > section:nth-child(2) details[open] {
  background: var(--rr-sea-soft) !important;
  border-color: rgba(7,143,152,.35) !important;
}

.rr-faq main > section:nth-child(2) details summary {
  color: var(--rr-ink);
  font-family: var(--font-heading);
  font-size: 1.16rem;
  line-height: 1.15;
  padding-bottom: 1.2rem;
  padding-top: 1.2rem;
}

.rr-privacy main > section:nth-child(2) .prose,
.rr-privacy main > section:nth-child(2) .prose-nativa {
  font-size: 1rem;
  line-height: 1.8;
  max-width: 54rem;
}

@media (max-width: 1023px) {
  #site-header nav { min-height: 4.75rem; }

  #mobile-menu {
    border-radius: 0 0 1.2rem 1.2rem;
    box-shadow: 0 24px 50px rgba(3,25,31,.3);
  }

  #mobile-products-list .rr-catalogue-nav-link {
    background: rgba(255,189,89,.11);
    border: 1px solid rgba(255,189,89,.16);
  }

  .resort-interior main > section:first-child h1 {
    font-size: clamp(3rem, 10vw, 5.25rem) !important;
  }

  .rr-products-index main > section[aria-label="Products hero"] {
    min-height: 34rem;
  }

  .rr-products-index main > section[aria-label="Products hero"] > .container-wide {
    padding-right: 43vw;
  }

  .rr-products-index main > section[aria-label="Products hero"]::before {
    height: 20rem;
    right: 1.5rem;
    top: 10rem;
    width: 38vw;
  }

  .rr-products-index main > section:nth-child(2) { top: 4.75rem !important; }
}

@media (max-width: 767px) {
  .resort-interior main > section:first-child {
    min-height: 25rem;
  }

  .resort-interior main > section:first-child::before {
    height: 24rem;
    right: -13rem;
    top: -8rem;
    width: 24rem;
  }

  .resort-interior main > section:first-child h1 {
    font-size: clamp(2.7rem, 13vw, 4.25rem) !important;
    line-height: .95 !important;
  }

  .rr-products-index main > section[aria-label="Products hero"] {
    min-height: 42rem;
    padding-bottom: 17rem !important;
    padding-top: 7.5rem !important;
  }

  .rr-products-index main > section[aria-label="Products hero"] > .container-wide {
    padding-right: 1.5rem;
  }

  .rr-products-index main > section[aria-label="Products hero"]::before {
    bottom: 2rem;
    height: 13rem;
    left: 1.5rem;
    right: 1.5rem;
    top: auto;
    width: auto;
  }

  .rr-products-index main > section:nth-child(2) {
    overflow-x: auto;
    top: 4.75rem !important;
  }

  .rr-products-index main > section:nth-child(2) .flex-wrap {
    flex-wrap: nowrap;
    min-width: max-content;
  }

  .rr-product-detail main > section[aria-label="Product hero"] .rounded-2xl {
    transform: none;
  }

  .rr-product-detail main > section[aria-label="Technical specifications"] {
    overflow-x: auto;
  }

  .rr-product-detail main > section[aria-label="Technical specifications"] table {
    min-width: 37rem;
  }

  .rr-industries main > section:nth-child(2) .grid > div {
    min-height: 0;
  }

  .rr-article main > section:first-child {
    min-height: 32rem;
  }

  .rr-article main > section:first-child h1 {
    font-size: clamp(2.4rem, 11vw, 3.5rem) !important;
  }

  .rr-contact main > section:nth-child(2) form {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rr-products-index #products-grid > article,
  .rr-news-index main > section:nth-child(2) article,
  .rr-industries main > section:nth-child(2) .grid > div,
  .rr-services main > section:nth-child(2) .grid > div {
    transform: none !important;
  }
}

html { background: var(--color-warm-50); }

body {
  background:
    radial-gradient(circle at 5% 8%, rgba(255, 184, 77, .10), transparent 22rem),
    var(--color-warm-50) !important;
  color: #28484f;
}

::selection { background: #ffb84d; color: #073b4c; }
:focus-visible { outline-color: #ffb84d; }

.label,
.label-light {
  color: var(--color-accent-600);
  font-family: var(--font-sans);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.label-light { color: #ffc96f; }

.section-heading,
.display-xl,
.display-lg {
  color: var(--color-primary-900);
  letter-spacing: -.035em;
}

.section-heading { font-size: clamp(2rem, 4vw, 3.5rem); }

.btn-primary,
#site-header a[style*="background: var(--color-accent-500)"] {
  background: #ff7a4f !important;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(195, 74, 41, .24);
  color: #fff !important;
}

.btn-primary:hover,
#site-header a[style*="background: var(--color-accent-500)"]:hover {
  background: #ed6037 !important;
  box-shadow: 0 14px 32px rgba(195, 74, 41, .30);
  transform: translateY(-2px);
}

.btn-secondary {
  background: var(--color-primary-900);
  border-radius: 999px;
}

.btn-outline {
  border: 1px solid rgba(7, 59, 76, .32);
  border-radius: 999px;
  color: var(--color-primary-900);
}

.btn-outline:hover {
  background: var(--color-primary-900);
  border-color: var(--color-primary-900);
}

.btn-ghost-light {
  border-radius: 999px;
  border-color: rgba(255,255,255,.68);
  background: rgba(255,255,255,.12);
}

.card-natural,
.card-warm {
  border-color: rgba(7, 59, 76, .10);
  border-radius: 1.4rem;
}

.cert-badge {
  background: rgba(255,255,255,.62);
  border-color: rgba(7,59,76,.14);
  color: var(--color-primary-800);
}

#site-header.scrolled {
  background: rgba(6, 44, 54, .93) !important;
  box-shadow: 0 10px 35px rgba(6, 44, 54, .14) !important;
}

#products-dropdown,
#mobile-menu {
  background: #073b4c !important;
  border-color: rgba(255,255,255,.12) !important;
}

#site-header nav > a img,
footer img[src*="logo-light"] {
  height: 2.8rem;
  width: auto;
}

footer.bg-primary-900 {
  background: #062c36;
  position: relative;
  overflow: hidden;
}

footer.bg-primary-900::before {
  background: linear-gradient(90deg, #ffb84d 0 33.33%, #f36f45 33.33% 66.66%, #27b8b6 66.66%);
  content: "";
  height: 5px;
  inset: 0 0 auto;
  position: absolute;
}

/* Homepage hero */
.resort-home main > section[aria-label="Hero"] {
  align-items: flex-end;
  justify-content: flex-start;
  min-height: min(900px, 100svh);
}

.resort-home main > section[aria-label="Hero"] > picture img {
  object-position: center 62%;
  filter: saturate(1.12) contrast(.95) brightness(1.04);
  transform: scale(1.015);
}

.resort-home main > section[aria-label="Hero"] > picture + div {
  background:
    linear-gradient(90deg, rgba(5, 42, 52, .83) 0%, rgba(5, 42, 52, .53) 42%, rgba(5, 42, 52, .08) 74%),
    linear-gradient(0deg, rgba(5, 42, 52, .70) 0%, transparent 45%, rgba(5, 42, 52, .20) 100%) !important;
}

.resort-home main > section[aria-label="Hero"] > .container-wide {
  margin: 0 auto;
  max-width: 90rem;
  padding-bottom: clamp(5rem, 10vh, 8rem);
  padding-top: 10rem;
  text-align: left;
  width: 100%;
}

.resort-home main > section[aria-label="Hero"] .label-light {
  align-items: center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 999px;
  color: #fff4d9;
  display: inline-flex;
  letter-spacing: .16em;
  padding: .55rem .85rem;
}

.resort-home main > section[aria-label="Hero"] h1 {
  font-size: clamp(3.5rem, 7.2vw, 7.2rem) !important;
  line-height: .92 !important;
  margin: 0 0 1.7rem !important;
  max-width: 850px !important;
  text-shadow: 0 8px 30px rgba(6,44,54,.24);
}

.resort-home main > section[aria-label="Hero"] h1 em {
  color: #ffc65b;
  font-style: italic;
}

.resort-home main > section[aria-label="Hero"] h1 + p {
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
  margin: 0 0 2rem !important;
  max-width: 39rem !important;
}

.resort-home main > section[aria-label="Hero"] .sm\:flex-row {
  justify-content: flex-start;
  margin-bottom: 2.2rem;
}

.resort-home main > section[aria-label="Hero"] .flex-wrap {
  justify-content: flex-start;
}

.resort-home main > section[aria-label="Hero"] .bottom-8 { display: none; }

/* Guest-journey strip */
.resort-home main > section[aria-label="Problem and solution"] {
  background: #ffb84d;
  color: var(--color-primary-950);
  padding: 0;
}

.resort-home main > section[aria-label="Problem and solution"] .container-wide { max-width: 90rem; }

.resort-home main > section[aria-label="Problem and solution"] .grid {
  border-left: 1px solid rgba(7,59,76,.13);
  border-right: 1px solid rgba(7,59,76,.13);
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div {
  border-color: rgba(7,59,76,.13);
  min-height: 13.5rem;
  padding: 2.5rem;
  position: relative;
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div::before {
  color: rgba(7,59,76,.32);
  content: "01";
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div:nth-child(2)::before { content: "02"; }
.resort-home main > section[aria-label="Problem and solution"] .grid > div:nth-child(3)::before { content: "03"; }
.resort-home main > section[aria-label="Problem and solution"] svg { display: none; }

.resort-home main > section[aria-label="Problem and solution"] h3 {
  color: var(--color-primary-950) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.55rem;
  margin-top: 1.25rem;
}

.resort-home main > section[aria-label="Problem and solution"] p,
.resort-home main > section[aria-label="Problem and solution"] strong {
  color: rgba(7, 59, 76, .78) !important;
}

/* Product directions — graphic first, photography secondary */
.resort-home main > section[aria-label="Products"] {
  background:
    radial-gradient(circle at 92% 8%, rgba(39,184,182,.14), transparent 24rem),
    #fffaf0;
  overflow: hidden;
  position: relative;
}

.resort-home main > section[aria-label="Products"]::before {
  border: 1px solid rgba(7,59,76,.08);
  border-radius: 50%;
  content: "";
  height: 24rem;
  left: -15rem;
  position: absolute;
  top: 7rem;
  width: 24rem;
}

.resort-home main > section[aria-label="Products"] > .container-wide > .text-center {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
}

.resort-home main > section[aria-label="Products"] > .container-wide > .grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
}

.resort-home main > section[aria-label="Products"] article {
  background: #fff;
  border: 0;
  border-radius: 1.6rem;
  box-shadow: 0 12px 38px rgba(7,59,76,.08);
  grid-column: span 4;
  min-height: 23rem;
  overflow: hidden;
  padding: 2rem;
  position: relative;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1),
.resort-home main > section[aria-label="Products"] article:nth-child(2) {
  grid-column: span 6;
  min-height: 29rem;
}

.resort-home main > section[aria-label="Products"] article:nth-child(n+3) {
  grid-column: span 3;
}

.resort-home main > section[aria-label="Products"] article::before {
  background:
    radial-gradient(circle at 74% 26%, rgba(255,255,255,.72) 0 7%, transparent 7.4%),
    radial-gradient(circle at 74% 26%, transparent 0 18%, rgba(255,255,255,.48) 18.4% 18.9%, transparent 19.3%),
    linear-gradient(145deg, #ffc95f, #ff8b5c);
  border-radius: 0 0 0 7rem;
  content: "";
  height: 11rem;
  position: absolute;
  right: 0;
  top: 0;
  width: 58%;
}

.resort-home main > section[aria-label="Products"] article:nth-child(2)::before {
  background:
    repeating-radial-gradient(ellipse at 80% 110%, transparent 0 16px, rgba(255,255,255,.48) 17px 19px, transparent 20px 34px),
    linear-gradient(145deg, #47d1c6, #0b8fa0);
}

.resort-home main > section[aria-label="Products"] article:nth-child(3)::before { background: linear-gradient(145deg,#ffd989,#f4bd44); }
.resort-home main > section[aria-label="Products"] article:nth-child(4)::before { background: linear-gradient(145deg,#bcead7,#49b9a7); }
.resort-home main > section[aria-label="Products"] article:nth-child(5)::before { background: linear-gradient(145deg,#ffb5a0,#ef7658); }
.resort-home main > section[aria-label="Products"] article:nth-child(6)::before { background: linear-gradient(145deg,#9edbe2,#48a8b7); }

.resort-home main > section[aria-label="Products"] article > div:first-child { display: none; }

.resort-home main > section[aria-label="Products"] article > .flex-1 {
  padding-top: 9.8rem;
  position: relative;
  z-index: 1;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1) > .flex-1,
.resort-home main > section[aria-label="Products"] article:nth-child(2) > .flex-1 { padding-top: 12.6rem; }

.resort-home main > section[aria-label="Products"] article h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.5rem;
  letter-spacing: -.02em;
}

.resort-home main > section[aria-label="Products"] article:nth-child(-n+2) h3 { font-size: 2rem; }

.resort-home main > section[aria-label="Products"] article .cert-badge { display: none; }
.resort-home main > section[aria-label="Products"] article .flex-wrap { margin-bottom: 0; }

.resort-home main > section[aria-label="Products"] article .btn-outline {
  align-self: flex-start;
  border: 0;
  justify-content: flex-start;
  padding: .5rem 0;
  text-align: left;
}

.resort-home main > section[aria-label="Products"] article .btn-outline::after {
  content: "  →";
  margin-left: .35rem;
}

.resort-home main > section[aria-label="Products"] article .btn-outline:hover {
  background: transparent;
  color: var(--color-accent-600);
  transform: translateX(4px);
}

/* Why / features */
.resort-home main > section[aria-label="Why RFID Resort"] {
  background: var(--color-primary-900);
  overflow: hidden;
  position: relative;
}

.resort-home main > section[aria-label="Why RFID Resort"]::after {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50%;
  content: "";
  height: 36rem;
  position: absolute;
  right: -18rem;
  top: -18rem;
  width: 36rem;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.35rem;
  padding: 1.7rem;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(2) { background: #ffb84d; }

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(2) * { color: var(--color-primary-950) !important; }

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(3) { background: #f36f45; }

/* Data and use-case sections */
.resort-home main > section[aria-label="Market statistics"] { background: #f8edda; }

.resort-home main > section[aria-label="Market statistics"] .grid > div {
  background: #fffaf0;
  border: 0 !important;
  border-radius: 1.25rem;
  margin: .35rem;
  padding: 1.6rem;
}

.resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(1) { background: #fff1c9; }
.resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(2) { background: #d9f3ec; }
.resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(3) { background: #ffe3d7; }
.resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(4) { background: #d9eff4; }

.resort-home main > section[aria-label="Industries served"] {
  background:
    linear-gradient(180deg, rgba(255,255,255,.68), transparent 14rem),
    #dff5ef !important;
}

.resort-home main > section[aria-label="Industries served"] .card-natural {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(7,59,76,.08);
  box-shadow: none;
}

.resort-home main > section[aria-label="Call to action"] {
  background:
    repeating-radial-gradient(ellipse at 50% 130%, transparent 0 28px, rgba(255,255,255,.16) 29px 31px, transparent 32px 59px),
    linear-gradient(135deg,#f36f45,#ff9a54);
  color: white;
}

.resort-home main > section[aria-label="Call to action"] .label-light { color: #fff4d9; }
.resort-home main > section[aria-label="Call to action"] .btn-primary { background: var(--color-primary-900) !important; box-shadow: none; }
.resort-home main > section[aria-label="Call to action"] .btn-primary:hover { background: var(--color-primary-950) !important; }

.resort-home main > section[aria-label="Latest news"] article {
  border: 0;
  border-radius: 1.35rem;
  box-shadow: 0 12px 38px rgba(7,59,76,.08);
}

.resort-home main > section[aria-label="Certifications"] { background: #ffefce; }

@media (max-width: 1023px) {
  #site-header nav > a img { height: 2.35rem; }
  .resort-home main > section[aria-label="Products"] article,
  .resort-home main > section[aria-label="Products"] article:nth-child(1),
  .resort-home main > section[aria-label="Products"] article:nth-child(2),
  .resort-home main > section[aria-label="Products"] article:nth-child(n+3) { grid-column: span 6; }
}

@media (max-width: 767px) {
  .resort-home main > section[aria-label="Hero"] { min-height: 760px; }
  .resort-home main > section[aria-label="Hero"] > picture img { object-position: 59% center; }
  .resort-home main > section[aria-label="Hero"] > picture + div {
    background:
      linear-gradient(0deg, rgba(5,42,52,.88) 0%, rgba(5,42,52,.42) 68%, rgba(5,42,52,.38) 100%) !important;
  }
  .resort-home main > section[aria-label="Hero"] > .container-wide {
    padding-bottom: 3.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .resort-home main > section[aria-label="Hero"] h1 {
    font-size: clamp(3.25rem, 16vw, 4.7rem) !important;
    max-width: 8ch !important;
  }
  .resort-home main > section[aria-label="Hero"] .sm\:flex-row { align-items: stretch; }
  .resort-home main > section[aria-label="Hero"] .sm\:flex-row a { justify-content: center; width: 100%; }
  .resort-home main > section[aria-label="Hero"] .flex-wrap { gap: .45rem; }
  .resort-home main > section[aria-label="Problem and solution"] .grid > div { min-height: auto; padding: 2rem 1.5rem; }
  .resort-home main > section[aria-label="Products"] > .container-wide > .grid { grid-template-columns: 1fr; }
  .resort-home main > section[aria-label="Products"] article,
  .resort-home main > section[aria-label="Products"] article:nth-child(1),
  .resort-home main > section[aria-label="Products"] article:nth-child(2),
  .resort-home main > section[aria-label="Products"] article:nth-child(n+3) {
    grid-column: 1;
    min-height: 22rem;
  }
  .resort-home main > section[aria-label="Products"] article::before { height: 8.5rem; width: 65%; }
  .resort-home main > section[aria-label="Products"] article > .flex-1,
  .resort-home main > section[aria-label="Products"] article:nth-child(1) > .flex-1,
  .resort-home main > section[aria-label="Products"] article:nth-child(2) > .flex-1 { padding-top: 7.8rem; }
  .resort-home main > section[aria-label="Products"] article:nth-child(-n+2) h3 { font-size: 1.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* --------------------------------------------------------------------------
   Editorial refinement — quieter luxury, stronger resort rhythm
   -------------------------------------------------------------------------- */

.resort-home .container-wide { max-width: 88rem; }

.resort-home .section-heading {
  font-size: clamp(2.3rem, 4.4vw, 4rem);
  line-height: .98;
}

.resort-home .label,
.resort-home .label-light {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
}

.resort-home .label::before,
.resort-home .label-light::before {
  background: currentColor;
  border-radius: 999px;
  content: "";
  height: .34rem;
  opacity: .8;
  width: .34rem;
}

/* Hero: more breathing room and a less commercial composition. */
.resort-home main > section[aria-label="Hero"] {
  min-height: min(940px, 100svh);
}

.resort-home main > section[aria-label="Hero"] > picture img {
  object-position: 54% 60%;
  filter: saturate(1.04) contrast(.94) brightness(1.08);
}

.resort-home main > section[aria-label="Hero"] > picture + div {
  background:
    linear-gradient(90deg, rgba(5, 42, 52, .78) 0%, rgba(5, 42, 52, .43) 39%, rgba(5, 42, 52, .03) 72%),
    linear-gradient(0deg, rgba(5, 42, 52, .58) 0%, transparent 44%, rgba(5, 42, 52, .16) 100%) !important;
}

.resort-home main > section[aria-label="Hero"] > .container-wide {
  padding-bottom: clamp(8.5rem, 15vh, 11rem);
}

.resort-home main > section[aria-label="Hero"] h1 {
  font-size: clamp(4rem, 7.6vw, 7.7rem) !important;
  max-width: 8.2ch !important;
}

.resort-home main > section[aria-label="Hero"] h1 + p {
  font-size: 1.08rem !important;
  line-height: 1.72 !important;
  max-width: 37rem !important;
}

.resort-home main > section[aria-label="Hero"] .label-light::before { display: none; }

/* Arrival panel: float it over the photography instead of using a hard band. */
.resort-home main > section[aria-label="Problem and solution"] {
  background: transparent;
  margin-top: -5.6rem;
  padding: 0 1.5rem;
  position: relative;
  z-index: 20;
}

.resort-home main > section[aria-label="Problem and solution"] .container-wide {
  background: rgba(255, 250, 240, .97);
  border: 1px solid rgba(7,59,76,.08);
  border-radius: 1.8rem;
  box-shadow: 0 28px 70px rgba(6,44,54,.18);
  overflow: hidden;
  padding: 0;
}

.resort-home main > section[aria-label="Problem and solution"] .grid {
  border: 0;
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div {
  border-color: rgba(7,59,76,.09);
  min-height: 11.8rem;
  padding: 2.25rem 2.5rem;
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div::after {
  background: #ffb84d;
  content: "";
  height: 3px;
  inset: auto 2.5rem 0;
  position: absolute;
}

.resort-home main > section[aria-label="Problem and solution"] .grid > div:nth-child(2)::after { background: #27b8b6; }
.resort-home main > section[aria-label="Problem and solution"] .grid > div:nth-child(3)::after { background: #f36f45; }

.resort-home main > section[aria-label="Problem and solution"] h3 {
  font-size: 1.35rem;
  margin: .8rem 0 .55rem;
}

.resort-home main > section[aria-label="Problem and solution"] p {
  font-size: .84rem;
  line-height: 1.65;
}

/* The product edit: two expressive anchors followed by a restrained range. */
.resort-home main > section[aria-label="Products"] {
  padding-bottom: 8.5rem;
  padding-top: 7rem;
}

.resort-home main > section[aria-label="Products"] > .container-wide > .text-center {
  margin-bottom: 4.5rem;
  max-width: 58rem;
}

.resort-home main > section[aria-label="Products"] > .container-wide > .grid {
  gap: 1.35rem;
}

.resort-home main > section[aria-label="Products"] article {
  border: 1px solid rgba(7,59,76,.09);
  box-shadow: none;
  transition: transform .35s var(--ease-out-expo), box-shadow .35s var(--ease-out-expo);
}

.resort-home main > section[aria-label="Products"] article:hover {
  box-shadow: 0 24px 55px rgba(7,59,76,.10);
  transform: translateY(-5px) !important;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1),
.resort-home main > section[aria-label="Products"] article:nth-child(2) {
  min-height: 27rem;
  padding: 2.8rem;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1) { background: #ffeac2; }
.resort-home main > section[aria-label="Products"] article:nth-child(2) { background: #d8f3ed; }

.resort-home main > section[aria-label="Products"] article:nth-child(1)::before,
.resort-home main > section[aria-label="Products"] article:nth-child(2)::before {
  border-radius: 0;
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%);
  height: 100%;
  opacity: .72;
  width: 48%;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1)::after {
  background: rgba(255,255,255,.75);
  border: 2px solid rgba(7,59,76,.24);
  border-radius: 1rem;
  box-shadow: 18px 18px 0 rgba(255,255,255,.40), 18px 18px 0 2px rgba(7,59,76,.16);
  content: "";
  height: 8.2rem;
  position: absolute;
  right: 3.6rem;
  top: 6.2rem;
  transform: rotate(-8deg);
  width: 12.8rem;
  z-index: 1;
}

.resort-home main > section[aria-label="Products"] article:nth-child(2)::after {
  background: url("/images/illustrations/resort-rfid-wristbands-real.png") center / contain no-repeat;
  content: "";
  filter: drop-shadow(0 1.25rem 1.1rem rgba(7, 59, 76, .18));
  height: 18rem;
  position: absolute;
  right: .5rem;
  top: 2rem;
  width: 22rem;
  z-index: 1;
}

.resort-home main > section[aria-label="Products"] article:nth-child(1) > .flex-1,
.resort-home main > section[aria-label="Products"] article:nth-child(2) > .flex-1 {
  justify-content: center;
  max-width: 54%;
  padding-top: 0;
}

.resort-home main > section[aria-label="Products"] article:nth-child(-n+2) h3 {
  font-size: clamp(2rem, 2.6vw, 2.8rem);
  line-height: 1;
}

.resort-home main > section[aria-label="Products"] article:nth-child(n+3) {
  background: rgba(255,255,255,.64);
  min-height: 14.5rem;
  padding: 1.7rem;
}

.resort-home main > section[aria-label="Products"] article:nth-child(n+3)::before {
  border-radius: 0;
  clip-path: none;
  height: 4px;
  inset: 0 1.7rem auto;
  width: auto;
}

.resort-home main > section[aria-label="Products"] article:nth-child(n+3) > .flex-1 {
  justify-content: flex-end;
  padding-top: 1.8rem;
}

.resort-home main > section[aria-label="Products"] article:nth-child(n+3) h3 {
  font-size: 1.25rem;
  line-height: 1.1;
}

/* Difference section: an editorial feature rail rather than four cards. */
.resort-home main > section[aria-label="Why RFID Resort"] {
  padding-bottom: 8.5rem;
  padding-top: 8.5rem;
}

.resort-home main > section[aria-label="Why RFID Resort"] .text-center {
  margin-bottom: 4.5rem;
  max-width: 53rem;
  text-align: left;
}

.resort-home main > section[aria-label="Why RFID Resort"] .grid {
  border-bottom: 1px solid rgba(255,255,255,.15);
  border-top: 1px solid rgba(255,255,255,.15);
  gap: 0;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark,
.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(2),
.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(3) {
  background: transparent;
  border: 0;
  border-left: 1px solid rgba(255,255,255,.15);
  border-radius: 0;
  padding: 2.3rem;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:first-child { border-left: 0; }

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(2) *,
.resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(3) * { color: inherit !important; }

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark > .flex {
  justify-content: flex-start;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark svg {
  color: #ffc96f !important;
  height: 1.75rem;
  width: 1.75rem;
}

.resort-home main > section[aria-label="Why RFID Resort"] .card-dark h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.45rem;
}

/* Context becomes a compact editorial band. */
.resort-home main > section[aria-label="Market statistics"] {
  padding-bottom: 5rem;
  padding-top: 5rem;
}

.resort-home main > section[aria-label="Market statistics"] > .container-wide {
  align-items: center;
  display: grid;
  gap: 4.5rem;
  grid-template-columns: minmax(17rem, .85fr) minmax(0, 1.65fr);
}

.resort-home main > section[aria-label="Market statistics"] .text-center {
  margin-bottom: 0;
  text-align: left;
}

.resort-home main > section[aria-label="Market statistics"] .section-heading {
  font-size: clamp(2rem, 3.1vw, 3rem);
}

.resort-home main > section[aria-label="Market statistics"] .grid > div,
.resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(n) {
  background: transparent;
  border-left: 1px solid rgba(7,59,76,.13) !important;
  border-radius: 0;
  margin: 0;
  padding: 1rem 1.4rem;
}

/* Use cases: airy capability list, not a dashboard of cards. */
.resort-home main > section[aria-label="Industries served"] {
  padding-bottom: 8rem;
  padding-top: 8rem;
}

.resort-home main > section[aria-label="Industries served"] > .container-wide > .text-center {
  margin-left: 0;
  max-width: 46rem;
  text-align: left;
}

.resort-home main > section[aria-label="Industries served"] .grid { gap: 0; }

.resort-home main > section[aria-label="Industries served"] .card-natural {
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(7,59,76,.17);
  border-radius: 0;
  min-height: 10.5rem;
  padding: 1.7rem 1.2rem;
  text-align: left;
}

.resort-home main > section[aria-label="Industries served"] .card-natural:hover {
  background: rgba(255,255,255,.38);
  box-shadow: none;
  transform: none;
}

.resort-home main > section[aria-label="Industries served"] .card-natural .justify-center { justify-content: flex-start; }
.resort-home main > section[aria-label="Industries served"] .card-natural svg { height: 2rem; width: 2rem; }

/* Conversion and journal. */
.resort-home main > section[aria-label="Call to action"] {
  align-items: center;
  display: flex;
  min-height: 34rem;
  padding-bottom: 7rem;
  padding-top: 7rem;
}

.resort-home main > section[aria-label="Call to action"] .section-heading {
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  margin-left: auto;
  margin-right: auto;
  max-width: 12ch;
}

.resort-home main > section[aria-label="Latest news"] {
  padding-bottom: 8rem;
  padding-top: 8rem;
}

.resort-home main > section[aria-label="Latest news"] article {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.resort-home main > section[aria-label="Latest news"] article > a,
.resort-home main > section[aria-label="Latest news"] article > a > div {
  border-radius: 1.3rem;
}

.resort-home main > section[aria-label="Latest news"] article > a > div {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.resort-home main > section[aria-label="Latest news"] article:nth-child(1) > a > div {
  background-image: url("/images/news/why-caribbean-resorts-switching-plastic-keycards-rfid-wristbands.webp");
}

.resort-home main > section[aria-label="Latest news"] article:nth-child(2) > a > div {
  background-image: url("/images/news/fsc-certified-wood-rfid-wristbands-hotel-guide.webp");
}

.resort-home main > section[aria-label="Latest news"] article:nth-child(3) > a > div {
  background-image: url("/images/news/rfid-wristband-cashless-payments-all-inclusive-resorts.webp");
}

.resort-home main > section[aria-label="Latest news"] article > a img { opacity: 0; }

.resort-home main > section[aria-label="Latest news"] article > .p-6 {
  padding-left: .15rem;
  padding-right: .15rem;
}

@media (max-width: 1023px) {
  .resort-home main > section[aria-label="Products"] article:nth-child(1) > .flex-1,
  .resort-home main > section[aria-label="Products"] article:nth-child(2) > .flex-1 { max-width: 58%; }

  .resort-home main > section[aria-label="Products"] article:nth-child(1)::after {
    right: 2.4rem;
    width: 10rem;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(2)::after {
    height: 15rem;
    right: .8rem;
    top: 2.8rem;
    width: 16rem;
  }

  .resort-home main > section[aria-label="Market statistics"] > .container-wide {
    display: block;
  }

  .resort-home main > section[aria-label="Market statistics"] .text-center {
    margin-bottom: 2.5rem;
  }
}

@media (max-width: 767px) {
  .resort-home .section-heading { font-size: clamp(2.25rem, 12vw, 3.2rem); }

  .resort-home main > section[aria-label="Hero"] {
    min-height: 800px;
  }

  .resort-home main > section[aria-label="Hero"] > .container-wide {
    padding-bottom: 8rem;
  }

  .resort-home main > section[aria-label="Hero"] h1 {
    font-size: clamp(3.55rem, 17vw, 5rem) !important;
  }

  .resort-home main > section[aria-label="Problem and solution"] {
    margin-top: -4.2rem;
    padding: 0 .8rem;
  }

  .resort-home main > section[aria-label="Problem and solution"] .container-wide { border-radius: 1.35rem; }

  .resort-home main > section[aria-label="Problem and solution"] .grid > div {
    padding: 1.65rem 1.4rem;
  }

  .resort-home main > section[aria-label="Products"] {
    padding-bottom: 6rem;
    padding-top: 5.5rem;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(1),
  .resort-home main > section[aria-label="Products"] article:nth-child(2) {
    min-height: 29rem;
    padding: 1.8rem;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(1)::before,
  .resort-home main > section[aria-label="Products"] article:nth-child(2)::before {
    clip-path: polygon(0 45%, 100% 28%, 100% 100%, 0 100%);
    height: 48%;
    inset: auto 0 0;
    width: 100%;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(1)::after {
    height: 6.7rem;
    right: 2.2rem;
    top: 3rem;
    width: 10.2rem;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(2)::after {
    height: 12rem;
    right: .6rem;
    top: 1rem;
    width: 18.5rem;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(1) > .flex-1,
  .resort-home main > section[aria-label="Products"] article:nth-child(2) > .flex-1 {
    justify-content: flex-end;
    max-width: 100%;
  }

  .resort-home main > section[aria-label="Products"] article:nth-child(-n+2) h3 {
    font-size: 2.05rem;
  }

  .resort-home main > section[aria-label="Why RFID Resort"] {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }

  .resort-home main > section[aria-label="Why RFID Resort"] .grid { border: 0; }

  .resort-home main > section[aria-label="Why RFID Resort"] .card-dark,
  .resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(2),
  .resort-home main > section[aria-label="Why RFID Resort"] .card-dark:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.15);
    padding: 2rem .5rem;
  }

  .resort-home main > section[aria-label="Market statistics"] .grid > div,
  .resort-home main > section[aria-label="Market statistics"] .grid > div:nth-child(n) {
    border-left: 0 !important;
    border-top: 1px solid rgba(7,59,76,.13) !important;
    padding: 1.2rem .2rem;
  }

  .resort-home main > section[aria-label="Industries served"] {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }

  .resort-home main > section[aria-label="Industries served"] .card-natural { min-height: 8.6rem; }

  .resort-home main > section[aria-label="Call to action"] { min-height: 31rem; }
}
