@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root{
  --ivory:#fffaf4;
  --cream:#f8efe7;
  --white:#ffffff;
  --taupe:#51413f;
  --dark-taupe:#2f2422;
  --rose:#c96561;
  --rose-dark:#ad4f4c;
  --rose-soft:#f6dcd6;
  --gold:#c99a3d;
  --gold-dark:#9c6f1f;
  --gold-soft:#efd8a4;
  --border:#ead7c6;
  --shadow:rgba(81,65,63,.12);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;background:var(--ivory);color:var(--taupe);line-height:1.65}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{width:min(1440px,96%);margin:0 auto}

/* Header */
.site-header{background:rgba(255,250,244,.97);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:999;backdrop-filter:blur(8px)}
.header-inner{min-height:96px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:10px 0}
.logo-area img{width:122px;height:auto}
.main-nav{min-width:0}
.main-nav ul{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(10px,.9vw,18px)}
.main-nav a{font-size:clamp(10px,.72vw,13px);font-weight:700;text-transform:uppercase;letter-spacing:.55px;color:var(--dark-taupe);position:relative;padding-bottom:7px;white-space:nowrap}
.main-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--rose);transition:.25s ease}
.main-nav a:hover,.main-nav a.active{color:var(--rose)}
.main-nav a:hover:after,.main-nav a.active:after{width:100%}
.header-button{background:var(--rose);color:#fff;padding:12px 16px;border-radius:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;box-shadow:0 8px 20px rgba(201,101,97,.22);transition:.25s ease;white-space:nowrap;text-align:center;flex:0 0 auto}
.header-button:hover{background:var(--dark-taupe);transform:translateY(-2px)}

/* Buttons */
.btn{display:inline-block;padding:14px 25px;border-radius:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;transition:.25s ease;text-align:center;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--rose);color:#fff;border-color:var(--rose);box-shadow:0 8px 20px rgba(201,101,97,.2)}
.btn-primary:hover{background:var(--dark-taupe);border-color:var(--dark-taupe);transform:translateY(-2px)}
.btn-secondary{background:transparent;color:var(--gold-dark);border-color:var(--gold)}
.btn-secondary:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--rose);border-color:#fff}
.btn-light:hover{background:var(--cream);color:var(--dark-taupe);transform:translateY(-2px)}

/* Shared typography */
.brand-line,.small-heading,.section-title p{color:var(--rose);text-transform:uppercase;letter-spacing:2.4px;font-size:13px;font-weight:700}
.section-title{text-align:center;margin-bottom:42px}
.section-title h1,.section-title h2{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-weight:500;line-height:1.1}
.section-title h1{font-size:clamp(42px,5vw,68px)}
.section-title h2{font-size:clamp(34px,4vw,46px)}
.script{font-family:'Great Vibes',cursive;color:var(--gold);font-weight:400}
.gold-divider{color:var(--gold);font-size:30px;margin:14px 0 18px;text-align:center}

/* HOME HERO */
.home-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(255,250,244,.99),rgba(255,250,244,.96) 48%,rgba(255,250,244,.45)),radial-gradient(circle at 86% 20%,rgba(232,181,174,.55),transparent 28%),linear-gradient(135deg,#fffaf4,#f8efe7)}
.home-hero:before{content:"";position:absolute;right:-140px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(201,154,61,.2),transparent 70%)}
.hero-grid{position:relative;z-index:2;min-height:700px;display:grid;grid-template-columns:.86fr 1.14fr;gap:48px;align-items:center}
.hero-content{padding:70px 0}
.hero-content .brand-line{display:inline-block;margin-bottom:18px;text-transform:none;font-family:'Great Vibes',cursive;font-size:28px;letter-spacing:.5px;font-weight:400}
.hero-content .brand-line:before,.hero-content .brand-line:after{content:"";display:inline-block;width:54px;height:1px;background:var(--gold);vertical-align:middle;margin:0 14px 7px}
.hero-content h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(52px,6vw,82px);line-height:.96;font-weight:500;color:var(--dark-taupe);margin-bottom:20px}
.hero-content h1 span{display:block;font-family:'Great Vibes',cursive;color:var(--gold);font-size:clamp(70px,8vw,112px);font-weight:400;line-height:.85;margin-top:8px}
.hero-content h2{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:400;color:var(--dark-taupe);max-width:510px;margin-bottom:18px}
.hero-description{font-size:16px;max-width:520px;margin-bottom:30px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hero-photo{height:auto;aspect-ratio:4/3;border-radius:0 0 0 88px;overflow:hidden;box-shadow:0 24px 60px var(--shadow);border:1px solid var(--border);background:var(--cream);width:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}

/* FEATURES */
.features-bar{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:31px 0}
.features-grid{display:grid;grid-template-columns:repeat(6,1fr);text-align:center}
.feature-item{padding:18px 14px;border-right:1px solid var(--border)}
.feature-item:last-child{border-right:none}
.feature-icon{font-size:34px;color:var(--gold);margin-bottom:10px}
.feature-item h3{font-family:'Playfair Display',Georgia,serif;font-size:16px;line-height:1.25;text-transform:uppercase;letter-spacing:.75px;color:var(--dark-taupe);margin-bottom:7px}
.feature-item p{font-size:13px}

/* PRIVATE SPACE */
.private-space-section{padding:72px 0;background:var(--ivory)}
.private-space-grid{display:grid;grid-template-columns:1fr 1.35fr .95fr;gap:20px;align-items:stretch}
.space-text-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:42px;box-shadow:0 15px 40px rgba(81,65,63,.06)}
.space-text-card h2{font-family:'Playfair Display',Georgia,serif;font-size:38px;line-height:1.15;font-weight:500;color:var(--dark-taupe);margin-top:8px}
.space-text-card p:not(.small-heading){font-size:15px;margin-bottom:25px}
.main-space-photo,.space-side-gallery img{border-radius:10px;overflow:hidden;border:1px solid var(--border);box-shadow:0 14px 35px rgba(81,65,63,.08)}
.main-space-photo{background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden}.main-space-photo img{width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center 48%}
.space-side-gallery{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.space-side-gallery img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;min-height:0}.space-side-gallery img.yellow-ceremony-photo{object-position:center 38%}

