:root { --paper:#f5f1eb; --ink:#262522; --muted:#625d56; --sage:#34443e; --sand:#d9c8b9; --line:rgba(38,37,34,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.session-header { min-height:86px; padding:0 clamp(24px,5vw,72px); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.logo { display:flex; flex-direction:column; line-height:1; }.logo span { font:400 25px/1 Georgia,serif; }.logo small { margin-top:7px; font-size:8px; letter-spacing:3px; }
.session-header nav { display:flex; gap:30px; font-size:11px; }.session-header nav a { padding-bottom:3px; border-bottom:1px solid transparent; }.session-header nav a:hover { border-color:currentColor; }
.session-hero { min-height:calc(100vh - 86px); display:grid; grid-template-columns:.9fr 1.1fr; }
.session-hero-copy { padding:clamp(70px,10vw,150px) clamp(30px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 28px; font-size:10px; letter-spacing:2px; }
h1 { margin:0; font:400 clamp(70px,9vw,132px)/.86 Georgia,serif; letter-spacing:-4px; }
.session-hero-copy>p:not(.eyebrow) { max-width:560px; margin:38px 0 0; color:var(--muted); font-size:16px; line-height:1.8; }
.hero-cta { margin-top:38px; align-self:flex-start; padding:17px 22px; background:var(--sage); color:white; font-size:11px; }
.session-hero-photo { margin:0; min-height:650px; overflow:hidden; }.session-hero-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.quick-facts { display:grid; grid-template-columns:repeat(3,1fr); padding:0 max(7vw,28px); background:var(--sage); color:white; }
.quick-facts article { min-height:165px; padding:34px 35px 28px 0; margin-right:35px; border-right:1px solid rgba(255,255,255,.25); }.quick-facts article:last-child { border:0; }
.quick-facts span { font-size:9px; letter-spacing:1.5px; color:#bdc9c3; }.quick-facts strong { display:block; margin-top:20px; font:400 28px/1.15 Georgia,serif; }
.session-content { padding:130px max(8vw,28px); }.content-intro { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; margin-bottom:80px; }.content-intro h2 { margin:0; font:400 clamp(48px,6vw,82px)/.98 Georgia,serif; letter-spacing:-2px; }.content-intro p { max-width:680px; margin:0; color:var(--muted); font-size:16px; line-height:1.85; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.info-card { min-height:260px; padding:38px 55px 38px 0; margin-right:55px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.info-card:nth-child(2n) { border-right:0; margin-right:0; }.info-card h3 { margin:0 0 19px; font:400 32px/1.1 Georgia,serif; }.info-card p,.info-card li { color:var(--muted); font-size:14px; line-height:1.75; }.info-card ul { margin:0; padding-left:18px; }
.note { margin-top:60px; padding:35px 40px; background:#ded3c7; display:grid; grid-template-columns:.4fr 1.6fr; gap:35px; }.note strong { font:400 24px Georgia,serif; }.note p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.pricing { padding:130px max(8vw,28px); background:#ded3c7; }
.pricing-heading { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:end; margin-bottom:70px; }
.pricing-heading .eyebrow { align-self:start; }
.pricing-heading h2 { max-width:760px; margin:0; font:400 clamp(50px,6vw,82px)/.98 Georgia,serif; letter-spacing:-2px; }
.pricing-heading p:last-child { max-width:650px; margin:28px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.price-grid.two { grid-template-columns:repeat(2,1fr); }
.price-card { min-height:540px; padding:38px; display:flex; flex-direction:column; background:var(--paper); border:1px solid rgba(38,37,34,.08); }
.price-card.featured { background:var(--sage); color:white; }
.price-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.featured .price-card-header { border-color:rgba(255,255,255,.24); }
.price-card h3 { margin:0; font:400 clamp(34px,3.5vw,48px)/1 Georgia,serif; }
.price-card .price { flex:none; font:400 clamp(34px,3.4vw,49px)/1 Georgia,serif; white-space:nowrap; }
.price-card ul { margin:30px 0 20px; padding:0; list-style:none; }
.price-card li { position:relative; margin:0 0 13px; padding-left:20px; color:var(--muted); font-size:13px; line-height:1.55; }
.price-card li::before { content:"—"; position:absolute; left:0; }
.featured li { color:#e4e9e6; }
.price-card .pack-note { margin:auto 0 0; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.65; }
.featured .pack-note { border-color:rgba(255,255,255,.24); color:#dce3df; }
.pricing-notes { margin-top:18px; padding:32px 38px; background:#f0e9e1; }
.pricing-notes h3 { margin:0 0 18px; font:400 27px/1.1 Georgia,serif; }
.pricing-notes ul { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 45px; margin:0; padding-left:18px; }
.pricing-notes li { color:var(--muted); font-size:12px; line-height:1.65; }
.session-gallery { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:10px; padding:10px; background:var(--sage); }.session-gallery figure { margin:0; height:560px; overflow:hidden; }.session-gallery figure:nth-child(2) { height:680px; margin-top:-60px; }.session-gallery img { width:100%; height:100%; display:block; object-fit:cover; }
.session-contact { padding:120px max(8vw,28px); display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; background:#e2d8ce; }.session-contact h2 { margin:0; font:400 clamp(50px,6.5vw,90px)/.95 Georgia,serif; letter-spacing:-2px; }.session-contact>div>p { max-width:560px; margin:0 0 28px; color:var(--muted); font-size:15px; line-height:1.8; }.session-contact a { display:inline-block; padding:17px 22px; background:var(--sage); color:white; font-size:11px; }
.session-footer { min-height:130px; padding:38px max(5vw,28px); display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:10px; }.session-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
@media(max-width:760px){.session-header{min-height:72px;padding:0 20px}.session-header nav{display:none}.logo span{font-size:21px}.session-hero{grid-template-columns:1fr}.session-hero-copy{padding:80px 24px}.session-hero-copy h1{font-size:72px}.session-hero-photo{min-height:520px}.quick-facts{grid-template-columns:1fr;padding:20px 24px}.quick-facts article{min-height:auto;margin:0;padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.session-content{padding:90px 24px}.content-intro,.info-grid,.note,.session-contact{grid-template-columns:1fr}.content-intro{gap:35px}.content-intro h2{font-size:49px}.info-card,.info-card:nth-child(2n){min-height:auto;margin:0;padding:32px 0;border-right:0}.note{padding:28px;gap:18px}.session-gallery{grid-template-columns:1fr 1fr;padding:7px;gap:7px}.session-gallery figure,.session-gallery figure:nth-child(2){height:360px;margin:0}.session-gallery figure:last-child{grid-column:span 2;height:320px}.session-contact{padding:85px 24px;gap:35px}.session-contact h2{font-size:52px}.session-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.pricing{padding:85px 18px}.pricing-heading{grid-template-columns:1fr;gap:20px;margin:0 6px 45px}.pricing-heading h2{font-size:49px}.price-grid,.price-grid.two{grid-template-columns:1fr}.price-card{min-height:0;padding:30px 26px}.price-card-header{align-items:flex-end}.price-card h3,.price-card .price{font-size:38px}.pricing-notes{padding:28px}.pricing-notes ul{grid-template-columns:1fr;gap:11px}}
