.ceremonial-hero{justify-content:flex-start;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.ceremonial-hero__background{z-index:0;position:absolute;inset:0}.ceremonial-hero__background-image{object-fit:cover;object-position:center;position:absolute;inset:0}.ceremonial-hero__background-placeholder{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-accent)50%,var(--color-warm)100%);position:absolute;inset:0}.ceremonial-hero__background-overlay{background:linear-gradient(90deg,#0009 0%,#0000004d 60%,#00000080 100%);position:absolute;inset:0}.ceremonial-hero__content{z-index:10;flex-direction:column;gap:2rem;width:100%;padding:2rem 1rem;display:flex;position:relative}@media (min-width:1024px){.ceremonial-hero__content{flex-direction:row;justify-content:space-between;align-items:center}}.ceremonial-hero__main{color:var(--color-white);max-width:600px}.ceremonial-hero__line{background:linear-gradient(90deg,var(--color-accent),var(--color-warm));border-radius:9999px;width:4rem;height:2px;margin-bottom:1.5rem}.ceremonial-hero__line--bottom{margin-top:1.5rem;margin-bottom:0}.ceremonial-hero__title{text-shadow:0 2px 4px #0000004d;margin-bottom:1rem;font-size:2.25rem;font-weight:700;line-height:1.25}@media (min-width:768px){.ceremonial-hero__title{font-size:3rem}}@media (min-width:1024px){.ceremonial-hero__title{font-size:3.75rem}}.ceremonial-hero__subtitle{color:#ffffffe6;white-space:pre-line;font-size:1.125rem;line-height:1.625}@media (min-width:768px){.ceremonial-hero__subtitle{font-size:1.25rem}}.ceremonial-hero__nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}@media (min-width:1024px){.ceremonial-hero__nav{min-width:200px}}.ceremonial-hero__nav-item{color:var(--color-white);cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.ceremonial-hero__nav-item svg{flex-shrink:0;width:20px;height:20px}.ceremonial-hero__nav-item:hover{background:#ffffff26}.ceremonial-hero__nav-item.active{background:var(--color-accent);color:var(--color-white)}.ceremonial-about{text-align:center;max-width:800px;margin:0 auto}.ceremonial-about__divider{background:linear-gradient(90deg,var(--color-accent),var(--color-warm));border-radius:9999px;width:4rem;height:2px;margin:1.5rem auto 0}.ceremonial-about__description{color:var(--color-muted-foreground);font-size:1rem;line-height:1.625}@media (min-width:768px){.ceremonial-about__description{font-size:1.125rem}}.ceremonial-calendar{text-align:center}.ceremonial-calendar__grid{text-align:left;align-items:start;gap:2rem;display:grid}@media (min-width:1024px){.ceremonial-calendar__grid{grid-template-columns:minmax(280px,420px) 1fr;gap:3rem}}.ceremonial-calendar__picker{justify-content:center;display:flex}.ceremonial-calendar__details{background:var(--color-card);border:1px solid var(--color-border);border-radius:.75rem;height:100%;padding:1.5rem}.ceremonial-calendar__details-title{color:var(--color-foreground);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.ceremonial-calendar__status{border:1px solid var(--color-border);background:var(--color-muted);color:var(--color-foreground);border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.ceremonial-calendar__status--booked{color:#991b1b;background:#ef444414;border-color:#ef444459}.ceremonial-calendar__bookings-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.ceremonial-calendar__booking{border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.ceremonial-calendar__booking:last-child{border-bottom:none;padding-bottom:0}.ceremonial-calendar__booking-range{color:var(--color-foreground);font-weight:600;display:inline-block}.ceremonial-calendar__booking-note{color:var(--color-muted-foreground);margin-top:.25rem;font-size:.875rem}.ceremonial-calendar__empty{color:var(--color-muted-foreground);padding:.5rem 0;font-size:.875rem}.ceremonial-calendar__day--booked button,.ceremonial-calendar__day--booked [data-day]{position:relative}.ceremonial-calendar__day--booked button:after,.ceremonial-calendar__day--booked [data-day]:after{content:"";opacity:.85;background:#ef4444;border-radius:9999px;width:6px;height:6px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.ceremonial-reservation__grid{gap:2rem;display:grid}@media (min-width:1024px){.ceremonial-reservation__grid{grid-template-columns:1fr 350px;align-items:stretch}.ceremonial-reservation__grid--single{grid-template-columns:minmax(0,1fr)}}.ceremonial-reservation__form{background:#fff;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px 20px #00000014}@media (min-width:768px){.ceremonial-reservation__form{padding:2rem}}@media (min-width:1024px){.ceremonial-reservation__form{height:100%}}.ceremonial-reservation__alert{border:1px solid var(--border);background:var(--background-muted);width:100%;color:var(--foreground);border-radius:.5rem;padding:1rem;font-size:.875rem;line-height:1.625}.ceremonial-reservation__alert--success{color:#166534;background:#22c55e14;border-color:#22c55e59}.ceremonial-reservation__alert--error{color:#991b1b;background:#ef444414;border-color:#ef444459}.ceremonial-reservation__sidebar{flex-direction:column;gap:1rem;display:flex}@media (min-width:1024px){.ceremonial-reservation__sidebar{height:100%;position:sticky;top:2rem}}.ceremonial-reservation__panel{background:var(--color-white);border-radius:.75rem;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000014}@media (min-width:1024px){.ceremonial-reservation__panel{flex:auto;min-height:100%}}.ceremonial-reservation__panel:after{content:"";aspect-ratio:1;background:rgba(var(--color-accent-rgb,139,69,79),.08);pointer-events:none;border-radius:9999px;width:180px;position:absolute;inset:auto -10% -30% auto}.ceremonial-reservation__eyebrow{z-index:1;background:var(--color-primary);color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;border-radius:9999px;align-self:flex-start;align-items:center;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex;position:relative}.ceremonial-reservation__panel-title{z-index:1;color:var(--foreground);margin:0;font-size:1.5rem;font-weight:700;line-height:1.25;position:relative}.ceremonial-reservation__panel-description{z-index:1;color:var(--color-muted);margin:0;line-height:1.625;position:relative}.ceremonial-reservation__steps{z-index:1;flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.ceremonial-reservation__step{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}.ceremonial-reservation__step-number{background:var(--color-warm);width:2.5rem;height:2.5rem;color:var(--color-white);box-shadow:0 10px 20px rgba(var(--color-accent-rgb,139,69,79),.22);border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:inline-flex}.ceremonial-reservation__step-copy{flex-direction:column;gap:.25rem;padding-top:.25rem;display:flex}.ceremonial-reservation__step-title{color:var(--foreground);font-size:1rem;font-weight:600}.ceremonial-reservation__step-description{color:var(--color-muted-foreground);margin:0;font-size:.875rem;line-height:1.625}.ceremonial-reservation__note{z-index:1;border:1px solid rgba(var(--color-accent-rgb,139,69,79),.12);background:#ffffffc7;border-radius:.5rem;padding:1rem;position:relative}.ceremonial-reservation__note-title{color:var(--foreground);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.ceremonial-reservation__note-text{color:var(--color-muted-foreground);margin:0;font-size:.875rem;line-height:1.625}.ceremonial-reservation__row{gap:1rem;display:grid}@media (min-width:768px){.ceremonial-reservation__row{grid-template-columns:1fr 1fr}}.ceremonial-reservation__field{flex-direction:column;gap:.5rem;display:flex}.ceremonial-reservation__field label{color:var(--foreground);font-size:.875rem;font-weight:500}.ceremonial-reservation__field input,.ceremonial-reservation__field select,.ceremonial-reservation__field textarea{color:var(--foreground);background:#fff;border:2px solid #00000026;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s cubic-bezier(.4,0,.2,1)}.ceremonial-reservation__field input::placeholder,.ceremonial-reservation__field select::placeholder,.ceremonial-reservation__field textarea::placeholder{color:#0006}.ceremonial-reservation__field input:focus,.ceremonial-reservation__field select:focus,.ceremonial-reservation__field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb,139,69,79),.1);outline:none}.ceremonial-reservation__field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.ceremonial-reservation__field textarea{resize:vertical;min-height:120px}@media (min-width:768px){.ceremonial-reservation__field--full{grid-column:1/-1}}.ceremonial-reservation__submit{align-self:center;margin-top:1rem}.ceremonial-gallery{text-align:center}.ceremonial-gallery__title{color:var(--foreground);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}@media (min-width:768px){.ceremonial-gallery__title{font-size:1.875rem}}.ceremonial-gallery__subtitle{color:var(--color-muted-foreground);margin-bottom:2rem;font-size:1rem}@media (min-width:768px){.ceremonial-gallery__subtitle{font-size:1.125rem}}.ceremonial-gallery__grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.ceremonial-gallery__grid{grid-template-columns:repeat(3,1fr)}}.ceremonial-gallery__item{aspect-ratio:4/3;border-radius:.5rem;position:relative;overflow:hidden}.ceremonial-gallery__image{object-fit:cover}.ceremonial-gallery__placeholder{background:var(--background-muted);border:2px dashed var(--border);border-radius:.5rem;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ceremonial-gallery__placeholder svg{width:48px;height:48px;color:var(--color-muted);opacity:.5}