/* ALL LOVE */
.all-love-section{padding:64px 0 60px;background:linear-gradient(180deg,#fffaf4,#fff4ef);position:relative;overflow:hidden}
.all-love-section:before,.all-love-section:after{content:"✿";position:absolute;color:rgba(201,101,97,.16);font-size:150px;line-height:1}
.all-love-section:before{left:-38px;top:55px}.all-love-section:after{right:-38px;bottom:36px}
.love-cards-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.love-card{display:block;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-align:center;box-shadow:0 10px 30px rgba(81,65,63,.05);transition:.25s ease}
.love-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(81,65,63,.12)}
.love-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.love-icon{color:var(--rose);font-size:24px;margin:10px 0 3px}
.love-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.65px;line-height:1.3;color:var(--dark-taupe);padding:0 12px 18px}
.welcome-line{position:relative;z-index:2;text-align:center;margin-top:34px;font-family:'Great Vibes',cursive;color:var(--rose);font-size:35px}

/* REVIEWS */
.reviews-section{padding:64px 0;background:var(--ivory)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.review-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:34px;text-align:center;box-shadow:0 12px 35px rgba(81,65,63,.05);position:relative}
.review-card:before{content:"“";position:absolute;left:22px;top:-18px;font-family:'Playfair Display',Georgia,serif;font-size:90px;color:rgba(201,101,97,.15)}
.stars{color:var(--gold);font-size:22px;letter-spacing:3px;margin-bottom:14px}
.review-card p{font-size:14px;position:relative;z-index:1}.review-card h4{margin-top:18px;color:var(--rose);font-weight:500}

/* PROCESS */
.process-section{padding:54px 0 70px;background:#fff7f2}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rose-soft);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 35px rgba(81,65,63,.05)}
.process-step{padding:34px 26px;border-right:1px solid var(--border);text-align:center}.process-step:last-child{border-right:none}
.process-icon{font-size:38px;color:var(--gold);margin-bottom:6px}.process-step span{display:block;font-family:'Playfair Display',Georgia,serif;font-size:34px;color:var(--gold);margin-bottom:8px}.process-step h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--dark-taupe);margin-bottom:8px}.process-step p{font-size:13px}

