
:root{--maroon:#7f1f2a;--gold:#b9833c;--deep:#5a3424;--cream:#fff7ec;--line:rgba(185,131,60,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;font-family:Georgia,"Times New Roman",serif;color:var(--deep);background:#fff5ea}a{color:inherit;text-decoration:none}
.hero{min-height:100vh;background:linear-gradient(rgba(255,250,242,.12),rgba(255,246,236,.22)),url('../images/landing-page.jpg') center/cover no-repeat;display:grid;place-items:center;padding:22px;position:relative;overflow:hidden}.hero-shell{width:min(1160px,100%);min-height:92vh;position:relative;display:grid;grid-template-columns:minmax(330px,560px) 1fr;align-items:center}.top-nav{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:34px;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--maroon)}.top-nav a:first-child{border-bottom:1px solid var(--maroon);padding-bottom:6px}.hero-content{text-align:center;max-width:560px;margin:auto;padding:64px 28px 34px;background:rgba(255,248,238,.25);border-radius:30px}.ganesha-icon{width:64px;height:64px;object-fit:contain;margin-bottom:18px}.kicker,.invite-line{text-transform:uppercase;letter-spacing:.16em;line-height:1.7;margin:10px 0;color:#7d5a32;font-size:15px}.names{font-family:"Brush Script MT","Segoe Script",cursive;color:var(--maroon);font-weight:400;font-size:clamp(68px,8vw,116px);line-height:.87;margin:25px 0 18px}.names span{font-size:34px;color:#996b2e}.date-block small{display:block;text-transform:uppercase;color:var(--maroon);letter-spacing:.12em}.date-block b{display:flex;align-items:center;justify-content:center;gap:22px;font-weight:400;text-transform:uppercase;color:#8a5b22}.date-block strong{font-size:70px;color:var(--maroon);font-weight:400;line-height:1}.muhurat{text-transform:uppercase;letter-spacing:.09em}.venue{line-height:1.55}.venue b{text-transform:uppercase;color:var(--maroon);letter-spacing:.12em}.hero-button{display:inline-block;margin-top:14px;background:var(--maroon);color:white;padding:14px 28px;border-radius:999px;border:2px solid #c99b58;letter-spacing:.08em;text-transform:uppercase;font-weight:bold;font-size:13px;box-shadow:0 12px 22px rgba(87,26,35,.18)}.couple-photo{align-self:end;justify-self:center;width:min(470px,43vw);max-height:78vh;object-fit:contain;filter:drop-shadow(0 26px 34px rgba(80,40,20,.22));opacity:0;animation:fadeUp 1.6s ease-out .45s forwards}@keyframes fadeUp{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.ceremonies{position:relative;padding:72px 20px;background:linear-gradient(rgba(255,247,236,.92),rgba(255,247,236,.92)),url('../images/landing-page.jpg') center top/cover fixed no-repeat}.section-card{max-width:1120px;margin:auto;background:rgba(255,250,244,.9);border:1px solid var(--line);border-radius:32px;padding:42px clamp(18px,4vw,54px);box-shadow:0 22px 60px rgba(80,45,20,.1)}.section-title{text-align:center;margin-bottom:34px}.ornament{color:var(--gold);font-size:34px}.section-title h2{font-size:clamp(36px,5vw,60px);letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);font-weight:400;margin:4px 0 12px}.section-title p{text-transform:uppercase;letter-spacing:.08em;line-height:1.6}.subtitle{font-size:14px;color:#8a5b22}.program-time{color:var(--maroon);font-weight:bold;letter-spacing:.08em}.short{color:#8a5b22}.desc{line-height:1.62}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.program-card{text-align:center;padding:20px 16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,241,229,.8));box-shadow:0 10px 22px rgba(80,45,20,.06)}.icon-frame{width:112px;height:112px;margin:0 auto 12px;display:grid;place-items:center;background:#fff8ef;border:1px solid var(--line);border-radius:42% 58% 52% 48%;box-shadow:inset 0 0 0 6px rgba(255,250,240,.8)}.icon-frame img{width:90px;height:90px;object-fit:contain}.program-card h3{color:var(--maroon);font-size:21px;margin:8px 0 3px}.program-card .desc{font-size:14px;text-align:left;margin-top:12px;display:none}.program-card:hover .desc{display:block}
.ceremony-list{display:grid;gap:0}.ceremony-row{display:grid;grid-template-columns:120px 250px 1fr;gap:24px;align-items:center;padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.64);border-radius:4px;margin-bottom:12px}.row-icon{width:96px;height:96px;display:grid;place-items:center;background:#fff8ef;border:1px solid var(--line);border-radius:28px}.row-icon img{width:78px;height:78px;object-fit:contain}.row-heading h3{font-size:24px;color:var(--maroon);margin:7px 0 3px}.row-heading p,.ceremony-row .desc{margin:0}.footer{text-align:center;padding:46px 18px 64px;color:var(--maroon);font-family:"Brush Script MT","Segoe Script",cursive;font-size:38px;background:#fff5ea}[contenteditable="true"]{outline:none}[contenteditable="true"]:focus{box-shadow:0 0 0 3px rgba(185,131,60,.25);border-radius:8px}
@media(max-width:900px){.hero-shell{grid-template-columns:1fr}.hero-content{background:rgba(255,248,238,.58);padding-top:76px}.couple-photo{width:min(350px,72vw);margin-top:-20px}.program-grid{grid-template-columns:repeat(2,1fr)}.ceremony-row{grid-template-columns:96px 1fr}.ceremony-row .desc{grid-column:1/-1}.top-nav{top:10px}}
@media(max-width:560px){.hero{padding:10px;background-position:center top}.hero-content{padding:72px 12px 18px}.kicker,.invite-line{font-size:11px;letter-spacing:.11em}.names{font-size:clamp(56px,19vw,84px)}.date-block b{gap:12px}.date-block strong{font-size:54px}.venue,.muhurat{font-size:13px}.couple-photo{width:min(300px,78vw)}.program-grid{grid-template-columns:1fr}.section-card{border-radius:22px;padding:28px 14px}.section-title h2{letter-spacing:.1em}.ceremony-row{grid-template-columns:1fr;text-align:center;gap:10px;border-radius:18px}.row-icon{margin:auto}.program-card .desc{display:block;font-size:14px}.top-nav{font-size:12px;gap:20px}}


/* Mobile alignment correction - prevents ceremony cards from drifting outside the viewport */
.ceremony-list,
.ceremony-row { width: 100%; max-width: 100%; }

@media(max-width:560px){
  .ceremonies{padding:34px 10px;background-attachment:scroll;background-position:center top;}
  .section-card{width:100%;max-width:100%;margin:0 auto;padding:26px 12px;border-radius:20px;overflow:hidden;}
  .section-title{margin-bottom:24px;}
  .section-title h2{font-size:clamp(34px,11vw,46px);letter-spacing:.08em;line-height:1.12;overflow-wrap:anywhere;}
  .section-title p{font-size:14px;letter-spacing:.06em;line-height:1.7;padding:0 4px;}
  .subtitle{font-size:12px;}
  .ceremony-list{display:block;}
  .ceremony-row{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:100%;margin:0 0 16px 0;padding:20px 14px;border-radius:18px;overflow:hidden;}
  .row-icon{margin:0 auto 8px auto;flex:0 0 auto;}
  .row-heading{width:100%;max-width:100%;}
  .row-heading h3{font-size:30px;line-height:1.15;margin:8px 0 4px;}
  .row-heading p,.ceremony-row .desc{width:100%;max-width:100%;overflow-wrap:break-word;word-break:normal;}
  .ceremony-row .desc{grid-column:auto;font-size:22px;line-height:1.55;margin-top:8px;padding:0 4px;}
}

@media(max-width:390px){
  .section-card{padding-left:10px;padding-right:10px;}
  .ceremony-row{padding-left:10px;padding-right:10px;}
  .section-title h2{font-size:38px;letter-spacing:.06em;}
  .ceremony-row .desc{font-size:20px;}
}
