/* Mizu's editorial experience. Shared tokens keep the guides and homepage aligned. */
:root {
  --paper: #f5f3ee;
  --ink: #213a42;
  --muted: #596962;
  --ease-mizu: cubic-bezier(.22, .68, 0, 1.01);
}
body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: #b9d0c8; color: #132f37; }
.section-pad { padding-top: 116px; padding-bottom: 116px; }
.site-header { height: 88px; background: #f5f3eef5; backdrop-filter: blur(16px); }
.site-header nav { gap: 30px; }
.brand { transform: scale(.9); transform-origin: left center; }
.nav-cta, .button { border-radius: 3px; }
.nav-cta { padding: 14px 20px; }
.site-header.has-scrolled { box-shadow: 0 8px 28px #183d4b09; }
.announcement { height: 30px; font-size: 9px; }
.button, .text-link { min-height: 48px; }
.button { transition: background .22s, transform .22s var(--ease-mizu); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(.98); }
.eyebrow { font-size: 10px; letter-spacing: 2.3px; }
.hero { height: calc(100svh - 118px); min-height: 640px; max-height: 1000px; }
.hero-image { object-position: 62% 58%; transform: scale(1.035); }
.hero-shade { background: linear-gradient(90deg,#081c20b0 0%,#081c206b 38%,#081c2000 78%),linear-gradient(0deg,#071c2070,transparent 35%); }
.hero-copy { top: 16%; max-width: 900px; right: 7%; }
.hero h1 { font-size: clamp(66px,7.7vw,118px); letter-spacing: -.058em; line-height: .99; margin-bottom: 30px; }
.hero h1 em { font-size: .83em; letter-spacing: -.057em; }
.hero-copy>p:not(.eyebrow) { max-width: 490px; font-size: 16px; color: #f0f2ea; line-height: 1.75; }
.hero .eyebrow { margin-bottom: 32px; font-size: 10px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.hero-actions .button { padding: 18px 25px; gap: 40px; }
.hero-secondary { display: inline-flex; align-items: center; gap: 16px; min-height: 48px; font-size: 13px; border-bottom: 1px solid #ffffff75; }
.hero-secondary span { font-size: 22px; }
.hero-bottom { bottom: 35px; font-size: 9px; }
.image-note { color: #fff; }
.product-promises { padding-top: 28px; padding-bottom: 28px; }
.product-promises strong { font-size: 18px; }
.product-promises p>span { font-size: 12px; }
.intro { position: relative; display: block; padding-top: 140px; padding-bottom: 145px; border-bottom: 0; }
.intro>.eyebrow { padding-top: 0; }
.intro h2 { font-size: clamp(40px,5.3vw,82px); letter-spacing: -.05em; max-width: 1000px; }
.intro p:not(.eyebrow) { margin-top: 34px; max-width: 530px; font-size: 17px; }
.intro-seal { position: absolute; right: 8%; bottom: 112px; font-size: 150px; opacity: .15; margin: 0; }
.ice-story { background: #102b33; color: var(--paper); padding-bottom: 28px; overflow: hidden; }
.ice-story-heading { display: grid; grid-template-columns: 1.6fr 1fr; column-gap: 8%; padding-top: 100px; padding-bottom: 65px; align-items: end; }
.ice-story-heading .eyebrow { grid-column: 1/-1; color: #b7d0ce; }
.ice-story-heading h2 { font-size: clamp(40px,4.9vw,76px); letter-spacing: -.045em; margin: 0; }
.ice-story-heading>p:last-child { font-size: 16px; color: #c7d9d5; margin: 0 0 5px; justify-self: end; }
.ice-stage { position: relative; min-height: 660px; height: 80svh; max-height: 840px; margin: 0 3%; overflow: hidden; background: #142f37; isolation: isolate; }
.ice-stage-media, .ice-stage-shade { position: absolute; inset: 0; z-index: -1; }
.ice-stage-media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; transform: scale(1.06); transition: transform 1.2s var(--ease-mizu),filter .7s; }
.ice-stage[data-chapter=care] .ice-stage-media img { transform: scale(1.18) translateX(-3%); filter: brightness(.9); }
.ice-stage[data-chapter=made] .ice-stage-media img { transform: scale(1.07) translateX(2%); filter: brightness(.85); }
.ice-stage-shade { background: linear-gradient(90deg,#071b23ed 0%,#071b23ad 34%,#071b2314 78%),linear-gradient(0deg,#071b23cb,transparent 32%); }
.ice-stage-edition { position: absolute; top: 30px; left: 4.3%; font-size: 9px; letter-spacing: 2.2px; color: #d3e0df; }
.ice-stage-copy { position: relative; padding: 110px 4.3% 150px; max-width: 660px; }
.ice-stage-number { display: block; font-size: 15px; color: #b2cdcf; letter-spacing: 3px; margin-bottom: 32px; }
.ice-stage-copy .eyebrow { margin-bottom: 18px; font-size: 9px; }
.ice-stage-copy h3 { font-size: clamp(43px,4.8vw,73px); letter-spacing: -.045em; line-height: 1.03; margin: 0 0 24px; }
.ice-stage-copy>p:last-of-type { max-width: 370px; font-size: 15px; color: #e2eae7; min-height: 78px; }
.round-detail { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; padding: 0; background: none; border: none; color: white; font-size: 13px; }
.round-detail>span { display: grid; place-items: center; border: 1px solid #c4d7d799; border-radius: 50%; height: 38px; width: 38px; font-size: 24px; transition: background .2s,transform .2s; }
.round-detail:hover>span { background: #ffffff24; transform: rotate(90deg); }
.ice-stage-bottom { position: absolute; bottom: 30px; left: 4.3%; right: 4.3%; display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.ice-stage-bottom>p { margin: 0; font-size: 10px; color: #e0e9e7; text-align: right; }
.ice-chapters { display: flex; gap: 28px; }
.ice-chapters button { padding: 14px 0; border: 0; border-bottom: 1px solid #c8d9d85c; background: none; color: #c4d5d4; font-size: 12px; min-height: 48px; transition: color .2s,border-color .2s; }
.ice-chapters button>span { margin-right: 10px; font-size: 10px; }
.ice-chapters button[aria-pressed=true] { color: #fff; border-color: white; }
.ice-story-foot { display: flex; justify-content: space-between; gap: 24px; margin: 24px 7% 0; font-size: 10px; letter-spacing: 1.5px; align-items: center; }
.ice-story-foot>a { display: flex; gap: 25px; align-items: center; min-height: 44px; font-size: 12px; letter-spacing: 0; }
.ice-story-foot>a>span { font-size: 23px; }
.collection { padding-bottom: 0; }
.section-heading { margin-bottom: 55px; }
.section-heading h2 { font-size: clamp(42px,5.2vw,78px); letter-spacing: -.045em; }
.section-heading>p { font-size: 16px; }
.collection-grid { gap: 36px; }
.sauna-card { padding-top: 90px; }
.collection-image { border-radius: 4px; }
.collection-image>img { transition: transform .8s var(--ease-mizu); }
.image-arrow { height: 52px; width: 52px; transition: background .25s,transform .25s; }
.collection-image:hover .image-arrow { transform: rotate(45deg); background: white; }
.card-heading h3 { font-size: 34px; }
.card-heading>span { font-size: 9px; }
.collection-card>p { font-size: 15px; line-height: 1.75; }
.ritual-picker { position: relative; margin: 115px -8.14% 0; padding: 90px 7%; min-height: 810px; isolation: isolate; overflow: hidden; grid-template-columns: 1fr 1.04fr; gap: 9%; background: #e7e9e1; }
.ritual-picker[data-tone=cold] { background: #dfe9e8; }
.ritual-picker[data-tone=warm] { background: #ebe1d2; }
.ritual-copy { max-width: 530px; padding: 25px 0; }
.ritual-picker h2 { font-size: clamp(44px,5.2vw,76px); letter-spacing: -.04em; margin-bottom: 38px; }
.ritual-options legend { font-size: 12px; margin-bottom: 18px; color: #52645d; }
.ritual-switch { background: #ffffff65; border: 1px solid #879e973b; border-radius: 40px; padding: 5px; gap: 3px; }
.ritual-switch span { border-radius: 28px; min-width: 88px; padding: 14px 22px; font-size: 13px; }
.ritual-description { min-height: 230px; }
.ritual-description h3 { font-size: 25px; margin-top: 33px; }
.ritual-description>p { font-size: 15px; }
.ritual-description dl>div { font-size: 12px; }
.ritual-visual { border-radius: 220px 220px 4px 4px; min-height: 620px; }
.ritual-visual img { transition: object-position .7s; }
.ritual-visual figcaption { font-size: 10px; left: 24px; bottom: 24px; max-width: calc(100% - 48px); }
.ritual-mark { top: 50%; left: 25px; background: #f5f3eedb; border-radius: 3px; font-size: 10px; }
.approach { background: #f5f3ee; color: var(--ink); }
.approach-top h2 { font-size: clamp(42px,5vw,72px); letter-spacing: -.045em; }
.approach-top { margin-bottom: 60px; }
.approach-grid { gap: 25px; }
.approach-grid>div { background: #e8ece5; padding: 30px; border: 0; border-radius: 4px; display: flex; flex-direction: column; }
.approach-grid .index { color: #5d756c; margin-bottom: 44px; }
.approach-grid h3 { font-size: 25px; }
.approach-grid p { color: #52645d; font-size: 15px; max-width: none; margin-bottom: 35px; }
.feature-open { display: flex; width: 100%; justify-content: space-between; align-items: center; border: 0; background: none; padding: 10px 0 0; margin-top: auto; min-height: 48px; text-align: left; font-size: 12px; }
.feature-open>span:last-child { width: 38px; height: 38px; background: #244b53; color: white; border-radius: 50%; display: grid; place-items: center; font-size: 23px; transition: transform .25s; }
.feature-open:hover>span:last-child { transform: rotate(90deg); }
.details-section { padding-top: 0; gap: 12%; }
.detail-title h2 { font-size: clamp(38px,4vw,58px); }
.detail-title>p:not(.eyebrow), .spec-list p { font-size: 15px; }
.spec-list h3 { font-size: 21px; }
.spec-list .fine-print { font-size: 12px; }
.ice-detail { border-radius: 4px; overflow: hidden; }
.ice-detail figcaption { font-size: 10px; }
.sauna-feature { position: relative; background: #312d24; color: #f4eddf; grid-template-columns: 1.1fr 1fr; }
.sauna-detail-image { min-height: 780px; max-height: none; }
.sauna-detail-image>img { object-position: 50% 58%; }
.sauna-copy { padding: 85px 12%; }
.sauna-copy h2 { font-size: clamp(40px,4.6vw,69px); letter-spacing: -.045em; }
.sauna-copy>p:not(.eyebrow) { color: #ddd5c5; font-size: 16px; }
.sauna-copy .eyebrow { color: #d4c7ae; }
.sauna-copy .button { background: #eee7d8; color: #382f21; margin-top: 15px; }
.services { background: #edf0e8; }
.services-intro { position: sticky; top: 135px; align-self: start; }
.services-intro h2 { font-size: clamp(40px,4.2vw,62px); }
.services-intro>p:not(.eyebrow) { font-size: 16px; }
.service-list article { padding: 29px 0; }
.service-list article p, .service-next-step>p:not(.eyebrow) { font-size: 15px; }
.service-next-step { margin-top: 30px; }
.service-finder { margin-top: 28px; padding: 30px; background: var(--paper); border: 1px solid #d7dfd1; border-radius: 4px; }
.service-finder .eyebrow { margin-bottom: 23px; font-size: 9px; }
.service-finder fieldset { margin-bottom: 24px; }
.service-finder legend { font-size: 12px; letter-spacing: 0; margin-bottom: 14px; }
.service-choices { display: flex; gap: 7px; }
.service-choices label { position: relative; flex: 1; cursor: pointer; }
.service-choices input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.service-choices span { display: block; padding: 13px 8px; text-align: center; border: 1px solid #afbeb5; border-radius: 3px; font-size: 13px; }
.service-choices input:checked+span { background: var(--blue); color: var(--paper); border-color: var(--blue); }
.service-choices input:focus-visible+span { outline: 3px solid #3c91af; outline-offset: 3px; }
.service-answer { min-height: 142px; }
.service-answer h3 { font-size: 24px; }
.service-answer p { font-size: 14px; color: #52645d; }
.service-finder .text-link { font-size: 12px; gap: 20px; }
.quote-intro { background: #f5f3ee; }
.quote-intro h2 { font-size: clamp(42px,4.8vw,70px); }
.planner { background: #e4e9e2; border-top: 1px solid #d6ded3; }
.planner h2 { font-size: clamp(54px,6.8vw,100px); letter-spacing: -.05em; }
.planner-intro>p:not(.eyebrow) { max-width: 380px; font-size: 16px; }
form { border-radius: 5px; padding: 38px; box-shadow: 0 22px 55px #163a4212; }
legend,.notes-label { font-size: 10px; }
.choice-row span { font-size: 12px; border-radius: 3px; }
.form-row label { font-size: 13px; }
select,textarea { font-size: 16px; min-height: 48px; }
.notes-feedback,.form-note { font-size: 11px; }
.form-note { line-height: 1.7; }
.brief-result p { font-size: 14px; }
.brief-result #brief-status { font-size: 12px; }
.brief-actions .text-link { font-size: 12px; }
.faq h2 { font-size: clamp(39px,4.3vw,60px); }
summary { font-size: 15px; padding: 26px 0; }
details>p { font-size: 15px; }
.site-footer { background: #142f37; color: #f0f0e6; padding-top: 80px; padding-bottom: 30px; }
.footer-wordmark { font-size: clamp(45px,5vw,72px); letter-spacing: .17em; }
.footer-wordmark>span { font-size: 12px; letter-spacing: .65em; }
.footer-top>p { font-family: Georgia,serif; font-style: italic; font-size: 30px; }
.footer-top>div { gap: 8px; }
.footer-top>div>a,.privacy-button,.motion-toggle,.back-to-top { display: flex; align-items: center; min-height: 36px; font-size: 13px; }
.footer-bottom { border-color: #a5bdb740; color: #c4d3cf; font-size: 10px; }
.footer-contact { font-size: 13px; }
.company-disclosure { color: #c7d5cf; }
.imagery-note { color: #bbc8c3; font-size: 11px; }
.guide-hero h1 { letter-spacing: -.045em; }
.guide-aside { position: sticky; top: 125px; }
.guide-copy section { scroll-margin-top: 125px; }
.guide-copy .text-link { text-decoration: none; }
.feature-dialog { max-width: 1020px; width: calc(100% - 48px); padding: 0; max-height: 88svh; border-radius: 8px; overflow: auto; }
.feature-dialog[open] { display: grid; grid-template-columns: .95fr 1.05fr; }
.feature-dialog::backdrop { background: #0b2027c9; backdrop-filter: blur(8px); }
.feature-dialog-close { position: absolute; right: 18px; top: 18px; z-index: 2; border: 1px solid #91a49c60; border-radius: 50%; background: var(--paper); width: 44px; height: 44px; font-size: 29px; display: grid; place-items: center; }
.feature-dialog-image { position: relative; min-height: 610px; background: #1b3b44; overflow: hidden; }
.feature-dialog-image img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.feature-dialog-image p { position: absolute; bottom: 18px; left: 18px; right: 18px; font-size: 10px; color: white; background: #132c35da; width: fit-content; padding: 7px 10px; margin: 0; }
.feature-dialog-copy { padding: 65px 40px 40px; align-self: center; }
.feature-dialog-copy .eyebrow { font-size: 9px; margin-bottom: 23px; }
.feature-dialog-copy h2 { font-size: clamp(34px,3.6vw,52px); letter-spacing: -.04em; }
.feature-dialog-copy>p:not(.eyebrow) { font-size: 15px; color: #53665f; }
.feature-dialog-copy dl { margin: 26px 0 32px; }
.feature-dialog-copy dl>div { border-top: 1px solid #d4ddd4; padding: 13px 0; display: grid; grid-template-columns: 90px 1fr; gap: 16px; font-size: 12px; line-height: 1.6; }
.feature-dialog-copy dt { color: #53665f; }
.feature-dialog-copy dd { margin: 0; }
body.has-feature-dialog { overflow: hidden; }
@media(min-width:1600px) { .ice-stage { margin-left: max(3%,calc((100vw - 1600px)/2)); margin-right: max(3%,calc((100vw - 1600px)/2)); } }
@media(max-width:1100px) {
  .site-header nav { gap: 18px; }.site-header .brand { width: 170px; }
  .hero h1 { font-size: 84px; }.hero h1 em { font-size: .78em; }
  .hero-copy { top: 20%; }.hero-copy>p:not(.eyebrow) { max-width: 420px; }
  .ice-stage-copy { max-width: 560px; }.ice-stage { min-height: 650px; }
  .ritual-picker { gap: 6%; padding: 70px 7%; }.ritual-visual { min-height: 590px; }
  .approach-grid>div { padding: 24px; }.approach-grid h3 { font-size: 22px; }
  .sauna-copy { padding: 60px 10%; }.sauna-detail-image { min-height: 740px; }
  .service-finder { padding: 24px; }.service-answer { min-height: 166px; }
}
@media(max-width:800px) {
  .section-pad { padding-top: 80px; padding-bottom: 80px; }
  .site-header { height: 76px; }.site-header nav { top: 76px; }.site-header .brand { transform: scale(.82); }
  .hero { min-height: 630px; max-height: 900px; height: calc(100svh - 106px); }
  .hero-copy { top: 15%; }.hero h1 { font-size: 75px; }
  .hero h1 em { font-size: .72em; }.hero-copy>p:not(.eyebrow) { font-size: 15px; max-width: 390px; }
  .hero .eyebrow { font-size: 9px; }.hero-actions { gap: 18px; }
  .intro { padding-top: 96px; padding-bottom: 96px; }.intro h2 { font-size: 52px; }.intro p:not(.eyebrow) { font-size: 16px; }
  .ice-story-heading { grid-template-columns: 1fr; gap: 0; padding-top: 80px; padding-bottom: 45px; }
  .ice-story-heading h2 { font-size: 51px; }.ice-story-heading>p:last-child { justify-self: start; margin-top: 25px; font-size: 15px; }
  .ice-stage { min-height: 660px; height: 78svh; }.ice-stage-copy { max-width: 530px; padding-top: 100px; }.ice-stage-copy h3 { font-size: 55px; }
  .ice-stage-bottom { flex-direction: column; align-items: start; gap: 20px; }
  .ice-stage-copy>p:last-of-type { max-width: 350px; }.ice-stage-shade { background: linear-gradient(90deg,#071b23d9,#071b2350),linear-gradient(0deg,#071b23df,transparent 45%); }
  .collection { padding-bottom: 0; }.section-heading h2 { font-size: 52px; }.section-heading>p { font-size: 14px; }
  .collection-grid { gap: 28px; }.sauna-card { padding-top: 70px; }
  .ritual-picker { grid-template-columns: 1fr 1fr; margin-top: 75px; padding: 70px 7%; gap: 6%; min-height: 0; }
  .ritual-picker h2 { font-size: 46px; }.ritual-switch span { min-width: 0; padding: 12px 15px; font-size: 12px; }
  .ritual-description { min-height: 295px; }.ritual-visual { min-height: 550px; border-radius: 180px 180px 3px 3px; }
  .ritual-description dl>div { grid-template-columns: 55px 1fr; }.ritual-description h3 { font-size: 24px; }
  .approach-top h2 { font-size: 49px; }.approach-grid { grid-template-columns: 1fr; gap: 16px; }
  .approach-grid>div { display: grid; grid-template-columns: 35px 1fr 54px; gap: 0 20px; padding: 28px; }.approach-grid .index { grid-row: 1/3; margin: 5px 0 0; }
  .approach-grid h3 { grid-column: 2; font-size: 25px; margin-bottom: 14px; }.approach-grid p { grid-column: 2; margin: 0; }
  .feature-open { grid-column: 3; grid-row: 1/3; align-self: end; margin: 0; }.feature-open>span:first-child { display: none; }
  .details-section { padding-top: 0; }.detail-title h2 { font-size: 37px; }.details-section { gap: 7%; }
  .sauna-feature { grid-template-columns: 1fr 1fr; }.sauna-copy h2 { font-size: 43px; }.sauna-copy>p:not(.eyebrow) { font-size: 15px; }.sauna-detail-image { min-height: 760px; }
  .services-intro,.guide-aside { position: static; }.service-answer { min-height: 100px; }.services-intro h2 { font-size: 48px; }
  .quote-intro h2 { font-size: 47px; }.planner h2 { font-size: 70px; }.planner-intro>p:not(.eyebrow) { max-width: 480px; }
  .footer-top>div { gap: 8px 25px; }.feature-dialog { width: calc(100% - 32px); }.feature-dialog-copy { padding: 60px 28px 30px; }.feature-dialog-image { min-height: 670px; }
}
@media(max-width:600px) {
  html { scroll-padding-top: 96px; }
  .section-pad { padding: 72px 6%; }
  .hero { min-height: 660px; height: calc(100svh - 106px); max-height: 850px; }
  .hero-copy { left: 6%; right: 6%; top: 12%; }.hero h1 { font-size: clamp(57px,13vw,78px); line-height: 1.04; letter-spacing: -.055em; }
  .hero h1 em { display: inline-block; font-size: .85em; max-width: 320px; }
  .hero .eyebrow { font-size: 8px; letter-spacing: 1.6px; gap: 9px; max-width: 320px; }
  .hero .tiny-line { width: 18px; flex: 0 0 18px; }.hero-copy>p:not(.eyebrow) { font-size: 14px; max-width: 310px; }
  .hero-copy>p br { display: none; }.hero-image { object-position: 66% center; }.hero-shade { background: linear-gradient(90deg,#081d24b8,#081d2440),linear-gradient(0deg,#081d2466,transparent 60%); }
  .hero-actions { gap: 14px; align-items: start; flex-direction: column; }.hero-actions .button { padding: 15px 21px; font-size: 13px; gap: 30px; }.hero-secondary { font-size: 12px; min-height: 40px; }
  .hero-bottom { left: 6%; right: 6%; font-size: 8px; bottom: 32px; }.hero-bottom>a { font-size: 0; }
  .product-promises { grid-template-columns: 1fr; padding: 12px 6%; gap: 0; }.product-promises>div { padding: 19px 0; gap: 20px; }.product-promises>div+div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }.promise-number { display: block; }
  .intro { padding: 86px 6%; }.intro h2 { font-size: 41px; }.intro p:not(.eyebrow) { font-size: 16px; margin-top: 28px; }.intro>.eyebrow { font-size: 9px; }
  .ice-story-heading { padding: 70px 6% 40px; }.ice-story-heading h2 { font-size: 41px; }.ice-story-heading>p:last-child { font-size: 14px; }
  .ice-stage { margin: 0 12px; min-height: 690px; height: auto; max-height: none; }.ice-stage-copy { padding: 95px 7% 185px; }.ice-stage-copy h3 { font-size: 48px; }.ice-stage-copy>p:last-of-type { font-size: 15px; min-height: 104px; }
  .ice-stage-number { margin-bottom: 25px; }.ice-stage-edition { left: 7%; font-size: 8px; }.ice-stage-media img { object-position: 62% center; }
  .ice-stage-shade { background: linear-gradient(90deg,#071b23db,#071b2378),linear-gradient(0deg,#071b23ef,transparent 40%); }
  .ice-stage-bottom { left: 7%; right: 7%; bottom: 25px; }.ice-chapters { width: 100%; gap: 20px; justify-content: space-between; }.ice-chapters button { display: flex; flex-direction: column; align-items: start; gap: 7px; font-size: 12px; }.ice-chapters button>span { font-size: 9px; }
  .ice-stage-bottom>p { font-size: 9px; }.ice-story-foot { margin-left: 6%; margin-right: 6%; }.ice-story-foot>span { display: none; }.ice-story-foot>a { justify-content: space-between; width: 100%; font-size: 13px; }
  .section-heading { gap: 20px; margin-bottom: 32px; }.section-heading h2 { font-size: 43px; }.section-heading>p { font-size: 12px; max-width: 115px; padding-top: 36px; }
  .collection { padding-bottom: 0; }.collection-grid { grid-template-columns: 1fr; gap: 48px; }.sauna-card { padding-top: 0; }.card-heading h3 { font-size: 31px; }.collection-card>p { font-size: 15px; }
  .ritual-picker { margin-left: -6.82%; margin-right: -6.82%; margin-top: 70px; padding: 65px 6%; grid-template-columns: 1fr; gap: 35px; }.ritual-copy { padding: 0; }.ritual-picker h2 { font-size: 48px; }.ritual-options { margin-bottom: 20px; }
  .ritual-switch { width: fit-content; }.ritual-switch span { padding: 14px 24px; }.ritual-description { min-height: 255px; }.ritual-description h3 { margin-top: 28px; font-size: 25px; }.ritual-description dl { margin: 20px 0; }
  .ritual-visual { min-height: 420px; border-radius: 180px 180px 3px 3px; }.ritual-mark { top: 55%; }
  .approach-top h2 { font-size: 43px; }.approach-top { margin-bottom: 38px; }.approach-grid>div { padding: 24px; grid-template-columns: 1fr 40px; column-gap: 14px; }.approach-grid .index { grid-column: 1/-1; grid-row: auto; margin-bottom: 28px; }.approach-grid h3 { grid-column: 1; font-size: 25px; }.approach-grid p { grid-column: 1; font-size: 15px; }.feature-open { grid-column: 2; grid-row: 2/4; }
  .details-section { padding-top: 0; grid-template-columns: 1fr; gap: 42px; }.detail-title h2 { font-size: 43px; }.detail-title>p:not(.eyebrow) { max-width: none; }.spec-list h3 { font-size: 21px; }.spec-list p { font-size: 15px; }
  .sauna-feature { grid-template-columns: 1fr; }.sauna-detail-image { min-height: 0; height: 490px; }.sauna-copy { padding: 64px 6%; }.sauna-copy h2 { font-size: 47px; }.sauna-copy>p:not(.eyebrow) { font-size: 16px; }
  .services { gap: 42px; }.services-intro h2 { font-size: 44px; }.service-list h3 { font-size: 22px; }.service-list article { gap: 17px; }.service-list article p { font-size: 15px; }.service-finder { padding: 24px 20px; }.service-answer { min-height: 155px; }.service-answer h3 { font-size: 24px; }.service-next-step>p:not(.eyebrow) { font-size: 14px; }
  .quote-intro h2 { font-size: 47px; }.quote-intro { gap: 30px; }.planner h2 { font-size: 67px; }.planner { gap: 40px; }.planner-snapshot { margin-top: 25px; }form { margin: 0; padding: 30px 22px; }.choice-row span { font-size: 11px; padding: 12px 5px; }.form-row { gap: 16px; }.form-row label { font-size: 12px; }select { padding-right: 0; }.notes-label { font-size: 9px; }.notes-label>span { display: inline; }
  .faq h2 { font-size: 43px; }summary { font-size: 15px; }details>p { padding-right: 12px; font-size: 15px; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; }.footer-top>p { font-size: 29px; }.footer-wordmark { font-size: 56px; }.footer-top>div { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px 20px; }.footer-top>div>a,.privacy-button,.motion-toggle,.back-to-top { min-height: 44px; font-size: 12px; }.footer-bottom { font-size: 9px; }.imagery-note { font-size: 10px; }
  .feature-dialog[open] { display: block; }.feature-dialog { max-height: 90svh; width: calc(100% - 24px); }.feature-dialog-image { min-height: 0; height: 235px; }.feature-dialog-copy { padding: 32px 26px; }.feature-dialog-copy h2 { font-size: 37px; }.feature-dialog-copy .button { width: 100%; gap: 15px; }.feature-dialog-close { top: 12px; right: 12px; }
  .guide-hero h1 { font-size: 48px; }.guide-intro { font-size: 16px; }
}
@media(max-width:360px) {
  .hero h1 { font-size: 54px; }.hero h1 em { font-size: .88em; }.hero-copy>p:not(.eyebrow) { max-width: 270px; }.hero .eyebrow { font-size: 7px; }
  .ritual-switch span { padding: 14px 20px; }.section-heading>p { display: none; }.ice-chapters { gap: 12px; }.service-choices span { font-size: 12px; }.form-row { grid-template-columns: 1fr; gap: 18px; }
}
@media(prefers-reduced-motion:reduce) { .hero-image,.ice-stage-media img { transform: none!important; } }
.motion-reduced .hero-image,.motion-reduced .ice-stage-media img { transform: none!important; }
@media(max-height:520px) and (min-width:601px) { .hero { min-height: 610px; }.feature-dialog { max-height: 90svh; } }
/* Chapter controls precede the changing content so results stay in view. */
.ice-stage>.ice-chapters { position: absolute; top: 63px; left: 4.3%; z-index: 2; }
.ice-stage-copy { padding-top: 163px; padding-bottom: 85px; }
.ice-stage-number { display: none; }
.ice-stage-bottom { justify-content: flex-end; }
.ice-stage { min-height: 600px; height: calc(100svh - 110px); }
.ice-stage-copy h3 { font-size: clamp(43px,4.6vw,68px); }
.ice-stage-shade { z-index: 0; pointer-events: none; }
.ice-stage-media { z-index: -1; }
.ice-stage-copy,.ice-stage-edition,.ice-stage-bottom { z-index: 1; }
@media(max-width:800px) { .ice-stage-copy { padding-top: 160px; }.ice-stage { min-height: 620px; }.ice-stage-bottom { align-items: flex-end; } }
@media(max-width:600px) { .ice-stage>.ice-chapters { left: 7%; right: 7%; width: auto; top: 57px; }.ice-stage-copy { padding-top: 166px; padding-bottom: 72px; }.ice-stage { height: auto; min-height: 625px; }.ice-stage-copy h3 { font-size: 47px; }.ice-stage-bottom { flex-direction: row; }.ice-stage-copy>p:last-of-type { min-height: 104px; } }
/* Keep the native radio itself as large as its visible touch target. */
.ritual-switch input,.choice-row input,.service-choices input { inset: 0; width: 100%; height: 100%; margin: 0; z-index: 1; cursor: pointer; }
@media(max-width:600px) {
  .ritual-picker { row-gap: 0; }
  .ritual-copy { display: contents; }
  .ritual-copy>.eyebrow { grid-row: 1; }
  .ritual-copy>h2 { grid-row: 2; }
  .ritual-options { grid-row: 3; margin-bottom: 0; }
  .ritual-visual { grid-row: 4; min-height: 360px; margin-top: 28px; border-radius: 155px 155px 3px 3px; }
  .ritual-description { grid-row: 5; min-height: 255px; }
  #ritual-plan-link { grid-row: 6; width: fit-content; }
}
/* Fixed icon boxes keep circles and multi-line FAQ rows optically aligned. */
.round-detail>span,.feature-open>span:last-child{flex:0 0 38px;line-height:0}
.round-detail .mizu-icon,.feature-open .mizu-icon{width:18px;height:18px}
.feature-dialog-close{padding:0;line-height:0}
.feature-dialog-close .mizu-icon,.dialog-close .mizu-icon{width:22px;height:22px}
.footer-top>div>a,.back-to-top{gap:10px}
.service-email>.mizu-icon{margin-left:6px;width:16px;height:16px}
.motion-toggle[aria-pressed=true]:after{content:' — on'}
.form-row select{-webkit-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d5e5df' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:18px 18px}
@media(max-width:800px){.feature-open{align-self:center;justify-content:center;width:44px;min-height:44px;padding:0}}
