:root{--accent:#5F91BF;--warm:#FEF898;--warm-soft:rgba(254,248,152,.55);--ink:#172d3c;--text:#425663;--muted:#7891a2;--paper:#fff;--soft:#f2f6f8;--line:rgba(53,75,85,.18);--sans:"Noto Sans JP",sans-serif;--serif:"Noto Serif JP",serif;--latin:"DM Sans",sans-serif;--content:1240px;--edge:clamp(22px,7vw,110px)}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--paper);font-family:var(--sans);font-size:max(12px,16px);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
button{font:inherit}
.micro{margin:0 0 22px;color:var(--muted);font-family:var(--latin);font-size:max(12px,12px);font-weight:600;letter-spacing:.24em}
/* Shared header */
/* Shared menu */
/* Compact lower-page masthead */
.page-mast{position:relative;isolation:isolate;min-height:410px;padding:122px var(--edge) 54px;box-sizing:border-box;overflow:hidden;background:linear-gradient(135deg,#f7fafb 0%,#fff 64%)}
.page-mast-copy{position:relative;z-index:3;width:min(47vw,700px)}
.page-mast h1{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(50px,5.8vw,80px));font-weight:400;line-height:1.15;letter-spacing:-.045em}
.page-lead{margin:26px 0 0;color:#2e4b5d;font-family:var(--serif);font-size:max(12px,clamp(19px,1.8vw,26px));line-height:1.72}
.page-mast-rule{position:absolute;z-index:2;top:clamp(200px,17vw,230px);left:clamp(510px,38vw,760px);width:clamp(150px,27vw,520px);height:1px;background:rgba(95,145,191,.72)}
.page-mast-word{position:absolute;z-index:0;left:clamp(22px,4vw,80px);bottom:-.2em;color:transparent;font-family:var(--latin);font-size:max(12px,clamp(150px,24vw,390px));font-weight:500;line-height:.82;letter-spacing:-.08em;white-space:nowrap;-webkit-text-stroke:1px rgba(95,145,191,.16)}
.page-mast-drops{position:absolute;z-index:1;top:-31%;right:-5%;width:min(44vw,650px);height:auto;opacity:.25;object-fit:contain;pointer-events:none;filter:saturate(.55) hue-rotate(12deg);mix-blend-mode:multiply;transform:rotate(-2deg)}
.breadcrumb{display:flex;gap:14px;max-width:var(--content);margin:0 auto;padding:24px var(--edge);color:var(--muted);font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.12em}
.breadcrumb a{transition:color .3s}
.breadcrumb a:hover{color:var(--accent)}
/* Page content */
.section-shell{max-width:var(--content);margin:0 auto;padding:120px var(--edge)}
.section-rule{border-top:1px solid var(--line)}
.intro{display:grid;grid-template-columns:.42fr 1fr;gap:8vw}
.section-side{display:flex;align-items:flex-start;gap:22px}
.section-line{display:block;width:80px;height:1px;margin-top:9px;background:var(--accent)}
.intro h2,.history h2,.record-feature h2,.section-heading h2{margin:0 0 36px;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,4.8vw,66px));font-weight:400;line-height:1.4;letter-spacing:-.04em}
.intro-copy{max-width:770px}
.intro-copy p,.history-copy p,.record-feature-copy p{max-width:660px}
.lead-serif{margin:0 0 28px;color:#2e4b5d;font-family:var(--serif);font-size:max(12px,clamp(21px,2.2vw,30px));line-height:1.9}
.history,.record-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,380px);gap:clamp(54px,7vw,100px);align-items:center}
.record-photo{width:100%;max-width:380px;margin:0;justify-self:end}
.record-photo img{width:100%;aspect-ratio:1.618/1;height:auto;object-fit:cover;filter:saturate(.58) contrast(.94)}
.record-photo figcaption{margin-top:13px;color:var(--muted);font-size:max(12px,11px);line-height:1.65}
.record-photo-small{max-width:340px}
.record-photo-small img{aspect-ratio:1.618/1;height:auto}
.section-heading{display:grid;grid-template-columns:1fr .7fr;gap:7vw;align-items:end;margin-bottom:66px}
.section-heading .micro{grid-column:1/-1;margin-bottom:-18px}
.section-heading h2{margin:0;white-space:nowrap}
.section-heading>p:last-child{margin:0 0 8px}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.activity-item{padding:36px 34px 30px 0;border-bottom:1px solid var(--line)}
.activity-item+.activity-item{padding-left:34px;border-left:1px solid var(--line)}
.activity-item span{color:var(--accent);font-family:var(--latin);font-size:max(12px,11px);letter-spacing:.18em}
.activity-item h3{margin:16px 0 18px;color:#2e4b5d;font-family:var(--serif);font-size:max(12px,clamp(24px,2.4vw,34px));font-weight:500}
.activity-item p{margin:0}
.record-feature-copy{max-width:680px}
/* Shared buttons */
.line-link,.round-link{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;width:min(100%,300px);min-height:62px;margin-top:24px;padding:0 30px 0 34px;box-sizing:border-box;color:#fff;background:var(--accent);border:1.5px solid var(--accent);border-radius:999px;font-size:max(12px,16px);font-weight:700;letter-spacing:.02em;transition:color .38s ease,border-color .38s ease,box-shadow .38s ease}
.line-link::before,.round-link::before{content:"";position:absolute;inset:-2px;z-index:0;background:#fff;clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path .52s cubic-bezier(.22,1,.36,1)}
.button-label,.button-arrow{position:relative;z-index:1}
.button-arrow{font-size:max(12px,21px);line-height:1;transition:transform .42s cubic-bezier(.22,1,.36,1)}
.line-link:hover,.round-link:hover{color:var(--accent);box-shadow:0 12px 32px rgba(48,91,126,.18)}
.line-link:hover::before,.round-link:hover::before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.line-link:hover .button-arrow,.round-link:hover .button-arrow{transform:translateX(6px)}
.profile{display:grid;grid-template-columns:.55fr 1fr;gap:7vw}
.profile .section-heading{display:block;margin:0}
.profile-list{margin:0;border-top:1px solid var(--line)}
.profile-list div{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.profile-list dt{color:var(--muted);font-family:var(--latin);font-size:max(12px,11px);font-weight:600;letter-spacing:.1em}
.profile-list dd{margin:0;color:#2e4b5d}
.text-links{grid-column:2;display:flex;gap:36px;flex-wrap:wrap}
.text-links a{display:inline-flex;align-items:center;gap:22px;padding-bottom:6px;border-bottom:1px solid var(--accent);color:#2e4b5d;font-weight:700}
.text-links i{font-style:normal;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.text-links a:hover i{transform:translateX(7px)}
/* Shared TOP button */
/* Shared footer */
.reveal{opacity:0;clip-path:inset(0 0 14% 0);transition:opacity .72s ease,clip-path .88s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;clip-path:inset(0)}
@media(max-width:1180px){.page-mast-copy{width:min(54vw,620px)}
.page-mast-drops{right:-11%;width:min(52vw,600px)}}
@media(max-width:900px){.page-mast{min-height:390px;padding-top:112px}
.page-mast-rule{left:52vw;width:25vw}
.page-mast-drops{top:-18%;right:-16%;width:62vw}
.intro{grid-template-columns:1fr}
.section-side{margin-bottom:-40px}
.history,.record-feature{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:6vw}
.activity-grid{grid-template-columns:1fr}
.activity-item+.activity-item{padding-left:0;border-left:0}
.section-heading{grid-template-columns:1fr}
.section-heading .micro{grid-column:auto;margin-bottom:0}
.section-heading h2{white-space:normal}
.profile{grid-template-columns:1fr}
.text-links{grid-column:1}}
@media(max-width:680px){body{font-size:max(12px,15px);line-height:1.85}
.page-mast{min-height:330px;padding:102px 22px 42px}
.page-mast-copy{width:82%}
.page-mast h1{font-size:max(12px,48px)}
.page-lead{margin-top:18px;font-size:max(12px,20px)}
.page-mast-rule{top:184px;left:58%;width:21%;opacity:.7}
.page-mast-word{left:10px;bottom:6px;font-size:max(12px,38vw);-webkit-text-stroke-color:rgba(95,145,191,.13)}
.page-mast-drops{top:-3%;right:-30%;width:76vw;opacity:.25}
.breadcrumb{padding:17px 22px}
.section-shell{padding:84px 22px}
.intro h2,.history h2,.record-feature h2,.section-heading h2{font-size:max(12px,40px)}
.lead-serif{font-size:max(12px,21px)}
.history,.record-feature{grid-template-columns:1fr}
.record-photo,.record-photo-small{width:min(100%,420px);max-width:none;justify-self:stretch;margin-top:24px}
.record-photo img,.record-photo-small img{width:100%;aspect-ratio:1.618/1;height:auto}
.record-photo figcaption{font-size:max(12px,11px)}
.section-heading{gap:18px;margin-bottom:42px}
.section-heading h2{font-size:max(12px,39px)}
.activity-item{padding:27px 0}
.activity-item h3{font-size:max(12px,28px)}
.profile-list div{grid-template-columns:90px 1fr;gap:15px}
.text-links{gap:24px}
.line-link,.round-link{min-height:58px;padding-inline:25px;font-size:max(12px,15px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;clip-path:none;transition:none}
.line-link,.round-link,.line-link::before,.round-link::before,.button-arrow{transition:none}}
/* Lower-page editorial system */
.page-mast[data-word] .page-mast-word{letter-spacing:-.07em}
.page-note{max-width:760px;margin:0;color:var(--text)}
.eyebrow-row{display:flex;align-items:center;gap:18px;margin-bottom:28px}
.eyebrow-row::after{content:"";width:86px;height:1px;background:var(--accent)}
.editorial-heading{display:grid;grid-template-columns:minmax(240px,.62fr) 1fr;gap:8vw;align-items:end;margin-bottom:62px}
.editorial-heading h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,4.5vw,64px));font-weight:400;line-height:1.35;letter-spacing:-.045em}
.editorial-heading p{max-width:560px;margin:0}
.ink-link{display:inline-flex;align-items:center;gap:22px;padding:6px 0;border-bottom:1px solid var(--ink);color:var(--ink);font-weight:700}
.ink-link i{font-style:normal;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.ink-link:hover i{transform:translateX(8px)}
.source-note{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:max(12px,11px);line-height:1.8}
.source-note a{text-decoration:underline;text-underline-offset:4px}
/* Soap portal */
.portal-opening{display:grid;grid-template-columns:.72fr 1fr;gap:8vw;align-items:start}
.portal-opening h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(42px,5.2vw,74px));font-weight:400;line-height:1.35;letter-spacing:-.05em}
.portal-opening-copy{padding-top:18px}
.portal-opening-copy p:first-child{color:#2e4b5d;font-family:var(--serif);font-size:max(12px,clamp(20px,2vw,28px));line-height:1.85}
.compare-section{background:var(--soft)}
.compare-grid{display:grid;grid-template-columns:1fr 128px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compare-card{position:relative;padding:48px clamp(26px,4vw,58px) 52px;background:#fff;transition:background .42s ease,color .42s ease}
.compare-card:hover{background:#f8fbfd}
.compare-card h3{margin:12px 0 26px;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(30px,3.2vw,46px));font-weight:400}
.compare-card dl{margin:0}
.compare-card dl div{display:grid;grid-template-columns:88px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line)}
.compare-card dt{color:var(--muted);font-family:var(--latin);font-size:max(12px,10px);font-weight:600;letter-spacing:.12em}
.compare-card dd{margin:0;color:#2e4b5d}
.compare-divider{display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--latin);font-size:max(12px,12px);letter-spacing:.18em;writing-mode:vertical-rl}
.wash-flow{display:grid;grid-template-columns:repeat(5,1fr);margin-top:70px;border-top:1px solid var(--line)}
.wash-flow div{position:relative;padding:32px 22px 28px;border-right:1px solid var(--line)}
.wash-flow div:last-child{border-right:0}
.wash-flow span{display:block;margin-bottom:32px;color:var(--accent);font-family:var(--latin);font-size:max(12px,11px);letter-spacing:.16em}
.wash-flow strong{display:block;color:var(--ink);font-family:var(--serif);font-size:max(12px,20px);font-weight:500}
.wash-flow div:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:31px;z-index:2;color:var(--accent);background:var(--soft)}
.portal-products{background:#fff}
.portal-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.portal-product{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:border-color .35s,box-shadow .35s}
.portal-product:hover{border-color:var(--accent);box-shadow:0 20px 55px rgba(48,91,126,.11)}
.portal-product figure{aspect-ratio:1.18/1;margin:0;overflow:hidden;background:#edf3f6}
.portal-product img{width:100%;height:100%;object-fit:cover;filter:saturate(.62);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s}
.portal-product:hover img{transform:scale(1.035);filter:saturate(.82)}
.portal-product-copy{display:grid;grid-template-columns:1fr auto;gap:22px;padding:26px}
.portal-product-copy small{color:var(--accent);font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.14em}
.portal-product-copy h3{margin:9px 0 12px;color:var(--ink);font-family:var(--serif);font-size:max(12px,22px);font-weight:500;line-height:1.55}
.portal-product-copy p{grid-column:1;margin:0;color:var(--muted);font-size:max(12px,13px)}
.portal-product-copy i{grid-column:2;grid-row:1/3;align-self:center;color:var(--ink);font-style:normal;font-size:max(12px,22px);transition:transform .35s}
.portal-product:hover i{transform:translateX(7px)}
.scene-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.scene-index a{position:relative;min-height:210px;padding:28px;box-sizing:border-box;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .4s,color .4s}
.scene-index a::before{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .48s cubic-bezier(.22,1,.36,1)}
.scene-index a:hover::before{transform:scaleY(1)}
.scene-index span,.scene-index strong,.scene-index p{position:relative;z-index:1}
.scene-index span{font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.14em}
.scene-index strong{display:block;margin-top:58px;color:var(--ink);font-family:var(--serif);font-size:max(12px,24px);font-weight:500}
.scene-index p{margin:11px 0 0;font-size:max(12px,13px)}
.scene-index a:hover{color:#fff}
.scene-index a:hover strong{color:#fff}
.basics-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.basic-card{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:38px 32px 38px 0;border-bottom:1px solid var(--line)}
.basic-card:nth-child(even){padding-left:32px;border-left:1px solid var(--line)}
.basic-card span{color:var(--accent);font-family:var(--latin);font-size:max(12px,11px);letter-spacing:.14em}
.basic-card h3{margin:0 0 12px;color:var(--ink);font-family:var(--serif);font-size:max(12px,26px);font-weight:500}
.basic-card p{margin:0}
/* Reports and journal */
.archive-intro{display:grid;grid-template-columns:.72fr 1fr;gap:8vw;align-items:start}
.archive-intro h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,4.8vw,66px));font-weight:400;line-height:1.38}
.archive-intro p{max-width:620px;margin:12px 0 0}
.article-list{border-top:1px solid var(--line)}
.article-row{position:relative;display:grid;grid-template-columns:150px 180px 1fr 28px;gap:28px;align-items:center;padding:31px 18px;border-bottom:1px solid var(--line);transition:background .38s,padding-left .38s,padding-right .38s}
.article-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .38s}
.article-row:hover{padding-left:28px;padding-right:8px;background:#f7fafc}
.article-row:hover::before{transform:scaleY(1)}
.article-row time{font-family:var(--latin);font-size:max(12px,12px);letter-spacing:.1em}
.article-row .tag{width:max-content;padding:5px 10px;border:1px solid var(--accent);color:var(--accent);font-size:max(12px,10px);letter-spacing:.08em}
.article-row h2,.article-row h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(18px,2vw,27px));font-weight:500;line-height:1.65}
.article-row i{font-style:normal;font-size:max(12px,20px);transition:transform .35s}
.article-row:hover i{transform:translateX(6px)}
.feature-report{display:grid;grid-template-columns:180px 1fr;gap:8vw;padding:55px 0 70px;border-top:1px solid var(--line)}
.feature-report time{font-family:var(--latin);font-size:max(12px,12px);letter-spacing:.1em}
.feature-report h2{max-width:870px;margin:0 0 26px;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(30px,4vw,56px));font-weight:400;line-height:1.45}
.feature-report p{max-width:700px}
.archive-panel{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-top:70px;padding:38px 42px;color:#fff;background:var(--accent)}
.archive-panel h3{margin:0 0 8px;font-family:var(--serif);font-size:max(12px,26px);font-weight:500}
.archive-panel p{margin:0;color:rgba(255,255,255,.78)}
.archive-panel .ink-link{color:#fff;border-color:#fff}
.journal-years{display:grid;grid-template-columns:120px 1fr;gap:40px}
.journal-year{position:sticky;top:30px;align-self:start;color:var(--accent);font-family:var(--latin);font-size:max(12px,34px);letter-spacing:-.03em}
/* Supporters and contact */
.org-summary{display:grid;grid-template-columns:.7fr 1fr;gap:8vw}
.org-summary h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,4.6vw,64px));font-weight:400;line-height:1.4}
.org-facts{margin:0;border-top:1px solid var(--line)}
.org-facts div{display:grid;grid-template-columns:130px 1fr;gap:26px;padding:20px 0;border-bottom:1px solid var(--line)}
.org-facts dt{color:var(--muted);font-size:max(12px,12px)}
.org-facts dd{margin:0;color:#2e4b5d}
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.partner-grid a{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;min-height:112px;padding:24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:max(12px,20px);transition:background .4s,color .4s}
.partner-grid a:hover{color:#fff;background:var(--accent)}
.partner-grid i{font-style:normal;transition:transform .35s}
.partner-grid a:hover i{transform:translateX(7px)}
.contact-layout{display:grid;grid-template-columns:minmax(270px,.62fr) 1fr;gap:8vw;align-items:start}
.contact-aside{padding:36px;color:#fff;background:var(--accent)}
.contact-aside h2{margin:0 0 25px;font-family:var(--serif);font-size:max(12px,30px);font-weight:500}
.contact-aside p{color:rgba(255,255,255,.82)}
.contact-aside a{display:inline-block;margin-top:12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.65)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.form-field{display:grid;gap:9px}
.form-field.full{grid-column:1/-1}
.form-field label{color:var(--ink);font-size:max(12px,13px);font-weight:700}
.form-field em{color:var(--accent);font-style:normal;font-size:max(12px,10px)}
.form-field input,.form-field select,.form-field textarea{width:100%;box-sizing:border-box;padding:15px 16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;outline:0;font:inherit;transition:border-color .3s,box-shadow .3s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(95,145,191,.12)}
.form-field textarea{min-height:190px;resize:vertical}
.form-consent{grid-column:1/-1;margin:4px 0 0;font-size:max(12px,12px)}
.form-actions{grid-column:1/-1}
.form-actions button{cursor:pointer}
.form-status{grid-column:1/-1;min-height:1.7em;margin:0;color:var(--accent);font-size:max(12px,13px)}
@media(max-width:900px){.editorial-heading,.portal-opening,.archive-intro,.org-summary,.contact-layout{grid-template-columns:1fr}
.compare-grid{grid-template-columns:1fr}
.compare-divider{min-height:80px;writing-mode:horizontal-tb}
.wash-flow{grid-template-columns:1fr 1fr}
.wash-flow div:nth-child(2){border-right:0}
.wash-flow div:not(:last-child)::after{display:none}
.portal-product-grid{grid-template-columns:1fr 1fr}
.scene-index{grid-template-columns:1fr 1fr}
.article-row{grid-template-columns:110px 130px 1fr 24px}
.archive-panel{grid-template-columns:1fr}
.journal-years{grid-template-columns:1fr}
.journal-year{position:static}
.contact-aside{max-width:560px}}
@media(max-width:680px){.editorial-heading{gap:22px;margin-bottom:42px}
.editorial-heading h2{font-size:max(12px,42px)}
.portal-opening{gap:28px}
.portal-opening h2{font-size:max(12px,45px)}
.compare-card{padding:34px 22px}
.compare-card dl div{grid-template-columns:76px 1fr}
.wash-flow{grid-template-columns:1fr}
.wash-flow div{border-right:0}
.portal-product-grid{grid-template-columns:1fr}
.scene-index{grid-template-columns:1fr}
.scene-index a{min-height:170px}
.scene-index strong{margin-top:34px}
.basics-grid{grid-template-columns:1fr}
.basic-card,.basic-card:nth-child(even){grid-template-columns:48px 1fr;padding:28px 0;border-left:0}
.article-row{grid-template-columns:1fr 24px;gap:10px 16px;padding:25px 8px}
.article-row time,.article-row .tag{grid-column:1}
.article-row h2,.article-row h3{grid-column:1}
.article-row i{grid-column:2;grid-row:1/4;align-self:center}
.feature-report{grid-template-columns:1fr;gap:18px}
.feature-report h2{font-size:max(12px,34px)}
.archive-panel{padding:30px 24px}
.partner-grid{grid-template-columns:1fr}
.partner-grid a{min-height:96px;font-size:max(12px,18px)}
.contact-form{grid-template-columns:1fr}
.form-field.full,.form-consent,.form-actions,.form-status{grid-column:1}
.contact-aside{padding:28px 24px}}
/* Refined portal, news and network pages */
.page-mast--compact{min-height:350px;padding-top:116px;padding-bottom:42px}
.page-mast--compact h1{font-size:max(12px,clamp(44px,5vw,68px))}
.page-mast--compact .page-lead{margin-top:18px;font-size:max(12px,clamp(17px,1.5vw,22px))}
.page-mast--compact .page-mast-rule{top:187px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.drop-icon{display:block;width:24px;height:30px;flex:0 0 24px;background:rgba(95,145,191,.22);border:1px solid rgba(95,145,191,.34);border-radius:63% 37% 58% 42% / 67% 43% 57% 33%;transform:rotate(34deg)}
.center-heading{text-align:center;margin-bottom:54px}
.center-heading h2,.compact-heading h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(31px,3.4vw,46px));font-weight:400;line-height:1.35;letter-spacing:-.035em}
.center-heading p:last-child{max-width:620px;margin:18px auto 0}
.compact-heading{display:grid;grid-template-columns:minmax(260px,.75fr) 1fr;gap:7vw;align-items:end;margin-bottom:48px}
.compact-heading .micro{margin-bottom:14px}
.compact-heading>p{max-width:520px;margin:0}
.index-products{background:#f7fafb}
.index-section-heading{display:grid;grid-template-columns:1fr .7fr;gap:7vw;align-items:end;margin-bottom:52px}
.index-section-heading h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(31px,3.4vw,46px));font-weight:400;line-height:1.35;letter-spacing:-.035em}
.index-section-heading>p{margin:0}
.index-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.index-product-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(53,75,85,.13);clip-path:polygon(0 0,87% 0,100% 12%,100% 100%,0 100%);transition:border-color .42s,box-shadow .42s}
.index-product-card:hover{border-color:rgba(95,145,191,.55);box-shadow:0 24px 64px rgba(48,91,126,.12)}
.index-card-no{position:absolute;z-index:2;top:18px;left:18px;display:grid;place-items:center;width:42px;height:50px;color:#fff;background:rgba(95,145,191,.92);border-radius:62% 38% 58% 42% / 70% 42% 58% 30%;font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.08em;transform:rotate(12deg)}
.index-product-image{overflow:hidden;aspect-ratio:1.18/1;background:#eaf0f3}
.index-product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s}
.index-product-card:hover img{transform:scale(1.045);filter:saturate(.92)}
.index-product-meta{position:relative;display:flex;flex:1;flex-direction:column;padding:24px 55px 24px 24px}
.index-product-meta small{color:var(--accent);font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.14em}
.index-product-meta h3{margin:9px 0 12px;color:var(--ink);font-family:var(--serif);font-size:max(12px,20px);font-weight:500;line-height:1.55}
.index-product-meta span{margin-top:auto;color:var(--muted);font-size:max(12px,12px)}
.index-product-meta i{position:absolute;right:24px;bottom:24px;color:var(--ink);font-style:normal;font-size:max(12px,20px);transition:transform .38s cubic-bezier(.22,1,.36,1)}
.index-product-card:hover i{transform:translateX(7px)}
.soap-search-status{min-height:1.8em;margin:24px 0 0;color:var(--accent);text-align:center;font-size:max(12px,13px)}
.index-scenes{position:relative;isolation:isolate;overflow:hidden;padding:112px var(--edge);background:#edf4f8}
.index-scenes-drops{position:absolute;z-index:-1;right:-8%;top:-18%;width:min(46vw,650px);opacity:.1;filter:saturate(.5);transform:rotate(-9deg)}
.index-scenes-heading{max-width:var(--content);margin:0 auto 52px}
.index-scenes-heading h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(31px,3.4vw,46px));font-weight:400;line-height:1.35}
.index-scenes-heading p:last-child{max-width:630px;margin:18px 0 0}
.index-scene-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:var(--content);margin:0 auto}
.index-scene-card{display:grid;grid-template-columns:44% 1fr;min-height:250px;background:rgba(255,255,255,.86);border:1px solid rgba(53,75,85,.13);transition:background .4s,border-color .4s}
.index-scene-card:hover{background:#fff;border-color:rgba(95,145,191,.48)}
.index-scene-image{overflow:hidden}
.index-scene-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s}
.index-scene-card:hover img{transform:scale(1.04);filter:saturate(.85)}
.index-scene-content{position:relative;padding:28px 48px 28px 28px}
.index-scene-content span{color:var(--accent);font-family:var(--latin);font-size:max(12px,10px);font-weight:600;letter-spacing:.14em}
.index-scene-content strong{display:block;margin-top:14px;color:var(--ink);font-family:var(--serif);font-size:max(12px,22px);font-weight:500}
.index-scene-content p{margin:14px 0 0;font-size:max(12px,13px);line-height:1.75}
.index-scene-content i{position:absolute;right:24px;bottom:24px;color:var(--ink);font-style:normal;transition:transform .35s}
.index-scene-card:hover i{transform:translateX(6px)}
.soap-finder{position:relative}
.soap-finder::before,.soap-finder::after{content:"";position:absolute;pointer-events:none;background:rgba(95,145,191,.08);border-radius:64% 36% 58% 42% / 66% 43% 57% 34%;transform:rotate(24deg)}
.soap-finder::before{width:100px;height:128px;left:4%;top:15%}
.soap-finder::after{width:54px;height:70px;right:8%;bottom:13%;transform:rotate(-16deg)}
.soap-search-form{position:relative;z-index:1;display:grid;grid-template-columns:1fr 112px;max-width:760px;margin:0 auto}
.soap-search-form input{min-width:0;padding:18px 22px;color:var(--ink);background:#fff;border:1px solid rgba(53,75,85,.28);border-right:0;border-radius:0;outline:0;font:inherit}
.soap-search-form input:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.soap-search-form button{color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:color .4s,background .4s}
.soap-search-form button:hover{color:var(--accent);background:#fff}
.soap-search-form button span{display:inline-block;margin-left:8px;transition:transform .35s}
.soap-search-form button:hover span{transform:translateX(5px)}
.soap-tag-cloud{position:relative;z-index:1;display:flex;justify-content:center;flex-wrap:wrap;gap:14px 16px;max-width:800px;margin:28px auto 0}
.soap-tag-cloud button{padding:10px 19px;color:#3e6074;background:#fff;border:1px solid rgba(95,145,191,.55);border-radius:57% 43% 54% 46% / 61% 48% 52% 39%;cursor:pointer;transition:color .35s,background .35s,transform .35s}
.soap-tag-cloud button:nth-child(2n){border-radius:44% 56% 48% 52% / 54% 43% 57% 46%}
.soap-tag-cloud button:hover,.soap-tag-cloud button.is-active{color:#fff;background:var(--accent);transform:rotate(-1deg)}
.maker-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.maker-links a{display:grid;grid-template-columns:34px 1fr auto;gap:18px;align-items:center;min-height:90px;padding:20px 24px;border:1px solid var(--line);color:var(--ink);transition:background .4s,border-color .4s}
.maker-links a:hover{background:#f5f9fb;border-color:rgba(95,145,191,.48)}
.maker-links strong{font-family:var(--serif);font-size:max(12px,18px);font-weight:500}
.maker-links i{font-style:normal;transition:transform .35s}
.maker-links a:hover i{transform:translateX(6px)}
.news-intro{display:grid;grid-template-columns:minmax(280px,.85fr) 1fr;gap:8vw;align-items:end}
.news-intro h2{max-width:600px;margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(30px,3.4vw,46px));font-weight:400;line-height:1.5;letter-spacing:-.035em}
.news-intro>p{max-width:610px;margin:0}
.news-feature{display:grid;grid-template-columns:minmax(340px,.92fr) 1fr;gap:0;min-height:340px;border:1px solid var(--line);background:#fff;transition:border-color .42s,background .42s}
.news-feature:hover,.news-card:hover{background:#f8fbfd;border-color:rgba(95,145,191,.5)}
.news-thumb{overflow:hidden;aspect-ratio:1.55/1;background:#eaf1f5}
.news-feature .news-thumb{aspect-ratio:auto}
.news-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.58) contrast(.96);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s}
.news-feature:hover img,.news-card:hover img{transform:scale(1.035);filter:saturate(.78)}
.news-thumb--graphic{display:grid;place-items:center;background:#eaf2f7}
.news-thumb--graphic img{width:80%;height:80%;object-fit:contain;opacity:.55}
.news-copy{position:relative;padding:34px 68px 32px 34px}
.news-meta{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.news-meta time{color:var(--muted);font-family:var(--latin);font-size:max(12px,11px);letter-spacing:.1em}
.news-meta span{padding:3px 9px;border:1px solid rgba(95,145,191,.5);color:var(--accent);font-size:max(12px,10px)}
.news-copy h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(19px,2vw,27px));font-weight:500;line-height:1.65}
.news-copy p{margin:18px 0 0;font-size:max(12px,13px)}
.news-copy i{position:absolute;right:28px;bottom:28px;color:var(--ink);font-style:normal;font-size:max(12px,20px);transition:transform .35s}
.news-feature:hover i,.news-card:hover i{transform:translateX(6px)}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:22px}
.news-card{display:grid;grid-template-columns:42% 1fr;min-height:230px;border:1px solid var(--line);background:#fff;transition:border-color .42s,background .42s}
.news-card .news-thumb{aspect-ratio:auto}
.news-card .news-copy{padding:26px 50px 24px 24px}
.news-card .news-copy h3{font-size:max(12px,18px)}
.news-archive{display:grid;grid-template-columns:34px 1fr auto;gap:24px;align-items:center;margin-top:54px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.news-archive h3,.network-cta h3{margin:0 0 6px;color:var(--ink);font-family:var(--serif);font-size:max(12px,22px);font-weight:500}
.news-archive p,.network-cta p{margin:0;font-size:max(12px,13px)}
.article-row::before{display:none}
.article-row:hover{padding-left:18px;padding-right:18px;background:#f7fafc}
.org-summary{grid-template-columns:minmax(300px,.8fr) 1fr}
.org-summary h2{font-size:max(12px,clamp(30px,3.4vw,46px));line-height:1.55}
.network-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.network-item{display:grid;grid-template-columns:34px 1fr auto;gap:18px;align-items:center;min-height:82px;padding:18px 22px;border:1px solid var(--line);color:var(--ink);transition:background .4s,border-color .4s}
.network-item:nth-child(3n+2) .drop-icon{transform:rotate(58deg);border-radius:47% 53% 62% 38% / 56% 41% 59% 44%}
.network-item:nth-child(3n) .drop-icon{transform:rotate(18deg);width:21px;height:27px}
.network-item:hover{background:#f5f9fb;border-color:rgba(95,145,191,.5)}
.network-item strong{font-family:var(--serif);font-size:max(12px,17px);font-weight:500}
.network-item i{font-style:normal;transition:transform .35s}
.network-item:hover i{transform:translateX(6px)}
.network-list--related{grid-template-columns:repeat(3,1fr)}
.network-cta{display:grid;grid-template-columns:34px 1fr auto;gap:24px;align-items:center;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.network-cta .line-link{margin:0}
@media(max-width:900px){.index-section-heading,.compact-heading,.news-intro{grid-template-columns:1fr;gap:20px}
.index-product-grid{grid-template-columns:repeat(2,1fr)}
.index-scene-card{grid-template-columns:40% 1fr}
.maker-links{grid-template-columns:1fr}
.news-feature{grid-template-columns:44% 1fr}
.news-grid{grid-template-columns:1fr}
.network-list--related{grid-template-columns:1fr}
.network-cta{grid-template-columns:34px 1fr}
.network-cta .line-link{grid-column:2}}
@media(max-width:680px){.page-mast--compact{min-height:285px;padding-top:94px;padding-bottom:34px}
.page-mast--compact h1{font-size:max(12px,40px)}
.page-mast--compact .page-lead{font-size:max(12px,17px)}
.page-mast--compact .page-mast-rule{top:161px}
.index-products{padding-top:78px;padding-bottom:78px}
.index-section-heading{margin-bottom:34px}
.index-section-heading h2,.index-scenes-heading h2,.center-heading h2,.compact-heading h2{font-size:max(12px,32px)}
.index-product-grid{grid-template-columns:1fr}
.index-product-meta h3{font-size:max(12px,19px)}
.index-scenes{padding:78px 22px}
.index-scene-list{grid-template-columns:1fr}
.index-scene-card{grid-template-columns:1fr;min-height:0}
.index-scene-image{aspect-ratio:1.65/1}
.index-scene-content{padding:24px 50px 26px 22px}
.index-scene-content strong{font-size:max(12px,21px)}
.soap-search-form{grid-template-columns:1fr 88px}
.soap-search-form input{padding:16px 14px;font-size:max(12px,14px)}
.soap-tag-cloud{gap:10px}
.soap-tag-cloud button{padding:9px 14px;font-size:max(12px,13px)}
.maker-links a{min-height:78px;padding:16px 18px}
.news-feature{grid-template-columns:1fr;min-height:0}
.news-feature .news-thumb{aspect-ratio:1.55/1}
.news-feature .news-copy{padding:25px 52px 28px 22px}
.news-grid{gap:16px;margin-top:16px}
.news-card{grid-template-columns:38% 1fr;min-height:178px}
.news-card .news-copy{padding:20px 42px 20px 18px}
.news-card .news-copy h3{font-size:max(12px,16px);line-height:1.55}
.news-meta{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:12px}
.news-copy i{right:18px;bottom:20px}
.news-archive{grid-template-columns:30px 1fr;gap:16px}
.news-archive .ink-link{grid-column:2}
.org-summary h2{font-size:max(12px,32px)}
.org-facts div{grid-template-columns:76px 1fr;gap:16px}
.network-list{grid-template-columns:1fr;gap:10px}
.network-item{min-height:72px;padding:14px 16px}
.network-item strong{font-size:max(12px,16px)}
.network-cta{grid-template-columns:28px 1fr;gap:16px}
.network-cta .line-link{grid-column:1/-1;width:100%}}
/* Editorial refinement: remove repeated organic badges and use real-photo water light sparingly */
.drop-icon{display:none}
.soap-finder::before,.soap-finder::after{display:none}
.index-card-no{top:17px;left:17px;display:block;width:auto;height:auto;padding:4px 8px;color:#fff;background:rgba(23,45,60,.86);border-radius:0;transform:none;letter-spacing:.12em}
.soap-tag-cloud button,.soap-tag-cloud button:nth-child(2n){border-radius:0;transform:none}
.soap-tag-cloud button:hover,.soap-tag-cloud button.is-active{transform:none}
.maker-links a{grid-template-columns:1fr auto}
.network-item{grid-template-columns:1fr auto}
.network-item:nth-child(3n+2) .drop-icon,.network-item:nth-child(3n) .drop-icon{display:none}
.network-cta{grid-template-columns:1fr auto}
.news-archive{grid-template-columns:1fr auto}
.index-scene-content strong{margin-top:0}
.index-product-meta small{font-family:var(--sans);letter-spacing:.06em}
.news-feature--water-light .news-thumb,.feature-report-photo{position:relative;isolation:isolate;background:#eef4f7}
.news-feature--water-light .news-thumb{padding-bottom:72px}
.news-feature--water-light .news-thumb>img{height:calc(100% - 72px);min-height:260px}
.photo-water-light{position:absolute;z-index:2;left:5%;right:-4%;bottom:0;height:104px;background:url("assets/images/water-soap.jpg") center 77%/cover no-repeat;opacity:.2;filter:saturate(.28) contrast(.88) brightness(1.08);mix-blend-mode:multiply;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 48%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 48%,#000 100%)}
.feature-report--with-photo{grid-template-columns:120px minmax(230px,330px) 1fr;gap:clamp(28px,4vw,58px);align-items:center}
.feature-report-photo{min-width:0;margin:0;padding-bottom:58px;overflow:hidden}
.feature-report-photo>img{width:100%;aspect-ratio:1.55/1;height:auto;object-fit:cover;filter:saturate(.55) contrast(.94)}
.feature-report-photo .photo-water-light{left:7%;right:-8%;height:86px;opacity:.18}
.feature-report--with-photo h2{font-size:max(12px,clamp(25px,3vw,42px))}
@media(max-width:900px){.feature-report--with-photo{grid-template-columns:100px minmax(210px,280px) 1fr;gap:28px}
.network-cta{grid-template-columns:1fr auto}
.network-cta .line-link{grid-column:auto}
.news-archive{grid-template-columns:1fr auto}}
@media(max-width:680px){.news-feature--water-light .news-thumb{aspect-ratio:auto;padding-bottom:56px}
.news-feature--water-light .news-thumb>img{min-height:0;aspect-ratio:1.55/1;height:auto}
.photo-water-light{height:78px;opacity:.18}
.feature-report--with-photo{grid-template-columns:1fr;gap:18px}
.feature-report-photo{width:100%;padding-bottom:50px}
.feature-report-photo>img{aspect-ratio:1.55/1}
.feature-report--with-photo h2{font-size:max(12px,30px)}
.news-archive{grid-template-columns:1fr}
.news-archive .ink-link{grid-column:1}
.network-cta{grid-template-columns:1fr}
.network-cta .line-link{grid-column:1;width:100%}}
/* Water narrative — irregular motion that connects sections without decorative ovals */
main{position:relative;overflow:hidden}
h1,h2,h3{text-wrap:balance}
.section-heading h2,.editorial-heading h2,.index-section-heading h2,.index-scenes-heading h2,.center-heading h2,.compact-heading h2,.archive-intro h2,.news-intro h2,.org-summary h2{max-width:18em}
.story-current{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--soft) 0,var(--soft) 52%,#f7fafb 52%,#f7fafb 100%)}
.story-current .compare-section,.story-current .index-products{position:relative;z-index:2;background:transparent}
.current-ripple{position:absolute;z-index:0;aspect-ratio:1;border:1px solid rgba(95,145,191,.16);border-radius:50%;pointer-events:none}
.current-ripple::before,.current-ripple::after{content:"";position:absolute;border:1px solid rgba(95,145,191,.11);border-radius:50%}
.current-ripple::before{inset:13%}
.current-ripple::after{inset:29%}
.current-ripple--one{width:clamp(420px,52vw,860px);right:-25%;top:38%;transform:scaleY(.28) rotate(-7deg)}
.current-ripple--two{width:clamp(260px,32vw,520px);left:-14%;top:69%;transform:scaleY(.32) rotate(11deg);opacity:.72}
.current-drop{position:absolute;z-index:1;width:18px;height:25px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(95,145,191,.18));border:1px solid rgba(95,145,191,.18);border-radius:72% 28% 62% 38% / 74% 34% 66% 26%;pointer-events:none}
.current-drop--one{right:9%;top:51%;transform:rotate(28deg)}
.current-drop--two{left:7%;top:78%;width:11px;height:16px;transform:rotate(-19deg);opacity:.7}
/* The comparison is a diagram, not two blocks of explanatory prose */
.compare-visual{position:relative;padding:58px clamp(28px,5vw,78px) 46px;background:rgba(255,255,255,.86);border:1px solid rgba(53,75,85,.13);box-shadow:0 28px 80px rgba(50,84,105,.07);backdrop-filter:blur(5px)}
.compare-common{display:flex;justify-content:center;align-items:center;gap:24px;text-align:left}
.compare-common small{display:block;margin-bottom:7px;color:var(--accent);font-size:max(12px,11px);font-weight:700;letter-spacing:.12em}
.compare-common strong{display:block;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(18px,2vw,25px));font-weight:500;line-height:1.65}
.compare-common-icon{position:relative;width:86px;height:86px;flex:0 0 86px;border:1px solid rgba(95,145,191,.3);background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(203,225,237,.42));transform:rotate(-4deg)}
.compare-common-icon::before{content:"";position:absolute;left:14px;right:14px;top:42px;border-top:1px solid rgba(95,145,191,.65);transform:rotate(-8deg)}
.compare-common-icon i{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(95,145,191,.65)}
.compare-common-icon i:nth-child(1){left:20px;top:28px}
.compare-common-icon i:nth-child(2){right:18px;top:51px}
.compare-common-icon i:nth-child(3){left:39px;bottom:15px}
.compare-path{position:relative;width:50%;height:58px;margin:15px auto 0;border-left:1px solid rgba(95,145,191,.45);border-right:1px solid rgba(95,145,191,.45)}
.compare-path span{position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(95,145,191,.45)}
.compare-path i{position:absolute;bottom:-4px;width:9px;height:9px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}
.compare-path i:nth-of-type(1){left:-5px}
.compare-path i:nth-of-type(2){right:-5px}
.compare-choices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,42px)}
.compare-choice{position:relative;display:grid;grid-template-columns:82px 1fr;gap:22px;padding:30px;background:rgba(247,250,252,.86);border-top:2px solid rgba(95,145,191,.75)}
.compare-choice--detergent{background:rgba(250,250,249,.9);border-top-color:rgba(59,77,88,.55)}
.compare-symbol{position:relative;width:72px;height:86px}
.soap-block{position:absolute;left:3px;bottom:7px;width:62px;height:52px;background:linear-gradient(145deg,#fff,rgba(174,209,227,.5));border:1px solid rgba(95,145,191,.35);box-shadow:inset -8px -8px 18px rgba(95,145,191,.08)}
.soap-bubble{position:absolute;border:1px solid rgba(95,145,191,.48);border-radius:50%}
.soap-bubble--a{width:16px;height:16px;right:0;top:7px}
.soap-bubble--b{width:9px;height:9px;right:24px;top:0}
.bottle-body{position:absolute;left:12px;bottom:4px;width:45px;height:62px;border:1px solid rgba(52,73,85,.4);background:rgba(255,255,255,.66)}
.bottle-cap{position:absolute;left:22px;top:4px;width:25px;height:17px;background:rgba(52,73,85,.52)}
.bottle-wave{position:absolute;left:18px;right:21px;bottom:24px;height:8px;border-top:1px solid rgba(95,145,191,.7);transform:skewY(-10deg)}
.compare-label{margin:0 0 7px;color:var(--accent);font-size:max(12px,12px);font-weight:700;letter-spacing:.12em}
.compare-choice h3{margin:0 0 20px;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(21px,2vw,29px));font-weight:500}
.compare-choice dl{margin:0}
.compare-choice dl div{display:grid;grid-template-columns:78px 1fr;gap:13px;padding:11px 0;border-top:1px solid var(--line)}
.compare-choice dt{color:var(--muted);font-size:max(12px,11px)}
.compare-choice dd{margin:0;color:#2e4b5d;font-size:max(12px,13px);line-height:1.7}
.package-check{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;margin-top:2px;padding:16px 18px;background:#fff;border:1px solid rgba(53,75,85,.14)}
.package-check small{grid-column:1/-1;margin-bottom:6px;color:var(--muted);font-size:max(12px,10px)}
.package-check strong{color:var(--ink);font-size:max(12px,14px)}
.package-check span{color:var(--accent);font-size:max(12px,11px)}
.compare-note{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;margin:32px 0 0;padding-top:25px;border-top:1px solid var(--line);font-size:max(12px,13px)}
.compare-note strong{color:var(--ink);white-space:nowrap}
.compare-note span{max-width:760px}
.flow-story{display:grid;grid-template-columns:minmax(220px,.34fr) 1fr;gap:clamp(42px,6vw,90px);align-items:start;margin-top:78px;padding-top:72px;border-top:1px solid rgba(95,145,191,.27)}
.flow-story-head p{margin:0 0 12px;color:var(--accent);font-size:max(12px,11px);font-weight:700;letter-spacing:.1em}
.flow-story-head h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(27px,3vw,42px));font-weight:400;line-height:1.55}
.wash-flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;border:0}
.wash-flow::before{content:"";position:absolute;left:7%;right:7%;top:36px;height:1px;background:linear-gradient(90deg,rgba(95,145,191,.2),rgba(95,145,191,.7),rgba(95,145,191,.2))}
.wash-flow li{position:relative;z-index:1;min-width:0;padding:0 12px;list-style:none;text-align:center;border:0}
.wash-flow li:not(:last-child)::after{content:"";position:absolute;top:32px;right:-4px;width:7px;height:7px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg);background:var(--soft)}
.wash-flow small{display:block;margin:12px 0 5px;color:var(--accent);font-size:max(12px,9px);letter-spacing:.12em}
.wash-flow strong{font-size:max(12px,16px);line-height:1.45}
.wash-flow p{margin:7px 0 0;color:var(--muted);font-size:max(12px,10px);line-height:1.55}
.flow-icon{position:relative;display:block;width:70px;height:70px;margin:0 auto;background:rgba(255,255,255,.94);border:1px solid rgba(95,145,191,.35)}
.flow-icon::before,.flow-icon::after{content:"";position:absolute}
.flow-icon--wash::before{left:14px;right:14px;bottom:17px;height:17px;border:1px solid var(--accent);border-top:0}
.flow-icon--wash::after{left:23px;top:16px;width:22px;height:18px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:skewX(-12deg)}
.flow-icon--drain::before{left:15px;right:15px;top:19px;height:24px;border:1px solid var(--accent)}
.flow-icon--drain::after{left:23px;right:23px;top:27px;height:1px;background:var(--accent);box-shadow:0 6px var(--accent),0 12px var(--accent)}
.flow-icon--plant::before{left:15px;right:15px;bottom:16px;height:30px;border:1px solid var(--accent);clip-path:polygon(0 34%,30% 34%,30% 0,48% 0,48% 34%,100% 34%,100% 100%,0 100%)}
.flow-icon--plant::after{left:23px;right:23px;bottom:24px;height:1px;background:var(--accent);box-shadow:0 7px var(--accent)}
.flow-icon--river::before{left:13px;right:13px;top:27px;height:13px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:skewY(-7deg)}
.flow-icon--river::after{left:20px;top:18px;width:7px;height:10px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}
.flow-icon--cycle::before{left:18px;top:16px;width:32px;height:32px;border:1px solid var(--accent);border-left-color:transparent;border-radius:50%}
.flow-icon--cycle::after{left:15px;top:16px;width:7px;height:7px;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(36deg)}
/* Oversized, shifted water-light fields: deliberately unlike the rejected stacked strip */
.news-section,.section-shell[aria-label="活動報告一覧"]{position:relative;isolation:isolate}
.news-feature--water-light,.feature-report--with-photo{position:relative;isolation:isolate;overflow:visible}
.news-feature--water-light .news-thumb,.feature-report-photo{overflow:visible;padding-bottom:0;background:transparent}
.news-feature--water-light .news-thumb>img,.feature-report-photo>img{position:relative;z-index:2;height:100%;min-height:0;filter:saturate(.55) contrast(.94)}
.news-feature--water-light .photo-water-light,.feature-report-photo .photo-water-light{z-index:1;left:auto;right:-48%;bottom:-42%;width:210%;height:125%;background-position:center 73%;opacity:.15;filter:saturate(.22) contrast(.82) brightness(1.12);mix-blend-mode:multiply;transform:rotate(-2.5deg);-webkit-mask-image:linear-gradient(105deg,transparent 0,#000 24%,#000 70%,transparent 100%);mask-image:linear-gradient(105deg,transparent 0,#000 24%,#000 70%,transparent 100%)}
.news-feature--water-light .photo-water-light--meeting,.feature-report-photo .photo-water-light--meeting{background-image:linear-gradient(120deg,rgba(238,247,251,.76),rgba(255,255,255,.15)),url("assets/images/activity-meeting.jpg");background-position:center 45%;background-size:cover}
.feature-report-photo .photo-water-light{right:-76%;bottom:-58%;width:255%;height:150%;transform:rotate(3deg)}
.news-list::before,.section-shell[aria-label="活動報告一覧"]::before{content:"";position:absolute;z-index:-1;width:clamp(360px,44vw,720px);aspect-ratio:1;top:-16%;border:1px solid rgba(95,145,191,.11);border-radius:50%;transform:scaleY(.24) rotate(-8deg);pointer-events:none}
.news-list::before{right:-20%}
.section-shell[aria-label="活動報告一覧"]::before{left:-22%;top:-11%;transform:scaleY(.29) rotate(7deg)}
.news-list::after,.section-shell[aria-label="活動報告一覧"]::after{content:"";position:absolute;z-index:-1;width:13px;height:19px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(95,145,191,.2));border:1px solid rgba(95,145,191,.16);border-radius:72% 28% 62% 38% / 74% 34% 66% 26%;pointer-events:none}
.news-list::after{right:5%;top:-28px;transform:rotate(25deg)}
.section-shell[aria-label="活動報告一覧"]::after{left:7%;top:-20px;transform:rotate(-17deg)}
@media(max-width:900px){.compare-visual{padding:45px 28px 36px}
.compare-choice{grid-template-columns:64px 1fr;padding:24px}
.compare-symbol{transform:scale(.88);transform-origin:left top}
.flow-story{grid-template-columns:1fr}
.wash-flow{grid-template-columns:repeat(5,1fr)}
.current-ripple--one{right:-38%}
.current-ripple--two{left:-25%}}
@media(max-width:680px){.section-heading h2,.editorial-heading h2,.index-section-heading h2,.index-scenes-heading h2,.center-heading h2,.compact-heading h2,.archive-intro h2,.news-intro h2,.org-summary h2{max-width:14em}
.story-current{background:linear-gradient(180deg,var(--soft) 0,var(--soft) 55%,#f7fafb 55%,#f7fafb 100%)}
.current-ripple--one{width:430px;right:-78%;top:43%;transform:scaleY(.25) rotate(-9deg)}
.current-ripple--two{width:300px;left:-50%;top:75%}
.current-drop--one{right:7%;top:53%}
.current-drop--two{left:5%;top:81%}
.compare-visual{padding:34px 18px 28px}
.compare-common{justify-content:flex-start;gap:15px}
.compare-common-icon{width:64px;height:64px;flex-basis:64px}
.compare-common-icon::before{top:31px}
.compare-common-icon i:nth-child(1){left:14px;top:19px}
.compare-common-icon i:nth-child(2){right:12px;top:38px}
.compare-common-icon i:nth-child(3){left:29px;bottom:10px}
.compare-path{width:57%;height:45px}
.compare-choices{grid-template-columns:1fr;gap:18px}
.compare-path{display:none}
.compare-choice{grid-template-columns:58px 1fr;gap:14px;padding:22px 18px}
.compare-symbol{width:58px;transform:scale(.76)}
.compare-choice h3{font-size:max(12px,22px)}
.compare-choice dl div{grid-template-columns:70px 1fr}
.package-check{padding:14px}
.compare-note{grid-template-columns:1fr;gap:8px}
.compare-note strong{white-space:normal}
.flow-story{gap:30px;margin-top:58px;padding-top:50px}
.flow-story-head h3{font-size:max(12px,31px)}
.wash-flow{grid-template-columns:1fr}
.wash-flow::before{left:34px;right:auto;top:30px;bottom:30px;width:1px;height:auto;background:linear-gradient(180deg,rgba(95,145,191,.2),rgba(95,145,191,.7),rgba(95,145,191,.2))}
.wash-flow li{display:grid;grid-template-columns:70px 42px 1fr;grid-template-rows:auto auto;gap:0 12px;align-items:center;padding:10px 0;text-align:left}
.wash-flow li:not(:last-child)::after{top:auto;right:auto;left:31px;bottom:-3px;transform:rotate(135deg);background:var(--soft)}
.wash-flow .flow-icon{grid-row:1/3;margin:0}
.wash-flow small{grid-column:2;margin:0}
.wash-flow strong{grid-column:3;grid-row:1}
.wash-flow p{grid-column:2/4;grid-row:2;margin:2px 0 0}
.news-feature--water-light .news-thumb,.feature-report-photo{overflow:visible;padding-bottom:0}
.news-feature--water-light .news-thumb>img{height:auto}
.news-feature--water-light .photo-water-light{right:-58%;bottom:-28%;width:220%;height:110%;opacity:.13}
.feature-report-photo .photo-water-light{right:-72%;bottom:-34%;width:235%;height:120%;opacity:.13}
.news-list::before,.section-shell[aria-label="活動報告一覧"]::before{width:390px;top:-6%}
.news-list::before{right:-65%}
.section-shell[aria-label="活動報告一覧"]::before{left:-70%}}
/* 2026-09-29 correction: 04 is a water-and-light field behind a whole section */
.photo-water-light{display:none!important}
.news-feature .news-thumb,.feature-report-photo{overflow:hidden!important;padding-bottom:0!important;background:#eef4f7}
.news-feature .news-thumb>img{width:100%;height:100%!important;min-height:0!important;object-fit:cover}
.feature-report-photo>img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:1.55/1;object-fit:cover}
.water-light-section{position:relative;isolation:isolate}
.water-light-section::before{content:"";position:absolute;z-index:-2;left:50%;top:0;width:100vw;height:100%;background-image:url("assets/images/water-soap.jpg");background-repeat:no-repeat;background-size:cover;opacity:.15;filter:saturate(.32) contrast(.8) brightness(1.12);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 13%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 13%,#000 88%,transparent 100%)}
.water-light-section::after{content:"";position:absolute;z-index:-1;left:50%;top:0;width:100vw;height:100%;background:rgba(255,255,255,.12);pointer-events:none}
.water-light-section--history::before{height:118%;top:-9%;background-position:center 77%;transform:translateX(-50%) scale(1.08) rotate(-.7deg)}
.water-light-section--history::after{transform:translateX(-50%)}
.water-light-section--finder::before{height:132%;top:-16%;background-position:68% 82%;transform:translateX(-50%) scale(1.18) rotate(1deg);opacity:.12}
.water-light-section--finder::after{transform:translateX(-50%);background:rgba(255,255,255,.22)}
.water-light-section>*{position:relative;z-index:1}
/* H2 composition: all page-section headings are authored to fit within two lines */
.intro h2,.history h2,.record-feature h2,.section-heading h2,.portal-opening h2,.editorial-heading h2,.index-section-heading h2,.index-scenes-heading h2,.center-heading h2,.compact-heading h2,.archive-intro h2,.news-intro h2,.org-summary h2,.contact-aside h2{width:fit-content;max-width:min(100%,20ch);text-wrap:balance;overflow-wrap:normal;word-break:keep-all}
/* soap_portal inherits the completed top-page section language */
.index-products{padding-top:132px;padding-bottom:146px;background:linear-gradient(180deg,rgba(238,246,248,.94) 0%,rgba(255,255,255,.96) 100%)}
.index-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:74px}
.index-section-heading h2,.index-scenes-heading h2{font-size:max(12px,clamp(37px,4.6vw,64px));line-height:1.3;letter-spacing:-.04em}
.index-section-heading>p{max-width:360px;margin:0 0 8px}
.index-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px);align-items:stretch}
.index-product-card{display:flex;height:100%;min-width:0;flex-direction:column;overflow:visible;background:transparent;border:0;clip-path:none;box-shadow:none;transition:none}
.index-product-card:hover{border:0;box-shadow:none}
.index-product-image{width:100%;aspect-ratio:1/1.08;overflow:hidden;background:#f7f9fa;border-radius:2px 112px 2px 2px;box-shadow:0 20px 50px rgba(53,75,85,.06)}
.index-product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.index-product-card:hover .index-product-image img{transform:scale(1.045);filter:saturate(.88) contrast(.98)}
.index-product-meta{display:flex;min-height:160px;flex:1;flex-direction:column;padding:22px 46px 8px 3px}
.index-product-meta small{font-size:max(12px,10px);letter-spacing:.12em}
.index-product-meta h3{margin:10px 0 8px;font-size:max(12px,clamp(20px,2vw,27px));line-height:1.5}
.index-product-meta span{margin-top:auto}
.index-product-meta i{right:10px;bottom:16px}
.section-action{display:flex;justify-content:center;margin-top:70px}
.section-action .round-link{margin-top:0}
.index-scenes{padding-top:128px;padding-bottom:142px;background:#dfe9ec}
.index-scenes-drops{right:-10%;top:auto;bottom:-32%;width:min(52vw,720px);opacity:.1;transform:rotate(-11deg)}
.index-scenes-heading{margin-bottom:62px}
.index-scenes-heading p:last-child{max-width:630px;margin-top:20px}
.index-scene-list{gap:28px}
.index-scene-card{display:block;min-height:0;overflow:hidden;background:rgba(255,255,255,.9);border:0;transition:background .4s,box-shadow .45s cubic-bezier(.2,.8,.2,1)}
.index-scene-card:hover{background:#fff;border:0;box-shadow:0 24px 60px rgba(53,75,85,.12)}
.index-scene-image{aspect-ratio:16/9;overflow:hidden}
.index-scene-image img{height:100%;object-fit:cover;filter:saturate(.7) contrast(.94)}
.index-scene-content{min-height:178px;box-sizing:border-box;padding:25px 62px 27px 26px}
.index-scene-content strong{font-size:max(12px,clamp(23px,2.5vw,34px));line-height:1.35}
.index-scene-content p{max-width:430px;margin-top:9px;font-size:max(12px,14px);line-height:1.8}
.index-scene-content i{right:26px;top:28px;bottom:auto}
@media(max-width:900px){.index-section-heading{display:grid;grid-template-columns:1fr;gap:20px}
.index-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.index-product-card:last-child{grid-column:2}
.index-scene-list{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.intro h2,.history h2,.record-feature h2,.section-heading h2,.portal-opening h2,.editorial-heading h2,.index-section-heading h2,.index-scenes-heading h2,.center-heading h2,.compact-heading h2,.archive-intro h2,.news-intro h2,.org-summary h2,.contact-aside h2{max-width:100%;font-size:max(12px,clamp(26px,7.2vw,32px));line-height:1.45;letter-spacing:-.04em}
.water-light-section--history::before{height:108%;top:-4%;background-position:58% 78%;transform:translateX(-50%) scale(1.18)}
.water-light-section--finder::before{background-position:70% 80%;transform:translateX(-50%) scale(1.28);opacity:.1}
.index-products{padding-top:82px;padding-bottom:92px}
.index-section-heading{margin-bottom:44px}
.index-product-grid{grid-template-columns:1fr;gap:52px}
.index-product-card:last-child{grid-column:auto}
.index-product-image{aspect-ratio:1/1.05;border-radius:2px 100px 2px 2px}
.index-product-meta{min-height:0}
.section-action{margin-top:56px}
.index-scenes{padding-top:82px;padding-bottom:96px}
.index-scenes-heading{margin-bottom:40px}
.index-scene-list{grid-template-columns:1fr;gap:20px}
.index-scene-content{min-height:164px;padding:22px 58px 24px 22px}
.index-scene-content strong{font-size:max(12px,25px)}
.index-scenes-drops{right:-34%;bottom:-8%;width:96vw;opacity:.08}}
/* Warm accent: a restrained human note beside the water-blue system */
.index-card-no{background:rgba(216,132,106,.94)}
.index-product-card:nth-child(2) .index-card-no{background:rgba(23,45,60,.86)}
.news-meta span{color:var(--ink);background:var(--warm-soft);border-color:rgba(216,132,106,.46)}
.form-field em{color:var(--ink);background:var(--warm-soft);border-color:rgba(216,132,106,.42)}
.maker-links i,.news-copy i,.index-scene-content i,.network-item i{transition:color .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.maker-links a:hover i,.news-feature:hover i,.news-card:hover i,.index-scene-card:hover i,.network-item:hover i{color:var(--warm)}
/* The comparison stays editorial; warm color marks only the act of checking */
.compare-common-icon i:nth-child(2){background:var(--warm)}
.package-check{position:relative;overflow:hidden}
.package-check::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--warm);opacity:.78}
.package-check span{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(216,132,106,.7);text-decoration-thickness:2px;text-underline-offset:4px}
.compare-note strong{position:relative;padding-left:17px}
.compare-note strong::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;background:var(--warm);transform:rotate(45deg)}
/* Flat water-cycle icons alternate blue and warm without changing meaning */
.wash-flow li:nth-child(odd) .flow-icon{border-color:rgba(216,132,106,.48);background:linear-gradient(145deg,#fff 35%,rgba(216,132,106,.1))}
.wash-flow li:nth-child(odd) small{color:var(--warm)}
.wash-flow li:nth-child(1) .flow-icon--wash::before,.wash-flow li:nth-child(3) .flow-icon--plant::before{border-color:var(--warm)}
.wash-flow li:nth-child(1) .flow-icon--wash::after{border-color:var(--warm)}
.wash-flow li:nth-child(3) .flow-icon--plant::after{background:var(--warm);box-shadow:0 7px var(--warm)}
.wash-flow li:nth-child(5) .flow-icon--cycle::before{border-color:var(--warm);border-left-color:transparent}
.wash-flow li:nth-child(5) .flow-icon--cycle::after{border-color:var(--warm)}
/* 2026-09-29: brighter, more enjoyable editable infographics */
.compare-visual{padding:clamp(30px,4.5vw,62px);background:linear-gradient(135deg,#f7fbfd 0%,#fff 46%,#fff8f5 100%);border:0;box-shadow:none;backdrop-filter:none}
.compare-common{position:relative;justify-content:flex-start;width:min(100%,650px);margin:0 auto;padding:26px 34px;background:#fff;border-left:6px solid var(--accent);box-shadow:12px 12px 0 rgba(95,145,191,.1)}
.compare-common::after{content:"";position:absolute;right:-18px;bottom:-18px;width:52px;height:52px;background:var(--warm-soft);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.compare-common-icon{width:96px;height:96px;flex-basis:96px;border:0;background:#e6f2f8;transform:none}
.compare-common-icon::before{left:15px;right:15px;top:48px;border-top:3px solid var(--accent);transform:rotate(-10deg)}
.compare-common-icon i{width:13px;height:13px;background:var(--accent)}
.compare-common-icon i:nth-child(1){left:20px;top:27px}
.compare-common-icon i:nth-child(2){right:16px;top:52px;background:var(--warm)}
.compare-common-icon i:nth-child(3){left:46px;bottom:13px}
.compare-common small{color:var(--warm)}
.compare-path{width:58%;height:70px;margin-top:20px;border-color:rgba(95,145,191,.55)}
.compare-path::before{content:"表示を見比べる";position:absolute;left:50%;top:17px;padding:3px 12px;color:var(--ink);background:#fff;font-size:max(12px,10px);font-weight:700;letter-spacing:.08em;transform:translateX(-50%)}
.compare-path span{border-color:rgba(95,145,191,.55)}
.compare-choices{gap:clamp(18px,2.8vw,38px)}
.compare-choice{min-height:430px;box-sizing:border-box;padding:34px;background:#edf6fa;border:0;box-shadow:10px 10px 0 rgba(95,145,191,.12)}
.compare-choice--soap{background:#fff2ed;box-shadow:10px 10px 0 rgba(216,132,106,.13)}
.compare-choice--detergent{background:#edf6fa;border:0}
.compare-symbol{width:88px;height:96px}
.soap-block{left:1px;bottom:5px;width:72px;height:58px;background:#fff;border:3px solid var(--accent);box-shadow:8px 8px 0 rgba(95,145,191,.14)}
.soap-bubble{background:#fff;border:3px solid var(--warm)}
.soap-bubble--a{width:19px;height:19px}
.soap-bubble--b{width:10px;height:10px;right:28px}
.bottle-body{left:12px;bottom:2px;width:52px;height:70px;background:#fff;border:3px solid var(--accent);box-shadow:8px 8px 0 rgba(95,145,191,.14)}
.bottle-cap{left:23px;top:0;width:30px;height:18px;background:var(--warm)}
.bottle-wave{left:21px;right:17px;bottom:27px;height:10px;border-top:3px solid var(--accent)}
.compare-label{color:var(--warm);font-size:max(12px,13px)}
.compare-choice--detergent .compare-label{color:var(--accent)}
.compare-choice h3{font-size:max(12px,clamp(22px,2vw,30px))}
.compare-choice dl div{border-color:rgba(23,45,60,.14)}
.package-check{margin-top:auto;padding:18px 20px 18px 24px;border:0;background:rgba(255,255,255,.86);box-shadow:0 8px 24px rgba(50,84,105,.06)}
.compare-choice--detergent .package-check::before{background:var(--accent)}
.compare-note{margin-top:44px;padding:22px 26px;background:#fff;border:1px solid rgba(216,132,106,.25)}
.flow-story{display:block;margin-top:76px;padding:48px clamp(24px,4vw,52px) 58px;background:linear-gradient(115deg,#fff 0%,#f0f8fb 100%);border:0;overflow:hidden}
.flow-story-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:44px}
.flow-story-head p{max-width:260px;margin:0 0 8px;color:var(--warm)}
.flow-story-head h3{font-size:max(12px,clamp(27px,3vw,40px));line-height:1.4;text-align:right}
.wash-flow{gap:14px;align-items:start}
.wash-flow::before{left:7%;right:7%;top:47px;height:3px;background:linear-gradient(90deg,var(--warm) 0 18%,var(--accent) 30% 70%,var(--warm) 82% 100%)}
.wash-flow li{min-height:220px;box-sizing:border-box;padding:20px 12px 16px;background:rgba(255,255,255,.92);border-top:5px solid var(--accent);box-shadow:7px 9px 0 rgba(95,145,191,.09)}
.wash-flow li:nth-child(odd){border-top-color:var(--warm);box-shadow:7px 9px 0 rgba(216,132,106,.09)}
.wash-flow li:nth-child(even){transform:translateY(18px)}
.wash-flow li:not(:last-child)::after{top:42px;right:-11px;width:10px;height:10px;border-width:2px;background:transparent}
.flow-icon{width:84px;height:84px;background:#f2f8fb;border:0}
.wash-flow li:nth-child(odd) .flow-icon{border:0;background:#fff0ea}
.wash-flow small{margin:14px 0 4px;font-size:max(12px,10px);font-weight:700}
.wash-flow strong{color:var(--ink);font-family:var(--serif);font-size:max(12px,18px);font-weight:500}
.wash-flow p{font-size:max(12px,11px);line-height:1.65}
.flow-icon--wash::before{left:16px;right:16px;bottom:19px;height:20px;border-width:2px}
.flow-icon--wash::after{left:27px;top:18px;width:25px;height:21px;border-width:2px}
.flow-icon--drain::before{left:17px;right:17px;top:22px;height:27px;border-width:2px}
.flow-icon--drain::after{left:27px;right:27px;top:31px;height:2px;box-shadow:0 7px var(--accent),0 14px var(--accent)}
.flow-icon--plant::before{left:17px;right:17px;bottom:18px;height:35px;border-width:2px}
.flow-icon--plant::after{left:27px;right:27px;bottom:27px;height:2px}
.flow-icon--river::before{left:15px;right:15px;top:34px;height:15px;border-width:2px}
.flow-icon--river::after{left:24px;top:21px;width:9px;height:12px;border-width:2px}
.flow-icon--cycle::before{left:21px;top:19px;width:38px;height:38px;border-width:2px}
.flow-icon--cycle::after{left:18px;top:19px;width:9px;height:9px;border-width:2px}
@media(max-width:680px){.compare-visual{padding:26px 14px 30px}
.compare-common{box-sizing:border-box;padding:20px 18px;box-shadow:7px 7px 0 rgba(95,145,191,.1)}
.compare-common::after{right:-7px;bottom:-11px;width:34px;height:34px}
.compare-common-icon{width:68px;height:68px;flex-basis:68px}
.compare-common-icon::before{top:34px}
.compare-common-icon i{width:9px;height:9px}
.compare-common-icon i:nth-child(1){left:14px;top:18px}
.compare-common-icon i:nth-child(2){right:11px;top:37px}
.compare-common-icon i:nth-child(3){left:33px;bottom:9px}
.compare-choice{min-height:0;padding:24px 18px;box-shadow:6px 7px 0 rgba(95,145,191,.1)}
.compare-choice--soap{box-shadow:6px 7px 0 rgba(216,132,106,.11)}
.compare-symbol{width:60px;height:78px}
.soap-block{width:58px;height:48px}
.bottle-body{width:43px;height:58px}
.package-check{padding:16px 14px 16px 20px}
.compare-note{margin-top:34px;padding:18px}
.flow-story{margin-top:54px;padding:36px 18px 42px}
.flow-story-head{display:block;margin-bottom:28px}
.flow-story-head h3{text-align:left}
.flow-story-head p{margin-bottom:10px}
.wash-flow{gap:14px}
.wash-flow::before{left:41px;top:32px;bottom:32px;width:3px;height:auto;background:linear-gradient(180deg,var(--warm),var(--accent),var(--warm))}
.wash-flow li,.wash-flow li:nth-child(even){min-height:0;padding:16px;transform:none;border-top:0;border-left:5px solid var(--accent);box-shadow:5px 6px 0 rgba(95,145,191,.08)}
.wash-flow li:nth-child(odd){border-left-color:var(--warm);box-shadow:5px 6px 0 rgba(216,132,106,.08)}
.wash-flow li:not(:last-child)::after{left:37px;bottom:-12px;right:auto}
.wash-flow .flow-icon{width:70px;height:70px}
.wash-flow strong{font-size:max(12px,17px)}}
/* Reference-led infographic: one bright field, connected scenes, short callouts */
.compare-visual{color:#fff;background:#61bfd1;padding:clamp(38px,5.2vw,76px) clamp(26px,5vw,72px) clamp(42px,5vw,68px)}
.compare-common{justify-content:center;width:auto;margin:0;padding:0;background:transparent;border:0;box-shadow:none;text-align:left}
.compare-common::after{display:none}
.compare-common-icon{width:112px;height:112px;flex-basis:112px;background:#fff;border-radius:50%;box-shadow:none}
.compare-common-icon::before{left:21px;right:21px;top:55px;border-color:var(--accent)}
.compare-common-icon i{width:15px;height:15px}
.compare-common-icon i:nth-child(1){left:28px;top:30px}
.compare-common-icon i:nth-child(2){right:23px;top:61px}
.compare-common-icon i:nth-child(3){left:53px;bottom:16px}
.compare-common small{display:inline-block;margin-bottom:10px;padding:5px 14px;color:#fff;background:var(--warm);border-radius:999px;font-size:max(12px,12px)}
.compare-common strong{color:#fff;font-size:max(12px,clamp(22px,2.3vw,32px))}
.compare-path{width:67%;height:76px;margin-top:24px;border-color:rgba(255,255,255,.92)}
.compare-path span{border-color:rgba(255,255,255,.92)}
.compare-path::before{color:#fff;background:#61bfd1;font-size:max(12px,11px)}
.compare-path i{border-color:#fff}
.compare-choices{gap:clamp(34px,5vw,76px)}
.compare-choice,.compare-choice--soap,.compare-choice--detergent{min-height:420px;padding:30px 12px 0;background:transparent;border-top:3px solid #fff;box-shadow:none}
.compare-choice-copy{color:#fff}
.compare-label,.compare-choice--detergent .compare-label{display:inline-block;margin-bottom:12px;padding:4px 13px;color:#fff;background:var(--warm);border-radius:999px;font-size:max(12px,12px)}
.compare-choice h3{color:#fff;font-size:max(12px,clamp(23px,2.3vw,32px))}
.compare-choice dl div{border-color:rgba(255,255,255,.45)}
.compare-choice dt{color:rgba(255,255,255,.78)}
.compare-choice dd{color:#fff;font-size:max(12px,14px)}
.compare-symbol{width:100px;height:108px}
.soap-block{width:78px;height:62px;background:#fff;border:0;box-shadow:none}
.soap-bubble{background:#fff;border:0}
.soap-bubble--a{width:24px;height:24px}
.soap-bubble--b{width:13px;height:13px}
.bottle-body{width:56px;height:78px;background:#fff;border:0;box-shadow:none}
.bottle-cap{left:24px;width:32px;background:var(--warm)}
.bottle-wave{border-color:var(--accent)}
.package-check{display:block;justify-self:center;width:min(88%,310px);margin-top:24px;padding:25px 22px 22px;background:#fff;border:0;border-radius:50%;box-shadow:none;text-align:center}
.package-check::before{content:"";display:block;left:15%;top:auto;bottom:-9px;width:22px;height:22px;background:#fff;opacity:1;transform:rotate(45deg)}
.compare-choice--detergent .package-check::before{background:#fff}
.package-check small{display:block;margin-bottom:5px;color:var(--muted)}
.package-check strong{display:block;color:var(--ink);font-size:max(12px,18px)}
.package-check span{display:block;margin-top:4px;color:var(--ink);font-size:max(12px,11px);text-decoration-color:var(--warm)}
.compare-note{margin-top:56px;padding:22px 26px;color:var(--text);background:#fff;border:0;border-radius:999px}
.flow-story{margin-top:34px;padding:56px clamp(26px,5vw,72px) 70px;color:#fff;background:#61bfd1}
.flow-story-head{margin-bottom:48px}
.flow-story-head p{color:#fff;opacity:.9}
.flow-story-head h3{color:#fff}
.wash-flow{gap:8px}
.wash-flow::before{left:7%;right:7%;top:47px;height:3px;background:#fff}
.wash-flow li,.wash-flow li:nth-child(odd),.wash-flow li:nth-child(even){min-height:215px;padding:0 10px;background:transparent;border:0;box-shadow:none;transform:none}
.wash-flow li:nth-child(even){padding-top:22px}
.wash-flow li:not(:last-child)::after{top:42px;border-color:#fff;background:#61bfd1}
.flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:94px;height:94px;background:#fff;border:0;border-radius:50%;box-shadow:none}
.wash-flow small,.wash-flow li:nth-child(odd) small{display:inline-block;margin:14px 0 7px;padding:3px 10px;color:#fff;background:var(--warm);border-radius:999px;font-size:max(12px,10px)}
.wash-flow strong{display:block;color:#fff;font-family:var(--serif);font-size:max(12px,19px)}
.wash-flow p{color:rgba(255,255,255,.86);font-size:max(12px,11px)}
.source-note{margin-top:24px}
@media(max-width:680px){.compare-visual{padding:34px 18px 38px}
.compare-common{align-items:center}
.compare-common-icon{width:78px;height:78px;flex-basis:78px}
.compare-common-icon::before{top:39px}
.compare-common-icon i{width:10px;height:10px}
.compare-common-icon i:nth-child(1){left:19px;top:20px}
.compare-common-icon i:nth-child(2){right:15px;top:43px}
.compare-common-icon i:nth-child(3){left:38px;bottom:11px}
.compare-common small{font-size:max(12px,10px)}
.compare-common strong{font-size:max(12px,18px);line-height:1.65}
.compare-path{display:none}
.compare-choices{gap:48px;margin-top:42px}
.compare-choice,.compare-choice--soap,.compare-choice--detergent{min-height:0;padding:24px 4px 0}
.compare-symbol{width:72px;height:82px;transform:scale(.82);transform-origin:left top}
.package-check{width:min(82%,270px);box-sizing:border-box}
.compare-note{border-radius:24px;padding:20px;line-height:1.75}
.flow-story{padding:42px 18px 48px}
.flow-story-head{margin-bottom:34px}
.wash-flow::before{left:47px;top:34px;bottom:34px;width:3px;height:auto;background:#fff}
.wash-flow li,.wash-flow li:nth-child(odd),.wash-flow li:nth-child(even){grid-template-columns:94px 48px 1fr;min-height:0;padding:10px 0;background:transparent;border:0;box-shadow:none}
.wash-flow li:not(:last-child)::after{left:43px;bottom:-8px;background:#61bfd1}
.wash-flow .flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:78px;height:78px}
.wash-flow small,.wash-flow li:nth-child(odd) small{margin:0;padding:2px 8px}
.wash-flow strong{font-size:max(12px,18px)}
.wash-flow p{font-size:max(12px,11px)}}
/* Chick-yellow accent and illustration-rich infographic */
.news-meta span,.article-row .tag{color:var(--ink);background:var(--warm);border:0}
.form-field em{color:var(--ink);background:var(--warm);border:0}
.index-card-no,.index-product-card:nth-child(2) .index-card-no{color:var(--ink);background:var(--warm)}
.maker-links a:hover i,.news-feature:hover i,.news-card:hover i,.index-scene-card:hover i,.network-item:hover i{color:var(--accent)}
.compare-common small,.compare-label,.compare-choice--detergent .compare-label,.wash-flow small,.wash-flow li:nth-child(odd) small{color:var(--ink);background:var(--warm)}
.compare-common-icon::before,.compare-common-icon i,.compare-symbol>span,.flow-icon::before,.flow-icon::after{display:none}
.compare-common-icon svg,.compare-symbol svg,.flow-icon svg{display:block;width:100%;height:100%;overflow:visible}
.compare-common-icon{background:transparent;border-radius:0}
.compare-symbol{width:130px;height:110px}
.flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:118px;height:105px;background:transparent;border-radius:0}
.wash-flow::before{top:52px}
.wash-flow li:not(:last-child)::after{top:47px}
.package-check span{text-decoration-color:#ded86d}
.compare-note strong::before{background:var(--warm);box-shadow:0 0 0 1px rgba(23,45,60,.12)}
@media(max-width:680px){.compare-common-icon{width:86px;height:86px;flex-basis:86px}
.compare-symbol{width:98px;height:84px;transform:none}
.wash-flow .flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:90px;height:82px}
.wash-flow::before{left:51px}
.wash-flow li:not(:last-child)::after{left:47px}}
/* Eight reusable illustration assets: richer scale and clearer visual story */
.compare-common-icon img,.compare-symbol img,.flow-icon img{display:block;width:100%;height:100%;object-fit:contain}
.compare-common{gap:34px}
.compare-common-icon{width:174px;height:174px;flex-basis:174px}
.compare-path{margin-top:6px}
.compare-choice,.compare-choice--soap,.compare-choice--detergent{grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:center;padding-top:28px}
.compare-symbol{width:190px;height:165px}
.compare-choice-copy{align-self:center}
.package-check{grid-column:1/-1}
.wash-flow{gap:14px}
.wash-flow li,.wash-flow li:nth-child(odd),.wash-flow li:nth-child(even){min-height:272px}
.flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:156px;height:142px}
.wash-flow::before{top:70px}
.wash-flow li:not(:last-child)::after{top:65px}
.wash-flow small,.wash-flow li:nth-child(odd) small{margin-top:8px}
@media(max-width:900px){.compare-common-icon{width:146px;height:146px;flex-basis:146px}
.compare-choice,.compare-choice--soap,.compare-choice--detergent{grid-template-columns:145px minmax(0,1fr);gap:20px}
.compare-symbol{width:145px;height:132px}
.flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:128px;height:116px}
.wash-flow::before{top:58px}
.wash-flow li:not(:last-child)::after{top:53px}}
@media(max-width:680px){.compare-common{gap:14px}
.compare-common-icon{width:104px;height:104px;flex-basis:104px}
.compare-choices{gap:52px}
.compare-choice,.compare-choice--soap,.compare-choice--detergent{grid-template-columns:1fr;gap:10px}
.compare-symbol{width:190px;height:150px;justify-self:center}
.compare-choice-copy{width:100%}
.package-check{grid-column:1}
.wash-flow li,.wash-flow li:nth-child(odd),.wash-flow li:nth-child(even){grid-template-columns:118px 48px 1fr;min-height:0}
.wash-flow .flow-icon,.wash-flow li:nth-child(odd) .flow-icon{width:108px;height:100px}
.wash-flow::before{left:56px;top:42px}
.wash-flow li:not(:last-child)::after{left:52px;top:auto}}
/* Contact flow and utility pages */
.contact-aside-kicker{color:rgba(255,255,255,.72)}
.form-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 34px;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.form-steps li{position:relative;padding:0 0 14px;color:var(--muted);font-size:max(12px,13px);letter-spacing:.08em}
.form-steps li span{margin-right:9px;font-family:var(--latin);font-size:max(12px,10px)}
.form-steps li[aria-current=step]{color:var(--ink);font-weight:700}
.form-steps li[aria-current=step]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.form-intro{margin:0 0 28px;color:#425663;font-size:max(12px,14px)}
.required-chip{display:inline-block;margin:0 4px;padding:2px 7px;color:var(--ink);background:var(--warm);font-size:max(12px,10px);font-weight:700;line-height:1.5}
.field-error{min-height:1.5em;color:#a34141;font-size:max(12px,12px);line-height:1.5}
.form-field:has(.field-error:not(:empty)) input,.form-field:has(.field-error:not(:empty)) select,.form-field:has(.field-error:not(:empty)) textarea{border-color:#a34141}
.form-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.consent-check{display:flex;gap:12px;align-items:flex-start;color:#3d596a;font-size:max(12px,13px);cursor:pointer}
.consent-check input{width:19px;height:19px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.consent-check a{color:var(--ink);border-bottom:1px solid currentColor}
.form-page{max-width:980px;margin:0 auto}
.confirm-list{margin:0;border-top:1px solid var(--line)}
.confirm-list>div{display:grid;grid-template-columns:190px 1fr;gap:34px;padding:24px 0;border-bottom:1px solid var(--line)}
.confirm-list dt{color:var(--muted);font-size:max(12px,13px)}
.confirm-list dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.confirm-message{white-space:pre-wrap}
.confirm-actions{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:42px}
.text-action{position:relative;display:inline-block;padding-bottom:3px;color:var(--ink);font-size:max(12px,14px);font-weight:700}
.text-action::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .35s}
.text-action:hover::after{transform:scaleX(.45)}
.system-note{margin:30px 0 0;padding:16px 18px;color:#536a77;background:#f4f7f8;border-left:3px solid var(--warm);font-size:max(12px,12px);line-height:1.8}
.system-note code{color:var(--ink)}
button.line-link:disabled{color:#78909d;background:#eef2f4;border-color:#d2dde3;box-shadow:none;cursor:not-allowed}
button.line-link:disabled::before{display:none}
.status-page{position:relative;display:grid;place-items:center;min-height:100svh;padding:110px 7vw 80px;box-sizing:border-box;background:linear-gradient(135deg,#fff 0 68%,#f2f7fa 68% 100%)}
.status-page::before{content:"";position:absolute;right:8vw;top:10vh;width:min(28vw,280px);aspect-ratio:.8;background:url("assets/images/water-droplets.png") center/contain no-repeat;opacity:.16;pointer-events:none}
.status-logo{position:absolute;top:34px;left:5vw;display:flex;align-items:center;gap:12px;color:var(--ink);font-size:max(12px,13px);font-weight:700;line-height:1.55}
.status-card{position:relative;width:min(100%,720px);padding:54px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.status-card h1{max-width:15ch;margin:12px 0 22px;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(36px,5vw,62px));font-weight:400;line-height:1.35;letter-spacing:-.04em}
.status-card>p:not(.micro):not(.status-code){max-width:620px;color:#425663}
.status-mark{display:grid;place-items:center;width:56px;height:64px;color:#fff;background:var(--accent);clip-path:polygon(50% 0,70% 25%,90% 50%,100% 70%,94% 86%,76% 97%,50% 100%,24% 97%,6% 86%,0 70%,10% 50%,30% 25%);font-size:max(12px,24px);font-weight:700}
.status-mark--warm{color:var(--ink);background:var(--warm)}
.status-code{margin:0;color:var(--accent);font-family:var(--latin);font-size:max(12px,clamp(60px,10vw,108px));font-weight:500;letter-spacing:-.06em;line-height:1}
.status-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.policy-content{max-width:900px;margin:0 auto;color:#3f5968}
.policy-content>p:first-child{margin:0 0 60px;font-family:var(--serif);font-size:max(12px,21px);line-height:2}
.policy-content section{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:30px 0;border-top:1px solid var(--line)}
.policy-content h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,22px);font-weight:500}
.policy-content section p{margin:0}
.policy-note{margin-top:36px;color:var(--muted);font-size:max(12px,12px)}
@media(max-width:680px){.form-steps{margin-bottom:26px}
.form-steps li{font-size:max(12px,12px)}
.confirm-list>div{grid-template-columns:1fr;gap:7px;padding:19px 0}
.confirm-actions{align-items:stretch;flex-direction:column-reverse}
.confirm-actions .line-link{width:100%;margin-top:0}
.status-page{padding:96px 22px 54px}
.status-logo{top:24px;left:22px}
.status-card{padding:38px 0}
.status-card h1{font-size:max(12px,34px)}
.status-page::before{right:-10vw;width:55vw}
.policy-content>p:first-child{margin-bottom:42px;font-size:max(12px,18px)}
.policy-content section{grid-template-columns:1fr;gap:10px;padding:24px 0}
.policy-content h2{font-size:max(12px,20px)}}
/* Contact status pages use typography only; decorative status icons are intentionally omitted. */
.status-mark{display:none}
/* Journal detail */
.journal-detail{position:relative}
.journal-issue-head{display:grid;grid-template-columns:230px 1fr;gap:34px 7vw;align-items:start}
.journal-issue-meta{grid-row:1/3;display:flex;flex-direction:column;gap:10px;padding-top:12px;color:var(--muted);font-family:var(--latin);font-size:max(12px,11px);letter-spacing:.12em}
.journal-issue-meta span{color:var(--ink);font-family:var(--sans);font-size:max(12px,13px);font-weight:700;letter-spacing:.04em}
.journal-issue-meta b{width:max-content;margin-top:10px;padding:5px 11px;color:var(--ink);background:var(--warm);font-weight:700}
.journal-issue-head h2{max-width:17ch;margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,5vw,64px));font-weight:400;line-height:1.42;letter-spacing:-.04em}
.journal-issue-head>p{grid-column:2;max-width:710px;margin:0;color:#425663;font-size:max(12px,17px)}
.journal-toc{padding-top:0}
.journal-toc>.micro{margin-bottom:18px}
.journal-toc ol{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.journal-toc li{border-bottom:1px solid var(--line)}
.journal-toc li:nth-child(odd){border-right:1px solid var(--line)}
.journal-toc a{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:center;min-height:84px;padding:16px 24px;color:var(--ink);font-family:var(--serif);font-size:max(12px,16px);line-height:1.6;transition:background .35s,color .35s}
.journal-toc a:hover{color:var(--accent);background:#f5f9fb}
.journal-toc a span{color:var(--accent);font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.1em}
.journal-article{border-top:1px solid var(--line);scroll-margin-top:30px}
.journal-article-head{display:grid;grid-template-columns:90px 1fr;gap:36px;margin-bottom:58px}
.article-index{margin:5px 0 0;color:var(--accent);font-family:var(--latin);font-size:max(12px,14px);letter-spacing:.12em}
.journal-article-head .micro{margin-bottom:12px}
.journal-article-head h2{max-width:20ch;margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(32px,4vw,50px));font-weight:400;line-height:1.45;letter-spacing:-.035em}
.article-subtitle{margin:18px 0 0;color:#425663;font-family:var(--serif);font-size:max(12px,18px)}
.event-facts{max-width:900px;margin:0 auto 54px}
.event-facts dl{margin:0;border-top:1px solid var(--line)}
.event-facts dl div{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:18px 0;border-bottom:1px solid var(--line)}
.event-facts dt{color:var(--muted);font-size:max(12px,12px)}
.event-facts dd{margin:0;color:var(--ink);font-weight:500}
.article-body{max-width:760px;margin-right:auto;margin-left:auto}
.article-body p{margin:0 0 1.75em}
.article-body p:last-child{margin-bottom:0}
.article-lead{margin-bottom:66px;font-family:var(--serif);font-size:max(12px,20px);line-height:2}
.article-byline{text-align:right;color:var(--muted);font-size:max(12px,12px)}
.inu-photo-layout{display:grid;grid-template-columns:1.35fr .72fr;grid-template-rows:auto auto;gap:22px;max-width:1080px;margin:0 auto 72px}
.inu-photo-layout figure{margin:0}
.inu-photo-layout img{height:100%;min-height:0;object-fit:cover;filter:saturate(.76) contrast(.96)}
.inu-photo-main{grid-row:1/3}
.inu-photo-main img{aspect-ratio:1.23/1}
.inu-photo-layout figure:not(.inu-photo-main) img{aspect-ratio:1.55/1}
.inu-photo-portrait img{object-position:center 38%}
.inu-photo-layout figcaption,.request-photo figcaption{margin-top:9px;color:var(--muted);font-size:max(12px,10px);line-height:1.6}
.request-photo{width:min(100%,980px);margin:0 auto 58px}
.request-photo img{aspect-ratio:1.86/1;object-fit:cover;filter:saturate(.7) contrast(.96)}
.agency-list{max-width:980px;margin:0 auto}
.agency-section{display:grid;grid-template-columns:260px 1fr;gap:6vw;padding:72px 0;border-top:1px solid var(--line)}
.agency-section>header{display:grid;grid-template-columns:30px 1fr;gap:14px;align-content:start}
.agency-section>header>span{color:var(--accent);font-family:var(--latin);font-size:max(12px,10px);letter-spacing:.1em}
.agency-section h3{margin:0 0 8px;color:var(--ink);font-family:var(--serif);font-size:max(12px,28px);font-weight:500}
.agency-section header p{margin:0;color:#425663;font-size:max(12px,13px);line-height:1.7}
.agency-section .article-body{margin:0}
.journal-detail-footer{display:flex;justify-content:flex-end;padding-top:0}
.journal-detail-footer .line-link{margin-top:0}
@media(max-width:900px){.journal-issue-head{grid-template-columns:160px 1fr}
.journal-article-head{grid-template-columns:56px 1fr}
.agency-section{grid-template-columns:210px 1fr;gap:34px}}
@media(max-width:680px){.journal-issue-head{grid-template-columns:1fr;gap:24px}
.journal-issue-meta{grid-row:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding-top:0}
.journal-issue-meta b{margin:0}
.journal-issue-head h2{font-size:max(12px,34px)}
.journal-issue-head>p{grid-column:1;font-size:max(12px,15px)}
.journal-toc ol{grid-template-columns:1fr}
.journal-toc li:nth-child(odd){border-right:0}
.journal-toc a{min-height:72px;padding:14px 8px}
.journal-article-head{grid-template-columns:32px 1fr;gap:14px;margin-bottom:40px}
.journal-article-head h2{font-size:max(12px,30px)}
.article-subtitle{font-size:max(12px,16px)}
.event-facts{margin-bottom:42px}
.event-facts dl div{grid-template-columns:76px 1fr;gap:16px}
.inu-photo-layout{grid-template-columns:1fr;grid-template-rows:auto;gap:28px;margin-bottom:50px}
.inu-photo-main{grid-row:auto}
.inu-photo-main img,.inu-photo-layout figure:not(.inu-photo-main) img{aspect-ratio:1.45/1}
.inu-photo-portrait img{object-position:center 40%}
.request-photo{margin-bottom:40px}
.request-photo img{aspect-ratio:1.45/1}
.article-lead{margin-bottom:48px;font-size:max(12px,18px)}
.agency-section{grid-template-columns:1fr;gap:24px;padding:50px 0}
.agency-section>header{grid-template-columns:28px 1fr}
.agency-section h3{font-size:max(12px,25px)}
.journal-detail-footer{justify-content:stretch}
.journal-detail-footer .line-link{width:100%}}
/* Heading widths and natural wrapping */
.status-card h1,.status-card>p:not(.micro):not(.status-code){width:min(100%,620px);max-width:none}
.status-card h1{font-size:max(12px,clamp(34px,4.2vw,54px));text-wrap:balance}
.journal-detail h2 br{display:none}
.journal-issue-head h2,.journal-article-head h2{width:100%;max-width:980px;text-wrap:balance;word-break:normal;overflow-wrap:normal}
.journal-issue-head h2{max-width:710px}
@media(max-width:680px){.journal-issue-head h2{font-size:max(12px,30px)}
.journal-article-head{grid-template-columns:1fr;gap:8px}
.journal-article-head h2{font-size:max(12px,clamp(24px,7vw,28px));line-height:1.45;letter-spacing:-.05em}
.article-index{margin-bottom:4px}
.status-card h1{font-size:max(12px,32px);line-height:1.45}}
@media(max-width:360px){.journal-article-head h2{font-size:max(12px,24px)}}
/* Product catalog */
.catalog-intro{display:grid;grid-template-columns:minmax(320px,.8fr) 1fr;gap:8vw;align-items:end;margin-bottom:70px}
.catalog-intro h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(38px,4.5vw,60px));font-weight:400;line-height:1.35;letter-spacing:-.045em}
.catalog-intro>p{max-width:620px;margin:0 0 8px}
.catalog-tools{display:grid;grid-template-columns:1fr minmax(300px,.54fr);gap:50px;align-items:end;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-filter-group>p,.catalog-search>label{display:block;margin:0 0 13px;color:var(--ink);font-size:max(12px,13px);font-weight:700}
.catalog-filter{display:flex;flex-wrap:wrap;gap:8px}
.catalog-filter button{padding:10px 14px;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s}
.catalog-filter button:hover,.catalog-filter button.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}
.catalog-search>div{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--ink)}
.catalog-search input{min-width:0;padding:12px 4px;color:var(--ink);background:transparent;border:0;outline:0;font:inherit}
.catalog-search button{padding:12px 4px 12px 20px;color:var(--ink);background:transparent;border:0;cursor:pointer;font-weight:700}
.catalog-search button span{display:inline-block;margin-left:12px;transition:transform .35s}
.catalog-search button:hover span{transform:translateX(6px)}
.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:34px 0 26px}
.catalog-summary p{margin:0}
.catalog-summary strong{color:var(--accent);font-family:var(--latin);font-size:max(12px,24px)}
.catalog-summary button{padding:4px 0;color:var(--muted);background:transparent;border:0;border-bottom:1px solid currentColor;cursor:pointer}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.catalog-card{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid rgba(53,75,85,.16);transition:border-color .38s,box-shadow .38s,background .38s}
.catalog-card:hover{background:#fbfdfe;border-color:rgba(95,145,191,.65);box-shadow:0 22px 52px rgba(48,91,126,.11)}
.catalog-card[hidden]{display:none}
.catalog-image{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:#fff;border-bottom:1px solid rgba(53,75,85,.1)}
.catalog-image img{width:100%;height:100%;padding:8%;box-sizing:border-box;object-fit:contain;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.catalog-image--photo img{padding:0;object-fit:cover;filter:saturate(.7)}
.catalog-card:hover .catalog-image img{transform:scale(1.025)}
.catalog-copy{display:flex;flex:1;flex-direction:column;padding:25px 25px 26px}
.catalog-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}
.catalog-badges span{padding:4px 8px;color:#315d7f;background:rgba(95,145,191,.13);font-size:max(12px,10px);font-weight:700;letter-spacing:.04em}
.catalog-badges .is-warm{color:#5c5420;background:var(--warm)}
.catalog-maker{margin:0;color:var(--muted);font-size:max(12px,11px);letter-spacing:.08em}
.catalog-copy h2{margin:9px 0 5px;color:var(--ink);font-family:var(--serif);font-size:max(12px,22px);font-weight:500;line-height:1.5;letter-spacing:-.025em}
.catalog-volume{margin:0 0 14px;color:var(--accent);font-size:max(12px,12px);font-weight:700}
.catalog-copy>p:not(.catalog-maker):not(.catalog-volume){margin:0 0 20px;font-size:max(12px,13px);line-height:1.8}
.catalog-stock-note{display:block;margin:-6px 0 17px;color:#715e12;background:var(--warm-soft);padding:7px 9px;font-size:max(12px,11px)}
.catalog-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:18px;color:var(--ink);border-top:1px solid var(--line);font-size:max(12px,13px);font-weight:700}
.catalog-link i{font-style:normal;transition:transform .35s}
.catalog-card:hover .catalog-link i{transform:translateX(6px)}
.catalog-empty{padding:50px 24px;text-align:center;background:var(--soft)}
.catalog-notice{max-width:850px;margin:42px 0 0;color:var(--muted);font-size:max(12px,12px)}
.catalog-guide{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr auto;gap:6vw;align-items:end}
.catalog-guide h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:max(12px,clamp(34px,4vw,54px));font-weight:400;line-height:1.4}
.catalog-guide>p{max-width:520px;margin:0}
.catalog-guide .line-link{margin:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.catalog-tools{grid-template-columns:1fr}
.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-guide{grid-template-columns:1fr 1fr}
.catalog-guide .line-link{grid-column:2}}
@media(max-width:680px){.catalog-intro{grid-template-columns:1fr;gap:22px;margin-bottom:46px}
.catalog-intro h2{font-size:max(12px,42px)}
.catalog-tools{gap:34px;padding:26px 0}
.catalog-filter{display:grid;grid-template-columns:1fr 1fr}
.catalog-filter button{text-align:left}
.catalog-summary{margin:26px 0 20px}
.catalog-grid{grid-template-columns:1fr;gap:24px}
.catalog-image{aspect-ratio:1.12/1}
.catalog-copy{padding:22px}
.catalog-copy h2{font-size:max(12px,22px)}
.catalog-guide{grid-template-columns:1fr;gap:22px}
.catalog-guide .line-link{grid-column:auto;margin-top:8px}}
/* Product navigation links and package imagery */
.soap-tag-cloud a{padding:10px 19px;color:#3e6074;background:#fff;border:1px solid rgba(95,145,191,.55);border-radius:0;transition:color .35s,background .35s}
.soap-tag-cloud a:hover{color:#fff;background:var(--accent)}
.index-product-image--pack{background:#fff}
.index-product-image--pack img{padding:8%;box-sizing:border-box;object-fit:contain;filter:none}
.index-product-card:hover .index-product-image--pack img{filter:none}
@media(max-width:680px){.soap-tag-cloud a{padding:9px 14px;font-size:max(12px,13px)}}
/* Contact form refinement (2026-10-02): aligned rows, equal control heights, custom select arrow */
.contact-form{gap:18px 28px;align-items:start}
.contact-form .form-field{grid-template-rows:auto auto auto;align-content:start;gap:10px}
.contact-form .form-field label{display:flex;align-items:center;gap:8px;min-height:24px;margin:0;line-height:1.4;letter-spacing:.04em}
.contact-form .form-field em{display:inline-flex;align-items:center;height:20px;padding:0 7px;font-size:max(12px,10px);font-weight:700;letter-spacing:.06em;line-height:1}
.contact-form .form-field input,.contact-form .form-field select{height:56px;padding:0 18px;line-height:1.4}
.contact-form .form-field input,.contact-form .form-field select,.contact-form .form-field textarea{border-color:rgba(53,75,85,.24);border-radius:4px;background-color:#fff;font-size:16px;transition:border-color .3s,box-shadow .3s,background-color .3s}
.contact-form .form-field input:hover,.contact-form .form-field select:hover,.contact-form .form-field textarea:hover{border-color:rgba(53,75,85,.42)}
.contact-form .form-field input:focus,.contact-form .form-field select:focus,.contact-form .form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(95,145,191,.16)}
.contact-form .form-field select{-webkit-appearance:none;appearance:none;padding-right:52px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23344f60' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}
.contact-form .form-field select:invalid{color:var(--muted)}
.contact-form .form-field select option{color:var(--ink)}
.contact-form .form-field textarea{min-height:200px;padding:16px 18px;line-height:1.8}
.contact-form .field-error{display:block;min-height:18px;margin:0;font-size:max(12px,12px);line-height:1.5}
.contact-form .consent-check.full,.contact-form .field-error.full{grid-column:1/-1}
.contact-form .consent-check{align-items:center;gap:14px;margin-top:4px;padding:18px 20px;background:var(--soft);border-radius:4px;line-height:1.7}
.contact-form .consent-check input{width:20px;height:20px;margin:0}
.contact-form .field-error.full{margin-top:-8px}
.contact-form .form-actions{margin-top:4px}
@media(max-width:680px){
.contact-form{gap:16px}
.contact-form .consent-check{padding:16px}
.contact-form .field-error.full{margin-top:-6px}
}
.contact-form .form-field:has(.field-error:not(:empty)) :is(input,select,textarea){border-color:#a34141}
.contact-form .form-field:has(.field-error:not(:empty)) :is(input,select,textarea):focus{box-shadow:0 0 0 4px rgba(163,65,65,.12)}