/* CTA */
.home-cta,.cta-section{background:linear-gradient(90deg,var(--rose),#d7837b);color:#fff;padding:48px 0;position:relative;overflow:hidden}
.home-cta:before,.home-cta:after,.cta-section:before,.cta-section:after{content:"✿";position:absolute;color:rgba(255,255,255,.18);font-size:125px}.home-cta:before,.cta-section:before{left:18px;bottom:-35px}.home-cta:after,.cta-section:after{right:20px;top:-35px}
.cta-content,.cta-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.home-cta h2,.cta-section h2{font-family:'Playfair Display',Georgia,serif;font-size:36px;font-weight:500}.home-cta p,.cta-section p{font-size:18px}

/* FOOTER */
.site-footer{background:#fff5ee;border-top:1px solid var(--border);padding:48px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1fr;gap:34px;padding-bottom:34px}
.footer-brand img,.footer-about img{width:115px;margin-bottom:14px}.footer-column h3,.site-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:1.4px;color:var(--dark-taupe);margin-bottom:14px}.site-footer p,.site-footer li{font-size:14px;margin-bottom:8px}.site-footer a:hover{color:var(--rose)}
.copyright{background:var(--rose);color:#fff;text-align:center;padding:14px;font-size:13px}

/* SUBPAGES */
.page-hero{padding:92px 0 74px;text-align:center;background:linear-gradient(90deg,rgba(255,250,244,.98),rgba(255,250,244,.9)),radial-gradient(circle at top right,rgba(232,181,174,.5),transparent 30%),radial-gradient(circle at bottom left,rgba(239,216,164,.45),transparent 30%),linear-gradient(135deg,#fffaf4,#f8efe7);position:relative;overflow:hidden}.page-hero:before{content:"✿";position:absolute;left:40px;top:28px;font-size:130px;color:rgba(201,101,97,.13)}.page-hero:after{content:"❦";position:absolute;right:55px;bottom:12px;font-size:125px;color:rgba(201,154,61,.17)}
.page-hero .container{position:relative;z-index:1}.page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(46px,6vw,72px);line-height:1.02;color:var(--dark-taupe);font-weight:500}.page-hero h1 span{display:block;font-family:'Great Vibes',cursive;color:var(--gold);font-size:clamp(62px,8vw,102px);font-weight:400;line-height:.85}.page-intro{max-width:760px;margin:22px auto 0;font-size:17px}.pill-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.pill{background:#fff;border:1px solid var(--border);border-radius:40px;padding:10px 16px;font-size:13px;font-weight:600;box-shadow:0 8px 20px rgba(81,65,63,.05)}

.packages-section,.content-section{padding:76px 0;background:var(--ivory)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:36px 30px;box-shadow:0 16px 45px rgba(81,65,63,.07);position:relative;transition:.25s ease;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:32px;right:32px;height:4px;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:0 0 8px 8px}.service-card:hover{transform:translateY(-8px)}.premium-card{border:2px solid var(--gold);transform:scale(1.03);background:linear-gradient(180deg,#fff,#fff8ef)}.premium-card:hover{transform:scale(1.03) translateY(-8px)}.popular-badge{position:absolute;top:18px;right:-42px;background:var(--gold);color:#fff;padding:8px 48px;transform:rotate(35deg);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.service-icon{font-size:44px;margin-bottom:18px}.service-card h2{font-family:'Playfair Display',Georgia,serif;font-size:32px;color:var(--dark-taupe);font-weight:500;margin-bottom:8px}.price{font-family:'Playfair Display',Georgia,serif;font-size:42px;color:var(--rose);margin-bottom:4px}.guest-note{color:var(--gold-dark);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.service-description{font-size:14px;margin-bottom:18px}.availability{background:var(--rose-soft);color:var(--rose-dark);border:1px solid #e8b5ae;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:800;text-align:center;margin-bottom:20px}.service-card ul{margin-bottom:28px}.service-card li{position:relative;padding-left:24px;margin-bottom:11px;font-size:14px}.service-card li:before{content:"♡";position:absolute;left:0;top:0;color:var(--rose);font-weight:900}

.form-section{padding:76px 0;background:var(--ivory)}.booking-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}.form-card,.info-card,.story-card,.about-card,.space-info-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:34px;box-shadow:0 15px 40px rgba(81,65,63,.07)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field.full{grid-column:1/-1}.form-field label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.75px;color:var(--dark-taupe);margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--border);background:#fffaf7;border-radius:8px;padding:13px 14px;font-family:'Montserrat',Arial,sans-serif;color:var(--taupe);font-size:14px}.form-field textarea{min-height:120px;resize:vertical}.note{font-size:13px;color:var(--taupe);margin-top:14px}.info-card h3,.story-card h3,.about-card h3,.space-info-card h3{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-size:28px;font-weight:500;margin-bottom:12px}.info-list li{padding:14px 0;border-bottom:1px solid var(--border);font-size:15px}.info-list li:last-child{border-bottom:none}

.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story-card{padding:0;overflow:hidden}.story-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}.story-card div{padding:28px}.story-card .tag{display:inline-block;color:var(--rose);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.about-photo{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 15px 40px rgba(81,65,63,.08);background:var(--cream);aspect-ratio:4/3}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.value-box{background:#fff8ef;border:1px solid var(--border);border-radius:12px;padding:22px;text-align:center}.value-box span{font-size:34px}.value-box h4{font-family:'Playfair Display',Georgia,serif;font-size:21px;color:var(--dark-taupe);margin:8px 0}
.space-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.space-page-img{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 15px 40px rgba(81,65,63,.08);background:var(--cream);aspect-ratio:4/3}.space-page-img img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.space-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.space-gallery img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;object-position:center;border-radius:12px;border:1px solid var(--border);box-shadow:0 10px 25px rgba(81,65,63,.07)}
.space-gallery img.space-photo-full{object-fit:cover;object-position:center 42%;background:var(--cream);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.why-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:30px 22px;text-align:center;box-shadow:0 12px 35px rgba(81,65,63,.06)}.why-icon{font-size:36px;color:var(--gold);margin-bottom:14px}.why-card h3{font-family:'Playfair Display',Georgia,serif;font-size:22px;color:var(--dark-taupe);margin-bottom:10px}

@media(max-width:1080px){.main-nav{display:none}.hero-grid,.private-space-grid,.booking-layout,.about-grid,.space-page-grid,.cta-content,.cta-grid{grid-template-columns:1fr}.hero-photo{height:auto;aspect-ratio:4/3;border-radius:20px;margin-bottom:40px}.features-grid{grid-template-columns:repeat(3,1fr)}.feature-item{border-right:none;border-bottom:1px solid var(--border)}.love-cards-grid,.services-grid,.story-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid,.why-grid,.values-grid,.space-gallery{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.premium-card{transform:none}.premium-card:hover{transform:translateY(-8px)}}
@media(max-width:700px){.header-inner{flex-direction:column;padding:16px 0}.logo-area img{width:105px}.header-button{width:100%;text-align:center}.hero-content{text-align:center;padding:50px 0 20px}.hero-content .brand-line:before,.hero-content .brand-line:after{display:none}.hero-buttons{justify-content:center}.hero-photo{height:auto;aspect-ratio:4/3}.features-grid,.love-cards-grid,.reviews-grid,.process-grid,.services-grid,.story-grid,.why-grid,.values-grid,.footer-grid,.form-grid,.space-gallery{grid-template-columns:1fr}.space-side-gallery{grid-template-rows:auto}.process-step{border-right:none;border-bottom:1px solid var(--border)}.process-step:last-child{border-bottom:none}.home-cta h2,.cta-section h2{font-size:30px}.btn{width:100%}.popular-badge{position:static;display:inline-block;transform:none;border-radius:40px;margin-bottom:16px;padding:8px 16px}.hero-content h1{font-size:48px}.hero-content h1 span{font-size:64px}.page-hero h1{font-size:44px}.page-hero h1 span{font-size:60px}}


/* Language selector and bilingual navigation */
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end;min-width:fit-content}
.language-switcher{display:flex;align-items:center;border:1px solid var(--border);background:#fff;border-radius:999px;padding:4px;box-shadow:0 8px 20px rgba(81,65,63,.05)}
.language-button{border:0;background:transparent;color:var(--dark-taupe);font-family:'Montserrat',Arial,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.55px;border-radius:999px;padding:8px 10px;cursor:pointer;transition:.25s ease}
.language-button:hover,.language-button.active{background:var(--rose);color:#fff}
.numbered-list{list-style:decimal;margin-left:18px}
.numbered-list li{list-style:decimal;padding-left:4px}

@media(max-width:1220px){
  .header-inner{grid-template-columns:auto auto;justify-content:space-between;row-gap:14px}
  .main-nav{grid-column:1/-1;order:3;width:100%}
  .main-nav ul{justify-content:center;flex-wrap:wrap;gap:12px 22px}
}
@media(max-width:1080px){
  .header-inner{grid-template-columns:1fr;justify-items:center}
  .main-nav{display:block;width:100%;order:3}
  .main-nav ul{justify-content:center;flex-wrap:wrap;gap:14px 18px}
  .header-actions{justify-content:center}
}
@media(max-width:700px){
  .main-nav ul{gap:10px 14px}
  .main-nav a{font-size:11px}
  .header-actions{width:100%;flex-wrap:wrap}
  .language-switcher{order:1}
  .header-button{order:2;flex:1 1 100%}
}


/* GOOGLE FORM BOOKING PAGE */
.google-form-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:34px;
  box-shadow:0 15px 40px rgba(81,65,63,.07);
}
.google-form-intro h2{
  font-family:'Playfair Display',Georgia,serif;
  color:var(--dark-taupe);
  font-size:34px;
  font-weight:500;
  line-height:1.15;
  margin:8px 0 14px;
}
.google-form-intro p:not(.small-heading){
  font-size:15px;
  margin-bottom:22px;
}
.google-form-action-box,
.google-form-embed-box{
  background:#fff8ef;
  border:1px solid var(--border);
  border-radius:14px;
  padding:24px;
  margin-bottom:20px;
  text-align:center;
}
.google-form-action-box h3,
.google-form-embed-box h3{
  font-family:'Playfair Display',Georgia,serif;
  color:var(--dark-taupe);
  font-size:26px;
  font-weight:500;
  margin-bottom:8px;
}
.google-form-action-box p,
.google-form-embed-box p{
  font-size:14px;
  margin-bottom:16px;
}
.google-form-embed-box{
  border-style:dashed;
}
.google-form-embed-box iframe{
  width:100%;
  min-height:950px;
  border:none;
  border-radius:10px;
  background:#fff;
}


/* ================= MEET OUR OFFICIANTS ================= */
.officiants-section {
  background: linear-gradient(180deg, #fffaf4 0%, #fff4ef 100%);
  padding: 76px 0;
  position: relative;
  overflow: hidden;
}

.officiants-section::before,
.officiants-section::after {
  content: "✿";
  position: absolute;
  color: rgba(201, 101, 97, 0.13);
  font-size: 150px;
  line-height: 1;
  pointer-events: none;
}

.officiants-section::before {
  left: -35px;
  top: 70px;
}

.officiants-section::after {
  right: -35px;
  bottom: 50px;
  color: rgba(201, 154, 61, 0.16);
}

.officiants-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  align-items: stretch;
}

.officiant-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 45px rgba(81, 65, 63, 0.08);
  transition: 0.3s ease;
}

.officiant-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 60px rgba(81, 65, 63, 0.14);
}

.featured-officiant {
  border: 2px solid var(--gold);
}

.officiant-photo {
  height: 430px;
  overflow: hidden;
  background: var(--cream);
}

.officiant-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.officiant-content {
  padding: 30px 28px 32px;
  text-align: center;
}

.officiant-label {
  display: inline-block;
  background: var(--rose-soft);
  color: var(--rose-dark);
  border: 1px solid #e8b5ae;
  border-radius: 50px;
  padding: 8px 14px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 14px;
}

.officiant-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  color: var(--dark-taupe);
  margin-bottom: 4px;
}

.officiant-card h4 {
  color: var(--gold-dark);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 18px;
}

.officiant-card p {
  font-size: 14px;
  margin-bottom: 14px;
  text-align: left;
}

.officiant-card p:last-child {
  margin-bottom: 0;
}

@media(max-width:1080px) {
  .officiants-grid {
    grid-template-columns: 1fr;
  }

  .officiant-photo {
    height: 520px;
  }
}

@media(max-width:700px) {
  .officiants-section {
    padding: 58px 0;
  }

  .officiant-photo {
    height: 420px;
  }

  .officiant-content {
    padding: 26px 22px 28px;
  }
}


/* ADDED GALLERIES */
.photo-highlights-section{padding:70px 0;background:#fff}
.gallery-intro{max-width:830px;margin:-10px auto 28px;text-align:center;font-size:15px}
.highlight-gallery,.photo-gallery-grid,.space-moments-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gallery-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(81,65,63,.06)}
.gallery-card img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center;display:block}
.gallery-card figcaption{padding:14px 16px;font-size:13px;line-height:1.45;text-align:center}
.gallery-actions{text-align:center;margin-top:28px}
.gallery-section{padding-top:0}
.space-moments-wrap{margin-top:46px}
.compact-title{margin-bottom:24px}

@media(max-width:1080px){
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:1fr}
}


/* =========================================================
   PHOTO PRESENTATION UPDATE — larger editorial photography
   Keeps every image edge-to-edge without letterboxing while
   giving portrait wedding photos enough room to breathe.
   ========================================================= */

/* Home hero: restore the strong, oversized lead photograph. */
.hero-grid{
  min-height:760px;
  grid-template-columns:.72fr 1.28fr;
  gap:38px;
}
.hero-photo{
  aspect-ratio:4/3;
  min-height:610px;
}
.hero-photo img{
  object-fit:cover;
  object-position:center center;
}

/* Home private-space feature: one large image + two generous supporting images. */
.private-space-grid{
  grid-template-columns:.72fr 1.58fr;
  gap:28px;
  align-items:start;
}
.space-visual-layout{
  display:grid;
  gap:22px;
  min-width:0;
}
.main-space-photo{
  width:100%;
  aspect-ratio:16/9;
  min-height:0;
}
.main-space-photo img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center 48%;
}
.space-side-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  gap:22px;
}
.space-side-gallery img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.space-side-gallery img.yellow-ceremony-photo{object-position:center 40%}
.space-side-gallery img.outdoor-ceremony-photo{object-position:center 47%}

