/* Header appearance control, styled to match ReMe's rounded slate accents. */
.footer-links{max-width:460px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #bac9d3;border-radius:100px;background:rgba(255,255,255,.36);color:#526578;line-height:1}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{border-color:#71899a;background:rgba(255,255,255,.7)}
.theme-toggle:focus-visible{outline-color:#54758b}
.theme-toggle__icon{display:block;width:19px;height:19px;pointer-events:none}
.theme-toggle__icon--sun,html[data-theme="dark"] .theme-toggle__icon--moon{display:none}
html[data-theme="dark"] .theme-toggle__icon--sun{display:block}
@media(max-width:550px){.header-inner{grid-template-columns:minmax(0,1fr) 44px 50px}.theme-toggle{grid-column:2;grid-row:1;justify-self:end}.nav-toggle{grid-column:3;grid-row:1}}
.journal-illustration{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#d6e2e8 0%,#f2f5f6 58%,#f5f0e8 100%)}
.journal-illustration__frame{width:min(70%,410px);padding:65px 30px;text-align:center;border:1px solid rgba(74,95,109,.24)}
.journal-feature__loading{margin:24px 0;font-size:1.05rem}
.journal-illustration[data-journal-feature]{height:auto;align-items:stretch}
.journal-illustration[data-journal-feature]>.journal-illustration__frame{align-self:center}
.journal-feature{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-height:inherit;padding:clamp(30px,5vw,65px);color:var(--ink);text-align:center;overflow:hidden}
.journal-feature:hover{color:var(--ink)}
.journal-feature:focus-visible{outline-offset:-7px}
.journal-feature>img{position:absolute;inset:0;z-index:-2;object-position:center;transition:transform .3s}
.journal-feature--image{align-items:flex-end;justify-content:flex-start;text-align:left}
.journal-feature--image::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,32,43,.08),rgba(20,32,43,.8) 60%,rgba(20,32,43,.97))}
.journal-feature--image,.journal-feature--image:hover,.journal-feature--image .eyebrow{color:#fff!important}
.journal-feature:hover>img{transform:scale(1.025)}
.journal-feature__body{max-width:580px;width:100%}
.journal-feature__meta{font-size:.8rem;line-height:1.6;margin:15px 0 12px}
.journal-feature__title{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.15;margin:0 0 25px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.journal-feature .journal-feature__action{font-size:.96rem;max-width:100%;overflow-wrap:break-word}
@media(max-width:550px){.journal-feature{padding:30px 24px}.journal-feature__title{font-size:1.9rem}.journal-illustration__frame{width:86%;padding:40px 24px}}
@media(prefers-reduced-motion:reduce){.journal-feature>img{transition:none}.journal-feature:hover>img{transform:none}}

html[data-theme="dark"]{
  --ink:#e9edf0;--ink-soft:#c5d0d8;--muted:#a4b5c0;--paper:#171f27;
  --mist:#202e3a;--mist-2:#2a3c49;--line:#455762;--accent:#b6cad7;
  --sage:#24322d;--warm:#2b2d2c;--white:#202a34;--shadow:0 16px 55px rgba(0,0,0,.2);
  color-scheme:dark;
}
html[data-theme="dark"] a:hover{color:#c1d9e6}
html[data-theme="dark"] :focus-visible{outline-color:#a3cadf}
html[data-theme="dark"] ::selection{background:#36576c;color:#fff}
html[data-theme="dark"] .skip{background:var(--accent);color:#17232e}
html[data-theme="dark"] :is(.site-header,.site-header--home,.nav,.site-footer){background:#1c2b35}
html[data-theme="dark"] :is(.eyebrow,.eyebrow--subtle,.step-num,.content-card .number,.list-simple li::before,.booking-fallback__duration){color:var(--accent)}
html[data-theme="dark"] .eyebrow--light{color:#d9e6ed}
html[data-theme="dark"] .hero{background:linear-gradient(106deg,#223440 0%,#1e2d38 58%,#192631 100%)}
html[data-theme="dark"] .hero h1 em{color:var(--accent)}
html[data-theme="dark"] .hero-desc{color:var(--ink-soft)}
html[data-theme="dark"] .hero-media::before{background:linear-gradient(90deg,#1e2d38 0%,rgba(30,45,56,0) 30%)}
html[data-theme="dark"] :is(.section--mist,.panel--tint,.split--reverse .split-text,.journal-subscribe,.square-booking__heading,.booking-summary,.booking-confirmed,.booking-pending){background:var(--mist)}
html[data-theme="dark"] .section--warm{background:var(--warm)}
html[data-theme="dark"] .section--sage{background:var(--sage)}
html[data-theme="dark"] .section--white{background:var(--paper)}
html[data-theme="dark"] :is(.split-text,.content-card,.panel,.form-card,.post-card,.square-booking,.booking-service,.booking-details){background:var(--white)}
html[data-theme="dark"] .split-image{background:var(--mist-2)}
html[data-theme="dark"] .journal-illustration{background:linear-gradient(150deg,#253b49 0%,#24313a 58%,#2c322f 100%)}
html[data-theme="dark"] .journal-illustration__frame{border-color:#526773}
html[data-theme="dark"] :is(.split-text p,.content-card p,.page-hero p,.reading p,.reading li,.rich-lede,.step p,.faq details p,.choice-line,.form-sidebar p,.post-card p,.note,.journal-section-heading p,.journal-subscribe p:last-child,.square-booking__heading p:last-child,.square-booking__note){color:var(--ink-soft)!important}
html[data-theme="dark"] :is(.pillar-sub,.footer-copy,.footer-lower,.field-note,.article-meta){color:var(--muted)}
html[data-theme="dark"] :is(.hero-bottom,.hero-bottom span,.pillars,.pillar,.list-simple li,.content-card,.footer-lower,.panel,.step,.faq details,.form-card,.contact-box,.post-card,.article-meta,.journal-status,.journal-subscribe,.square-booking,.square-booking__note,.nav){border-color:var(--line)}
html[data-theme="dark"] .cta-band{background:#304859}
html[data-theme="dark"] .cta-band p{color:#dce7ee}
html[data-theme="dark"] .page-hero{background:linear-gradient(105deg,#223440,#1e2d38)}
html[data-theme="dark"] .journal-hero{background:linear-gradient(110deg,#243847 0%,#1e2d38 58%,#2b302f 100%)}
html[data-theme="dark"] :is(.journal-section-heading h2 em,.booking-fallback__copy h4 em){color:var(--accent)}
html[data-theme="dark"] :is(.journal-status,.note){background:var(--mist);color:var(--ink-soft)}
html[data-theme="dark"] .note{border-left-color:var(--accent)}
html[data-theme="dark"] .journal-card__image{background:linear-gradient(135deg,#2c404e,#24313c)}
html[data-theme="dark"] .journal-card__meta{color:var(--accent)!important}
html[data-theme="dark"] .journal-card:hover{box-shadow:0 14px 32px rgba(0,0,0,.2)}
html[data-theme="dark"] .button{background:var(--accent);border-color:var(--accent);color:#17232e!important}
html[data-theme="dark"] .button:hover{background:#cedee8;border-color:#cedee8;color:#17232e!important}
html[data-theme="dark"] .button--light{background:#e2ebf0;border-color:#e2ebf0;color:#17232e!important}
html[data-theme="dark"] .button--outline{background:transparent;border-color:#718999;color:var(--ink)!important}
html[data-theme="dark"] .button--outline:hover{background:#304d60;border-color:#8eaab9;color:#fff!important}
html[data-theme="dark"] :is(.field input,.field select,.field textarea,.booking-zone select){background-color:#18252f;border-color:#607684;color:var(--ink)}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-theme="dark"] :is(.field input,.field select,.field textarea):focus{border-color:#a3cadf;box-shadow:0 0 0 3px #314957}
html[data-theme="dark"] .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='m1 1 6 6 6-6' stroke='%23b6cad7' fill='none'/%3E%3C/svg%3E")}
html[data-theme="dark"] .field label .req{color:#edaaa4}
html[data-theme="dark"] .choice-line input{accent-color:var(--accent)}
html[data-theme="dark"] :is(.form-status,.booking-status){color:#b4d5e5}
html[data-theme="dark"] :is(.form-status.error,.booking-status.error){color:#f0afa6}
html[data-theme="dark"] :is(.language-control,.theme-toggle){background:rgba(182,202,215,.06);border-color:#5b7383;color:var(--accent)}
html[data-theme="dark"] :is(.language-control,.theme-toggle):hover{background:rgba(182,202,215,.12);border-color:#9bb6c6}
html[data-theme="dark"] .language-control option{background:#1c2b35;color:var(--ink)}
html[data-theme="dark"] .booking-service__visual{background:linear-gradient(130deg,#2b4253,#29362f)}
html[data-theme="dark"] .booking-service__visual--60{background:linear-gradient(130deg,#363a34,#263f50)}
html[data-theme="dark"] .booking-service__visual--90{background:linear-gradient(130deg,#284557,#34392f)}
html[data-theme="dark"] .booking-service__visual::before{border-color:#516b79;box-shadow:10px 10px 25px rgba(0,0,0,.15)}
html[data-theme="dark"] .booking-service__visual-label{color:#e2ebf0;text-shadow:0 1px 8px #17232e}
html[data-theme="dark"] :is(.booking-service:hover,.booking-service[aria-pressed="true"]){border-color:var(--accent)}
html[data-theme="dark"] :is(.booking-week button,.booking-time){background:#253744;border-color:#647d8d;color:var(--ink)}
html[data-theme="dark"] .booking-time:hover{border-color:var(--accent)}
html[data-theme="dark"] .booking-time[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#17232e}
html[data-theme="dark"] .booking-confirmed__mark{color:var(--accent);border-color:#7292a6}
html[data-theme="dark"] .booking-fallback__copy h4 em{color:var(--accent)}
/* Square owns its secure fields. Keep their light surface readable within the dark form. */
html[data-theme="dark"] #booking-card:not(:empty){background:#f8fafb;color:#1f2834;padding:16px;border-radius:var(--radius);color-scheme:light}
@media(max-width:800px){html[data-theme="dark"] .hero-media::before{background:linear-gradient(180deg,#1e2d38 0%,rgba(30,45,56,0) 26%)}}

/* The home About portrait fades into the adjacent text in either appearance. */
.split-image--about{position:relative;--about-fade:#f7f7f4;--about-fade-clear:rgba(247,247,244,0)}
.split-image--about img{position:absolute;inset:0;object-position:50% 75%}
html[data-theme="dark"] .split-image--about{--about-fade:var(--white);--about-fade-clear:rgba(32,42,52,0)}
.split-image--about::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(270deg,var(--about-fade) 0%,var(--about-fade-clear) 30%)}
@media(max-width:800px){.split-image--about::before{background:linear-gradient(0deg,var(--about-fade) 0%,var(--about-fade-clear) 30%)}}
/* Services dropdown follows ReMe's dark navigation palette. */
html[data-theme="dark"] .nav-services-menu{background:#1c2b35;border-color:var(--line)}
html[data-theme="dark"] .nav-services>summary:hover{color:#b9d8e9}
html[data-theme="dark"] .nav .nav-services-menu a:hover,html[data-theme="dark"] .nav .nav-services-menu a[aria-current="page"]{background:rgba(177,214,233,.13);color:#d9ecf6}
@media(max-width:1100px){html[data-theme="dark"] .nav-services-menu{background:transparent}}
