/* Base phone art direction; September 13 updates are in revision.css.
   Desktop rules and compositions remain in design.css. */
.m-only { display: none; }

@media (max-width: 600px) {
  .k-design { --k-paper:#f8f4ee; --k-blue:#4C7EBB; font-size:1rem; }
  .m-only { display:block; }
  .m-original { display:none !important; }
  .k-wrap { padding-inline:7%; }
  .k-design .prototype-bar { min-height:26px; height:auto; padding:4px 8px; font-size:.75rem; line-height:1.5; }
  .k-header { height:88px; padding:8px 5%; gap:8px; }
  .k-header .k-brand { display:flex; align-items:center; gap:12px; width:auto; height:64px; margin-right:auto; }
  .k-header .k-brand>.k-crop { flex:0 0 56px; width:56px; height:56px; }
  .m-brand-copy { color:var(--k-blue); white-space:nowrap; }
  .m-brand-copy strong { display:block; font:600 1.05rem/1.6 var(--k-serif); letter-spacing:.12em; }
  .m-brand-copy small { display:block; font-size:.75rem; letter-spacing:.1em; margin-top:4px; }
  .k-header .k-header-book { display:none; }
  .k-header .menu-toggle { flex:0 0 44px; width:44px; height:44px; padding:10px; }
  .k-header .menu-toggle span { height:2px; width:24px; }
  .k-header .mobile-nav a { font-size:1rem; padding:13px 0; }
  .k-header .mobile-nav:not([hidden]) { max-height:calc(100dvh - 125px); overflow-y:auto; }
  .k-design .button { font-size:.875rem; min-height:46px; letter-spacing:.04em; }
  .k-hero { padding:16px 0 18px; }
  .k-hero-copy { padding:0 8%; }
  .k-hero h1 { font-size:clamp(1.7rem,8.4vw,3.15rem); line-height:1.58; letter-spacing:.04em; margin:0 0 24px; white-space:normal; }
  .k-hero h1>span:last-child { color:inherit; }
  .k-hero h1 br.m-only { display:initial; }
  .k-hero-copy>p:not(.k-vertical) { font-size:1rem; line-height:1.95; margin:0 0 24px; }
  .k-hero-copy>p:not(.k-vertical)::before { content:''; display:block; width:32px; height:1px; background:var(--k-blue); margin-bottom:18px; }
  .k-hero-copy>p br { display:none; }
  .k-hero .k-vertical,.k-hero-coverage { display:none; }
  .k-hero-actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .k-hero-actions .button { min-width:218px; max-width:100%; min-height:45px; padding:11px 21px; font-size:.875rem; justify-content:center; }
  .m-hero-art { position:relative; margin-top:14px; }
  .m-hero-art>.k-crop { width:100%; height:auto; aspect-ratio:853/815; }
  .m-hero-note { position:absolute; bottom:0; right:1%; width:43%; aspect-ratio:1; border-radius:50%; background:#f8f4ed; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; margin:0; text-align:left; padding:15px 7px; }
  .m-hero-note strong { font:600 1.25rem/1.5 var(--k-serif); color:var(--k-blue); align-self:flex-start; margin-left:18%; }
  .m-hero-note span { font-size:.875rem; line-height:1.9; }
  .k-design .eyebrow { font-size:.75rem; letter-spacing:.17em; line-height:1.8; overflow-wrap:anywhere; }
  .k-heading h2 { font-size:clamp(1.6rem,7.5vw,2.65rem); line-height:1.62; margin:8px 0 22px; }
  .k-heading .k-lead { font-size:1rem; line-height:1.95; }
  .k-heading .k-lead::before { height:1px; width:32px; margin-bottom:18px; }
  .k-invisible { padding-top:35px; padding-bottom:38px; }
  .k-invisible .k-heading { display:block; }
  .k-invisible .k-heading h2 { font-size:clamp(1.65rem,7.7vw,2.7rem); line-height:1.6; margin:0 0 24px; white-space:normal; }
  .k-invisible .k-lead { font-size:1rem; }
  .k-invisible .k-lead::before { display:block; }
  .k-hidden-items { gap:14px; margin-top:38px; align-items:start; }
  .k-hidden-item .k-crop { margin-bottom:20px; aspect-ratio:1; }
  .k-hidden-item h3 { font-size:.875rem; font-weight:600; line-height:1.6; min-height:70px; }
  .k-hidden-item p { font-size:.875rem; line-height:1.9; overflow-wrap:anywhere; }
  .k-hidden-item p br { display:none; }
  .k-hidden-item:not(:last-child)::after { right:-12px; top:calc((100vw - 14vw - 28px)/6 - 12px); font-size:20px; }
  .k-hidden-item .k-rule { margin:8px auto 13px; }
  .k-daily { display:block; padding-top:40px; padding-bottom:40px; }
  .k-daily .k-heading h2 { font-size:clamp(1.65rem,7.7vw,2.7rem); }
  .k-daily .k-heading .k-lead { font-size:1rem; line-height:1.95; }
  .k-daily .k-heading .k-lead br { display:block; }
  .k-daily-grid { display:grid; grid-template-columns:1fr; gap:10px; margin-top:27px; }
  .k-daily-grid>.k-crop { width:100%; height:auto; aspect-ratio:686/223; border-radius:11px; }
  .k-daily-grid>.k-crop:nth-last-of-type(1) { aspect-ratio:686/257; }
  .k-daily-quote { font:600 clamp(1.1rem,4.9vw,1.7rem)/1.9 var(--k-serif); margin:18px 0 0; padding-bottom:21px; }
  .k-services { margin:0 auto 32px; }
  .k-services-image { height:auto; overflow:hidden; }
  .m-service-cover { position:relative; }
  .m-service-cover>.k-crop { width:100%; height:auto; aspect-ratio:852/738; }
  .m-service-cover h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .k-service-row { display:grid; position:relative; grid-template-columns:40px minmax(0,1fr) 44%; grid-template-rows:auto 1fr; column-gap:8px; row-gap:13px; padding:21px 0 21px 6%; min-height:200px; align-items:start; background:var(--k-paper); }
  .k-service-row.active { background:#edf1f333; }
  .k-service-row .k-service-num { grid-column:1; grid-row:1; font-size:2rem; padding-top:0; }
  .k-service-row .k-service-text { display:contents; }
  .k-service-row .k-service-text strong { grid-column:2; grid-row:1; font-size:1rem; letter-spacing:.01em; line-height:1.65; align-self:center; }
  .k-service-row .k-service-text>span { grid-column:1/3; grid-row:2; font-size:.875rem; line-height:1.85; padding-right:5px; padding-bottom:44px; }
  .k-service-row .k-circle-arrow { position:absolute; bottom:16px; left:6%; width:35px; height:35px; }
  .k-service-row .m-service-photo { grid-column:3; grid-row:1/3; width:100%; height:calc(100% + 42px); min-height:200px; align-self:stretch; margin-top:-21px; }
  .k-belief { margin:0 auto; }
  .m-belief-image { background:#f3ebdd; }
  .m-belief-image h2 { padding:34px 7% 13px; font-size:clamp(1.35rem,6.4vw,2.3rem); line-height:1.65; letter-spacing:.025em; }
  .m-belief-image h2 span { color:var(--k-blue); }
  .m-belief-image .k-crop { width:100%; height:auto; }
  .k-belief-values { padding:28px 7% 24px; }
  .k-belief-values>h3 { font:600 1.3rem/1.7 var(--k-serif); }
  .k-three-values { gap:8px; margin-top:26px; }
  .k-three-values h4 { font-size:1.05rem; margin:14px 0; }
  .k-three-values p { font-size:.875rem; line-height:1.9; padding-inline:3px; }
  .k-three-values p br { display:none; }
  .k-three-values .icon { width:42px; height:42px; }
  .k-promises { position:relative; grid-template-columns:1fr; padding-top:18px; padding-bottom:35px; gap:18px; overflow:hidden; isolation:isolate; }
  .k-promises>h3 { font:600 1.3rem/1.7 var(--k-serif); margin-bottom:2px; }
  .k-promises>h3::after { content:''; display:block; width:28px; height:1px; background:var(--k-blue); margin-top:12px; }
  .k-promises>div { width:76%; border:0; padding:0; gap:12px; align-items:flex-start; }
  .k-promises .icon { width:27px; height:27px; margin-top:3px; }
  .k-promises p { display:block; width:auto; }
  .k-promises strong { font-size:1rem; margin-bottom:5px; white-space:normal; }
  .k-promises p span { font-size:.875rem; line-height:1.85; }
  .k-promises .m-promise-art { position:absolute; z-index:-1; right:0; bottom:0; width:39%; height:100%; opacity:.8; mask-image:linear-gradient(90deg,transparent,#000 60%); }
  .k-comparison.k-mobile-composition { display:block; padding:0 3% 0; }
  .m-comparison-hero { position:relative; isolation:isolate; overflow:hidden; min-height:315px; padding:32px 5%; border-radius:20px 20px 0 0; }
  .m-comparison-hero .k-heading { position:relative; z-index:1; }
  .m-comparison-hero .k-heading h2 { font-size:clamp(1.65rem,7.5vw,2.6rem); line-height:1.55; margin:0 0 22px; }
  .m-comparison-hero h2 br { display:block; }
  .m-comparison-hero .k-heading .k-lead { font-size:.875rem; line-height:1.9; max-width:75%; }
  .m-comparison-hero .m-comparison-photo { position:absolute; top:0; right:0; width:60%; height:100%; z-index:0; opacity:.8; mask-image:linear-gradient(90deg,transparent,#000 45%); }
  .k-compare-panels { border-radius:15px; }
  .k-compare-panel { padding:22px 7px 27px; }
  .k-compare-panel h3 { font-size:1.15rem; text-align:center; }
  .k-compare-features { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin-top:24px; text-align:center; }
  .k-compare-features>div { padding-inline:4px; }
  .k-compare-features>div+div { padding-left:4px; }
  .k-compare-features .icon { width:28px; height:28px; }
  .k-compare-features h4 { font-size:.875rem; line-height:1.7; white-space:normal; margin:12px 0 10px; overflow-wrap:anywhere; }
  .k-compare-features p { font-size:.875rem; line-height:1.85; overflow-wrap:anywhere; }
  .k-ordinary { padding-bottom:37px; }
  .k-deep { padding-top:38px; border-radius:45% 45% 0 0 / 10px 10px 0 0; }
  .k-versus { top:50%; transform:translateY(-50%); left:calc(50% - 22px); width:44px; height:44px; font-size:1.15rem; }
  .k-process-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 16px; padding-block:32px; }
  .k-process-strip strong { font-size:.875rem; }
  .k-process-strip small { font-size:.875rem; line-height:1.8; }
  .k-equipment { padding-inline:3%; }
  .k-equipment>.k-mobile-composition { border-radius:20px; background:linear-gradient(120deg,#faf7f2,#eee4d7); overflow:hidden; }
  .k-equipment .k-mobile-composition>.k-heading { padding:32px 5% 5px; }
  .k-equipment .k-mobile-composition>.k-heading h2 { font-size:clamp(1.35rem,6.25vw,2.25rem); line-height:1.75; margin-bottom:18px; }
  .m-equipment-layout { position:relative; min-height:660px; isolation:isolate; overflow:hidden; }
  .m-equipment-copy { position:relative; z-index:2; width:48%; padding:14px 0 25px 5%; }
  .m-equipment-copy>div { min-height:220px; }
  .m-equipment-copy>div:last-child { min-height:120px; }
  .m-equipment-copy h3 { color:var(--k-blue); font-size:1rem; line-height:1.7; letter-spacing:0; padding-bottom:12px; border-bottom:1px solid #4C7EBB; margin-bottom:12px; }
  .m-equipment-copy p { font-size:.875rem; line-height:1.85; }
  .m-equipment-machines { position:absolute; width:62%; height:540px; top:12px; right:-3%; mask-image:linear-gradient(90deg,transparent,#000 12%); }
  .m-equipment-formula { position:absolute; width:35%; height:185px; bottom:0; right:18%; }
  .k-design .k-source-note,.k-equipment .k-source-note,.k-review-side>.k-source-note,.k-pricing>.k-source-note { font-size:.75rem; line-height:1.8!important; }
  .k-technology-tabs { padding:28px 3% 20px; }
  .k-tablist { margin:0 3% 22px; gap:6px; }
  .k-tablist button { font-size:.875rem; min-height:46px; padding:9px 7px; letter-spacing:0; }
  .k-tablist button[aria-current=true] { background:var(--k-blue); color:white; }
  .k-tech-panel { border-radius:18px; margin-bottom:24px; scroll-margin-top:115px; background:#f5eee5; }
  .k-tech-panel .k-heading { padding:29px 6% 5px; }
  .k-tech-panel .k-heading h2 { font:600 clamp(1.6rem,7.35vw,2.7rem)/1.6 'Local Noto Sans TC',sans-serif; margin:10px 0 22px; }
  .k-tech-panel .k-heading .k-lead { font-size:1rem; line-height:1.9; margin:0 0 15px; }
  .m-water-visual { position:relative; }
  .m-water-visual>.k-crop { width:100%; height:auto; aspect-ratio:847/1065; }
  .k-tech-panel ul.m-water-features { position:absolute; top:8%; left:5%; width:43%; margin:0; padding:0; }
  .k-tech-panel .m-water-features li { display:flex; align-items:center; gap:8px; padding:5px 0 5px 8px; margin:0 0 18px; min-height:38px; font-size:.875rem; line-height:1.6; border-left:2px solid var(--k-blue); }
  .k-tech-panel .m-water-features li::before { display:none; }
  .m-water-features .icon { color:var(--k-blue); width:25px; height:25px; flex-shrink:0; }
  .k-tech-panel .k-mobile-composition>.m-extraction-photo { width:100%; height:auto; aspect-ratio:837/830; border-radius:0; }
  .k-tech-panel .k-mobile-composition>.m-formula-photo { width:100%; height:auto; max-height:460px; border-radius:0; }
  .k-tech-panel ul.m-feature-details { padding:8px 7% 25px; margin:0; }
  .k-tech-panel .m-feature-details li { padding:13px 0 13px 20px; font-size:1rem; }
  .k-tech-panel .m-feature-details li::before { top:26px; height:1px; width:11px; }
  .m-feature-details strong { color:var(--k-blue); font-size:1.05rem; line-height:1.8; }
  .m-feature-details p { font-size:.875rem; line-height:1.9; margin-top:6px; }
  .k-after .k-heading { padding:25px 7% 16px; }
  .k-after .k-heading h2 { font-size:clamp(1.6rem,7.2vw,2.6rem); }
  .k-after .k-heading .k-lead { font-size:1rem; line-height:1.9; }
  .k-after .k-mobile-composition>.m-after-photo { width:100%; height:auto; aspect-ratio:1024/475; }
  .k-results { padding-top:38px; padding-bottom:32px; }
  .k-results .k-heading h2 { font-size:clamp(1.6rem,7.2vw,2.6rem); max-width:12em; line-height:1.65; }
  .k-results .k-heading .k-lead { font-size:1rem; }
  .k-result-grid { grid-template-columns:1fr; gap:22px; margin-top:28px; }
  .k-result-card { display:grid; grid-template-columns:55px minmax(0,1fr); align-items:center; gap:9px; }
  .k-result-switch { display:none; }
  .k-result-card h3 { grid-column:1; grid-row:1; margin:20px 0 0; text-align:left; font-size:.875rem; line-height:1.65; overflow-wrap:anywhere; }
  .m-result-number { display:block; color:var(--k-blue); font-size:1.3rem; line-height:1.5; margin-bottom:8px; }
  .m-result-number::after { content:''; display:block; width:21px; height:1px; background:var(--k-blue); margin-top:5px; }
  .m-result-separator { display:none; }
  .k-result-photos { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .k-result-card .k-result-photos figure[data-result-image] { display:block; width:100%; min-width:0; margin:0; }
  .k-result-card figcaption { display:block; font-size:.75rem; line-height:1.7; white-space:normal; letter-spacing:0; margin:0 0 5px; }
  .k-result-card figcaption span { display:block; font-size:.75rem; margin-left:0; }
  .k-result-card .k-crop { width:100%; height:auto; aspect-ratio:1.07; border-radius:7px; }
  .k-reviews { display:block; padding-top:35px; padding-bottom:22px; }
  .k-reviews .k-heading h2 { font-size:clamp(1.6rem,7.2vw,2.6rem); }
  .k-reviews .k-lead { font-size:1rem; }
  .k-review-side { margin-top:24px; }
  .k-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 14px; overflow:visible; margin:0; padding:0; }
  .k-review-card { min-width:0; padding:13px 8px 14px; border:0; border-radius:0; background:transparent; text-align:left; align-items:flex-start; }
  .k-review-card>.k-crop { width:61px; height:61px; }
  .k-stars { font-size:.875rem; letter-spacing:.04em; margin:12px 0 10px; }
  .k-review-card blockquote { font-size:.875rem; line-height:1.9; margin:0 0 14px; }
  .k-review-person { font-size:.75rem; line-height:1.8; padding-top:9px; }
  .k-review-tag { font-size:.75rem; line-height:1.6; padding:4px 7px; }
  .k-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 0; padding-top:15px; padding-bottom:30px; }
  .k-stats>div { padding-inline:5px; }
  .k-stats>div:nth-child(even) { border-right:1px solid var(--k-line); }
  .k-stats>div:nth-child(3),.k-stats>div:last-child { border:0; }
  .k-stats>div:last-child { grid-column:auto; padding-top:0; width:auto; }
  .k-stats strong { font-size:1.3rem; white-space:nowrap; }
  .k-stats span { font-size:.875rem; line-height:1.6; }
  .k-regions strong { font-size:1.4rem; }
  .k-regions p,.k-regions .button { font-size:.875rem; }
  .k-regions>.m-region-scenes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
  .m-region-scenes figure { margin:0; text-align:center; min-width:0; }
  .m-region-scenes .k-crop { width:100%; height:57px; }
  .m-region-scenes figcaption { margin-top:10px; font:500 .875rem/1.7 var(--k-serif); }
  .k-pricing { padding-top:28px; padding-bottom:32px; }
  .k-pricing-heading { position:relative; isolation:isolate; }
  .m-price-map { position:absolute; z-index:-1; right:-8%; top:-10px; width:39%; height:155px; opacity:.65; }
  .k-pricing-heading h2 { font-size:clamp(1.7rem,7.6vw,2.7rem); }
  .k-price-area { border:0; margin-top:22px; padding-top:0; }
  .k-price-area p { font-size:.875rem; }
  .k-price-area strong { font-size:1.4rem; letter-spacing:.055em; }
  .k-price-area p>span { font-size:.875rem; }
  .k-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .k-price-card { padding:18px 10px 13px; border-radius:12px; min-width:0; }
  .k-price-title { flex-direction:column; align-items:flex-start; gap:12px; min-height:103px; }
  .k-price-title .icon { width:38px; height:38px; }
  .k-price-title h3 { font-size:1rem; line-height:1.7; letter-spacing:.02em; }
  .k-price-unit { text-align:center; font-size:.75rem; line-height:1.8; padding:4px 8px; margin-top:8px; min-height:44px; display:grid; align-items:center; }
  .k-price-number { display:flex; flex-wrap:wrap; justify-content:center; gap:0 5px; margin-top:13px; white-space:normal; }
  .k-price-number small { font-size:.75rem; }
  .k-price-number strong { font-size:1.7rem; letter-spacing:0; }
  .k-price-number>span { display:block; width:100%; font-size:.875rem; line-height:1.8; text-align:center; }
  .k-price-card ul { padding-top:12px; margin:12px 0 15px; }
  .k-price-card li { font-size:.875rem; line-height:1.75; align-items:flex-start; gap:5px; margin:7px 0; }
  .k-price-card li .icon { flex:0 0 14px; width:14px; height:14px; margin-top:5px; }
  .k-price-card .button { min-height:44px; font-size:.875rem; padding:10px 8px; justify-content:center; gap:4px; letter-spacing:0; }
  .k-price-card .button .icon { width:16px; flex-shrink:0; }
  .k-contact-strip { padding:20px 16px; }
  .k-contact-strip p span { font-size:.875rem; line-height:1.8; }
  .k-contact-strip p strong { font-size:1.05rem; }
  .k-contact-strip .button { font-size:.875rem; min-height:46px; }
  .k-faq { padding-top:28px; padding-bottom:35px; }
  .k-faq-title { display:grid; grid-template-columns:1fr 70px; gap:10px 15px; align-items:start; }
  .k-faq-title h2 { grid-column:1; grid-row:1; font-size:3.6rem; letter-spacing:-.06em; line-height:1.2; }
  .k-faq-title h2 span { font-size:2.8rem; }
  .k-faq-title>.k-crop { grid-column:2; grid-row:1/3; width:70px; height:95px; margin:0; align-self:center; }
  .k-faq-title>p { grid-column:1/-1; grid-row:3; margin:0; font-size:.875rem; }
  .k-faq-title .m-faq-subtitle { display:block; grid-column:1; grid-row:2; font:600 1.45rem/1.6 var(--k-serif); }
  .m-faq-subtitle span { color:var(--k-blue); }
  .k-faq-tools h3 { font-size:1rem; }
  .k-faq-tools .text-button { font-size:.875rem; min-height:44px; }
  .k-faq-item summary { font-size:1rem; line-height:1.8; padding:20px 24px 20px 34px; }
  .k-faq-item summary>span { font-size:1.2rem; }
  .k-faq-item p { font-size:.875rem; line-height:1.9; padding:0 12px 22px 34px; }
  .k-faq-contact { font-size:.875rem; flex-wrap:wrap; gap:8px; }
  .k-faq-contact>span { font-size:1.4rem; }
  .k-explore-wrap>.k-heading h2 { font-size:1.8rem; }
  .k-explore-wrap .k-heading .k-lead { font-size:1rem; }
  .k-design .explorer { padding:24px 18px; }
  .k-design .muted,.k-design .area-status,.k-design .explorer-result>p,.k-design .explorer-result .material-note { font-size:.875rem; }
  .k-design .k-service-pills button,.k-design .city-options button { font-size:.875rem; padding:10px; min-height:44px; }
  .k-design .explorer-result { padding:21px 16px; }
  .k-design .explorer-result .button { font-size:.875rem; min-height:46px; }
  .k-design .estimate-note,.k-design .detail-tags span { font-size:.75rem; }
  .k-booking { padding:35px 6%; }
  .k-booking .request-intro h2 { font-size:1.75rem; }
  .k-booking .request-intro>p:not(.eyebrow) { font-size:1rem; }
  .k-booking .gentle-note p { font-size:1rem; }
  .k-booking .gentle-note small { font-size:.875rem; }
  .k-booking .request-form { padding:25px 17px; }
  .k-booking .form-heading { flex-wrap:wrap; gap:10px; }
  .k-booking .form-heading h3 { font-size:1.25rem; }
  .k-booking .form-heading .text-button { font-size:.875rem; min-height:44px; }
  .k-booking .request-form legend,.k-booking .field>label,.k-booking .form-note,.k-booking .home-notes>label { font-size:.875rem; }
  .k-booking .optional,.k-booking .textarea-meta,.k-booking .submit-caption,.k-booking .form-simulation-note { font-size:.75rem; line-height:1.8; }
  .k-booking .field input,.k-booking .field select,.k-booking .field textarea,.k-booking .item-config select { font-size:1rem; min-height:48px; }
  .k-booking .item-config { font-size:.875rem; grid-template-columns:72px minmax(0,1fr); }
  .k-booking .form-service-options label>span { font-size:.875rem; min-height:48px; }
  .k-booking .form-submit { font-size:1rem; min-height:48px; }
  .k-booking .textarea-meta { flex-wrap:wrap; gap:5px; }
  .k-design dialog h2 { font-size:1.5rem; }
  .k-design .summary-row,.k-design .summary-row>span:first-child,.k-design #dialog-description { font-size:.875rem; }
  .k-design .dialog-actions .button { font-size:.875rem; min-height:48px; }
  .k-ending .k-mobile-composition { padding-bottom:0; background:linear-gradient(110deg,#f9f4ed,#f0e4d6); }
  .m-ending-heading { position:relative; padding:53px 6% 20px; text-align:center; }
  .m-ending-bubbles { position:absolute; top:20px; left:8%; width:60px; height:64px; }
  .m-ending-mark { width:105px; height:104px; margin:0 auto 24px; border-radius:50%; }
  .k-ending .m-ending-heading h2 { font-size:clamp(1.6rem,7.3vw,2.65rem); margin:0 0 9px; line-height:1.5; }
  .k-ending .m-ending-heading p { font-size:1.25rem; letter-spacing:.07em; }
  .k-ending .m-ending-heading small { font-size:.75rem; line-height:1.7; padding-top:16px; border-top:1px solid #c5cfda; margin:20px auto 0; width:90%; }
  .k-ending .k-mobile-composition>.m-ending-photo { width:100%; height:auto; aspect-ratio:941/862; }
  .k-footer p { font-size:.875rem; }
  .k-footer,.k-footer small,.k-footer a { font-size:.75rem; line-height:1.8; }
}

@media (max-width:359px) {
  .m-brand-copy strong { font-size:.9375rem; letter-spacing:.05em; }
  .m-brand-copy small { letter-spacing:0; }
  .k-header .k-brand { gap:8px; }
  .k-header .k-brand>.k-crop { flex-basis:48px; width:48px; height:48px; }
  .k-hero h1 { font-size:8.2vw; }
  .m-hero-note { width:46%; padding:10px 6px; }
  .m-hero-note strong { font-size:1.05rem; }
  .m-hero-note span { font-size:.75rem; }
  .k-price-grid { grid-template-columns:1fr; }
  .k-price-card { padding:22px; }
  .k-price-title { flex-direction:row; align-items:center; min-height:55px; }
  .k-price-unit { min-height:32px; }
  .k-price-number>span { width:auto; }
  .k-review-grid { gap:12px; }
  .k-compare-features { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 0; }
  .k-compare-features>div:nth-child(4) { border:0; }
  .k-result-card { grid-template-columns:44px minmax(0,1fr); gap:7px; }
  .m-water-features .icon { display:none; }
  .k-promises>div { width:90%; }
}
