
/* ==========================================================================
   Vows-inspired palette + type (preview only, 27 Oct 2026)
   Reference: vowsbysiddhusoma.com palette/type feel only. Their maroon #52060F -> her purple #53277E.
   Neutrals: #F8F6F3 off-white, #EEEBE5 warm stone, #FFFFFF, text #5C5959 / #242320 / #000.
   Fonts: Libre Caslon Text (serif) + Karla (sans) - both SIL OFL Google Fonts, self-hosted.
   ========================================================================== */
@font-face{font-family:'Libre Caslon Text';src:url(../fonts/LibreCaslonText-VF.ttf) format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Caslon Text';src:url(../fonts/LibreCaslonText-Italic-VF.ttf) format('truetype');font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:'Karla';src:url(../fonts/Karla-VF.ttf) format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url(../fonts/Karla-Italic-VF.ttf) format('truetype');font-weight:200 800;font-style:italic;font-display:swap}

:root,[data-palette="A"]{
  --v-plum:#53277E;          /* maroon #52060F equivalent: header, headings, buttons, bands */
  --v-plum-hover:#743089;    /* lighter tint for hovers */
  --v-plum-soft:#853DA6;     /* lightest brand purple: small accents only */
  --v-off:#F8F6F3;           /* main background */
  --v-stone:#EEEBE5;         /* warm stone: alt panels, hairlines, text on purple */
  --v-white:#FFFFFF;
  --v-text:#5C5959;          /* body copy */
  --v-dark:#242320;          /* image hairlines, strong text */
  --v-black:#000000;         /* small uppercase links */
  --v-lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='176' height='176' viewBox='0 0 176 176'%3E%3Cg fill='none' stroke='%23E9D29A' stroke-opacity='.045' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate%2824 22%29 rotate%28-14%29'%3E%3Cpath d='M-16-7h8l3-5h10l3 5h8a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-30a2 2 0 0 1-2-2v-14a2 2 0 0 1 2-2z'/%3E%3Ccircle cy='2' r='7.5'/%3E%3Ccircle cy='2' r='5'/%3E%3Ccircle cy='2' r='2.2'/%3E%3Cpath d='M-4-10h8M9-4h4M-14-4h3'/%3E%3Crect x='-3' y='-12' width='6' height='2'/%3E%3C/g%3E%3Cg transform='translate%2880 20%29 rotate%2818%29'%3E%3Crect x='-16' y='-10' width='12' height='22' rx='1.5'/%3E%3Cpath d='M-4-8l12 3v12l-12 3M-1-7.2v16.4M2-6.5v15M5-5.8v13.6'/%3E%3Crect x='8' y='-6' width='5' height='14' rx='1'/%3E%3Ccircle cx='15' cy='1' r='3.5'/%3E%3Ccircle cx='15' cy='1' r='1.5'/%3E%3Cpath d='M-16 12l26 4M-10-10v-3h4'/%3E%3C/g%3E%3Cg transform='translate%28140 28%29 rotate%28-8%29'%3E%3Crect x='-10' y='-16' width='20' height='32' rx='2'/%3E%3Cpath d='M-10-20h20v4M-10-20l3-4h14l3 4'/%3E%3Ccircle cy='-6' r='5.5'/%3E%3Ccircle cy='-6' r='3'/%3E%3Ccircle cy='7' r='6'/%3E%3Ccircle cy='7' r='3.4'/%3E%3Cpath d='M7-12h2M-8 14h3'/%3E%3C/g%3E%3Cg transform='translate%2830 72%29 rotate%2822%29'%3E%3Crect x='-14' y='-9' width='28' height='18' rx='3'/%3E%3Ccircle cx='3' cy='1' r='6'/%3E%3Ccircle cx='3' cy='1' r='3.6'/%3E%3Crect x='-12' y='-6' width='6' height='4' rx='.8'/%3E%3Cpath d='M7-9v-2h5v2M-10 5h3'/%3E%3C/g%3E%3Cg transform='translate%2896 66%29 rotate%28-20%29'%3E%3Crect x='-17' y='-8' width='34' height='17' rx='2'/%3E%3Cpath d='M-17-3h34M-13-8v-3h6v3M8-8v-2h5v2'/%3E%3Ccircle cy='3' r='6.5'/%3E%3Ccircle cy='3' r='4'/%3E%3Crect x='-14' y='-7' width='5' height='3'/%3E%3Crect x='10' y='-7' width='5' height='3'/%3E%3C/g%3E%3Cg transform='translate%28152 92%29 rotate%2812%29'%3E%3Cpath d='M-16-7h8l3-5h10l3 5h8a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-30a2 2 0 0 1-2-2v-14a2 2 0 0 1 2-2z'/%3E%3Ccircle cy='2' r='7.5'/%3E%3Ccircle cy='2' r='5'/%3E%3Ccircle cy='2' r='2.2'/%3E%3Cpath d='M-4-10h8M9-4h4M-14-4h3'/%3E%3Crect x='-3' y='-12' width='6' height='2'/%3E%3C/g%3E%3Cg transform='translate%2820 128%29 rotate%2810%29'%3E%3Crect x='-10' y='-16' width='20' height='32' rx='2'/%3E%3Cpath d='M-10-20h20v4M-10-20l3-4h14l3 4'/%3E%3Ccircle cy='-6' r='5.5'/%3E%3Ccircle cy='-6' r='3'/%3E%3Ccircle cy='7' r='6'/%3E%3Ccircle cy='7' r='3.4'/%3E%3Cpath d='M7-12h2M-8 14h3'/%3E%3C/g%3E%3Cg transform='translate%2874 118%29 rotate%28-24%29'%3E%3Crect x='-16' y='-10' width='12' height='22' rx='1.5'/%3E%3Cpath d='M-4-8l12 3v12l-12 3M-1-7.2v16.4M2-6.5v15M5-5.8v13.6'/%3E%3Crect x='8' y='-6' width='5' height='14' rx='1'/%3E%3Ccircle cx='15' cy='1' r='3.5'/%3E%3Ccircle cx='15' cy='1' r='1.5'/%3E%3Cpath d='M-16 12l26 4M-10-10v-3h4'/%3E%3C/g%3E%3Cg transform='translate%28128 140%29 rotate%28-6%29'%3E%3Crect x='-14' y='-9' width='28' height='18' rx='3'/%3E%3Ccircle cx='3' cy='1' r='6'/%3E%3Ccircle cx='3' cy='1' r='3.6'/%3E%3Crect x='-12' y='-6' width='6' height='4' rx='.8'/%3E%3Cpath d='M7-9v-2h5v2M-10 5h3'/%3E%3C/g%3E%3Cg transform='translate%2850 165%29 rotate%288%29'%3E%3Crect x='-17' y='-8' width='34' height='17' rx='2'/%3E%3Cpath d='M-17-3h34M-13-8v-3h6v3M8-8v-2h5v2'/%3E%3Ccircle cy='3' r='6.5'/%3E%3Ccircle cy='3' r='4'/%3E%3Crect x='-14' y='-7' width='5' height='3'/%3E%3Crect x='10' y='-7' width='5' height='3'/%3E%3C/g%3E%3Cg transform='translate%28108 96%29 rotate%280%29'%3E%3Ccircle r='9'/%3E%3Ccircle r='1.8'/%3E%3Ccircle cx='0' cy='-5' r='2.4'/%3E%3Ccircle cx='4.3' cy='2.5' r='2.4'/%3E%3Ccircle cx='-4.3' cy='2.5' r='2.4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --bg:var(--v-off); --surface:var(--v-white); --card:var(--v-white); --tint:var(--v-stone); --band:var(--v-off); --line:#DEDAD3;
  --primary:var(--v-plum); --primary-d:var(--v-plum-hover); --primary-ink:var(--v-plum); --primary-deep:var(--v-plum); --deep:var(--v-dark);
  --heading:var(--v-plum); --accent:var(--v-plum); --ink:var(--v-dark); --soft:var(--v-text);
  --gold:#C9B98F; --gold-d:#8C7A4E; --gold-l:#E4DCC8; --on-deep:var(--v-stone);
  --night:var(--v-plum); --night-mid:#7A5A96; --night-mist:var(--v-stone); --night-gold:#E4D3A6;
  --p-gold:#E4D3A6; --p-on-gold:var(--v-plum);
  --serif:'Libre Caslon Text',Georgia,serif; --sans:'Karla',Arial,sans-serif;
}

/* ---------- Base type ---------- */
body{background:var(--v-off)!important;color:var(--v-text);font-family:var(--sans);font-size:16px;line-height:1.6;letter-spacing:-.01em;font-weight:400}
h1,h2,h3,h4{font-family:var(--serif)!important;font-weight:400;color:var(--v-plum);letter-spacing:-.01em}
p,li,span,a,button{font-family:inherit}

/* ---------- Header: solid purple bar, white uppercase nav ---------- */
.top{background:var(--v-lattice) 0 0/100px 100px repeat,var(--v-plum)!important;box-shadow:none!important;backdrop-filter:none}
.top .nav a,.top .nav-a{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.top .nav a:hover,.top .nav-a:hover{color:var(--v-stone);text-decoration:underline;text-underline-offset:6px}
.top .phone-top{font-family:var(--sans);font-weight:700;font-size:17px;letter-spacing:.04em;color:#fff}
.top .phone-top .icon{fill:var(--v-stone)}
.mnav a{font-family:var(--sans);font-weight:700;font-size:12px!important;letter-spacing:.06em;color:#fff!important}

/* ---------- Hero: light, clean, photo in a thin dark hairline frame ---------- */
.hero,.hero.kolam-bg,.hero.gold-glow{background:var(--v-off)!important;color:var(--v-text)}
.hero::before,.hero::after{display:none!important}
.hero .kicker{font-family:var(--sans);font-weight:400;font-size:16px;letter-spacing:0;text-transform:uppercase;color:var(--v-black)}
.hero .tagline{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30.5px;line-height:1.3;letter-spacing:-.03em;color:var(--v-plum)}
.hero .tagline em{color:var(--v-plum);font-style:italic}
.hero h1{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;color:var(--v-plum)}
.hero-text>p,.hero .about-more{color:var(--v-text)!important;font-size:16px;line-height:1.6}
.hero-text>p.tagline{color:var(--v-plum)!important;font-size:30.5px;line-height:1.3}
.hero-text>p.kicker{color:var(--v-black)!important;font-size:16px}
.arch-wrap,.arch-sm-wrap{background:var(--v-dark)!important;padding:1px!important;border-radius:0!important;box-shadow:none!important}
.arch-wrap::before,.arch-sm-wrap::before{display:none!important}
.arch,.arch-sm{border-radius:0!important;-webkit-clip-path:none!important;clip-path:none!important;background:var(--v-stone)!important}
.arch .hero-slider,.hero-slider .slide{border-radius:0!important;-webkit-clip-path:none!important;clip-path:none!important}
.hero-slider .slide::before{filter:blur(22px) brightness(.97) saturate(.9)!important;-webkit-filter:blur(22px) brightness(.97) saturate(.9)!important;opacity:.55}
.hero-dots button,.s-dots button{border-color:var(--v-plum)!important;background:transparent}
.hero-dots button[aria-selected="true"],.s-dots button[aria-selected="true"]{background:var(--v-plum)!important;border-color:var(--v-plum)!important}

/* ---------- Buttons: square purple, italic serif label; secondary = underlined uppercase link ---------- */
.btn,.hero .btn{background:var(--v-plum)!important;color:#fff!important;border:1px solid var(--v-plum)!important;border-radius:0!important;box-shadow:none!important;font-family:var(--serif);font-style:italic;font-weight:700;font-size:13.5px;letter-spacing:0;padding:12px 30px;filter:none!important}
.btn:hover,.hero .btn:hover{background:var(--v-plum-hover)!important;border-color:var(--v-plum-hover)!important}
.btn.ghost,.hero .btn.ghost{background:transparent!important;color:var(--v-black)!important;border:0!important;border-bottom:1px solid var(--v-black)!important;padding:12px 2px 4px;font-family:var(--sans);font-style:normal;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.btn.ghost:hover,.hero .btn.ghost:hover{color:var(--v-plum-hover)!important;border-bottom-color:var(--v-plum-hover)!important;background:transparent!important}
.show-all{font:700 12px var(--sans)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--v-black)!important;border-bottom:1px solid var(--v-black)!important}
.show-all:hover{color:var(--v-plum-hover)!important;border-bottom-color:var(--v-plum-hover)!important}

/* ---------- Sections: off-white with white / stone alternates, no glows ---------- */
.sec,.sec.tint,.sec.band,.moments.tint{background:var(--v-off)}
.sec.tint,.moments.tint{background:var(--v-white)!important}
.kolam-bg::before{display:none!important}
.temple-band,.temple-band.thin,.jasmine,.jasmine.light{display:none!important}
.label .orn,.ev-head .orn{display:none!important}
.label h2,.ev-head h2{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;color:var(--v-plum)}
.label p{font-family:var(--sans);font-size:16px;color:var(--v-text)}
.pf-stack-row{border-top:1px solid var(--v-stone)}
.pf-stack-label h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30.5px;line-height:1.3;letter-spacing:-.03em;color:var(--v-plum)}
.pf-stack-label p{font-family:var(--sans);font-size:16px;letter-spacing:0;text-transform:uppercase;color:var(--v-black)}
.pf-grid a{background:transparent!important;box-shadow:none!important}
.moments-frame,.gold-card{background:var(--v-white)!important;border:1px solid var(--v-dark)!important;outline:0!important;box-shadow:none!important;padding:0!important}
.moments-slider{background:var(--v-off)!important}
.video{border:1px solid var(--v-dark)!important;outline:0!important;box-shadow:none!important}
.s-btn{border:1px solid var(--v-dark);background:rgba(248,246,243,.9);color:var(--v-dark)}
.s-btn:hover,.s-btn:focus-visible{background:var(--v-plum);color:#fff}

/* About */
.about-photo{background:transparent!important;border:1px solid var(--v-dark)!important;outline:0!important;box-shadow:none!important;padding:0!important}
.about-lead{font-family:var(--serif)!important;font-style:italic;font-weight:400;font-size:22px!important;line-height:1.6;letter-spacing:-.03em;color:var(--v-plum)}
.about p{font-size:16px;color:var(--v-text)}
.facts li{background:var(--v-white);border:1px solid var(--v-stone);border-radius:0}
.facts b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--v-plum);text-transform:uppercase;letter-spacing:-.01em}
.facts span{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--v-black)}
.about .sig,.sig{color:var(--v-plum)!important}

/* Blog cards / stories */
.story-grid h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30.5px;line-height:1.3;letter-spacing:-.03em;color:var(--v-plum)}
.story-grid p{font-size:16px;color:var(--v-text)}
.story-events{font-family:var(--sans);font-size:12px!important;font-weight:700;letter-spacing:.06em;color:var(--v-black)!important}
.ev-sub{font-family:var(--serif);font-style:italic;color:var(--v-plum);font-size:22px;letter-spacing:-.03em}
.ev-text p{font-size:16px}
.ev-nav a{font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--v-dark);border-radius:0;color:var(--v-black)}
.ev-nav a:hover{background:var(--v-plum);border-color:var(--v-plum);color:#fff}
.blog-hero{background:var(--v-off)!important;color:var(--v-text)}
.blog-hero::before{display:none!important}
.blog-hero .kicker{font-family:var(--sans);font-size:16px;letter-spacing:0;text-transform:uppercase;color:var(--v-black)}
.blog-hero h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30.5px;letter-spacing:-.03em;color:var(--v-plum)}
.blog-hero .lead{color:var(--v-text)!important}
.blog-hero .ev-nav a{color:var(--v-black);border-color:var(--v-dark);background:transparent}
.blog-hero .ev-nav a:hover{background:var(--v-plum);border-color:var(--v-plum);color:#fff}
.photos img{border:1px solid var(--v-dark)}

/* ---------- Contact: full-width purple band (the reference's maroon band) ---------- */
.sec.contact,.sec.contact.tint{background:var(--v-lattice) 0 0/100px 100px repeat,var(--v-plum)!important;color:var(--v-stone)}
.contact .label h2{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:uppercase;font-size:30.5px;letter-spacing:-.03em;color:#fff}
.contact .label p{color:var(--v-stone)}
.contact-card{background:transparent!important;border:1px solid rgba(238,235,229,.45)!important;border-left:1px solid rgba(238,235,229,.45)!important;outline:0!important;box-shadow:none!important}
.c-label{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--v-stone)}
.contact-card .phone-big{font-family:var(--sans);color:#fff!important}
.contact-card .phone-big .icon{fill:var(--v-stone)}
.c-mail a,.contact .maps-link,.contact .c-social a{color:#fff!important}
.contact .maps-link{border-bottom:1px solid #fff;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.contact .icon{fill:#fff!important}

/* ---------- Footer: light like the reference, thin purple base bar ---------- */
.foot{background:var(--v-off)!important;color:var(--v-text)!important;border-top:1px solid var(--v-stone)!important;border-bottom:12px solid var(--v-plum)!important;box-shadow:none!important}
.foot .flogo{background:transparent!important;box-shadow:none!important;padding:0!important}
.foot .big a{font-family:var(--sans);font-weight:700;letter-spacing:.04em;color:var(--v-plum)!important}
.foot a,.foot .fine{color:var(--v-text)!important}
.foot .social a,.foot .maps-link{color:var(--v-black)!important;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.foot .social .icon,.foot .maps-link .icon{fill:var(--v-plum)!important}
.foot .maps-link{border-bottom-color:var(--v-black)!important}
.fnav{border-top:1px solid var(--v-stone)!important}
.fnav a{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--v-black)!important}
.fnav a:hover,.foot a:hover{color:var(--v-plum-hover)!important}
.foot .fine{font-family:var(--sans);font-size:12px;letter-spacing:.02em}

/* Focus / misc */
a:focus-visible,button:focus-visible{outline:2px solid var(--v-plum-hover)!important;outline-offset:3px}
.top a:focus-visible,.contact a:focus-visible{outline-color:#fff!important}
.skip{background:var(--v-plum);color:#fff}

/* ---------- Mobile type (reference scales headings ~0.8x at 390px) ---------- */
@media (max-width:900px){
  .hero{padding:28px 0 44px}
  .hero .tagline,.hero-text>p.tagline,.pf-stack-label h3,.story-grid h3,.blog-hero h1,.contact .label h2{font-size:24.5px}
  .hero h1,.label h2,.ev-head h2{font-size:21.3px}
  .about-lead{font-size:19.5px!important}
  .hero .kicker,.hero-text>p.kicker{font-size:15px;letter-spacing:0}
  .top .phone-top{font-size:16px}
}
.label .num,.ev-head .num,.pf-stack-label .num{color:var(--v-plum-soft)!important;font-family:var(--serif)!important;font-style:normal}
.about-lead{font-style:normal!important;font-size:19px!important;color:var(--v-dark)!important;letter-spacing:-.01em!important}
@media (max-width:900px){.about-lead{font-size:17.5px!important}}

/* ---------- 27 Oct 2026 v2: no blurred fills anywhere; full-width hero; frames sized to the photo ---------- */
.hero-slider .slide::before,.slide::before{content:none!important;display:none!important;background:none!important;filter:none!important;-webkit-filter:none!important}
/* Full-width hero photo, edge to edge at its natural 2000x1304 ratio (never cropped) */
.hero.hero-wide{padding:0 0 64px!important;background:var(--v-off)!important}
.hero-photo{margin:0;width:100%;line-height:0;background:var(--v-off)}
.hero-photo img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.hero-under{text-align:center;max-width:820px;margin:44px auto 0;padding:0 4vw}
.hero-under>p{margin-left:auto;margin-right:auto;max-width:60ch}
.hero-under .cta{justify-content:center;align-items:center}
/* Story / blog-card frames: frame hugs the photo (no fixed ratio, no empty bands) */
.arch-sm{aspect-ratio:auto!important;background:var(--v-off)!important;height:auto!important}
.arch-sm img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important;display:block}
/* Moments reel: flat background, each photo shown whole with its own thin border */
.moments-frame,.gold-card{border:0!important;background:transparent!important}
.moments-slider{background:var(--v-white)!important;height:auto!important;aspect-ratio:3/2}
.moments-slider .slide{display:flex;align-items:center;justify-content:center}
.moments-slider .slide img{width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain!important;border:1px solid var(--v-dark);box-sizing:border-box}
@media (max-width:900px){
  .hero.hero-wide{padding-bottom:44px!important}
  .hero-under{margin-top:28px;text-align:left}
  .hero-under .cta{justify-content:flex-start}
}
.s-btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

