
:root{--color-primary-700:#0053a3;--color-primary-500:#597ccd;--color-accent-500:#fd8a61;--color-accent-200:#fdbdef;--color-surface-100:#c5e2f0;--color-surface-50:#f0e9f1;--color-neutral-900:#1f261d;--color-neutral-700:#3a3f37;--color-neutral-400:#8b9088;--color-neutral-100:#f9f9f9;--white:#fff;--font-serif-display:"DM Serif Display",Georgia,serif;--font-sans:"Inter",system-ui,sans-serif;--text-hero:clamp(2.5rem,1vw + 2rem,3rem);--text-h1:clamp(2rem,0.5vw + 1.5rem,2.5rem);--text-h3:1.125rem;--text-sm:.9rem;--text-base:1rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.5rem;--radius-lg:1rem;--shadow:0 20px 40px rgba(0,0,0,.07);--border:1px solid rgba(0,0,0,.06)}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-neutral-700);background:#fff;line-height:1.55}
.wrapper{max-width:1280px;margin:0 auto;padding:var(--space-12) var(--space-6)}
.section{margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:var(--border)}.section:last-of-type{border:0}
.label{font-size:var(--text-sm);font-weight:700;color:var(--color-neutral-400);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}
.heading-display{font-family:var(--font-serif-display);color:var(--color-neutral-900);font-size:var(--text-h1);line-height:1.15;margin:0 0 var(--space-4)}
.heading-small{font-size:var(--text-h3);font-weight:700;color:var(--color-neutral-900);margin:0 0 var(--space-2)}
p{margin:0 0 var(--space-4);font-size:var(--text-base)}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--space-8)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--space-6)}
.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:var(--border);padding:var(--space-6)}
.tile{background:var(--color-surface-50);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid rgba(0,83,163,.2);box-shadow:0 10px 20px rgba(0,0,0,.04)}
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;font-size:var(--text-sm);font-weight:800;padding:.7rem 1rem;text-decoration:none;border:0;cursor:pointer}
.btn-primary{background:var(--color-primary-700);color:#fff;box-shadow:0 16px 32px rgba(0,83,163,.32)}
.btn-outline{background:transparent;border:1px solid var(--color-neutral-900);color:var(--color-neutral-900)}
.pill{display:inline-block;background:var(--color-accent-200);color:var(--color-neutral-900);border-radius:999px;font-size:var(--text-sm);font-weight:800;padding:.3rem .7rem;border:1px solid rgba(0,0,0,.05);letter-spacing:.08em;text-transform:uppercase}
.navbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(0,0,0,.04);padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:10}
.nav-left{display:flex;align-items:center;gap:.75rem;font-family:var(--font-serif-display);font-size:var(--text-h3);color:var(--color-neutral-900)}
.nav-menu{display:none}
.nav-actions{display:flex;align-items:center;gap:.75rem}
/* Hide nav CTA on mobile; show on desktop */
.nav-cta{display:none}
@media (min-width:768px){
  .nav-cta{display:inline-flex}
}

