:root{--bg:#080808;--gold:#c6a566;--cream:#f4eee3;--muted:#b6afa4;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.header{position:fixed;z-index:20;inset:0 0 auto;background:linear-gradient(#080808e8,transparent);transition:.25s}.header.scrolled{background:#080808ed;backdrop-filter:blur(12px);border-bottom:1px solid #c6a56633}.nav{min-height:132px;display:flex;align-items:center;justify-content:space-between}.brand{height:132px;width:190px;display:flex;align-items:center}.brand img{height:132px;width:auto;max-width:190px;object-fit:contain}.links{display:flex;gap:25px;align-items:center;font-size:10px;letter-spacing:.17em;text-transform:uppercase}.links a:hover,.active{color:var(--gold)}.whatsapp-link{border:1px solid #6c9b63;padding:10px 13px}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:clamp(560px,calc(100svh - 88px),760px);display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#07100b}.hero:after,.pagehero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.34) 52%,rgba(0,0,0,.18));z-index:0}.hero-rotator{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.pagehero{position:relative;min-height:clamp(470px,62svh,620px);padding:190px 0 75px;overflow:hidden;background:#07100b}.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25));z-index:0}.pagehero-events:before,.pagehero-hospitality:before{display:none}.place-feature:before{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/32807880/pexels-photo-32807880.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}.hero .content{padding:150px 0 70px;position:relative;z-index:2}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.3em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.03em;margin:0}h1{font-size:clamp(55px,8vw,108px);max-width:900px;margin:20px 0}h2{font-size:clamp(40px,5vw,66px)}h3{font-size:24px}.gold{color:var(--gold)}.lead{max-width:680px;color:#ddd5c8;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;border:1px solid var(--gold);padding:13px 18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;transition:.25s;background:transparent}.btn.primary{background:var(--gold);color:#080808}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.55;cursor:wait;transform:none}.dark-btn{border-color:#111;color:#111}.section{padding:105px 0}.cream{background:var(--cream);color:#15130f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:70px}.copy{color:#756e64}.darkcopy{color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;margin-top:60px}.card{min-height:420px;padding:40px;display:flex;align-items:flex-end;position:relative;overflow:hidden;border:1px solid #c6a56622}.card:before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transition:.7s}.event-card:before{background-image:linear-gradient(0deg,#000d,#0002),url("https://images.pexels.com/photos/33328742/pexels-photo-33328742.jpeg?auto=compress&cs=tinysrgb&w=2200")}.hospitality-card:before{background-image:linear-gradient(0deg,#000d,#0002),url("https://images.pexels.com/photos/30769149/pexels-photo-30769149.jpeg?auto=compress&cs=tinysrgb&w=2200");filter:saturate(.9)}.card:hover:before{transform:scale(1.035)}.card>div{position:relative}.card p{color:#d0c9bd;max-width:470px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#0002;margin-top:50px}.events-services{grid-template-columns:repeat(3,1fr)}.service{background:#faf7f0;padding:28px;min-height:190px;transition:.3s}.service:hover{transform:translateY(-4px)}.service h3{margin:18px 0 8px}.service p{font-size:13px;color:#756e64}.num{color:#9a783c;font-size:11px}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#c6a56633;margin-top:50px}.step{padding:25px;background:#10100f;min-height:180px}.cream .step{background:#f8f2e8}.step strong{font:28px Georgia;color:var(--gold)}.step h3{font-size:21px;margin:15px 0 8px}.step p{font-size:12px;color:#aaa398}.pagehero .container{position:relative;z-index:2}.place-feature{min-height:430px;position:relative;display:flex;align-items:flex-end;padding:40px;overflow:hidden}.place-feature>div{position:relative;z-index:1}.place-feature:before{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/32807880/pexels-photo-32807880.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}.event-photo:before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/16120259/pexels-photo-16120259.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}.hospitality-photo:before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/29023410/pexels-photo-29023410.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}.feature-heading{color:#fff;max-width:720px}.place-feature p{color:#ddd5c8}.section--flush-top{padding-top:0}.wedding-section{background:#0d0d0c}.wedding-intro{margin-top:35px}.slider{position:relative;margin-top:48px;overflow:hidden;background:#11110f;border:1px solid #c6a5661c;border-radius:0}.slider-track{display:flex;align-items:stretch;transition:transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform}.slide{flex:0 0 100%;margin:0;position:relative;height:clamp(260px,38vw,520px);overflow:hidden;background:#151513;display:flex;align-items:center;justify-content:center}.slide img{width:100%;height:100%;display:block;object-fit:contain;background:#151513}.slide figcaption{position:absolute;left:24px;bottom:22px;color:#fff;font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 12px #000}.slider-control{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #ffffff80;background:#08080899;color:#fff;border-radius:50%;cursor:pointer;font-size:18px;backdrop-filter:blur(6px)}.slider-control:hover{border-color:var(--gold);color:var(--gold)}.slider-control.prev{left:16px}.slider-control.next{right:16px}.slider-dots{position:absolute;z-index:2;left:50%;bottom:15px;transform:translateX(-50%);display:flex;gap:7px}.slider-dots button{width:7px;height:7px;padding:0;border:1px solid #fff;background:transparent;border-radius:50%;cursor:pointer}.slider-dots button[aria-current=true]{background:var(--gold);border-color:var(--gold)}.wedding-note{margin-top:24px;color:#d5ccbe;font-size:13px;letter-spacing:.05em}.events-gallery .slide,.hospitality-slider .slide{height:clamp(260px,38vw,520px)}.contact-section{padding:105px 0;background:#0a0a09;border-top:1px solid #c6a56622}.contact-grid{margin-top:36px;align-items:start}.contact-direct{display:grid;gap:10px;margin-top:28px;color:#d7d0c4;font-size:14px}.contact-direct a:hover{color:var(--gold)}.contact-form{display:grid;gap:15px;background:#11110f;border:1px solid #c6a5662d;padding:28px}.contact-form label{display:grid;gap:7px;color:#cfc6b7;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #c6a5663b;background:#080808;color:#f4eee3;padding:13px 14px;font:14px Arial;outline:none;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form input:invalid:not(:placeholder-shown),.contact-form textarea:invalid:not(:placeholder-shown),.contact-form select:invalid{border-color:#8c5a55}.contact-form textarea{min-height:125px}.form-submit,.whatsapp-btn{width:100%;text-align:center;cursor:pointer}.whatsapp-btn{border-color:#6c9b63;color:#dcebd8}.honeypot{position:absolute;left:-9999px;opacity:0}.form-status{font-size:12px;color:#aaa398;margin:0;min-height:18px}.cta{padding:95px 0;background:linear-gradient(135deg,#b8904d,#dec78f);color:#090807}.cta p{max-width:650px;color:#302718}.foot{display:flex;justify-content:space-between;gap:30px}.foot img{height:100px;width:auto}.foot a:hover{color:var(--gold)}footer{padding:50px 0 25px;background:#050505;color:#aaa398;font-size:11px}.reveal{opacity:0;transform:translateY(16px);transition:.7s}.reveal.show{opacity:1;transform:none}.thankyou{min-height:100svh;display:flex;align-items:center;padding:40px 0;background:radial-gradient(circle at 70% 20%,#2b251b,#080808 55%)}.thankyou h1{margin:20px 0;font-size:clamp(64px,10vw,120px)}.thankyou p{font-size:18px;color:#cfc6b7;max-width:560px}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.slider-track{transition:none}html{scroll-behavior:auto}}
@media(max-width:850px){.container{width:calc(100% - 30px)}.nav{min-height:92px}.brand,.brand img{height:92px}.links{display:none;position:absolute;top:92px;left:15px;right:15px;background:#090909;padding:24px;flex-direction:column;align-items:flex-start;min-height:calc(100svh - 92px)}.links.open{display:flex}.menu{display:block}.hero{min-height:100svh}.hero .content{padding-top:125px;padding-bottom:45px}.grid2,.cards{grid-template-columns:1fr}.services,.events-services{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.pagehero{padding-top:180px}.slide{height:clamp(250px,58vw,440px)}.hospitality-slider .slide{height:clamp(250px,58vw,440px)}.contact-grid{gap:40px}.place-feature{min-height:360px;padding:32px}}
@media(max-width:520px){
  .events-page-title{font-size:clamp(32px,9.8vw,40px);max-width:100%;letter-spacing:-.02em;}
}

@media(max-width:520px){h1{font-size:52px}.container{width:calc(100% - 28px)}.brand,.brand img{height:76px;max-width:132px}.nav{height:76px;min-height:76px}.links{top:76px;min-height:calc(100svh - 76px);padding:34px 28px}.hero .content{padding-top:105px;padding-bottom:40px}.hero h1{font-size:clamp(43px,12.5vw,54px)}.lead{font-size:14px}.actions{display:grid;grid-template-columns:1fr;width:100%}.btn{text-align:center;width:100%}.card{min-height:350px;padding:24px}.services,.events-services,.process{grid-template-columns:1fr}.slide{height:clamp(220px,66vw,340px)}.hospitality-slider .slide{height:clamp(220px,66vw,340px)}.foot{display:block}.foot img{margin-bottom:20px}.place-feature{min-height:310px;padding:28px}}


/* Refined luxury motion — subtle, layout-safe and disabled for reduced-motion users. */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.025) 48%,transparent 55%);transform:translateX(-120%);animation:luxurySweep 2.2s ease-out .35s 1 forwards}
@keyframes luxurySweep{to{transform:translateX(120%)}}
.hero-slide img{transform:scale(1.035);transition:transform 7s cubic-bezier(.22,.61,.36,1),filter 1.2s ease}.hero-slide.is-active img{transform:scale(1);}
.hero .content,.pagehero .container{animation:heroContentIn 1.1s cubic-bezier(.22,.61,.36,1) both}.eyebrow{animation:eyebrowIn .9s ease both}
@keyframes heroContentIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes eyebrowIn{from{opacity:0;letter-spacing:.42em}to{opacity:1;letter-spacing:.3em}}
.card,.service,.step{transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .45s ease,box-shadow .45s ease}.card:hover,.service:hover,.step:hover{box-shadow:0 18px 45px rgba(0,0,0,.12)}
.slide img{transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .8s ease}.slide:hover img{transform:scale(1.018)}
.slider{box-shadow:0 16px 50px rgba(0,0,0,.16)}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;bottom:0;width:35%;left:-50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .8s ease}.btn:hover:after{left:120%}
@media(prefers-reduced-motion:reduce){body:before{display:none}.hero-slide img,.slide img{transform:none!important;transition:none}.hero .content,.pagehero .container,.eyebrow{animation:none}.btn:after{display:none}}

