/* v5 — diagrams, a centred proof moment, a shared-table scene and compact wayfinding. */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ssc-icon{display:block;flex:none;width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-wash{fill:currentColor;fill-opacity:.08;stroke:none}
.type-site .ssc-icon{stroke-width:2.5;stroke-linecap:square}
.rhythm-site .quick-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:24px var(--gutter)}
.rhythm-site .quick-facts>span{display:flex;align-items:center;gap:15px;min-width:0}
.quick-facts strong{display:block;font-size:14px;line-height:1.5;font-weight:700}
.quick-facts small{display:block;font-size:12px;line-height:1.5;margin-top:3px;opacity:.8}
.rhythm-site .button,.rhythm-site .header-book{gap:14px;justify-content:space-between}
.rhythm-site .button{padding:12px 16px 12px 22px}
.rhythm-site .header-book{padding:9px 10px 9px 18px}
.button-label{min-width:0;text-align:left}
.button-arrow{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--paper);color:var(--ink)}
.button-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--ease)}
.header-book .button-arrow{flex-basis:27px;width:27px;height:27px}
.header-book .button-arrow svg{width:16px;height:16px}
.button:hover .button-arrow svg,.button:focus-visible .button-arrow svg,.header-book:hover .button-arrow svg{transform:translateX(3px)}
.rhythm-site .journey{padding-top:62px;padding-bottom:38px}
.rhythm-site .journey-heading{display:block;text-align:center;max-width:850px;margin:0 auto 36px}
.rhythm-site .journey-heading .eyebrow{margin-bottom:16px}
.rhythm-site .journey-heading h2{font-size:clamp(40px,4.4vw,66px)}
.rhythm-site .journey-heading>p:last-child{max-width:600px;justify-self:auto;margin:18px auto 0;font-size:16px}
.journey-path{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;max-width:1150px;padding:0;margin:0 auto;scroll-margin-top:105px}
.rhythm-site .journey-step{display:block;position:relative;border:0;padding:0;text-align:center}
.rhythm-site .journey-step:last-child{border:0}
.step-art{position:relative;max-width:245px;margin:0 auto 20px;height:135px;display:flex;align-items:center;justify-content:center}
.step-art:after{content:'';position:absolute;left:calc(100% + 12px);top:70px;width:clamp(30px,5vw,80px);height:1px;background:var(--journey-line)}
.step-art:before{content:'';position:absolute;left:calc(100% + 10px + clamp(30px,5vw,80px));top:67px;width:7px;height:7px;border-top:1px solid var(--journey-line);border-right:1px solid var(--journey-line);transform:rotate(45deg)}
.journey-step:last-child .step-art:before,.journey-step:last-child .step-art:after{display:none}
.step-art .step-number{position:absolute;top:5px;left:16px;font-size:17px;line-height:1;letter-spacing:0}
.rhythm-site .step-diagram{width:150px;height:125px;stroke-width:1.7}
.type-site .step-diagram{stroke-width:2.5}
.rhythm-site .journey-step h3{font-size:clamp(23px,2.1vw,30px);margin:0 0 12px}
.rhythm-site .journey-step p{font-size:15px;line-height:1.65;max-width:305px;margin:0 auto}
.journey-film{display:flex;align-items:center;justify-content:center;gap:55px;max-width:820px;margin:40px auto 0;padding-top:30px;border-top:1px solid var(--journey-line)}
.film-invitation{max-width:330px}
.film-invitation .eyebrow{margin-bottom:12px}
.film-invitation h3{font-size:32px;line-height:1.15;margin-bottom:12px}
.film-invitation p:last-child{font-size:14px;line-height:1.6;max-width:310px;margin:0}
.rhythm-site .journey-film .film-frame{width:156px;max-width:156px;flex:0 0 156px;justify-self:auto}
.rhythm-site .journey-film .film-frame video{aspect-ratio:3/4}
.rhythm-site .journey-film .film-frame figcaption{padding:28px 8px 10px;justify-content:center}
.rhythm-site .journey-film .film-frame figcaption>span{display:none}
.rhythm-site .film-toggle{min-width:102px;min-height:44px;padding:10px 13px;border-radius:24px}
.rhythm-site .inclusions{display:block;padding-top:40px}
.included-menu{text-align:center}
.included-menu .eyebrow{margin-bottom:8px}
.rhythm-site .included-menu h3{font-size:25px;margin-bottom:23px}
.rhythm-site .included-menu ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;max-width:1080px;margin:0 auto}
.rhythm-site .included-menu li{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:14px;line-height:1.6;min-width:0}
.rhythm-site .included-menu li:before{display:none}
.included-menu .ssc-icon{width:46px;height:46px}
.extras-note{display:grid;grid-template-columns:1fr 3fr;gap:32px;margin-top:32px;border-top:1px solid var(--line);padding-top:23px}
.rhythm-site .extras-note h3{font-size:19px;margin:0}
.rhythm-site .extras-note p{font-size:14px;line-height:1.65;margin-bottom:9px}
.rhythm-site .extras-note p:last-child{margin:0}
.rhythm-site .table-story{padding-top:60px;padding-bottom:0;background:var(--paper)}
.review-panel{max-width:970px;margin:0 auto;padding-bottom:58px;text-align:center}
.rhythm-site .story-heading{display:block;border:0;padding:0;margin:0 0 23px}
.rhythm-site .story-heading .eyebrow{margin:0 0 8px}
.rhythm-site .story-heading h2{font-size:24px;letter-spacing:0}
.proof-copy{max-width:810px;margin:0 auto}
.quote-mark{display:block;height:49px;font:90px/1 Georgia,serif;color:var(--accent);opacity:.65}
.rhythm-site .review-quote blockquote{font-size:clamp(31px,3.9vw,52px);line-height:1.18;margin:12px 0 22px;letter-spacing:-1px;text-wrap:balance}
.rhythm-site .review-quote figcaption{font-size:14px;line-height:1.7}
.rhythm-site .review-quote figcaption span{font-size:12px}
.review-foot{display:grid;grid-template-columns:250px auto;gap:44px;max-width:700px;margin:32px auto 0;align-items:center;text-align:left}
.rhythm-site .friend-photo{width:100%;max-width:250px}
.rhythm-site .friend-photo img{aspect-ratio:604/464;object-fit:contain}
.rhythm-site .friend-photo figcaption{font-size:12px;line-height:1.5}
.rhythm-site .rating{display:block;border:0;padding:0;margin:0}
.rhythm-site .rating p{justify-content:flex-start;gap:9px;margin-bottom:13px}
.rhythm-site .rating .ssc-icon{width:28px;height:28px;align-self:center;margin-right:6px}
.rhythm-site .rating strong{font-size:43px}
.rhythm-site .rating a{font-size:14px;line-height:1.5}
.rhythm-site .rating small{font-size:12px}
.culture-moment{margin-inline:calc(-1 * var(--gutter));padding:46px var(--gutter) 43px;background:var(--story)}
.culture-title{max-width:760px;text-align:center;margin:0 auto 25px}
.culture-title .eyebrow{margin-bottom:12px}
.culture-title h3{font-size:clamp(33px,3.8vw,53px);line-height:1.08}
.rhythm-site .guests-wide{max-width:1120px;margin:0 auto}
.rhythm-site .guests-wide img{aspect-ratio:2.35;max-height:440px;object-fit:cover;object-position:50% 38%}
.rhythm-site .guests-wide figcaption{font-size:12px;line-height:1.5;margin-top:10px}
.culture-caption{max-width:740px;margin:24px auto 0;text-align:center}
.culture-caption p{font-size:15px;line-height:1.7;margin-bottom:12px}
.culture-caption .text-link{font-size:13px;margin-top:0}
.rhythm-site .location{padding-top:50px;padding-bottom:48px}
.location-heading{display:flex;justify-content:center;align-items:center;gap:19px;margin-bottom:28px;text-align:left}
.location-heading>.ssc-icon{width:48px;height:48px}
.location-heading .eyebrow{margin:0 0 7px}
.location-heading h2{font-size:clamp(30px,3.1vw,44px)}
.arrival-board{border:1px solid var(--ticket-line)}
.rhythm-site .arrival-board .map-frame{height:245px}
.arrival-strip{display:grid;grid-template-columns:1.1fr 1.65fr auto;gap:30px;align-items:center;padding:24px 28px;background:var(--arrival)}
.venue-name .eyebrow{margin-bottom:9px}
.venue-name h3{font-size:25px;line-height:1.4}
.venue-name h3 span{display:block;font-size:16px;letter-spacing:0}
.venue-name>p:last-child{font-size:13px;line-height:1.5;margin:7px 0 0}
.entrance-note{display:flex;gap:16px;align-items:flex-start}
.entrance-note>.ssc-icon{width:35px;height:35px;margin-top:4px}
.entrance-note strong{font-size:16px}
.entrance-note p{font-size:14px;line-height:1.7;margin:7px 0 0}
.outline-link{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:60px;border:1px solid currentColor;text-decoration:none;padding:12px 15px;font-size:13px;line-height:1.5;font-weight:700;transition:background .2s,color .2s}
.outline-link .ssc-icon{width:23px;height:23px}
.outline-link:hover{background:var(--ink);color:var(--paper)}
.rhythm-site .final-cta{display:flex;flex-direction:column;gap:26px;padding-top:54px;padding-bottom:42px;text-align:center}
.rhythm-site .final-copy{max-width:820px}
.rhythm-site .final-copy h2{font-size:clamp(48px,5.5vw,76px)}
.rhythm-site .final-copy>p:not(.eyebrow){font-size:16px;margin-bottom:23px}
.rhythm-site .final-copy .button{min-width:300px}
.rhythm-site .brand-illustration{max-width:280px;align-self:center}
.rhythm-site .brand-illustration figcaption{font-size:12px;line-height:1.5}
.table-site .journey{background:var(--paper)}
.table-site .step-art{border-radius:50%;background:#f3e9dc;width:155px}
.table-site .step-art .step-number{left:-20px;color:var(--ink);font-size:16px}
.table-site .step-diagram{width:130px;height:110px}
.table-site .review-quote blockquote{font-size:clamp(33px,4vw,55px)}
.type-site .journey-step h3{font-weight:700}
.type-site .review-quote blockquote{font-family:Arial,Helvetica,sans-serif;font-weight:500}
.type-site .quote-mark{opacity:1}
@media(hover:hover){
 .journey-step:hover .step-diagram{transform:translateY(-3px)}
 .step-diagram{transition:transform .25s var(--ease)}
}
@media(max-width:1050px) and (min-width:761px){
 .rhythm-site .quick-facts{gap:17px}.rhythm-site .quick-facts>span{gap:10px}.quick-facts .ssc-icon{width:29px;height:29px}.quick-facts strong{font-size:13px}
 .journey-path{gap:30px}.step-art{max-width:175px}.step-art:after{left:calc(100% + 3px);width:38px}.step-art:before{left:calc(100% + 39px)}
 .rhythm-site .journey-step p{font-size:14px}.rhythm-site .journey-step h3{font-size:23px}
 .arrival-strip{grid-template-columns:1fr 1.5fr;gap:20px}.arrival-strip .outline-link{grid-column:1/-1;justify-self:center;min-height:48px}.arrival-strip .outline-link br{display:none}
 .review-foot{max-width:650px}
}
@media(max-width:760px){
 .rhythm-site .quick-facts{gap:21px 16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:22px 24px}
 .rhythm-site .quick-facts>span{align-items:flex-start;gap:10px}.quick-facts .ssc-icon{width:28px;height:28px;margin-top:3px}.quick-facts strong{font-size:12px}.quick-facts small{font-size:12px}
 .rhythm-site .header-book{gap:9px;padding:9px 9px 9px 13px;font-size:13px}.header-book .button-arrow{flex-basis:25px;width:25px;height:25px}
 .rhythm-site .button{gap:10px;padding:12px 13px 12px 17px;font-size:13px}.button-arrow{width:30px;height:30px;flex-basis:30px}
 .rhythm-site .journey{padding-top:42px;padding-bottom:31px}
 .rhythm-site .journey-heading{margin-bottom:28px}.rhythm-site .journey-heading .eyebrow{font-size:12px;margin-bottom:13px}.rhythm-site .journey-heading h2{font-size:35px;letter-spacing:-.7px}
 .rhythm-site .journey-heading>p:last-child{font-size:15px;margin-top:16px}
 .journey-path{grid-template-columns:1fr;gap:25px;max-width:490px}
 .rhythm-site .journey-step{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;text-align:left;align-items:center}
 .step-art{width:86px;height:105px;max-width:none;margin:0}
 .step-art:before,.step-art:after{display:none}
 .step-art .step-number{top:0;left:6px;font-size:14px}
 .rhythm-site .step-diagram{width:90px;height:80px}
 .rhythm-site .journey-step h3{font-size:22px;margin-bottom:9px}
 .rhythm-site .journey-step p{font-size:14px;line-height:1.65;margin:0;max-width:none}
 .table-site .step-art{width:86px;height:86px}.table-site .step-art .step-number{left:0;top:-13px;font-size:13px}.table-site .step-diagram{width:79px;height:70px}
 .journey-film{margin-top:28px;padding-top:24px;gap:22px;align-items:center}
 .film-invitation{flex:1;min-width:0}.film-invitation .eyebrow{font-size:12px;letter-spacing:.4px;margin-bottom:9px}
 .film-invitation h3{font-size:25px;margin-bottom:10px}
 .film-invitation p:last-child{font-size:13px;line-height:1.6}
 .rhythm-site .journey-film .film-frame{width:120px;max-width:120px;flex-basis:120px}
 .rhythm-site .inclusions{padding-top:31px}
 .rhythm-site .included-menu h3{font-size:24px;margin-bottom:24px}
 .rhythm-site .included-menu ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}
 .rhythm-site .included-menu li{font-size:13px;gap:11px}
 .included-menu .ssc-icon{width:38px;height:38px}
 .extras-note{grid-template-columns:1fr;gap:12px;padding-top:20px;margin-top:26px}
 .rhythm-site .extras-note p{font-size:14px}
 .rhythm-site .table-story{padding-top:40px}
 .review-panel{padding-bottom:38px}
 .rhythm-site .story-heading{margin-bottom:16px}.rhythm-site .story-heading h2{font-size:23px}
 .quote-mark{font-size:78px;height:39px}
 .rhythm-site .review-quote blockquote{font-size:30px;letter-spacing:-.5px;line-height:1.22;margin:12px 0 18px}
 .rhythm-site .review-quote figcaption{font-size:13px}
 .review-foot{display:flex;flex-direction:column;gap:19px;margin-top:24px;text-align:center}
 .rhythm-site .friend-photo{max-width:228px;width:72%}
 .rhythm-site .rating p{justify-content:center;margin-bottom:9px}.rhythm-site .rating strong{font-size:35px}
 .rhythm-site .rating a{font-size:13px}
 .culture-moment{margin-inline:-24px;padding:35px 24px 31px}
 .culture-title{margin-bottom:21px}.culture-title h3{font-size:35px}.culture-title .eyebrow{font-size:12px}
 .rhythm-site .guests-wide img{aspect-ratio:4/3;max-height:none;object-fit:contain}
 .culture-caption{margin-top:19px;text-align:left}.culture-caption p{font-size:15px}
 .rhythm-site .location{padding-top:36px;padding-bottom:36px}
 .location-heading{gap:13px;margin-bottom:23px;justify-content:flex-start}
 .location-heading>.ssc-icon{width:34px;height:34px}.location-heading h2{font-size:30px}
 .location-heading .eyebrow{font-size:12px}
 .rhythm-site .arrival-board .map-frame{height:220px}
 .arrival-strip{grid-template-columns:1fr;gap:21px;padding:22px}
 .venue-name h3{font-size:24px}.venue-name h3 span{display:inline-block;font-size:16px;margin-left:8px}
 .entrance-note{gap:13px}.entrance-note p{font-size:14px;line-height:1.7}
 .arrival-strip .outline-link{width:100%;min-height:48px;font-size:13px}.arrival-strip .outline-link br{display:none}
 .rhythm-site .final-cta{gap:25px;padding-top:42px;padding-bottom:33px}
 .rhythm-site .final-copy h2{font-size:49px}
 .rhythm-site .final-copy .button{min-width:0;width:100%}
 .rhythm-site .brand-illustration{max-width:240px}
}
@media(max-width:350px){
 .rhythm-site .journey-step{grid-template-columns:65px minmax(0,1fr);gap:15px}
 .step-art,.table-site .step-art{width:65px}.rhythm-site .step-diagram{width:68px}.table-site .step-diagram{width:62px}
 .rhythm-site .journey-step h3{font-size:20px}
 .journey-film{gap:15px}.rhythm-site .journey-film .film-frame{width:102px;max-width:102px;flex-basis:102px}
 .film-invitation h3{font-size:23px}.film-invitation p:last-child{font-size:12px}
 .quick-facts .ssc-icon{width:23px;height:23px}.rhythm-site .quick-facts>span{gap:7px}
}
body.motion-paused .button-arrow svg,body.motion-paused .step-diagram{transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.button-arrow svg,.step-diagram{transform:none!important;transition:none!important}}
