/* Massage Joa: calm typography, varied editorial layouts, small interactions. */
.brand-mark{display:block;width:46px;height:46px;line-height:1;background:none;color:var(--ink);border-radius:0;flex-shrink:0}
.brand-mark svg{display:block;width:100%;height:100%}
.brand b{font-size:23px;letter-spacing:-.06em}.brand small{letter-spacing:.22em;font-size:8px;margin-top:3px}
#site-nav a{position:relative}#site-nav a[aria-current=page]{font-weight:750;color:var(--ink)}
#site-nav a[aria-current=page]:after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--olive)}
.button,.outline-button{transition:background .18s,color .18s;min-height:48px}
.button:hover{transform:none}.button:focus-visible,.outline-button:focus-visible{outline:3px solid #9b7e43;outline-offset:5px}
.hero{padding-top:54px;padding-bottom:58px;gap:50px}.hero-slogan{font-weight:700;letter-spacing:-.06em}
.hero-photo>img{box-shadow:0 18px 45px #243c3214;border-radius:5px}.hero-note{padding-left:13px;border-left:2px solid #c1a56e}
.essentials{padding-block:27px}.essentials strong{font-variant-numeric:tabular-nums}.essentials>div{border-right-color:#d5dacb}
.reading-nav{gap:14px 22px;padding-block:23px}.reading-nav a{text-decoration:none;border-bottom:1px solid #9eaa93;padding-bottom:3px}
.reading-nav a:hover{color:var(--ink);border-color:var(--ink)}
.section-head h2{letter-spacing:-.055em;line-height:1.4}.eyebrow{letter-spacing:.16em}

/* A featured course and smaller comparisons replace a wall of matching cards. */
.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}
.course-card{display:grid;grid-template-columns:minmax(130px,.85fr) 1.15fr;gap:22px;background:none;border:0;border-radius:0;overflow:visible;padding-top:28px;border-top:1px solid var(--line);align-items:start}
.course-card:first-child{grid-column:1/-1;grid-template-columns:1.12fr 1fr;gap:45px;padding-top:0;border-top:0;align-items:center}
.course-card>a{border-radius:4px}.course-card img{border-radius:4px}.course-body{padding:0}
.course-body>p:not(.course-tag){min-height:0;font-size:14px;line-height:1.85}.course-body h3{font-size:24px;margin-bottom:12px}
.course-card:first-child .course-body h3{font-size:34px}.course-index{font-size:11px;letter-spacing:.08em;border-right:1px solid #a8b397;margin-right:7px;padding-right:10px;color:var(--olive)}
.course-tag{font-size:11px;line-height:1.7;margin-bottom:13px}.course-prices{margin-top:18px;margin-bottom:18px}
.course-prices>span{font-size:12px}.course-prices b{font-size:13px;font-variant-numeric:tabular-nums}.course-body .text-link{font-size:12px;min-height:35px}
.course-card:first-child .course-prices{display:flex;flex-wrap:wrap;gap:12px 24px}.course-card:first-child .course-prices>span{display:flex;gap:12px}
.course-card:first-child .course-body .text-link{width:auto;display:inline-flex;gap:36px;border-bottom:1px solid #a4b198}

/* Long explanations keep all their content, with distinct reading rhythms. */
.editorial-section>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px 62px;align-items:start}
.editorial-section .section-head{margin-bottom:0}.editorial-section .section-head h2{font-size:29px}.editorial-section .section-head p:not(.eyebrow){font-size:14px}
.editorial-grid{display:block}.editorial-grid article{padding:22px 0 9px;border-top:1px solid var(--line)}.editorial-grid article:first-child{padding-top:0;border-top:0}
.editorial-grid h3{font-size:20px;margin-bottom:14px}.editorial-grid p{font-size:15px;line-height:1.95;max-width:66ch}
.editorial-links{grid-column:2;margin-top:0}.editorial-links a{border:0;border-radius:0;border-bottom:1px solid #bdc7b1;padding:7px 0;margin-right:14px}
#choices>.wrap{grid-template-columns:1fr;gap:34px}#choices .editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:choice}
#choices .editorial-grid article{counter-increment:choice;border-top:1px solid #bfc8b3;padding-top:22px;grid-column:auto}
#choices .editorial-grid article:before{content:"0" counter(choice);display:block;font-family:Georgia,serif;color:var(--olive);font-size:30px;margin-bottom:18px}
#choices .editorial-grid h3{font-size:20px}#choices .editorial-grid p{font-size:14px;line-height:1.95}
#preparation .editorial-grid article{display:grid;grid-template-columns:1fr;gap:0;padding:22px 0 9px}
#preparation .editorial-grid article:first-child{padding-top:0}
#reservation-details{border-top:1px solid var(--line)}
.price-planner{border-radius:5px;border:1px solid #bdc8b1;box-shadow:none}.price-result output{display:block;font-variant-numeric:tabular-nums;min-width:8ch}
.price-table td{font-variant-numeric:tabular-nums}.price-table tbody tr:hover{background:#edf0e5}
.area-search{border-radius:5px}.area-item{border-radius:3px;background:transparent}.area-item:hover{background:#e8ecdf}
.brand-operator-note{font-size:14px;color:var(--muted);padding-block:18px;border-bottom:1px solid var(--line);line-height:1.8}
.footer-logo{letter-spacing:-.06em}.footer-logo span{letter-spacing:.2em}.footer-bottom{line-height:1.9}

@media(min-width:1101px){.editorial-section:not(#choices) .section-head{position:sticky;top:120px}}
@media(max-width:1100px){.hero{gap:32px}.editorial-section>.wrap{gap:32px}.course-card{grid-template-columns:1fr;gap:18px}.course-card:first-child{grid-template-columns:1.1fr 1fr;gap:32px}}
@media(max-width:820px){.brand-mark{width:40px;height:40px}.brand b{font-size:21px}.brand small{font-size:7px}#site-nav a[aria-current=page]:after{bottom:4px;left:12px;right:12px}.editorial-section>.wrap{grid-template-columns:1fr;gap:27px}.editorial-links{grid-column:auto}.editorial-section .section-head>div{max-width:650px}#choices .editorial-grid{grid-template-columns:1fr;gap:22px}#choices .editorial-grid article{display:grid;grid-template-columns:44px 1fr;gap:0 14px}#choices .editorial-grid article:before{grid-row:1/4;font-size:26px}#choices .editorial-grid p{font-size:15px}.course-card:first-child .course-body h3{font-size:28px}}
@media(max-width:600px){.brand-mark{width:35px;height:35px}.brand b{font-size:19px}.brand small{font-size:7px;letter-spacing:.14em}.hero{padding-block:30px 38px;gap:26px}.hero h1{font-size:29px}.hero-slogan{font-size:41px;line-height:1.25}.hero-photo>img{border-radius:4px}.hero-note{font-size:10px}.reading-nav{flex-wrap:nowrap;overflow-x:auto;gap:19px;font-size:12px;scrollbar-width:thin;align-items:center;padding-block:18px}.reading-nav>*{flex-shrink:0;white-space:nowrap}.reading-nav>span{width:auto;margin:0}.course-grid{grid-template-columns:1fr;gap:30px}.course-card,.course-card:first-child{grid-column:auto;grid-template-columns:1fr;gap:20px}.course-card:first-child .course-body h3,.course-body h3{font-size:27px}.course-body>p:not(.course-tag){font-size:14px}.course-card .course-prices{display:flex;flex-wrap:wrap;gap:9px 22px}.course-card .course-prices>span{display:flex;gap:12px;font-size:12px}.course-prices b{font-size:13px}.course-tag{font-size:11px}.course-body .text-link{width:auto;display:inline-flex;gap:35px}.editorial-section .section-head h2{font-size:27px}.editorial-section .section-head p:not(.eyebrow){font-size:14px}.editorial-grid h3{font-size:20px}.editorial-grid p{font-size:15px}.price-result output{min-width:0;font-size:23px}.brand-operator-note{font-size:12px}.header-call{min-height:38px}.mobile-bar a{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