.hamburger{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:0;cursor:pointer}
.hamburger span{width:22px;height:2px;background:var(--color-neutral-900);display:block;border-radius:999px}
@media(min-width:768px){.hamburger{display:none}.nav-menu{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-menu a{color:var(--color-neutral-900);text-decoration:none}.nav-menu a:hover{color:var(--color-primary-700)}}
.mobile-drawer{z-index:9999;position:fixed;inset:0;background:rgba(0,0,0,.5);display:none}.mobile-drawer.open{display:block}
.mobile-panel{background:#fff;position:absolute;right:0;top:0;bottom:0;width:min(84vw,320px);background:#fff;padding:var(--space-6);box-shadow:-20px 0 40px rgba(0,0,0,.1)}
.hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 20% 20%, rgba(253,189,239,0.4) 0%, rgba(0,83,163,0.08) 60%), var(--color-surface-100);border:1px solid rgba(0,83,163,.2);box-shadow:0 40px 80px rgba(0,0,0,.08);padding:var(--space-10) var(--space-8);display:grid;grid-template-columns:1fr;gap:var(--space-6)}
@media(min-width:768px){.hero{grid-template-columns:1fr 320px}}
.hero h1{font-size:var(--text-hero);font-family:var(--font-serif-display);color:var(--color-neutral-900);margin:0 0 var(--space-4)}
.hero-cta-row{display:flex;gap:.75rem;flex-wrap:wrap}
/* Home carousels */
.carousel-shell{background:var(--color-neutral-100);border-radius:var(--radius-lg);border:var(--border);box-shadow:var(--shadow);padding:var(--space-6);overflow:hidden}
.carousel-track{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.carousel-item{min-width:200px;max-width:260px;flex:0 0 auto;border-radius:var(--radius-lg);border:var(--border);background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.06);scroll-snap-align:start;padding:var(--space-4);font-size:var(--text-sm)}
/* Events page grids */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);border:var(--border);box-shadow:var(--shadow)}
.gallery-grid .carousel-item{min-width:auto;max-width:unset}
.gallery-grid .carousel-item img{height:220px}
/* FAQ */
.faq{display:grid;gap:1rem;margin-top:var(--space-6)}
.faq-item{background:#fff;border:var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow)}
.faq-item>summary{cursor:pointer;font-weight:800;list-style:none}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item[open]{background:var(--color-neutral-100)}
footer{margin-top:var(--space-12);padding:var(--space-8) var(--space-6);border-top:var(--border);display:grid;gap:var(--space-6)}
.brand{display: flex; align-items: center;}

/* tighter spacing between stacked carousels on home */
.section .section[aria-label$="carousel"]{margin-top:var(--space-6);padding-bottom:0;border-bottom:0}
.section .section[aria-label$="carousel"] + .section[aria-label$="carousel"]{margin-top:var(--space-4)}
/* inline 'See more' card */
.carousel-item.cta-item{display:flex;align-items:center;justify-content:center;font-weight:800}
/* stars */
.stars{display:inline-flex;gap:2px;vertical-align:middle;margin-left:.25rem}
.stars svg{width:16px;height:16px;fill:#FBBF24}
/* form inputs spacing */
.form-field{margin-bottom:1rem}
.form-field .label{margin-bottom:.35rem}
.form-input,.form-select,.form-textarea{width:100%;border-radius:.5rem;border:1px solid rgba(0,0,0,.12);padding:.65rem .9rem;background:var(--color-neutral-100)}
/* expandable grids */
.grid-section{position:relative}
.grid-section .gallery-grid{transition:max-height .45s ease, padding .3s ease}
.grid-section .gallery-grid.collapsed{max-height:900px;overflow:hidden}
.grid-section .fade-bottom{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1));pointer-events:none}
.grid-section .controls{margin-top:.5rem}


/* Dedicated grid cards for Events page */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);border:var(--border);box-shadow:var(--shadow)}
.grid-card{border-radius:var(--radius-lg);border:var(--border);background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.06);padding:var(--space-4);font-size:var(--text-sm)}
.grid-card img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius-sm);border:var(--border)}
.grid-card .label{margin-top:.5rem}
/* Expand/collapse states */
.grid-section .gallery-grid{transition:max-height .45s ease, padding .3s ease}
.grid-section .gallery-grid.collapsed{max-height:900px;overflow:hidden}
.grid-section .fade-bottom{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1));pointer-events:none}
.grid-section .controls{margin-top:.5rem}
.hidden-card{display:none;opacity:0;transform:translateY(8px);transition:opacity .3s ease, transform .3s ease}


/* v7.1 styling */

/* FAQ background section */
.faq-soft-bg {
  background: rgba(253,189,239,.08);
  border-radius: var(--radius-lg);
  border: var(--border);
  padding: var(--space-6);
}

/* Event tag pills */
.tags { margin-top:.4rem; display:flex; gap:.35rem; flex-wrap:wrap }

/* v7.2 Events grid rules */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}
@media(min-width:1200px){.gallery-grid{grid-template-columns:repeat(5,1fr)}}
.grid-section .gallery-grid{transition:max-height .45s ease, padding .3s ease}
.grid-section .gallery-grid.collapsed{max-height:1100px;overflow:hidden}
.grid-section .fade-bottom{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1));pointer-events:none}
.hidden-card{display:none;opacity:0;transform:translateY(8px);transition:opacity .3s ease, transform .3s ease}

