/* Shared component system. Page content and search metadata remain server-rendered. */
:root{--ui-ink:#14212d;--ui-slate:#203140;--ui-line:#dce0e2;--ui-wine:#701c27;--ui-gold:#e3b88d;--ui-mist:#f3f5f5}
.ui-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:38px 0 28px}
.ui-card{position:relative;display:flex;flex-direction:column;padding:28px 28px 0;border:1px solid #dce0e2;border-radius:16px;background:#fff;box-shadow:0 6px 20px #14212d07;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.ui-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.ui-icon{width:56px;height:56px;display:grid;place-items:center;background:#f6eeee;color:#701c27;border:1px solid #ead7da;border-radius:14px}
.ui-icon svg{width:32px;height:32px}
.ui-card-index{font:11px monospace;letter-spacing:.09em;color:#69757e}
.ui-card h3{font-size:22px;line-height:1.25;margin:0 0 14px;letter-spacing:-.025em}
.ui-card h3 a{color:#14212d;text-decoration:none}
.ui-card h3 a:after{position:absolute;inset:0;content:'';border-radius:16px}
.ui-card h3 a:focus-visible{outline:none}
.ui-card h3 a:focus-visible:after{outline:3px solid #a81820;outline-offset:-4px}
.ui-card p{font-size:15px!important;line-height:1.75!important;color:#56646f!important;margin:0 0 26px!important}
.ui-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e2e6e8;margin-top:auto;padding:17px 0;color:#701c27;font-size:12px;font-weight:700}
.ui-card-foot>span:last-child{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#f6eeee;font-size:17px;transition:transform .22s}
.ui-card:nth-child(3n){background:#182a38;border-color:#344857;box-shadow:0 14px 32px #14212d18}
.ui-card:nth-child(3n) h3 a{color:#fff}.ui-card:nth-child(3n) p{color:#c9d5dd!important}.ui-card:nth-child(3n) .ui-card-index{color:#aebdc8}.ui-card:nth-child(3n) .ui-icon{background:#2b3e4c;border-color:#49606d;color:#e3b88d}.ui-card:nth-child(3n) .ui-card-foot{border-color:#405360;color:#edc5a0}.ui-card:nth-child(3n) .ui-card-foot>span:last-child{background:#314856}
@media(hover:hover){.ui-card:hover{transform:translateY(-5px);border-color:#a88b91;box-shadow:0 18px 38px #14212d19}.ui-card:hover .ui-card-foot>span:last-child{transform:rotate(45deg)}}
.ui-explorer{margin:38px 0 28px;border:1px solid #344857;border-radius:18px;overflow:hidden;background:#14212d;box-shadow:0 20px 46px #14212d15;color:white}
.ui-tabs{display:flex;padding:12px;gap:8px;background:#0e1b26;border-bottom:1px solid #344857}
.ui-tabs button{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:16px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#c1cdd6;text-align:left;font:600 12px/1.5 Arial,sans-serif;cursor:pointer}
.ui-tabs button>span:first-child{font:12px monospace;color:#e3b88d}.ui-tabs button>span:last-child{margin-left:auto}.ui-tabs button[aria-selected=true]{background:#2b3d4c;border-color:#52616c;color:white}.ui-tabs button:hover{background:#253847}
.ui-stage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.ui-stage[hidden],.ui-tabs[hidden],.ui-next[hidden]{display:none}
.ui-stage-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:28px;background:radial-gradient(ellipse at 50% 50%,#29414a80,transparent 70%),linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px),#132330;background-size:auto,28px 28px,28px 28px,auto;border-right:1px solid #344857}
.ui-stage-no{font:48px/1 Georgia,serif;color:#e3b88d}.ui-stage-art svg{width:100%;max-height:235px}.ui-art-label{font:9px/1.6 monospace;letter-spacing:.13em;color:#a4b8c5}
.ui-stage-copy{padding:36px;align-self:center}.ui-stage-copy .ui-eyebrow{font:10px monospace!important;letter-spacing:.13em;color:#e3b88d!important;margin:0 0 20px!important}
.ui-stage-copy h3{font-size:clamp(23px,2.3vw,32px);line-height:1.2;color:white;margin:0 0 18px;letter-spacing:-.025em}.ui-stage-copy>p{color:#c9d5dd!important;font-size:16px!important;line-height:1.8!important}
.ui-next{padding:12px 0;margin-top:12px;background:none;border:0;border-bottom:1px solid #8a7270;color:#edc5a0;font-weight:700;cursor:pointer}.ui-next span{margin-left:28px}
.ui-explorer :is(button,[tabindex]):focus-visible{outline:3px solid #edc5a0;outline-offset:-3px}
.ui-stage-checks{list-style:none;padding:0;margin:24px 0;color:#d7e0e6}.ui-stage-checks li{position:relative;padding:9px 0 9px 25px;border-bottom:1px solid #344857;font-size:14px;line-height:1.6}.ui-stage-checks li:before{content:'✓';color:#e3b88d;position:absolute;left:0}
.ui-checkpoint{background:#293c49;border:1px solid #48606c;border-left:3px solid #e3b88d;border-radius:8px;padding:18px;margin-top:26px}.ui-checkpoint strong{font-size:12px;color:#edc5a0}.ui-checkpoint p{color:#d7e0e6!important;font-size:14px!important;line-height:1.7!important;margin:10px 0 0!important}
/* A rhythm of open copy, tactile cards and darker collaboration panels. */
.mc-water-page .ir-scope{background:#f1f4f4}.mc-water-page .ir-process{background:#fff}.mc-water-page .ir-process>h2{max-width:800px}
.mc-water-page .water-introduction .ir-emergency{border-radius:14px;background:#fff;box-shadow:10px 12px 0 #edf0ef;border-top-width:4px}
.ir-role-list{counter-reset:roles}.ir-role-list article{counter-increment:roles;background:#203443;border:1px solid #3b515f!important;border-radius:13px;padding:25px!important}.ir-role-list article:before{content:'0' counter(roles);display:block;font:11px monospace;color:#e3b88d;margin-bottom:24px}.ir-role-list h3{color:#fff}.ir-role-list p{color:#c9d5dd!important}.ir-role-list article:last-child{border-top:3px solid #e3b88d!important}
.ir-ready ul{padding:24px!important;border:1px solid #dce0e2;border-radius:14px;background:#f7f9f9;box-shadow:8px 8px 0 #edf0ef}
.mc-water-page .ir-john{background:#eaf0f1}.ir-john-person img{border-radius:12px;box-shadow:0 16px 32px #14212d20}
:is(.ir-faq,.ip-faq,.ab-faq,.ct-faq) details{background:#fff;border:1px solid #dce0e2!important;border-radius:10px;margin-bottom:10px;padding:0 20px!important;overflow:hidden}
:is(.ir-faq,.ip-faq,.ab-faq,.ct-faq) details[open]{border-color:#ba9298!important;box-shadow:0 6px 20px #14212d08}
:is(.ir-faq,.ip-faq,.ab-faq,.ct-faq) summary{padding-block:21px!important;min-height:64px;line-height:1.5}
:is(.ir-faq,.ip-faq,.ab-faq,.ct-faq) details>p{padding-bottom:22px!important}
.ip-index{position:relative;margin-top:-26px;background:white;border:1px solid #dce0e2;border-radius:12px;box-shadow:0 12px 32px #14212d15;z-index:1;overflow:hidden}
.ip-credential{padding:28px;border:1px solid #344857;border-radius:14px;background:#14212d;color:white;box-shadow:10px 10px 0 #edf0ef}.ip-credential p,.ip-intro .ip-credential p:last-child{color:#c9d5dd}.ip-credential a{display:block;margin-top:22px;color:#edc5a0}.ip-credential>span{color:#e3b88d}
.ip-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ip-rows article{display:flex;flex-direction:column;gap:20px;padding:28px;border:1px solid #dce0e2;border-radius:14px;background:#f4f6f6}.ip-rows .ip-number{font-size:40px;color:#701c27}.ip-rows .ip-row-label{margin:0;padding:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.ip-rows article:last-child{background:#14212d;color:white;border-color:#344857}.ip-rows article:last-child :is(p,.ip-number){color:#d4dfe5}.ip-rows article:last-child .ip-row-label{color:#e3b88d}
.ip-checklist{border-radius:15px;box-shadow:12px 12px 0 #e3e7e6}.ip-checklist>div>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:8px;background:#f6eeee}.ip-boundary{margin-block:55px;border:1px solid #dce0e2;border-left:4px solid #701c27;border-radius:12px;padding:35px;max-width:1180px;background:#f8f9f9}.ip-author img{border-radius:12px}.ip-since{border-radius:14px;background:#eef2f3;padding:25px}.ip-faq{max-width:1000px}
.ab-principles{gap:22px!important}.ab-principles article{padding:28px!important;border:1px solid #dce0e2!important;border-radius:14px;background:#fff;box-shadow:0 8px 26px #14212d08}.ab-principles .ab-number{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8b9bd;border-radius:12px;background:#f7edef;margin-bottom:26px}
.ab-stages{gap:24px!important}.ab-stages article{border:1px solid #405360!important;border-radius:16px;padding:30px!important;background:#203443;color:white}.ab-stages article p{color:#c9d5dd!important}.ab-stages article h3{color:white}.ab-stages .ab-number{color:#e3b88d}.ab-stages article:last-child{border-top:3px solid #e3b88d!important}.ab-credentials-marks{padding:30px;border-radius:14px;background:white;border:1px solid #dce0e2}
.ct-contact-strip{background:#f2f5f5!important;padding-block:32px!important}.ct-contact-grid{gap:20px!important}.ct-contact-grid>div{border:1px solid #dce0e2!important;border-radius:14px;padding:25px!important;background:white;box-shadow:0 8px 24px #14212d08;min-width:0}.ct-contact-value{overflow-wrap:anywhere}.ct-checklist li{padding:20px!important;border:1px solid #dce0e2!important;border-radius:12px;background:white;margin-bottom:14px}.ct-emergency{border-radius:18px;box-shadow:12px 12px 0 #e3e7e6}
.mc-insurance-page:not(.mc-water-page) .ui-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-insurance-page:not(.mc-water-page) .ui-stage{grid-template-columns:1fr}.mc-insurance-page:not(.mc-water-page) .ui-stage-art{min-height:160px;display:none}
/* Process page: an overview, stage explorer and clear preparation cards. */
.pr-page{background:#fff;color:#14212d}.pr-wrap{max-width:1244px;margin:auto;padding:80px 32px}.pr-page h1{font-size:clamp(43px,5vw,72px);line-height:1.05;letter-spacing:-.045em;margin:20px 0 28px}.pr-page h1 em{font-family:Georgia,serif;color:#edbcc2;font-weight:400}.pr-page h2{font-size:clamp(29px,3vw,43px);line-height:1.13;letter-spacing:-.035em;margin:0 0 26px}.pr-page p{line-height:1.8}.pr-kicker{font:700 11px/1.5 monospace;letter-spacing:.12em;text-transform:uppercase;color:#701c27}.pr-hero{background:radial-gradient(ellipse at 80% 20%,#354954,transparent 60%),#14212d;color:white}.pr-hero .pr-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-block:95px}.pr-hero .pr-kicker{color:#e3b88d}.pr-hero p{color:#c9d5dd}.pr-button{display:inline-flex;align-items:center;gap:32px;text-decoration:none;background:#701c27;color:white;padding:17px 24px;margin-top:16px;font-size:13px;font-weight:700;border-radius:6px}.pr-hero-card{padding:30px;border:1px solid #52616c;border-radius:18px;background:#203443;box-shadow:18px 18px 0 #0d192950}.pr-hero-card h2{font-size:25px}.pr-hero-card ol{padding:0;list-style:none;counter-reset:journey}.pr-hero-card li{counter-increment:journey;display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #405360;font-size:14px}.pr-hero-card li:before{content:'0' counter(journey);font:11px monospace;color:#e3b88d}.pr-summary{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.pr-summary p{margin-top:0;color:#56646f}.pr-workspace{background:#eef2f3}.pr-workspace .pr-wrap>p{max-width:720px}.pr-handoff{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pr-handoff article{padding:28px;border:1px solid #dce0e2;border-radius:14px;background:#f5f7f7}.pr-handoff h3{font-size:21px}.pr-handoff p{color:#56646f;font-size:15px}.pr-handoff article:last-child{background:#14212d;color:white}.pr-handoff article:last-child p{color:#c9d5dd}.pr-author{background:#eef2f3}.pr-author .pr-wrap{display:grid;grid-template-columns:180px 1fr;gap:45px;align-items:center}.pr-author img{width:180px;height:210px;object-fit:cover;border-radius:14px}.pr-author a{color:#701c27}.pr-faq{max-width:1000px}.pr-faq details{border:1px solid #dce0e2;border-radius:10px;margin-bottom:12px;padding:22px}.pr-faq summary{font-weight:bold;cursor:pointer}.pr-close{background:#701c27;color:white}.pr-close .pr-wrap{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-block:55px}.pr-close .pr-button{background:white;color:#701c27;white-space:nowrap}.pr-close p{max-width:740px}.pr-page :is(a,summary):focus-visible{outline:3px solid #be8c95;outline-offset:5px}
@media(max-width:1000px){.ui-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-tabs{flex-wrap:wrap}.ui-tabs button{flex-basis:40%}.ip-rows{gap:14px}.ip-rows article{padding:22px}.ip-boundary{margin-inline:32px}.pr-hero .pr-wrap{gap:35px}.pr-summary{gap:35px}.ct-contact-grid{grid-template-columns:1fr!important}}
@media(max-width:700px){.ui-cards,.mc-insurance-page:not(.mc-water-page) .ui-cards,.ip-rows,.pr-handoff{grid-template-columns:1fr}.ui-card{padding:25px 25px 0}.ui-stage{grid-template-columns:1fr}.ui-stage-art{min-height:180px;border-right:0;border-bottom:1px solid #344857;padding:20px}.ui-stage-art svg{position:absolute;right:20px;top:5px;height:150px;width:60%}.ui-stage-copy{padding:26px}.ui-tabs button{font-size:11px;padding:12px 9px}.ui-tabs button>span:last-child{display:none}.ip-index{margin:0;border-radius:0;box-shadow:none}.ip-index a{padding:20px 12px;gap:8px;flex-wrap:wrap}.ip-boundary{margin-inline:24px;padding:26px}.pr-wrap{padding:50px 24px}.pr-hero .pr-wrap,.pr-summary{grid-template-columns:1fr;gap:30px}.pr-hero .pr-wrap{padding-block:55px}.pr-hero-card{padding:25px;box-shadow:8px 8px 0 #0d192950}.pr-author .pr-wrap{grid-template-columns:1fr;gap:24px}.pr-author img{width:110px;height:135px}.pr-close .pr-wrap{display:block}.pr-close h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.ui-card,.ui-card-foot>span:last-child{transition:none!important;transform:none!important}}
.pr-page [id]{scroll-margin-top:150px}
@media print{.ui-tabs,.ui-next{display:none!important}.ui-stage[hidden]{display:grid!important}.ui-explorer,.ui-stage-copy{background:white;color:black}.ui-stage-copy :is(h3,p){color:black!important}.ui-stage-art{display:none}.ui-stage{display:block}}
