@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600&display=swap');
:root{--paper:#faf8f2;--soft:#eeeee3;--sage:#d9dcc3;--olive:#758162;--ink:#332c26;--body:#666159;--line:#d8d5c9;--brown:#332c26;--wrap:1180px;color-scheme:light;font-family:'Noto Sans KR',sans-serif;font-weight:400;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font-size:16px;line-height:1.9;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3,blockquote{margin:0}p+p{margin-top:22px}h1,h2,h3{font-weight:400;word-break:keep-all;line-height:1.45}p{word-break:keep-all;overflow-wrap:anywhere}h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.9px}h3{font-size:25px;letter-spacing:-1px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto}.section{padding:105px 0;position:relative}.eyebrow{display:block;font-size:12px;font-weight:500;letter-spacing:2px;line-height:1.7;margin-bottom:22px;color:#5a6850}.small{font-size:13px;color:#68715e}.lead{font-size:26px;line-height:1.7;letter-spacing:-.8px}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:white;padding:10px 20px}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:19px 4.2%;gap:30px;background:rgba(248,246,239,.96);border-bottom:1px solid #d8dccd;backdrop-filter:blur(12px)}.brand{display:inline-block;font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.1;letter-spacing:1px;white-space:nowrap}.brand-n{text-transform:none}.brand small{display:block;font-family:'Noto Sans KR',sans-serif;font-weight:400;font-size:10px;line-height:1.6;letter-spacing:1.7px;margin-top:9px}#main-nav{display:flex;gap:30px;font-size:13px;align-items:center}#main-nav a{position:relative;padding:9px 0;white-space:nowrap}#main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--olive);transition:right .2s}#main-nav a:hover:after{right:0}.home-main{position:relative;isolation:isolate}.page-back{position:relative;z-index:3;font-size:12px}.page-back-top{padding-block:11px}.back-button{display:inline-block;padding:4px 0;color:#59634f}.page-back-bottom{padding-block:0 44px}.back-button span{margin-right:9px}
.philosophy-opening{position:relative}.flow-hero{height:660px;height:min(75vw,720px);min-height:560px;position:relative;isolation:isolate;overflow:hidden}.flow-hero-photo{position:absolute;inset:0;z-index:-2}.flow-hero-photo img{object-position:64% 50%}.flow-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,24,19,.22),transparent 66%)}.flow-hero-copy{position:absolute;left:max(7%,calc((100vw - 1160px)/2));top:24%;color:#fffef6}.flow-hero-eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:26px}.flow-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.35;letter-spacing:-3.5px;font-weight:300}.flow-hero-description{font-size:15px;font-weight:300;margin-top:28px;letter-spacing:.6px}.flow-hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:94px;fill:var(--paper)}.flow-hero-thread{fill:none;stroke:#e3e9d0;stroke-width:1;opacity:.75}
.signature-intro{padding-top:100px;padding-bottom:115px;display:grid;grid-template-columns:.94fr 1.06fr;gap:10%;align-items:center;position:relative}.signature-intro figure{aspect-ratio:1/1.06;border-radius:10px;position:relative}.signature-intro figure img{border-radius:inherit;object-position:48% center}.signature-intro-copy{background:var(--paper);padding:14px 0}.signature-intro-copy .lead{font-size:28px;color:var(--ink);margin-bottom:28px}.signature-intro-copy>p:not(.lead){color:var(--body);font-size:16px;line-height:2}.signature-intro-copy .letter-signature{font-size:13px!important;text-align:right;margin-top:30px}
.section-head{margin-bottom:50px}.section-head .eyebrow{margin-bottom:18px}.program-section{padding-top:75px;padding-bottom:100px;background:linear-gradient(180deg,transparent,#e9eddd99 18%,#e9eddd99 85%,transparent)}.program-section h2{display:flex;align-items:center;gap:23px}.program-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.program-row{grid-column:span 2;display:flex;flex-direction:column;padding:32px 29px 27px;background:var(--paper);border:1px solid var(--line);position:relative;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.program-row:nth-last-child(-n+2){grid-column:span 3}.program-row:hover{transform:translateY(-5px);border-color:#7f946c;box-shadow:0 13px 30px #273e3510}.program-row .eyebrow{font-size:11px;letter-spacing:.8px;margin-bottom:16px}.program-row h3{font-size:23px;line-height:1.55;min-height:72px;letter-spacing:-1px}.program-duration{display:block;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.2;margin:15px 0 24px;color:#627555}.program-row-body{flex:1;display:flex;flex-direction:column}.program-row-body>p{font-size:14px;line-height:1.95;color:var(--body);margin-bottom:25px}.service-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.service-tags span{font-size:10px;line-height:1.4;border:1px solid #cdd3bf;border-radius:30px;padding:7px 9px;color:#53654b}.program-row-price{border-top:1px solid var(--line);margin-top:25px;padding-top:24px}.price-line strong{font-size:27px;font-weight:500;letter-spacing:-1px}.price-line del{color:#78806e;font-size:12px;margin-right:5px}.price-line>span{display:block;font-size:12px;margin-top:8px}.coupon-price{font-size:12px;color:#68715f;margin-top:7px}.coupon-price b{font-weight:500}.textlink{display:block;font-size:13px;margin-top:24px;text-align:right}.signature{background:#dce3ca;border-color:#a0b18b}.program-row:nth-last-child(-n+2) h3{min-height:0}
.space-section{padding-top:85px;padding-bottom:70px}.space-heading{text-align:center;margin-bottom:45px}.space-heading p{color:var(--body);font-size:15px;margin-top:20px}.space-section>figure{width:min(1320px,calc(100% - 70px));margin:auto;position:relative}.space-section>figure img{aspect-ratio:2.25;object-position:center 55%;border-radius:10px}.space-section figcaption{width:100%;text-align:right;font-size:12px;color:#6d7565;margin-top:14px}.first-visit{padding-top:90px}.first-visit .section-head{text-align:center;margin-bottom:65px}
.customer-reviews{padding-top:95px;background:linear-gradient(180deg,transparent,#e9eddd80 20%,#e9eddd80 84%,transparent)}.customer-reviews .section-head{text-align:center}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.review-card{background:var(--paper);border:1px solid var(--line);overflow:hidden}.review-card figure{aspect-ratio:1.9;overflow:hidden}.review-card figure img{object-position:center 58%}.review-content{padding:30px 34px 33px}.review-platform{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#67735d;gap:12px}.review-stars{letter-spacing:2px;color:#89936e}.review-stars b{font-weight:400;font-size:10px;letter-spacing:0;margin-left:5px}.review-content blockquote{font-size:21px;line-height:1.75;letter-spacing:-.6px;margin:24px 0 23px;min-height:74px;word-break:keep-all}.review-author{font-size:12px;color:#6d7466}.customer-reviews .small{text-align:right;margin-top:20px}.journal{padding-top:110px}.journal h2{text-align:center}.journal-intro{text-align:center;color:var(--body);font-size:15px;margin:21px 0 48px}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.journal-card{position:relative}.journal-card>img{aspect-ratio:1.12;height:auto;border-radius:10px;margin-bottom:29px}.journal-card .eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:13px}.journal-card h3{font-size:24px;line-height:1.6;margin-bottom:16px}.journal-card p{font-size:14px;line-height:1.9;color:var(--body)}.journal-card b{display:block;font-weight:400;font-size:12px;margin-top:20px}.journal-all{display:block;width:fit-content;margin:42px auto 0;border-bottom:1px solid var(--ink);font-size:13px;padding:6px 0}.journal-card:hover img{opacity:.9}.faq-section{padding-top:95px;padding-bottom:100px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-layout>.section-head,.faq-layout>div:first-child{position:sticky;top:150px;align-self:start}.faq-layout h2{max-width:340px}.faq-layout details{border-top:1px solid var(--line);padding:23px 0;background:var(--paper)}.faq-layout details:last-child{border-bottom:1px solid var(--line)}.faq-layout summary{list-style:none;font-size:17px;line-height:1.65;padding-right:35px;cursor:pointer;position:relative;word-break:keep-all}.faq-layout summary::-webkit-details-marker{display:none}.faq-layout summary:after{content:'+';position:absolute;right:3px;top:0;font-family:Georgia,serif;font-size:25px;font-weight:300}.faq-layout details[open] summary:after{content:'−'}.faq-answer{padding-top:22px;color:var(--body);font-size:14px;line-height:1.95}.faq-answer p+p{margin-top:16px}.faq-answer-row{display:grid;grid-template-columns:72px 1fr;gap:15px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e2e5d8}.faq-answer-row strong{font-weight:500;color:var(--ink)}.faq-answer-row p{word-break:normal}.faq-answer-row:last-child{margin-bottom:0;border:0}
.visit{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center;padding-top:80px;padding-bottom:100px}.visit-map{position:relative}.location-map-link{display:block;border:1px solid var(--line);overflow:hidden;border-radius:10px}.location-map-link img{aspect-ratio:1.12;object-fit:cover;object-position:50% 60%}.location-map-link span{display:block;background:var(--sage);padding:17px 20px;font-size:13px;text-align:right}.visit h2{font-size:32px;margin-bottom:23px}.visit .lead{font-size:22px}.visit>div>p:not(.lead){font-size:14px;color:var(--body);margin-top:18px}.address-copy{border:0;border-bottom:1px solid var(--ink);padding:4px 0;background:transparent;color:var(--ink);font-size:12px;margin-top:20px;cursor:pointer}#copy-status{font-size:12px;margin-left:15px}.parking{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.parking h3{font-size:17px;margin-bottom:10px}.parking p{font-size:14px;color:var(--body);margin-bottom:14px}.parking a{font-size:12px;text-decoration:underline;text-underline-offset:5px}
footer{background:var(--sage);position:relative;padding:65px 0 30px;border-radius:0}.footer-row{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.footer-row .brand{font-size:38px}.footer-row p{font-size:12px;line-height:2;color:#54624d;margin-top:25px}.footer-links{display:flex;flex-wrap:wrap;gap:15px 24px;max-width:390px;justify-content:flex-end;font-size:12px}.booking-bottom{display:flex;align-items:center;justify-content:space-between;flex-basis:100%;font-size:16px;border-radius:99px;background:var(--ink);color:var(--paper);padding:21px 29px;margin-top:12px}.booking-bottom:hover{background:#43563d}.legal{font-size:11px;color:#65745a;margin-top:40px}
@media(min-width:1500px){.flow-hero-copy{left:12%}.flow-hero{height:760px}.signature-intro{padding-top:125px}.wrap{--wrap:1240px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{padding-inline:30px}#main-nav{gap:18px;font-size:12px}.brand{font-size:30px}.signature-intro{gap:7%}.signature-intro-copy .lead{font-size:24px}.program-row{padding:27px 21px}.program-row h3{font-size:21px}.program-row-body>p{font-size:13px}.program-list{gap:15px}.faq-layout{gap:55px}.review-stars b{display:none}}
@media(max-width:700px){html{scroll-padding-top:125px}body{font-size:15px;line-height:1.85}.wrap{width:calc(100% - 42px)}.section{padding:68px 0}.header{padding:16px 21px 8px;display:block}.brand{font-size:32px}.brand small{font-size:9px;margin-top:6px;letter-spacing:1.3px}#main-nav{display:flex;justify-content:space-between;gap:6px;margin-top:12px;width:100%;font-size:10px}#main-nav a{padding-block:7px}.page-back-top{padding-block:5px;font-size:10px}.page-back-bottom{padding-block:4px 34px}.flow-hero{height:580px;min-height:0}.flow-hero-photo img{object-position:69% center}.flow-hero-copy{left:26px;right:20px;top:auto;bottom:115px}.flow-hero h1{font-size:43px;letter-spacing:-2px;line-height:1.4}.flow-hero-eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:18px}.flow-hero-description{font-size:12px;margin-top:20px}.flow-hero:after{background:linear-gradient(0deg,rgba(17,25,18,.64) 3%,rgba(17,25,18,.12) 67%,transparent)}.flow-hero-wave{height:54px}.signature-intro{padding-top:66px;padding-bottom:70px;grid-template-columns:1fr;gap:36px}.signature-intro figure{width:100%;margin:0 auto;aspect-ratio:1.2}.signature-intro-copy .lead{font-size:23px;margin-bottom:24px;line-height:1.65}.signature-intro-copy>p:not(.lead){font-size:14px;line-height:1.95}.signature-intro-copy .letter-signature{margin-top:24px}.signature-intro-copy{padding-inline:3px}.section-head{margin-bottom:31px}h2{font-size:30px;letter-spacing:-1.4px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:14px}.program-list{grid-template-columns:1fr;gap:17px}.program-row,.program-row:nth-last-child(-n+2){grid-column:auto;padding:28px 27px 23px}.program-row h3{font-size:23px;min-height:0}.program-duration{font-size:38px;margin-block:12px 20px}.program-row-body>p{font-size:14px;margin-bottom:22px}.program-row .eyebrow{margin-bottom:12px}.program-row-price{margin-top:22px;padding-top:17px}.price-line strong{font-size:27px}.textlink{margin-top:17px}.service-tags span{font-size:11px}.space-heading h2{font-size:28px}.space-heading p{font-size:13px;margin-top:16px}.space-section>figure{width:calc(100% - 32px)}.space-section>figure img{aspect-ratio:1.3;object-position:center 63%;border-radius:10px}.space-section figcaption{font-size:10px;margin-top:10px}.space-heading{margin-bottom:28px}.first-visit .section-head{margin-bottom:35px}.first-visit h2{font-size:29px}.review-grid{grid-template-columns:1fr;gap:22px}.review-card figure{aspect-ratio:1.6}.review-content{padding:24px 24px 27px}.review-content blockquote{font-size:20px;min-height:0;margin:20px 0}.review-platform{font-size:11px}.review-stars b{display:inline;font-size:9px}.customer-reviews .small{font-size:10px}.journal-intro{font-size:14px;margin:20px 0 34px}.journal-grid{grid-template-columns:1fr;gap:39px}.journal-card{display:grid;grid-template-columns:1fr;gap:0}.journal-card>img{width:100%;aspect-ratio:1.18;margin:0 auto 25px}.journal-card>div{padding:0 7px}.journal-card h3{font-size:24px}.journal-card p{font-size:14px}.journal-all{font-size:12px;margin-top:34px}.faq-layout{grid-template-columns:1fr;gap:10px}.faq-layout>div:first-child{position:static}.faq-layout h2{max-width:none;font-size:30px}.faq-layout details{padding:20px 0}.faq-layout summary{font-size:16px}.faq-answer{font-size:13px;padding-top:20px}.faq-answer-row{grid-template-columns:58px 1fr;gap:13px}.visit{grid-template-columns:1fr;gap:35px}.location-map-link img{aspect-ratio:1.15}.location-map-link span{font-size:12px}.visit h2{font-size:29px}.visit .lead{font-size:21px}.visit>div>p:not(.lead),.parking p{font-size:14px}footer{padding-top:46px}.footer-row{display:block}.footer-row .brand{font-size:35px}.footer-row p{font-size:11px;margin-top:23px}.footer-links{justify-content:flex-start;margin-top:30px;max-width:none;gap:14px 19px;font-size:11px}.booking-bottom{font-size:16px;padding:19px 25px;margin-top:13px}.legal{margin-top:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readable secondary copy and comfortable mobile category targets. */
.review-stars,.price-line del,.coupon-price,.legal,.review-author,.space-section figcaption,.small{color:var(--body)}
@media(max-width:700px){#main-nav{font-size:11px;gap:4px;margin-top:8px}#main-nav a{padding-block:12px;min-height:44px}.header{padding-bottom:3px}.flow-hero-photo img{object-position:95% center}}

/* Quiet flow: one photo shape, even spacing, and no lines behind content.
   The hero's lower wave is the only curved section transition. */
.review-card { border-radius: 10px; }
.journey { display: grid; gap: 64px; }
.journey > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: 1fr auto auto 1fr;
  column-gap: clamp(40px, 7vw, 96px);
  padding: 0 0 64px;
  border-bottom: 1px solid var(--line);
  position: relative;
}
.journey > article:last-child { padding-bottom: 0; border-bottom: 0; }
.journey > article > img {
  grid-column: 1;
  grid-row: 1 / 5;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  align-self: center;
}
.journey > article:nth-of-type(even) > img { grid-column: 2; }
.journey > article > .step-label,
.journey > article > p { grid-column: 2; }
.journey > article:nth-of-type(even) > .step-label,
.journey > article:nth-of-type(even) > p { grid-column: 1; }
.journey > article > .step-label { grid-row: 2; }
.journey > article > p:not(.journey-note) { grid-row: 3; }
.journey > article > .journey-note { grid-row: 4; align-self: start; }
.journey > article:nth-of-type(1) > img { object-position: 52% center; }
.journey > article:nth-of-type(3) > img { object-position: center 78%; }
.journey > article:nth-of-type(4) > img { object-position: center 64%; }
.journey > article:nth-of-type(5) > img { object-position: 56% center; }
.step-label { display: flex; align-items: baseline; gap: 18px; margin: 0 0 22px; }
.step-label > span { font-family: Georgia, 'Times New Roman', serif; font-size: 39px; line-height: 1; color: #627555; }
.step-label h3 { font-size: clamp(23px, 2.3vw, 28px); line-height: 1.55; }
.journey > article > p { color: var(--body); font-size: 15px; line-height: 2; }
.journey > article > .journey-note { color: var(--body); font-size: 12px; line-height: 1.9; padding-top: 16px; margin-top: 20px; border-top: 1px solid var(--line); }
@media (max-width: 700px) {
  .journey { gap: 36px; }
  .journey > article { display: flex; flex-direction: column; gap: 0; padding: 0 0 36px; }
  .journey > article > img { width: 100%; aspect-ratio: 1 / 1; border-radius: 10px; }
  .step-label { gap: 15px; margin: 24px 0 15px; }
  .step-label > span { font-size: 34px; }
  .step-label h3 { font-size: 23px; }
  .journey > article > p { font-size: 14px; line-height: 1.95; }
  .journey > article > .journey-note { margin-top: 17px; padding-top: 14px; font-size: 12px; }
}

/* Approved opening, using the production site's cream, olive and brown. */
.flow-understanding {
  background: var(--soft);
  padding: 62px 0 72px;
  color: var(--ink);
}
.flow-understanding > .wrap { max-width: 1060px; }
.flow-understanding-heading { text-align: center; }
.flow-understanding-heading .eyebrow { color: var(--body); margin-bottom: 24px; }
.flow-understanding-heading h2 {
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.6;
  letter-spacing: -1.6px;
}
.flow-questions {
  list-style: none;
  display: flex;
  align-items: center;
  margin: 56px auto 60px;
  padding: 0;
  max-width: 970px;
}
.flow-question {
  position: relative;
  flex: 1 0 0;
  min-width: 0;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--paper);
  border: 1px solid #abae98;
  text-align: center;
  padding: 30px;
}
.flow-question + .flow-question { margin-left: -16px; }
.flow-question:nth-child(2) { background: var(--sage); border-color: var(--sage); }
.flow-question:nth-child(3) { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.flow-question-number { font: italic 16px/1 Georgia, serif; color: var(--body); margin-bottom: 22px; }
.flow-question h3 { font-size: clamp(24px, 2.55vw, 33px); line-height: 1.55; letter-spacing: -1.2px; }
.flow-question p { font-size: 12px; line-height: 1.8; color: var(--body); margin-top: 21px; }
.flow-question:nth-child(3) .flow-question-number { color: #d9dcc3; }
.flow-question:nth-child(3) p { color: #e5e0d7; }
.flow-water-balance {
  border-top: 1px solid var(--line);
  padding-top: 40px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 64px;
}
.flow-water-balance .eyebrow { color: var(--body); margin-bottom: 18px; }
.flow-water-balance h3 { font-size: 27px; line-height: 1.6; letter-spacing: -.8px; }
.flow-water-copy { color: var(--body); font-size: 14px; line-height: 2; }
.flow-water-copy p + p { margin-top: 18px; }
@media (max-width: 700px) {
  .flow-understanding { padding: 43px 0 50px; }
  .flow-understanding-heading .eyebrow { font-size: 10px; margin-bottom: 18px; }
  .flow-understanding-heading h2 { font-size: clamp(25px, 6.6vw, 32px); line-height: 1.65; letter-spacing: -1px; }
  .flow-questions { flex-direction: column; margin: 34px auto 38px; max-width: 360px; }
  .flow-question { flex: none; width: min(78%, 256px); padding: 25px; }
  .flow-question + .flow-question { margin-left: 0; margin-top: -14px; }
  .flow-question:first-child, .flow-question:last-child { align-self: flex-start; }
  .flow-question:nth-child(2) { align-self: flex-end; }
  .flow-question-number { font-size: 14px; margin-bottom: 14px; }
  .flow-question h3 { font-size: 26px; line-height: 1.5; }
  .flow-question p { font-size: 11px; margin-top: 14px; }
  .flow-water-balance { grid-template-columns: 1fr; gap: 23px; padding-top: 30px; }
  .flow-water-balance .eyebrow { margin-bottom: 12px; }
  .flow-water-balance h3 { font-size: 25px; }
  .flow-water-copy { font-size: 14px; line-height: 1.95; }
}

/* Consistent, neutral spa photography. Keep source photos and review evidence intact.
   Adjust exposure per source; reuse the same grade everywhere that source appears.
   No sepia tint, heavy shadow overlay or geometry changes. Maps are excluded. */
img.site-photo[data-photo-tone]{
  filter:brightness(var(--photo-brightness,.94)) contrast(var(--photo-contrast,.98)) saturate(var(--photo-saturation,.82));
}
/* Existing dim treatment light: soften the amber without losing skin detail. */
img[data-photo-tone="oil-pour-v29.jpg"]{--photo-brightness:1.04;--photo-contrast:.96;--photo-saturation:.80}
img[data-photo-tone="shoulder-pressure-v29.jpg"]{--photo-brightness:.99;--photo-contrast:.96;--photo-saturation:.80}
img[data-photo-tone="forearm-back-v29.jpg"]{--photo-brightness:1.02;--photo-contrast:.97;--photo-saturation:.79}
img[data-photo-tone="steam-towel-v29.jpg"]{--photo-brightness:.98;--photo-contrast:.95;--photo-saturation:.78}
/* Brighter treatment photographs: bring white linen and skin highlights together. */
img[data-photo-tone="aroma-back-v27.jpg"],
img[data-photo-tone="hand-wrist-v27.jpg"],
img[data-photo-tone="calf-glide-v28.jpg"]{--photo-brightness:.89;--photo-contrast:1.01;--photo-saturation:.83}
img[data-photo-tone="neck-shoulder-v27.jpg"],
img[data-photo-tone="toe-care-v27.jpg"]{--photo-brightness:.90;--photo-contrast:1.01;--photo-saturation:.83}
img[data-photo-tone="dry-v12.jpg"]{--photo-brightness:.91;--photo-contrast:.99;--photo-saturation:.83}
/* Consultation, preparation and tea share restrained neutrals. */
img[data-photo-tone="consult-v23.jpg"]{--photo-brightness:.92;--photo-contrast:.97;--photo-saturation:.82}
img[data-photo-tone="changing-v15.jpg"]{--photo-brightness:1.01;--photo-contrast:.95;--photo-saturation:.78}
img[data-photo-tone="footbath-v12.jpg"]{--photo-brightness:.94;--photo-contrast:.98;--photo-saturation:.80}
img[data-photo-tone="steam-wrap-v30.jpg"]{--photo-brightness:.94;--photo-contrast:.97;--photo-saturation:.78}
img[data-photo-tone="tea-v16.jpg"]{--photo-brightness:.90;--photo-contrast:.98;--photo-saturation:.78}
img[data-photo-tone="room.jpg"]{--photo-brightness:1.02;--photo-contrast:.94;--photo-saturation:.75}
/* Real visitor photos retain their scene and attribution, with mild tonal balance. */
img[data-photo-tone="review-secret-v30.jpg"]{--photo-brightness:.96;--photo-contrast:.95;--photo-saturation:.80}
img[data-photo-tone="review-kong-v30.jpg"]{--photo-brightness:.94;--photo-contrast:.95;--photo-saturation:.66}
img[data-photo-tone="review-custom-v30.jpg"]{--photo-brightness:1.01;--photo-contrast:.94;--photo-saturation:.74}
img[data-photo-tone="review-happy-v30.webp"]{--photo-brightness:.97;--photo-contrast:.96;--photo-saturation:.64}
/* Morning stays daylight: match softness and saturation, not nighttime exposure. */
img[data-photo-tone="morning-rest-v30.jpg"]{--photo-brightness:.97;--photo-contrast:.94;--photo-saturation:.80}

/* Final editorial finish. No copy, service order or photograph is replaced. */
:root {
  --body: #5e5952;
  --section-space: clamp(76px, 8vw, 112px);
}
html { scroll-padding-top: calc(var(--header-height, 108px) + 20px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; }
.header { background: rgba(250, 248, 242, .97); border-color: var(--line); }
#main-nav { gap: clamp(20px, 2.4vw, 36px); }
#main-nav a { min-height: 44px; display: inline-flex; align-items: center; }
#main-nav a[aria-current="location"]:after { right: 0; }
.back-button { min-height: 44px; display: inline-flex; align-items: center; }
.page-back-top { padding-block: 2px; }
.home-main > .page-back-top { position: absolute; inset: 12px 0 auto; }
.page-back-top .back-button { color: #fffef6; text-shadow: 0 1px 8px #171512; }
.flow-hero-wave { fill: var(--soft); }
.section { padding-block: var(--section-space); }
.section-head { margin-bottom: 48px; }
.eyebrow { letter-spacing: 1.5px; }

/* The three questions are the only repeated curved graphic. */
.flow-understanding { padding-block: 68px 76px; }
.flow-understanding-heading h2 { font-weight: 400; letter-spacing: -1.7px; line-height: 1.5; }
.flow-questions { margin-block: 54px 56px; }
.flow-question { border-color: #b8b8a7; }
.flow-question-number { font-size: 17px; }
.flow-question p { font-size: 13px; letter-spacing: -.2px; }
.flow-water-balance { padding-top: 38px; gap: 56px; }
.flow-water-copy { font-size: 15px; line-height: 1.95; }
.flow-water-balance h3 { font-size: 28px; }

/* A quiet photographic spread, with readable type over the dark left area. */
.flow-hero-copy { max-width: 660px; }
.flow-hero h1 { font-weight: 400; font-size: clamp(46px, 5.2vw, 72px); letter-spacing: -.045em; }
.flow-hero:after { background: linear-gradient(90deg, rgba(23, 21, 18, .32), rgba(23, 21, 18, .07) 62%, transparent); }
.flow-hero-description { font-size: 16px; font-weight: 400; }
.signature-intro { padding-block: var(--section-space); gap: 8%; }
.signature-intro-copy .lead { font-size: clamp(24px, 2.3vw, 29px); line-height: 1.65; }
.signature-intro-copy > p:not(.lead) { max-width: 490px; line-height: 1.95; }
.signature-intro-copy .letter-signature { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }

/* Five equal-information cards: three, then two, with no blank sixth tile. */
.program-section { background: var(--soft); }
.program-list { gap: 22px; }
.program-row { padding: 32px 30px 25px; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.program-row:hover { transform: none; border-color: var(--olive); box-shadow: 0 4px 18px #332c2608; }
.program-row:focus-visible { outline-offset: 4px; }
.program-row .eyebrow { font-size: 12px; margin-bottom: 15px; }
.program-row h3 { font-size: 23px; line-height: 1.5; min-height: 69px; letter-spacing: -.8px; text-wrap: pretty; }
.program-duration { font-size: 44px; letter-spacing: -1.5px; margin: 12px 0 25px; font-variant-numeric: lining-nums; }
.program-row-body > p { font-size: 15px; line-height: 1.85; margin-bottom: 28px; }
.service-tags { gap: 7px; }
.service-tags span { font-size: 12px; padding: 7px 10px; background: transparent; }
.program-row-price { margin-top: 27px; padding-top: 22px; }
.price-line { line-height: 1.6; }
.price-line strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.price-line del, .price-line > span, .coupon-price { font-size: 13px; }
.coupon-price { margin-top: 8px; min-height: 25px; }
.textlink { font-size: 14px; padding-top: 10px; margin-top: 15px; }
.program-row .textlink { transition: color .2s; }
.program-row:hover .textlink { color: #4d5b3e; }
.program-row.signature { background: var(--sage); border-color: #a8ae94; }

/* Photos keep their natural subject and share a single restrained frame. */
.space-heading { margin-bottom: 38px; }
.space-heading p { font-size: 16px; }
.space-section > figure { width: min(1240px, calc(100% - 112px)); }
.space-section > figure img { aspect-ratio: 2.05; }
.space-section figcaption { font-size: 12px; }
.first-visit { padding-top: 20px; }
.first-visit .section-head { margin-bottom: 56px; }
.journey { gap: 56px; }
.journey > article { padding-bottom: 56px; column-gap: clamp(40px, 6vw, 80px); }
.step-label { gap: 20px; margin-bottom: 22px; }
.step-label > span { font-size: 42px; font-style: italic; }
.step-label h3 { font-size: clamp(23px, 2.25vw, 29px); }
.journey > article > p { font-size: 16px; line-height: 1.95; }
.journey > article > .journey-note { font-size: 13px; line-height: 1.85; padding-top: 19px; margin-top: 22px; }

.customer-reviews { background: var(--soft); }
.review-grid { gap: 28px; }
.review-card { display: flex; flex-direction: column; }
.review-card figure { aspect-ratio: 1.85; flex: none; }
.review-content { flex: 1; display: flex; flex-direction: column; padding: 28px 32px 30px; }
.review-platform { font-size: 13px; }
.review-stars b { font-size: 11px; }
.review-content blockquote { font-size: 22px; margin-block: 23px 25px; line-height: 1.7; }
.review-author { margin-top: auto; font-size: 13px; }
.customer-reviews .small { font-size: 12px; margin-top: 22px; }
.journal-intro { font-size: 16px; line-height: 1.85; }
.journal-grid { gap: 30px; }
.journal-card { display: flex; flex-direction: column; }
.journal-card > div { flex: 1; display: flex; flex-direction: column; }
.journal-card > img { flex: none; aspect-ratio: 1.12; }
.journal-card .eyebrow { font-size: 12px; }
.journal-card h3 { font-size: 23px; line-height: 1.55; }
.journal-card p { font-size: 15px; }
.journal-card b { font-size: 13px; margin-top: auto; padding-top: 20px; }
.journal-all { min-height: 44px; display: flex; align-items: center; font-size: 14px; }

.faq-section { border-top: 1px solid var(--line); padding-block: 76px; }
.faq-layout { grid-template-columns: .75fr 1.25fr; gap: 70px; }
.faq-layout > div:first-child { top: calc(var(--header-height, 108px) + 36px); }
.faq-layout summary { font-size: 18px; line-height: 1.7; }
.faq-layout details { padding-block: 24px; }
.faq-layout summary:after { top: 1px; right: 4px; color: var(--olive); }
.faq-answer { font-size: 15px; line-height: 1.9; }
.faq-answer-row { gap: 18px; padding-bottom: 18px; margin-bottom: 18px; }
.visit { border-top: 1px solid var(--line); gap: 7%; padding-block: 76px; }
.visit > div > p:not(.lead), .parking p { font-size: 15px; line-height: 1.9; }
.location-map-link span { font-size: 14px; }
.address-copy, .parking a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.parking a { padding-block: 6px; }
.footer-row { gap: 48px; }
.footer-row p { font-size: 13px; line-height: 2; }
.footer-links { font-size: 13px; }
.footer-links > a:not(.booking-bottom) { min-height: 44px; display: inline-flex; align-items: center; }
.booking-bottom { min-height: 64px; margin-top: 0; transition: background-color .2s; }
.legal { font-size: 12px; }

@media (min-width: 701px) and (max-width: 1050px) {
  #main-nav { gap: 16px; }
  .program-row { padding-inline: 22px; }
  .program-row h3 { font-size: 21px; }
  .program-row-body > p { font-size: 14px; }
  .service-tags span { font-size: 11px; padding-inline: 8px; }
  .coupon-price, .price-line > span { font-size: 12px; }
  .space-section > figure { width: calc(100% - 64px); }
}
@media (max-width: 700px) {
  :root { --section-space: 64px; }
  .header { padding: 15px 21px 3px; }
  #main-nav { gap: 4px; font-size: clamp(10.5px, 3.15vw, 12px); }
  #main-nav a { min-height: 44px; padding-block: 11px; }
  .back-button { font-size: 12px; }
  .page-back-top { padding-block: 0; }
  .flow-understanding { padding-block: 40px 50px; }
  .flow-understanding-heading h2 { font-size: clamp(24px, 6.6vw, 30px); letter-spacing: -1.2px; line-height: 1.6; }
  .flow-understanding-heading .eyebrow { font-size: 11px; }
  .flow-questions { margin-block: 30px 38px; }
  .flow-question { width: min(78%, 238px); }
  .flow-question + .flow-question { margin-top: -18px; }
  .flow-question-number { font-size: 15px; }
  .flow-question h3 { font-size: 25px; }
  .flow-question p { font-size: 12px; margin-top: 13px; }
  .flow-water-balance { gap: 22px; padding-top: 30px; }
  .flow-water-balance h3 { font-size: 26px; }
  .flow-water-copy { font-size: 15px; line-height: 1.85; }
  .flow-hero { height: 560px; }
  .flow-hero h1 { font-size: 42px; letter-spacing: -2.2px; }
  .flow-hero-copy { left: 24px; right: 22px; bottom: 100px; }
  .flow-hero-description { font-size: 14px; }
  .flow-hero:after { background: linear-gradient(0deg, rgba(23, 21, 18, .72), rgba(23, 21, 18, .12) 65%, transparent); }
  .signature-intro { gap: 28px; }
  .signature-intro-copy .lead { font-size: 24px; }
  .signature-intro-copy > p:not(.lead) { font-size: 15px; line-height: 1.9; }
  .section-head { margin-bottom: 30px; }
  .program-list { gap: 18px; }
  .program-row, .program-row:nth-last-child(-n+2) { padding: 27px 24px 22px; }
  .program-row h3 { min-height: 0; font-size: 23px; }
  .program-row .eyebrow { font-size: 12px; }
  .program-duration { font-size: 42px; margin-block: 14px 22px; }
  .program-row-body > p { font-size: 15px; line-height: 1.85; margin-bottom: 24px; }
  .program-row-price { margin-top: 23px; }
  .price-line strong { font-size: 29px; }
  .space-heading h2 { font-size: 28px; }
  .space-heading p { font-size: 15px; }
  .space-section > figure { width: calc(100% - 42px); }
  .space-section > figure img { aspect-ratio: 1.3; }
  .space-section figcaption { font-size: 11px; }
  .first-visit { padding-top: 12px; }
  .first-visit .section-head { margin-bottom: 32px; }
  .journey { gap: 36px; }
  .journey > article { padding-bottom: 36px; }
  .step-label { gap: 15px; margin-block: 25px 17px; }
  .step-label > span { font-size: 34px; }
  .step-label h3 { font-size: 23px; }
  .journey > article > p { font-size: 15px; line-height: 1.9; }
  .journey > article > .journey-note { font-size: 13px; padding-top: 16px; margin-top: 18px; }
  .review-grid { gap: 24px; }
  .review-card figure { aspect-ratio: 1.6; }
  .review-content { padding: 23px 24px 26px; }
  .review-platform { font-size: 12px; gap: 8px; }
  .review-stars { letter-spacing: 1px; }
  .review-stars b { font-size: 10px; }
  .review-content blockquote { font-size: 21px; margin-block: 21px 23px; }
  .customer-reviews .small { font-size: 11px; text-align: left; }
  .journal-intro { font-size: 15px; }
  .journal-grid { gap: 38px; }
  .journal-card > img { aspect-ratio: 1.18; }
  .journal-card > div { padding-inline: 0; }
  .journal-card h3 { font-size: 24px; }
  .faq-section { padding-block: 60px; }
  .faq-layout { grid-template-columns: 1fr; gap: 10px; }
  .faq-layout details { padding-block: 22px; }
  .faq-layout summary { font-size: 17px; }
  .faq-answer { font-size: 15px; }
  .faq-answer-row { gap: 12px; grid-template-columns: 58px 1fr; }
  .visit { padding-block: 60px; gap: 32px; }
  .footer-row p { font-size: 12px; }
  .footer-links { font-size: 12px; gap: 8px 19px; }
}
@media (min-width: 701px) and (max-width: 960px) {
  .program-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-row, .program-row:nth-last-child(-n+2) { grid-column: auto; }
  .program-row:last-child { grid-column: 1 / -1; }
  .program-row:last-child .program-row-body > p { max-width: 540px; }
  .program-row:nth-last-child(2) h3 { min-height: 69px; }
}
@media (max-width: 360px) {
  .header { padding-inline: 16px; }
  #main-nav { font-size: 10px; gap: 3px; }
  .wrap, .space-section > figure { width: calc(100% - 32px); }
  .flow-hero h1 { font-size: 36px; }
  .program-row, .program-row:nth-last-child(-n+2) { padding-inline: 21px; }
  .service-tags span { font-size: 11px; }
  .review-content { padding-inline: 21px; }
  .review-platform { flex-wrap: wrap; }
}

/* Eight visitor stories: consistent photographs and readable full excerpts. */
.customer-reviews > .wrap { width: min(1440px, calc(100% - 96px)); }
.customer-reviews .review-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 20px;
  align-items: stretch;
}
.customer-reviews .review-card { min-width: 0; }
.customer-reviews .review-card figure { aspect-ratio: 1.5; }
.customer-reviews .review-content { padding: 22px 20px 23px; }
.customer-reviews .review-platform {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
}
.customer-reviews .review-stars { white-space: nowrap; letter-spacing: 1px; }
.customer-reviews .review-stars b { font-size: 10px; }
.customer-reviews .review-content blockquote {
  margin: 20px 0 24px;
  min-height: 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: -.3px;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: left;
}
.customer-reviews .review-author { font-size: 12px; text-align: left; }
img[data-photo-tone="review-wendy-v39.jpg"] { --photo-brightness: .97; --photo-contrast: .96; --photo-saturation: .78; object-position: center 65%; }
img[data-photo-tone="review-pilarina-v39.jpg"] { --photo-brightness: .98; --photo-contrast: .95; --photo-saturation: .77; object-position: center 65%; }
img[data-photo-tone="review-chaee-v39.jpg"] { --photo-brightness: .98; --photo-contrast: .95; --photo-saturation: .78; object-position: center 60%; }
img[data-photo-tone="review-kind-v39.jpg"] { --photo-brightness: .98; --photo-contrast: .95; --photo-saturation: .77; object-position: center 52%; }
@media (min-width: 701px) and (max-width: 1100px) {
  .customer-reviews .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .customer-reviews > .wrap { width: calc(100% - 40px); }
  .customer-reviews .review-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .customer-reviews .review-card figure { aspect-ratio: 1.6; }
  .customer-reviews .review-content { padding: 23px 24px 25px; }
  .customer-reviews .review-platform { font-size: 12px; }
  .customer-reviews .review-content blockquote { font-size: 16px; }
}

/* Brand word beside the introduction, including narrow screens. */
.signature-intro-copy .intro-flow-heading{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.intro-flow-word{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,40px);font-weight:400;letter-spacing:.08em;color:var(--ink);flex-shrink:0}

.flow-hero h1.care-touch-title{font-size:clamp(26px,4vw,52px);line-height:1.5;letter-spacing:-.045em}

/* Compact consultation-to-first-visit introduction. */
.flow-understanding-description { max-width: 650px; margin: 20px auto 0; color: #615c51; font-size: 15px; line-height: 1.9; word-break: keep-all; }
.flow-questions { max-width: 850px; margin-block: 38px 40px; }
.flow-question { padding: 23px; }
.flow-question h3 { font-size: clamp(23px,2.2vw,29px); }
.flow-question p { color: #625d50; font-size: 13px; margin-top: 16px; word-break: keep-all; }
.flow-question-number { margin-bottom: 18px; }
.flow-water-balance { padding-top: 32px; gap: 44px; }
.flow-first-links { display: flex; flex-wrap: wrap; gap: 16px 25px; align-items: center; margin-top: 22px; }
.flow-first-links .textlink { color: var(--ink); font-size: 15px; }
.flow-journal-link { color: #625d50; font-size: 13px; text-underline-offset: 5px; }
@media(max-width:700px) {
 .flow-understanding-description { font-size: 14px; line-height: 1.8; margin-top: 16px; }
 .flow-understanding-description br { display: none; }
 .flow-questions { max-width: 350px; margin-block: 26px 28px; }
 .flow-question { width: min(74%,220px); padding: 18px; }
 .flow-question + .flow-question { margin-top: -10px; }
 .flow-question h3 { font-size: 23px; line-height: 1.45; letter-spacing: -1px; }
 .flow-question p { font-size: 12px; margin-top: 12px; letter-spacing: -.45px; }
 .flow-question-number { margin-bottom: 12px; }
 .flow-water-balance { gap: 19px; padding-top: 26px; }
 .flow-water-balance h3 { font-size: 25px; }
 .flow-first-links { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 18px; }
}

/* Flow motion: short entrances, calm color movement, stationary copy. */
.motion-enter { animation: flow-enter 1050ms cubic-bezier(.16,.7,.3,1) var(--enter-delay,0ms) backwards; }
@keyframes flow-enter { from { opacity:.2; transform:translateY(26px); } to { opacity:1; transform:none; } }
.flow-hero-photo { overflow:hidden; }
.flow-motion-ready .flow-hero-photo { inset:-32px 0; transform:translate3d(0,var(--flow-drift,0px),0); }
.flow-hero-photo.hero-arrive img { animation: flow-photo 3800ms cubic-bezier(.2,.65,.3,1) backwards; }
@keyframes flow-photo { from { transform:scale(1.075); } to { transform:scale(1); } }
.flow-motion-ready .flow-hero-copy > p,.flow-motion-ready .flow-hero-copy > h1 { animation:flow-enter 1250ms cubic-bezier(.16,.7,.3,1) backwards; }
.flow-motion-ready .flow-hero-copy > h1 { animation-delay:120ms; }
.flow-motion-ready .flow-hero-copy > .flow-hero-description { animation-delay:260ms; }
.flow-motion-ready .flow-hero-wave { width:112%; left:-6%; transform:translateX(var(--wave-drift,0%)); }
.signature-intro figure { overflow:hidden; }
.flow-motion-ready .signature-intro figure img { transform:translate3d(0,var(--flow-drift,0px),0) scale(1.08); }
.flow-reading-progress { position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--olive); transform:scaleX(var(--flow-progress,0)); transform-origin:left; pointer-events:none; opacity:.7; }
.flow-question { overflow:hidden; isolation:isolate; --flow-tint:#bfc5a5; }
.flow-question:nth-child(2) { --flow-tint:#a5ae88; }
.flow-question:nth-child(3) { --flow-tint:#6e685b; }
.flow-question::before { content:''; position:absolute; z-index:-1; inset:0 -20% -40%; border-radius:44% 48% 0 0; background:var(--flow-tint); opacity:0; pointer-events:none; }
.flow-question.is-flow-active::before { animation: flow-color 3200ms ease-in-out var(--flow-delay,0ms) both; }
@keyframes flow-color { 0% { opacity:0; transform:translateY(85%) rotate(-9deg); } 45% { opacity:.5; transform:translateY(8%) rotate(5deg); } 100% { opacity:0; transform:translateY(-24%) rotate(0deg); } }
.flow-question::after { content:''; position:absolute; inset:9px; border:1px solid currentColor; border-radius:50%; pointer-events:none; opacity:0; }
.flow-question.is-flow-active::after { animation:flow-ripple 3000ms cubic-bezier(.2,.65,.3,1) var(--flow-delay,0ms) both; }
@keyframes flow-ripple { 0% { opacity:0; transform:scale(.84); } 35% { opacity:.22; } 100% { opacity:0; transform:scale(1.04); } }
.faq-layout details[open] .faq-answer { animation:flow-answer 420ms ease-out; }
@keyframes flow-answer { from { opacity:.3; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.booking-bottom { overflow:hidden; position:relative; isolation:isolate; transition:background-color 300ms ease,box-shadow 300ms ease; }
.booking-bottom:before { content:''; position:absolute; inset:0; z-index:-1; background:#506048; transform:translateX(-101%); transition:transform 550ms cubic-bezier(.2,.65,.3,1); pointer-events:none; }
.booking-bottom:focus-visible:before { transform:translateX(0); }
.program-row { transition:transform 350ms ease,box-shadow 350ms ease,border-color 350ms ease; }
.journal-card > img,.review-card img { transition:transform 650ms ease; }
.textlink,.flow-journal-link { transition:color 250ms ease,transform 250ms ease; }
.program-row:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
 .program-row:hover { transform:translateY(-5px); box-shadow:0 12px 30px #332d2310; border-color:#8c917b; }
 .journal-card:hover > img { transform:scale(1.018); }
 .textlink:hover,.flow-journal-link:hover { transform:translateX(4px); }
 .booking-bottom:hover:before { transform:translateX(0); }
 .review-card:hover img { transform:scale(1.025); }
}
@media(max-width:700px) { .flow-question h3 { font-size:22px; } .flow-question p { font-size:11.5px; } }
@media(prefers-reduced-motion:reduce) {
 .motion-enter,.flow-hero-photo.hero-arrive img,.flow-question.is-flow-active::before { animation:none!important; }
 .flow-question::before { display:none; }
 .program-row,.journal-card > img,.review-card img,.textlink,.flow-journal-link { transition:none!important; transform:none!important; }
 .flow-hero-photo,.flow-hero-wave,.signature-intro figure img { transform:none!important; }
 .flow-question::after,.flow-reading-progress { display:none; }
}