/* About page: use the portrait source more naturally instead of flattening it. */
.about-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:34px;
}
.about-photo{
  aspect-ratio:4/5;
  max-height:760px;
}
.about-photo img{
  object-position:center 48%;
}

/* Our Space primary image and the three-photo strip: larger portrait framing. */
.space-page-grid{
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
}
.space-page-img{
  aspect-ratio:4/5;
  max-height:780px;
}
.space-page-img img{object-position:center 48%}
.space-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:34px;
}
.space-gallery img,
.space-gallery img.space-photo-full{
  aspect-ratio:4/5;
  height:auto;
  object-fit:cover;
  object-position:center 48%;
}
.space-gallery img:nth-child(1){object-position:center 46%}
.space-gallery img:nth-child(2){object-position:center 50%}
.space-gallery img:nth-child(3){object-position:center 48%}

/* The 4-photo showcases are now 2x2. This lets the photography read as
   wedding photography rather than small thumbnails. */
.highlight-gallery,
.photo-gallery-grid,
.space-moments-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}
.gallery-card{
  border-radius:18px;
}
.gallery-card img{
  width:100%;
  aspect-ratio:4/5;
  height:auto;
  object-fit:cover;
  object-position:center 48%;
}
.gallery-card figcaption{
  padding:16px 20px;
  font-size:14px;
}

