.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}.stories-section{padding:20px 0 100px}.stories-section .section-head{align-items:end}.section-description{max-width:330px;font-size:14px;line-height:1.8}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.story-card{border-top:1px solid var(--ink);padding:24px 0 0;position:relative}.story-number{font:68px/.9 var(--serif);color:var(--rust);margin-bottom:35px}.story-card h3{font-size:33px;margin:18px 0}.story-place{font-size:14px;line-height:1.7;margin:22px 0 27px}.story-place span{color:var(--muted)}.story-card .text-link{font-size:10px;gap:15px}.story-note{font-size:11px;color:var(--muted);margin-top:30px}.selected-frames-title{padding:0 0 35px}.selected-frames-title h2{font-size:44px;margin-top:15px}.seasonal-feature{background:#f0eee5;padding:80px 0}.seasonal-home-links{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:36px 0 45px}.seasonal-home-links a{display:flex;flex-direction:column;align-items:start;justify-content:space-between;min-height:180px}.seasonal-home-links h3{font-size:30px;margin:20px 0}.seasonal-home-links a>span:last-child{font-size:30px}.seasonal-home-links a:hover h3{color:var(--rust)}.sports-home-link{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:25px;padding:25px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.sports-home-link>span:nth-child(2){font:30px/1.2 var(--serif)}.sports-home-link b{font-size:28px;font-weight:400}.session-nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding:20px 0;margin-bottom:45px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.session-nav a{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:5px 0}.session-nav a[aria-current=page],.session-nav a:hover{color:var(--rust);box-shadow:0 1px var(--rust)}.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 50px;padding-bottom:70px}.session-art{display:block}.session-art picture{display:block}.session-art img{height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center 48%}.session-letter{aspect-ratio:5/4;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.session-letter>span{font-size:11px;letter-spacing:.15em}.session-letter i{font:italic clamp(60px,6.8vw,110px)/1 var(--serif);align-self:center;margin-bottom:15%}.sand{background:#ede5d4;color:#4f5142}.blue{background:#e3e9ed;color:#37464b}.rust{background:#b75c3e;color:#fffaf0}.forest{background:#394734;color:#f8f4e7}.session-card-copy{padding-top:23px}.session-card-copy h3{font-size:35px;margin:12px 0 18px}.session-card-copy>p:not(.eyebrow){max-width:440px;font-size:14px;line-height:1.9}.session-card-copy .text-link{margin-top:23px}.session-availability{padding:35px 0 50px;display:grid;grid-template-columns:.65fr 1.3fr .8fr;align-items:start;gap:35px;border-top:1px solid var(--rule)}.session-availability p:not(.eyebrow){font-size:14px;line-height:1.8}.session-availability .text-link{font-size:10px;white-space:nowrap}.photo-pending{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 30px;border:1px solid #d7d8ce}.photo-pending .pending-heading{font:italic clamp(38px,5vw,70px)/1.15 var(--serif);margin:28px auto;max-width:700px}.photo-pending p:last-child{font-size:13px;max-width:400px}.sports-pending{color:var(--paper);background:var(--ink)}.session-enquiry{padding:80px 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.session-enquiry h2{font-size:52px;margin-top:25px}.session-enquiry>div>p:not(.eyebrow){font-size:14px;line-height:1.9}.session-enquiry .pill{margin:28px 0 12px}.session-enquiry .small-note{font-size:11px!important}.mini-photo-grid{columns:2;column-gap:40px;max-width:1000px;margin:auto}.menu-body{margin:4vh auto}.menu-links>a{font-size:clamp(30px,3.8vw,47px)}.menu-session-links{display:flex;flex-wrap:wrap;gap:10px 16px;padding:1px 0 10px}.menu-session-links a{font:11px/1.6 var(--sans);letter-spacing:.03em}.menu-session-links a:hover{font-style:normal;text-decoration:underline}.client-words{padding:65px 0 80px;border-top:1px solid var(--rule)}.client-words>.eyebrow{text-align:center;margin-bottom:45px}.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px}.quote-grid figure{padding:0 35px;text-align:center}.quote-grid blockquote{margin:0;font:30px/1.45 var(--serif)}.quote-grid figcaption{justify-content:center;margin-top:25px;color:var(--muted);font-size:10px}
@media(max-width:900px){.session-availability{grid-template-columns:1fr 2fr}.session-availability .text-link{grid-column:2}.seasonal-home-links{grid-template-columns:repeat(2,1fr)}.story-grid{gap:25px}.story-card h3{font-size:29px}.quote-grid figure{padding:0}}
@media(max-width:600px){.stories-section{padding:0 0 65px}.stories-section h2{font-size:39px}.section-description{margin-top:23px;font-size:13px}.story-grid{grid-template-columns:1fr;gap:35px;margin-top:25px}.story-card{padding-top:25px;display:grid;grid-template-columns:48px 1fr;column-gap:20px}.story-number{grid-column:1;grid-row:1/5;font-size:43px;margin:0}.story-card>.eyebrow,.story-card h3,.story-card .story-place,.story-card .text-link{grid-column:2}.story-card h3{font-size:31px;margin:13px 0}.story-place{margin:0 0 20px;font-size:13px}.story-card .text-link{justify-self:start}.story-note{line-height:1.8;margin-top:25px;font-size:10px}.selected-frames-title h2{font-size:36px}.seasonal-feature{padding:60px 0}.seasonal-home-links{gap:24px 20px;padding:25px 0 35px}.seasonal-home-links a{min-height:160px}.seasonal-home-links h3{font-size:27px;margin:15px 0}.seasonal-home-links .eyebrow{font-size:9px}.sports-home-link{grid-template-columns:1fr auto;gap:15px;padding:22px 0}.sports-home-link>.eyebrow{grid-column:1/-1;font-size:9px}.sports-home-link>span:nth-child(2){font-size:28px}.sports-home-link b{font-size:24px}.session-nav{gap:7px 17px;margin-bottom:28px;padding:17px 0}.session-nav a{font-size:9px}.session-grid{grid-template-columns:1fr;gap:45px;padding-bottom:45px}.session-letter{padding:23px}.session-letter i{font-size:70px;margin-bottom:13%}.session-card-copy h3{font-size:33px}.session-card-copy>p:not(.eyebrow){font-size:13px}.session-card-copy .text-link{font-size:10px}.session-availability{display:block;padding:30px 0}.session-availability p:not(.eyebrow){margin:20px 0;font-size:13px}.photo-pending{min-height:330px;padding:35px 22px}.photo-pending .eyebrow{font-size:9px}.photo-pending .pending-heading{font-size:43px;overflow-wrap:anywhere}.photo-pending p:last-child{font-size:12px}.session-enquiry{display:block;padding:50px 0 65px}.session-enquiry h2{font-size:41px;margin:20px 0 28px}.session-enquiry .pill{font-size:9px;padding:13px 18px;gap:18px;max-width:100%;text-align:center}.mini-photo-grid{column-gap:15px}.menu-body{margin:3vh auto}.menu-links{gap:1px}.menu-links>a{font-size:30px}.menu-session-links{gap:5px 14px;padding:5px 0 8px}.menu-session-links a{font-size:10px}.menu-aside{padding-top:16px}.client-words{padding:45px 0 55px}.client-words>.eyebrow{margin-bottom:30px}.quote-grid{grid-template-columns:1fr;gap:40px}.quote-grid blockquote{font-size:26px}.quote-grid figcaption{font-size:9px;margin-top:17px}}
@media(max-width:360px){.page-intro h1{font-size:48px}}
.senior-story-grid{grid-template-columns:repeat(2,1fr)}.showcase-pending{font-size:11px;line-height:1.7;color:var(--muted)}.sports-gallery-status{margin-top:24px;font-size:11px;opacity:.8}
@media(max-width:600px){.senior-story-grid{grid-template-columns:1fr}.story-card .showcase-pending{grid-column:2}}
.owner-review-note{margin-top:32px;padding:20px 24px;background:#eeeae0;border-left:3px solid var(--rust);font-size:12px;line-height:1.75}.owner-review-note strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.owner-review-note p{margin-top:7px}.sports-gallery-link{margin-top:30px}.sports-pending>.eyebrow{max-width:100%}
.summer-preview-pair{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px;max-width:900px;margin:auto}.summer-preview-pair img{display:block;width:100%;height:auto}.featured-gallery{text-align:center;padding:55px 0 25px}.featured-gallery h2{font-size:48px;margin:20px 0}.featured-gallery>p:not(.eyebrow){font-size:14px;line-height:1.8}.featured-gallery .text-link{margin-top:25px}
@media(max-width:600px){.summer-preview-pair{gap:20px;grid-template-columns:1fr;max-width:420px}.summer-preview-pair figure:nth-child(2){max-width:300px;margin:auto}.featured-gallery h2{font-size:39px}}
.family-feature{padding-bottom:70px}.family-feature .featured-gallery{padding-top:0}
.summer-lead{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:center;max-width:960px;margin:0 auto 80px}.summer-lead figure{max-width:380px}.summer-lead img{display:block;width:100%;height:auto}.summer-lead h2{font-size:58px;line-height:1.1;margin:24px 0}.summer-lead p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:400px}.summer-lead .text-link{margin-top:28px}.summer-support{padding:45px 0 20px;border-top:1px solid var(--rule)}.summer-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:30px}.summer-support-image{display:block}.summer-support-image img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}.summer-support-grid h3{font-size:33px;margin:25px 0 20px}
@media(max-width:600px){.summer-lead{display:block;margin-bottom:55px}.summer-lead figure{max-width:350px;margin:auto auto 35px}.summer-lead h2{font-size:43px}.summer-support-grid{grid-template-columns:1fr;gap:40px}.summer-support-grid h3{font-size:31px}.summer-support{padding-top:32px}}
.all-sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px 32px;padding:25px 0 85px}.all-sessions-grid .session-card-copy h2{font-size:34px;line-height:1.15;margin:12px 0 18px}.all-sessions-grid .session-letter i{font-size:65px}.all-sessions-grid .text-link{font-size:10px;gap:16px}.sessions-seasonal{padding:60px 0 35px;border-top:1px solid var(--rule)}
@media(max-width:900px){.all-sessions-grid{grid-template-columns:1fr 1fr;gap:55px 28px}}
@media(max-width:600px){.all-sessions-grid{grid-template-columns:1fr;gap:45px;padding:0 0 55px}.all-sessions-grid .session-card-copy h2{font-size:34px}.sessions-seasonal{padding-top:40px}}

/* Keep longer seasonal labels within their cards on small screens. */
.session-letter i{max-width:100%;text-align:center;font-size:clamp(38px,5vw,76px)}
@media(max-width:700px){.session-letter i{font-size:clamp(38px,11vw,60px)}}
