/* Native editorial cards, workflow steps and accordions inspired by 21st.dev. */
body.home-wellness { background:#fcf9f5; color:#3a1e10; color-scheme:light; --wh-muted:#765f50; --wh-line:#e8d5c5; }
.wellness-home { padding-top:104px; overflow:clip; }
.wellness-home *, .wellness-home *::before, .wellness-home *::after { box-sizing:border-box; }
.wh-wrap { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.wellness-home p { color:var(--wh-muted); line-height:1.75; }
.wellness-home h1,.wellness-home h2 { font-family:Georgia,'Times New Roman',serif; font-weight:500; letter-spacing:-.045em; line-height:1.05; margin:0; color:#3a1e10; }
.wellness-home h1 { font-size:clamp(48px,5.7vw,76px); }
.wellness-home h2 { font-size:clamp(34px,3.7vw,50px); }
.wellness-home h3 { font-size:19px; line-height:1.35; letter-spacing:-.025em; font-weight:600; margin:0; }
.wellness-home .wh-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.16em; font-weight:650; color:#9c470e; margin:0 0 20px; line-height:1.6; }
.wh-hero { display:grid; grid-template-columns:1.15fr 1fr; column-gap:55px; align-items:center; padding:32px 0 0; }
.wh-hero-copy { padding-block:30px; }
.wellness-home .wh-lead { max-width:490px; font-size:18px; margin:24px 0 28px; }
.wh-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.wh-button { display:inline-flex; gap:20px; justify-content:center; align-items:center; min-height:50px; background:#f08223; color:#351b0c; padding:14px 23px; font-size:14px; font-weight:650; border:1px solid #f08223; border-radius:30px; text-decoration:none; transition:background .2s,transform .2s; }
@media(hover:hover) and (pointer:fine) { .wh-button:hover { background:#ff982e; } }
.wh-button-secondary { background:transparent; border-color:#b78d6c; color:#643011; }
.wh-button-secondary:hover { background:#f4e7d9; }
.wh-hero .wh-actions { gap:12px; }
.wh-hero .wh-button { min-width:170px; }
.wh-text { color:#643011; font-size:14px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:14px; }
.wh-text:hover { text-decoration:underline; text-underline-offset:5px; }
.wh-text > span { font-size:20px; }
.wellness-home .wh-help { font-size:12px; margin:14px 0; }
.wh-product-stage { position:relative; isolation:isolate; margin:0; height:490px; border:1px solid #ead3bf; border-radius:160px 160px 28px 28px; background:linear-gradient(140deg,#f6ebdf,#f0d7ba); display:flex; justify-content:center; align-items:center; overflow:hidden; }
.wh-product-halo { position:absolute; border:1px solid #d6ae86; width:340px; height:340px; border-radius:50%; top:75px; opacity:.55; }
.wh-product-halo::after { content:''; position:absolute; inset:23px; border:1px solid #d6ae86; border-radius:inherit; }
.wh-product-stage > img { position:relative; height:390px; width:78%; object-fit:contain; filter:drop-shadow(0 22px 18px #6b371322); margin-top:5px; }
.wh-product-index { position:absolute; top:35px; font-size:9px; letter-spacing:.17em; color:#895b37; }
.wh-product-stage figcaption { position:absolute; bottom:25px; left:30px; display:flex; flex-direction:column; gap:5px; }
.wh-product-stage figcaption strong { font-size:18px; letter-spacing:.1em; font-weight:500; }
.wh-product-stage figcaption span { color:#75543c; font-size:12px; }
.wh-product-stamp { position:absolute; bottom:25px; right:26px; width:49px; height:49px; display:grid; place-items:center; border:1px solid #c59a73; border-radius:50%; color:#8d4b1f; }
.wh-product-stamp svg { width:25px; }
.wh-principles { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); padding:25px 0; margin:35px 0 0; list-style:none; border-block:1px solid var(--wh-line); }
.wh-principles li { display:flex; align-items:center; justify-content:center; gap:13px; font-size:14px; }
.wh-principles li+li { border-left:1px solid var(--wh-line); }
.wh-principles svg { width:23px; height:23px; color:#a55926; }
.wh-section { padding-block:84px; }
.wh-heading { display:flex; gap:40px; justify-content:space-between; align-items:end; margin-bottom:32px; }
.wh-heading > p { max-width:320px; font-size:15px; margin:0 0 4px; }
/* One landscape film introduces the business story before the component gallery. */
.wh-business-film { padding-top:0; }
.wh-business-film-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.wh-business-film-heading .wh-eyebrow { margin-bottom:12px; }
.wh-business-film-heading > .wh-button { flex:none; }
@media(max-width:700px) {
  .wh-section.wh-business-film { padding-top:0; }
  .wh-business-film-heading { align-items:start; flex-direction:column; gap:18px; margin-bottom:22px; }
  .wh-business-film-heading > .wh-button { font-size:12px; min-height:44px; padding:10px 17px; }
}
/* The Rimbayu space: four quiet images, native touch and keyboard scrolling. */
.wh-interiors .wh-heading { align-items:center; }
.wh-interiors .wh-heading > .wh-text { flex:none; min-height:44px; }
.wh-interior-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 54px)/4); gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 0 6px; }
.wh-interior-track::-webkit-scrollbar { display:none; }
.wh-interior-track:focus-visible { outline:2px solid #a65316; outline-offset:6px; border-radius:20px; }
.wh-interior-track figure { min-width:0; margin:0; scroll-snap-align:start; }
.wh-interior-track img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; border-radius:20px; background:#e6d5c2; }
.wh-interior-track figcaption { padding:14px 2px 0; font-size:13px; line-height:1.5; color:#62452e; }
.wellness-home .wh-interior-note { margin:18px 0 0; font-size:11px; color:var(--wh-muted); }
@media(max-width:700px) {
  .wh-interiors .wh-heading { margin-bottom:20px; }
  .wh-interiors .wh-heading > .wh-text { margin-top:12px; font-size:13px; }
  .wh-interior-track { grid-auto-columns:84%; gap:14px; margin-right:-20px; padding-right:20px; scroll-padding-right:20px; }
  .wh-interior-track img { border-radius:17px; }
  .wh-interior-track figcaption { font-size:12px; padding-top:12px; }
}
/* A feature bento: one warmth illustration, two supporting human details. */
.wh-benefits { display:grid; grid-template-columns:1.08fr 1fr; grid-template-rows:1fr 1fr; gap:18px; }
.wh-benefit { position:relative; overflow:hidden; min-width:0; border:1px solid var(--wh-line); border-radius:28px; background:#fffdfa; padding:34px; }
.wh-benefit-copy { position:relative; z-index:1; }
.wh-benefit .wh-eyebrow { font-size:10px; margin:0 0 16px; }
.wh-benefit h3 { font-family:Georgia,serif; font-size:clamp(27px,2.7vw,37px); line-height:1.12; font-weight:400; letter-spacing:-.035em; }
.wh-benefit p:not(.wh-eyebrow) { margin:14px 0 0; font-size:14px; max-width:36ch; }
.wh-benefit-warmth { grid-row:span 2; display:flex; flex-direction:column; min-height:470px; background:radial-gradient(ellipse at 75% 62%,#f5c08a55,transparent 60%),#f8ecdf; }
.wh-benefit-warmth h3 { font-size:clamp(33px,3.3vw,45px); }
.wh-warmth-art { display:grid; place-items:center; position:absolute; width:330px; height:330px; right:-70px; bottom:40px; }
.wh-warmth-ring { position:absolute; inset:0; border:1px solid #c89d7855; border-radius:50%; }
.wh-warmth-ring:nth-child(2) { inset:34px; border-color:#c89d7877; }
.wh-warmth-orb { width:194px; height:194px; display:grid; place-items:center; border:1px solid #e4b68d; border-radius:50%; color:#a75524; background:radial-gradient(circle at 40% 30%,#fff4e5,#f5c28e); box-shadow:inset 0 2px 4px #fff6eccc,0 22px 50px #c27b3922; }
.wh-warmth-orb svg { width:70px; height:70px; stroke-width:.9; }
.wh-focus-areas { position:relative; margin-top:auto; padding-top:112px; z-index:1; }
.wh-focus-areas > span { font-size:11px; color:#82583a; }
.wh-focus-areas ul { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:11px 0 0; list-style:none; }
.wh-focus-areas li { background:#fffcf4e8; color:#6e4121; border:1px solid #e7c9ad; border-radius:100px; padding:8px 14px; font-size:12px; }
.wh-benefit-person,.wh-benefit-tune { padding-right:120px; min-height:225px; }
.wh-benefit-person { background:#3a1e10; border-color:#5c3b24; }
.wh-benefit-person h3 { color:#fff4e6; }
.wh-benefit-person p:not(.wh-eyebrow) { color:#e2cdbb; }
.wh-benefit-person .wh-eyebrow { color:#f1b47f; }
.wh-benefit-symbol { position:absolute; right:28px; top:50%; transform:translateY(-50%); width:65px; height:65px; display:grid; place-items:center; color:#97501f; border:1px solid #e2c1a2; border-radius:50%; background:#f8ead9; }
.wh-benefit-symbol svg { width:29px; height:29px; }
.wh-benefit-person .wh-benefit-symbol { color:#ffc390; background:#603a22; border-color:#8d6140; box-shadow:0 0 0 10px #ffffff03; }
.wh-after { margin-top:26px; }
.wh-visit { padding-block:74px; background:#f4e7d9; }
.wh-visit-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:85px; align-items:center; }
.wh-steps { list-style:none; margin:30px 0; padding:0; }
.wh-steps li { display:flex; gap:20px; position:relative; padding-bottom:25px; }
.wh-steps li:not(:last-child)::before { content:''; position:absolute; top:34px; bottom:0; left:17px; width:1px; background:#d6b797; }
.wh-steps li > span { border:1px solid #cb9c77; border-radius:50%; background:#f4e7d9; width:35px; height:35px; display:grid; place-items:center; flex:none; font-size:10px; color:#9e5525; }
.wh-steps h3 { font-size:16px; margin:5px 0; }
.wh-steps p { font-size:14px; margin:0; max-width:380px; }
.wh-location-card { border:1px solid #dfc6af; border-radius:24px; overflow:hidden; background:#fffcf8; }
.wh-location-card > img { display:block; aspect-ratio:1.38; object-fit:cover; width:100%; height:auto; }
.wh-location-card > div { padding:28px; }
.wh-location-card .wh-eyebrow { margin-bottom:10px; }
.wh-location-card h3 { font-family:Georgia,serif; font-size:28px; font-weight:500; }
.wh-location-card p { font-size:14px; }
.wh-films { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.wh-film { display:grid; grid-template-columns:43% 1fr; align-items:center; border:1px solid var(--wh-line); border-radius:22px; overflow:hidden; color:inherit; text-decoration:none; background:#fffdfa; }
.wh-film-image { position:relative; height:100%; min-height:210px; overflow:hidden; }
.wh-film img { width:100%; height:100%; object-fit:cover; }
.wh-film-image > span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#fff4e8ed; color:#633311; font-size:15px; }
.wh-film > div:last-child { padding:23px; }
.wh-film h3 { font-size:18px; }
.wh-film p { font-size:13px; margin:10px 0 18px; }
.wh-film .wh-text { font-size:12px; }
.wh-film:hover .wh-text { text-decoration:underline; }
.wh-partner { background:#3a1e10; border-radius:30px; padding:54px; display:grid; grid-template-columns:1.2fr 1fr; gap:25px; align-items:center; }
.wellness-home .wh-partner h2 { color:#fff4e6; }
.wellness-home .wh-partner .wh-eyebrow { color:#f5b374; }
.wellness-home .wh-partner p { color:#dfcbbc; font-size:15px; }
.wh-partner ul { list-style:none; padding:8px 0; display:flex; flex-direction:column; gap:12px; font-size:14px; color:#ffead4; }
.wh-partner li { display:flex; gap:12px; }
.wh-partner li span { color:#efa96b; }
.wellness-home .wh-partner .wh-help { font-size:11px; max-width:420px; margin:17px 0 0; }
.wh-device-family { height:370px; position:relative; isolation:isolate; }
.wh-device-family::before { content:''; position:absolute; inset:0 0 45px; border-radius:50% 50% 20px 20px; background:radial-gradient(ellipse,#85532f44,transparent 70%); border:1px solid #85533180; }
.wh-device-family img { position:absolute; object-fit:contain; filter:drop-shadow(0 12px 7px #180b0655); }
.wh-device-m1 { width:66%; height:310px; left:-4%; bottom:45px; }
.wh-device-m2 { width:47%; height:255px; right:-2%; bottom:46px; }
.wh-device-m3 { width:25%; height:125px; right:22%; bottom:33px; z-index:2; }
.wh-device-family > span { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:10px; letter-spacing:.22em; color:#c79d7b; }
.wh-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; }
.wh-faq details { border-bottom:1px solid var(--wh-line); }
.wh-faq details:first-child { border-top:1px solid var(--wh-line); }
.wh-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; padding:23px 0; font-size:15px; font-weight:550; list-style:none; }
.wh-faq summary::-webkit-details-marker { display:none; }
.wh-faq summary > span { font-size:23px; font-weight:300; color:#aa5a25; transition:transform .2s; }
.wh-faq details[open] summary > span { transform:rotate(45deg); }
.wh-faq details > p { margin:0 30px 24px 0; font-size:14px; }
.wh-guides { padding:65px 0 75px; border-top:1px solid var(--wh-line); background:#f7eee4; }
.wh-guides h2 { font-size:35px; }
.wh-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.wh-guide-grid > a { position:relative; padding:20px 0; border-top:1px solid #cfaf91; color:inherit; text-decoration:none; }
.wh-guide-grid .wh-eyebrow { font-size:9px; display:block; margin-bottom:12px; }
.wh-guide-grid h3 { font-family:Georgia,serif; font-weight:400; font-size:23px; }
.wh-guide-grid > a:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.wellness-home a:focus-visible,.wellness-home summary:focus-visible { outline:3px solid #a75419; outline-offset:5px; border-radius:5px; }
@media(max-width:1000px) {
 .wh-wrap { width:calc(100% - 48px); }.wh-hero { gap:26px; }.wh-product-stage { height:450px; }.wh-product-stage > img { height:350px; }.wh-visit-grid { gap:38px; }.wh-partner { padding:36px; }.wh-film { display:block; }.wh-film-image { height:210px; }.wh-faq-grid { gap:30px; }
}
@media(max-width:700px) {
 .wellness-home { padding-top:94px; }.wh-wrap { width:calc(100% - 36px); }.wh-hero { grid-template-columns:1fr; padding-top:12px; gap:25px; }.wh-hero-copy { padding:18px 0 0; }.wellness-home h1 { font-size:clamp(43px,10.8vw,64px); }.wellness-home .wh-lead { font-size:16px; margin:20px 0 24px; }.wh-actions { gap:18px; }.wh-button { min-height:49px; }.wh-product-stage { height:360px; border-radius:120px 120px 22px 22px; }.wh-product-stage > img { height:305px; margin-top:-5px; }.wh-product-index { top:23px; }.wh-product-stage figcaption { left:24px; bottom:22px; }.wh-product-stage figcaption strong { font-size:15px; }.wh-product-stage figcaption span { font-size:10px; }.wh-product-halo { width:280px; height:280px; top:42px; }.wh-product-stamp { width:40px; height:40px; bottom:20px; right:22px; }.wh-principles { margin-top:0; padding:20px 0; gap:8px; }.wh-principles li { flex-direction:column; gap:9px; font-size:10px; text-align:center; }.wh-principles svg { width:21px; height:21px; }.wh-section { padding-block:56px; }.wh-heading { display:block; margin-bottom:25px; }.wh-heading > p { margin-top:20px; max-width:none; }.wh-heading > .wh-text { margin-top:20px; }.wh-benefits { grid-template-columns:1fr; grid-template-rows:auto; gap:14px; }.wh-benefit { padding:27px; border-radius:25px; }.wh-benefit-warmth { grid-row:auto; min-height:440px; }.wh-benefit-warmth h3 { font-size:36px; }.wh-benefit-person,.wh-benefit-tune { min-height:225px; padding-right:95px; }.wh-benefit h3 { font-size:29px; }.wh-benefit p:not(.wh-eyebrow) { font-size:13px; }.wh-benefit-symbol { right:22px; width:52px; height:52px; }.wh-benefit-symbol svg { width:25px; height:25px; }.wh-warmth-art { width:290px; height:290px; bottom:37px; right:-70px; }.wh-warmth-orb { width:170px; height:170px; }.wh-focus-areas { padding-top:142px; }.wh-visit { padding:52px 0; }.wh-visit-grid { grid-template-columns:1fr; gap:32px; }.wh-steps { margin:28px 0 10px; }.wh-location-card > img { aspect-ratio:1.7; }.wh-location-card > div { padding:24px; }.wh-films { grid-template-columns:1fr; gap:16px; }.wh-film { display:grid; grid-template-columns:38% 1fr; }.wh-film-image { height:100%; min-height:180px; }.wh-film > div:last-child { padding:21px 18px; }.wh-film h3 { font-size:16px; }.wh-film p { font-size:12px; }.wh-partner { grid-template-columns:1fr; padding:33px 25px; gap:25px; border-radius:24px; }.wh-partner h2 { font-size:35px; }.wh-partner .wh-button { font-size:12px; gap:14px; }.wh-device-family { height:285px; max-width:360px; width:100%; margin:auto; }.wh-device-m1 { height:260px; bottom:28px; }.wh-device-m2 { height:210px; bottom:30px; }.wh-device-m3 { height:105px; bottom:20px; }.wh-faq-grid { grid-template-columns:1fr; gap:30px; }.wh-faq summary { font-size:14px; }.wh-guide-grid { grid-template-columns:1fr; gap:8px; }.wh-guides { padding:45px 0; }.wh-guides h2 { font-size:33px; }.wh-guide-grid > a { padding-block:22px; }.wh-guide-grid h3 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .wellness-home * { transition:none!important; } }

.wh-faq details > p a { color:#874211; text-decoration:underline; text-underline-offset:3px; }
.wellness-home section[id] { scroll-margin-top:100px; }

@media(max-width:700px) { .wh-hero .wh-actions { display:grid; grid-template-columns:1fr 1fr; } .wh-hero .wh-button { min-width:0; padding-inline:14px; font-size:13px; } }
@media(max-width:360px) { .wh-hero .wh-actions { grid-template-columns:1fr; } }

.wh-location-card { padding:10px; box-shadow:0 18px 50px #4b28100b; }
.wh-location-card > img { border-radius:16px; }
.wh-location-card > div { padding:26px 20px 20px; }
.wh-film { box-shadow:0 8px 28px #4b281006; transition:border-color .2s,box-shadow .2s; }
.wh-film:hover,.wh-film:focus-visible { border-color:#c8956c; box-shadow:0 12px 32px #4b281012; }
.wh-guide-grid { gap:18px; }
.wh-guide-grid > a { padding:28px; border:1px solid #e4ccb5; border-radius:22px; background:#fffaf3; }
.wh-guide-grid > a:hover { border-color:#bd885e; }
@media(min-width:701px) and (max-width:1000px) { .wh-benefit { padding:27px; }.wh-benefit-person,.wh-benefit-tune { padding-right:85px; }.wh-benefit-symbol { right:19px; width:48px; height:48px; }.wh-benefit-symbol svg { width:24px; height:24px; } }
@media(prefers-reduced-motion:reduce) { .wh-film { transition:none; } }

/* A concise introduction; the full engineering explorer lives in Technology. */
.wh-engineering{padding-block:24px 12px}
.wh-engineering-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #65432b;border-radius:28px;background:#3a1e10}
.wh-engineering-card figure{position:relative;min-width:0;margin:0;background:#242424}
.wh-engineering-card img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}
.wh-engineering-card figcaption{position:absolute;bottom:14px;left:20px;color:#fff;font-size:10px;text-shadow:0 1px 4px #000;background:#1c120ab8;padding:4px 8px;border-radius:6px}
.wh-engineering-copy{padding:38px;align-self:center}
.wellness-home .wh-engineering-copy .wh-eyebrow{color:#ffc48b;margin-bottom:14px}
.wellness-home .wh-engineering-copy h2{font-size:clamp(2rem,3.6vw,3.2rem);color:#fff6e9}
.wellness-home .wh-engineering-copy>p:not(.wh-eyebrow){max-width:40ch;color:#ead5c1;font-size:14px;line-height:1.7;margin:18px 0 24px}
@media(max-width:700px){.wh-engineering{padding-block:14px 6px}.wh-engineering-card{grid-template-columns:1fr;border-radius:23px}.wh-engineering-card img{height:auto;min-height:0;aspect-ratio:1.8;object-fit:cover}.wh-engineering-copy{padding:26px}.wellness-home .wh-engineering-copy h2{font-size:2.25rem}.wellness-home .wh-engineering-copy>p:not(.wh-eyebrow){font-size:13px;margin:15px 0 20px}.wh-engineering-copy .wh-button{min-height:44px}}

/* Consumer journey: useful facts first, generous editorial space, compact touch controls. */
.wellness-home h1 { font-size:clamp(42px,4.65vw,64px); }
.wh-hero { grid-template-columns:1.2fr 1fr; gap:28px 44px; }
.wh-hero-copy { min-width:0; }
.wellness-home .wh-lead { font-size:17px; margin:22px 0; max-width:46ch; }
.wh-hero-offer { margin:0 0 22px; }
.wh-hero-offer > span { color:#8a6042; font-size:12px; }
.wh-hero-offer p { display:flex; align-items:baseline; flex-wrap:wrap; gap:14px; margin:4px 0 0; }
.wh-hero-offer strong { color:#9d4a0a; font:400 34px/1.2 Georgia,serif; letter-spacing:-.045em; }
.wh-hero-offer p > span { color:#65442e; font-size:13px; }
.wh-hero-offer i { font-style:normal; padding:0 5px; }
.wh-button { gap:13px; min-height:50px; transition:background .2s,border-color .2s,box-shadow .2s,transform .2s; }
.wh-button svg,.wh-text svg { width:20px; height:20px; flex:none; }
.wh-button-secondary > svg { width:17px; }
.wh-button:focus-visible,.wh-film:focus-visible,.wh-text:focus-visible,.wh-visit-links a:focus-visible,.wh-suitability a:focus-visible { outline:3px solid #a65316; outline-offset:5px; }
.wh-engineering-copy .wh-button:focus-visible { outline-color:#ffcf9b; }
.wh-button:active { transform:translateY(0); box-shadow:inset 0 2px 5px #3a1e101a; }
.wh-film:focus-visible .wh-film-image > span { background:#f08223; }
.wh-film-image > span svg { width:20px; height:20px; }
.wh-film-image > span { transition:background .2s,transform .2s; }
.wh-film img { transition:transform .35s; }
.wh-text svg { transition:transform .2s; }
.wh-engineering { padding-block:0 56px; }
.wh-function-list { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:28px 0 0; padding:24px 0; border-bottom:1px solid var(--wh-line); }
.wh-function-list li { display:flex; gap:14px; min-width:0; }
.wh-step-number { color:#a34f17; font:400 24px/1.2 Georgia,serif; }
.wh-function-list h3 { font-size:15px; margin:0 0 8px; }
.wh-function-list p { font-size:13px; margin:0; }
.wh-visit-grid { grid-template-columns:1fr .9fr; gap:32px 68px; align-items:start; }
.wh-visit h2 { font-size:clamp(33px,3.3vw,45px); }
.wh-steps { margin:30px 0 12px; }
.wh-steps p { max-width:39ch; }
.wh-booking-card { border:1px solid #e0bfa2; border-radius:28px; padding:34px; background:linear-gradient(145deg,#fffdf8,#fcf3e8); box-shadow:0 16px 48px #67412008; }
.wh-booking-card .wh-eyebrow { margin-bottom:15px; }
.wellness-home .wh-booking-price { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 24px; }
.wh-booking-price strong { color:#9d4a0a; font:400 clamp(42px,4vw,58px)/1 Georgia,serif; letter-spacing:-.06em; }
.wh-booking-price span { font-size:12px; }
.wh-booking-card dl { margin:0; border-top:1px solid #e8cdb5; }
.wh-booking-card dl > div { display:grid; grid-template-columns:1fr 1.6fr; gap:14px; padding:17px 0; border-bottom:1px solid #e8cdb5; }
.wh-booking-card dt { color:#806049; font-size:12px; line-height:1.6; }
.wh-booking-card dd { margin:0; color:#4d2d18; font-size:15px; line-height:1.45; }
.wh-booking-card dd span { display:block; font-size:12px; line-height:1.7; color:#806049; margin-top:6px; }
.wh-visit-links { display:flex; flex-wrap:wrap; gap:12px 22px; margin:15px 0 23px; }
.wh-visit-links a { color:#874211; font-size:12px; min-height:40px; display:flex; align-items:center; text-underline-offset:4px; }
.wh-booking-card > .wh-button { width:100%; justify-content:space-between; }
.wh-booking-card .wh-help { font-size:12px; line-height:1.6; margin-bottom:0; }
.wh-booking-card .wh-booking-condition { font-size:11px; margin-top:7px; }
.wellness-home .wh-suitability { grid-column:1/-1; font-size:12px; line-height:1.7; margin:0; padding-top:6px; max-width:85ch; }
.wh-suitability a { color:#874211; display:inline-flex; align-items:center; gap:5px; min-height:36px; margin-left:8px; }
.wh-suitability svg { width:14px; height:14px; }
.wh-research-preview { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.wh-research-preview h2 { font-size:clamp(31px,3.1vw,43px); }
.wh-research-preview > div > p:first-child:not(.wh-eyebrow) { margin-top:0; font-size:15px; }
.wh-research-links { display:grid; justify-items:start; gap:22px; }
.wellness-home .wh-source-context { font-size:12px; line-height:1.7; margin:22px 0 0; color:#80654f; }
.wh-business-invitation { display:flex; align-items:center; justify-content:space-between; gap:30px; border-block:1px solid var(--wh-line); padding-block:34px; }
.wh-business-invitation .wh-eyebrow { margin-bottom:10px; }
.wh-business-invitation h2 { font-size:clamp(29px,3vw,39px); }
.wh-business-invitation p:not(.wh-eyebrow) { font-size:14px; max-width:53ch; margin-bottom:0; }
.wh-business-invitation .wh-button { flex:none; }
.wh-mobile-booking { display:none; }
@media(hover:hover) and (pointer:fine) {
  .wh-button:hover,.wh-button:focus-visible { transform:translateY(-2px); box-shadow:0 6px 18px #6b391015; }
  .wh-film:hover .wh-film-image > span { background:#f08223; transform:translate(-50%,-50%) scale(1.08); }
  .wh-film:hover img { transform:scale(1.035); }
  .wh-text:hover svg,.wh-text:focus-visible svg { transform:translateX(4px); }
}
@media(max-width:1000px) {
  .wh-wrap { width:calc(100% - 48px); }
  .wh-hero { column-gap:26px; }
  .wellness-home h1 { font-size:clamp(37px,4.7vw,48px); }
  .wh-hero .wh-actions { display:flex; flex-direction:column; align-items:stretch; }
  .wh-hero .wh-button { justify-content:space-between; min-width:0; }
  .wh-product-stage { height:460px; }
  .wh-function-list { gap:20px; }
  .wh-visit-grid { gap:28px 32px; }
  .wh-booking-card { padding:27px; }
  .wh-research-preview { gap:32px; }
  .wh-business-invitation { align-items:start; flex-direction:column; }
}
@media(max-width:700px) {
  body.home-wellness { padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
  .wellness-home { padding-top:84px; }
  .wh-wrap { width:calc(100% - 36px); }
  .wh-hero { display:grid; grid-template-columns:1fr; padding-top:12px; gap:22px; }
  .wh-hero-copy { padding:18px 0 0; }
  .wellness-home h1 { font-size:clamp(35px,8.6vw,52px); }
  .wh-hero .wh-eyebrow { font-size:10px; margin-bottom:14px; }
  .wellness-home .wh-lead { font-size:15px; margin:18px 0; }
  .wh-hero-offer { margin-bottom:18px; }
  .wh-hero-offer strong { font-size:31px; }
  .wh-hero .wh-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  .wh-hero .wh-button { min-height:48px; font-size:13px; justify-content:center; padding:11px 17px; }
  .wh-hero-copy .wh-help { margin:10px 0 0; font-size:11px; }
  .wh-product-stage { height:320px; width:100%; max-width:440px; justify-self:center; border-radius:95px 95px 22px 22px; }
  .wh-product-stage > img { height:270px; margin-bottom:20px; }
  .wh-product-index { top:22px; }
  .wh-product-halo { width:220px; height:220px; top:40px; }
  .wh-product-stage figcaption { left:23px; bottom:20px; }
  .wh-principles { margin-top:0; padding:18px 0; }
  .wh-principles li { font-size:11px; }
  .wh-section { padding-block:46px; }
  .wh-heading { margin-bottom:23px; }
  .wh-heading > p { margin-top:17px; font-size:14px; }
  .wellness-home h2 { font-size:clamp(30px,7.6vw,39px); }
  .wh-films { gap:12px; }
  .wh-film { grid-template-columns:34% 1fr; }
  .wh-film-image { min-height:166px; }
  .wh-film > div:last-child { padding:20px 16px; }
  .wh-film p { margin-bottom:12px; }
  .wh-film .wh-text { font-size:11px; gap:7px; }
  .wh-engineering { padding-block:0 38px; }
  .wh-engineering-copy { padding:25px; }
  .wh-function-list { grid-template-columns:1fr; gap:19px; margin-top:0; padding-top:25px; }
  .wh-function-list li { gap:18px; }
  .wh-function-list h3 { margin-bottom:5px; }
  .wh-function-list p { max-width:44ch; }
  .wh-visit-grid { grid-template-columns:1fr; gap:26px; }
  .wh-steps { margin-top:25px; }
  .wh-steps li { padding-bottom:20px; }
  .wh-steps p { font-size:13px; }
  .wh-booking-card { padding:26px 22px; border-radius:23px; }
  .wh-booking-card dl > div { grid-template-columns:1fr 1.55fr; }
  .wh-research-preview { grid-template-columns:1fr; gap:22px; }
  .wh-research-links .wh-button { font-size:12px; padding:12px 17px; gap:9px; }
  .wh-business-invitation { padding-block:29px; gap:22px; }
  .wh-business-invitation .wh-button { font-size:12px; padding-inline:18px; }
  .wh-mobile-booking { position:fixed; z-index:40; bottom:0; inset-inline:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid #dfc3ad; background:#fcf9f5f7; box-shadow:0 -5px 20px #3a1e1008; backdrop-filter:blur(12px); }
  .wh-mobile-booking > div { display:grid; gap:4px; min-width:0; }
  .wh-mobile-booking > div > span { font-size:10px; color:#795940; }
  .wh-mobile-booking strong { color:#4a2c17; font-size:18px; font-weight:600; white-space:nowrap; }
  .wh-mobile-booking small { font-size:11px; font-weight:400; }
  .wh-mobile-booking .wh-button { min-height:46px; font-size:12px; gap:8px; padding:9px 13px; flex:none; }
  body.nav-drawer-open .wh-mobile-booking,body:has(dialog[open]) .wh-mobile-booking { visibility:hidden; }
}
@media(max-width:360px) { .wh-mobile-booking { padding-inline:12px; }.wh-mobile-booking .wh-button { padding-inline:10px; }.wh-mobile-booking small { font-size:10px; } }

/* A live technology stage, with readable copy independent of the animation. */
.wh-hero.wh-hero-focus { position:relative; isolation:isolate; width:min(1440px,calc(100% - 64px)); grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:20px; margin-top:24px; padding:48px 46px 34px; border:1px solid #68422b; border-radius:34px; background:radial-gradient(ellipse at 72% 76%,#86401e50,transparent 60%),#351909; overflow:hidden; }
.wh-hero-focus .wh-hero-copy { padding:12px 0; position:relative; z-index:2; }
.wellness-home .wh-hero-focus .wh-eyebrow { color:#eab483; margin-bottom:24px; font-size:12px; }
.wellness-home .wh-hero-focus h1 { font-size:clamp(46px,5.55vw,80px); color:#fff5e8; line-height:1.02; }
.wh-hero-focus h1 em { color:#ff922f; font-weight:inherit; }
.wellness-home .wh-hero-focus .wh-lead { max-width:36ch; color:#e6cdb9; font-size:17px; line-height:1.6; margin:26px 0 30px; }
.wh-hero-focus .wh-hero-offer { margin-bottom:24px; }
.wh-hero-focus .wh-hero-offer > span { color:#d4b79f; }
.wh-hero-focus .wh-hero-offer strong { color:#fff0dc; }
.wh-hero-focus .wh-hero-offer p > span { color:#e5cdb8; }
.wh-hero-focus .wh-actions { gap:12px; }
.wh-hero-focus .wh-button { min-width:0; padding-inline:22px; justify-content:center; }
.wh-hero-focus .wh-button-secondary { border-color:#b4855e; color:#fae5cf; background:transparent; }
.wellness-home .wh-hero-focus .wh-help { color:#cdb39e; font-size:13px; margin:16px 0 0; }
.wh-hero-focus .wh-product-stage { display:block; height:auto; min-width:0; border:0; border-radius:0; background:transparent; overflow:visible; }
.wh-tech-visual { position:relative; width:100%; aspect-ratio:600/570; isolation:isolate; }
.wh-tech-aura { position:absolute; inset:9% 2% 0; background:radial-gradient(ellipse at 50% 70%,#f58b2442,transparent 65%); opacity:.65; transform:scale(.97); animation:wh-aura-breathe 7s ease-in-out infinite alternate; }
.wh-tech-circuit { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.wh-tech-mobile-light { display:none; }
.wh-tech-hex { stroke:#f28c3e; stroke-width:1.3; opacity:.2; transform-origin:50% 52%; animation:wh-hex-breathe 8s ease-in-out infinite alternate; }
.wh-tech-connectors { stroke:#f68d35; stroke-width:1.5; opacity:.8; }
.wh-tech-signals { stroke:#ffe1b2; stroke-width:2.5; stroke-dasharray:18 112; stroke-linecap:round; animation:wh-signal-travel 4s linear infinite; }
.wh-tech-nodes { fill:#ff932b; }
.wh-tech-orbit { position:absolute; inset:auto 0 1%; width:100%; height:28%; }
.wh-tech-ring { transform-origin:50% 50%; animation:wh-orbit-spin 52s linear infinite; }
.wh-tech-ring-inner { animation-direction:reverse; animation-duration:34s; }
.wh-tech-machine { position:absolute; z-index:1; top:2%; left:25%; width:54%; height:89%; object-fit:contain; filter:drop-shadow(0 20px 17px #160b0866); }
.wh-tech-labels { padding:0; margin:0; list-style:none; }
.wh-tech-label { position:absolute; z-index:2; display:grid; gap:5px; font-size:14px; line-height:1.45; color:#ebcdb3; }
.wh-tech-label strong { font-size:15px; color:#fff0dc; font-weight:600; }
.wh-tech-label-1 { left:70%; top:6%; }
.wh-tech-label-2 { left:77%; top:54%; }
.wh-tech-label-3 { left:0; top:57%; max-width:27%; }
.wh-hero-focus .wh-product-stage figcaption { position:relative; inset:auto; gap:6px; text-align:center; color:#fff3e3; margin-top:-1%; }
.wh-hero-focus .wh-product-stage figcaption strong { font-size:15px; letter-spacing:.16em; }
.wh-hero-focus .wh-product-stage figcaption span { color:#d4b79f; font-size:14px; }
.wh-hero-focus a:focus-visible { outline-color:#ffd5a9; }
.wh-tech-visual[data-motion-paused] * { animation-play-state:paused; }
@keyframes wh-aura-breathe { to { opacity:1; transform:scale(1.06); } }
@keyframes wh-hex-breathe { to { opacity:.4; transform:scale(1.035); } }
@keyframes wh-orbit-spin { to { transform:rotate(360deg); } }
@keyframes wh-signal-travel { from { stroke-dashoffset:130; } to { stroke-dashoffset:0; } }
@keyframes wh-mobile-light-travel { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@media(hover:hover) and (pointer:fine) { .wh-hero-focus .wh-button-secondary:hover { background:#ffffff0b; border-color:#e9bb91; } }
@media(min-width:701px) and (max-width:1100px) {
  .wh-hero.wh-hero-focus { padding:38px 28px 30px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .wellness-home .wh-hero-focus h1 { font-size:clamp(35px,5.3vw,58px); }
  .wh-hero-focus .wh-actions { flex-direction:column; align-items:stretch; }
  .wh-tech-label { font-size:12px; }
  .wh-tech-label strong { font-size:13px; }
  .wh-tech-label-2 { left:75%; }
  .wellness-home .wh-hero-focus .wh-lead { font-size:15px; }
}
@media(max-width:700px) {
  .wh-hero.wh-hero-focus { width:calc(100% - 28px); grid-template-columns:1fr; gap:16px; margin-top:12px; padding:28px 22px 24px; border-radius:26px; }
  .wh-hero-focus .wh-hero-copy { padding:0; }
  .wellness-home .wh-hero-focus .wh-eyebrow { margin-bottom:18px; font-size:10px; }
  .wellness-home .wh-hero-focus h1 { font-size:clamp(32px,9vw,56px); }
  .wellness-home .wh-hero-focus .wh-lead { margin:20px 0; font-size:15px; max-width:38ch; }
  .wh-hero-focus .wh-hero-offer { margin-bottom:20px; }
  .wh-hero-focus .wh-actions { display:flex; align-items:stretch; flex-direction:column; gap:10px; }
  .wh-hero-focus .wh-button { min-height:48px; font-size:14px; }
  .wellness-home .wh-hero-focus .wh-help { font-size:12px; line-height:1.5; }
  .wh-hero-focus .wh-product-stage { width:100%; height:auto; margin:0; max-width:460px; }
  .wh-tech-visual { aspect-ratio:auto; padding-top:96%; }
  .wh-tech-circuit { height:auto; aspect-ratio:600/570; }
  .wh-tech-connectors,.wh-tech-signals,.wh-tech-nodes { display:none; }
  .wh-tech-hex { opacity:.38; animation:none; }
  .wh-tech-hex path { stroke-width:1; vector-effect:non-scaling-stroke; }
  .wh-tech-mobile-light { display:block; stroke:#ffd1a0; stroke-width:1.75; stroke-dasharray:10 90; stroke-linecap:round; animation:wh-mobile-light-travel 8s linear infinite; }
  .wh-tech-aura { bottom:18%; background:radial-gradient(ellipse at 50% 64%,#f58b245c,transparent 68%); }
  .wh-tech-machine { top:0; left:20%; width:60%; height:auto; aspect-ratio:825/1100; }
  .wh-tech-orbit { bottom:22%; height:24%; }
  .wh-tech-labels { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-block:12px 18px; }
  .wh-tech-label { position:static; gap:6px; max-width:none; text-align:center; font-size:12px; line-height:1.45; }
  .wh-tech-label strong { font-size:13px; }
  .wh-tech-label::before { content:''; display:block; width:4px; height:4px; border-radius:50%; background:#ff932b; margin:0 auto 3px; box-shadow:0 0 12px #ff932b; }
  .wh-hero-focus .wh-product-stage figcaption { margin:0; padding-top:16px; border-top:1px solid #a96b353b; }
  .wh-hero-focus .wh-product-stage figcaption strong { font-size:14px; }
  .wh-hero-focus .wh-product-stage figcaption span { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .wh-tech-visual * { animation:none!important; }
  .wh-tech-signals,.wh-tech-mobile-light { display:none; }
  .wh-hero-focus .wh-button { transition:none; }
}