/* Fine-tuned focal points for the current real ceremony photos. */
.highlight-gallery .gallery-card:nth-child(1) img{object-position:center 46%}
.highlight-gallery .gallery-card:nth-child(2) img{object-position:center 45%}
.highlight-gallery .gallery-card:nth-child(3) img{object-position:center 48%}
.highlight-gallery .gallery-card:nth-child(4) img{object-position:center 45%}

.photo-gallery-grid .gallery-card:nth-child(1) img{object-position:center 45%}
.photo-gallery-grid .gallery-card:nth-child(2) img{object-position:center 45%}
.photo-gallery-grid .gallery-card:nth-child(3) img{object-position:center 45%}
.photo-gallery-grid .gallery-card:nth-child(4) img{object-position:center 46%}

.space-moments-grid .gallery-card:nth-child(1) img{object-position:center 48%}
.space-moments-grid .gallery-card:nth-child(2) img{object-position:center 46%}
.space-moments-grid .gallery-card:nth-child(3) img{object-position:center 50%}
.space-moments-grid .gallery-card:nth-child(4) img{object-position:center 43%}

@media(max-width:1080px){
  .hero-grid,.private-space-grid,.about-grid,.space-page-grid{grid-template-columns:1fr}
  .hero-photo{min-height:0;aspect-ratio:4/3}
  .space-visual-layout{max-width:900px;margin:0 auto;width:100%}
  .space-side-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-photo,.space-page-img{max-height:none;aspect-ratio:4/5}
}

