:root{--night:#160b20;--plum:#2b0e2b;--wine:#641735;--gold:#e9bc6b;--light-gold:#ffe7a6;--cream:#fff6e7;--ink:#4c1830;--green:#13734b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#170a22;color:var(--cream);font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}
button,input{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%}.skip-link{position:absolute;top:-90px;left:10px;z-index:100;padding:12px;background:#fff;color:#231021}.skip-link:focus{top:10px}
.site-header{position:relative;z-index:5;background:#2a092add;border-bottom:1px solid #efc37170;backdrop-filter:blur(12px)}
.header-inner{max-width:1150px;margin:auto;padding:14px clamp(16px,4vw,36px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#ffecb8}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #f5cd80;background:#42152c;font-size:1.6rem}.brand-copy{display:block;font-weight:800;line-height:1.1;letter-spacing:.03em;font-size:.96rem}.brand-copy small{display:block;margin-top:4px;font:600 .63rem/1.1 system-ui,sans-serif;letter-spacing:.12em;color:#e9cfad}
.header-links{display:flex;align-items:center;gap:18px;font:700 .77rem system-ui,sans-serif}.header-links a{text-decoration:none}.header-links a:hover{text-decoration:underline}.header-links .header-wa{border:1px solid #dfb86a;border-radius:999px;padding:12px 17px;background:#075839;color:white}.header-wa:hover{background:#096f47}
.hero-wrap{padding:clamp(12px,2vw,25px) clamp(10px,3vw,32px) 0}
.festival-poster{max-width:1140px;margin:auto;position:relative;min-height:590px;isolation:isolate;overflow:hidden;border:2px solid #d5a55b;border-radius:28px;background:radial-gradient(ellipse at 50% 10%,#702c49 0%,#3b132f 55%,#230b27 100%);box-shadow:0 18px 60px #08020da6,inset 0 0 0 5px #ae763044}
.festival-poster::before{content:"";position:absolute;top:0;left:0;right:0;height:min(49vw,558px);background:url('/assets/approved-landing.webp') center top /100% auto no-repeat;opacity:.8;z-index:-2;-webkit-mask-image:linear-gradient(#000 20%,transparent 97%);mask-image:linear-gradient(#000 20%,transparent 97%)}
.festival-poster::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#210b23ac 0%,#26071fbf 21%,#290c29eb 37%,#310d2beb 62%,#200a20ba 81%,#210b23a8 100%),linear-gradient(0deg,#180918f5 0%,transparent 46%)}
.ornament{position:absolute;pointer-events:none;color:#f4cc82;font-size:2rem;text-shadow:0 0 20px #f6c36d66}.ornament.top-left{top:21px;left:24px}.ornament.top-right{top:21px;right:24px}.ornament.bottom-left{bottom:20px;left:24px}.ornament.bottom-right{bottom:20px;right:24px}
.hero-content{position:relative;z-index:1;max-width:780px;margin:0 auto;padding:75px 16px 78px;text-align:center}
.hero-kicker{font:750 .75rem/1.5 system-ui,sans-serif;color:#f5d58c;letter-spacing:.23em;text-transform:uppercase;margin:0 0 17px}
.hero-title{margin:0;color:#fff1c0;text-shadow:0 3px 0 #9f6029,0 7px 22px #09030cbf;font-size:clamp(3.3rem,10vw,7.9rem);font-weight:900;line-height:.86;letter-spacing:.025em}
.hero-title span{display:block;margin-top:10px;font-size:clamp(2rem,5.4vw,4.15rem);line-height:1.06;white-space:nowrap}
.hero-divider{margin:21px auto 13px;max-width:420px;height:1px;background:linear-gradient(90deg,transparent,#f5cf82,transparent)}
.presenter{margin:0;color:#ffe2ad;font:700 .7rem/1.6 system-ui,sans-serif;letter-spacing:.27em;text-transform:uppercase}
.college-name{margin:8px 0 16px;color:#fff7e6;font-size:clamp(1.15rem,3.35vw,2.05rem);font-weight:700;letter-spacing:.035em;line-height:1.25}
.hero-tagline{color:#f4d48a;font-size:clamp(.84rem,2.1vw,1.13rem);margin:0 0 24px}
.hero-details{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.hero-details span{padding:11px 15px;border:1px solid #ecc26b9c;border-radius:14px;background:#290d2dc9;color:#ffeaba;font:750 clamp(.75rem,2.3vw,1rem)/1.35 system-ui,sans-serif}
.primary-wa,.outline-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;text-align:center;border-radius:14px;padding:15px 26px;font:850 .89rem system-ui,sans-serif;letter-spacing:.02em;transition:transform .15s,box-shadow .15s}
.primary-wa{background:linear-gradient(135deg,#0c8552,#076442);border:2px solid #b5e9be;color:#fff;box-shadow:0 9px 28px #052e248e}.primary-wa:hover{transform:translateY(-2px);box-shadow:0 14px 28px #082a20d1}
.outline-wa{background:#fff6e7;color:#561735;border:2px solid #bc8c46}.outline-wa:hover{background:#ffe5b4}
.hero-paused{display:block;margin:14px auto 0;color:#f5dcb1;font:600 .75rem/1.5 system-ui,sans-serif}
.venue-strip{width:min(1080px,calc(100% - 32px));margin:19px auto 10px;border:1px solid #d9b16a;border-radius:18px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;background:linear-gradient(100deg,#48162f,#602341);box-shadow:0 7px 22px #07020955}
.venue-strip p{margin:0;color:#fff0ce;font:700 .87rem/1.45 system-ui,sans-serif}.venue-strip strong{font:800 1rem Georgia,serif;color:#ffe2a5}.venue-strip a{color:#ffe7ae;font:750 .77rem system-ui,sans-serif;white-space:nowrap}
.section-wrap{max-width:1130px;margin:0 auto;padding:62px clamp(16px,4vw,38px)}
.section-head{text-align:center;max-width:760px;margin:0 auto 30px}.eyebrow{font:800 .75rem/1.4 system-ui,sans-serif;color:#e8b968;letter-spacing:.17em;text-transform:uppercase}.section-head h2{margin:10px 0 10px;color:#ffe8b1;font-size:clamp(2rem,4.7vw,3.4rem);line-height:1.15}.section-head p{color:#edd8cb;font:400 .94rem/1.7 system-ui,sans-serif;margin:0}
.pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pass-card{position:relative;overflow:hidden;text-align:center;border:2px solid #edc77b;background:linear-gradient(160deg,#fffdf4,#fff3de 65%,#f5dfb9);color:#661833;border-radius:24px;padding:23px 25px 28px;box-shadow:0 14px 45px #100611a0,inset 0 0 0 5px #e6bc7460}
.pass-card.selected{border-color:#ffdb91;box-shadow:0 14px 48px #12050cc0,inset 0 0 0 5px #edbf7788}
.pass-card::before,.pass-card::after{position:absolute;content:"❧";font-size:2rem;color:#b89155;top:9px}.pass-card::before{left:15px}.pass-card::after{right:15px;transform:scaleX(-1)}
.pass-art{height:115px;width:132px;margin:0 auto 4px;display:grid;place-items:center;color:#7a082f}.pass-art svg{display:block;height:110px;width:120px;fill:currentColor}
.pass-card h3{margin:0;font-size:2.1rem;color:#79163b}.pass-rule{width:110px;height:2px;background:linear-gradient(90deg,transparent,#c99855,transparent);margin:13px auto 20px}
.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px}.price-columns>div{border:1px solid #e5ca99;padding:11px 4px 13px;border-radius:10px;background:#fff6e6}.price-columns span{display:block;color:#8c5962;font:700 .75rem system-ui,sans-serif}.price-columns strong{display:block;color:#62102f;margin-top:6px;font-size:clamp(1.65rem,3.6vw,2.15rem)}
.pass-people{margin:16px 0;color:#725052;font:.78rem/1.5 system-ui,sans-serif}.pass-card .primary-wa{width:100%;font-size:.82rem;padding:13px 8px}
.pass-card .offer{position:absolute;top:13px;right:13px;background:#6f153b;color:#ffeba9;padding:6px 9px;border-radius:7px;font:800 .66rem system-ui,sans-serif}
.enquiry-panel{max-width:900px;margin:36px auto 0;border:1px solid #e7ba73;border-radius:22px;padding:26px;background:#341629;box-shadow:0 12px 32px #08020b7a}.enquiry-panel h3{margin:0 0 9px;font-size:1.6rem;color:#ffe8b3}.enquiry-panel>p{margin:0 0 18px;color:#e7cbcc;font:.84rem/1.55 system-ui,sans-serif}.enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;color:#ffe9c1;font:700 .8rem system-ui,sans-serif}.field input,.field select{width:100%;background:#fffaf3;border:1px solid #b99170;border-radius:11px;color:#502139;min-height:47px;padding:10px 12px;font:550 .93rem system-ui,sans-serif}.field input:focus,.field select:focus{outline:3px solid #e8b868}.full-row{grid-column:1/-1}.selection-summary{padding:13px 16px;border-radius:11px;border:1px solid #c79c55;color:#ffeaba;background:#22111e;font:750 .85rem/1.5 system-ui,sans-serif}.enquiry-submit{border:0;width:100%;padding:16px 23px}.form-privacy{margin:12px 0 0!important;font-size:.7rem!important;text-align:center}
.highlights{background:linear-gradient(160deg,#2b102d,#1e0a20);border-block:1px solid #b98c4e4d}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.highlight{background:#341932c9;border:1px solid #d5ac6f61;border-radius:18px;padding:23px;text-align:center}.highlight-icon{font-size:2rem}.highlight h3{color:#ffe3a3;margin:12px 0 8px;font-size:1.12rem}.highlight p{margin:0;color:#ddc7c7;font:.78rem/1.6 system-ui,sans-serif}
.contact{max-width:1100px;margin:auto;padding:50px 22px 115px;text-align:center}.contact h2{color:#ffe2a3;font-size:2.2rem;margin:7px}.contact p{font:.87rem/1.7 system-ui,sans-serif;color:#ead8d2}.contact a:not(.primary-wa){color:#ffe5a1}.footer{max-width:1100px;margin:auto;padding:18px 22px 90px;border-top:1px solid #d3a35c4d;color:#dbc0b0;display:flex;justify-content:space-between;gap:12px;font:.7rem system-ui,sans-serif}
.mobile-dock{position:fixed;z-index:12;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 20px));display:flex;gap:7px;border:1px solid #dfb365b3;border-radius:17px;padding:7px;background:#271023ef;box-shadow:0 12px 40px #080309cc;backdrop-filter:blur(14px)}.mobile-dock a{flex:1;min-height:45px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;color:#ffecc4;font:750 .77rem system-ui,sans-serif}.mobile-dock a:last-child{background:#0c7147;border:1px solid #4aa77b}
@media(max-width:700px){.header-links>a:not(.header-wa){display:none}.header-inner{padding:11px 14px}.brand-copy{font-size:.85rem}.brand-copy small{font-size:.55rem}.festival-poster{min-height:610px;border-radius:20px}.hero-content{padding:75px 17px 61px}.hero-title{font-size:clamp(3.05rem,13vw,5.4rem)}.hero-title span{font-size:clamp(1.7rem,7vw,3rem)}.festival-poster::after{background:linear-gradient(90deg,#210a1dae,#280923da 21%,#26071ff2 49%,#2b0d26dc 80%,#210a1db3)}.venue-strip{flex-direction:column;text-align:center;gap:8px;padding:17px 12px}.section-wrap{padding:45px 15px}.pass-grid{gap:12px}.pass-card{padding:18px 10px 18px;border-radius:18px}.pass-art{height:90px}.pass-art svg{height:87px;width:95px}.pass-card h3{font-size:1.55rem}.pass-rule{margin:8px auto 12px}.price-columns{gap:5px}.price-columns>div{padding:10px 2px}.price-columns strong{font-size:clamp(1.08rem,5vw,1.6rem)}.price-columns span{font-size:.62rem}.pass-card .primary-wa{font-size:.68rem;padding:12px 4px}.pass-card .offer{font-size:.49rem;right:4px;top:4px}.enquiry-panel{padding:20px 16px}.enquiry-grid{grid-template-columns:1fr}.full-row{grid-column:1}.highlight-grid{grid-template-columns:1fr}.footer{display:block;text-align:center}.contact{padding-bottom:78px}}
@media(max-width:390px){.brand-mark{width:33px;height:33px}.header-wa{padding:10px!important;font-size:.65rem}.hero-content{padding-top:64px}.hero-title{font-size:2.85rem}.hero-title span{font-size:1.67rem}.pass-card h3{font-size:1.38rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-wa,.outline-wa{transition:none}}
/* NIRMAL 2026 — IVORY / GOLD DEVOTIONAL EDITION
   The original dark-theme declarations above remain as a safe fallback.
   These rules provide the public-facing light treatment. */
:root{
 --night:#fffaf0;
 --plum:#fff8e9;
 --wine:#741c3b;
 --gold:#c28c35;
 --light-gold:#f4d994;
 --cream:#fffaf2;
 --ink:#421a2d;
 --green:#096d45;
}
body{
 background:
  radial-gradient(circle at 0% 10%,#f6ddaf76,transparent 31%),
  radial-gradient(circle at 100% 44%,#f2cc9975,transparent 34%),
  linear-gradient(180deg,#fffdf7 0%,#fff9ed 47%,#fdf0d8 100%);
 color:#461e2f;
}
.site-header{
 background:linear-gradient(90deg,#fffdf7f7,#fff4ddf7);
 border-bottom:2px solid #cda56090;
 box-shadow:0 4px 20px #86613d20;
 backdrop-filter:blur(12px);
}
.brand{color:#751b39}
.brand-mark{
 border:2px solid #c5984c;background:linear-gradient(145deg,#fff3d4,#f0c777);
 box-shadow:0 4px 12px #b6843633;
}
.brand-copy{font-weight:900;letter-spacing:.035em}
.brand-copy small{color:#8e5733}
.header-links a{color:#6e2742}
.header-links .header-wa{
 background:linear-gradient(145deg,#117b50,#075836);
 border:2px solid #d4ac6e;
 box-shadow:0 5px 16px #277b4a3d;
 color:#fff;
}
.hero-wrap{padding-top:clamp(16px,2vw,27px)}
.festival-poster{
 background:
  radial-gradient(ellipse at 50% 0%,#fffdfa 0%,#fff0d1 69%,#f8e3ba 100%);
 border:3px solid #c79544;
 box-shadow:0 14px 45px #986c3b24,inset 0 0 0 6px #fffaf1,inset 0 0 0 9px #dbb677;
 min-height:565px;
}
.festival-poster::before{
 /* The historic poster contains retired student/family and QR prices:
    do not show it again as a background underneath the current information. */
 background:none;
 opacity:0;
}
.festival-poster::after{
 background:
  radial-gradient(circle at 50% 6%,#fffefa 0%,transparent 44%),
  radial-gradient(circle at 92% 73%,#f3d49f77,transparent 36%),
  radial-gradient(circle at 6% 76%,#f6dfb28a,transparent 39%);
}
.festival-poster .ornament{
 color:#a8792d;
 text-shadow:0 1px 3px #fff,0 3px 10px #dbb47555;
 font-size:2.4rem;
}
.hero-content{padding-top:72px;padding-bottom:74px}
.hero-kicker{
 display:inline-block;
 margin-bottom:23px;
 border:1px solid #c49445;
 border-radius:999px;
 padding:10px 20px;
 background:#fff7e2;
 color:#7c2341;
 font-weight:900;
 box-shadow:0 3px 12px #bd91502b;
}
.hero-title{
 color:#7e193c;
 text-shadow:0 2px 0 #f9e3bb,0 6px 16px #bf9c8e65;
 letter-spacing:.012em;
}
.hero-title span{
 color:#6d1836;
 text-shadow:0 2px 0 #f4d9b4;
}
.hero-divider{height:3px;background:linear-gradient(90deg,transparent,#ba853b,#7f213f,#ba853b,transparent)}
.presenter{color:#90612f;font-weight:900}
.college-name{
 display:table;
 margin:13px auto 18px;
 padding:13px clamp(16px,4vw,35px);
 border:2px solid #c39346;
 border-radius:17px;
 background:linear-gradient(135deg,#fff7df,#f5d692 52%,#fff6d9);
 color:#5d1630;
 box-shadow:0 5px 16px #b78b4133,inset 0 0 0 3px #fffaf1ab;
 font-weight:900;
}
.hero-tagline{color:#7a3151;font-weight:700}
.hero-details span{
 background:linear-gradient(135deg,#fffdf7,#ffedc7);
 border:2px solid #c79848;
 color:#631e38;
 box-shadow:0 6px 16px #b7945533;
 font-weight:900;
}
.hero-details span:last-child{
 background:#7d2444;
 color:#fff5dc;
 border-color:#e8bd74;
 box-shadow:0 5px 15px #6f193f3d;
}
.primary-wa{
 background:linear-gradient(135deg,#138955,#07623e);
 border:2px solid #cfac6d;
 color:#fff;
 box-shadow:0 7px 18px #0a714550,0 0 0 3px #fff4dd;
 font-weight:900;
}
.primary-wa:hover,.primary-wa:focus-visible{background:linear-gradient(135deg,#19a269,#07623e);box-shadow:0 11px 25px #05633c69,0 0 0 4px #f1d39c}
.hero-paused{
 display:table;
 margin:20px auto 0;
 border-radius:10px;
 background:#fffaf0cc;
 border:1px solid #d9b06e;
 color:#6b3b39;
 padding:9px 14px;
 font-weight:750;
}
.venue-strip{
 background:linear-gradient(125deg,#fff9e8,#f4d493,#fff5d8);
 border:2px solid #be8742;
 box-shadow:0 7px 19px #94724831;
 margin-top:20px;
 color:#58233a;
}
.venue-strip p,.venue-strip strong,.venue-strip a{color:#62203b}
.venue-strip strong{font-size:1.13rem}
.venue-strip a{border-bottom:1px solid #a46d32;text-decoration:none;font-weight:900}
.section-wrap{padding-top:57px}
.eyebrow{color:#8d3151}
.section-head h2{
 color:#722041;
 font-weight:900;
 text-shadow:0 2px 0 #fff,0 3px 7px #e3bc813e;
}
.section-head p{color:#744e56}
.pass-grid{gap:24px}
.pass-card{
 background:linear-gradient(162deg,#ffffff 0%,#fffaf0 46%,#ffeac7 100%);
 border:3px solid #c89544;
 box-shadow:0 11px 27px #9a683f29,inset 0 0 0 5px #fff,inset 0 0 0 8px #efcf96;
 padding-top:33px;
 padding-bottom:31px;
}
.pass-card.selected{
 border-color:#9f3052;
 box-shadow:0 15px 35px #9b515030,inset 0 0 0 5px #fff,inset 0 0 0 8px #eabf7e;
}
.pass-card::before,.pass-card::after{color:#a9782e}
.pass-art{color:#842341}
.pass-card h3{
 color:#751b3a;
 font-weight:900;
 font-size:clamp(2rem,4vw,2.65rem);
}
.pass-rule{height:3px;background:linear-gradient(90deg,transparent,#b6873e,#7e2245,#b6873e,transparent)}
.price-columns{gap:14px}
.price-columns>div{
 background:#fffdf8;
 border:2px solid #d9ad65;
 border-radius:14px;
 padding:18px 8px;
 box-shadow:0 4px 11px #bf965123;
}
.price-columns span{color:#70374b;font-size:.86rem;font-weight:800}
.price-columns strong{
 color:#861d3e;
 font-size:clamp(2.1rem,4.1vw,2.6rem);
 font-weight:900;
}
.pass-people{color:#654351;font-weight:700}
.pass-card .primary-wa{padding:15px 12px;font-size:.87rem}
.pass-card .offer{
 background:#842242;
 color:#fff2cf;
 border:1px solid #e3b770;
 box-shadow:0 4px 10px #8a244133;
}
.enquiry-panel{
 background:linear-gradient(135deg,#fffdf7,#fff0d5);
 border:2px solid #bd8743;
 box-shadow:0 12px 34px #85604124;
}
.enquiry-panel h3{color:#78213f;font-weight:900}
.enquiry-panel>p{color:#6e4450}
.field{color:#652841;font-weight:800}
.field input,.field select{
 background:#fff;
 border:2px solid #ceb07a;
 color:#52213a;
 box-shadow:0 2px 5px #99704716;
}
.field input:focus,.field select:focus{outline:3px solid #ddad5b;outline-offset:1px}
.selection-summary{
 background:#fff8e6;
 border:2px solid #ce9d51;
 color:#711f3e;
 font-weight:900;
}
.form-privacy{color:#6a4651!important}
.highlights{
 background:linear-gradient(150deg,#fff5e0,#fffaf2 53%,#ffe7c0);
 border-block:2px solid #d8ad6985;
}
.highlights .section-head h2{color:#752140}
.highlight-grid{gap:19px}
.highlight{
 background:#fffdfa;
 border:2px solid #dfb776;
 box-shadow:0 6px 18px #996b3820;
}
.highlight h3{color:#7a2040}
.highlight p{color:#724e55}
.contact{color:#55213b}
.contact h2{color:#711c3b;font-weight:900}
.contact p{color:#67434d}
.contact a:not(.primary-wa){color:#7a2844;font-weight:700}
.footer{color:#765257;border-top:2px solid #d1ab72}
.mobile-dock{
 background:#fff9eaf5;
 border:2px solid #c49a5b;
 box-shadow:0 9px 23px #8b654a3f;
}
.mobile-dock a{color:#68223d;font-weight:900}
.mobile-dock a:last-child{color:#fff;background:#0b7748;border:1px solid #0b7748}
@media(max-width:700px){
 .festival-poster{min-height:620px}
 .festival-poster::after{background:radial-gradient(circle at 50% 5%,#fffdf8,transparent 70%),linear-gradient(160deg,#fff7e8,#f9e7c8)}
 .hero-content{padding:70px 13px 54px}
 .hero-title{font-size:clamp(3rem,13vw,5.4rem)}
 .hero-title span{font-size:clamp(1.6rem,6.7vw,3.1rem)}
 .college-name{font-size:clamp(1.17rem,5vw,1.75rem);padding:12px 17px}
 .hero-kicker{font-size:.62rem;letter-spacing:.12em}
 .pass-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .pass-card{padding:22px 10px 19px}
 .pass-card h3{font-size:1.68rem}
 .price-columns{gap:6px}
 .price-columns>div{padding:10px 3px}
 .price-columns span{font-size:.68rem}
 .price-columns strong{font-size:clamp(1.25rem,5vw,1.8rem)}
 .pass-card .primary-wa{font-size:.7rem;padding:12px 6px}
}
@media(max-width:530px){
 .festival-poster{border-radius:20px}
 .hero-details{display:grid;gap:10px}
 .hero-details span{display:block}
 .pass-grid{grid-template-columns:1fr;gap:19px;max-width:430px;margin:0 auto}
 .pass-card{padding:24px 18px 24px}
 .pass-art{height:93px}.pass-art svg{height:91px}
 .pass-card h3{font-size:2.15rem}
 .price-columns{gap:12px}
 .price-columns>div{padding:15px 5px}
 .price-columns span{font-size:.82rem}
 .price-columns strong{font-size:2.1rem}
 .pass-card .primary-wa{font-size:.85rem;padding:15px 9px}
 .pass-card .offer{font-size:.59rem}
 .venue-strip{margin-top:13px}
}


/* 08 Oct — refined mobile masthead, 2-day prices and group enquiries */
[hidden]{display:none!important}
.site-header .header-inner{
 display:grid;grid-template-columns:minmax(0,1fr) auto;
 align-items:center;gap:16px;min-height:81px;
}
.site-header .brand{
 min-width:0;display:flex;align-items:center;gap:13px;
}
.site-header .brand-mark{
 flex:0 0 43px;width:43px;height:43px;
 display:grid;place-items:center;padding:6px;border-radius:14px;
 background:linear-gradient(135deg,#fffaf0,#f3daa8);
 border:1.5px solid #d0a55d;
 box-shadow:0 2px 8px #a47c452a;
}
.site-header .brand-mark svg{width:100%;height:100%}
.site-header .brand-copy{min-width:0;line-height:1.1;letter-spacing:0}
.site-header .brand-copy strong{
 display:block;font:800 clamp(.99rem,1.8vw,1.34rem)/1.13 Georgia,'Times New Roman',serif;
 letter-spacing:.034em;white-space:nowrap;color:#6c2040;
}
.site-header .brand-copy small{
 display:block;margin-top:5px;
 color:#93603c;font:750 clamp(.55rem,1.05vw,.68rem)/1.2 system-ui,sans-serif;
 letter-spacing:.11em;white-space:nowrap;
}
.site-header .header-links{gap:19px}
.site-header .header-links>a:not(.header-wa){color:#714357;white-space:nowrap}
.site-header .header-links .header-wa{
 min-height:42px;width:auto;min-width:0;max-width:none;
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 border-radius:11px;padding:11px 17px;
 background:linear-gradient(135deg,#0d7b51,#075d3e);border:1px solid #0b714b;
 color:#fff;white-space:nowrap;text-align:center;
 font:800 .78rem/1 system-ui,sans-serif;letter-spacing:.035em;
 box-shadow:0 3px 9px #096a432f;
}
.site-header .header-wa svg{flex:0 0 18px;width:18px;height:18px}
.price-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.price-columns>div{min-width:0;padding:15px 4px}
.price-columns strong{font-size:clamp(1.55rem,2.65vw,2.25rem);white-space:nowrap}
.price-columns span{font-size:clamp(.73rem,1.2vw,.86rem)}
.group-discount{
 display:flex;align-items:center;justify-content:space-between;gap:22px;
 margin:30px auto 0;padding:23px 25px;
 border:2px solid #c69850;border-radius:20px;
 background:linear-gradient(115deg,#fffaf0 0%,#f4ddb2 100%);
 color:#61233c;box-shadow:0 8px 22px #926b3a29;
}
.group-discount-copy{display:flex;align-items:center;gap:15px;min-width:0}
.group-discount-icon{
 display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;
 background:#7d2546;color:#ffe1a1;border-radius:14px;
 font-size:1.6rem;
}
.group-discount h3{margin:0 0 6px;font-size:1.55rem;color:#6b1d3c}
.group-discount p{margin:0;color:#6d4851;font:.84rem/1.5 system-ui,sans-serif}
.group-discount-link{
 flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;min-height:49px;
 border:1px solid #095d3e;border-radius:12px;
 padding:12px 18px;background:#0b704b;color:white;
 box-shadow:0 4px 10px #0a694334;text-decoration:none;
 font:800 .76rem/1.3 system-ui,sans-serif;text-align:center;
}
.group-discount-link:hover,.group-discount-link:focus-visible{background:#085637}
.date-hint{margin:-4px 0 0;color:#f5d590;font:650 .76rem/1.5 system-ui,sans-serif}
@media(max-width:700px){
 .site-header .header-inner{min-height:68px;padding:10px 14px;gap:10px}
 .site-header .brand{gap:9px}
 .site-header .brand-mark{width:36px;height:36px;flex-basis:36px;padding:5px;border-radius:11px}
 .site-header .brand-copy strong{font-size:clamp(.87rem,2.8vw,1.12rem);letter-spacing:.015em}
 .site-header .brand-copy small{font-size:clamp(.54rem,1.6vw,.63rem);letter-spacing:.04em}
 .site-header .header-links .header-wa{min-height:38px;padding:10px 11px;font-size:.7rem;border-radius:10px;gap:5px}
 .site-header .header-wa svg{width:16px;height:16px;flex-basis:16px}
 .price-columns{gap:5px}
 .price-columns>div{padding:11px 2px}
 .price-columns strong{font-size:clamp(1.05rem,3vw,1.45rem)}
 .price-columns span{font-size:.65rem}
 .group-discount{flex-direction:column;align-items:stretch;gap:16px;padding:19px}
 .group-discount h3{font-size:1.4rem}
 .group-discount-link{width:100%}
}
@media(max-width:530px){
 .price-columns{gap:8px}
 .price-columns>div{padding:14px 3px}
 .price-columns strong{font-size:clamp(1.45rem,6.5vw,2.05rem)}
 .price-columns span{font-size:.75rem}
}
@media(max-width:365px){
 .site-header .header-inner{gap:7px;padding-inline:9px}
 .site-header .brand{gap:6px}
 .site-header .brand-mark{width:30px;height:30px;flex-basis:30px;padding:4px}
 .site-header .brand-copy strong{font-size:.82rem}
 .site-header .brand-copy small{font-size:.5rem}
 .site-header .header-links .header-wa{font-size:.61rem;padding:9px 8px}
}

/* Saved enquiry feedback stays visible before WhatsApp handoff. */
.enquiry-save-status{
  margin:13px 0 0;
  padding:12px 16px;
  background:#fff9e7;
  border:1px solid #b89453;
  color:#64223b;
  border-radius:10px;
  font:750 .82rem/1.5 system-ui,sans-serif;
  text-align:center;
}
.enquiry-submit:disabled{
  opacity:.72;
  cursor:wait;
}


/* Two distinct Single/Couple group-special cards.
   No fixed group pricing is displayed until confirmed by the organiser. */
.group-offers{
  margin:38px auto 0;
  max-width:1100px;
  padding:0;
}
.group-offers-heading{text-align:center;margin:0 auto 24px;max-width:660px}
.group-offers-heading h3{
  font:900 clamp(1.85rem,3.7vw,2.7rem)/1.15 Georgia,'Times New Roman',serif;
  color:#752140;margin:8px 0 9px;
}
.group-offers-heading p{
  font:500 .91rem/1.6 system-ui,sans-serif;color:#73515a;margin:0;
}
.group-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.group-offer-card{
  position:relative;display:flex;flex-direction:column;min-width:0;
  padding:27px 26px 26px;overflow:hidden;
  background:linear-gradient(155deg,#fffef9 0%,#fff6e6 56%,#f8e5c4 100%);
  border:2px solid #b98948;border-radius:24px;
  box-shadow:0 11px 27px #946a3c26,inset 0 0 0 5px #fff9f0,inset 0 0 0 7px #edce99;
}
.group-offer-card::before,.group-offer-card::after{
  content:"❧";position:absolute;top:9px;font-size:1.5rem;color:#a27b3e;pointer-events:none;
}
.group-offer-card::before{left:13px}
.group-offer-card::after{right:13px;transform:scaleX(-1)}
.group-offer-top{
  display:flex;align-items:center;justify-content:center;gap:15px;
  min-height:91px;margin:7px 5px 12px;
}
.group-offer-symbol{
  flex:0 0 75px;width:75px;height:75px;display:grid;place-items:center;
  color:#79213f;background:#f9e6c6;border:1px solid #d7b575;border-radius:19px;
}
.group-offer-symbol svg{display:block;width:61px;height:56px;fill:currentColor}
.group-offer-top>div{min-width:0}
.group-offer-eyebrow{
  color:#9c7235;display:block;font:850 .71rem/1.45 system-ui,sans-serif;
  letter-spacing:.075em;text-transform:uppercase;
}
.group-offer-top h4{
  margin:3px 0 0;color:#741d3e;
  font:900 clamp(1.24rem,2.6vw,1.65rem)/1.2 Georgia,'Times New Roman',serif;
}
.group-offer-detail{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:7px;min-height:107px;padding:15px 15px;margin:7px 0 14px;text-align:center;
  border:1.5px solid #d2aa69;border-radius:14px;
  background:linear-gradient(125deg,#fffdf6,#fbe9c8);
}
.group-offer-detail strong{
  display:block;color:#7e2443;
  font:900 1.11rem/1.3 Georgia,'Times New Roman',serif;
}
.group-offer-detail span{color:#77515c;font:550 .8rem/1.5 system-ui,sans-serif}
.group-offer-note{
  color:#785563;text-align:center;
  font:550 .79rem/1.55 system-ui,sans-serif;
  margin:0 4px 20px;flex:1;
}
.group-offer-whatsapp{
  min-height:53px;display:flex;justify-content:center;align-items:center;gap:8px;
  text-decoration:none;text-align:center;color:white;
  border:1.5px solid #be9a63;border-radius:14px;
  background:linear-gradient(105deg,#178958,#09673f);
  box-shadow:0 6px 16px #12694042,0 0 0 3px #f9e7c9;
  font:850 .8rem/1.3 system-ui,sans-serif;letter-spacing:.02em;
}
.group-offer-whatsapp:hover,.group-offer-whatsapp:focus-visible{
  background:linear-gradient(105deg,#0e754b,#075938);box-shadow:0 9px 22px #08623c55,0 0 0 3px #e7c48a;
}
.group-offers-footnote{text-align:center;color:#81616a;font:550 .76rem/1.55 system-ui,sans-serif;margin:16px 0 0}
@media(max-width:700px){
 .group-offers{margin-top:30px}
 .group-offer-grid{gap:13px}
 .group-offer-card{padding:23px 12px 17px;border-radius:18px}
 .group-offer-top{gap:8px;min-height:77px;margin:8px 0}
 .group-offer-symbol{width:51px;height:54px;flex-basis:51px;border-radius:12px}
 .group-offer-symbol svg{height:44px;width:43px}
 .group-offer-eyebrow{font-size:.58rem;letter-spacing:.03em}
 .group-offer-top h4{font-size:clamp(1rem,2.9vw,1.35rem)}
 .group-offer-detail{padding:12px 8px}
 .group-offer-detail strong{font-size:.96rem}
 .group-offer-detail span{font-size:.72rem}
 .group-offer-note{font-size:.71rem}
 .group-offer-whatsapp{font-size:.68rem;min-height:49px;padding:9px 7px}
}
@media(max-width:530px){
 .group-offer-grid{grid-template-columns:1fr;max-width:430px;margin:0 auto;gap:17px}
 .group-offers-heading h3{font-size:2rem}
 .group-offer-card{padding:21px 19px 22px}
 .group-offer-top{justify-content:flex-start;gap:15px;margin:8px 7px}
 .group-offer-symbol{width:67px;height:68px;flex-basis:67px}
 .group-offer-symbol svg{width:54px;height:54px}
 .group-offer-top h4{font-size:1.5rem}
 .group-offer-eyebrow{font-size:.68rem}
 .group-offer-detail{min-height:95px}
 .group-offer-detail strong{font-size:1.1rem}
 .group-offer-detail span{font-size:.79rem}
 .group-offer-note{font-size:.8rem}
 .group-offer-whatsapp{font-size:.8rem;min-height:54px}
}


/* Group enquiries now use the same save-first form as individual passes. */
.group-mode-notice{
 border:1.5px solid #c99e53;border-radius:12px;
 padding:12px 15px;background:#fff8df;color:#6b2540;
 font:800 .84rem/1.55 system-ui,sans-serif;margin:9px 0 15px!important;
}
.group-size-wrap input{font-variant-numeric:tabular-nums}
.group-offer-whatsapp{cursor:pointer}
.group-offer-whatsapp:focus-visible{outline:3px solid #ecc676;outline-offset:3px}
