/* October 19: user-directed V3 revision. */
body.v3-site .nav-links { gap:clamp(12px,1.25vw,20px); }
body.v3-site .hero-copy { width:100%;max-width:32em; }
body.v3-site .hero-content {z-index:1;}
body.v3-site .hero h1 {overflow-wrap:normal;}
@media (prefers-reduced-motion:no-preference) {
 body.v3-site .hero-content {animation:hero-copy-enter .8s cubic-bezier(.16,1,.3,1) both;}
 body.v3-site .hero-image {animation:hero-image-enter 1.2s ease-out both;}
 .v3-hero-product {animation:hero-copy-enter .8s .15s cubic-bezier(.16,1,.3,1) both;}
}
@keyframes hero-copy-enter {from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-image-enter {from{opacity:.35}to{opacity:1}}
body.v3-site :is(.section h2,.editorial-section h2,.contact-heading) {font-family:inherit;font-size:clamp(30px,3.25vw,46px);font-weight:600;line-height:1.35;letter-spacing:-.025em;}
/* The diagram is sized by its grid slot. The heading and descriptions no longer
   change the aspect ratio or move under the fixed header during step changes. */
body.v3-site .website-system-demo[data-mode=scroll] {scroll-margin-top:0;}
body.v3-site .website-system-demo[data-mode=scroll] .system-stage {padding:108px 0 22px;grid-template-rows:auto minmax(0,1fr) 156px;gap:18px 20px;}
body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading {width:100%;}
body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading h2 {position:static;width:auto;height:auto;clip-path:none;white-space:normal;overflow:visible;font:600 clamp(28px,3.25vw,46px)/1.35 'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:-.025em;color:var(--v3-ink);}
body.v3-site .website-system-demo[data-mode=scroll] .info-panel {height:100%;padding:16px 24px;overflow:auto;}
body.v3-site .website-system-demo[data-mode=scroll] .info-panel h2 {font-family:inherit;font-size:clamp(24px,2.5vw,34px);line-height:1.35;font-weight:600;}
body.v3-site .website-system-demo[data-mode=scroll] .info-panel p:last-child {font-size:14px;line-height:1.7;max-width:74em;}
body.v3-site .website-system-demo .nozzle-layer circle {r:15;stroke-width:5;}
body.v3-site .website-system-demo .pipe-routes path {stroke-width:9;}
body.v3-site .website-system-demo .step-nav button {min-height:44px;}
body.v3-site .website-system-demo .demo-actions button {min-height:44px;}
body.v3-site .website-system-demo .map-frame {background:var(--v3-soft);}

body.v3-site .oil-chapters {gap:30px;}
body.v3-site .oil-safety {margin:80px 0;padding:60px 0;border-block:1px solid var(--v3-line);}
.safety-heading {max-width:850px;}
.safety-strip {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:38px 0 60px;}
.safety-strip>div {min-width:0;}
body.v3-site .safety-strip h4 {margin-top:16px;font-size:18px;color:var(--v3-ink);}
body.v3-site .safety-strip p {font-size:14px;margin-top:10px;line-height:1.8;}
/* Supplied source artwork, displayed as scoped subject icons. No broad
   insect-killing or universal safety claims are inferred from the full sheets. */
.provided-icon {display:block;width:66px;height:66px;border-radius:12px;background-color:#fff;background-repeat:no-repeat;}
.provided-icon.mosquito {background-image:url('./assets/revision-oct19/provided-1.png');background-size:260px 244px;background-position:-14px -21px;}
.provided-icon.kids,.provided-icon.pets,.provided-icon.fish {width:76px;height:64px;background-image:url('./assets/revision-oct19/provided-2.png');background-size:233px 155px;clip-path:inset(0 0 10px 0 round 10px);}
.provided-icon.kids {background-position:-4px -5px;}
.provided-icon.pets {background-position:-80px -5px;}
.provided-icon.fish {background-position:-80px -82px;}
body.v3-site .koi-story {grid-template-columns:1.05fr 1fr;gap:52px;align-items:center;}
body.v3-site .koi-story .editorial-photo img {aspect-ratio:4/3;}
body.v3-site .research-source {font-size:13px;line-height:1.8;color:var(--v3-accent);text-decoration:none;display:inline-block;padding-block:8px;}
body.v3-site .research-source:hover {text-decoration:underline;text-underline-offset:4px;}
body.v3-site #oil-explore>h3 {font-size:clamp(27px,2.6vw,37px);margin-bottom:30px;}
body.v3-site #oil-explore .editorial-split {grid-template-columns:1.4fr 1fr;gap:44px;}
.botanical-cloud {position:relative;isolation:isolate;aspect-ratio:3/2;overflow:hidden;border-radius:14px;min-width:0;background:var(--v3-soft);}
body.v3-site .botanical-backdrop {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;}
.cloud-wash {position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(239,246,236,.9),rgba(239,246,236,.66));}
.cloud-center {position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;pointer-events:none;color:#1e4d39;}
.cloud-center strong {font-size:clamp(18px,2vw,27px);font-weight:600;}
.cloud-center span {font-size:12px;letter-spacing:.08em;}
.botanical-node {position:absolute;left:50%;top:50%;width:100px;display:flex;flex-direction:column;align-items:center;border:0;background:transparent;cursor:pointer;color:#173f30;padding:6px;will-change:transform;transform:translate(-50%,-50%);border-radius:12px;}
body.v3-site .botanical-node img {width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 7px 9px #213b2820);}
.botanical-node span {font-size:12px;line-height:1.5;padding:3px 7px;background:rgba(251,254,250,.9);border-radius:5px;white-space:nowrap;}
.botanical-node[aria-pressed=true] span {background:#245d46;color:#fff;}
.botanical-node:hover img {filter:drop-shadow(0 8px 8px #213b2845);}
.botanical-actions {display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;}
.botanical-actions button {border:1px solid var(--v3-line);border-radius:7px;padding:10px 14px;min-height:44px;background:var(--v3-surface);color:var(--v3-ink);font-size:13px;cursor:pointer;}
.botanical-actions button:hover {background:var(--v3-soft);}
.botanical-actions button[aria-pressed=true] {border-color:var(--v3-accent);}
/* Keep an equal-height first view, without reserving two entire rows for a
   hidden customization tab. Native hidden also excludes keyboard focus. */
body.v3-site #customization .editorial-panels {display:block;}
body.v3-site #customization .editorial-panel[hidden] {display:none!important;}
.custom-concept-row {display:grid;grid-template-columns:1.65fr 1fr;gap:52px;align-items:center;margin-top:44px;padding-top:44px;border-top:1px solid var(--v3-line);}
body.v3-site .custom-concept-row img {aspect-ratio:3/2;}
body.v3-site #custom-views-panel-1 .editorial-photo img {aspect-ratio:3/2;}
.custom-spec-list {padding-top:18px;border-top:1px solid var(--v3-line);}
body.v3-site .custom-spec-list h4 {font-size:16px;margin-top:24px;}
body.v3-site .custom-spec-list p {font-size:14px;}
body.v3-site .lifestyle-compact {display:block;padding-block:70px;}
.lifestyle-heading {display:flex;gap:60px;align-items:start;justify-content:space-between;margin-bottom:34px;}
.lifestyle-heading h2 {max-width:650px;flex:1;}
body.v3-site .lifestyle-heading p {max-width:360px;margin:0;font-size:15px;}
.lifestyle-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.lifestyle-grid figure {margin:0;}
body.v3-site .lifestyle-grid img {aspect-ratio:3/2;}
body.v3-site .lifestyle-grid h3 {font-size:20px;margin:20px 0 8px;}
body.v3-site .lifestyle-grid p {font-size:14px;margin:0;line-height:1.8;}
body.v3-site .model-card-inner {transition:transform 900ms cubic-bezier(.22,1,.36,1);transform-style:preserve-3d;}
body.v3-site .model-card-face {backface-visibility:hidden;-webkit-backface-visibility:hidden;}
body.v3-site .models.is-model-intro-ready:not(.is-model-intro-playing) .model-card-inner {transition:none;}
body.v3-site .models.is-model-intro-playing .model-card-inner {transition-delay:var(--intro-delay,0ms);}
body.v3-site .product-long-sheet {display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0;background:white;margin:20px 0;}
body.v3-site .editorial-drawer {width:min(760px,94vw);max-width:94vw;}
body.v3-site .drawer-heading {position:sticky;top:-28px;background:var(--v3-surface);z-index:2;padding:16px 0;}

@media (max-width:1100px) {
 body.v3-site .site-header {grid-template-columns:1fr auto;}
 body.v3-site .nav-links {gap:0 20px;}
 body.v3-site .website-system-demo[data-mode=scroll] .system-stage {padding-top:94px;grid-template-rows:auto minmax(0,1fr) 154px;}
 .safety-strip {gap:20px;}
 body.v3-site .koi-story {gap:30px;}
 .lifestyle-heading {display:block;}
 body.v3-site .lifestyle-heading p {max-width:640px;margin-top:18px;}
 .lifestyle-grid {gap:18px;}
}
@media (max-width:767px) {
 body.v3-site .hero-copy {max-width:none;}
 body.v3-site :is(.section h2,.editorial-section h2,.contact-heading) {font-size:30px;}
 body.v3-site .oil-safety {margin:46px 0;padding:40px 0;}
 .safety-strip {grid-template-columns:1fr 1fr;gap:28px 22px;margin:30px 0 40px;}
 body.v3-site .safety-strip h4 {font-size:16px;}
 body.v3-site .safety-strip p {font-size:13px;}
 body.v3-site .koi-story,body.v3-site #oil-explore .editorial-split,.custom-concept-row {grid-template-columns:1fr;gap:25px;}
 .custom-concept-row {margin-top:28px;padding-top:28px;}
 .botanical-node {width:74px;padding:2px;}
 body.v3-site .botanical-node img {width:48px;height:48px;}
 .botanical-node span {font-size:10px;padding:2px 5px;}
 .botanical-cloud {aspect-ratio:1.15;}
 .cloud-center strong {font-size:20px;}
 .cloud-center span {font-size:10px;}
 body.v3-site .lifestyle-compact {padding-block:50px;}
 .lifestyle-grid {grid-template-columns:1fr 1fr;gap:26px 16px;}
 body.v3-site .lifestyle-grid h3 {font-size:17px;margin-top:14px;}
 body.v3-site .lifestyle-grid p {font-size:13px;line-height:1.75;}
 body.v3-site .editorial-drawer {padding:20px 16px;width:96vw;max-width:96vw;}
 body.v3-site .drawer-heading {top:-20px;}
 body.v3-site .drawer-heading h2 {font-size:23px;}
 body.v3-site .oil-chapters {gap:20px;}
}
@media (max-width:560px) {
 body.v3-site .website-system-demo[data-mode=scroll] .system-stage {padding:88px 0 16px;grid-template-rows:auto auto auto auto auto;align-content:start;gap:12px;}
 body.v3-site .website-system-demo[data-mode=scroll] .demo-map-slot {height:auto;}
 body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading h2 {font-size:27px;line-height:1.35;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel {height:auto;min-height:152px;padding:12px 16px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel h2 {font-size:24px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel p:last-child {font-size:13px;line-height:1.65;}
 body.v3-site .website-system-demo[data-mode=scroll] .step-nav {border-radius:10px;}
 body.v3-site .website-system-demo .demo-actions {display:grid;grid-template-columns:1fr auto 1.4fr;align-items:center;gap:12px;}
}
@media (max-height:700px) and (min-width:561px) {
 body.v3-site .website-system-demo[data-mode=scroll] .system-stage {padding-top:94px;padding-bottom:14px;gap:10px 18px;grid-template-rows:auto minmax(0,1fr) 134px;}
 body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading h2 {font-size:30px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel {padding:10px 18px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel h2 {font-size:26px;}
 body.v3-site .website-system-demo[data-mode=scroll] .step-nav button {min-height:34px;font-size:12px;}
}
@media (max-width:560px) and (max-height:720px) {
 body.v3-site .website-system-demo[data-mode=scroll] .system-stage {padding:80px 0 12px;gap:8px;grid-template-rows:auto auto minmax(0,1fr) 140px 44px;align-content:stretch;}
 body.v3-site .website-system-demo[data-mode=scroll] .demo-map-slot {height:100%;}
 body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading h2 {font-size:23px;}
 html[lang=en] body.v3-site .website-system-demo[data-mode=scroll] .system-demo-heading h2 {font-size:20px;line-height:1.2;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel {height:140px;min-height:0;max-height:140px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel .step-kicker {display:none;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel h2 {font-size:22px;}
 body.v3-site .website-system-demo[data-mode=scroll] .info-panel p:last-child {font-size:12px;line-height:1.55;}
}
@media (prefers-reduced-motion:reduce) {
 body.v3-site .hero-content,body.v3-site .hero-image,.v3-hero-product {animation:none;}
 body.v3-site .model-card-inner {transition:none!important;}
}
/* October 20: immersive hero and complete supplied benefit artwork. */
body.v3-site .hero {min-height:700px;height:min(850px,94dvh);padding:140px max(40px,calc((100vw - 1280px)/2)) 80px;background:#18382d;color:#fff;}
body.v3-site .hero-image {inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
body.v3-site .hero-overlay {inset:0;background:linear-gradient(90deg,rgba(8,25,19,.82),rgba(8,25,19,.58) 42%,rgba(8,25,19,.08) 85%),linear-gradient(0deg,rgba(8,25,19,.25),transparent 60%);}
body.v3-site .hero-content {width:100%;max-width:650px;padding:0;}
body.v3-site .hero h1 {color:#fff;font-size:clamp(48px,5vw,72px);text-shadow:0 2px 24px #09221930;}
body.v3-site .hero-copy {color:#fff;max-width:32em;}
body.v3-site .hero .button.primary {color:#153f31;background:#fff;border-color:#fff;}
body.v3-site .hero .button.primary:hover {background:#e4f0e9;}
body.v3-site .hero .button.secondary {color:#fff;border-color:#ffffffa3;background:#142d265e;}
body.v3-site .hero .button.secondary:hover {background:#294a3e;}
body.v3-site .hero .button[data-contact-modal-open] {margin-right:0;padding:0 12px;color:#fff;border-color:#ffffffa3;}
.benefit-illustrations {display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:36px 0 56px;}
.benefit-panel {padding:30px;background:#fff;border-radius:14px;color:#214b3b;}
body.v3-site .benefit-panel h4 {font-size:23px;line-height:1.45;margin:0;color:#214b3b;}
body.v3-site .benefit-panel p {font-size:15px;line-height:1.8;color:#416452;min-height:54px;margin:12px 0 22px;}
body.v3-site .benefit-panel img {display:block;width:100%;height:300px;object-fit:contain;}
@media(max-width:767px) {
 body.v3-site .hero {height:auto;min-height:740px;padding:150px 24px 80px;align-items:center;}
 body.v3-site .hero-image {inset:0;width:100%;height:100%;object-position:62% center;}
 body.v3-site .hero-overlay {background:linear-gradient(90deg,rgba(8,25,19,.78),rgba(8,25,19,.46)),linear-gradient(0deg,rgba(8,25,19,.25),transparent);}
 body.v3-site .hero-content {width:100%;padding:0;}
 body.v3-site .hero h1 {font-size:48px;max-width:6em;}
 body.v3-site .hero-copy {font-size:15px;line-height:1.85;}
 body.v3-site .hero-actions {gap:12px;}
 body.v3-site .hero .button {padding-inline:16px;}
 .benefit-illustrations {grid-template-columns:1fr;gap:20px;}
 .benefit-panel {padding:24px;}
 body.v3-site .benefit-panel img {height:auto;max-height:300px;}
 body.v3-site .benefit-panel p {min-height:0;}
}
body.v3-site #oil-product {scroll-margin-top:115px;}
/* October 21: enclosure customization and consistent hero actions. */
body.v3-site .hero .hero-actions .button {color:#fff;background:transparent;border:1px solid #ffffffa3;border-radius:8px;min-height:48px;padding:0 21px;margin:0;}
body.v3-site .hero .hero-actions .button:hover {background:#ffffff1f;}
body.v3-site .custom-stage-original.show-custom-sketch {background:#f3efe5;}
body.v3-site .custom-stage-original.show-custom-sketch img {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:3/2;object-fit:contain;}
body.v3-site [data-custom-description][hidden] {display:none;}
body.v3-site .swatch-custom::before {border-radius:3px;background:linear-gradient(135deg,#e2d7bf,#758b79);border:1px solid #6f8275;}
@media(max-width:767px) {body.v3-site .hero .hero-actions .button {padding-inline:16px;}}
body.v3-site .custom-swatches .swatch-custom {color:var(--v3-ink);}
body.v3-site [data-custom-description=custom] h3 {max-width:none;text-wrap:balance;}
/* Current cabinet photography, October 25. */
.cabinet-current-views {display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:780px;margin:42px auto 0;}
.cabinet-current-views figure {margin:0;background:var(--v3-soft);padding:24px;border-radius:12px;}
.cabinet-current-views img {display:block;width:100%;height:300px;object-fit:contain;}
body.v3-site .model-card-back dd {overflow-wrap:anywhere;}
@media(max-width:600px){.cabinet-current-views {gap:12px;}.cabinet-current-views figure {padding:12px;}.cabinet-current-views img {height:200px;}}
/* October 26: glass surfaces and accurate product colors. */
body.v3-site {--glass-nav:rgba(250,253,251,.76);--glass-panel:rgba(250,253,251,.86);--glass-edge:rgba(255,255,255,.65);}
body.v3-site .site-header {background:var(--glass-nav);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%);box-shadow:0 8px 30px #173f3014,inset 0 1px 0 #ffffff66;}
body.v3-site :is(.contact-modal-panel,.editorial-drawer,.detail-card) {background:var(--glass-panel);color:var(--v3-ink);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);box-shadow:0 20px 60px #173f3029;}
body.v3-site .contact-modal-backdrop,body.v3-site .editorial-drawer::backdrop {background:rgba(13,32,25,.32);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);}
body.v3-site .model-card img,body.v3-site .rd-product-original img {mix-blend-mode:normal;opacity:1;filter:none;}
body.v3-site .model-card-front {isolation:isolate;}
body.v3-site .lang-toggle {white-space:nowrap;}
@media(max-width:1024px){body.v3-site .nav-links {background:var(--glass-panel);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);}}
@media(prefers-color-scheme:dark){body.v3-site {--glass-nav:rgba(27,56,46,.84);--glass-panel:rgba(27,56,46,.94);--glass-edge:rgba(194,224,208,.22);}body.v3-site .contact-modal-panel .footer-contact-row strong {color:var(--v3-ink);}}
@supports not (backdrop-filter:blur(1px)){body.v3-site :is(.site-header,.contact-modal-panel,.editorial-drawer,.detail-card) {background:var(--v3-surface);}}
@media(prefers-reduced-transparency:reduce){body.v3-site :is(.site-header,.nav-links,.contact-modal-panel,.editorial-drawer,.detail-card){background:var(--v3-surface);-webkit-backdrop-filter:none;backdrop-filter:none;}}
@media(max-width:1024px){body.v3-site .nav-links {background:rgba(250,253,251,.96);}}
@media(max-width:1024px) and (prefers-color-scheme:dark){body.v3-site .nav-links {background:rgba(27,56,46,.97);}}
/* Expanded menu: translucent glass; compact, text-aligned nav indicators. */
body.v3-site .nav-links>a::after {left:50%;right:auto;width:24px;transform:translateX(-50%) scaleX(0);transform-origin:center;}
body.v3-site .nav-links>a:is(:hover,[aria-current])::after {transform:translateX(-50%) scaleX(1);}
@media(max-width:1024px){
 body.v3-site .nav-links {background:rgba(250,253,251,.58);-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%);}
 body.v3-site .nav-links>a {width:max-content;max-width:100%;justify-self:start;}
 body.v3-site .nav-links>a::after {display:block;bottom:6px;}
 /* Give the dropdown its own backdrop rather than nesting inside a blurred parent. */
 body.v3-site:has(.menu-toggle[aria-expanded=true]) .site-header {background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
 body.v3-site:has(.menu-toggle[aria-expanded=true]) .site-header::before {content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass-nav);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:none;}
}
@media(max-width:1024px) and (prefers-color-scheme:dark){body.v3-site .nav-links {background:rgba(27,56,46,.64);}}
@media(prefers-reduced-transparency:reduce){body.v3-site .nav-links {background:var(--v3-surface);-webkit-backdrop-filter:none;backdrop-filter:none;}}
/* Corrected: underline the actual label, never the grid cell. */
body.v3-site .nav-links>a::after {content:none;display:none;}
body.v3-site .nav-links>a {text-decoration:none;text-underline-offset:8px;text-decoration-thickness:2px;text-decoration-skip-ink:none;}
body.v3-site .nav-links>a:is(:hover,:focus-visible,[aria-current]) {text-decoration-line:underline;text-decoration-color:var(--v3-accent);}
/* Target the expanded navigation panel at every menu breakpoint. */
body.v3-site .site-header.is-menu-open {background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
body.v3-site .site-header.is-menu-open::before {content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass-nav);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:none;}
body.v3-site .site-header.is-menu-open .nav-links {background:rgba(250,253,251,.48);border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%);}
@media(prefers-color-scheme:dark){body.v3-site .site-header.is-menu-open .nav-links {background:rgba(27,56,46,.58);}}
@media(prefers-reduced-transparency:reduce){body.v3-site .site-header.is-menu-open .nav-links {background:var(--v3-surface);-webkit-backdrop-filter:none;backdrop-filter:none;}}
