@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&display=swap');
@font-face{font-family:'TAY Basal';src:url('fonts/tay-basal-regular.woff2') format('woff2'),url('fonts/tay-basal-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#fff;--ink:#38251f;--rust:#823c2e;--muted:#6b5b54;--line:#d4c9c2;--display:'TAY Basal',Georgia,serif;--body:'Crimson Text',Georgia,serif;--label:'Crimson Text',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 var(--body);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}figure,p{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--rust)}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rust);outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{margin:0;font-weight:400}h2{font:400 clamp(28px,3.3vw,42px)/1.15 var(--display);letter-spacing:-.015em}h3{font:400 23px/1.25 var(--display)}.eyebrow{font:700 11px/1.4 var(--label);letter-spacing:.17em;text-transform:uppercase;color:var(--rust);margin-bottom:15px}.text-link{display:inline-flex;align-items:center;gap:15px;padding:0 0 5px;border-bottom:1px solid var(--ink);font:700 12px/1.4 var(--label);text-transform:uppercase;letter-spacing:.11em;text-decoration:none}.text-link:hover{border-color:var(--rust)}.skip{position:absolute;top:-100px;left:15px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}
.topbar{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding:24px 4.5%;border-bottom:1px solid var(--line)}.wordmark{font:400 18px/1.1 var(--display);text-decoration:none}.wordmark span{display:block;font:600 9px/1.4 var(--body);letter-spacing:.2em;margin-top:6px}nav{display:flex;gap:29px}nav a{font:600 14px/1.4 var(--body);text-decoration:none}.edition{text-align:right;font:700 10px/1.4 var(--body);letter-spacing:.12em;white-space:nowrap}
.hero{max-width:1250px;margin:0 auto;padding:38px 44px 30px;border-bottom:1px solid var(--line)}.hero-location{text-align:center;font:600 12px/1.4 var(--body);letter-spacing:.12em;margin-bottom:24px}.hero h1{font:400 clamp(38px,6.1vw,76px)/1.12 var(--display);text-align:center;letter-spacing:-.025em;margin:0 auto 18px}.hero-scene{display:grid;grid-template-columns:1fr 2.15fr 1fr;align-items:center;gap:24px}.hero-art{width:100%;height:270px;object-fit:contain}.hero-date,.hero-invite{text-align:center}.hero-date p,.hero-invite p{font:600 20px/1.4 var(--body);margin:0 0 4px}.hero-date span,.hero-invite span{font:400 16px/1.4 var(--body);color:var(--muted)}

.plan-section,.ranch-section,.places-section,.vibe-section,.details-section,.organizer-section{max-width:1162px;margin:0 auto;padding:64px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:34px}.section-head>p{font:normal 16px/1.4 var(--body);color:var(--muted)}.section-head .eyebrow{margin-bottom:13px}.day-tabs{display:grid;grid-template-columns:repeat(var(--day-count,4),minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.day-tabs button{border:0;border-right:1px solid var(--line);padding:19px 10px 20px;background:white;color:var(--muted);cursor:pointer;position:relative}.day-tabs button:last-child{border-right:0}.day-tabs button[aria-selected=true]{color:var(--rust)}.day-tabs button[aria-selected=true]:after{content:'';position:absolute;height:4px;background:var(--rust);bottom:-2px;left:20px;right:20px}.day-tabs button:hover{background:#faf8f6}.day-tabs span{display:block;font:700 10px/1.3 var(--body);letter-spacing:.17em}.day-tabs b{display:block;font:400 48px/1.2 var(--display);margin:8px 0 4px}.day-tabs small{display:block;font:normal 17px/1.3 var(--body)}.day-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:80px;margin-top:39px}.day-title{font-size:30px;max-width:640px}.day-caption{font:normal 16px/1.5 var(--body);color:var(--muted);margin:10px 0 25px}.timeline{margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:83px 1fr;gap:23px;border-top:1px solid var(--line);padding:20px 0}.time{font:600 13px/1.4 var(--body);color:var(--rust);padding-top:3px}.timeline h4{font:600 20px/1.3 var(--body);margin-bottom:7px}.timeline p{font:400 17px/1.5 var(--body);color:var(--muted)}.tag{font:700 8px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;display:inline-block;border-bottom:1px solid var(--line);padding:2px 0;margin-left:9px;color:var(--muted);white-space:nowrap}.tag.pending{color:var(--rust);border-color:var(--rust)}.tag.optional{border-bottom-style:dashed}.day-aside{align-self:start;border-top:1px solid var(--ink);padding-top:19px}.aside-kicker{font:700 10px/1.5 var(--body);letter-spacing:.15em;color:var(--rust);margin-bottom:15px}.day-aside h3{font-size:25px}.day-aside ul{list-style:none;padding:0;margin:20px 0 0}.day-aside li{font:400 16px/1.5 var(--body);color:var(--muted);padding:13px 0;border-top:1px solid var(--line)}.plan-note{font:normal 15px/1.5 var(--body);color:var(--muted);padding-top:20px;border-top:1px solid var(--line);margin-top:18px}
.ranch-section{border-top:1px solid var(--ink)}.booking-note{font:700 10px/1.4 var(--body);letter-spacing:.13em;color:var(--rust);padding-bottom:5px}.ranch-photograph img{width:100%;aspect-ratio:2.36;object-fit:cover;object-position:center 60%;filter:saturate(.77)}figcaption{display:flex;justify-content:space-between;gap:20px;font:normal 12px/1.4 var(--body);padding-top:10px;color:var(--muted)}figcaption a{text-decoration:none}.ranch-information{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;margin-top:36px}.ranch-information h3{font-size:33px;margin-bottom:15px}.ranch-information p{font-size:18px;line-height:1.5;color:var(--muted)}.ranch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.ranch-stats span{font:normal 15px/1.4 var(--body)}.ranch-stats b{display:block;font:400 36px/1.15 var(--display);margin-bottom:5px}.ranch-information p.amenities{font:700 9px/1.5 var(--body);letter-spacing:.11em;margin-bottom:22px}.house-facts>div{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid var(--line);padding:15px 0;font-size:16px}.house-facts strong{font-weight:400;text-align:right}.house-facts>div>span{font-style:normal;color:var(--muted)}.room-list{border-top:1px solid var(--line);font-size:16px;padding-top:15px}.room-list summary{cursor:pointer}.room-list p{font-size:16px;margin-top:12px}
.saloon-section{max-width:1250px;margin:15px auto 0;padding:42px 44px 66px;border-top:3px double var(--ink);border-bottom:3px double var(--ink)}.saloon-heading{text-align:center;margin-bottom:38px}.saloon-heading h2{font:400 clamp(48px,6.5vw,78px)/1.1 var(--display);text-transform:uppercase;letter-spacing:-.045em;color:var(--rust);margin:5px 0 21px}.saloon-bill{display:block;font:400 18px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-top:18px}.saloon-spread{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}.saloon-spread figure{margin:0}.saloon-spread img{width:100%;aspect-ratio:1.26;object-fit:cover;filter:saturate(.74)}.saloon-notes>p:not(.saloon-lede){color:var(--muted);font-size:18px}.saloon-notes dl{margin:23px 0}.saloon-notes dl>div{border-top:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:20px;padding:14px 0}.saloon-notes dt{font:600 13px/1.4 var(--body);color:var(--rust)}.saloon-notes dd{margin:0;font:400 16px/1.45 var(--body)}
.venue-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;counter-reset:venue}.venue{display:grid;grid-template-columns:1fr auto;column-gap:20px;border-top:1px solid var(--line);padding:24px 0;counter-increment:venue}.venue-type{grid-column:1/-1;font:700 9px/1.4 var(--body);letter-spacing:.14em;color:var(--rust);margin-bottom:8px}.venue h3{font:400 23px/1.25 var(--display);grid-column:1/-1;margin-bottom:12px}.venue p{font-size:17px;line-height:1.45;color:var(--muted);grid-column:1/-1}.venue .venue-note{font-size:15px;font-style:normal;margin:10px 0 15px}.venue>a{font:700 10px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;justify-self:start;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.venue:last-child{grid-column:1/-1;max-width:550px}.small-note{border-top:1px solid var(--line);padding-top:20px;font-size:16px;color:var(--muted)}
.vibe-section{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.vibe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}.vibe-grid article{position:relative;padding:0}.vibe-grid h3{font-size:25px;margin-bottom:14px}.vibe-grid p{font-size:17px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.detail-grid article{border-top:1px solid var(--line);padding-top:20px}.detail-grid h3{font-size:26px;margin-bottom:14px}.detail-grid p{font-size:17px;color:var(--muted)}.detail-grid a{display:inline-block;font:700 10px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;margin-top:19px}.details-section{padding-bottom:15px}.details-section#details{padding-bottom:60px}.organizer-section{padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:55px}.organizer-section>summary{cursor:pointer;font:600 24px/1.3 var(--body);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.organizer-section>summary>span{font:normal 15px/1.4 var(--body);color:var(--muted)}.organizer-content{padding-bottom:25px}.next-list>div{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:16px 0;border-top:1px solid var(--line)}.next-list b{font:700 10px/1.4 var(--body);letter-spacing:.1em;color:var(--rust);padding-top:3px}.next-list p{font-size:16px;color:var(--muted)}.budget-callout{margin-top:14px;padding-top:23px;border-top:1px solid var(--line)}.budget-callout h3{font-size:25px;margin-bottom:9px}.budget-callout p{font-size:16px;color:var(--muted)}
footer{max-width:1250px;margin:0 auto;padding:15px 44px 28px}footer>div{border-top:1px solid var(--ink);padding-top:18px;display:flex;justify-content:space-between;gap:25px;font:700 9px/1.3 var(--body);letter-spacing:.12em}footer a{text-decoration:none}
@media(max-width:1250px){.plan-section,.ranch-section,.places-section,.vibe-section,.details-section,.organizer-section{margin-left:44px;margin-right:44px}.hero-art{height:270px}.hero-scene{grid-template-columns:1fr 2fr 1fr}.hero-date,.hero-invite{padding:0}.day-layout{gap:50px}.ranch-information{gap:55px}.saloon-spread{gap:45px}}
@media(max-width:950px){.topbar{grid-template-columns:1fr auto}.edition{display:none}nav{gap:23px}.hero{padding-top:27px}.hero-art{height:230px}.hero-scene{gap:15px;grid-template-columns:1fr 2.25fr 1fr}.hero-date p{font-size:32px}.hero-invite p{font-size:19px}.day-layout{grid-template-columns:minmax(0,1.8fr) minmax(190px,1fr);gap:35px}.day-title{font-size:27px}.day-aside h3{font-size:23px}.timeline li{grid-template-columns:67px 1fr;gap:17px}.ranch-information{gap:40px;grid-template-columns:1fr 1fr}.house-facts>div{grid-template-columns:75px 1fr;gap:15px;font-size:15px}.ranch-information h3{font-size:29px}.ranch-stats{gap:12px}.ranch-stats b{font-size:31px}.saloon-spread{gap:30px;grid-template-columns:1fr 1fr}.saloon-spread img{aspect-ratio:.84}.saloon-notes dl>div{grid-template-columns:1fr;gap:6px}.saloon-notes dd{font-size:16px}.saloon-notes dt{font-size:12px}.venue-grid{column-gap:35px}.vibe-grid,.detail-grid{gap:28px}}
@media(max-width:700px){.topbar{padding:20px 26px;gap:20px}.wordmark{font-size:16px}.wordmark span{font-size:8px}nav{gap:17px}nav a{font-size:12px}.hero{padding:27px 26px 0}.hero h1{margin-top:31px}.hero-scene{grid-template-columns:1fr 1.9fr 1fr;gap:8px;margin-top:9px}.hero-art{height:205px}.hero-date p{font-size:26px}.hero-invite p{font-size:17px;margin-bottom:15px}.plan-section,.ranch-section,.places-section,.vibe-section,.details-section,.organizer-section{margin-left:26px;margin-right:26px;padding-top:42px;padding-bottom:42px}.section-head{gap:25px;margin-bottom:27px}.section-head>p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:.12em}h2{font-size:38px}.day-tabs button{padding:17px 6px 19px}.day-tabs span{font-size:8px;letter-spacing:.1em}.day-tabs b{font-size:39px}.day-tabs small{font-size:15px}.day-layout{display:block;margin-top:29px}.day-title{font-size:29px}.day-caption{font-size:15px}.timeline li{grid-template-columns:75px 1fr;gap:18px}.timeline h4{font-size:20px}.timeline p{font-size:17px}.tag{font-size:8px}.day-aside{margin-top:30px}.day-aside ul{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.day-aside li{font-size:15px}.day-aside h3{font-size:26px}.plan-note{font-size:14px}.ranch-information{display:block;margin-top:29px}.ranch-information h3{font-size:30px}.ranch-stats{max-width:440px}.house-facts{margin-top:29px}.house-facts>div{grid-template-columns:110px 1fr;font-size:16px}.ranch-photograph img{aspect-ratio:1.6}.booking-note{font-size:9px;max-width:110px;text-align:right}.saloon-section{padding:35px 26px 42px}.saloon-heading h2{font-size:9.5vw;line-height:1.15;margin-top:6px;margin-bottom:18px}.saloon-bill{display:block;font:400 18px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-top:18px}.saloon-spread{display:block}.saloon-spread img{aspect-ratio:1.5}.saloon-notes{margin-top:29px}.saloon-notes dl>div{grid-template-columns:100px 1fr;gap:20px}.saloon-notes dt{font-size:13px}.saloon-notes dd{font-size:17px}.venue-grid{gap:0 27px}.venue h3{font-size:27px}.vibe-grid,.detail-grid{grid-template-columns:1fr;gap:27px}.vibe-grid article{position:relative;padding:0}.vibe-grid h3{font-size:25px}.detail-grid h3{font-size:27px}.details-section{padding-bottom:0}.details-section#details{padding-bottom:42px}.organizer-section{padding-top:0;padding-bottom:0;margin-bottom:40px}.organizer-section>summary>span{font-size:13px}.next-list>div{grid-template-columns:100px 1fr;gap:18px}footer{padding:5px 26px 24px}footer>div{font-size:8px;gap:14px;letter-spacing:.08em}}
@media(max-width:480px){.topbar{display:block;padding:17px 20px}.wordmark{display:block;text-align:center;font-size:17px}.wordmark span{font-size:8px}nav{justify-content:center;gap:24px;margin-top:17px}nav a{font-size:12px}.hero{padding:22px 20px 0}.hero h1{margin-top:26px}.hero-scene{grid-template-columns:1fr 1fr;row-gap:15px;margin-top:10px}.hero-art{grid-column:1/-1;grid-row:1;width:100%;height:auto;aspect-ratio:1.68;object-fit:contain}.hero-date{grid-row:2;display:grid;grid-template-columns:1fr;align-items:center;text-align:left;padding-left:8px}.hero-date p{font-size:28px;line-height:1.15;margin-bottom:5px}.hero-invite{grid-row:2;text-align:right;padding-right:8px}.hero-invite p{font-size:19px;line-height:1.2;margin-bottom:10px}.plan-section,.ranch-section,.places-section,.vibe-section,.details-section,.organizer-section{margin-left:20px;margin-right:20px}.section-head{display:block;margin-bottom:24px}.section-head>p{margin-top:15px;font-size:14px}.section-head>p br{display:none}.section-head .eyebrow{margin-bottom:10px}h2{font-size:35px}.day-tabs button{padding:15px 3px 17px}.day-tabs span{font-size:7px;letter-spacing:.045em}.day-tabs b{font-size:34px;margin:9px 0 5px}.day-tabs small{font-size:13px}.day-tabs button[aria-selected=true]:after{left:10px;right:10px}.day-title{font-size:26px}.timeline li{grid-template-columns:63px 1fr;gap:14px;padding:18px 0}.time{font-size:12px}.timeline h4{font-size:19px}.timeline p{font-size:16px}.tag{font-size:7px;margin-left:5px}.day-aside ul{display:block;margin-top:15px}.day-aside li{font-size:16px}.booking-note{display:block;text-align:left;max-width:none;margin-top:15px}.ranch-photograph img{aspect-ratio:1.35}.ranch-information h3{font-size:29px}.ranch-information p{font-size:17px}.ranch-stats{gap:10px}.ranch-stats span{font-size:14px}.ranch-stats b{font-size:30px}.house-facts>div{grid-template-columns:87px 1fr;font-size:15px;gap:13px}figcaption{font-size:11px;gap:15px}.saloon-section{padding:31px 20px 38px}.saloon-heading .eyebrow{font-size:9px}.saloon-heading h2{font-size:10vw;letter-spacing:-.04em}.saloon-heading{margin-bottom:25px}.saloon-bill{display:block;font:400 18px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-top:18px}.saloon-spread img{aspect-ratio:1.12}.saloon-notes>p:not(.saloon-lede){font-size:17px}.saloon-notes dl>div{grid-template-columns:85px 1fr;gap:16px}.saloon-notes dd{font-size:16px}.venue-grid{grid-template-columns:1fr}.venue:last-child{grid-column:1}.venue{padding:22px 0}.venue h3{font-size:28px}.vibe-grid p,.detail-grid p{font-size:16px}.organizer-section>summary{display:block;font-size:23px}.organizer-section>summary>span{display:block;margin-top:5px}.next-list>div{grid-template-columns:1fr;gap:7px}.next-list p{font-size:16px}footer{padding-left:20px;padding-right:20px}footer>div{display:flex;flex-wrap:wrap;font-size:8px;gap:13px}footer>div a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{nav,.skip{display:none}.hero-art{height:180px}.hero h1{break-inside:avoid}.day-layout{display:block}details.organizer-section{display:none}a{color:inherit}}

/* Preserve reading size for the small-print details on phones. */
@media(max-width:480px){.day-tabs span{font-size:9px;letter-spacing:0}.tag{font-size:9px}.venue-type{font-size:10px}.saloon-bill{display:block;font:400 18px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-top:18px}.saloon-heading .eyebrow{font-size:10px}.wordmark span{font-size:9px}.ranch-information p.amenities{font-size:10px}footer>div{font-size:9px}}

/* Consistent display type and upright reading text. */
.day-title{font:400 24px/1.25 var(--display)}.day-aside h3{font:400 20px/1.3 var(--display)}.vibe-grid h3,.detail-grid h3,.budget-callout h3{font:400 22px/1.3 var(--display)}.day-tabs small{font:400 16px/1.4 var(--body)}.section-head>p,.day-caption,.plan-note,.venue .venue-note,figcaption,.ranch-stats span,.house-facts>div>span,.organizer-section>summary>span{font-style:normal}.hero-art{height:270px}.ranch-information>div>p:first-child{max-width:510px}.saloon-heading .eyebrow{margin-bottom:15px}.saloon-heading h2{margin:0}.saloon-section{padding-top:43px}.saloon-heading{margin-bottom:30px}.saloon-notes>p{margin-bottom:18px}.venue-type{font-size:11px;letter-spacing:.08em}.text-link,.venue>a,.detail-grid a{font-size:12px;letter-spacing:.04em}.tag{font-size:10px;letter-spacing:.04em}.day-tabs span{font-size:11px;letter-spacing:.04em}.room-list>summary,.organizer-section>summary{display:list-item}.organizer-section>summary>span{margin-left:20px;font-size:15px}.organizer-section>summary::marker,.room-list>summary::marker{font-size:13px}footer{padding-top:10px}footer>div{font-size:10px;letter-spacing:.07em}
@media(max-width:950px){.hero h1{font-size:6.1vw}.hero-scene{grid-template-columns:1fr 2.1fr 1fr}.hero-date p,.hero-invite p{font-size:18px}.hero-date span,.hero-invite span{font-size:15px}.hero-art{height:240px}.day-title{font-size:22px}.day-aside h3{font-size:19px}}
@media(max-width:700px){.hero{padding:29px 26px 25px}.hero h1{font-size:6.2vw;margin:0 0 21px}.hero-location{font-size:11px;margin-bottom:23px}.hero-scene{gap:12px}.hero-date p,.hero-invite p{font-size:17px}.hero-date span,.hero-invite span{font-size:14px}.hero-art{height:200px}h2{font-size:30px}.day-title{font-size:23px}.day-aside h3{font-size:21px}.venue h3{font-size:23px}.vibe-grid h3,.detail-grid h3{font-size:22px}.vibe-grid article{padding:0}.booking-note{font-size:10px}.saloon-heading h2{font-size:8vw}.saloon-heading .eyebrow{font-size:11px}.organizer-section>summary>span{font-size:14px}}
@media(max-width:480px){.hero{padding:27px 20px 25px}.hero h1{font-size:6.9vw;line-height:1.18;letter-spacing:-.02em;margin:0 0 10px}.hero-location{font-size:11px;letter-spacing:.08em;margin-bottom:21px}.hero-scene{grid-template-columns:1fr 1fr;gap:20px 12px;margin-top:0}.hero-art{height:auto;grid-column:1/-1;grid-row:1;aspect-ratio:1.65}.hero-date{display:block;text-align:left;grid-row:2;padding:0}.hero-invite{text-align:right;grid-row:2;padding:0}.hero-date p,.hero-invite p{font-size:17px;line-height:1.3;margin-bottom:6px}.hero-date span,.hero-invite span{font-size:14px;line-height:1.4}h2{font-size:28px}.day-title{font-size:21px}.day-aside h3{font-size:20px}.day-tabs span{font-size:10px;letter-spacing:0}.day-tabs small{font-size:14px}.tag{font-size:9px}.text-link,.venue>a,.detail-grid a{font-size:11px}.vibe-grid article{padding:0}.saloon-heading h2{font-size:10vw}.saloon-bill{font-size:17px;margin-top:14px}.venue h3{font-size:22px}.vibe-grid h3,.detail-grid h3{font-size:21px}.organizer-section>summary>span{display:block;margin:7px 0 0 17px}.ranch-information p.amenities{font-size:11px}.wordmark span{font-size:10px}}

/* A steady rider pose travels with the horse's small rise and fall. */
.horse-player{--gallop-cycle:960ms;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center}
.horse-canvas{display:block;width:100%;height:100%;min-height:0;overflow:hidden}
.horse-player.is-composited :is(.horse-moving-hand,.horse-moving-head,.horse-still>use){display:none}
:is(.horse-moving-hand,.horse-moving-head){visibility:hidden}
.horse-player.is-ready:not([data-motion="still"]) :is(.horse-moving-hand,.horse-moving-head){visibility:visible}
.horse-frames{visibility:hidden;animation:horse-gallop var(--gallop-cycle) steps(1,end) infinite;animation-play-state:paused}
.horse-stride{transform-origin:278px 185px;animation:horse-stride var(--gallop-cycle) ease-in-out infinite;animation-play-state:paused}
.horse-moving-head{animation:horse-head-track var(--gallop-cycle) steps(1,end) infinite;animation-play-state:paused}
.whiskey-rim-track{animation:whiskey-rim-track var(--gallop-cycle) steps(1,end) infinite;animation-play-state:paused}
.whiskey-splash{visibility:hidden;color:#783b20;pointer-events:none}
.whiskey-crest{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;opacity:0;animation:whiskey-crest var(--gallop-cycle) linear infinite;animation-play-state:paused}
.whiskey-drop{fill:currentColor;opacity:0;animation-duration:var(--gallop-cycle);animation-timing-function:linear;animation-iteration-count:infinite;animation-play-state:paused}
.whiskey-drop-one{animation-name:whiskey-drop-one}
.whiskey-drop-two{animation-name:whiskey-drop-two}
.whiskey-drop-three{animation-name:whiskey-drop-three}
.horse-player.is-ready:not([data-motion="still"]) .whiskey-splash{visibility:visible}
.horse-player.is-ready:not([data-motion="still"]) .horse-frames{visibility:visible}
.horse-player.is-ready:not([data-motion="still"]) .horse-still{visibility:hidden}
.horse-player.is-ready[data-motion="playing"]:not(.is-suspended) :is(.horse-frames,.horse-stride,.horse-moving-head,.whiskey-rim-track,.whiskey-crest,.whiskey-drop){animation-play-state:running}
.horse-motion{padding:0 5px;border:0;background:none;color:var(--muted);font:400 13px/1.4 var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.horse-motion:hover{color:var(--ink)}
.horse-motion[hidden]{display:none}
.horse-motion-overlay{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;touch-action:manipulation}
.horse-motion-overlay:focus-visible{outline-offset:-5px}
@keyframes horse-gallop{
  0%,100%{transform:translate(0,0)}
  12.5%{transform:translate(-543px,0)}
  25%{transform:translate(-1086px,0)}
  37.5%{transform:translate(-1629px,0)}
  50%{transform:translate(0,-362px)}
  62.5%{transform:translate(-543px,-362px)}
  75%{transform:translate(-1086px,-362px)}
  87.5%{transform:translate(-1629px,-362px)}
}
@keyframes horse-stride{
  0%,100%{transform:translateY(1px) rotate(.35deg)}
  25%{transform:translateY(-4px) rotate(-.45deg)}
  50%{transform:translateY(0) rotate(-.2deg)}
  75%{transform:translateY(3px) rotate(.5deg)}
}
@keyframes horse-head-track{
  0%,100%{transform:translate(0,0)}
  50%,87.5%{transform:translate(0,-5px)}
}
@keyframes whiskey-rim-track{
  0%,100%{transform:translate(0,0)}
  12.5%,25%{transform:translate(11px,0)}
  37.5%{transform:translate(12px,0)}
  50%{transform:translate(5px,-6px)}
  62.5%,75%{transform:translate(11px,-6px)}
  87.5%{transform:translate(12px,-6px)}
}
/* A short spill as the horse lands; each drop follows its own small arc. */
@keyframes whiskey-crest{
  0%,72%,86%,100%{opacity:0;transform:scaleY(.2)}
  76%{opacity:.8;transform:scaleY(1)}
  81%{opacity:.35;transform:scaleY(.7)}
}
@keyframes whiskey-drop-one{
  0%,74%{opacity:0;transform:translate(-4px,0) rotate(-25deg) scale(.6)}
  77%{opacity:.9;transform:translate(-6px,-5px) rotate(-30deg)}
  83%{opacity:.9;transform:translate(-10px,-11px) rotate(-12deg)}
  89%{opacity:.8;transform:translate(-14px,-12px) rotate(10deg)}
  95%{opacity:.5;transform:translate(-18px,-8px) rotate(22deg) scale(.8)}
  100%{opacity:0;transform:translate(-21px,0) rotate(25deg) scale(.5)}
}
@keyframes whiskey-drop-two{
  0%,76%{opacity:0;transform:translate(0,0) scale(.6)}
  80%{opacity:.8;transform:translate(2px,-6px) rotate(20deg)}
  86%{opacity:.8;transform:translate(3px,-9px) rotate(0)}
  92%{opacity:.6;transform:translate(2px,-5px) rotate(-15deg)}
  98%,100%{opacity:0;transform:translate(0,2px) scale(.5)}
}
@keyframes whiskey-drop-three{
  0%,79%{opacity:0;transform:translate(-5px,-1px) scale(.5)}
  82%{opacity:.75;transform:translate(-8px,-5px) rotate(-30deg)}
  87%{opacity:.7;transform:translate(-11px,-7px) rotate(0)}
  94%{opacity:.4;transform:translate(-14px,-3px) rotate(25deg)}
  99%,100%{opacity:0;transform:translate(-16px,3px) scale(.5)}
}
@media(prefers-reduced-motion:reduce){
  .horse-player:not(.motion-requested) .horse-frames{visibility:hidden;animation:none}
  .horse-player:not(.motion-requested) .horse-stride{animation:none}
  .horse-player:not(.motion-requested) .whiskey-rim-track{animation:none}
  .horse-player:not(.motion-requested) :is(.horse-moving-hand,.horse-moving-head){visibility:hidden;animation:none}
  .horse-player:not(.motion-requested) .whiskey-splash{display:none}
  .horse-player:not(.motion-requested) .horse-still{visibility:visible}
}
@media print{
  .horse-frames,.horse-motion,.horse-moving-hand,.horse-moving-head,.whiskey-splash{display:none}
  .horse-player .horse-still{visibility:visible!important}
}

.ranch-gallery{min-width:0}
.ranch-gallery-track{position:relative;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;height:clamp(240px,40vw,460px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ranch-gallery-track::-webkit-scrollbar{display:none}
.ranch-gallery-track{cursor:grab}
.ranch-gallery-track.is-dragging{scroll-snap-type:none;cursor:grabbing}
.ranch-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.ranch-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.ranch-gallery-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:13px}
.ranch-gallery-description{min-width:0}
.ranch-gallery-description p{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 16px;font:400 17px/1.4 var(--body)}
.ranch-gallery-description [data-photo-count]{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ranch-gallery-description>a{display:inline-block;margin-top:5px;font:400 12px/1.4 var(--body);color:var(--muted);text-decoration:none}
.ranch-gallery-description>a:hover{text-decoration:underline}
.ranch-gallery-controls{display:flex;flex-shrink:0;gap:8px}
.ranch-gallery-controls[hidden]{display:none}
.ranch-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);background:white;color:var(--ink);cursor:pointer}
.ranch-gallery-controls button:hover{border-color:var(--ink)}
@media(max-width:480px){.ranch-gallery-footer{gap:14px}.ranch-gallery-description p{display:block;font-size:16px}.ranch-gallery-description [data-photo-count]{display:block;margin-top:3px}.ranch-gallery-controls{gap:6px}}
@media print{.ranch-gallery-track{overflow:hidden}.ranch-gallery-controls{display:none}}

/* Western poster treatment (Sept 2026): cream paper, framed hero, oxblood saloon band, dark footer. */
:root{--paper:#efe3cb;--line:#cbb894;--muted:#6a5446;--cream:#f4e9d2;--oxblood:#551b15;--tan:#d8b98a}

/* 1. Warm paper ground. The horse art has a white background, so blend it like ink: darken keeps the paper exact wherever the art is lighter. */
.horse-canvas{mix-blend-mode:darken}
.day-tabs button{background:transparent}
.day-tabs button:hover{background:rgba(56,37,31,.06)}
.ranch-gallery-controls button{background:transparent}
.topbar{border-bottom:3px double var(--ink)}

/* 2. Poster hero: framed, huge stacked title, big horse, billing strip. */
.hero{width:calc(100% - 56px);max-width:1250px;margin:30px auto 0;padding:34px 44px 7px;border:2px solid var(--ink);box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 7px var(--ink)}
.hero-location{display:flex;align-items:center;gap:22px;font:700 13px/1.4 var(--body);letter-spacing:.32em;margin:0 0 26px}
.hero-location::before,.hero-location::after{content:'';flex:1;height:3px;border-top:3px double var(--ink)}
.hero h1{font-size:clamp(40px,10.6vw,160px);line-height:.92;letter-spacing:-.03em;margin:0 auto 6px}
.hero-scene{grid-template-columns:1fr 1fr;gap:0;align-items:stretch;margin:0 -37px}
.hero-art{grid-column:1/-1;grid-row:1;height:clamp(250px,40vw,560px);margin-top:22px}
.horse-player{grid-template-rows:minmax(0,1fr)}
.hero-date,.hero-invite{grid-row:2;text-align:center;padding:18px 12px 20px;margin-top:8px;border-top:3px solid var(--ink)}
.hero-date{border-right:1px solid var(--ink)}
.hero-date p,.hero-invite p{font:400 clamp(20px,2.6vw,34px)/1.15 var(--display);letter-spacing:-.01em;margin:0 0 6px}
.hero-date span,.hero-invite span{font:700 11px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
@media(max-width:480px){.hero{width:auto;margin:14px 10px 0;padding:22px 14px 7px}.hero h1{font-size:10.2vw}.hero-scene{margin:0 -7px}.hero-date p,.hero-invite p{font-size:17px}}

/* 3. One loud band: the Old Saloon night in oxblood, and a dark footer. */
.saloon-section{position:relative;max-width:none;margin:48px 0 0;padding:84px max(44px,calc((100vw - 1162px)/2)) 92px;background:var(--oxblood);color:var(--cream);border:0}
.saloon-section::before{content:'';position:absolute;inset:16px 0;border-top:1px solid var(--tan);border-bottom:1px solid var(--tan);pointer-events:none}
.saloon-heading h2{color:var(--cream)}
.saloon-section .eyebrow,.saloon-notes dt{color:var(--tan)}
.saloon-bill,.saloon-notes dd,.saloon-notes .saloon-lede{color:var(--cream)}
.saloon-notes>p:not(.saloon-lede),.saloon-section figcaption{color:#e2cfa9}
.saloon-notes dl>div{border-top-color:rgba(244,233,210,.28)}
.saloon-section .text-link{border-bottom-color:var(--cream)}
.saloon-section a:hover{color:var(--tan)}
.saloon-section a:focus-visible{outline-color:var(--tan)}
.places-section{border-top:0}
footer{max-width:none;margin:0;padding:34px max(44px,calc((100vw - 1162px)/2)) 40px;background:#2c1a15;color:var(--cream)}
footer>div{border-top-color:rgba(244,233,210,.4)}
footer a:hover{color:var(--tan)}

/* Optional activities: live voting. */
.vote-intro{max-width:62ch;font-size:17px;color:var(--muted);margin:-14px 0 26px}
.vote-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:0 0 26px}
.vote-suggest label{font:700 11px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
.vote-suggest input{flex:1 1 220px;max-width:360px;padding:10px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:400 17px/1.3 var(--body)}
.vote-suggest button,.vote-btn{padding:9px 16px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:700 11px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.vote-suggest button:hover,.vote-btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.vote-btn:disabled{opacity:.45;cursor:not-allowed}
.vote-status{min-height:1.3em;font-size:15px;color:var(--rust);margin:0 0 14px}
.vote-status:empty{margin:0;min-height:0}
.vote-grid article{display:flex;flex-direction:column}
.vote-grid article>a{margin-top:auto}
.vote-row{display:flex;align-items:center;gap:14px;margin-top:18px}
.vote-count{font:700 10px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vote-grid article.is-voted .vote-btn{background:var(--rust);border-color:var(--rust);color:var(--paper)}
.vote-grid article.is-voted .vote-count{color:var(--rust)}
.vote-suggest{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line)}

/* Gallop strip: the hero art is a window onto a strip of eight consecutive gallop frames. Every 120ms tick the strip
   advances one pose and jumps a quarter stride to the right, so horses flip-book their way across the poster.
   32 ticks = 3840ms brings the strip back to its start. Built by app.js from the composited sheet; the SVG stays as fallback. */
.hero{--horse-h:400px}
.horse-player{position:relative}
.gallop-strip{display:none;position:absolute;inset:0;background-image:var(--strip);background-repeat:repeat-x;background-size:calc(var(--horse-h) * 12) auto;background-position:0 50%;mix-blend-mode:darken;pointer-events:none;animation:gallop-strip 3840ms steps(32,end) infinite;animation-play-state:paused}
@keyframes gallop-strip{from{background-position-x:0}to{background-position-x:calc(var(--horse-h) * -36)}}
.hero.is-strip .gallop-strip{display:block}
.hero.is-strip .horse-canvas{visibility:hidden}
.hero.is-strip .horse-player .whiskey-splash{display:none}
.horse-player.is-ready[data-motion="playing"]:not(.is-suspended) .gallop-strip{animation-play-state:running}
.hero-art{margin-top:6px}
@media(prefers-reduced-motion:reduce){.horse-player:not(.motion-requested) .gallop-strip{display:none}.horse-player:not(.motion-requested) .horse-canvas{visibility:visible}}
@media print{.gallop-strip{display:none}.hero.is-strip .horse-canvas{visibility:visible}}
