/** Shopify CDN: Minification failed

Line 485:68 Unexpected "/"

**/
/* Praia by Iraya — shared styles */

:root {
  --cream: #F3EDE2;
  --cream-2: #EDE3D3;
  --dark: #1C0F06;
  --dark-2: #180D05;
  --ink: #2A180C;
  --accent: #A97E52;
  --accent-2: #C9A87C;
  --ease: cubic-bezier(.22,1,.36,1);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  font-family: 'Archivo', sans-serif;
  color: var(--ink);
}
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; }

/* ---------- Keyframes ---------- */
@keyframes praiaHeroZoom { from { transform: scale(1.15); } to { transform: scale(1.02); } }
@keyframes praiaHeroZoomBig { from { transform: scale(1.18); } to { transform: scale(1.03); } }
@keyframes praiaLetterIn { from { opacity: 0; transform: translateY(38px); filter: blur(6px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes praiaFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes praiaFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes praiaScrollPulse { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@keyframes praiaNavIn { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }

/* ---------- Layout helpers ---------- */
.wrap { max-width: 1280px; margin: 0 auto; }
.wrap-narrow { max-width: 1180px; margin: 0 auto; }
.wrap-copy { max-width: 980px; margin: 0 auto; }

.eyebrow-row { display: flex; align-items: center; gap: 18px; }
.eyebrow-row .rule { width: 44px; height: 1px; background: var(--accent); flex: none; }
.eyebrow-label {
  font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 10px;
  letter-spacing: .4em; color: var(--accent); text-transform: uppercase;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  font-family: 'Archivo', sans-serif;
  font-weight: 400;
  font-size: 10.5px;
  letter-spacing: .3em;
  text-transform: uppercase;
  padding: 18px 42px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.btn-solid-dark { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.btn-solid-dark:hover { background: var(--accent); border-color: var(--accent); }

.btn-solid-light { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.btn-solid-light:hover { background: var(--accent); color: var(--cream); border-color: var(--accent); }

.btn-solid-light-invert { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.btn-solid-light-invert:hover { background: transparent; color: var(--cream); }
.footer-actions{ display:flex; align-items:center; gap:16px; flex-wrap:nowrap; }
.footer-actions .btn{ flex:1 1 0; justify-content:center; text-align:center; }
.footer-brochure{ margin-left:0; }

.btn-outline-light { background: transparent; color: var(--cream); border-color: rgba(243,237,226,.5); font-size: 10px; padding: 16px 34px; display:flex;align-items:center;}
.btn-outline-light:hover { background: var(--cream); color: var(--ink); }

/* ---------- Site header / nav ---------- */
.page-overlay {
  position: fixed; inset: 0; z-index: 3000; background: var(--dark);
  opacity: 0; pointer-events: none; transition: opacity .55s var(--ease);
}
.page-overlay.is-active { opacity: 1; pointer-events: auto; }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  animation: praiaNavIn 1.4s .3s var(--ease) both;
}
.site-header-bg {
  position: absolute; inset: 0; background: rgba(24,13,6,.82);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  opacity: 0; transition: opacity .6s ease;
  border-bottom: 1px solid rgba(243,237,226,.08);
}
.site-header-bg.is-visible { opacity: 1; }
.site-header-inner {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  gap: 32px; padding: 12px 48px;
}
.site-header-logo { display: flex; align-items: center; }
.site-header-logo img { height: 78px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; justify-content: flex-end; }
.nav-link {
  font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10.5px; letter-spacing: .26em;
  color: rgba(243,237,226,.82); text-transform: uppercase; padding-bottom: 5px;
  border-bottom: 1px solid transparent; transition: color .3s;
}
.nav-link:hover { color: var(--cream); }
.nav-link.is-active { color: var(--cream); border-bottom-color: rgba(243,237,226,.65); }
.nav-cta {
  font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 10px; letter-spacing: .26em;
  color: var(--cream); text-transform: uppercase; border: 1px solid rgba(243,237,226,.45);
  padding: 11px 22px; transition: background .4s, color .4s, border-color .4s;
}
.nav-cta:hover { background: var(--cream); color: var(--dark); border-color: var(--cream); }

/* ---------- Mobile nav toggle ---------- */
.nav-toggle {
  display: none; appearance: none; background: none; border: none; cursor: pointer;
  padding: 10px; margin: -10px; position: relative; z-index: 950;
}
.nav-toggle .bar {
  display: block; width: 26px; height: 1px; background: var(--cream); margin: 6px 0;
  transition: transform .35s var(--ease), opacity .35s var(--ease);
}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 860px) {
  .site-header-inner { padding: 8px 24px; }
  .site-header-logo img { height: 60px; }
  .nav-toggle { display: block; }
  .site-nav {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100dvh; z-index: 899;
    background: rgba(24,13,6,.97); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    flex-direction: column; align-items: center; justify-content: center; gap: 26px;
    padding: 100px 32px calc(60px + env(safe-area-inset-bottom, 0px)); text-align: center;
    opacity: 0; visibility: hidden; transform: translateY(-16px);
    transition: opacity .4s var(--ease), transform .4s var(--ease), visibility 0s .4s;
  }
  .site-nav.is-open {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity .4s var(--ease), transform .4s var(--ease), visibility 0s;
  }
  .nav-link, .nav-cta { font-size: 13px; letter-spacing: .3em; }
}

/* ---------- Footer ---------- */
.site-footer { position: relative; background: var(--dark-2); color: var(--cream); overflow: hidden; }
.site-footer .footer-texture {
  position: absolute; inset: 0; opacity: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M28 2L54 28L28 54L2 28Z' fill='none' stroke='%23A97E52' stroke-width='0.7' opacity='0.07'/%3E%3Ccircle cx='28' cy='28' r='4' fill='none' stroke='%23A97E52' stroke-width='0.5' opacity='0.07'/%3E%3C/svg%3E");
  background-size: 56px 56px;
}
.site-footer .footer-top-line {
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,transparent,rgba(169,126,82,.5),transparent);
}
.footer-brand { position: relative; padding: 130px 48px 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.footer-brand img { height: 170px; width: auto; }
.footer-brand .footer-wordmark {
  margin-top: 66px; font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(56px,7vw,104px); line-height: 1; letter-spacing: .34em; padding-left: .34em; color: var(--cream);
}
.footer-brand .footer-tag {
  margin-top: 22px; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300;
  font-size: 20px; line-height: 1.7; color: rgba(243,237,226,.6);
}
.footer-body { position: relative; max-width: 1180px; margin: 100px auto 0; padding: 0 48px; }
.footer-hr { height: 1px; background: rgba(243,237,226,.14); }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: center; padding: 80px 0; }
.footer-map-label { font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 9.5px; letter-spacing: .34em; color: rgba(169,126,82,.95); text-transform: uppercase; margin-bottom: 30px; }
.footer-map-box { position: relative; border: 1px solid rgba(243,237,226,.12); padding: 30px; background: rgba(243,237,226,.02); }
.footer-map-caption { margin-top: 14px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 9px; letter-spacing: .2em; color: rgba(243,237,226,.35); text-transform: uppercase; }
.footer-cta-heading { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(34px,3.4vw,50px); line-height: 1.25; color: var(--cream); }
.footer-cta-copy { margin: 26px 0 0; max-width: 380px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 13px; line-height: 2; color: rgba(243,237,226,.6); }
.footer-contact { margin-top: 44px; display: flex; flex-direction: column; gap: 10px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 11px; letter-spacing: .14em; color: rgba(243,237,226,.5); }
.footer-nav { display: flex; align-items: center; justify-content: center; gap: 48px; padding: 44px 0; flex-wrap: wrap; }
.footer-link { font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .28em; color: rgba(243,237,226,.65); text-transform: uppercase; transition: color .3s; }
.footer-link:hover { color: var(--cream); }
.footer-legal { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 30px 0 40px; flex-wrap: wrap; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .18em; color: rgba(243,237,226,.42); }
.footer-social {
  display: inline-flex; align-items: center; gap: 9px; color: rgba(243,237,226,.65);
  font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; transition: color .3s;
}
.footer-social svg { flex: none; }
.footer-social:hover { color: var(--cream); }

@media (max-width: 860px) {
  .footer-brand { padding: 90px 24px 0; }
  .footer-brand img { height: 110px; }
  .footer-body { margin-top: 70px; padding: 0 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 56px; padding: 56px 0; }
  .footer-nav { gap: 24px; }
  .footer-legal { justify-content: flex-start; }
}

/* ---------- FAQ ---------- */
.faq-section { background: var(--cream); padding: 85px 48px; position: relative; overflow: hidden; }
.faq-section .faq-texture {
  position: absolute; inset: 0; opacity: .4; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M28 2L54 28L28 54L2 28Z' fill='none' stroke='%23A97E52' stroke-width='0.5' opacity='0.08'/%3E%3C/svg%3E");
  background-size: 56px 56px;
}
.faq-inner { position: relative; max-width: 980px; margin: 0 auto; }
.faq-heading { margin: 34px 0 0; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(34px,3.6vw,52px); line-height: 1.2; color: var(--ink); }
.faq-list { margin-top: 64px; border-top: 1px solid rgba(42,24,12,.2); }
.faq-item { border-bottom: 1px solid rgba(42,24,12,.2); }
.faq-question {
  appearance: none; background: none; border: none; width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 32px; padding: 32px 4px; cursor: pointer; text-align: left;
}
.faq-question .q-text { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(20px,2vw,26px); color: var(--ink); }
.faq-question .q-icon {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 30px; color: var(--accent);
  line-height: 1; flex-shrink: 0; transform: none; transition: transform .7s var(--ease);
}
.faq-item.is-open .q-icon { transform: rotate(45deg); }
.faq-answer { overflow: hidden; max-height: 0; opacity: 0; transition: max-height .9s var(--ease), opacity .7s var(--ease); }
.faq-item.is-open .faq-answer { max-height: 400px; opacity: 1; }
.faq-answer p { margin: 0; padding: 0 4px 36px;font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 14px; line-height: 2.1; color: rgba(42,24,12,.7); }

@media (max-width: 700px) {
  .faq-section { padding: 90px 24px; }
}

/* ---------- Image placeholder (real photo pending) ---------- */
.img-slot {
  position: relative; width: 100%; height: 100%; min-height: 160px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: rgba(42,24,12,.045); color: rgba(42,24,12,.55);
  padding: 24px; gap: 10px; flex-direction: column;
}
.img-slot::before {
  content: ""; position: absolute; inset: 10px; pointer-events: none;
  border: 1.5px dashed rgba(42,24,12,.28);
}
.img-slot svg { opacity: .5; }
.img-slot span {
  font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10.5px;
  letter-spacing: .16em; text-transform: uppercase; max-width: 220px; line-height: 1.7;
}
.img-slot.on-dark { background: rgba(243,237,226,.05); color: rgba(243,237,226,.55); }
.img-slot.on-dark::before { border-color: rgba(243,237,226,.28); }

/* ---------- Generic section text ---------- */
.section-copy { font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 14.5px; line-height: 2.1; color: rgba(42,24,12,.72); }
.section-heading { font-family: 'Cormorant Garamond', serif; font-weight: 300; color: var(--ink); }

/* ---------- Reveal children handled entirely via JS inline styles (site-fx.js) ---------- */
[data-reveal] { will-change: opacity, transform; }

/* ---------- Custom cursor ---------- */
[data-praia-cursor] { position: fixed; top: 0; left: 0; z-index: 4000; pointer-events: none; }

/* ---------- Responsive grid helpers used across pages ---------- */
@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr !important; }
  .grid-2 > * { margin-top: 0 !important; min-width: 0; }
}

/* ---------- Shared cinematic hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--dark); }
.hero-media { position: absolute; inset: -2%; animation: praiaHeroZoom 20s cubic-bezier(.2,.55,.25,1) both; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-scrim { position: absolute; inset: 0; }
.hero-content { position: relative; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 24px; }
.hero-eyebrow { font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10.5px; letter-spacing: .5em; padding-left: .5em; color: rgba(243,237,226,.75); text-transform: uppercase; animation: praiaFadeIn 1.6s .4s both; }
.hero-title { margin: 30px 0 0; font-family: 'Cormorant Garamond', serif; font-weight: 300; color: var(--cream); animation: praiaFadeUp 1.6s .8s cubic-bezier(.22,1,.36,1) both; }
.hero-sub { margin-top: 26px; max-width: 560px; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 20px; line-height: 1.7; color: rgba(243,237,226,.85); animation: praiaFadeUp 1.6s 1.2s cubic-bezier(.22,1,.36,1) both; }

@media (max-width: 700px) {
  .hero-content { padding: 0 20px; }
}

/* ---------- Gallery (3D drag carousel) ---------- */
.gallery-cats {
  display: flex; justify-content: center; align-items: center; gap: clamp(22px, 3vw, 42px);
  width: 100%; margin-top: 44px; padding: 0 24px; flex-wrap: nowrap; overflow-x: auto;
  scrollbar-width: none; animation: praiaFadeUp 1.4s 1s cubic-bezier(.22,1,.36,1) both;
}
.gallery-cats::-webkit-scrollbar { display: none; }
.gallery-cat-btn {
  appearance: none; background: none; border: none; cursor: pointer; padding: 6px 2px;
  font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .3em;
  color: rgba(243,237,226,.5); text-transform: uppercase; border-bottom: 1px solid transparent;
  flex: 0 0 auto; white-space: nowrap;
  transition: color .4s, border-color .4s;
}
.gallery-cat-btn.is-active { color: var(--cream); font-weight: 400; border-bottom-color: rgba(169,126,82,.9); }
.gallery-stage {
  position: relative; margin-top: 60px; width: 100%; max-width: 100vw; height: clamp(360px, 52vh, 560px); min-height: 360px; perspective: 1400px;
  touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none;
}
.gallery-slide {
  position: absolute; top: 50%; left: 50%; width: min(52vw, 720px); height: min(52vh, 520px);
  min-height: 340px; max-height: 520px; aspect-ratio: 16 / 10;
  margin-left: calc(min(52vw, 720px) / -2); margin-top: calc(min(52vh, 520px) / -2);
  overflow: hidden; background: rgba(18,10,5,.72); box-shadow: 0 40px 90px rgba(0,0,0,.5);
  display: flex; align-items: center; justify-content: center;
}
.gallery-slide img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; pointer-events: none; }
.gallery-info { margin-top: 44px; text-align: center; animation: praiaFadeIn 1.4s 1.4s both; }
.gallery-label { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 21px; color: rgba(243,237,226,.85); }
.gallery-counter { margin-top: 10px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 9.5px; letter-spacing: .3em; color: rgba(243,237,226,.45); text-transform: uppercase; }
.gallery-controls { margin-top: 28px; display: flex; justify-content: center; gap: 18px; }
.gallery-circle-btn {
  appearance: none; background: none; border: 1px solid rgba(243,237,226,.35); color: var(--cream);
  width: 52px; height: 52px; border-radius: 50%; cursor: pointer; font-family: 'Cormorant Garamond', serif;
  font-size: 20px; transition: background .4s, color .4s;
}
.gallery-circle-btn:hover { background: var(--cream); color: var(--dark); }
.gallery-fullscreen {
  position: fixed; inset: 0; z-index: 2000; background: rgba(24,13,6,.96); display: none;
  align-items: center; justify-content: center; padding: 70px 56px 88px; cursor: zoom-out;
}
.gallery-fullscreen.is-open { display: flex; animation: praiaFadeIn .5s both; }
.gallery-fullscreen img {
  display: block; width: min(92vw, 1400px); height: min(78vh, 880px);
  object-fit: contain; object-position: center; background: rgba(18,10,5,.4);
}
.gallery-fullscreen .gf-label { position: absolute; bottom: 34px; left: 0; right: 0; text-align: center; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 19px; color: rgba(243,237,226,.8); }
.gallery-fullscreen .gf-close { position: absolute; top: 32px; right: 44px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .3em; color: rgba(243,237,226,.7); text-transform: uppercase; }

@media (max-width: 700px) {
  .gallery-cats { justify-content: flex-start; gap: 22px; padding: 0 20px 2px; margin-top: 30px; }
  .gallery-cat-btn { font-size: 9px; letter-spacing: .24em; }
  .gallery-stage { height: clamp(300px, 48vh, 430px); min-height: 300px; }
  .gallery-slide {
    width: min(84vw, 420px); height: min(48vh, 420px); min-height: 300px;
    aspect-ratio: 4 / 5; margin-left: calc(min(84vw, 420px) / -2); margin-top: calc(min(48vh, 420px) / -2);
  }
  .gallery-fullscreen { padding: 64px 18px 78px; }
  .gallery-fullscreen img { width: 100%; height: min(72vh, 760px); }
}

/* ---------- Everyday Comfort icon grid ---------- */
.comfort-grid {  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));  }
.comfort-tile { padding: 44px 32px 8px; border-right: 1px solid rgba(42,24,12,.14); text-align: center; transition: background .5s; }
.comfort-tile:last-child { border-right: none; }
.comfort-tile:hover { background: rgba(243,237,226,.6); }
.comfort-tile svg { width: 40px; height: 40px; display: inline-block; }
.comfort-tile .ct-title { margin-top: 22px; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 22px; color: var(--ink); }
.comfort-tile .ct-desc { margin-top: 10px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 11.5px; line-height: 1.9; color: rgba(42,24,12,.6); }

