/* Heirloom paper, garden florals and a different palette for every ritual. */
.calendar-section{position:relative;isolation:isolate;padding:95px 32px;background:radial-gradient(ellipse at 15% 35%,#e9e5d750,transparent 55%),#faf5eb;overflow:hidden;border-top:1px solid #c9b48740;border-bottom:1px solid #c9b48740}
.calendar-layout{max-width:1000px;margin:auto;display:grid;grid-template-columns:.95fr 1fr;align-items:center;gap:85px}
.calendar-intro{text-align:center;color:#755c45}.calendar-intro>.eyebrow{font-size:9px;letter-spacing:.22em}.calendar-flourish{font:35px var(--serif);color:#af8d55;margin:15px 0 5px}.calendar-intro h2{font-size:clamp(53px,6vw,75px);line-height:1.04;color:#87394c;margin:12px 0 22px}.calendar-intro>p:not(.eyebrow){font:italic 18px/1.7 var(--serif);color:#8d7b65}.calendar-date-chip{display:flex;flex-direction:column;align-items:center;gap:7px;margin:26px auto 0;padding:20px 12px;border-block:1px solid #c7ac7655;max-width:280px}.calendar-date-chip>span{font-size:8px;letter-spacing:.2em;color:#9b825b}.calendar-date-chip>strong{font:23px var(--serif);color:#465b4b;font-weight:400}.calendar-save{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:30px;background:#853348;color:#fff7e9;padding:12px 24px;margin-top:25px;font-size:11px;min-height:46px;box-shadow:0 5px 14px #7c32451c;transition:transform .2s,background .2s}.calendar-save:hover{transform:translateY(-2px);background:#6d2537}
.calendar-frame{width:100%;max-width:390px;padding:9px;border:1px solid #b89b65;background:#f1ebd9;border-radius:210px 210px 12px 12px;transform:rotate(-1.2deg);box-shadow:0 22px 45px #78633f20,0 3px 0 #d2c3a5;position:relative}
.calendar-paper{border:1px solid #c8b27e;border-radius:200px 200px 7px 7px;background:linear-gradient(90deg,#fffaf0,#fffdf4 50%,#fff9ed);padding:128px 33px 100px;min-height:590px;overflow:hidden;position:relative;isolation:isolate}
.calendar-paper:after{content:'';position:absolute;inset:11px;border:1px solid #d8c59b66;border-radius:195px 195px 2px 2px;pointer-events:none;z-index:-1}
.calendar-bow{position:absolute;top:12px;left:50%;width:126px;height:96px;object-fit:contain;transform:translateX(-50%);z-index:3}.calendar-top-rule{position:absolute;left:28%;right:28%;top:109px;height:1px;background:linear-gradient(90deg,transparent,#b99b61,transparent)}
.calendar-overline{font-size:6.5px;letter-spacing:.15em;color:#a08a64;position:relative;z-index:2}.calendar-paper h3{font:47px/1.1 var(--serif);color:#465c4d;margin:12px 0 6px}.calendar-year{margin-top:11px;font-size:14px;color:#a58f68;gap:13px}.calendar-year>span{background:#c8b27b;width:30px}
.wedding-calendar{margin-top:26px;font:16px/1.2 var(--serif);position:relative;z-index:2}.wedding-calendar th{font-size:9px;color:#988366;height:25px}.wedding-calendar td{height:37px;color:#566454}.wedding-day span{position:relative;isolation:isolate;width:35px;height:35px;border:0;background:transparent;color:#fff9ec;transform:none;box-shadow:none}.wedding-day b{font-weight:400;font-size:17px;position:relative;z-index:1;line-height:1}.date-heart{position:absolute;inset:-1px;width:37px;height:37px;z-index:0;filter:drop-shadow(0 3px 2px #8c233b1f);overflow:visible}.date-heart path{fill:#923c50;stroke:#bf8c74;stroke-width:1}
.calendar-note{font-size:29px;line-height:1.2;margin:27px 0 7px;color:#7c4351;position:relative;z-index:2}.calendar-date-note{font-size:8px;letter-spacing:.22em;margin-top:12px;color:#9d8865}.calendar-corner{position:absolute;width:135px;height:128px;object-fit:contain;bottom:-4px;z-index:1;pointer-events:none}.corner-left{left:-13px}.corner-right{right:-13px;transform:scaleX(-1)}
.celebrations-section{padding:85px 28px 100px;background:radial-gradient(ellipse at 50% 0,#ede7d8,transparent 42%),#fffbf3}
.celebrations-section .section-heading{max-width:520px;margin:auto}.celebrations-section .section-heading h2{font:clamp(45px,6vw,63px)/1.1 var(--script);color:#883b4d;margin:17px 0}.celebrations-section .section-heading>.eyebrow{font-size:8px;letter-spacing:.2em}.celebrations-section .section-heading>p:last-child{font-size:17px;color:#958169}
.event-grid{max-width:980px;margin:45px auto 0;gap:32px;align-items:stretch}
.event-card{--accent:#95702d;--soft:#f4e4be;--line:#c9ab6f;--ink:#715324;position:relative;isolation:isolate;padding:0;border:1px solid #cdb98d;border-radius:110px 110px 16px 16px;background:#fff9eb;overflow:hidden;box-shadow:0 14px 30px #72604413;text-align:center;transition:transform .3s,box-shadow .3s}
.event-mehndi{--accent:#425d48;--soft:#e0e7d5;--line:#a8b58e;--ink:#3d5643;background:#fcfbf2}
.event-sangeet{--accent:#865569;--soft:#eddde4;--line:#c2a3af;--ink:#75475c;background:#fff8f5}
.event-wedding{--accent:#8d3545;--soft:#efd9d3;--line:#c29c88;--ink:#843e47;background:#fff8ee}
.event-card:after{content:'';position:absolute;inset:9px;border:1px solid var(--line);opacity:.45;border-radius:104px 104px 9px 9px;pointer-events:none;z-index:6}
.event-artwork{position:relative;height:155px;background:radial-gradient(ellipse at 50% 20%,#fff9ee80,transparent 75%),var(--soft);border-bottom:1px solid #c7b58a44;overflow:hidden}
.event-artwork:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 6px,#ffffff18 7px 8px);opacity:.6}
.event-number{position:absolute;left:31px;top:47px;color:var(--accent);font:italic 17px var(--serif);opacity:.7}
.event-arch{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);width:145px;height:139px;border:1px solid var(--line);border-radius:85px 85px 0 0;box-shadow:0 0 0 6px #fff9eb44,0 0 0 7px #bfaa7d33}
.ritual-motif{position:absolute;width:81px;height:81px;left:50%;top:44px;transform:translateX(-50%);color:var(--accent)}
.event-floral{position:absolute;width:136px;height:128px;object-fit:contain;bottom:-29px;opacity:.88;pointer-events:none}.floral-left{left:-26px;transform:rotate(12deg)}.floral-right{right:-26px;transform:scaleX(-1) rotate(12deg)}
.event-body{position:relative;padding:27px 35px 29px;z-index:2}.event-body>.eyebrow{font-size:7px;letter-spacing:.16em;color:var(--accent);line-height:1.5}.event-card h3{font:55px/1.1 var(--script);margin:13px 0 12px;color:var(--ink)}.event-body .event-description{font:italic 16px/1.6 var(--serif);color:#87735f;max-width:285px;margin:0 auto;min-height:52px}
.event-palette{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:4px 13px;font:9px var(--sans);letter-spacing:.04em;color:var(--accent);background:var(--soft);margin-top:17px}
.event-information{margin-top:22px;text-align:left;padding:17px 18px;border:1px solid #bda27633;border-radius:11px;background:#fffdf6bb;display:grid;gap:15px}
.event-info-row{display:flex;gap:12px;align-items:flex-start}.event-info-row>svg{width:18px;height:18px;flex-shrink:0;margin-top:4px;color:var(--accent)}.event-label{display:block;font-size:6.5px;letter-spacing:.19em;color:#a08c6c;line-height:1.5}.event-info-row p{font:16px/1.4 var(--serif);color:var(--ink);margin:3px 0}.event-card .event-info-row small{font:10px/1.5 var(--sans);color:#a19178;margin:2px 0 0}
.directions-button{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:12px 16px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff9eb;font-size:12px;margin-top:20px;box-shadow:0 5px 12px #4e382c12}.directions-button>svg{width:17px;height:17px}.directions-button>svg:last-child{margin-left:auto}.directions-button>svg:first-child{margin-right:auto}.directions-button:disabled{cursor:default;opacity:.8}
.venue-pending{font:9px/1.5 var(--sans);color:#9d896c;margin:8px 0 0}.event-body .explore-city{display:inline-flex;align-items:center;gap:12px;font:10px var(--sans);color:var(--accent);border:0;border-bottom:1px solid #bda27655;padding:7px 0;min-height:32px;margin-top:5px}
@media(hover:hover){.event-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #7260441f}}
@media(max-width:760px){.calendar-section{padding:65px 25px 72px}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:36px;max-width:440px}.calendar-intro h2{font-size:57px;margin-bottom:17px}.calendar-intro>p:not(.eyebrow){font-size:16px}.calendar-flourish{margin:10px 0 0;font-size:28px}.calendar-date-chip{margin-top:20px;padding:15px 8px}.calendar-date-chip>strong{font-size:21px}.calendar-save{margin-top:20px}.calendar-frame{max-width:365px;margin:auto}.calendar-paper{padding:120px 29px 96px;min-height:565px}.calendar-paper h3{font-size:43px}.calendar-bow{width:118px;height:90px}.calendar-overline{font-size:6px}.wedding-calendar{font-size:16px}.wedding-calendar td{height:36px}.calendar-note{font-size:27px}.calendar-corner{width:120px;height:115px}.event-grid{grid-template-columns:minmax(0,1fr);max-width:420px;gap:30px}.celebrations-section{padding:65px 23px 75px}.event-body{padding:25px 28px 28px}.event-card h3{font-size:51px}.event-body .event-description{font-size:16px}.event-artwork{height:145px}.ritual-motif{top:38px}.event-arch{height:132px}.event-information{padding:16px}.event-card .event-info-row small{font-size:9px}.event-info-row p{font-size:15px}}
@media(max-width:360px){.calendar-section{padding-inline:21px}.calendar-intro h2{font-size:49px}.calendar-paper{padding:109px 17px 87px;min-height:535px}.calendar-paper h3{font-size:40px}.calendar-bow{width:106px;height:83px}.calendar-top-rule{top:97px}.calendar-note{font-size:24px}.calendar-overline{font-size:5.5px;letter-spacing:.09em}.wedding-calendar{font-size:14px}.wedding-calendar td{height:33px}.date-heart{width:33px;height:33px;inset:0}.wedding-day span{width:33px;height:33px}.wedding-day b{font-size:15px}.calendar-corner{width:110px;height:105px}.celebrations-section{padding-inline:18px}.event-body{padding:24px 22px}.event-card h3{font-size:46px}.event-information{padding:14px}.event-body>.eyebrow{font-size:6px}.event-floral{width:120px;height:114px}.directions-button{font-size:11px}.calendar-date-chip>strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.calendar-frame{transform:none}.event-card,.calendar-save{transition:none}}
@media print{.calendar-section,.celebrations-section{display:none!important}}
