
.detail-page{background:#DBDDC7;color:#202822;--accent:#337583;font-size:clamp(16px,1.2vw,19px);line-height:1.75}
.detail-header{padding:36px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.detail-header .back{font-size:14px}.detail-page .wordmark{white-space:nowrap}.detail-page a:focus-visible{outline-color:#337583}.detail-page a:hover{text-decoration:underline;text-underline-offset:5px}
.detail-hero{padding:50px 8vw 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:8vw}.detail-hero img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.detail-page h1,.detail-page h2{font-family:'Baskerville','Iowan Old Style','Palatino Linotype',Georgia,serif;font-weight:400;font-size:clamp(48px,5.5vw,98px);line-height:1.02;letter-spacing:-.055em;margin:0 0 30px}.detail-page h1 em,.detail-page h2 em{color:#337583;font-weight:400}.detail-page p{margin:0 0 22px}.detail-page .eyebrow{font-size:12px;margin-bottom:30px}.detail-page .lead{max-width:470px}.detail-page .aside{font-size:21px;opacity:1;max-width:100%;line-height:1.5}.reading{max-width:690px;margin:0 auto;padding:0 24px 100px}.reading .aside{margin-top:32px}
.editorial{padding:80px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #20282230}.detail-page h2{font-size:clamp(40px,4vw,66px)}.section-title>p:not(.eyebrow){max-width:450px}.timeline article,.benefits article{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid #20282225}.timeline article:last-child,.benefits article:last-child{border:0;margin-bottom:0}.time,.detail-page h3{font-size:inherit;color:#337583;font-weight:400;margin:0 0 12px}.detail-page h3{font-family:inherit}.morning img{width:100%;height:auto;max-height:670px;object-fit:contain}.morning{align-items:center}.text-link{display:inline-block;color:#337583;border-bottom:1px solid #33758370;padding:6px 0;margin-top:18px}.text-link span{margin-left:20px}
.detail-page table{width:100%;border-collapse:collapse;margin-bottom:30px}.detail-page caption{text-align:left;color:#337583;margin-bottom:18px}.detail-page th,.detail-page td{text-align:left;border-bottom:1px solid #20282230;padding:13px 0;font-weight:400}.detail-page td{text-align:right}.detail-page thead{font-size:13px}.dues{display:flex;justify-content:space-between;gap:20px}.dues strong{font-weight:400;color:#337583}.quiet{font-size:14px;opacity:.75}.offers{padding:0 8vw}.offers article{padding:60px 0;display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #20282230}.offers .price{color:#337583;font-size:21px}.price span{font-size:14px;display:block;margin-top:7px}.bottle-list{list-style:none;padding:0;margin:24px 0}.bottle-list li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #20282225}.closing-note{padding-top:60px}.detail-footer{display:block;padding:50px 8vw 28px;border-top:1px solid #20282230;font-size:inherit}.detail-footer nav{display:flex;gap:30px;flex-wrap:wrap;margin:30px 0 60px}.detail-footer nav a{font-size:16px;color:#337583}.detail-footer [aria-current=page]{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:14px}
@media(max-width:900px){.detail-page{font-size:16px}.detail-hero{gap:5vw;padding-left:6vw;padding-right:6vw}.editorial,.offers article{gap:5vw}.detail-header .wordmark{font-size:13px}}
@media(max-width:700px){.detail-page{font-size:16px;line-height:1.6}.detail-header{padding:24px 7vw;display:block}.detail-header .wordmark{font-size:12px}.detail-header .back{display:block;margin-top:16px;font-size:12px}.detail-hero{grid-template-columns:1fr;padding:38px 7vw 50px;gap:28px}.detail-page h1,.detail-page h2{font-size:clamp(37px,9vw,58px);letter-spacing:-.05em}.detail-hero img{max-height:65svh}.detail-page .eyebrow{font-size:11px;margin-bottom:20px}.reading{padding:0 7vw 50px}.detail-page .aside{font-size:18px;line-height:1.4}.editorial{display:block;padding:50px 7vw}.section-title{margin-bottom:35px}.morning img{max-height:65svh;margin-bottom:35px}.offers{padding:0 7vw}.offers article{display:block;padding:40px 0}.offers article>div:first-child{margin-bottom:25px}.offers .price{font-size:18px}.dues{display:block}.dues strong{display:block}.detail-page table{font-size:15px}.bottle-list{font-size:15px}.closing-note{padding-top:40px}.detail-footer{padding:35px 7vw 24px}.detail-footer nav{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.footer-bottom{font-size:12px;flex-wrap:wrap}}

.purchase{padding:55px 8vw 90px}.purchase>h1{margin-bottom:25px}.event-times{max-width:680px}.booking-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;margin-top:50px;align-items:start}.guest-count{display:flex;align-items:center;gap:20px;margin-bottom:30px}.guest-count select{font:inherit;border:1px solid #20282260;background:transparent;color:inherit;padding:8px 30px 8px 12px;border-radius:0}.purchase fieldset{border:0;padding:0;margin:0}.purchase legend{font-size:12px;text-transform:uppercase;letter-spacing:.15em;padding:0 0 18px}.booking-option{display:flex;gap:18px;border-top:1px solid #20282230;padding:25px 0;cursor:pointer}.booking-option input{width:20px;height:20px;flex-shrink:0;margin:6px 0 0;accent-color:#337583}.booking-option>span{display:block}.booking-option strong{display:block;font-weight:400;font-size:21px;color:#337583}.booking-option span span{display:block;margin-top:9px}.option-price{font-size:16px}.booking-summary{position:sticky;top:35px;border-top:1px solid #20282230;padding-top:25px}.booking-summary h2{font-size:37px}.booking-summary ul{padding:0;list-style:none}.booking-summary li{display:flex;justify-content:space-between;gap:20px;margin:15px 0}.selection-total{border-top:1px solid #20282230;padding-top:22px;display:flex;justify-content:space-between;gap:20px}.selection-total output{color:#337583;font-size:24px}.currency,.payment-note{font-size:13px}.payment-button{width:100%;padding:16px;font:inherit;border:1px solid #20282240;background:transparent;color:#20282280;cursor:not-allowed}.payment-note{margin-top:14px!important}.included-note{color:#337583;font-size:14px}.included-note:empty{display:none}#selection-error{color:#8b1537}.purchase input:focus-visible,.purchase select:focus-visible{outline:2px solid #337583;outline-offset:4px}@media(max-width:700px){.purchase{padding:35px 7vw 55px}.booking-layout{display:block;margin-top:35px}.booking-summary{position:static;margin-top:30px}.booking-option strong{font-size:18px}.booking-summary h2{font-size:37px}.booking-option{gap:13px}}

/* A quiet invitation before the booking choices. */
.purchase .event-times{margin-top:30px;max-width:480px}.purchase .event-times p{margin:0;line-height:1.8}.purchase .event-times .event-morning{margin-top:22px}.event-morning em{display:block;margin-top:2px;font-family:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:21px;line-height:1.5;color:#337583}@media(max-width:700px){.event-morning em{font-size:18px}}

.purchase .event-morning em{color:#000}

/* Shared italic caption typography across the story and booking pages. */
:root{--caption-size:21px;--caption-family:Baskerville,Georgia,serif}
@media(max-width:900px){:root{--caption-size:19px}}
@media(max-width:700px){:root{--caption-size:18px}}
.aside,.cinema .aside,.detail-page .aside,.detail-page .event-morning em{font-family:var(--caption-family);font-size:var(--caption-size);font-style:italic;font-weight:400;line-height:1.5}

/* The section provides the final timeline entry’s bottom spacing. */
.timeline article:last-child{padding-bottom:0}.timeline article:last-child>p:last-child{margin-bottom:0}

.room-availability{font-size:14px;color:#337583}

/* One continuous hover rule across the complete wordmark. */
.detail-header .wordmark{display:inline-block;position:relative}
.detail-header .wordmark:hover{text-decoration:none}
.detail-header .wordmark::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:0;pointer-events:none}
.detail-header .wordmark:hover::after{opacity:1}

/* Desktop story pages share the homepage's portrait dimensions and columns.
   The existing document order and all mobile rules stay intact. */
@media(min-width:701px){
 .story-detail #content{
  width:var(--desktop-composition);margin:0 auto;
  display:grid;grid-template-columns:var(--desktop-copy-width) var(--desktop-photo-width);
  column-gap:var(--desktop-gap);
 }
 .story-detail .detail-header,.story-detail .detail-footer{
  width:var(--desktop-composition);margin:0 auto;padding-left:0;padding-right:0;
 }
 .story-detail .detail-hero{display:contents}
 .story-detail .detail-hero>div{grid-column:1;grid-row:1;align-self:end;padding-top:48px}
 .story-detail .detail-hero>img{
  grid-column:2;grid-row:1 / 3;align-self:center;margin:48px 0 72px;
 }
 .story-detail .detail-hero>img,.story-detail .morning>img{
  display:block;width:var(--desktop-photo-width);height:var(--desktop-photo-height);
  max-height:none;object-fit:contain;
 }
 .story-detail .detail-hero+.reading{
  grid-column:1;grid-row:2;align-self:start;width:auto;max-width:none;margin:0;padding:0 0 72px;
 }
 .story-detail .lead{max-width:none}
 .story-detail .detail-hero+.reading .aside{margin-top:26px}
 .story-detail h1{font-size:var(--italic-title-size)}
 .story-detail .editorial,.story-detail .offers,.story-detail .closing-note{grid-column:1/-1}
 .story-detail .editorial,.story-detail .offers article{
  grid-template-columns:var(--desktop-copy-width) var(--desktop-photo-width);
  gap:var(--desktop-gap);padding:64px 0;align-items:start;
 }
 .story-detail .section-title{position:sticky;top:40px;align-self:start}
 .story-detail .section-title>p:not(.eyebrow){max-width:420px}
 .story-detail .offers{padding:0}
 .story-detail .offers article>div:first-child{max-width:420px}
 .story-detail .offers article>div:last-child>p:last-child{margin-bottom:0}
 .story-detail .morning{align-items:center}
 .story-detail .morning>img{grid-column:2;grid-row:1;margin:0}
 .story-detail .morning>div{grid-column:1;grid-row:1}
 .story-detail .closing-note{width:100%;max-width:none;margin:0;padding:16px 0 64px}
 .story-detail .detail-footer{padding-top:40px}
}

/* Start both booking columns on the same horizontal rule. */
@media(min-width:701px){.booking-summary{margin-top:var(--summary-start,0px)}}

/* Bound the floating summary by the last overnight sentence. */
.booking-summary-track{display:contents}
@media(min-width:701px){
 .booking-summary-track{display:block;margin-top:var(--summary-start,0px);height:calc(var(--summary-end,100%) - var(--summary-start,0px));min-height:0}
 .booking-summary-track .booking-summary{margin-top:0;top:var(--summary-top,35px)}
 .booking-summary .payment-note{margin-bottom:0}
}

/* The morning wheel introduces the passage above it in both layouts. */
.story-detail .morning-wheel{display:flex;flex-direction:column;gap:35px;align-items:center}
.story-detail .morning-wheel>img{width:min(500px,100%);height:auto;max-height:none;margin:0}
.story-detail .morning-wheel>div{width:100%;max-width:650px}

/* On desktop, the wheel shares the established image column and width. */
@media(min-width:701px){
 .story-detail .morning-wheel{display:grid;gap:var(--desktop-gap)}
 .story-detail .morning-wheel>img{width:var(--desktop-photo-width);height:auto}
}
