.universal{--u-night:#06132a;--u-ink:#101e36;--u-blue:#1055dd;--u-accent:#9bcaff;--u-paper:#edf4ff;color:var(--u-ink);background:#fff}
.universal :is(h1,h2,h3,p,figure){margin:0}
.universal [id]{scroll-margin-top:120px}
.u-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#123e82 0,#091c3a 45%,#06132a 76%);color:#fff;text-align:center;min-height:720px}
.u-hero-copy{position:relative;z-index:2;padding:60px 24px 0;animation:u-entry .75s both}
.u-overline{font-size:clamp(.85rem,1.8vw,1.03rem);font-weight:700;color:var(--u-blue);margin-bottom:12px!important}
.u-hero .u-overline,.u-book .u-overline,.u-cooker .u-overline,.u-heater .u-overline{color:var(--u-accent)}
.u-hero h1{font-size:clamp(3.65rem,9vw,8.9rem);line-height:1.01;letter-spacing:-.058em;font-weight:800}
.u-hero h1 em{font-style:normal;color:var(--u-accent)}
.u-hero-description{max-width:45ch;margin:18px auto 0!important;font-size:clamp(1.03rem,2.4vw,1.35rem);color:#dce9ff}
.u-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.u-hero .u-actions{justify-content:center}
.u-hero .p-button,.u-book .p-button{background:#d3e6ff;color:#082a58;border-color:#d3e6ff}.u-hero .p-button:hover,.u-book .p-button:hover{background:#fff;color:#082a58}.u-hero .secondary,.u-book .secondary{background:transparent;color:#fff;border-color:#a8c5e9}
.u-cover{width:min(1040px,100%);margin:-58px auto -65px!important;animation:u-product 1s .15s both;mask-image:radial-gradient(ellipse 52% 51% at 50% 54%,#000 56%,transparent 100%)}
.u-cover img{width:100%;height:auto;display:block}
.u-hero-foot{display:flex;justify-content:space-between;gap:12px;padding:12px clamp(18px,5vw,70px) 22px;color:#d3e0f5;font-size:.87rem;position:relative;z-index:2}
.u-hero-foot a{color:#fff}
.u-devices,.u-visit{padding-block:clamp(62px,9vw,120px)}
.u-section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:end;margin-bottom:clamp(26px,4vw,48px)}
.u-section-head>p,.u-book-grid>div>p:not(.u-overline){font-size:clamp(1.03rem,2vw,1.22rem);line-height:1.8;color:#405470;max-width:37ch}
.universal h2{font-size:clamp(2.6rem,6.4vw,6.4rem);line-height:1.04;letter-spacing:-.055em;font-weight:800}
.u-device{display:grid;grid-template-columns:.77fr 1.23fr;align-items:stretch;overflow:hidden;min-height:460px;margin-bottom:17px;border-radius:28px}
.u-device-copy{padding:clamp(26px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.u-device h3{font-size:clamp(2.2rem,4.7vw,5rem);line-height:1.04;letter-spacing:-.045em}
.u-device-copy>p:not(.u-overline){margin-top:14px;max-width:33ch}
.u-device img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.u-cooker{background:#0c1c40;color:white}.u-heater{background:#0b234b;color:white}.u-washer{background:#ebf3fd}.u-washer img{order:-1}.u-washer{grid-template-columns:1.23fr .77fr}
.u-tags{display:flex;gap:5px;flex-wrap:wrap;margin:20px 0 14px}.u-tags span{border:1px solid currentColor;border-radius:40px;padding:3px 9px;font-size:.78rem;opacity:.86}
.u-link{color:var(--u-blue);font-weight:700;text-decoration:underline;text-underline-offset:.25em}.u-cooker .u-link,.u-heater .u-link,.u-book .u-link{color:var(--u-accent)}
.u-caption{font-size:.83rem;color:#4a5e76}
.u-diagnose{padding-block:clamp(58px,8vw,100px);background:var(--u-paper)}
.u-diagnostic-box{border:1px solid #d6e2f4;border-radius:24px;background:white;padding:clamp(19px,4vw,44px);box-shadow:0 18px 50px #122f6110}
.u-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.u-tabs button{cursor:pointer;border:1px solid #b5c8e8;background:#fff;color:var(--u-ink);border-radius:99px;padding:9px 16px;font-weight:700}.u-tabs button[aria-pressed="true"]{color:white;background:#114cbc;border-color:#114cbc}
.u-faults h3{font-size:clamp(1.35rem,3vw,2.1rem);line-height:1.2;margin:8px 0}
.universal details{border-bottom:1px solid #d8e3f2;padding:0}.universal details summary{font-weight:700;cursor:pointer;padding:15px 0;line-height:1.45}.universal details p{color:#374a68;padding-bottom:17px;max-width:75ch}.u-diagnostic-box>.u-link{display:inline-block;margin-top:20px}
.u-timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0}
.u-timeline li{background:#f1f5fd;border-radius:20px;padding:20px;min-height:175px}
.u-timeline span{display:grid;place-items:center;background:#dce9fe;color:#083eaa;border-radius:100px;width:37px;height:37px;margin-bottom:12px;font-weight:700}.u-timeline h3{font-size:1.16rem;margin-bottom:8px}
.u-questions{background:#f4f7fc;padding-block:clamp(52px,7vw,90px)}.u-questions-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}
.u-book{padding-block:clamp(53px,8vw,95px);background:radial-gradient(ellipse at 22% 15%,#163e80,#07172e 75%);color:white}.u-book-grid{display:grid;grid-template-columns:1fr .85fr;gap:45px;align-items:center}.u-book-grid>div>p:not(.u-overline){color:#dceaff;margin:15px 0 22px}
.u-form{padding:clamp(16px,3vw,32px);border:1px solid #496493;border-radius:21px;background:#10274c;display:grid;gap:12px}.u-form label{display:grid;gap:4px;font-weight:600}.u-form small{font-weight:400;color:#bed2f4}.u-form :is(input,textarea,select){width:100%;padding:9px 12px;border:1px solid #a8bcdb;border-radius:8px;background:#f8fbff;color:#10274c;font:inherit}.u-form textarea{resize:vertical}
[data-reveal].u-pending{opacity:0;transform:translateY(22px)}[data-reveal]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1)}
@keyframes u-entry{from{opacity:0;transform:translateY(16px)}}@keyframes u-product{from{opacity:0;transform:scale(.97) translateY(12px)}}
@media(max-width:780px){.u-cover{margin:-18px auto -36px!important}.u-hero{min-height:0}.u-device{min-height:330px}.u-timeline{grid-template-columns:repeat(2,1fr)}.u-book-grid{gap:24px}}
@media(max-width:600px){.u-hero-copy{padding-top:36px}.u-cover{margin:0 auto -19px!important}.u-hero-foot{font-size:.73rem}.u-section-head,.u-device,.u-washer,.u-questions-inner,.u-book-grid{grid-template-columns:1fr}.u-device img,.u-washer img{order:0;aspect-ratio:3/2}.u-device{border-radius:18px}.u-questions-inner{gap:12px}.u-timeline li{padding:13px;min-height:0}}
@media(prefers-reduced-motion:reduce){.universal *,[data-reveal]{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal].u-pending{opacity:1;transform:none}}
@media(min-width:900px){
  .u-hero{min-height:min(690px,calc(100svh - 76px));display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.4fr);grid-template-rows:1fr auto;align-items:center;text-align:start}
  .u-hero-copy{padding:54px 0 34px clamp(8px,1vw,20px);margin-inline-start:clamp(30px,6vw,106px)}
  .u-hero h1{font-size:clamp(4rem,6.1vw,7.4rem)}
  .u-hero .u-actions{justify-content:flex-start}
  .u-hero-description{margin:18px 0 0!important}
  .u-cover{width:110%;max-width:none;margin:0 -3% 0 -7%!important;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 11%,#000 88%,transparent);mask-composite:intersect}
  .u-hero-foot{grid-column:1/-1}
}
@media(max-width:600px){.u-hero h1{font-size:clamp(2.95rem,10vw,4.4rem)}.u-hero-description{font-size:1rem;margin-top:12px!important}.u-cover{mask-image:linear-gradient(0deg,transparent,#000 10%,#000 88%,transparent)}}
@media(min-width:900px){
  .u-hero{grid-template-columns:minmax(360px,1fr) minmax(0,1.25fr)}
  .u-hero-copy{margin-inline-start:clamp(28px,4vw,80px)}
  .u-hero h1{font-size:clamp(2.8rem,5.2vw,6.7rem)}
  .u-hero h1 em{white-space:nowrap}
}
.u-use-symptom {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  margin: 0 0 14px;
  border: 1px solid #b5cbed;
  border-radius: 8px;
  color: #0b48b2;
  font-size: .87rem;
  font-weight: 700;
}
.u-use-symptom:hover { background: #eef5ff; }
.universal .u-fault-tip { margin-top: 17px; color: #475b78; }
.u-form .u-book-feedback { color: #dceaff; font-size: .86rem; }
.u-reading-map { padding-block: clamp(48px, 7vw, 86px); }
.u-reading-map h2 { font-size: clamp(2.3rem, 5.5vw, 4.8rem); }
.u-reading-map ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.u-reading-map a { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 14px 17px; background: #f0f5ff; border: 1px solid #dae5f8; border-radius: 13px; }
.u-reading-map a:hover { background: #e3eeff; }
.u-reading-map small { color: #4a5f79; grid-column: 1; }
.u-reading-map a span { color: #104fbd; grid-column: 2; grid-row: 1 / 3; align-self: center; }
.u-reading-map + .u-devices { padding-top: 14px; }
.u-longform, #u-cases, .u-aftercare { padding-block: clamp(55px, 8vw, 105px); }
.u-longform { background: #f6f9ff; }
.u-editorial { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(18px, 4vw, 54px); padding: clamp(23px, 4vw, 48px) 0; border-top: 1px solid #ccd9ef; }
.u-editorial h3 { font-size: clamp(1.55rem, 3.5vw, 2.8rem); line-height: 1.2; }
.u-editorial p { margin-top: 10px; color: #344b69; max-width: 72ch; }
.u-editorial-main h4, .u-editorial-aside h4 { margin: 16px 0 4px; font-size: 1.07rem; }
.u-editorial-aside { background: #eaf1ff; border: 1px solid #d8e4f8; border-radius: 18px; align-self: start; padding: clamp(16px, 3vw, 28px); }
.u-editorial-aside ul { padding-inline-start: 21px; margin: 9px 0; }
.u-cases-grid, .u-aftercare-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.u-case, .u-aftercare-grid article { min-width: 0; background: #f1f5fd; padding: clamp(17px, 2.4vw, 29px); border-radius: 18px; }
.u-case h3, .u-aftercare h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); line-height: 1.25; }
.u-case p, .u-aftercare p { margin-top: 9px; }
.u-case blockquote { margin: 14px 0; padding: 10px 13px; background: #fff; border-inline-start: 3px solid #4377cf; }
.u-case-fill { display: inline-flex; color: #164bb0; font-weight: 700; margin-top: 14px; text-decoration: underline; text-underline-offset: 3px; }
.u-cases-checklist, .u-aftercare-note { padding: clamp(18px, 3vw, 31px); margin-top: 16px; border: 1px solid #c8d9f4; border-radius: 18px; background: #e9f1ff; }
.u-cases-checklist ul { margin-bottom: 0; padding-inline-start: 21px; }
.u-aftercare-note .u-link { display: inline-block; margin-top: 12px; }
@media (max-width: 740px) {
  .u-editorial, .u-cases-grid, .u-aftercare-grid { grid-template-columns: 1fr; }
  .u-reading-map ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 360px) {
  .u-reading-map ul { grid-template-columns: 1fr; }
}
.u-longform { background: transparent; }
.u-cases { background: #f7faff; }
.u-cases .u-section-head { grid-template-columns: 1.08fr .92fr; }
.u-aftercare { background: #f5f8fe; }
@media (max-width: 740px) { .u-cases .u-section-head { grid-template-columns: 1fr; } }
