
/* Cape Cod Happy Medium v18: earth-tone, image-first redesign */
:root{--e-ink:#292720;--e-text:#3d382f;--e-deep:#263129;--e-moss:#56614d;--e-olive:#72745b;--e-sage:#8e967f;--e-clay:#9a6148;--e-rust:#774838;--e-sand:#c1ad8d;--e-oat:#d0c0a2;--e-gold:#9b7b4e;--e-light:#d9cbb5;--e-pale:#cbbca5;--e-paper:#bda98b;--e-line:rgba(44,42,35,.24);--e-shadow:0 24px 55px rgba(30,27,22,.22);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html{scroll-behavior:smooth;background:var(--e-deep);overflow-x:hidden}body.cchm-v18{background:var(--e-paper);color:var(--e-ink);font-family:var(--sans);overflow-x:hidden}body.cchm-v18 main{overflow:hidden;background:var(--e-paper)}body.cchm-v18 a{color:inherit}body.cchm-v18 .eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--e-rust)}body.cchm-v18 h1,body.cchm-v18 h2,body.cchm-v18 h3{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}body.cchm-v18 h1{font-size:clamp(3.3rem,7vw,7.4rem);line-height:.94}body.cchm-v18 h2{font-size:clamp(2.5rem,5vw,5.4rem);line-height:.98}body.cchm-v18 h3{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1}body.cchm-v18 p{line-height:1.7}body.cchm-v18 .btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.25rem;border-radius:999px;background:var(--e-deep)!important;color:#efe5d5!important;border:1px solid var(--e-deep)!important;font-weight:800;text-decoration:none}body.cchm-v18 .btn.alt{background:transparent!important;color:var(--e-deep)!important;border-color:var(--e-deep)!important}body.cchm-v18 .btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
body.cchm-v18 .site-header{height:84px;padding:0 clamp(1rem,3.5vw,4rem);background:color-mix(in srgb,var(--e-deep) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid rgba(236,225,207,.18);color:#eee3d1;position:sticky;top:0;z-index:80}body.cchm-v18 .brand{color:#eee3d1}body.cchm-v18 .brand strong{color:#cdb995}body.cchm-v18 .brand em{color:#efe5d5}body.cchm-v18 .brand-mark{background:var(--e-clay);color:#efe5d5}body.cchm-v18 .nav{gap:clamp(.6rem,1.15vw,1.2rem)}body.cchm-v18 .nav>a{color:#eee3d1;font-size:.78rem;letter-spacing:.04em}body.cchm-v18 .nav-book{background:var(--e-clay)!important;border-color:var(--e-clay)!important;color:#f7eee2!important;padding:.65rem .95rem!important}body.cchm-v18 .menu-toggle span{background:#eee3d1}body.cchm-v18 .menu-toggle b{color:#eee3d1}
body.cchm-v18 .earth-hero{position:relative;min-height:calc(100svh - 84px);display:grid;place-items:end start;background:var(--e-deep);overflow:hidden}body.cchm-v18 .earth-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) contrast(1.03)}body.cchm-v18 .earth-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,23,19,.02) 30%,rgba(25,28,23,.22) 58%,rgba(24,26,22,.76) 100%)}body.cchm-v18 .earth-hero-copy{position:relative;z-index:2;max-width:850px;margin:0 0 clamp(2rem,5vw,5rem) clamp(1rem,5vw,6rem);padding:clamp(1.2rem,2.5vw,2rem);color:#f1e8da}body.cchm-v18 .earth-hero-copy .eyebrow{color:#d6c3a3}body.cchm-v18 .earth-hero-copy h1{margin:.35rem 0 1rem;color:#f1e8da;font-size:clamp(2.8rem,5.5vw,6rem)}body.cchm-v18 .earth-hero-copy p{max-width:690px;font-size:clamp(1rem,1.45vw,1.2rem);color:#e6dac7}body.cchm-v18 .earth-hero-copy .btn{background:#d3c09d!important;border-color:#d3c09d!important;color:#272a24!important}body.cchm-v18 .earth-hero-copy .btn.alt{background:rgba(38,49,41,.45)!important;border-color:#d3c09d!important;color:#efe5d5!important}
body.cchm-v18 .earth-section{padding:clamp(3.4rem,7vw,7.5rem) 0;background:var(--e-light);border-top:1px solid var(--e-line)}body.cchm-v18 .earth-section-head{width:min(1380px,92vw);margin:0 auto clamp(1.8rem,4vw,3.3rem);display:flex;justify-content:space-between;gap:2rem;align-items:end}body.cchm-v18 .earth-section-head h2{margin:.25rem 0 .4rem;max-width:830px}body.cchm-v18 .earth-section-head p{margin:0;max-width:620px;color:#554f45}.earth-slider-controls{display:flex;gap:.65rem;flex:0 0 auto}.slider-arrow{width:52px;height:52px;border-radius:50%;border:1px solid var(--e-deep);background:transparent;color:var(--e-deep);font-size:1.3rem;cursor:pointer}.slider-arrow:hover{background:var(--e-deep);color:#eee3d1}
.earth-slider-shell{width:100%;overflow:hidden}.earth-slider-track{display:flex;gap:clamp(1rem,2vw,2rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(4vw,calc((100vw - 1380px)/2));padding:0 max(4vw,calc((100vw - 1380px)/2)) 1.5rem;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--e-rust) transparent}.earth-slide{scroll-snap-align:start;flex:0 0 min(78vw,1120px);min-height:520px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);overflow:hidden;background:var(--e-sand);box-shadow:var(--e-shadow);border:1px solid rgba(51,48,40,.22)}.earth-slide-media{min-height:100%;display:block;overflow:hidden;background:var(--e-moss)}.earth-slide-media img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .6s ease;filter:saturate(.83) contrast(1.02)}.earth-slide:hover .earth-slide-media img{transform:scale(1.025)}.earth-slide-copy{padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center;background:var(--e-sand)}.earth-slide-copy h3{margin:.45rem 0 1rem}.earth-slide-copy h3 a{text-decoration:none}.earth-slide-copy p{color:#4c463c}.text-link{display:inline-flex;gap:.5rem;margin-top:1rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;text-underline-offset:.3rem}.event-slide .earth-slide-copy{background:var(--e-moss);color:#efe5d5}.event-slide .earth-slide-copy .eyebrow{color:#d8c6a8}.event-slide .earth-slide-copy p{color:#e0d6c5}.event-slide .earth-slide-copy .btn{background:#c7ac80!important;border-color:#c7ac80!important;color:#272a24!important}.event-slide .earth-slide-copy .btn.alt{background:transparent!important;color:#efe5d5!important;border-color:#d8c6a8!important}.event-image-fallback{display:grid;place-items:center;min-height:520px;font-size:5rem;color:#cbb795}
body.cchm-v18 .seo-story{background:var(--e-clay);color:#f0e6d6}.seo-story-inner{width:min(1280px,90vw);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,8rem);align-items:start}.seo-story .eyebrow{color:#efd1ad!important}.seo-story h2{margin:.4rem 0;color:#f0e6d6}.seo-story p{color:#f0e6d6;font-size:1.08rem}.quote-section{background:var(--e-sage)!important}.quote-row{width:min(1380px,92vw);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quote-row blockquote{margin:0;padding:clamp(1.5rem,3vw,2.6rem);background:rgba(222,210,190,.68);border:1px solid rgba(44,42,35,.18)}.quote-row blockquote p{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.32}.quote-row cite{font-style:normal;font-weight:800}
body.cchm-v18 .detail-hero{min-height:calc(100svh - 84px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);background:var(--e-sand)}body.cchm-v18 .detail-media{min-height:650px;overflow:hidden}body.cchm-v18 .detail-media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.84) contrast(1.02)}body.cchm-v18 .detail-copy{padding:clamp(3rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center;background:var(--e-sand)}body.cchm-v18 .detail-copy h1{margin:.4rem 0 1.1rem;font-size:clamp(3.4rem,6vw,6.6rem)}body.cchm-v18 .detail-lede,body.cchm-v18 .detail-kicker{font-family:var(--serif);font-size:clamp(1.3rem,2vw,2rem);color:var(--e-rust)}body.cchm-v18 .detail-body p{font-size:1.05rem;color:#484238}body.cchm-v18 .service-price{font:600 1.5rem/1.2 var(--serif);color:var(--e-rust)}body.cchm-v18 .service-note{font-size:.9rem;padding:1rem;border-left:3px solid var(--e-rust);background:rgba(76,70,58,.07)}body.cchm-v18 .service-quote{margin:1.5rem 0 0;padding:1.2rem 0;font-family:var(--serif);font-size:1.35rem;border-top:1px solid var(--e-line);border-bottom:1px solid var(--e-line)}body.cchm-v18 .service-quote cite{display:block;margin-top:.5rem;font-family:var(--sans);font-size:.78rem;font-style:normal}.image-story{display:grid;grid-template-columns:1fr 1fr;padding:0!important;min-height:600px}.image-story-media{min-height:600px}.image-story-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84)}.image-story-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);background:var(--e-olive);color:#efe5d5}.image-story-copy .eyebrow{color:#d7c6a8}.image-story-copy h2{color:#efe5d5;margin:.4rem 0 1rem}.image-story-copy p{color:#e7dcc9}.service-secondary .image-story-copy{background:var(--e-moss)}
.events-intro{display:grid;grid-template-columns:.78fr 1.22fr;min-height:520px;background:var(--e-deep);color:#efe5d5}.events-intro>div{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.events-intro h1{margin:.3rem 0 1rem;color:#efe5d5}.events-intro p{color:#ddd0bc;max-width:540px}.events-intro img{width:100%;height:100%;min-height:520px;object-fit:cover;filter:saturate(.78)}.past-events{background:var(--e-olive)!important;padding-top:2rem!important}.past-events details{width:min(1380px,92vw);margin:auto}.past-events summary{cursor:pointer;padding:1.3rem 0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);color:#efe5d5}.past-events summary span{font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.past-events-inner{margin-inline:calc((100vw - min(1380px,92vw))/2 * -1)}
.simple-intro{padding:clamp(4rem,8vw,8rem) max(4vw,calc((100vw - 1380px)/2));background:var(--e-clay);color:#f0e6d6}.simple-intro h1{margin:.3rem 0 .6rem;color:#f0e6d6}.simple-intro .eyebrow{color:#efd1ad}.simple-intro p{font-size:1.1rem}.contact-strip{display:grid!important;grid-template-columns:.6fr .8fr 1.6fr;gap:1px;padding:0!important;background:var(--e-deep)!important}.contact-strip>div{padding:clamp(2rem,4vw,4rem);background:var(--e-olive);color:#efe5d5}.contact-strip span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#d5c4a6;margin-bottom:.7rem}.contact-strip a,.contact-strip strong{font-family:var(--serif);font-size:1.5rem}.contact-strip p{margin:0;color:#e3d8c5}
body.cchm-v18 .site-footer{background:var(--e-deep);color:#e8ddca;border-top:1px solid rgba(232,221,202,.18)}body.cchm-v18 .site-footer p{color:#cfc2ad}body.cchm-v18 .site-footer a{color:#e8ddca}body.cchm-v18 .footer-brand{font-family:var(--serif);color:#e8ddca}body.cchm-v18 .footer-bottom{border-color:rgba(232,221,202,.18)}body.cchm-v18 .newsletter-panel{background:var(--e-sand);color:var(--e-ink)}body.cchm-v18 .newsletter-kicker{color:var(--e-rust)}
/* Bring legacy event-detail and generic form surfaces into the earth palette. */
body.cchm-v18 .event-detail-hero{background:var(--e-moss)}body.cchm-v18 .event-detail-card{background:rgba(38,49,41,.92);color:#efe5d5;border-color:rgba(235,225,208,.3)}body.cchm-v18 .event-detail-card h1,body.cchm-v18 .event-detail-card p{color:#efe5d5}body.cchm-v18 .event-detail-card .eyebrow{color:#d9c7a7}body.cchm-v18 main>.section:not(.earth-section){background:var(--e-light)}body.cchm-v18 .registration-box,body.cchm-v18 .info-box{background:var(--e-sand);border-color:var(--e-line);color:var(--e-ink)}body.cchm-v18 input,body.cchm-v18 textarea,body.cchm-v18 select{background:#e2d5c1;border-color:#817663;color:#2d2a24}
@media(max-width:1180px){body.cchm-v18 .site-header{height:76px;backdrop-filter:none;-webkit-backdrop-filter:none}.cchm-v18 .nav{background:var(--e-deep)!important;color:#efe5d5}.cchm-v18 .nav>a{font-size:1rem!important}.cchm-v18 .earth-hero{min-height:calc(100svh - 76px)}body.cchm-v18 .detail-hero{min-height:auto}}
@media(max-width:800px){body.cchm-v18 .earth-hero{display:block;min-height:0;background:var(--e-deep)}body.cchm-v18 .earth-hero-image{position:relative;inset:auto;width:100%;height:64svh;min-height:460px;object-fit:cover;object-position:center center}body.cchm-v18 .earth-hero-shade{top:0;left:0;width:100%;height:64svh;min-height:460px;background:linear-gradient(180deg,rgba(25,27,23,.02),rgba(25,27,23,.18))}body.cchm-v18 .earth-hero-copy{position:relative;left:auto;right:auto;bottom:auto;margin:0;padding:1.6rem 1.2rem 2rem;max-width:none;background:var(--e-deep)}body.cchm-v18 .earth-hero-copy h1{font-size:clamp(2.55rem,12vw,4.25rem)}body.cchm-v18 .earth-hero-copy p{font-size:.97rem}.earth-section-head{align-items:center!important}.earth-section-head>div:first-child{min-width:0}.earth-slider-controls{gap:.4rem}.slider-arrow{width:44px;height:44px}.earth-slider-track{padding-left:5vw;padding-right:5vw;scroll-padding-left:5vw}.earth-slide{flex-basis:88vw;min-height:0;grid-template-columns:1fr;grid-template-rows:58vw auto}.earth-slide-media,.earth-slide-media img,.event-image-fallback{min-height:0;height:58vw}.earth-slide-copy{padding:1.6rem}.earth-slide-copy h3{font-size:2.3rem}.seo-story-inner{grid-template-columns:1fr;gap:1rem}.quote-row{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr!important}.detail-media{min-height:0!important;height:58svh}.detail-copy{padding:2.5rem 1.3rem 3rem!important}.detail-copy h1{font-size:clamp(3rem,14vw,5rem)!important}.image-story{grid-template-columns:1fr}.image-story-media{min-height:0;height:65vw}.events-intro{grid-template-columns:1fr;min-height:0}.events-intro>div{padding:3rem 1.3rem}.events-intro img{min-height:0;height:58vw}.contact-strip{grid-template-columns:1fr}.past-events-inner{margin-inline:calc(5vw - min(1380px,92vw)/2 + 46vw)} }
@media(max-width:480px){body.cchm-v18 .earth-section{padding-top:3rem;padding-bottom:3rem}.earth-section-head{width:90vw;gap:.7rem}.earth-section-head h2{font-size:2.4rem}.earth-section-head p{font-size:.9rem}.earth-slider-controls{align-self:flex-end}.slider-arrow{width:40px;height:40px}.earth-slide{flex-basis:90vw}.earth-slide-copy{padding:1.35rem}.earth-hero-copy .cta-row{gap:.55rem}.earth-hero-copy .btn{padding:.72rem .9rem;font-size:.83rem}.site-footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}

/* Variant A — Grounded Sanctuary: closest to Great Jones Spa's editorial card rhythm. */
.theme-A{--e-deep:#2b342d;--e-moss:#596451;--e-olive:#7b8068;--e-sage:#979b83;--e-clay:#9a634b;--e-rust:#744739;--e-sand:#c4b394;--e-oat:#d0c0a3;--e-light:#b9ad95;--e-paper:#a99f87}.theme-A .earth-section.explore-section{background:#b9ad95}.theme-A .experience-slide:nth-child(even){grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr)}.theme-A .experience-slide:nth-child(even) .earth-slide-media{order:2}.theme-A .experience-slide:nth-child(even) .earth-slide-copy{order:1;background:#9a8468}.theme-A .events-slider-section{background:#8c8d73}.theme-A .event-slide{border-radius:2px}.theme-A .earth-slide{border-radius:2px}.theme-A .earth-hero-copy{border-left:1px solid rgba(239,229,211,.48)}.theme-A .detail-copy{background:#c4b394}.theme-A .detail-about .detail-copy{background:#8c8069;color:#f0e6d6}.theme-A .detail-about .detail-copy p{color:#eee3d2}.theme-A .detail-about .detail-copy .eyebrow{color:#dfc8a4}.theme-A .detail-paranormal .detail-copy{background:#596451;color:#f0e6d6}.theme-A .detail-paranormal .detail-copy p{color:#e9dfcf}.theme-A .detail-paranormal .detail-copy .eyebrow{color:#d9c6a8}
@media(max-width:800px){.theme-A .experience-slide:nth-child(even){grid-template-columns:1fr;grid-template-rows:58vw auto}.theme-A .experience-slide:nth-child(even) .earth-slide-media{order:1}.theme-A .experience-slide:nth-child(even) .earth-slide-copy{order:2}}