/* Color-coded tag pills for new sections */
.pill.tag.tag--ceremony{background:rgba(0,83,163,.10);border-color:rgba(0,83,163,.25);color:#00427f}

/* v10 FAQ caret */
details summary{cursor:pointer;display:flex;align-items:center;gap:.4rem}
.faq-caret{display:inline-block;transition:transform .2s ease}
details[open] .faq-caret{transform:rotate(180deg)}

/* == Generated from inline styles == */
.inl-6b2f51{padding-top:var(--space-6);padding-bottom:0;}
.inl-1f7bc7{display:flex;gap:.75rem;align-items:center;text-decoration:none;color:inherit;}
.inl-603362{width:34px;height:34px;}
.inl-6d5673{width:100%;}
.inl-9dae1d{margin-top:1rem;}
.inl-1386d5{margin:0;}
.inl-394b59{margin:.5rem 0 0;}
.inl-e2a516{margin-top:var(--space-3);}
.inl-20dcef{padding:0;height:440px;overflow:hidden;}
.inl-403c9a{width:100%;height:100%;object-fit:cover;object-position: center;display: block;}
.inl-6b679d{margin-top:var(--space-6);}
.inl-48e988{width:100%;height:140px;object-fit:cover;border-radius:var(--radius-sm);border:var(--border);}
.inl-86b369{margin-top:.5rem;}
.inl-f7c952{font-size:var(--text-sm);font-weight:800;text-transform:capitalize;}
.inl-d03123{max-width:680px;}
.inl-89d462{font-family:var(--font-serif-display);font-size:var(--text-h3);line-height:1.2;}
.inl-c73278{width:34px;height:34px;}
.inl-c5bd4d{font-size:var(--text-sm);}
.inl-cb4589{display:none;}
.inl-c1adc3{height:48px;}
.inl-13076d{text-align:center;}
.inl-9e3bc3{margin:.25rem 0 .5rem;color:var(--color-neutral-400);}
.inl-b33383{margin-top:.75rem;}
.inl-3f89bf{margin:.25rem 0 .75rem;}
.inl-09cf87{margin-bottom:var(--space-6);}


/* Mobile drawer controls: full-width links and CTA */
.mobile-panel .btn{width:100%;}
.mobile-links,
#mobile-links{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}
.mobile-links a,
#mobile-links a{display:block;width:100%;padding:var(--space-3) var(--space-4);border:1px solid rgba(0,0,0,.12);border-radius:999px;text-decoration:none;color:var(--color-neutral-900)}
.mobile-links a:hover,
#mobile-links a:hover{background:rgba(0,0,0,.04)}
.mobile-links .btn{display:inline-flex;justify-content:center;width:100%;text-decoration:none}

#mobile-links .btn{display:inline-flex;justify-content:center;width:100%;text-decoration:none}

.mobile-panel a{text-decoration:none}


/* Checkbox pill multi-select */
.checkbox-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.checkbox-pills .pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:.5rem .875rem;cursor:pointer;user-select:none}
.checkbox-pills .pill input{appearance:none;width:1rem;height:1rem;border:1px solid rgba(0,0,0,.25);border-radius:.25rem;display:inline-block;position:relative}
.checkbox-pills .pill input:checked{background:var(--color-primary-700);border-color:var(--color-primary-700)}
.checkbox-pills .pill input:checked::after{content:'';position:absolute;inset:0.15rem;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}
.checkbox-pills .pill:hover{background:rgba(0,0,0,.04)}
.help{font-size:0.85rem;color:var(--color-neutral-600);font-weight:400}


/* Compact inline checkbox pills */
.checkbox-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;flex-direction:row}
.checkbox-pills .pill{display:inline-flex;align-items:center;gap:.25rem;border:1px solid rgba(0,0,0,.15);border-radius:999px;background:var(--color-primary-500);
padding:.2rem .6rem;cursor:pointer;user-select:none;font-size:0.85rem;line-height:1.1;white-space:nowrap}
.checkbox-pills .pill input{appearance:none;width:.75rem;height:.75rem;border:1px solid rgba(0,0,0,.25);border-radius:.2rem;
display:inline-block;position:relative;margin:0}
.checkbox-pills .pill input:checked{background:var(--color-primary-700);border-color:var(--color-primary-700)}
.checkbox-pills .pill input:checked::after{content:'';position:absolute;inset:0.1rem;border:2px solid #fff;border-top:none;
border-left:none;transform:rotate(45deg)}
.checkbox-pills .pill:hover{background:rgba(0,0,0,.05)}


/* Ensure full gallery is visible on small screens */
@media(max-width:767px){
  .grid-section .gallery-grid.collapsed{
    max-height:none;
    overflow:visible;
  }
}

/* Ensure comfortable bottom spacing and avoid card clipping on all viewports */
.grid-section .gallery-grid.collapsed{
  max-height:none;
  overflow:visible;
  padding-bottom:var(--space-8);
}

/* === Language Toggle ===================================== */
.lang-toggle{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:var(--color-surface-50);padding:2px;gap:2px;font-size:var(--text-sm)}
.lang-toggle-button{border:none;background:transparent;padding:4px 10px;border-radius:999px;font-family:var(--font-sans-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--color-neutral-400);min-width:2.6rem}
.lang-toggle-button.is-active{background:#ffffff;color:var(--color-white);box-shadow:0 8px 16px rgba(0,83,163,.35)}
.mobile-lang-row{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.mobile-lang-label{font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-500)}

/* Service card image block */
.service-image-wrapper {width: 100%;height: 230px;overflow: hidden;border-radius: var(--radius-lg);margin-bottom: var(--space-4);}
.service-image {width: 100%;height: 100%;object-fit: cover;object-position: center;display: block;}