/* Image reliability and banner polish */
.hero-slide img,
.slide img{background:#171713}
.hero-slide img{object-position:center}
.pagehero .hero-slide img{object-position:center}
@media(max-width:850px){
  .hero-slide img{object-position:center}
}

.event-photo:before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/16120259/pexels-photo-16120259.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}
.hospitality-photo:before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)),url("https://images.pexels.com/photos/29023410/pexels-photo-29023410.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover no-repeat}
.image-failed{visibility:hidden}


/* v22 mobile refinement: preserve the existing visual language while preventing
   clipped navigation, oversized mobile gaps and horizontal overflow. */
@media(max-width:850px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .header{width:100%}
  .nav{width:100%;padding:0 15px}
  .brand{width:auto;flex:0 0 auto}
  .menu{flex:0 0 auto;padding:8px 0;line-height:1}
  .links{left:0;right:0;top:92px;width:100%;margin:0;border-top:1px solid #c6a56622;padding:28px 30px;min-height:calc(100svh - 92px);overflow-y:auto;overscroll-behavior:contain}
  .links a{max-width:100%;}
  .hero{min-height:clamp(650px,100svh,820px)}
  .hero .content{padding-top:115px;padding-bottom:52px}
  .pagehero{min-height:clamp(470px,64svh,620px);padding-top:150px;padding-bottom:55px}
  .section{padding:82px 0}
  .section--flush-top{padding-top:0}
  .wedding-section{padding-top:72px}
  .wedding-intro{gap:34px}
  .slider{margin-top:36px}
  .slide{height:clamp(250px,72vw,380px)}
  .slide img{object-fit:cover}
  .slide figcaption{left:18px;bottom:18px;max-width:75%}
  .slider-control{width:42px;height:42px}
  .slider-control.prev{left:12px}.slider-control.next{right:12px}
  .wedding-note{line-height:1.55}
  .place-feature{min-height:320px}
}
@media(max-width:520px){
  .nav{padding:0 14px}
  .brand,.brand img{height:76px;max-width:132px}
  .links{top:76px;min-height:calc(100svh - 76px);padding:30px 24px 40px}
  .links a{font-size:11px}
  .hero{min-height:760px}
  .hero .content{padding-top:105px;padding-bottom:44px}
  .hero h1{font-size:clamp(43px,12.5vw,54px)}
  .lead{font-size:14px;line-height:1.55}
  .section{padding:72px 0}
  .wedding-section{padding-top:62px}
  .wedding-intro{margin-top:28px}
  .slider{margin-top:30px}
  .slide{height:clamp(245px,72vw,330px)}
  .slide img{object-fit:cover}
  .slide figcaption{font-size:9px;letter-spacing:.12em}
}
/* Requested client-only updates */
.home-minimal .header{background:#f4eee3;color:#111;border-bottom:1px solid #1111;}
.home-minimal .header.scrolled{background:#f4eee3;backdrop-filter:blur(12px);border-bottom:1px solid #1112;}
.home-minimal .nav{min-height:82px;}
.home-minimal .brand{height:82px;width:150px;}
.home-minimal .brand img{height:70px;width:auto;max-width:150px;object-fit:contain;}
.home-minimal .links{color:#111;}
.home-minimal .links a:hover,.home-minimal .links .active{color:#8d6c31;}
.home-minimal .whatsapp-link{border-color:#6c9b63;}
.home-minimal .menu{color:#111;}
.home-minimal .home-hero{min-height:clamp(500px,72svh,680px);}
.home-minimal .home-hero .content{padding:125px 0 55px;}
.home-minimal .home-hero h1{font-size:clamp(44px,6vw,82px);margin:16px 0;}
.home-minimal .home-hero .lead{max-width:650px;font-size:16px;margin:7px 0;}
.home-minimal .home-contact{padding:75px 0 85px;}
.home-minimal .home-contact .contact-grid{grid-template-columns:1fr;}
.home-minimal .home-contact .contact-direct{margin-top:22px;}
.about-company{margin-top:65px;padding-top:55px;border-top:1px solid #c6a56633;}
.about-company h2{margin-top:20px;}
.about-company-copy{margin-top:30px;}
.about-company-copy p{color:#756e64;}
.about-tagline{margin-top:28px;color:#756e64;}
@media(max-width:850px){
  .home-minimal .nav{min-height:76px;}
  .home-minimal .brand,.home-minimal .brand img{height:76px;}
  .home-minimal .brand{width:135px;}
  .home-minimal .brand img{max-width:135px;}
  .home-minimal .links{top:76px;}
  .home-minimal .home-hero{min-height:calc(100svh - 76px);}
  .home-minimal .home-hero .content{padding-top:110px;padding-bottom:38px;}
  .about-company{margin-top:45px;padding-top:40px;}
}
@media(max-width:850px){.home-minimal .links{background:#f4eee3;color:#111;}}

/* Client-requested consistency and banner refinement */
.header{background:#f4eee3;color:#111;border-bottom:1px solid #1111;}
.header.scrolled{background:#f4eee3;color:#111;backdrop-filter:blur(12px);border-bottom:1px solid #1112;}
.nav{min-height:82px;}
.brand{height:82px;width:150px;}
.brand img{height:70px;width:auto;max-width:150px;object-fit:contain;}
.links{color:#111;}
.links a:hover,.links .active{color:#8d6c31;}
.menu{color:#111;}
.whatsapp-link{border-color:#6c9b63;}
.foot img{height:100px;width:auto;}
footer{background:#f4eee3;color:#625d55;border-top:1px solid #1111;}
.foot a{color:#625d55;}
.home-about .copy p{color:#756e64;}
.home-contact .contact-grid{grid-template-columns:1fr 1fr;}

/* Keep the tall Christian wedding photograph fully visible while the banner
   remains filled by a soft, darkened version of the same image behind it. */
.hero-slide-bride{background:#17130f;}
.hero-slide-bride:before{content:"";position:absolute;inset:-18px;background-image:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.48)),url("../assets/images/event-christian-wedding.jpeg");background-size:cover;background-position:center;filter:blur(12px);transform:scale(1.06);z-index:0;}
.hero-slide-bride img{position:relative;z-index:1;object-fit:contain!important;background:transparent!important;}
.home-minimal .home-hero .hero-slide-bride img{object-position:center;}

@media(max-width:850px){
  .nav{min-height:76px;}
  .brand,.brand img{height:76px;}
  .brand{width:135px;}
  .brand img{max-width:135px;}
  .links{top:76px;background:#f4eee3;color:#111;}
  .home-contact .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .brand,.brand img{height:76px;max-width:132px;}
  .nav{height:76px;min-height:76px;}
  .links{top:76px;background:#f4eee3;color:#111;}
}

/* Final senior-design pass: preserve the client photograph and keep the home hero
   composed like a premium editorial banner at every breakpoint. */
.home-minimal .home-hero{
  min-height:clamp(540px,68svh,680px);
}
.home-minimal .home-hero .hero-slide-bride{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  background:#17130f;
}
.home-minimal .home-hero .hero-slide-bride:before{
  filter:blur(16px);
  opacity:.82;
}
.home-minimal .home-hero .hero-slide-bride img{
  width:auto;
  height:100%;
  max-width:58%;
  object-fit:contain!important;
  object-position:center;
  margin-right:5%;
  background:transparent!important;
}
.home-minimal .home-hero:after{
  background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.52) 38%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.24) 100%);
}
.home-minimal .home-hero .content{
  max-width:760px;
}
.home-minimal .home-contact .contact-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:70px;
}
.home-minimal .home-contact .contact-form{
  width:100%;
  min-width:0;
}
@media(max-width:850px){
  .home-minimal .home-hero{
    min-height:clamp(650px,calc(100svh - 76px),820px);
  }
  .home-minimal .home-hero .hero-slide-bride{
    justify-content:center;
  }
  .home-minimal .home-hero .hero-slide-bride img{
    max-width:76%;
    margin-right:0;
  }
  .home-minimal .home-hero:after{
    background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.78) 72%,rgba(0,0,0,.88));
  }
  .home-minimal .home-contact .contact-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}
@media(max-width:520px){
  .home-minimal .home-hero{
    min-height:760px;
  }
  .home-minimal .home-hero .hero-slide-bride img{
    max-width:82%;
    align-self:flex-start;
    height:62%;
    margin-top:78px;
  }
  .home-minimal .home-hero .content{
    padding-top:300px;
  }
}


/* FINAL HOME HERO — match the Events page banner composition.
   The first client photograph is displayed as the actual hero image:
   no blur, no image filter, no artificial background image and no containment.
*/
.home-minimal .home-hero{
  min-height:clamp(470px,62svh,620px);
  height:clamp(470px,62svh,620px);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.home-minimal .home-hero .hero-rotator{
  position:absolute;
  inset:0;
  z-index:0;
}
.home-minimal .home-hero .hero-slide-bride{
  position:absolute;
  inset:0;
  display:block;
  background:none;
}
.home-minimal .home-hero .hero-slide-bride:before{
  display:none !important;
  content:none !important;
}
.home-minimal .home-hero .hero-slide-bride img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  display:block;
  object-fit:cover !important;
  object-position:center center;
  margin:0;
  filter:none !important;
  background:none !important;
}
/* Same readable editorial treatment used by the Events page — applied over
   the banner, never baked into the photograph itself. */
.home-minimal .home-hero:after{
  background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.34) 52%,rgba(0,0,0,.18));
}
.home-minimal .home-hero .content{
  position:relative;
  z-index:2;
  width:min(calc(100% - 48px),var(--max));
  max-width:none;
  margin:0 auto;
  padding:0;
  align-self:center;
}
.home-minimal .home-hero .eyebrow{margin-bottom:14px;}
.home-minimal .home-hero h1{
  font-size:clamp(55px,8vw,108px);
  max-width:900px;
  margin:20px 0;
}
.home-minimal .home-hero .lead{
  max-width:680px;
  font-size:17px;
  line-height:1.55;
  margin:7px 0;
}
.home-minimal .home-hero .actions{margin-top:30px;}

@media(max-width:850px){
  .home-minimal .home-hero{
    height:auto;
    min-height:clamp(620px,calc(100svh - 76px),760px);
  }
  .home-minimal .home-hero .hero-slide-bride img{
    object-fit:cover !important;
    object-position:center center;
  }
  .home-minimal .home-hero:after{
    background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.24) 38%,rgba(0,0,0,.72) 68%,rgba(0,0,0,.92));
  }
  .home-minimal .home-hero .content{
    width:calc(100% - 30px);
    padding:56svh 0 42px;
  }
  .home-minimal .home-hero h1{font-size:clamp(44px,11vw,68px);}
  .home-minimal .home-hero .lead{font-size:14px;}
}
@media(max-width:520px){
  .home-minimal .home-hero{min-height:760px;}
  .home-minimal .home-hero .content{
    width:calc(100% - 28px);
    padding-top:450px;
    padding-bottom:32px;
  }
  .home-minimal .home-hero h1{
    font-size:clamp(40px,11.8vw,54px);
    margin-bottom:14px;
  }
  .home-minimal .home-hero .actions{margin-top:22px;}
}


/* FINAL HOME HERO ALIGNMENT — mirror the Events page hero geometry exactly.
   The client wedding photograph remains the first slide and is not filtered.
*/
.home-minimal .home-hero{
  position:relative;
  min-height:clamp(470px,62svh,620px);
  height:auto;
  padding:190px 0 75px;
  display:block;
  align-items:initial;
  overflow:hidden;
  background:#07100b;
}
.home-minimal .home-hero .hero-rotator{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.home-minimal .home-hero .hero-slide{
  position:absolute;
  inset:0;
  margin:0;
}
.home-minimal .home-hero .hero-slide-bride img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  display:block;
  object-fit:cover !important;
  object-position:center center;
  margin:0;
  filter:none !important;
  background:none !important;
}
.home-minimal .home-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.34) 52%,rgba(0,0,0,.18));
  z-index:1;
}
.home-minimal .home-hero .content{
  position:relative;
  z-index:2;
  width:calc(100% - 48px);
  max-width:var(--max);
  margin:0 auto;
  padding:0;
  align-self:initial;
}
.home-minimal .home-hero .eyebrow{
  margin:0 0 14px;
}
.home-minimal .home-hero h1{
  font-size:clamp(55px,8vw,108px);
  max-width:1200px;
  margin:20px 0;
  line-height:1.04;
}
.home-minimal .home-hero .lead{
  max-width:680px;
  font-size:17px;
  line-height:1.55;
  margin:7px 0;
}
.home-minimal .home-hero .actions{
  margin-top:30px;
}

@media(max-width:850px){
  .home-minimal .home-hero{
    min-height:clamp(470px,64svh,620px);
    height:auto;
    padding:150px 0 55px;
  }
  .home-minimal .home-hero .content{
    width:calc(100% - 30px);
    padding:0;
  }
  .home-minimal .home-hero .hero-slide-bride img{
    object-fit:cover !important;
    object-position:center center;
  }
  .home-minimal .home-hero:after{
    background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.24) 38%,rgba(0,0,0,.72) 68%,rgba(0,0,0,.92));
  }
  .home-minimal .home-hero h1{
    font-size:clamp(44px,11vw,68px);
    max-width:900px;
  }
  .home-minimal .home-hero .lead{
    font-size:14px;
  }
}
@media(max-width:520px){
  .home-minimal .home-hero{
    min-height:470px;
    padding:125px 0 45px;
  }
  .home-minimal .home-hero .content{
    width:calc(100% - 28px);
    padding:0;
  }
  .home-minimal .home-hero h1{
    font-size:clamp(40px,11.8vw,54px);
    margin:20px 0 14px;
  }
  .home-minimal .home-hero .actions{
    margin-top:22px;
  }
}


/* Events title: prevent the long location name from overflowing on small screens. */
.events-page-title{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;}
@media(max-width:850px){
  .events-page-title{font-size:clamp(31px,8.8vw,40px);line-height:1.02;max-width:100%;}
}
@media(max-width:520px){
  .events-page-title{font-size:clamp(27px,7.8vw,33px);line-height:1.04;letter-spacing:-.03em;overflow-wrap:anywhere;}
}

/* Co-founder editorial section — inspired by the supplied reference layout. */
.cofounder-section{padding-top:92px;padding-bottom:92px;}
.cofounder-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#faf7f0;min-height:500px;overflow:hidden;}
.cofounder-image{min-height:500px;background:#e8e0d4;overflow:hidden;}
.cofounder-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 32%;}
.cofounder-content{padding:74px 72px;display:flex;flex-direction:column;justify-content:center;color:#15130f;}
.cofounder-content .eyebrow{color:#9a783c;}
.cofounder-rule{display:block;width:62px;height:1px;background:#9a783c;margin:26px 0 36px;}
.cofounder-content h2{font-size:clamp(44px,5vw,70px);color:#19353a;margin:0 0 28px;}
.cofounder-content p{max-width:610px;color:#4f4a43;font-size:17px;line-height:1.85;margin:0;}
@media(max-width:850px){
  .cofounder-section{padding-top:72px;padding-bottom:72px;}
  .cofounder-card{grid-template-columns:1fr;}
  .cofounder-image{min-height:420px;max-height:520px;}
  .cofounder-content{padding:48px 34px 58px;}
  .cofounder-content h2{font-size:clamp(42px,11vw,58px);}
}
@media(max-width:520px){
  .cofounder-image{min-height:390px;}
  .cofounder-content{padding:42px 24px 48px;}
  .cofounder-content p{font-size:15px;line-height:1.75;}
  .cofounder-rule{margin:22px 0 28px;}
}


/* Final co-founder image framing refinement */
.cofounder-section .cofounder-card{min-height:660px;}
.cofounder-section .cofounder-image{min-height:660px;}
.cofounder-section .cofounder-image img{object-position:center 52%;}
.cofounder-section .cofounder-content{padding:76px 72px;}
@media (max-width:850px){
  .cofounder-section .cofounder-card{min-height:0;}
  .cofounder-section .cofounder-image{min-height:560px;max-height:none;}
  .cofounder-section .cofounder-content{padding:52px 34px 62px;}
}
@media (max-width:520px){
  .cofounder-section .cofounder-image{min-height:500px;}
  .cofounder-section .cofounder-content{padding:44px 24px 52px;}
}


/* Final co-founder height refinement: compact editorial proportion while keeping head + camera visible. */
.cofounder-section .cofounder-card{
  min-height:610px;
}
.cofounder-section .cofounder-image{
  min-height:610px;
  max-height:610px;
}
.cofounder-section .cofounder-image img{
  object-position:center 58%;
}
@media (max-width:850px){
  .cofounder-section .cofounder-image{
    min-height:500px;
    max-height:500px;
  }
}
@media (max-width:520px){
  .cofounder-section .cofounder-image{
    min-height:460px;
    max-height:460px;
  }
}

/* Home hero: keep the Christian wedding slide unchanged; reposition only the
   traditional Hindu/Kerala wedding portrait so both faces remain visible. */
.hero-slide img[src*="home-wedding-portrait.jpeg"]{
  object-position:center 20% !important;
}


/* Events page banner — keep the uploaded portrait faces visible without changing other pages. */
.pagehero-events .hero-slide:nth-child(1) img {
    object-position: center 50%;
}
.pagehero-events .hero-slide:nth-child(2) img {
    /* Show the upper portion of the bride portrait so the top of her head is not cropped. */
    object-position: center top !important;
}
.pagehero-events .hero-slide:nth-child(3) img {
    object-position: center 32%;
}


/* Final requested mobile events fixes — scoped to Events page only. */
@media(max-width:520px){
  /* Keep the first content heading close enough to the banner to be visible
     without an unnecessary extra scroll, while preserving the desktop layout. */
  .pagehero-events{
    min-height:clamp(430px,55svh,500px);
    padding-top:135px;
    padding-bottom:40px;
  }
  .pagehero-events + .section{
    padding-top:46px;
  }

  /* Preserve faces in the Story slider on narrow screens. Portrait photographs
     are framed higher instead of being cropped through the face by object-fit:cover. */
  .events-gallery .slide img[src*="event-story-01"],
  .events-gallery .slide img[src*="event-story-02"],
  .events-gallery .slide img[src*="event-story-03"],
  .events-gallery .slide img[src*="event-story-05"],
  .events-gallery .slide img[src*="event-story-06"],
  .events-gallery .slide img[src*="event-christian-wedding"],
  .events-gallery .slide img[src*="event-couple-fire"],
  .events-gallery .slide img[src*="event-forest-couple"],
  .events-gallery .slide img[src*="wedding-02"],
  .events-gallery .slide img[src*="wedding-03"]{
    object-position:center 24%;
  }
}

/* Final Events Story slider framing: show every photograph in full on every device.
   Scoped only to the Events page gallery so the rest of the site is unchanged. */
.events-gallery .slide {
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #151513;
}
.events-gallery .slide img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
  background: #151513;
}

/* Portrait photographs need enough vertical room on narrow screens while remaining
   fully visible; contain prevents faces and other important details being cropped. */
@media (max-width: 850px) {
  .events-gallery .slide {
    aspect-ratio: 4 / 3;
  }
  .events-gallery .slide img {
    object-fit: contain !important;
  }
}
@media (max-width: 520px) {
  .events-gallery .slide {
    aspect-ratio: 4 / 3;
  }
  .events-gallery .slide img {
    object-fit: contain !important;
    object-position: center center !important;
  }
}


/* Final Events story slider loop + responsive image framing. */
.events-gallery .slider-track{transition:transform 1s cubic-bezier(.22,.61,.36,1);}
.events-gallery .slide{background:#151513;}
.events-gallery .slide img{object-fit:contain;object-position:center center;}
@media(max-width:850px){
  .events-gallery .slide{height:auto;min-height:300px;aspect-ratio:16/10;}
  .events-gallery .slide img{object-fit:contain;object-position:center center;}
}
@media(max-width:520px){
  .events-gallery .slide{height:auto;min-height:0;aspect-ratio:4/3;}
  .events-gallery .slide img{object-fit:contain;object-position:center center;}
}

/* Final Events story slider framing: preserve the complete photo on every viewport. */
.events-gallery .slide {
  height: clamp(260px, 38vw, 520px);
  background: #151513;
}
.events-gallery .slide img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}
@media (max-width: 850px) {
  .events-gallery .slide {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 520px) {
  .events-gallery .slide {
    aspect-ratio: 4 / 3;
  }
}


/* Contact details: compact, scannable and touch-friendly. */
.contact-direct{gap:14px;}
.contact-item{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;}
.contact-item svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.contact-phone-grid,.footer-phone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;align-items:center;}
.contact-direct .contact-phone-grid{margin:1px 0;}
.whatsapp-contact{color:#6c9b63;}
.footer-contact{display:flex;flex-direction:column;gap:10px;min-width:min(100%,520px);}
.footer-service{margin-bottom:1px;}
.footer-contact .contact-item{font-size:11px;}
.footer-contact .contact-item:hover{color:var(--gold);}
@media(max-width:850px){
  .contact-phone-grid,.footer-phone-grid{grid-template-columns:1fr 1fr;gap:12px 18px;}
  .foot{align-items:flex-start;}
  .footer-contact{min-width:0;width:100%;}
}
@media(max-width:520px){
  .contact-phone-grid,.footer-phone-grid{grid-template-columns:1fr;gap:10px;}
  .contact-item{white-space:nowrap;}
  .footer-contact{gap:9px;}
}


/* === v24 Senior Contact Layout Refinement ===
   Keeps all existing design intact while presenting the three contact numbers
   as one clean horizontal contact rail on desktop and a touch-scroll rail on
   narrow screens. */
.contact-phone-grid,
.footer-phone-grid{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:0;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 0 4px;
}
.contact-phone-grid::-webkit-scrollbar,
.footer-phone-grid::-webkit-scrollbar{display:none;}

.contact-phone-grid .contact-item,
.footer-phone-grid .contact-item{
  flex:0 0 auto;
  white-space:nowrap;
  min-width:max-content;
  padding-right:22px;
  position:relative;
}
.contact-phone-grid .contact-item:not(:last-child)::after,
.footer-phone-grid .contact-item:not(:last-child)::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:1px;
  height:16px;
  transform:translateY(-50%);
  background:#c6a56638;
}
.contact-phone-grid .contact-item svg,
.footer-phone-grid .contact-item svg{
  width:15px;
  height:15px;
  flex-basis:15px;
  opacity:.82;
}
.contact-direct .contact-phone-grid{
  margin:2px 0 0;
}
.footer-contact .footer-phone-grid{
  margin:0;
}
@media(max-width:850px){
  .contact-phone-grid .contact-item,
  .footer-phone-grid .contact-item{
    padding-right:18px;
  }
  .contact-phone-grid .contact-item:not(:last-child)::after,
  .footer-phone-grid .contact-item:not(:last-child)::after{
    right:8px;
  }
}
@media(max-width:520px){
  .contact-phone-grid,
  .footer-phone-grid{
    width:calc(100vw - 48px);
    max-width:100%;
    padding-bottom:5px;
  }
  .contact-phone-grid .contact-item,
  .footer-phone-grid .contact-item{
    padding-right:18px;
  }
  .contact-phone-grid .contact-item:not(:last-child)::after,
  .footer-phone-grid .contact-item:not(:last-child)::after{
    right:8px;
    height:14px;
  }
}


/* v25 — Mobile contact numbers: fully visible, no hidden horizontal scrolling.
   Desktop keeps the premium single-row treatment; mobile uses three compact
   columns so every number is immediately visible without requiring a swipe. */
.contact-phone-grid,
.footer-phone-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px 18px !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  padding:2px 0 4px !important;
  scrollbar-width:auto !important;
}
.contact-phone-grid .contact-item,
.footer-phone-grid .contact-item{
  min-width:0 !important;
  width:100% !important;
  flex:none !important;
  padding-right:0 !important;
  white-space:nowrap !important;
  justify-content:flex-start;
}
.contact-phone-grid .contact-item:not(:last-child)::after,
.footer-phone-grid .contact-item:not(:last-child)::after{
  right:-9px !important;
  height:18px !important;
}
@media(max-width:520px){
  .contact-phone-grid,
  .footer-phone-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px 7px !important;
  }
  .contact-phone-grid .contact-item,
  .footer-phone-grid .contact-item{
    gap:5px !important;
    font-size:11px !important;
    letter-spacing:-0.01em;
  }
  .contact-phone-grid .contact-item svg,
  .footer-phone-grid .contact-item svg{
    width:14px !important;
    height:14px !important;
    flex-basis:14px !important;
  }
  .contact-phone-grid .contact-item:not(:last-child)::after,
  .footer-phone-grid .contact-item:not(:last-child)::after{
    right:-4px !important;
    height:14px !important;
  }
}


/* v26 — Contact location: directly below the phone row, clearly visible and
   aligned with the other contact details. */
.contact-direct .contact-location{
  margin-top:2px;
  white-space:nowrap;
}
.contact-direct .contact-location svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
}
.contact-direct .whatsapp-contact{
  margin-top:0;
}
@media(max-width:520px){
  .contact-direct .contact-location{
    white-space:normal;
    align-items:flex-start;
    line-height:1.45;
  }
  .contact-direct .contact-location svg{
    margin-top:2px;
  }
}