@media(max-width:700px){
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:1fr}
  .gallery-card img{aspect-ratio:4/5}
  .space-side-gallery{grid-template-columns:1fr}
  .space-side-gallery img{aspect-ratio:4/5}
  .main-space-photo{aspect-ratio:4/3}
}

/* =========================================================
   BALANCED PHOTO SIZING — medium editorial scale
   Keeps the approved Home private-space layout untouched.
   ========================================================= */

/* Home hero: medium scale so the headline keeps its intended composition. */
.hero-grid{
  min-height:680px;
  grid-template-columns:.86fr 1.14fr;
  gap:46px;
  align-items:center;
}
.hero-photo{
  width:100%;
  min-height:0;
  max-height:545px;
  aspect-ratio:4/3;
}
.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}

/* Four-photo sections: return to one clean row on desktop, at a medium size. */
.highlight-gallery,
.photo-gallery-grid,
.space-moments-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.gallery-card{
  border-radius:14px;
}
.gallery-card img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.gallery-card figcaption{
  padding:14px 16px;
  font-size:13px;
}

/* Keep the main subjects comfortably framed in the medium cards. */
.highlight-gallery .gallery-card:nth-child(1) img{object-position:center 50%}
.highlight-gallery .gallery-card:nth-child(2) img{object-position:center 47%}
.highlight-gallery .gallery-card:nth-child(3) img{object-position:center 52%}
.highlight-gallery .gallery-card:nth-child(4) img{object-position:center 45%}

.photo-gallery-grid .gallery-card:nth-child(1) img{object-position:center 45%}
.photo-gallery-grid .gallery-card:nth-child(2) img{object-position:center 34%}
.photo-gallery-grid .gallery-card:nth-child(3) img{object-position:center 38%}
.photo-gallery-grid .gallery-card:nth-child(4) img{object-position:center 36%}

.space-moments-grid .gallery-card:nth-child(1) img{object-position:center 50%}
.space-moments-grid .gallery-card:nth-child(2) img{object-position:center 45%}
.space-moments-grid .gallery-card:nth-child(3) img{object-position:center 50%}
.space-moments-grid .gallery-card:nth-child(4) img{object-position:center 42%}

@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:28px}
  .hero-photo{max-height:none;aspect-ratio:4/3}
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:1fr}
  .gallery-card img{aspect-ratio:4/3}
}

/* =========================================================
   THE EXPERIENCE H2 — LA PERLA BLANCA
   ========================================================= */
