/* Page composition only. Palette, type, components and motion belong to system.css. */
.masthead .toc{padding:0;gap:var(--space-6)}
.brand-period{color:var(--accent)}
.hero-intro{margin-top:var(--space-8);max-width:44ch}
.hero figure{text-align:center}
.hero figure figcaption{margin-top:var(--space-6)}
.hero h1{max-width:13ch}
.hero-caption{align-items:center}
.problem-item{padding-top:var(--space-6);border-top:1px solid var(--border)}
.problem-item p{font-size:var(--type-subhead);line-height:1.5}
.turn-layout{max-width:1000px}
.turn-layout h2{max-width:29ch}
.turn-layout .motif-line{display:block;margin-top:var(--space-8);margin-left:auto}
.offers{align-items:stretch}
.offer .eyebrow{margin-bottom:0}
.offer .spot{margin:var(--space-6) auto;flex:none}
.offer ul{padding-left:var(--space-6);font-size:var(--type-small);margin:0}
.offer .button-row{margin-top:auto}
.offer .availability{margin-top:auto}
.offer .button.link{font-size:var(--type-label);text-align:left;justify-content:start}
.process-row{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);position:relative}
.steps li{font-size:var(--type-small)}
.steps .meta{display:block;color:var(--accent)}
.about-grid{gap:var(--space-24);align-items:center}
.quote-panel{border-block:1px solid var(--border);padding:var(--space-12) 0;text-align:center}
.quote-panel blockquote{font:400 var(--type-title)/1.2 var(--font-display);letter-spacing:var(--tracking-display);margin:var(--space-8) 0;text-wrap:balance}
.quote-panel .spot{margin:var(--space-8) auto 0}
.contact-grid{gap:var(--space-24)}
.contact-grid form>.grid{gap:var(--space-6)}
.enquiry-steps{padding-left:var(--space-6);font-size:var(--type-small)}
.enquiry-steps li{padding:var(--space-3) 0}
.booking{margin-top:var(--space-12);padding-top:var(--space-8)}
.booking-body{max-width:var(--measure)}
#cal-embed{height:700px;width:100%;overflow:auto;margin-top:var(--space-8);border:1px solid var(--border)}
#cal-embed iframe{width:100%;height:100%;border:0}
.email-link{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.site-footer{padding-bottom:var(--space-8)}
.footer-grid{grid-template-columns:1.4fr .7fr 1fr}
.footer-grid .eyebrow{margin-bottom:var(--space-3)}
.copyright{margin-top:var(--space-12)}
.guide-cover{max-width:340px;margin:auto auto 0}
.guide-cover img{width:100%;height:auto;box-shadow:8px 12px 0 var(--border)}
.guide-joke{font-size:var(--type-subhead)}
.reading-list,.contents{list-style:none;padding:0;margin:0}
.reading-list li{padding:var(--space-6) 0;border-top:1px solid var(--border)}
.contents li{display:grid;grid-template-columns:var(--space-12) 1fr;gap:var(--space-6);align-items:baseline;padding:var(--space-6) 0;border-top:1px solid var(--border);font-size:var(--type-subhead)}
#inside .spot{margin:var(--space-8) 0 0}
@media(max-width:1000px){.contact-grid,.about-grid{gap:var(--space-12)}.masthead{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.offers{grid-template-columns:1fr}.offers>*:last-child{grid-column:auto}.offer{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-12)}.offer .eyebrow,.offer h3{grid-column:1}.offer .spot{grid-column:2;grid-row:1/4}.offer p,.offer ul,.offer .availability,.offer .button,.offer .button-row{grid-column:1/-1}.offer .price{grid-column:1}.offer .spot{margin:var(--space-6) auto}.offer h3{font-size:var(--type-heading)}}
@media(max-width:620px){.masthead .toc{gap:var(--space-4);width:100%;justify-content:space-between}.masthead .toc a{font-size:var(--type-label)}.hero-caption{align-items:start;flex-direction:column}.hero-intro{margin-top:var(--space-6)}.hero figure{margin-top:var(--space-8)}.contact-grid,.about-grid{gap:var(--space-12)}.offer{display:flex}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.guide-cover{max-width:260px}.hero-top>.stack{min-width:0}.hero .stack h1{margin-top:0}.steps{grid-template-columns:1fr 1fr}.contact-grid form>.grid{gap:0}}
.booking-invitation{padding:var(--space-8);max-width:var(--measure)}
/* Charm placement (M5/M6): hosts isolate so the field sits under content; body text never overlaps on phones. */
:has(>.charm-field){position:relative;isolation:isolate}
@media(max-width:620px){.charm-field{display:none}.site-footer .charm-field{display:block}}
@media(max-width:620px){.site-footer .charm:nth-child(1){--x:70%!important;--y:2%!important;--s:40px!important}.site-footer .charm:nth-child(2){--x:60%!important;--y:38%!important;--s:40px!important}.site-footer .charm:nth-child(3){--x:80%!important;--y:48%!important;--s:48px!important}.site-footer .charm:nth-child(4){--x:88%!important;--y:30%!important;--s:36px!important}.site-footer .charm:nth-child(5){--x:84%!important;--y:84%!important;--s:36px!important}.site-footer .charm:nth-child(6){--x:60%!important;--y:28%!important;--s:32px!important}.site-footer .charm{--parallax-clamp:8px}.site-footer .type-scatter b:nth-child(1){--x:50%!important;--y:3%!important}.site-footer .type-scatter b:nth-child(2){--x:92%!important;--y:4%!important}.site-footer .type-scatter b:nth-child(3){--x:50%!important;--y:58%!important}.site-footer .type-scatter b:nth-child(4){--x:70%!important;--y:27%!important}.site-footer .type-scatter b:nth-child(5){--x:45%!important;--y:36%!important}.site-footer .type-scatter b:nth-child(6){--x:92%!important;--y:40%!important}.site-footer .type-scatter b:nth-child(7){--x:50%!important;--y:50%!important}.site-footer .type-scatter b:nth-child(8){--x:68%!important;--y:52%!important}.site-footer .type-scatter b:nth-child(9){--x:92%!important;--y:60%!important}.site-footer .type-scatter b:nth-child(10){--x:88%!important;--y:80%!important}.site-footer .type-scatter b:nth-child(11){--x:78%!important;--y:90%!important}.site-footer .type-scatter b:nth-child(12){--x:95%!important;--y:93%!important}}
