/* Journey refinements: preserve the established brand and component identities. */
:root{--muted:#6e645d}
[hidden]{display:none!important}
.service[href]{color:inherit;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.service[href]:hover{border-color:#b58b94;box-shadow:0 8px 24px #672a3910}
.service .service-bottom>svg{position:absolute;right:18px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--wine)}
.hero .plain-link:after{content:none}.hero .arrow:after{content:'↗'}
.home-shell>main>.hero{min-height:430px}.home-shell>main>.hero .hero-photo{height:430px}.hero .hero-note{font-size:12px!important;max-width:400px!important;line-height:1.5}
.home-shell>main>.experience{margin:0;max-width:none}.home-shell>main>.section{padding-top:40px;padding-bottom:40px}
.home-shell #journal .journal-top{display:block}.home-shell #journal .articles{margin-bottom:20px}
.home-shell #journal [data-article][hidden]{display:none!important}
.home-shell .diary-promo{margin:8px 0 4px}.home-shell .booking .plain-link{margin:16px 0;display:inline-block}
.full-price-link{display:inline-block;color:var(--paper);border-color:currentColor;margin:5px 0 15px}
.more-zones{grid-column:1/-1}.more-zones summary{padding:12px 0;cursor:pointer}.more-zones .zones{margin-top:10px}
.zone>span{min-width:0}.zone small{margin-left:auto;white-space:nowrap}.total-row{min-height:70px}.total-row [hidden]{display:none!important}
.memo-disclosure>summary{font-size:21px;color:var(--wine);cursor:pointer;padding:12px 0;font-weight:600}.memo-disclosure:not([open]){padding:0}.memo-disclosure .memo-intro{padding-top:20px}
.home-shell .footer{gap:20px}.footer .socials{flex-wrap:wrap;gap:16px}.footer .socials a{min-height:36px;display:inline-flex;align-items:center}
.service-page,.price-page,.contact-page,.journal-page{padding:40px 0 50px;max-width:1030px;margin:0 auto}
.service-page h1,.price-page h1,.contact-page h1,.journal-page h1{font:500 clamp(28px,3.4vw,44px)/1.17 'Unbounded','Onest',sans-serif;letter-spacing:-1.3px;color:var(--wine);margin:24px 0}
.service-page h2,.price-page h2,.contact-page h2,.journal-page h2{font:600 24px/1.3 var(--sans);letter-spacing:-.4px;color:var(--wine);margin:0 0 14px}
p.lead{font-size:18px;line-height:1.65;max-width:62ch;color:var(--ink)}
.service-lead{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;padding:0 0 30px}
.service-area{font-size:14px;color:var(--muted)}
.visit-panel{background:#fffaf6;border:1px solid var(--line);border-radius:16px;padding:26px;margin-top:24px;display:grid;gap:14px;box-shadow:0 10px 30px #672a3908}
.visit-panel .visit-price{font-size:26px;line-height:1.3;color:var(--wine);font-weight:650;margin:0}.visit-panel .plain-link{justify-self:start;font-size:13px}.visit-panel p:not(.visit-price){font-size:13px;line-height:1.65;margin:0}
.service-section{padding:28px 0;border-top:1px solid var(--line)}.service-section p{max-width:70ch;font-size:16px;line-height:1.75;margin:0}
.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.service-directory a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;color:var(--wine);border-bottom:1px solid var(--line);font-size:16px}.service-directory a:hover{text-decoration:underline}
.price-list{margin:12px 0 22px;max-width:780px}.price-list>div{display:flex;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.price-list dt{font-size:16px;line-height:1.5}.price-list dd{white-space:nowrap;margin:0;font-size:17px;font-weight:600;color:var(--wine)}.package-list dt span{display:block;font-size:14px;color:var(--muted);margin-top:5px;max-width:55ch}.package-list>div{padding:20px 0}.price-note{font-size:14px;max-width:65ch;color:var(--muted)}
.electro-rate{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:30px 0;margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.electro-rate p{max-width:60ch;font-size:16px}.electro-rate strong{font-size:30px;color:var(--wine);white-space:nowrap}.electro-rate small{font-size:16px;font-weight:400}
.visit-steps{padding:28px 0}.visit-steps ol{padding-left:25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.visit-steps strong,.visit-steps span{display:block}.visit-steps strong{color:var(--wine);font-size:16px}.visit-steps span{font-size:14px;line-height:1.6;margin-top:8px}
.inline-tool{display:flex;gap:25px;align-items:center;justify-content:space-between;background:#eee6dd;padding:23px;border-radius:12px;margin-top:25px}.inline-tool h2{font-size:20px;margin-bottom:8px}.inline-tool p{font-size:14px;margin:0}.inline-tool>a{flex-shrink:0}
.closing-action{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:25px 0}.closing-action p{font-size:14px;max-width:55ch}.closing-action p a{text-decoration:underline}.closing-action .btn,.visit-panel .btn,.contact-grid .btn{font-size:15px;white-space:nowrap;border-radius:9px;min-height:48px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:30px 0}.contact-grid p{font-size:16px;max-width:60ch}.address-note{padding:26px;background:#eee6dd;border-radius:14px;margin:35px 0}.address-note p{max-width:70ch;font-size:16px}
.journal-search{display:grid;gap:8px;max-width:540px;font-size:14px;margin:30px 0 18px}.journal-search input{padding:13px 15px;font-size:16px;border:1px solid var(--line);border-radius:8px;background:#fffaf6;color:var(--ink)}.journal-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 25px}.journal-filters button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 13px;background:transparent;color:var(--wine);font-size:14px}.journal-filters button[aria-pressed=true]{background:var(--wine);color:var(--paper);border-color:var(--wine)}.journal-page .article h2{font-size:20px}.journal-count{font-size:13px;color:var(--muted)}
.article-card-wrap p{font-size:16px}.article-card-wrap .related-links a{font-size:15px;padding:6px 0}.breadcrumbs{font-size:12px;line-height:1.5}.btn:active{transform:translateY(1px)}
@media(max-width:700px){
 .home-shell .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px 6px}.home-shell>main>.hero{min-height:0}.home-shell>main>.hero .hero-photo{height:auto;min-height:340px}.hero .hero-note{font-size:12px!important;padding:12px 0;max-width:none!important}.home-shell .hero-copy>p:not(.hero-note){font-size:14px;line-height:1.5}.hero .hero-actions>.btn{min-height:44px;font-size:12px;padding:10px 9px}.hero .plain-link{font-size:12px}.hero .label{font-size:9px}.home-shell .header-socials a,.menu-toggle{min-width:40px;min-height:44px}.home-shell .hero-photo img{top:0}
 .home-shell .section{padding-top:30px;padding-bottom:30px}.home-shell .service{min-height:125px;padding:18px 14px}.service h3{font-size:17px}.service p{font-size:13px;line-height:1.5;margin-right:12px}.service .price{font-size:20px}.service .service-bottom>svg{right:12px;width:15px;height:15px}
 .home-shell .experience h2{font-size:25px}.home-shell .experience-grid>div:first-child p{font-size:14px}.home-shell .zone{font-size:14px;min-height:48px}.home-shell .zone small{font-size:14px}.total-row .btn{font-size:14px;min-height:44px}.home-shell .diary-promo{grid-template-columns:38px minmax(0,1fr);gap:12px}.home-shell .diary-promo-actions{grid-column:2;border:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px}.home-shell .diary-promo h3{font-size:18px}.home-shell .diary-promo p{font-size:13px}.home-shell .diary-promo-actions .btn,.home-shell .diary-promo-actions .text-button{font-size:13px;min-height:32px}.home-shell .about p,.home-shell .faq p,.home-shell .booking p{font-size:16px}.home-shell #journal .article p{font-size:14px}.home-shell .memo{padding:20px 0}.home-shell .memo .check{font-size:15px}
 .service-page,.price-page,.contact-page,.journal-page{padding:25px 0 30px}.service-page h1,.price-page h1,.contact-page h1,.journal-page h1{font-size:28px;letter-spacing:-.8px;overflow-wrap:break-word}.service-page h2,.price-page h2,.contact-page h2{font-size:23px}.service-lead{grid-template-columns:1fr;gap:0;padding-bottom:15px}.visit-panel{margin-top:15px;padding:21px}.visit-panel .plain-link{font-size:14px}.visit-panel p:not(.visit-price){font-size:14px}.visit-panel .visit-price{font-size:25px}p.lead{font-size:16px}.service-area{font-size:14px}.service-directory{grid-template-columns:1fr}.service-section{padding:24px 0}.price-list>div{gap:14px}.price-list dt{font-size:15px}.price-list dd{font-size:16px}.package-list dt span{font-size:13px}.electro-rate{grid-template-columns:1fr;gap:15px;padding:25px 0}.electro-rate strong{font-size:27px}.visit-steps ol{grid-template-columns:1fr;gap:22px}.inline-tool{display:block;padding:20px}.inline-tool>a{display:inline-block;margin-top:15px}.closing-action{gap:16px}.closing-action .btn{font-size:14px;width:100%}.contact-grid{grid-template-columns:1fr;gap:30px}.address-note{padding:22px}.journal-page .article h2{font-size:19px}.journal-filters{gap:8px}.journal-filters button{font-size:13px}.article-card-wrap p{font-size:16px;line-height:1.75}.article-card-wrap h1{font-size:27px}.article-card-wrap h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.service[href],.btn{transition:none;transform:none}}
.article-contents{display:grid;gap:8px;padding:18px 0 22px;border-bottom:1px solid var(--line);margin:0 0 30px}.article-contents a{font-size:14px;color:var(--wine);text-decoration:underline;text-underline-offset:3px}.article-card-wrap section{scroll-margin-top:25px}.article-card-wrap .article-sources{margin:32px 0;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.article-sources ul{padding-left:20px}.article-sources a{text-decoration:underline;text-underline-offset:3px}.article-sources p{font-size:14px;line-height:1.65}.article-next{padding:24px;margin:32px 0;background:#fffaf4;border:1px solid var(--line);border-radius:12px}.article-next p{margin-bottom:12px}.article-next .btn{margin-top:10px}
.home-shell .experience-grid>div:first-child p{font-size:14px;line-height:1.6;max-width:75ch}.home-shell .zone{font-size:14px}.home-shell .zone small{font-size:14px}.home-shell .total-row small{font-size:12px}.home-shell .tab{font-size:15px}.home-shell .services-all{font-size:14px}

/* The diary banner finishes the portrait composition and leads into services. */
.home-shell main>.hero+.diary-promo{position:relative;z-index:2;margin:-12px 0 8px}
@media(max-width:700px){.home-shell main>.hero+.diary-promo{margin:-6px 0 8px}}

.article-card-wrap .article-date{font-size:13px;color:var(--muted);margin:-8px 0 18px}
