/* Local proposal: the existing home/coaches design extended to public pages. */
body.unified-page{--ink:#17141b;--purple:#35105a;--accent:#6419ae;--muted:#62616a;--line:#dedee1;--paper:#f7f7f5;background:#fff;color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.unified-page .site-header{position:relative;inset:auto;height:85px;background:#fff;border-bottom:1px solid #eeebf1;box-shadow:none}
.unified-page .site-header.scrolled{backdrop-filter:none}
.unified-page .header-cta{border-radius:3px;min-height:0;padding:11px 18px;color:#fff;background:var(--purple);font-size:12px;box-shadow:none}
.unified-page .wordmark{letter-spacing:.15em;font-size:13px;line-height:1}
.unified-page .wordmark small{line-height:1;margin-top:5px}
.unified-page .container{width:100%;max-width:1280px;padding-left:50px;padding-right:50px}
.unified-page h1,.unified-page h2,.unified-page h3{color:inherit;font-weight:800;letter-spacing:-.07em}
.unified-page h1{font-size:clamp(58px,6.3vw,96px);line-height:1.02;margin-bottom:26px}
.unified-page h2{font-size:clamp(40px,4.2vw,64px);line-height:1.05;margin-bottom:25px}
.unified-page h3{font-size:28px;line-height:1.13;letter-spacing:-.045em}
.unified-page .eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1.6;color:var(--accent);margin-bottom:22px}
.unified-page .lead{font-size:19px;line-height:1.65;color:#5f5963;max-width:610px}
.unified-page .section{padding:100px 0}
.unified-page .btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 25px;border:0;border-radius:3px;background:var(--purple);color:#fff;font-size:13px;font-weight:800;letter-spacing:0;line-height:1.35;box-shadow:none;cursor:pointer}
.unified-page .btn:hover{transform:translateY(-2px);background:var(--accent)}
.unified-page .btn.light{color:var(--purple);background:#fff}
.unified-page .text-link,.unified-page .link{font-size:14px;font-weight:800;color:var(--purple);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;line-height:1.5}
.unified-page p:not(.eyebrow){line-height:1.65}
.unified-page .sub-hero,.unified-page .camp-hero,.unified-page .blog-hero,.unified-page .review-hero{background:#f6f5f4;color:var(--ink)}
.unified-page .sub-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:80px;min-height:650px;padding-top:70px;padding-bottom:70px}
.unified-page .sub-hero-copy h1{font-size:clamp(58px,5.7vw,86px)}
.unified-page .sub-hero .eyebrow,.unified-page .sub-hero .lead{color:var(--muted)}
.unified-page .sub-hero .eyebrow{color:var(--accent)}
.unified-page .sub-hero-visual{height:500px;aspect-ratio:auto}
.unified-page .sub-hero-visual img{border-radius:0;height:100%;object-fit:cover}
.unified-page[data-page="party"] .sub-hero-visual{aspect-ratio:1.535/1;height:auto}
.unified-page[data-page="one"] .sub-hero-visual{aspect-ratio:3/4;height:auto;max-height:600px}
.unified-page[data-page="one"] .sub-hero-visual img{object-position:50% 50%}
.unified-page .sub-hero-visual .visual-card{position:static;background:transparent;box-shadow:none;color:#6b626e;font-size:9px;letter-spacing:.13em;max-width:none;padding:13px 0 0;border-radius:0;text-align:right}
.unified-page .sub-hero .link{color:var(--purple)}
.unified-page .actions{gap:25px;margin-top:30px}
.unified-page .sub-intro{max-width:820px;margin-bottom:50px}
.unified-page .sub-features{gap:38px;border-top:1px solid #b8b1bd;border-bottom:1px solid var(--line)}
.unified-page .sub-features article{background:transparent;border:0;border-radius:0;min-height:0;padding:34px 0}
.unified-page .sub-features article::before{display:none}
.unified-page .sub-features p{font-size:16px;color:var(--muted)}
.unified-page .prices-section{background:var(--paper)}
.unified-page .split-head{align-items:start;gap:65px;margin-bottom:50px}
.unified-page .split-head>div{max-width:680px}
.unified-page .split-head>p{padding-top:38px}
.unified-page .price-grid{gap:35px}
.unified-page .price-grid article{padding:36px 0;border:0;border-top:1px solid #a99fb2;border-radius:0;box-shadow:none;background:transparent;color:var(--ink)}
.unified-page .price-grid article.featured{padding:36px;background:var(--purple);color:#fff;border-color:var(--purple);border-radius:0;box-shadow:none}
.unified-page .price-grid small{font-size:9px;font-weight:800;letter-spacing:.16em}
.unified-page .price-grid h3{font-size:38px;margin-top:28px}
.unified-page .price-grid strong{font-size:64px;letter-spacing:-.07em;color:var(--purple);margin-bottom:22px}
.unified-page .price-grid .featured strong,.unified-page .price-grid .featured small,.unified-page .price-grid .featured .text-link{color:#fff}
.unified-page .price-grid .text-link{align-self:start;margin-top:auto}
.unified-page .price-grid .featured p{color:#eee4f6}
.unified-page .photo-story .container{gap:80px}
.unified-page .photo-story img{border-radius:0;height:480px}
.unified-page .status-card{max-width:none;padding:0;background:none;border:0;border-radius:0}
.unified-page .trial-end,.unified-page .blog-cta{padding:95px 0;background:var(--purple);color:#fff}
.unified-page .trial-end h2{max-width:720px}
.unified-page .trial-end .eyebrow,.unified-page .blog-cta .eyebrow{color:#e4d4f7}
.unified-page .trial-end p:not(.eyebrow){color:#eee7f6;font-size:17px}
.unified-page .trial-end .btn{flex:none}
.unified-page footer{min-height:120px;padding:35px clamp(24px,4vw,65px);display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fff;color:#48434d}
.unified-page footer nav a{font-size:11px;font-weight:700;text-decoration:none}
.unified-page footer p{font-size:11px;line-height:1.5;margin:0}
.unified-page footer .footer-brand{font-size:13px}

/* Contact retains all the current enquiry fields, arranged within the same system. */
.unified-page .contact-hero{padding:85px 24px 76px;text-align:center;background:#f6f5f4}
.unified-page .contact-hero .container{max-width:1120px}
.unified-page .contact-hero h1{font-size:clamp(58px,7.3vw,110px);max-width:none;margin:0 auto 25px;letter-spacing:-.075em;line-height:1}
.unified-page .contact-hero .lead{max-width:710px;margin:0 auto;font-size:18px}
.contact-jumps{display:flex;align-items:center;justify-content:center;gap:28px;margin:30px auto 0}
.unified-page .contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:95px;align-items:start}
.unified-page .contact-intro{padding-top:24px}
.unified-page .contact-intro h2{font-size:53px;max-width:400px}
.unified-page .contact-intro p:not(.eyebrow){max-width:360px;font-size:17px;color:var(--muted)}
.unified-page .contact-details{font-size:14px;gap:16px;margin-top:40px;padding-top:30px;border-top:1px solid var(--line);overflow-wrap:anywhere;font-weight:600;line-height:1.6}
.unified-page .contact-details a{color:var(--purple)}
.visit-jump{margin-top:15px}
.unified-page .contact-form{border-radius:0;padding:38px;background:#f7f7f5;border:0;border-top:3px solid var(--purple)}
.unified-page .form-note{margin:0 0 32px;padding:0 0 24px;border:0;border-bottom:1px solid #dcd9df;background:none;color:#62616a;font-size:13px;line-height:1.7}
.unified-page .field-group-title{font-size:17px;letter-spacing:-.02em;font-weight:800;margin:26px 0 20px}
.unified-page .field label{font-size:12px;font-weight:750;line-height:1.5;margin-bottom:8px}
.unified-page .field input,.unified-page .field select,.unified-page .field textarea{border-radius:2px;border:1px solid #d4d0d7;background:#fff;padding:12px;min-height:48px;font-size:14px;color:var(--ink);font-family:inherit}
.unified-page .field textarea{min-height:100px}
.unified-page .field input:focus,.unified-page .field select:focus,.unified-page .field textarea:focus{outline:2px solid #6419ae;outline-offset:2px;box-shadow:none}
.unified-page .field-hint{font-size:12px;line-height:1.6;margin-top:8px}
.unified-page .form-context{border:0;border-radius:0;padding:0 0 12px;margin:0 0 26px;border-bottom:1px solid #dcd9df;background:none}
.unified-page .form-context .field-group-title{margin-top:26px}
.unified-page .check-line{font-size:12px;line-height:1.65;gap:10px}
.unified-page .privacy-line{font-size:12px;line-height:1.65}
.unified-page .form-actions .btn{width:100%}
.unified-page .form-feedback{border-radius:0}
.unified-page .contact-next{background:#fff;border-top:1px solid var(--line)}
.unified-page .inline-choices{gap:28px}
.unified-page .inline-choices a{border:0;border-top:1px solid #b8b1bd;border-radius:0;padding:25px 0 10px;min-height:120px;background:none}
.unified-page .inline-choices strong{font-size:25px;letter-spacing:-.04em}
.unified-page .inline-choices span{font-size:13px}
.visit-section{padding:90px 0 100px;background:#f6f5f4}
.visit-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:95px;align-items:center}
.visit-copy>p:not(.eyebrow){font-size:17px;color:var(--muted)}
.visit-copy address{font-style:normal;font-size:17px;line-height:1.75;margin:25px 0}
.visit-times{font-size:10px!important;font-weight:800;letter-spacing:.12em;color:var(--purple)!important}
.visit-times span{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin:7px 0 28px;color:var(--muted)}
.map-panel{min-width:0}
.map-panel iframe{display:block;border:0;width:100%;height:420px;background:#e7e9e1}
.map-panel>p{margin:13px 0 0;font-size:12px;color:var(--muted)}

/* Reviews, editorial pages and legal information follow the same typography. */
.unified-page .review-breadcrumbs{padding-top:22px;padding-bottom:22px;font-size:11px}
.unified-page .review-hero{padding:60px 0 75px}
.unified-page .review-hero-grid{gap:80px}
.unified-page .review-hero figure img,.unified-page .blog-hero-image img,.unified-page .article-photo img{border-radius:0}
.unified-page .review-hero figcaption,.unified-page .blog-hero-image figcaption{position:static;padding:12px 0 0;border-radius:0;background:none;color:var(--muted);font-size:9px;letter-spacing:.1em}
.unified-page .google-reviews{background:var(--purple);padding:50px 0}
.unified-page .google-reviews h2{font-size:40px}
.unified-page .google-reviews .btn{color:var(--purple);background:#fff}
.unified-page .google-reviews .eyebrow{color:#e4d4f7}
.unified-page .parent-review-grid{gap:40px}
.unified-page .parent-review{padding:30px 0;border:0;border-top:1px solid #cfc7d6;background:none;border-radius:0}
.unified-page .parent-review blockquote{font-size:19px;line-height:1.7;color:#403747}
.unified-page .earlier-reviews{background:#f6f5f4;border:0}
.unified-page .earlier-reviews .parent-review{background:none}
.unified-page .blog-hero-grid{gap:80px}
.unified-page .blog-hero h1{font-size:clamp(57px,5.8vw,88px)}
.unified-page .blog-list{background:#fff}
.unified-page .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}
.unified-page .blog-card{border:0;border-radius:0;background:none}
.unified-page .blog-card img{height:300px}
.unified-page .blog-card-body{padding:25px 0}
.unified-page .blog-card h3{font-size:34px;letter-spacing:-.05em}
.unified-page .blog-card .text-link{align-self:start}
.unified-page .article-hero,.unified-page .article-photo{background:#f6f5f4}
.unified-page .article-hero h1{font-size:clamp(46px,5.3vw,80px)}
.unified-page .article-copy{color:#504955}
.unified-page .article-aside{top:30px}
.unified-page .legal-hero{background:#f6f5f4;padding:80px 0}
.unified-page .legal-copy{max-width:920px}
.unified-page .legal-copy h3{margin-top:40px}

@media(max-width:1100px){.unified-page .sub-hero-grid,.unified-page .contact-grid,.visit-grid{gap:45px}.unified-page .contact-intro h2{font-size:44px}.unified-page .container{padding-left:35px;padding-right:35px}}
@media(max-width:760px){
 .unified-page .site-header{height:72px}.unified-page .wordmark{font-size:11px}.unified-page .container{padding-left:24px;padding-right:24px}
 .unified-page .mobile-nav:not([hidden]){top:72px;max-height:calc(100svh - 72px);background:#fff}
 .unified-page h1,.unified-page .sub-hero-copy h1,.unified-page .blog-hero h1{font-size:54px;letter-spacing:-.07em}
 .unified-page h2{font-size:42px}.unified-page .lead{font-size:17px}
 .unified-page .section{padding:65px 0}.unified-page .sub-hero-grid{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:50px;min-height:0}
 .unified-page .sub-hero-visual{height:380px}.unified-page[data-page="one"] .sub-hero-visual{max-height:490px}
 .unified-page .sub-features,.unified-page .price-grid,.unified-page .price-grid.two,.unified-page .contact-grid,.visit-grid,.unified-page .inline-choices{grid-template-columns:1fr;gap:0}
 .unified-page .sub-features article{border-bottom:1px solid var(--line);padding:25px 0}.unified-page .sub-features article:last-child{border-bottom:0}
 .unified-page .split-head{display:block;margin-bottom:30px}.unified-page .split-head>p{padding-top:0}
 .unified-page .price-grid{gap:20px}.unified-page .price-grid article.featured{padding:28px}.unified-page .price-grid strong{font-size:56px}
 .unified-page .photo-story .container{gap:35px}.unified-page .photo-story img{height:340px}
 .unified-page .trial-end,.unified-page .blog-cta{padding:65px 0}
 .unified-page .contact-hero{padding:56px 0 52px}.unified-page .contact-hero h1{font-size:54px}.unified-page .contact-hero .lead{font-size:16px}
 .contact-jumps{flex-direction:column;gap:20px;margin-top:26px}.contact-jumps .btn{min-width:235px}
 .unified-page .contact-intro{padding-top:0;margin-bottom:40px}.unified-page .contact-intro h2{font-size:44px;max-width:360px}
 .unified-page .contact-intro p:not(.eyebrow){max-width:460px;font-size:16px}.unified-page .contact-details{margin-top:30px;padding-top:25px}
 .unified-page .contact-form{padding:27px 22px}.unified-page .form-row{grid-template-columns:1fr;gap:0}.unified-page .field{margin-bottom:20px}
 .visit-section{padding:65px 0}.visit-grid{gap:35px}.map-panel iframe{height:340px}.visit-copy h2{font-size:44px}
 .unified-page .inline-choices a{min-height:115px;gap:15px}
 .unified-page .review-hero-grid,.unified-page .blog-hero-grid{gap:35px}.unified-page .review-hero{padding:40px 0 55px}
 .unified-page .parent-review-grid{grid-template-columns:1fr;gap:0}.unified-page .parent-review blockquote{font-size:17px}
 .unified-page .blog-hero{padding:55px 0}.unified-page .blog-grid{grid-template-columns:1fr;gap:30px}.unified-page .blog-card img{height:260px}
 .unified-page .blog-card h3{font-size:30px}.unified-page .legal-hero{padding:55px 0}
 .unified-page footer{display:block;padding:35px 26px 45px}.unified-page footer nav{margin:26px 0}.unified-page footer nav a{font-size:12px}
}
@media(max-width:370px){.unified-page h1,.unified-page .sub-hero-copy h1,.unified-page .contact-hero h1{font-size:46px}.unified-page .contact-form{padding:24px 16px}}