.h2-hero{padding:56px 0 70px;background:linear-gradient(135deg,#fffaf4 0%,#f8efe7 52%,#f4e5d6 100%);overflow:hidden}
.h2-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center}
.h2-kicker{color:var(--rose);text-transform:uppercase;letter-spacing:2.4px;font-size:13px;font-weight:800;margin-bottom:10px}
.h2-hero h1{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-size:clamp(48px,5.7vw,78px);line-height:.98;font-weight:500;margin-bottom:14px}
.h2-hero h1 .script{display:block;font-size:clamp(64px,7.3vw,100px);line-height:.92;margin-top:5px}
.h2-tagline{font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--dark-taupe);margin-bottom:18px}
.h2-hero-copy>p:not(.h2-kicker):not(.h2-tagline){font-size:16px;max-width:560px;margin-bottom:26px}
.h2-hero-photo{border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(81,65,63,.17);aspect-ratio:4/3}
.h2-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.h2-section{padding:84px 0;background:#fff}
.h2-section.soft{background:var(--ivory)}
.h2-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.h2-intro-copy h2,.h2-options h2{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1.08;margin:8px 0 18px}
.h2-intro-copy p{margin-bottom:16px}
.h2-front-photo{border-radius:20px;overflow:hidden;box-shadow:0 20px 55px rgba(81,65,63,.12);aspect-ratio:4/3}
.h2-front-photo img{width:100%;height:100%;object-fit:cover}
.h2-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-top:38px}
.h2-gallery figure{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(81,65,63,.08)}
.h2-gallery figure:first-child{grid-row:span 2}
.h2-gallery img{width:100%;height:100%;object-fit:cover}
.h2-gallery figure:first-child img{aspect-ratio:4/3}
.h2-gallery figure:not(:first-child) img{aspect-ratio:16/9}
.h2-gallery figcaption{padding:14px 16px;text-align:center;font-size:13px}
.h2-options{text-align:center}
.h2-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;text-align:left}
.h2-option{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 26px;box-shadow:0 12px 34px rgba(81,65,63,.06)}
.h2-option .icon{font-size:32px;margin-bottom:10px}
.h2-option h3{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-size:23px;margin-bottom:10px}
.h2-option p{font-size:14px}
.h2-note{max-width:830px;margin:28px auto 0;text-align:center;font-size:13px;color:var(--taupe)}
.h2-service-promo{padding:72px 0;background:linear-gradient(120deg,#fffaf4,#f7eee5)}
.h2-promo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.h2-promo-image{border-radius:20px;overflow:hidden;box-shadow:0 20px 55px rgba(81,65,63,.12);aspect-ratio:16/10}
.h2-promo-image img{width:100%;height:100%;object-fit:cover}
.h2-promo-copy h2{font-family:'Playfair Display',Georgia,serif;color:var(--dark-taupe);font-size:44px;font-weight:500;line-height:1.1;margin:8px 0 16px}
.h2-promo-copy h2 .script{font-size:58px}
.h2-promo-copy p{margin-bottom:24px}
.h2-promo-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:1080px){.h2-hero-grid,.h2-intro-grid,.h2-promo-grid{grid-template-columns:1fr}.h2-option-grid{grid-template-columns:1fr 1fr}.h2-gallery{grid-template-columns:1fr 1fr}.h2-gallery figure:first-child{grid-row:auto}}
@media(max-width:700px){.h2-hero{padding-top:36px}.h2-option-grid,.h2-gallery{grid-template-columns:1fr}.h2-gallery figure img,.h2-gallery figure:first-child img,.h2-gallery figure:not(:first-child) img{aspect-ratio:4/3}.h2-promo-actions{display:grid}.h2-hero-copy{text-align:center}.h2-hero-copy>p:not(.h2-kicker):not(.h2-tagline){margin-left:auto;margin-right:auto}}

/* =========================================================
   HOSTGATOR / RESPONSIVE RELEASE — 2026-09-30
   Mobile + tablet hardening without changing approved desktop layout.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img{height:auto}
iframe,video{max-width:100%}
main,section,.container,.header-inner,.hero-grid,.private-space-grid,.about-grid,.space-page-grid,.h2-hero-grid,.h2-intro-grid,.h2-promo-grid{min-width:0}

@media (max-width: 1080px){
  .container{width:min(100% - 36px, 920px)}
  .site-header{position:sticky;top:0}
  .header-inner{grid-template-columns:auto 1fr;justify-items:stretch;gap:10px 16px;padding:10px 0}
  .logo-area{justify-self:start}
  .header-actions{justify-self:end}
  .main-nav{grid-column:1/-1;width:100%}
  .main-nav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;width:100%}
  .main-nav a{display:block;text-align:center;padding:7px 4px;font-size:10px;white-space:normal;line-height:1.25}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:22px;padding:34px 0 44px}
  .hero-content{padding:0;text-align:center;max-width:760px;margin:0 auto}
  .hero-content h2,.hero-description{margin-left:auto;margin-right:auto}
  .hero-buttons{justify-content:center}
  .hero-photo{max-width:900px;margin:0 auto;aspect-ratio:4/3;border-radius:22px}
  .features-grid{grid-template-columns:repeat(3,1fr)}
  .private-space-grid,.about-grid,.space-page-grid,.booking-layout,.cta-content,.cta-grid,.h2-hero-grid,.h2-intro-grid,.h2-promo-grid{grid-template-columns:1fr}
  .space-visual-layout,.about-photo,.space-page-img,.h2-hero-photo,.h2-front-photo,.h2-promo-image{width:100%;max-width:900px;margin-left:auto;margin-right:auto}
  .love-cards-grid,.services-grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reviews-grid,.why-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-step:nth-child(2){border-right:none}
  .highlight-gallery,.photo-gallery-grid,.space-moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h2-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 700px){
  .container{width:min(100% - 28px, 620px)}
  .site-header{position:relative}
  .header-inner{grid-template-columns:1fr;justify-items:center;gap:10px;padding:12px 0}
  .logo-area{justify-self:center}
  .logo-area img{width:92px}
  .header-actions{justify-self:stretch;width:100%;justify-content:center;gap:8px;flex-wrap:wrap}
  .language-switcher{order:1}
  .header-button{order:2;flex:1 1 100%;width:100%;padding:11px 14px}
  .main-nav{order:3;width:100%}
  .main-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
  .main-nav a{font-size:10px;padding:8px 4px;border:1px solid rgba(234,215,198,.65);border-radius:7px;background:rgba(255,255,255,.5)}
  .main-nav a:after{display:none}

  .home-hero{background:linear-gradient(180deg,#fffaf4,#f8efe7)}
  .hero-grid{padding:28px 0 34px}
  .hero-content .brand-line{font-size:23px;margin-bottom:12px}
  .hero-content h1{font-size:clamp(42px,13vw,58px);line-height:1}
  .hero-content h1 span{font-size:clamp(58px,17vw,78px);line-height:.9}
  .hero-content h2{font-size:21px;line-height:1.3}
  .hero-description{font-size:15px}
  .hero-buttons{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .btn{width:100%;padding:13px 16px}
  .hero-photo{aspect-ratio:4/3;border-radius:18px}

  .features-grid,.love-cards-grid,.reviews-grid,.process-grid,.services-grid,.story-grid,.why-grid,.values-grid,.footer-grid,.form-grid,.space-gallery,.highlight-gallery,.photo-gallery-grid,.space-moments-grid,.h2-option-grid,.h2-gallery{grid-template-columns:1fr}
  .feature-item{border-right:none;border-bottom:1px solid var(--border)}
  .feature-item:last-child{border-bottom:none}
  .process-step{border-right:none;border-bottom:1px solid var(--border)}
  .process-step:last-child{border-bottom:none}

  .private-space-section,.reviews-section,.process-section,.all-love-section,.h2-section{padding-top:48px;padding-bottom:48px}
  .space-text-card,.form-card,.info-card,.story-card,.about-card,.space-info-card,.google-form-card{padding:24px 20px}
  .space-text-card h2{font-size:32px}
  .section-title{margin-bottom:28px}
  .section-title h1{font-size:38px}
  .section-title h2{font-size:34px}
  .section-title p,.small-heading,.brand-line{font-size:11px;letter-spacing:1.8px}
  .gallery-intro{font-size:14px;margin-bottom:22px}

  .main-space-photo{aspect-ratio:4/3}
  .space-side-gallery{grid-template-columns:1fr;gap:16px}
  .space-side-gallery img{aspect-ratio:4/3}
  .about-photo,.space-page-img{aspect-ratio:4/5;max-height:none}
  .space-gallery img,.space-gallery img.space-photo-full{aspect-ratio:4/5}
  .gallery-card img{aspect-ratio:4/3}
  .gallery-card figcaption{font-size:12px;padding:12px}
  .welcome-line{font-size:29px}

  .google-form-action-box,.google-form-embed-box{padding:18px 14px}
  .google-form-embed-box iframe{min-height:760px}

  .h2-hero{padding:34px 0 48px}
  .h2-hero-grid{gap:26px}
  .h2-hero-copy{text-align:center}
  .h2-hero h1{font-size:44px}
  .h2-hero h1 .script{font-size:60px}
  .h2-tagline{font-size:20px}
  .h2-hero-photo,.h2-front-photo{aspect-ratio:4/3}
  .h2-gallery figure:first-child{grid-row:auto}
  .h2-gallery figure img,.h2-gallery figure:first-child img,.h2-gallery figure:not(:first-child) img{aspect-ratio:4/3}
  .h2-promo-copy h2{font-size:34px}
  .h2-promo-copy h2 .script{font-size:46px}
}

@media (max-width: 430px){
  .container{width:min(100% - 20px, 410px)}
  .main-nav ul{grid-template-columns:1fr 1fr}
  .main-nav a{font-size:9.5px}
  .hero-content h1{font-size:40px}
  .hero-content h1 span{font-size:58px}
  .hero-content h2{font-size:19px}
  .space-text-card h2{font-size:29px}
  .section-title h1{font-size:34px}
  .section-title h2{font-size:31px}
  .h2-hero h1{font-size:39px}
  .h2-hero h1 .script{font-size:54px}
}
