/* Hallmark · genre: editorial · macrostructure: Long Document · design-system: design.md · designed-as-app */
.contacts-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:48px}
.contacts-layout>section{padding:clamp(24px,3vw,48px);border:1px solid var(--line);border-radius:16px;background:var(--white)}
.contacts-layout h2{font-family:var(--font-display);font-weight:400;font-size:36px;margin:0 0 28px}
.contacts-layout dl{margin:24px 0 32px}
.contacts-layout dl>div{padding:16px 0;border-bottom:1px solid var(--line)}
.contacts-layout dt{font-size:13px;color:var(--muted);margin-bottom:8px}
.contacts-layout dd{margin:0;font-size:18px;line-height:1.6;overflow-wrap:anywhere}
.contacts-direct dd a{font-size:clamp(20px,2.3vw,32px);text-decoration:none;color:var(--ink)}
.contacts-direct dd a:hover{color:var(--accent-text)}
.contacts-layout p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:24px}
.contacts-layout .contacts-note{font-size:14px;margin-bottom:0}
.contacts-layout .button{background:#d5d2cc;color:var(--ink);gap:20px;transition:background-color .2s ease,color .2s ease}
.contacts-layout .button:hover,.contacts-layout .button:focus-visible{background:var(--accent);color:var(--ink)}
.contacts-layout{gap:24px;align-items:stretch}
.contacts-layout>section{position:relative;display:flex;flex-direction:column;min-height:100%;box-sizing:border-box;border:0;box-shadow:0 12px 32px rgba(17,19,21,.06);overflow:hidden}
.contacts-layout>section::before{content:'';position:absolute;inset:0 0 auto;height:4px;background:var(--accent)}
.contacts-layout h2{font-size:clamp(30px,3vw,42px);line-height:1.05;letter-spacing:-.02em;margin-bottom:34px}
.contacts-layout dl{margin-top:0}
.contacts-direct{background:var(--ink)!important;color:var(--white)}
.contacts-direct dt{color:rgba(255,255,255,.58)}
.contacts-direct dd,.contacts-direct dd a{color:var(--white)}
.contacts-direct dl>div{border-color:rgba(255,255,255,.2)}
.contacts-direct p{color:rgba(255,255,255,.7);margin-top:auto}
.contacts-direct .button{margin-top:8px}
.contacts-details{background:var(--white)}
.contacts-details>p:first-of-type{font-size:17px;line-height:1.55;color:var(--ink);margin:0;min-height:0;max-width:34em}
.contacts-details dl{margin-bottom:24px}
.contacts-details dd{font-size:17px}
.contacts-details dl>div:nth-child(-n+4) dd{font-size:clamp(20px,2.3vw,32px);line-height:1.2}
.contacts-details dl>div:nth-child(1){height:112px;box-sizing:border-box}
.contacts-details dl>div:nth-child(2){height:114px;box-sizing:border-box}
.contacts-details dl>div:nth-child(3){height:114px;box-sizing:border-box}
.contacts-details dl>div:nth-child(4){min-height:76px;box-sizing:border-box}
.contacts-direct .button{background:#f3f1ed!important;color:#111214!important;border:1px solid #f3f1ed!important;box-shadow:none!important;transform:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important}
.contacts-direct .button::before{display:none!important}
.contacts-direct .button:hover,.contacts-direct .button:focus-visible{background:#ff572f!important;color:#111214!important;border-color:#ff572f!important;box-shadow:none!important;transform:none!important}
body.site-shared .contacts-direct .button.button-dark{background:#f3f1ed!important;color:#111214!important;border-color:#f3f1ed!important}
body.site-shared .contacts-direct .button.button-dark:hover,body.site-shared .contacts-direct .button.button-dark:focus-visible{background:#ff572f!important;color:#111214!important;border-color:#ff572f!important;box-shadow:none!important;transform:none!important}
.contacts-layout dl>div:last-child{border-bottom:0}
.contacts-details .contacts-note{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
@media(min-width:64rem){.contacts-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
/* Pre-emit critique: philosophy 4, hierarchy 4, execution 4, specificity 3, restraint 4; shared-brand consistency preserved. */
.editorial-card img[src$="water-systems-cover.svg"]{object-fit:contain;background:var(--ink)}
.inner-page>main.editorial-main{width:calc(100% - clamp(20px,5.5vw,88px)*2);max-width:1480px;margin:0 auto;padding:144px 0 96px;color:var(--ink)}
.editorial-main *{min-width:0}
.editorial-main .breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--muted);margin-bottom:40px}
.editorial-main .breadcrumbs a{text-underline-offset:5px}
.editorial-main h1{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,5.2vw,80px);line-height:1.05;letter-spacing:0;max-width:1100px;margin:0 0 24px;text-transform:uppercase;animation:none;transform:none;opacity:1}
.editorial-main .editorial-lead{font-size:clamp(18px,1.5vw,23px);line-height:1.6;max-width:840px;margin:0 0 32px;color:var(--muted)}
.editorial-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted);margin:0 0 20px}
.editorial-meta span:first-child{color:var(--accent-text)}
.editorial-cover{margin:40px 0 56px}
.editorial-cover img{display:block;width:100%;height:clamp(240px,35vw,480px);object-fit:cover}
.editorial-cover figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 64px}
.editorial-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:16px;height:100%;overflow:hidden}
.editorial-card img{width:100%;aspect-ratio:1.6;object-fit:cover;display:block;transition:transform var(--dur-long) var(--ease-out)}
.editorial-card .card-photo{overflow:hidden}
.editorial-card .card-photo{border-radius:15px 15px 0 0}
@media(max-width:30rem){.editorial-card{border-radius:12px}.editorial-card .card-photo{border-radius:11px 11px 0 0}}
.editorial-card .card-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.editorial-card h2,.editorial-card h3{font-family:var(--font-body);font-size:clamp(20px,1.6vw,25px);font-weight:600;line-height:1.35;letter-spacing:-.025em;text-transform:none;margin:0 0 16px}
.editorial-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 28px}
.editorial-card .card-end{margin-top:auto;display:flex;justify-content:space-between;gap:16px;font-size:13px;align-items:center}
.editorial-card .card-arrow{font-size:24px;color:var(--accent-text)}
.editorial-card:hover h2,.editorial-card:hover h3{color:var(--accent-text)}
.editorial-card:hover img{transform:scale(1.025)}
.editorial-main a:focus-visible,.editorial-main button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.editorial-card:active{background:var(--paper-deep)}
.reading-layout{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,760px);gap:clamp(40px,7vw,112px);align-items:start}
.reading-toc{position:sticky;top:112px;padding:24px 0;border-top:2px solid var(--ink)}
.reading-toc strong{display:block;margin-bottom:20px;font-weight:600}
.reading-toc nav{display:grid;gap:16px}
.reading-toc a{font-size:14px;line-height:1.5;color:var(--muted);text-decoration:none}
.reading-toc a:hover{color:var(--accent-text)}
.reading-body{font-size:18px;line-height:1.8}
.reading-body section{margin-bottom:48px;scroll-margin-top:120px}
.reading-body h2{font-family:var(--font-body);font-size:clamp(25px,2.2vw,34px);font-weight:600;line-height:1.25;letter-spacing:-.035em;text-transform:none;margin:0 0 24px}
.reading-body h3{font-family:var(--font-body);font-size:21px;line-height:1.4;text-transform:none;margin:28px 0 12px}
.reading-body p{margin:0 0 20px;max-width:none}
.reading-body ul,.reading-body ol{padding-left:24px;margin:20px 0 28px}
.reading-body li{padding-left:6px;margin-bottom:12px}
.reading-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-text);text-underline-offset:4px}
.reading-note{background:var(--paper-deep);border-left:3px solid var(--accent);padding:24px 28px;margin:28px 0;font-size:17px;line-height:1.7}
.reading-note p:last-child{margin-bottom:0}
.reading-table{overflow-x:auto;margin:24px 0 32px}
.reading-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6}
.reading-table th,.reading-table td{text-align:left;vertical-align:top;padding:16px;border-bottom:1px solid var(--line)}
.reading-table th{background:var(--paper-deep);font-weight:600}
.editorial-related{margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.editorial-related>h2,.editorial-cta h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,3vw,48px);line-height:1.1;margin:0 0 20px}
.editorial-related .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.editorial-cta{margin-top:48px;padding:32px;background:var(--ink);color:var(--white)}
.editorial-cta p{color:var(--light-muted);margin-bottom:24px;font-size:17px;line-height:1.6;max-width:680px}
.editorial-cta .button{background:var(--accent);color:var(--ink);border:0;min-height:56px;text-decoration:none;padding:16px 24px;cursor:pointer;gap:32px}
.editorial-cta .button:after{content:none}
.editorial-cta .button:focus-visible{outline-color:var(--white)}
.editorial-cta .button:hover{background:var(--white)}
.editorial-tabs{display:flex;gap:32px;border-bottom:1px solid var(--line);margin-top:40px}
.editorial-tabs a{padding:16px 0;text-decoration:none;color:var(--muted)}
.editorial-tabs a[aria-current]{color:var(--ink);border-bottom:3px solid var(--accent)}
.editorial-notice{padding:32px 0;border-top:1px solid var(--line);max-width:800px}
.editorial-notice h2{font-family:var(--font-body);font-size:24px;text-transform:none;margin:0 0 16px}
.editorial-notice p{line-height:1.7;color:var(--muted)}
.editorial-tabs + .editorial-notice{border-top:0;padding-top:40px}
.service-proof{display:flex;flex-wrap:wrap;gap:24px 40px;margin:32px 0;color:var(--muted);font-size:14px}
.service-proof strong{color:var(--ink)}
.service-other-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.service-other-links a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:17px;line-height:1.5}
.service-other-links a:hover{color:var(--accent-text)}
@media(max-width:600px){.service-other-links{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1600px){.reading-layout{grid-template-columns:300px minmax(0,840px)}}
@media(max-width:1000px){.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-layout{grid-template-columns:minmax(0,1fr);gap:32px}.reading-toc{position:static}.reading-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-body{max-width:800px}}
@media(max-width:600px){.editorial-main{padding-top:112px;padding-bottom:56px}.editorial-main .breadcrumbs{margin-bottom:28px;font-size:12px}.editorial-main h1{font-size:44px;overflow-wrap:break-word}.editorial-grid,.editorial-related .editorial-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:28px}.editorial-card .card-copy{padding:20px}.editorial-cover{margin:28px 0 32px}.editorial-cover img{height:240px}.reading-toc nav{grid-template-columns:minmax(0,1fr)}.reading-body{font-size:16px;line-height:1.8}.reading-note{padding:20px;font-size:16px}.editorial-cta{padding:24px}.editorial-cta .button{width:100%;justify-content:space-between}.reading-table th,.reading-table td{padding:10px;font-size:13px}.editorial-related{margin-top:48px}.editorial-tabs{gap:24px}}
@media(prefers-reduced-motion:reduce){.editorial-card img{transition:none}.editorial-card:hover img{transform:none}}
@media(max-width:600px){.inner-page>main.editorial-main{padding-top:112px;padding-bottom:56px}}