@media (max-width: 700px) {
  .comfort-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .comfort-tile { border-bottom: 1px solid rgba(42,24,12,.14); }
}
@media (max-width: 420px) {
  .comfort-grid { grid-template-columns: minmax(0,1fr); }
  .comfort-tile { border-right: none !important; }
}

/* ---------- Inline text link with arrow ---------- */
.link-arrow {
  display: inline-flex; align-items: center; gap: 16px; text-decoration: none;
  font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 10.5px; letter-spacing: .3em;
  color: var(--ink); text-transform: uppercase; padding-bottom: 8px;
  border-bottom: 1px solid rgba(42,24,12,.35); transition: border-color .4s, color .4s;
}
.link-arrow:hover { color: var(--accent); border-color: var(--accent); }
.link-arrow .arrow { font-family: 'Cormorant Garamond', serif; font-size: 18px; }

/* ---------- Home: collection list ---------- */
.collection-list { border-top: 1px solid rgba(42,24,12,.18); }
.collection-row {
  display: flex; align-items: baseline; gap: 28px; padding: 34px 8px; border-bottom: 1px solid rgba(42,24,12,.18);
  transition: padding-left .5s cubic-bezier(.22,1,.36,1), background .5s;
}
.collection-row:hover { padding-left: 30px; background: rgba(243,237,226,.5); }
.collection-row .cr-num { font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 11px; letter-spacing: .2em; color: var(--accent); }
.collection-row .cr-title { display: block; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 32px; color: var(--ink); }
.collection-row .cr-desc { display: block; margin-top: 8px; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .08em; color: rgba(42,24,12,.6); }
.collection-row .cr-arrow { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: var(--accent); }

