.session-wrap{max-width:1100px;margin:auto;padding:32px 32px 60px}.session-back{font-size:13px;text-decoration:none;display:inline-block;margin-bottom:28px}.session-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto auto;gap:0 36px;align-items:start}.session-photo{grid-column:1;grid-row:1/4;position:relative;aspect-ratio:3/4;overflow:hidden;background:#ece8e2;width:100%}.session-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.session-copy{grid-column:2;grid-row:1/3}.session-copy .eyebrow{margin:0 0 12px;font-size:11px}.session-copy h1{font-size:clamp(32px,4vw,48px);line-height:1.2;margin:0 0 22px}.session-copy .lead{font-size:17px;line-height:1.7;margin:0}.session-note{font-size:13px;line-height:1.75;color:#68645e}.session-copy .session-note{margin:24px 0}.session-thumbs{grid-column:2;grid-row:3;display:flex;gap:10px;align-self:end;padding-top:20px;overflow-x:auto;scroll-snap-type:x mandatory}.session-thumb{flex:0 0 calc((100% - 30px)/4);aspect-ratio:3/4;min-width:0;border:2px solid transparent;padding:0;background:none;opacity:.65;cursor:pointer;scroll-snap-align:start}.session-thumb[aria-pressed=true]{border-color:var(--ink);opacity:1}.session-thumb img{display:block;width:100%;height:100%;object-fit:cover}.session-controls{grid-column:1;grid-row:4;display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px}.session-controls button{border:1px solid var(--line);border-radius:24px;width:44px;height:36px;background:transparent;color:var(--ink);cursor:pointer}.session-prices{margin-top:44px}.session-prices h2,.session-faq h2{font-size:32px}.session-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.session-packages article{border-top:1px solid var(--line);padding-top:18px}.session-packages h3{font-size:23px;margin:0}.session-packages p:not(.session-price){font-size:13px;line-height:1.8}.session-price{font:500 38px/1.2 'Playfair Display',serif;display:flex;align-items:flex-start;gap:3px;margin:14px 0}.session-price .currency{font:500 17px/1 'DM Sans',sans-serif;padding-top:5px}.session-faq{margin-top:36px}.session-faq details{border-top:1px solid var(--line);padding:16px 0}.session-faq summary{cursor:pointer;font-size:15px}.session-faq details p{font-size:14px}.session-booking{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.session-page .btn:hover{background:#403c37;border-color:#403c37}.session-page button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.session-discovery{padding:65px 32px;background:var(--cream);color:var(--ink)}.session-discovery-inner{max-width:1240px;margin:auto}.session-discovery h2{margin:14px 0;font:500 clamp(32px,4vw,48px)/1.2 'Playfair Display',serif}.session-discovery-inner>p:not(.eyebrow){font-size:15px;color:#68645e}.session-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:32px}.session-card{min-width:0;text-decoration:none;display:flex;flex-direction:column;color:inherit}.session-card-photo{position:relative;display:block;aspect-ratio:3/4;width:100%;overflow:hidden;background:#ece8e2}.session-card-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.session-card h3{font:500 26px/1.3 'Playfair Display',serif;margin:18px 0 6px}.session-card p{font-size:13px!important;line-height:1.6;min-height:42px;margin:0 0 15px}.session-card-link{align-self:flex-start;font-size:12px;border-bottom:1px solid #9b9790;padding-bottom:3px}.session-card:hover .session-card-link{border-color:var(--ink)}
@media(max-width:650px){.session-wrap{padding:25px 20px 45px}.session-hero{display:flex;flex-direction:column;gap:0}.session-copy{order:0}.session-copy h1{font-size:34px}.session-photo{order:1;margin-top:8px}.session-controls{order:2;width:100%}.session-thumbs{order:3;width:100%;padding-top:16px}.session-packages{gap:12px}.session-packages h3{font-size:20px}.session-price{font-size:32px}.session-packages p:not(.session-price){font-size:12px}.session-discovery{padding:45px 20px}.session-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.session-card h3{font-size:23px}.session-card p{min-height:42px}.session-copy .lead{font-size:16px}}
@media(prefers-reduced-motion:reduce){.session-thumbs{scroll-behavior:auto}}
