@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');
:root{--green:#113d30;--pink:#db3b76;--ivory:#f8f5ec;--blush:#f8e4e9;--line:#d5dcd4;--muted:#56665e;--sans:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ivory);color:var(--green);font:1rem/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:110px}.host{text-decoration:none;font-weight:700;letter-spacing:.2em;font-size:1.1rem;line-height:1.3}.host span{display:block;font-size:.75rem;letter-spacing:.12em;margin-top:8px}.masthead nav{display:flex;gap:30px;font-size:.9rem}.masthead nav a{text-decoration:none}.masthead nav a:hover{color:var(--pink)}.nav-cta{font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--green);padding:8px 0}.nav-cta span{margin-left:20px}.hero{overflow:hidden}.hero-art{display:block;width:100%;height:auto}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:var(--ivory);padding:30px 40px}.hero-bottom p{font-size:1.7rem;line-height:1.35;margin:0}.hero-bottom em{font-family:var(--serif);font-weight:500}.hero-bottom>div{display:flex;align-items:center;gap:26px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:15px 24px;border:1px solid transparent;border-radius:0;font-size:.94rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,transform .18s;line-height:1.4}.button:hover{transform:translateY(-2px)}.pink{background:var(--pink);color:white}.pink:hover{background:#bd2860}.dark{background:var(--green);color:white}.dark:hover{background:#1d5947}.outline{border-color:var(--green);color:var(--green);background:transparent}.outline:hover{background:var(--green);color:white}.text-link{font-size:.9rem;display:inline-block;font-weight:500}.section-label{font-size:.8rem;letter-spacing:.17em;font-weight:700;display:block;margin-bottom:34px}h2{font-family:var(--display);font-size:clamp(2.8rem,4.1vw,4.1rem);line-height:1.03;letter-spacing:-.015em;font-weight:700;margin:0 0 28px}h2 em{font-family:var(--serif);font-weight:500;font-size:.83em;line-height:1.2;letter-spacing:-.04em}h3,p{margin-top:0}p{margin-bottom:20px}.day{padding:90px 0}.day-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro{max-width:490px;color:var(--muted);font-size:1.05rem}.pink-note{color:#af2456;font-family:var(--serif);font-size:1.35rem}.day-details{border-top:1px solid var(--green)}.date-row{display:flex;align-items:center;gap:28px;padding:16px 0;border-bottom:1px solid var(--line)}.big-date{font-family:var(--display);font-size:5.7rem;line-height:1.1;color:var(--pink)}.eyebrow{font-size:.76rem;letter-spacing:.11em;font-weight:700;display:block}.date-row strong{display:block;font-size:1.45rem;font-weight:600}.detail-row{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.detail-number{font-size:.76rem;font-weight:700;letter-spacing:.1em;color:var(--muted);padding-top:4px}.detail-row h3{font-size:1.12rem;margin-bottom:5px}.detail-row p{margin-bottom:0}.detail-row .text-link{margin-top:12px}.packages{background:#eef0e9;padding:80px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);font-size:.95rem;margin:0 0 6px}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.package{padding:34px 38px;display:flex;flex-direction:column}.play{background:var(--blush)}.sponsor{background:var(--green);color:var(--ivory)}.package-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.package-index{opacity:.6;font-family:var(--serif);font-style:italic}.package h3{font:700 3.3rem/1.1 var(--display);margin:20px 0 4px;text-transform:uppercase}.price{font:800 clamp(4rem,7vw,6rem)/1.05 var(--display);color:var(--pink);letter-spacing:-.035em}.price>span{font-size:.65em;vertical-align:top;line-height:1.5}.price-caption{font-size:.8rem;font-weight:600;letter-spacing:.08em;margin:10px 0 22px}.package ul{border-top:1px solid currentColor;list-style:none;margin:0 0 30px;padding:23px 0 0;flex:1;font-size:.98rem}.package li{margin-bottom:13px;position:relative;padding-left:24px}.package li:before{content:'✓';color:var(--pink);position:absolute;left:0}.package .button{width:100%}.combined{border:1px solid #91a397;padding:30px;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;margin-top:24px}.combined h3{font:600 1.6rem/1.3 var(--display);margin:7px 0}.combined h3 em{font-family:var(--serif);font-weight:500}.combined p{margin:0;color:var(--muted);font-size:.9rem}.combined-price strong{font:700 2.8rem/1.1 var(--display);display:block}.combined-price>span{font-size:.75rem}.booking-status{text-align:center;font-size:.88rem;color:var(--muted);margin:24px 0 0}.fundraising{padding:90px 0}.fundraising-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.fundraising p{max-width:470px;color:var(--muted)}.prize-list>div{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:22px 0}.prize-list>div:first-child{border-top:1px solid var(--line)}.prize-list span{color:var(--pink);font-size:.85rem}.prize-list h3{font:600 1.9rem/1.2 var(--display);margin:0}.flyer-section{border-top:1px solid var(--line);padding:65px 0 85px;display:grid;grid-template-columns:300px 1fr;gap:100px;align-items:center}.flyer-preview{display:block;box-shadow:0 12px 30px #113d3018}.flyer-preview img{width:100%;height:auto;display:block}.flyer-section p{max-width:470px;color:var(--muted)}.enquiries{background:var(--green);color:var(--ivory);padding:80px 0}.enquiries h2{font-size:clamp(3.4rem,6vw,5.5rem)}.enquiries h2 em{color:#fa82ac}.enquiries-note{color:#c4d1c8}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #6b8877;margin-top:40px;padding-top:30px}.contacts h3{font:600 1.8rem/1.2 var(--display);margin-bottom:8px}.contacts p{font-size:.78rem;letter-spacing:.12em;color:#b9cdbf;margin-bottom:15px}.contacts a{display:block;width:fit-content;text-decoration:none;margin:5px 0;font-size:1.05rem;overflow-wrap:anywhere}.contacts a:hover{text-decoration:underline}footer{padding-top:28px;padding-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.8rem}footer p{margin:0;font-weight:700;letter-spacing:.03em}footer p span{display:block;font-size:.75rem;font-weight:400;margin-top:4px}footer>a{text-decoration:none;display:flex;align-items:center;gap:14px}.runestone{letter-spacing:.25em;font-family:Georgia,serif}footer em{font-family:Georgia,serif}dialog{width:min(550px,calc(100% - 32px));border:0;background:var(--ivory);color:var(--green);padding:40px;max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#05251dcc;backdrop-filter:blur(4px)}.close-dialog{position:absolute;top:10px;right:12px;width:44px;height:44px;background:none;border:0;color:var(--green);font-size:2rem;cursor:pointer}dialog h2{font-size:2.7rem;margin:18px 0}.dialog-price{font:700 3.5rem/1.1 var(--display);color:var(--pink);margin:0}.dialog-tax{font-size:.8rem;margin-top:8px;color:var(--muted)}#dialog-inclusions{padding-left:20px;font-size:.97rem}#dialog-inclusions li{margin-bottom:9px}.checkout-area{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.checkout-area p{font-size:.93rem}.checkout-area .button{width:100%;justify-content:center}.contact-ricky{display:block;text-align:center;margin-top:16px}#terms-line{margin:18px 0;font-size:.85rem}.skip{position:fixed;top:-100px;left:12px;background:var(--green);color:white;padding:12px;z-index:50}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1600px){.wrap{max-width:1360px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.masthead nav{gap:18px}.nav-cta{display:none}.hero-bottom{padding:25px}.hero-bottom>div{flex-direction:column;gap:12px;align-items:flex-start}.day-layout,.fundraising-grid{gap:45px}.combined{grid-template-columns:1fr auto}.combined .button{grid-column:1/-1;justify-content:center}.flyer-section{gap:60px;grid-template-columns:250px 1fr}.package{padding:28px}.section-heading{align-items:flex-start}.section-heading p br{display:none}}
@media(max-width:640px){html{scroll-padding-top:1rem}.wrap{width:calc(100% - 32px)}.masthead{min-height:90px;gap:12px}.host{font-size:.85rem;letter-spacing:.12em}.host span{font-size:.65rem;max-width:170px;line-height:1.5}.masthead nav{gap:14px;font-size:.82rem}.masthead nav a:first-child{display:none}.hero-bottom{padding:25px 22px;display:block}.hero-bottom p{font-size:1.55rem;margin-bottom:22px}.hero-bottom>div{align-items:stretch}.hero-bottom .text-link{text-align:center}.day{padding:52px 0}.section-label{margin-bottom:25px}.day-layout,.fundraising-grid{grid-template-columns:1fr;gap:25px}.day h2{font-size:3rem}.intro{font-size:1rem}.detail-row{grid-template-columns:68px 1fr}.packages{padding:50px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h2{margin-bottom:20px}.package-grid{grid-template-columns:1fr;gap:18px}.package{padding:28px 25px}.package h3{font-size:3.1rem}.price{font-size:5.2rem}.combined{padding:24px;grid-template-columns:1fr;gap:20px}.combined-price{display:flex;gap:14px;align-items:center}.combined .button{grid-column:auto}.combined h3{font-size:1.7rem}.fundraising{padding:54px 0}.flyer-section{grid-template-columns:1fr;gap:32px;padding:45px 0 55px}.flyer-preview{max-width:300px;width:100%;margin:0 auto}.flyer-section .section-label{margin-bottom:20px}.flyer-section .button{width:100%;justify-content:center}.enquiries{padding:50px 0}.enquiries h2{font-size:3.5rem}.contacts{grid-template-columns:1fr;gap:30px}.contacts>div+div{border-top:1px solid #6b8877;padding-top:28px}footer{align-items:flex-start;flex-direction:column}dialog{padding:32px 24px}h2{font-size:3rem}.section-label{font-size:.77rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Runestone XP signature seal lockup */
footer .curator{gap:22px;align-items:center;flex-shrink:0;flex-wrap:wrap;max-width:100%}footer .curator-copy{display:flex;flex-direction:column;gap:8px}footer .curator-copy em{font-size:.95rem}footer .curator-copy .runestone{font-size:1rem;letter-spacing:.2em}.curator-seal{display:block;width:112px;height:112px;object-fit:contain;mix-blend-mode:multiply}@media(max-width:640px){footer .curator{gap:18px}.curator-seal{width:100px;height:100px}}

.registration-links{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:24px;font-size:12px}.registration-links p{margin:0}.registration-links>a{font-size:11px;white-space:nowrap}@media(max-width:680px){.registration-links{display:block}.registration-links>a{display:inline-block;margin-top:14px}}

.event-legal-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;font-size:14px}.event-legal-links a,.event-policies a{text-decoration:underline;text-underline-offset:4px}.event-legal-links a{min-height:32px;display:inline-flex;align-items:center}.event-policies{font-size:15px;line-height:1.6}

.hole-activation{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-left:4px solid var(--pink);padding:32px;background:var(--ivory);margin-top:24px}.hole-activation h3{font:600 clamp(1.8rem,3vw,2.4rem)/1.2 var(--serif);margin:16px 0}.hole-activation p{font-size:1rem;line-height:1.65}.hole-activation p:last-child{margin-bottom:0}@media(max-width:640px){.hole-activation{grid-template-columns:1fr;gap:20px;padding:24px}}

/* Mobile layout review — September 2026. */

@media(max-width:640px){
 .masthead{flex-wrap:wrap;gap:12px;padding-block:18px;min-height:0}
 .masthead nav{flex-basis:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px 20px;font-size:14px}
 .masthead nav a,.text-link{min-height:44px;display:inline-flex;align-items:center}
 .masthead nav a:first-child{display:inline-flex}
 .button{min-height:48px;max-width:100%;gap:14px;white-space:normal}
 .button>span[aria-hidden]{flex-shrink:0}
 .day-layout>*,.fundraising-grid>*,.package-grid>*,.combined>*,.detail-row>*{min-width:0}
 .section-label,.eyebrow,.price-caption,.detail-number{font-size:12px;line-height:1.5}
 .package-top{gap:12px;align-items:flex-start}.package-top .eyebrow{max-width:85%}
 .registration-links{font-size:14px}.registration-links>a{font-size:14px;white-space:normal}
 .contacts a{min-height:44px;display:flex;align-items:center;margin:0}
 .event-legal-links a{min-height:44px}
 .combined-price{flex-wrap:wrap}.curator-copy{min-width:0}
 dialog{max-height:calc(100dvh - 32px);padding:32px 20px;overflow:auto;overflow-wrap:anywhere}
 .close-dialog,.dialog-close{width:44px;height:44px}
 .hero-facts{grid-template-columns:1fr;gap:0;padding:8px 24px}
 .hero-facts>div,.hero-facts>div+div{padding:14px 0;border-left:0}
 .hero-facts>div+div{border-top:1px solid #ffffff55}
 .hero-facts span{font-size:12px}.hero-facts strong{font-size:16px}
}
@media(max-width:370px){
 .day h2,.enquiries h2,h2{font-size:clamp(2rem,10vw,2.6rem);line-height:1.12}
 .hero-title h1{font-size:clamp(2.5rem,13vw,3.4rem)}
 .package .price{font-size:3.5rem}.hero-bottom{padding:24px 18px}
 .date-row{gap:16px;flex-wrap:wrap}.hole-activation{padding:22px 18px}
 footer .curator{gap:14px}.curator-seal{width:80px;height:80px}
 footer .curator-copy .runestone{font-size:14px;letter-spacing:.12em}
}

/* Ben and Ricky's invitation, next to the booking packages. */
.ben-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:64px;align-items:center;padding:48px 64px;margin-bottom:80px;background:var(--green);color:var(--ivory)}
.ben-feature .section-label{color:#ffacc9;margin-bottom:26px}
.ben-feature h2{font-size:clamp(3rem,5vw,5rem)}
.ben-feature h2 em{color:#ffacc9}
.ben-feature-intro{max-width:500px;font-size:1.08rem;color:#e2e9df}
.ben-feature-date{margin:28px 0;font-size:.95rem;font-weight:600}
.ben-feature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px}
.ben-feature-actions .text-link{min-height:44px;display:inline-flex;align-items:center;gap:8px}
.ben-feature-film{width:100%;margin:0}
.ben-feature-film video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#08251c;object-fit:contain;border:1px solid #ffffff33}
.ben-feature-film video:focus-visible{outline:3px solid #ffacc9;outline-offset:5px}
.ben-feature-film figcaption{margin-top:12px;font-size:.78rem;color:#d5dfd3;text-align:center}
@media(max-width:1000px){.ben-feature{padding:36px;gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,290px)}}
@media(max-width:760px){.ben-feature{grid-template-columns:1fr;padding:32px 24px;gap:32px;margin-bottom:50px}.ben-feature-copy{min-width:0}.ben-feature-film{max-width:320px;justify-self:center}.ben-feature h2{font-size:3.2rem}.ben-feature-actions{align-items:stretch;flex-direction:column;gap:12px}.ben-feature-actions .button{justify-content:space-between}.ben-feature-actions .text-link{justify-content:center}}
@media(max-width:370px){.ben-feature{padding:28px 18px}.ben-feature h2{font-size:2.6rem}.ben-feature .section-label{font-size:.68rem;letter-spacing:.12em}}

/* Private donation preview. */
.donation-section{background:#edf0e9;padding:80px 0}.donation-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.donation-grid h2{font-size:clamp(34px,4vw,58px);line-height:1.08;margin:20px 0}.donation-grid p{max-width:580px;line-height:1.65}.donation-card{background:#fff;border-top:4px solid #db3775;border-radius:6px;padding:36px;box-shadow:0 12px 35px #113d300a}.donation-card h3{font:30px/1.2 Georgia,serif;margin:22px 0}.donation-test-label{color:#8c2250;background:#fce6ed;padding:8px 10px;font:700 11px/1.5 Arial,sans-serif;letter-spacing:1.2px}.donation-amount{font-size:56px;font-weight:700;line-height:1.2}.donation-amount span{font:14px Arial,sans-serif}.donation-card .button{width:100%;justify-content:center;box-sizing:border-box;margin:10px 0}.donation-test-note,.donation-privacy{font-size:13px;overflow-wrap:anywhere}.donation-card .text-link{font-size:14px}@media(max-width:760px){.donation-section{padding:48px 0}.donation-grid{grid-template-columns:1fr;gap:24px}.donation-card{padding:24px}.donation-grid h2{font-size:36px}}