/* ---------- Residences sub-nav ---------- */
.res-subnav {
  position: sticky; top: 102px; z-index: 500; background: rgba(243,237,226,.92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(42,24,12,.14);
}
@media (max-width: 860px) {
  .res-subnav { top: 80px; }
}
.res-subnav-inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 44px; padding: 20px 48px; flex-wrap: wrap; }
.res-subnav a { font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 10px; letter-spacing: .26em; color: rgba(42,24,12,.7); text-transform: uppercase; transition: color .3s; }
.res-subnav a:hover, .res-subnav a.is-active { color: var(--accent); }
.res-subnav a.is-active { font-weight: 400; }

/* ---------- Viewing form ---------- */
.viewing-panel { background: rgba(24,13,6,.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(243,237,226,.16); padding: 52px; }
.viewing-field { display: flex; flex-direction: column; gap: 12px; }
.viewing-field span { font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 9.5px; letter-spacing: .32em; color: rgba(169,126,82,.95); text-transform: uppercase; }
.viewing-field input, .viewing-field select {
  appearance: none; background: transparent; border: none; border-bottom: 1px solid rgba(243,237,226,.3);
  padding: 10px 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 20px; color: var(--cream);
  transition: border-color .4s; outline: none;
}
.viewing-field select { cursor: pointer;  padding-left: 5px;}
.viewing-field select option { color: var(--ink); background: var(--cream);}
.viewing-field input:focus, .viewing-field select:focus { border-color: rgba(169,126,82,.9); }
.viewing-form-fields { display: flex; flex-direction: column; gap: 34px; }
.viewing-submit {
  appearance: none; margin-top: 10px; background: var(--cream); border: 1px solid var(--cream); color: var(--ink);
  padding: 18px 20px; font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 10.5px; letter-spacing: .3em;
  text-transform: uppercase; cursor: pointer; transition: background .4s, color .4s;
}
.viewing-submit:hover { background: transparent; color: var(--cream); }
.viewing-submit:disabled { opacity: .6; cursor: default; }
.viewing-thanks { background: rgba(24,13,6,.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(243,237,226,.16); padding: 80px 52px; text-align: center; animation: praiaFadeIn 1s both; }
.viewing-thanks h3 { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 34px; line-height: 1.4; color: var(--cream); margin: 0; }
.viewing-thanks p { margin: 22px 0 0; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 13px; line-height: 2; color: rgba(243,237,226,.7); }
.viewing-thanks .vt-note {  font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 9.5px; letter-spacing: .3em; color: rgba(169,126,82,.9); text-transform: uppercase; }
.viewing-errors { color: #E8B4A0; font-family: 'Archivo', sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .05em; margin-bottom: 20px; }

@media (max-width: 900px) {
  .viewing-panel, .viewing-thanks { padding: 36px 28px; }
}

/* ---------- Residences specification grid ---------- */
@media (max-width: 1000px) {
  .spec-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .spec-grid > div:nth-child(2n) { border-right: none !important; }
}
@media (max-width: 700px) {
  .spec-grid { grid-template-columns: minmax(0,1fr) !important; }
  .spec-grid > div { border-right: none !important; border-bottom: 1px solid rgba(42,24,12,.14); padding-left: 0 !important; }
  .spec-grid > div:last-child { border-bottom: none; }
}

/* ---------- Auto-width image grid (Location "Around Arambol" etc) ---------- */
@media (max-width: 900px) {
  .auto-image-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 480px) {
  .auto-image-grid { grid-template-columns: minmax(0,1fr) !important; }
}

/* ---------- Rich text resets for section-editor content (added for Shopify section conversion) ---------- */
.quote-banner-text p,
.chapter-body p,
.section-copy p { margin: 0; }
.quote-banner-text p + p,
.chapter-body p + p,
.section-copy p + p { margin-top: 1em; }

/* ---------- Footer v2 (map/journey/Ozar house-of-brand) — shared by both the section-based footer and the static legacy pages ---------- */
.praia-footer2{
  --f2-bg:#1b0d06;
  --f2-line:rgba(198,151,83,.24);
  --f2-gold:#C9A87C;
  --f2-cream:#F3EDE2;
  --f2-muted:#99897c;
  position:relative;
  overflow:hidden;
  padding:78px 24px 44px;
  background:
    radial-gradient(circle at 70% 25%,rgba(73,30,8,.20),transparent 34%),
    linear-gradient(rgba(28,13,6,.96),rgba(18,7,3,.98)),
    var(--f2-bg);
}
.praia-footer2::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.8;
  background-image:
    linear-gradient(45deg,transparent 47%,rgba(120,64,29,.11) 48%,rgba(120,64,29,.11) 52%,transparent 53%),
    linear-gradient(-45deg,transparent 47%,rgba(120,64,29,.11) 48%,rgba(120,64,29,.11) 52%,transparent 53%),
    radial-gradient(circle,rgba(120,64,29,.15) 0 1px,transparent 1.2px);
  background-size:56px 56px,56px 56px,56px 56px;
  background-position:0 0,0 0,28px 28px;
}
.f2-shell{ position:relative; z-index:1; width:min(1180px,100%); margin:auto; }
.f2-rule{ height:1px; background:var(--f2-line); }
.f2-top-rule{ margin-bottom:64px; }
.f2-main-grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:78px; align-items:center; }
.f2-eyebrow{ margin:0 0 26px; color:var(--f2-gold); font-family:'Archivo',sans-serif; font-size:10.5px; font-weight:400; letter-spacing:.3em; text-transform:uppercase; }
/* .f2-map-card{ min-height:400px; padding:18px; border:1px solid rgba(236,218,191,.17); background:rgba(255,255,255,.012); }
/* .f2-map-card svg{ display:block; width:100%; height:360px; } */ */
.f2-map-note{ margin-top:12px; color:#817064; font-family:'Archivo',sans-serif; font-size:9.5px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; }
.f2-journey h2{ margin:0 0 32px; color:#fffdf8; font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(44px,5vw,50px); line-height:1.05; }
.f2-journey p{ max-width:490px; margin:0 0 10px; color:var(--f2-muted); font-family:'Archivo',sans-serif; font-weight:300; font-size:13px; line-height:1.9; }
.f2-actions{ display:flex; align-items:center; gap:16px; flex-wrap:nowrap; max-width:730px; }
.f2-cta{ display:inline-flex; align-items:center; justify-content:center; flex:1 1 0; min-width:0; min-height:56px; margin:6px 0 32px;  border:1px solid #efe7da; background:#f3eee6; color:#33241a; font-family:'Archivo',sans-serif; font-size:10.5px; font-weight:500; letter-spacing:.32em; text-decoration:none; text-transform:uppercase; text-align:center; transition:.3s ease; }
.f2-cta:hover{ transform:translateY(-2px); background:#fffaf3; }
.f2-brochure{ margin:6px 0 32px; }
.f2-brochure:hover{ transform:translateY(-2px); background:#fffaf3; color:#33241a; }
.f2-brand-band{ margin-top:48px; padding:34px 0 30px; border-top:1px solid var(--f2-line); border-bottom:1px solid var(--f2-line); text-align:center; }
.f2-brand-title{ display:inline-block; position:relative; margin-bottom:28px; color:var(--f2-gold); font-family:'Archivo',sans-serif; font-size:11px; font-weight:400; letter-spacing:.28em; text-transform:uppercase; }
.f2-brand-title::before,.f2-brand-title::after{ content:""; position:absolute; top:50%; width:220px; height:1px; background:var(--f2-line); }
.f2-brand-title::before{ right:calc(100% + 24px); }
.f2-brand-title::after{ left:calc(100% + 24px); }
.f2-brand-row{ display:flex; align-items:center; justify-content:center; gap:40px; }
.f2-brand-divider{ width:1px; height:64px; background:var(--f2-line); }
.f2-brand-logo{ display:flex; align-items:center; justify-content:center; width:260px; min-height:92px; }
.f2-brand-logo img{ display:block; max-width:100%; object-fit:contain; }
.f2-luxury-logo img{ width:230px; max-height:92px; }
.f2-ozar96-logo img{ width:210px; max-height:64px; }
.f2-nav-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:38px; padding:31px 0 29px; }
.f2-nav-row a{ color:#d3c7bd; font-family:'Archivo',sans-serif; font-size:10.5px; font-weight:400; letter-spacing:.2em; text-decoration:none; text-transform:uppercase; transition:color .3s; }
.f2-nav-row a:hover{ color:var(--f2-gold); }
.f2-legal{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:28px; flex-wrap:wrap; color:#82756c; font-family:'Archivo',sans-serif; font-size:10px; letter-spacing:.1em; }
.f2-social{ display:inline-flex; align-items:center; gap:8px; color:#d3c7bd; text-decoration:none; text-transform:uppercase; letter-spacing:.16em; transition:color .3s; }
.f2-social:hover{ color:var(--f2-gold); }
.f2-social svg{ flex:none; }
.f2-site-brand{ display:flex; flex-direction:column; align-items:center; text-align:center; padding-bottom:64px; }
.f2-site-brand img{ height:30vh; width:auto; }
.f2-site-brand .f2-wordmark{ margin-top:34px; font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(40px,5.5vw,74px); line-height:1; letter-spacing:.3em; padding-left:.3em; color:var(--f2-cream); }
.f2-site-brand .f2-tagline{ margin-top:16px; font-family:'Cormorant Garamond',serif;  font-weight:300; font-size:1.5rem; line-height:1.7; color:rgba(243,237,226,.55); max-width:480px; }
@media(max-width:640px){
  .f2-site-brand{ padding-bottom:38px; }
  .f2-site-brand img{ height:25vh; }
}
@media(max-width:900px){
  .praia-footer2{ padding-top:42px; }
  .f2-top-rule{ margin-bottom:42px; }
  .f2-main-grid{ grid-template-columns:1fr; gap:48px; }
  .f2-brand-title::before,.f2-brand-title::after{ width:80px; }
}
@media(max-width:640px){
  .praia-footer2{ padding:32px 18px; }
  .f2-journey h2{ font-size:40px; }
  .f2-actions{ flex-direction:column; align-items:stretch; max-width:none; }
  .f2-cta{ width:100%; min-width:0; }
  .f2-brochure{ margin:-18px auto 28px; }
  .footer-actions{ flex-direction:column; align-items:stretch; }
  .footer-brochure{ display:block; width:100%; margin:12px 0 0; text-align:center; }
  /* .f2-map-card{ padding:10px; min-height:0; }
  .f2-map-card svg{ height:290px; } */
  .f2-brand-row{ flex-direction:column; gap:16px; }
  .f2-brand-divider{ width:120px; height:1px; }
  .f2-brand-title::before,.f2-brand-title::after{ display:none; }
  .f2-nav-row{ gap:22px 26px; }
  .f2-legal{ flex-direction:column; align-items:center; text-align:center; }
}

/* ---------- Floor plan thumbnails + click-to-zoom lightbox ---------- */
.floorplan-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.floorplan-grid.single { grid-template-columns: minmax(0,1fr); max-width: 340px; }
.floorplan-thumb {
  position: relative; display: block; width: 100%; padding: 0; margin: 0;
  border: 1px solid rgba(42,24,12,.16); background: #fff; cursor: zoom-in;
  overflow: hidden; appearance: none; text-align: left;
}
.floorplan-thumb img { width: 100%; height: auto; display: block; transition: transform .5s var(--ease); }
.floorplan-thumb:hover img { transform: scale(1.04); }
.floorplan-thumb-label {
  display: block; padding: 10px 12px; font-family: 'Archivo', sans-serif; font-weight: 400;
  font-size: 9.5px; letter-spacing: .2em; color: rgba(42,24,12,.6); text-transform: uppercase;
  border-top: 1px solid rgba(42,24,12,.1);
}
.floorplan-zoom-icon {
  position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; background: rgba(24,13,6,.82); color: #F3EDE2; font-family: 'Archivo', sans-serif;
  font-weight: 400; font-size: 9px; letter-spacing: .16em; text-transform: uppercase;
}
.floorplan-thumb.on-dark { background: rgba(243,237,226,.06); border-color: rgba(243,237,226,.2); }
.floorplan-thumb.on-dark .floorplan-thumb-label { color: rgba(243,237,226,.65); border-top-color: rgba(243,237,226,.14); }

.floorplan-lightbox {
  position: fixed; inset: 0; z-index: 5000; background: rgba(18,7,3,.96);
  display: flex; align-items: center; justify-content: center; padding: 64px 24px;
  opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s .35s;
}
.floorplan-lightbox.is-open { opacity: 1; visibility: visible; transition: opacity .35s ease, visibility 0s; }
.floorplan-lightbox .fpl-img { max-width: 100%; max-height: 78vh; object-fit: contain; background: #fff; }
.floorplan-lightbox .fpl-label {
  position: absolute; bottom: 30px; left: 0; right: 0; text-align: center; color: rgba(243,237,226,.85);
  font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 18px;
  padding: 0 24px;
}
.floorplan-lightbox .fpl-close {
  position: absolute; top: 26px; right: 30px; width: 44px; height: 44px; appearance: none;
  background: none; border: 1px solid rgba(243,237,226,.35); border-radius: 50%; color: rgba(243,237,226,.85);
  font-size: 24px; line-height: 1; cursor: pointer; font-family: 'Archivo', sans-serif; font-weight: 300;
}

@media (max-width: 640px) {
  .floorplan-grid.single { max-width: none; }
  .floorplan-lightbox { padding: 20px 14px 76px; }
  .floorplan-lightbox .fpl-img { max-height: 68vh; }
  .floorplan-lightbox .fpl-label { bottom: 18px; font-size: 15px; }
  .floorplan-lightbox .fpl-close { top: 14px; right: 14px; width: 38px; height: 38px; font-size: 20px; }
  .floorplan-zoom-icon { right: 7px; bottom: 7px; padding: 6px 10px; font-size: 8.5px; }
}
