﻿
:root{
  --bg:#f3f7fc;--surface:#ffffff;--surface-soft:#f8fbff;--text:#10244d;--text-soft:#5f6f8f;
  --line:#dbe5f4;--line-strong:#c7d5ea;--blue:#2f6fff;--blue-dark:#1d56dc;--blue-soft:#edf4ff;
  --gold:#e1a626;--gold-dark:#956100;--green:#20b890;--green-dark:#0c8c6b;
  --shadow:0 18px 50px rgba(30,60,114,.07);--shadow-soft:0 8px 22px rgba(16,36,77,.05);
  --radius-lg:30px;--radius-xl:36px;--container:1240px;--header-h:88px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden}img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid rgba(47,111,255,.72);outline-offset:4px}
p{margin:0 0 1rem}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;color:var(--text)}
.text-blue{color:var(--blue)}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:.75rem 1rem;z-index:999}.skip-link:focus{left:1rem;top:1rem}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.page-wrap{padding:30px 0 80px}
h1{font-size:clamp(2.35rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em;font-weight:900;text-wrap:balance}
h2{font-size:clamp(2rem,3vw,3rem);line-height:1.06;letter-spacing:-.035em;font-weight:850;text-wrap:balance}
h3{font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.16;letter-spacing:-.02em;font-weight:800}
h4{font-size:1.05rem;font-weight:800;line-height:1.25}.lead{font-size:1.1rem;line-height:1.7;color:var(--text-soft)}
.section{margin-top:34px}.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.section-head.center{text-align:center;align-items:center}
.section-head p{max-width:780px;color:var(--text-soft);font-size:1.05rem;line-height:1.7}
.hero-badge,.section-kicker,.badge{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:999px;background:var(--blue-soft);color:var(--blue);border:1px solid #dbe8ff;font-size:.82rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;width:fit-content;max-width:100%}
.contact-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;background:#ebfff6;border:1px solid #c9f3e2;color:var(--green-dark);font-size:.9rem;font-weight:850}.contact-pill::before{content:"●";color:#18bf8d;font-size:.7rem}
.card,.service-card,.review-card,.project-card,.article-card,.local-card,.panel,.login-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:18px;border:1px solid transparent;font-size:1rem;font-weight:850;line-height:1;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;color:inherit}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#4d89ff 0%,#2f6fff 100%);color:#fff;box-shadow:0 14px 28px rgba(47,111,255,.2)}
.btn-secondary{background:#fff;color:var(--blue);border-color:#d2e0ff;box-shadow:var(--shadow-soft)}.btn-gold{background:linear-gradient(135deg,#f3b943 0%,#e0a11f 100%);color:#fff;box-shadow:0 14px 28px rgba(224,161,31,.18)}
.btn-green{background:linear-gradient(135deg,#43ccb1 0%,#22b291 100%);color:#fff;box-shadow:0 14px 28px rgba(34,178,145,.18)}.btn-white{background:#fff;color:var(--blue);border-color:#fff}.btn-line-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.site-header__inner{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand__mark{width:58px;height:58px;display:grid;place-items:center;background:transparent;border:0;overflow:visible;filter:drop-shadow(0 10px 16px rgba(17,57,140,.22)) drop-shadow(0 0 0.5px rgba(12,38,92,.28))}.brand__mark img{width:100%;height:100%;object-fit:contain}
.brand__copy{display:flex;flex-direction:column;min-width:0}.brand__copy strong{font-size:1.05rem;letter-spacing:-.02em}.brand__copy small{font-size:.87rem;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:flex-end}.site-nav a,.site-nav summary{min-height:42px;padding:0 12px;border-radius:14px;display:inline-flex;align-items:center;color:#4e607f;font-size:.95rem;font-weight:760;white-space:nowrap}
.site-nav a:hover,.site-nav a.is-active{background:#eef4ff;color:var(--blue)}.site-nav__client{margin-left:6px;border:1px solid var(--line-strong);background:#fff}
.site-nav__client--connected{gap:10px;padding:8px 12px;min-height:52px;background:rgba(255,255,255,.88)!important}
.site-nav__client--admin{border-color:#efd5a0;background:linear-gradient(135deg,#fff8ea 0%,#fff 100%)!important;color:var(--gold-dark)!important}
.site-nav__client--admin .site-nav__initials{background:linear-gradient(135deg,#f3c452,#a96d08)}
.site-nav__initials{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#7aa8ff,#4f80f3);color:#fff;font-size:.9rem;font-weight:900}
.site-nav__client-copy{display:flex;flex-direction:column;line-height:1.05}
.site-nav__client-copy strong{font-size:.9rem}
.site-nav__client-copy small{display:flex;align-items:center;gap:6px;font-size:.74rem;color:#42996a}
.site-nav__status-dot{width:8px;height:8px;border-radius:50%;background:#3bc96a;box-shadow:0 0 0 4px rgba(59,201,106,.12)}
.site-nav__menu{position:relative;list-style:none}
.site-nav__menu summary{list-style:none;cursor:pointer}
.site-nav__menu summary::-webkit-details-marker{display:none}
.site-nav__menu[open] .site-nav__dropdown{display:grid}
.site-nav__dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:190px;padding:10px;border-radius:18px;background:rgba(255,255,255,.98);border:1px solid var(--line);box-shadow:var(--shadow-soft);z-index:20}
.site-nav__dropdown a{padding:12px 14px;border-radius:12px}
.site-nav__dropdown a:hover{background:#eef4ff;color:var(--blue)}
.site-header__mobile-actions{display:none;align-items:center;gap:10px}.nav-toggle{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;gap:4px;padding:0;flex-direction:column;box-shadow:var(--shadow-soft)}.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);border-radius:999px}.mobile-connected-pill{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border-radius:999px;background:#ecfff7;border:1px solid #b9ecd9;color:var(--green-dark);font-size:.82rem;font-weight:900;box-shadow:var(--shadow-soft)}.mobile-connected-pill span{width:8px;height:8px;border-radius:50%;background:#2fd39d;box-shadow:0 0 0 5px rgba(47,211,157,.14)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font-size:.95rem;color:var(--text-soft);margin-bottom:18px}.breadcrumb a:hover{color:var(--blue)}.breadcrumb__sep{opacity:.5}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(450px,530px);gap:24px;align-items:start;padding:24px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero__copy,.hero__media{min-width:0}.hero__copy{display:flex;flex-direction:column;gap:16px}.hero__copy h1{max-width:560px;margin:0}.hero__copy .lead{max-width:560px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__media{display:flex;flex-direction:column;gap:12px}.hero__image-shell{border-radius:28px;padding:10px;background:linear-gradient(180deg,#eef4ff 0%,#dde9ff 100%);border:1px solid #d6e3f7;box-shadow:0 20px 48px rgba(30,60,114,.08)}.hero__image{position:relative;min-height:0}
.hero__image .media-block{aspect-ratio:1.48 / 1}.hero__chips{position:absolute;left:14px;right:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:10px}
.hero__image--sdb .media-block{aspect-ratio:16 / 9}.hero__image--sdb img{object-position:center center}
.hero__chip{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid rgba(208,220,241,.95);font-size:.92rem;font-weight:850;box-shadow:0 8px 18px rgba(16,36,77,.08)}.hero__chip--gold{color:var(--gold-dark)}.hero__chip--blue{color:var(--blue)}.hero__chip--green{color:var(--green-dark)}
.hero__reviews{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:18px 22px;border-radius:24px;background:linear-gradient(135deg,#ffffff 0%,#fbfdff 58%,#f3f7ff 100%);border:1px solid #d9e5f7;box-shadow:0 18px 38px rgba(16,36,77,.08);min-width:0}.hero__avatars{display:flex;align-items:center;flex-shrink:0;padding-left:10px}.hero__avatar-dot{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:linear-gradient(135deg,#dce8ff 0%,#f4f8ff 100%)}.hero__avatar-dot:first-child{margin-left:0}
.hero__reviews strong{display:block;font-size:1.08rem;line-height:1.25;color:#071a44}.hero__reviews span{font-size:.95rem;color:#4f607f}.hero__stars{display:inline-flex;width:fit-content;margin-bottom:4px;padding:4px 9px;border-radius:999px;background:#fff7df;color:#d99512;border:1px solid #f1d391;letter-spacing:1.5px;font-size:.86rem!important;line-height:1}.hero__trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}
.trust-card{display:flex;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border-radius:18px;background:#fbfdff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.trust-card__icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#eef5ff,#fff7df);color:var(--blue);border:1px solid #dbe8ff}.trust-card__icon svg{width:18px;height:18px;fill:currentColor}.trust-card strong{display:block;font-size:.95rem;line-height:1.15}
.google-verified-strip{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;padding:10px 14px;border-radius:18px;background:#fff;border:1px solid #dbe8ff;box-shadow:var(--shadow-soft)}.google-verified-strip .hero__stars{margin:0}.google-verified-strip strong{font-size:.95rem;color:#071a44}
.media-block{position:relative;width:100%;aspect-ratio:var(--media-ratio, 4 / 3);border-radius:24px;overflow:hidden}.media-block img{width:100%;height:100%;object-fit:cover}.media-block--image{background:#dfeafc}
.media-block--placeholder{background:linear-gradient(135deg,var(--media-bg,#eef4ff) 0%,#d9e8ff 100%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.media-block--placeholder::before{content:"";position:absolute;inset:10px;border-radius:18px;border:1px dashed rgba(255,255,255,.6)}
.media-block__inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;gap:10px}.media-block__eyebrow{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;opacity:.8}
.media-block__file{font-size:clamp(1rem,2vw,1.9rem);line-height:1.15;letter-spacing:-.03em;font-weight:900;overflow-wrap:anywhere}.media-block__meta{font-size:.85rem;color:#43577b;overflow-wrap:anywhere}
.media-block--avatar{border-radius:20px}.media-block--avatar::before{inset:8px;border-radius:16px}.media-block--avatar .media-block__inner{padding:10px}.media-block--avatar .media-block__file{font-size:.95rem}.media-block--avatar .media-block__meta{font-size:.7rem}
.services-grid,.reviews-grid,.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card,.review-card,.project-card,.article-card,.local-card,.panel,.login-card,.contact-card{min-width:0;padding:20px}
.service-card{position:relative;display:flex;flex-direction:column;height:100%;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;color:inherit;cursor:pointer}
.service-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 24px 46px rgba(16,36,77,.12)}
.service-card--gold{border-color:#efd5a0;background:#fff8ea}.service-card--blue{border-color:#c9dbff;background:#f4f8ff}.service-card--green{border-color:#b9ecd9;background:#f2fcf7}.service-card__media{margin-bottom:16px}
.service-card__badge{position:absolute;z-index:3;top:14px;right:14px;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(185,236,217,.96);box-shadow:0 10px 22px rgba(12,140,107,.16);color:var(--green-dark);font-size:.74rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}
.service-card__badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#2fd39d;box-shadow:0 0 0 5px rgba(47,211,157,.14)}
.service-card .feature-list{margin-top:auto}
.service-card .btn{margin-top:auto}
.service-card .feature-list + .btn{margin-top:6px}
.service-card p,.review-card p,.project-card p,.article-card p,.panel p,.local-card p,.contact-card p{color:var(--text-soft);line-height:1.68}.feature-list{display:grid;gap:12px;margin:0 0 18px}.feature-list li{list-style:none;position:relative;padding-left:24px;color:var(--text);line-height:1.5}.feature-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--blue);font-weight:900}
.icon-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.icon-tile{display:flex;align-items:flex-start;gap:12px;min-height:90px;padding:16px 18px;border-radius:22px;background:#f7fbff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.icon-tile strong{display:block;margin-bottom:6px}.icon-tile span{display:block;color:var(--text-soft);font-size:.93rem;line-height:1.45}
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.step-card{padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.step-card__num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;margin-bottom:14px}
.review-card{display:flex;flex-direction:column;gap:14px}.review-card__top{display:flex;align-items:flex-start;gap:14px;min-width:0}.review-card__avatar{width:76px;height:76px;flex:0 0 auto;border-radius:20px;overflow:hidden;background:#f3f7fc;border:1px solid var(--line)}.review-card__body{min-width:0}.review-card__body h3{font-size:1.25rem;margin-bottom:4px}.review-card__service{display:block;margin-bottom:8px;color:var(--text-soft);font-size:.95rem}
.article-search{position:relative}.article-search input{width:100%;min-height:58px;padding:0 18px 0 52px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);font-size:1rem}.article-search::before{content:"⌕";position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#7082a0}
.article-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.article-filter{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#5a6b8d;font-size:.92rem;font-weight:760}.article-filter.is-active{background:#eef4ff;color:var(--blue);border-color:#d6e3ff}
.articles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.article-card{position:relative;overflow:hidden;padding:0;background:#fff;border-radius:18px;box-shadow:0 18px 38px rgba(16,36,77,.08);transition:transform .2s ease, box-shadow .2s ease}.article-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(16,36,77,.12)}.article-card__visual{position:relative;display:block;margin:0 0 20px;background:#eef4ff;overflow:hidden}.article-card__visual .media-block{border-radius:0;aspect-ratio:16 / 9}.article-card__visual img{transition:transform .35s ease}.article-card:hover .article-card__visual img{transform:scale(1.035)}.article-card__icon{position:absolute;left:16px;bottom:16px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ffd95f,#f3a321);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 12px 24px rgba(149,97,0,.2)}.article-card__meta,.article-card h3,.article-card p,.article-card>.btn{margin-left:20px;margin-right:20px}.article-card__meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.article-card__meta span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;background:#f4f8ff;color:var(--blue);font-size:.75rem;font-weight:850}.article-card h3{font-size:1.45rem;line-height:1.18}.article-card p{margin-bottom:18px}.article-card>.btn{margin-bottom:20px}
.blog-post-cover{position:relative;max-width:860px;margin:0 auto 24px;padding:30px;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 22px 44px rgba(16,36,77,.12)}.blog-post-cover--blue{color:#fff;border-color:#76a8ff;background:linear-gradient(135deg,#2f6fff 0%,#174fc8 100%)}.blog-post-cover--gold{color:#3f2b05;border-color:#efd5a0;background:linear-gradient(135deg,#ffe6a0 0%,#e3a42b 100%)}.blog-post-cover--green{color:#fff;border-color:#78d9bd;background:linear-gradient(135deg,#23bd97 0%,#087b63 100%)}.blog-post-cover__kicker{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.blog-post-cover--gold .blog-post-cover__kicker{background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.55)}.blog-post-cover h1{max-width:760px;margin:14px 0 12px;color:inherit;font-size:clamp(2rem,3.2vw,3.15rem);letter-spacing:-.035em}.blog-post-cover p{max-width:760px;margin:0;color:inherit;font-size:1.08rem;line-height:1.75;opacity:.94}.blog-post-cover__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.blog-post-cover__meta span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font-size:.86rem;font-weight:850}.blog-post-cover--gold .blog-post-cover__meta span{background:rgba(255,255,255,.46);border-color:rgba(255,255,255,.52)}
.article-prose{max-width:780px;margin-inline:auto;padding:34px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 38px rgba(16,36,77,.08)}.article-prose>*+*{margin-top:1rem}.article-prose h2{display:flex;align-items:center;gap:10px;font-size:1.65rem;margin-top:1.9rem}.article-prose h3{font-size:1.25rem;margin-top:1.3rem}.article-prose p,.article-prose li{font-size:1.02rem;line-height:1.86;color:#2f405f}.article-prose ul,.article-prose ol{padding-left:0}.article-prose__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:10px;background:#eef5ff;color:var(--blue)}.article-prose__icon svg{width:18px;height:18px;fill:currentColor}.article-callout>svg{width:30px;height:30px;padding:7px;border-radius:10px;background:#eef5ff;color:var(--blue);fill:currentColor}.article-checklist{display:grid;gap:10px;margin:14px 0 18px}.article-checklist li{list-style:none;position:relative;padding:12px 14px 12px 42px;border-radius:14px;background:#f7fbff;border:1px solid #dde8fb}.article-checklist li::before{content:"";position:absolute;left:16px;top:21px;width:10px;height:10px;border-radius:50%;background:var(--green)}.article-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin:22px 0;padding:18px 20px;border-radius:18px;background:#f7fbff;border:1px solid #dbe8ff;box-shadow:var(--shadow-soft)}.article-callout p{margin:0;font-weight:760;color:#213557}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1/-1}.label{font-size:.9rem;font-weight:760;color:#4c6188}.input,.textarea{width:100%;min-height:52px;border-radius:16px;border:1px solid var(--line);background:#fbfdff;padding:0 16px;outline:none}.textarea{padding:14px 16px;min-height:160px;resize:vertical}.input:focus,.textarea:focus{border-color:#b7cdf7;box-shadow:0 0 0 4px rgba(47,111,255,.08)}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{padding:16px;border-radius:20px;background:#f7fbff;border:1px solid var(--line)}.stat-card strong{display:block;font-size:1.5rem;line-height:1;margin-bottom:6px}
.login-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}.login-card__list{display:grid;gap:12px;margin-top:16px}.login-card__list li{list-style:none;position:relative;padding-left:24px;line-height:1.55}.login-card__list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--blue);font-weight:900}
.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.local-card--service-blue{border-color:#8bb5ff;background:linear-gradient(145deg,#eaf2ff 0%,#dceaff 100%);box-shadow:0 18px 38px rgba(47,111,255,.12)}.local-card--service-gold{border-color:#efd5a0}.local-card--service-green{border-color:#b9ecd9}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px 28px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#3f7fff 0%,#2867f3 100%);color:#fff;box-shadow:0 20px 36px rgba(47,111,255,.22)}.cta-band h2,.cta-band p{color:#fff;margin:0}.cta-band p{opacity:.92;margin-top:6px}
.site-footer{margin-top:60px;background:#0f2148;color:#dce7ff;border-top:1px solid rgba(255,255,255,.06)}.site-footer__inner{padding:46px 0 22px}.footer-grid{display:grid;grid-template-columns:1.1fr repeat(4,minmax(0,1fr));gap:22px}.footer-col h4{margin-bottom:12px;color:#fff;font-size:1rem}.footer-col p,.footer-col li,.footer-col a{color:#c7d7fb;font-size:.95rem;line-height:1.7}.footer-col ul{display:grid;gap:8px}.footer-col li{list-style:none}.footer-bottom{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);text-align:center;color:#afc0e5;font-size:.9rem}
.floating-phone{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px 10px 14px;border-radius:999px;background:linear-gradient(135deg,#4a87ff 0%,#2f6fff 100%);color:#fff;box-shadow:0 22px 40px rgba(47,111,255,.28);border:1px solid rgba(255,255,255,.18)}.floating-phone__icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16)}.floating-phone__text{display:flex;flex-direction:column;line-height:1.1}.floating-phone__text strong{font-size:1rem}.floating-phone__text span{font-size:.82rem;opacity:.95}
.list-clean{display:grid;gap:12px}.list-clean li{list-style:none;padding-left:24px;position:relative;line-height:1.55}.list-clean li::before{content:"•";position:absolute;left:0;top:0;color:var(--blue);font-weight:900}
.notice{padding:16px 18px;border-radius:18px;background:#f7fbff;border:1px solid var(--line);color:var(--text-soft)}.hidden{display:none!important}
.field--hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-confirmation{max-width:760px;margin:0 auto;padding:30px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-confirmation h1{margin:10px 0 12px;font-size:clamp(2rem,3vw,3rem)}
.contact-confirmation p{color:var(--text-soft);line-height:1.7}
.contact-confirmation__muted{padding:14px 16px;border-radius:16px;background:#f8fbff;border:1px solid #dce7f6}
@media (max-width:1160px){
  .site-header__inner{min-height:auto;padding:10px 0;align-items:center;flex-direction:row;flex-wrap:wrap}.site-header__mobile-actions{display:flex;margin-left:auto}.nav-toggle{display:inline-flex}.site-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-top:8px}.site-nav.is-open{display:flex}
  .site-nav a,.site-nav__client{width:100%;justify-content:flex-start;padding:0 14px}
  .hero,.split,.login-grid,.local-grid,.footer-grid{grid-template-columns:1fr}.hero__copy h1,.hero__copy .lead{max-width:none}.hero__media{order:2}
  .hero__trust,.services-grid,.reviews-grid,.projects-grid,.icon-strip,.articles-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .container{width:calc(100% - 24px)}.page-wrap{padding:20px 0 74px}.hero{padding:18px;border-radius:28px}
  .hero__copy{order:1}.hero__media{order:2}.hero__copy h1{font-size:clamp(2.15rem,8vw,3rem)}.hero__copy .lead{font-size:1rem}
  .hero__image .media-block{aspect-ratio:1.08 / 1}.hero__chips{left:10px;right:10px;bottom:10px;gap:8px}.hero__chip{min-height:36px;padding:8px 12px;font-size:.8rem}
  .hero__trust,.services-grid,.reviews-grid,.projects-grid,.icon-strip,.steps,.articles-grid,.form-grid,.stats-grid{grid-template-columns:1fr}.cta-band{flex-direction:column;align-items:flex-start}.floating-phone{left:12px;right:12px;bottom:12px;justify-content:center}
}
@media (max-width:560px){
  h1{font-size:2.1rem}h2{font-size:1.8rem}.hero{padding:16px}.btn{width:100%}.hero__actions{flex-direction:column}.hero__reviews{flex-direction:column;align-items:flex-start}.review-card__top{align-items:center}.review-card__avatar{width:66px;height:66px}
}

/* ===== CONVERSION SERVICES ===== */
.contact-conversion{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px;align-items:start;padding:24px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#fff 0%,#f6faff 100%);border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-conversion__intro{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--header-h) + 24px)}
.contact-conversion__intro h1{margin:0}.contact-conversion__intro p{max-width:520px;color:var(--text-soft);font-size:1.08rem;line-height:1.65}.contact-conversion__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.contact-card--focus{padding:24px;border-radius:28px}.contact-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.contact-card__head h2{font-size:clamp(1.7rem,2.4vw,2.35rem);margin:0}.contact-card__step{display:inline-flex;min-height:34px;align-items:center;padding:7px 12px;border-radius:999px;background:#eef4ff;color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.service-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:24px;align-items:center;min-height:430px;padding:28px;border-radius:var(--radius-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.service-hero::before{content:"";position:absolute;inset:auto -12% -42% 42%;height:78%;border-radius:999px;filter:blur(2px);opacity:.62;pointer-events:none}.service-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;max-width:650px}.service-hero__copy h1{margin:0;max-width:620px}.service-hero__copy h1 span{display:inline-block}.service-hero__copy .lead{max-width:540px}.service-hero__facts{display:flex;flex-wrap:wrap;gap:10px}.service-hero__facts strong{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.86);box-shadow:var(--shadow-soft);font-size:.86rem}.service-hero__visual{position:relative;z-index:2;display:grid;place-items:center;min-height:300px;border-radius:30px;background:rgba(255,255,255,.46);border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 22px 52px rgba(16,36,77,.08);backdrop-filter:blur(14px)}.service-hero__visual svg{width:min(100%,390px);height:auto;overflow:visible}
.service-hero--blue{background:linear-gradient(135deg,#ffffff 0%,#e8f2ff 34%,#cfe0ff 100%);border-color:#94b9ff;box-shadow:0 26px 70px rgba(23,79,200,.13)}.service-hero--blue::before{background:radial-gradient(circle,rgba(29,86,220,.46),transparent 68%)}.service-hero--blue .hero-badge{color:#174fc8;background:#dceaff;border-color:#9fc0ff}.service-hero--blue h1 span{color:#174fc8}.service-hero--green{background:linear-gradient(135deg,#ffffff 0%,#f4fffb 54%,#e5fbf4 100%)}.service-hero--green::before{background:radial-gradient(circle,rgba(32,184,144,.2),transparent 68%)}.service-hero--green .hero-badge{color:var(--green-dark);background:#eafff8;border-color:#bdeedc}.service-hero--green h1 span{color:var(--green-dark)}.service-hero--gold{background:linear-gradient(135deg,#ffffff 0%,#fffaf0 54%,#fff1d1 100%)}.service-hero--gold::before{background:radial-gradient(circle,rgba(225,166,38,.24),transparent 68%)}.service-hero--gold .hero-badge{color:var(--gold-dark);background:#fff4d8;border-color:#efd5a0}.service-hero--gold h1 span{color:var(--gold-dark)}
.leak-svg .pipe{fill:none;stroke:#1f58d8;stroke-width:22;stroke-linecap:round}.leak-svg .pipe--fixed{stroke:#8ab8ff;stroke-dasharray:330;stroke-dashoffset:330;animation:pipeRepair 4.8s ease-in-out infinite}.leak-svg .wrench{fill:none;stroke:#163d91;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;animation:floatTool 3.8s ease-in-out infinite}.leak-svg .drop{fill:#49a4ff;opacity:.86;animation:dropFade 2.6s ease-in-out infinite}.leak-svg .drop--two{animation-delay:.45s}.leak-svg .seal{fill:#fff;stroke:#2f6fff;stroke-width:10;animation:sealPulse 2.6s ease-in-out infinite}@keyframes pipeRepair{50%,100%{stroke-dashoffset:0}}@keyframes floatTool{50%{transform:translateY(-8px) rotate(-2deg)}}@keyframes dropFade{0%,35%{transform:translateY(-10px);opacity:.9}80%,100%{transform:translateY(18px);opacity:.12}}@keyframes sealPulse{50%{transform:scale(1.08);opacity:.95}}
.ac-svg{filter:drop-shadow(0 24px 30px rgba(12,140,107,.14));animation:liftAc 4.8s ease-in-out infinite}.ac-svg .ac-unit{fill:#fff;stroke:#9debd7;stroke-width:4}.ac-svg .ac-line,.ac-svg .ac-vent{fill:none;stroke:#1e9f80;stroke-width:7;stroke-linecap:round}.ac-svg .air{fill:none;stroke:#52d4bc;stroke-width:8;stroke-linecap:round;stroke-dasharray:60 24;animation:airFlow 3.2s linear infinite}.ac-svg .air--two{animation-delay:.35s}.ac-svg .air--three{animation-delay:.7s}.ac-svg .cool-dot{fill:#22b291;animation:sealPulse 2.4s ease-in-out infinite}@keyframes liftAc{50%{transform:translateY(-8px)}}@keyframes airFlow{to{stroke-dashoffset:-168}}
.bath-svg{filter:drop-shadow(0 24px 30px rgba(149,97,0,.13));animation:liftAc 5.4s ease-in-out infinite}.bath-svg .tile{fill:#fff8e6;stroke:#e1a626;stroke-width:4;animation:tileGlow 4s ease-in-out infinite}.bath-svg .tile--two{animation-delay:.2s}.bath-svg .tile--three{animation-delay:.4s}.bath-svg .tile--four{animation-delay:.6s}.bath-svg .bath-tub{fill:#fff;stroke:#b9780b;stroke-width:7;stroke-linejoin:round}.bath-svg .bath-tap,.bath-svg .bath-shine{fill:none;stroke:#d59c24;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}@keyframes tileGlow{50%{fill:#fff1c7;transform:translateY(-3px)}}
.icon-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.icon-grid article{min-height:148px;padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.icon-grid span{display:grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:16px}.icon-grid svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.icon-grid strong{display:block;margin-bottom:6px}.icon-grid p{margin:0;color:var(--text-soft);line-height:1.5;font-size:.94rem}.service-icons--blue span{background:#eaf2ff;color:var(--blue)}.service-icons--green span{background:#eafff8;color:var(--green-dark)}.service-icons--gold span{background:#fff4d8;color:var(--gold-dark)}
.service-panel{padding:24px}.service-panel--blue{border-color:#c9dbff;background:linear-gradient(145deg,#fff,#f3f8ff)}.service-panel--green{border-color:#b9ecd9;background:linear-gradient(145deg,#fff,#f3fffb)}.service-panel--gold{border-color:#efd5a0;background:linear-gradient(145deg,#fff,#fff8ea)}.service-note{color:var(--text-soft);line-height:1.4}.reassurance-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reassurance-band article{padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.reassurance-band strong,.reassurance-band span{display:block}.reassurance-band span{margin-top:6px;color:var(--text-soft)}.reassurance-band--green article{border-color:#b9ecd9;background:#f5fffb}.cta-band--green{background:linear-gradient(135deg,#22b291 0%,#0c8c6b 100%)}.cta-band--gold{background:linear-gradient(135deg,#e9b13a 0%,#a66d0a 100%)}
@media (max-width:1160px){.contact-conversion,.service-hero{grid-template-columns:1fr}.contact-conversion__intro{position:static}.service-hero__visual{min-height:250px}.icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.contact-conversion,.service-hero{padding:18px;border-radius:28px}.contact-conversion__actions,.contact-conversion__actions .btn{width:100%}.contact-card__head{flex-direction:column}.service-hero{min-height:0}.service-hero__copy{gap:14px}.service-hero__visual{min-height:220px;order:2}.service-hero__facts{display:grid;grid-template-columns:1fr;width:100%}.service-hero__facts strong{justify-content:center}.icon-grid,.reassurance-band{grid-template-columns:1fr}.icon-grid article{min-height:auto}}
@media (prefers-reduced-motion:reduce){.leak-svg .pipe--fixed,.leak-svg .wrench,.leak-svg .drop,.leak-svg .seal,.ac-svg,.ac-svg .air,.ac-svg .cool-dot,.bath-svg,.bath-svg .tile{animation:none}}

/* ===== REFINEMENTS UX SERVICES + PORTAL ===== */
.portal-shell--auth-refined{grid-template-columns:1fr!important;max-width:860px;margin-inline:auto;padding:18px;background:linear-gradient(135deg,#fff 0%,#f6faff 100%)!important}
.portal-auth-card--primary,.portal-preview-card--request{background:#fff!important;border:1px solid #dbe6f6!important;box-shadow:0 18px 42px rgba(34,64,110,.08)!important;backdrop-filter:none!important}
.portal-auth-card--primary{padding:30px!important}.portal-preview-card--request{padding:24px!important;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)!important}
.portal-page>.page-wrap>.container>.section-head .section-kicker,.portal-page>.page-wrap>.container>.section-head p,.portal-auth-card--primary .portal-auth-card__eyebrow,.portal-auth-card--primary .portal-auth-card__head p,.portal-auth-card--primary .portal-auth-card__head h2,.portal-auth-card--primary .portal-auth-card__meta,.portal-preview-card__badge{display:none!important}.portal-page>.page-wrap>.container>.section-head{margin-bottom:16px}
.portal-auth-card--primary .portal-auth-card__head h2{font-size:clamp(2rem,3vw,2.75rem);margin-bottom:8px}.portal-auth-card--primary .portal-auth-card__head p,.portal-preview-card--request p{max-width:620px;color:var(--text-soft);line-height:1.65}.portal-preview-card--request .portal-request-box{border-top:1px solid #edf2fa}.portal-shell--auth-refined .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-shell--auth-refined .field--full{grid-column:1/-1}
.leak-repair-svg{width:min(100%,430px);max-height:300px;filter:drop-shadow(0 24px 32px rgba(47,111,255,.16))}
.ac-svg .ac-shadow,.mini-ac-shadow{fill:#c8f4eb;opacity:.42}.ac-svg .ac-lip{fill:none;stroke:#d8fff7;stroke-width:5;stroke-linecap:round}.service-hero--green .service-hero__visual{background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(227,251,244,.78))}.ac-svg .air{stroke-width:7;stroke-dasharray:18 18;animation:airFanDown 2.8s ease-in-out infinite;transform-origin:190px 150px}.ac-svg .air--one{opacity:.58}.ac-svg .air--two{opacity:.78}.ac-svg .air--three{opacity:.58}.service-hero__visual--ac:hover .air{animation-duration:2.1s}@keyframes airFanDown{0%{stroke-dashoffset:58;transform:translateY(-8px) scaleX(.92);opacity:.18}45%{opacity:.82}100%{stroke-dashoffset:-58;transform:translateY(18px) scaleX(1.05);opacity:.2}}
.maintenance-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border-radius:28px;background:#fff;border:1px solid #b9ecd9;box-shadow:0 18px 40px rgba(12,140,107,.08)}.maintenance-banner__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#eafff8;color:var(--green-dark)}.maintenance-banner__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.maintenance-banner h2{margin:6px 0 6px;font-size:clamp(1.55rem,2.4vw,2.25rem)}.maintenance-banner p{margin:0;color:#55766e;line-height:1.55}
.service-seo-band{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px;border-radius:30px;border:1px solid #c9dbff;background:linear-gradient(135deg,#fff 0%,#eef5ff 100%);box-shadow:0 18px 40px rgba(47,111,255,.09)}.service-seo-band h2{margin:8px 0}.service-seo-band p{max-width:820px;margin:0;color:var(--text-soft);line-height:1.7}
.local-keywords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.local-keywords article{padding:18px;border-radius:22px;background:#fff;border:1px solid #c9dbff;box-shadow:var(--shadow-soft)}.local-keywords strong{display:block;margin-bottom:7px;color:var(--blue)}.local-keywords span{display:block;color:var(--text-soft);line-height:1.55;font-size:.95rem}.local-keywords--green article{border-color:#b9ecd9;background:#f6fffb}.local-keywords--green strong{color:var(--green-dark)}.local-keywords--gold article{border-color:#efd5a0;background:#fffaf0}.local-keywords--gold strong{color:var(--gold-dark)}
.shower-bath-svg{filter:drop-shadow(0 24px 30px rgba(149,97,0,.12))}.shower-pole,.shower-head,.bath-back,.bath-rim,.bath-feet{fill:none;stroke:#a8a39b;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.shower-head{fill:#f7f1e7;stroke:#d49a22}.bath-tub{fill:#fffdf8;stroke:#c98612;stroke-width:8;stroke-linejoin:round}.water-stream{fill:none;stroke:#f3c55a;stroke-width:6;stroke-linecap:round;stroke-dasharray:10 18;animation:waterFall 1.9s linear infinite}.water-stream--two{animation-delay:.22s}.water-stream--three{animation-delay:.44s}.steam{fill:none;stroke:#e8c170;stroke-width:5;stroke-linecap:round;opacity:.45;animation:steamRise 3.4s ease-in-out infinite}.steam--two{animation-delay:.65s}@keyframes waterFall{to{stroke-dashoffset:-84}}@keyframes steamRise{50%{transform:translateY(-9px);opacity:.2}}
@media (max-width:1160px){.clim-offer-card,.maintenance-banner{grid-template-columns:1fr}.maintenance-banner .btn,.clim-offer-card .btn{width:100%}.service-seo-band{flex-direction:column;align-items:flex-start}.service-seo-band .btn{width:100%}}
@media (max-width:860px){.portal-shell--auth-refined .form-grid,.local-keywords{grid-template-columns:1fr}.portal-auth-card--primary,.portal-preview-card--request{padding:20px!important}.clim-offer-card{padding:18px;border-radius:26px}.clim-offer-card__visual{min-height:170px}.maintenance-banner{padding:18px;border-radius:24px}.maintenance-banner__icon{width:50px;height:50px}.service-seo-band{padding:20px;border-radius:26px}.leak-repair-svg,.shower-bath-svg,.ac-svg{max-height:250px}}
@media (prefers-reduced-motion:reduce){.water-stream,.steam{animation:none!important}}

/* ===== FINAL STRUCTURE PASS ===== */
.service-hero{min-height:460px}.service-hero__visual{min-height:320px}.service-hero--blue .service-hero__visual{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(213,229,255,.9))}.ac-svg,.shower-bath-svg{animation:none!important}.ac-svg .ac-unit,.ac-svg .ac-shadow,.ac-svg .ac-line,.ac-svg .ac-vent,.ac-svg .ac-lip,.ac-svg .cool-dot{animation:none!important}.repair-pipe{fill:none;stroke:url(#pipeGradient);stroke-width:28;stroke-linecap:round;stroke-linejoin:round}.repair-pipe--branch{stroke-width:24;opacity:.9}.repair-joint{fill:#fff;stroke:#174fc8;stroke-width:16}.repair-flow{fill:none;stroke:#9cc4ff;stroke-width:7;stroke-linecap:round;stroke-dasharray:16 18;animation:repairFlow 2.6s linear infinite}.repair-target{fill:none;stroke:#6fa3ff;stroke-width:2;opacity:.55;animation:repairPulse 2.4s ease-in-out infinite}.repair-seal{fill:#fff;stroke:#174fc8;stroke-width:7;animation:repairSeal 2.4s ease-in-out infinite}.repair-drop{fill:url(#waterGradient);transform-origin:center;animation:repairDrop 2.4s ease-in-out infinite}.repair-drop--two{opacity:.36;animation-delay:.7s}.repair-tool path{fill:none;stroke:#174fc8;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.repair-tool{transform-origin:168px 158px;animation:repairTool 3.2s ease-in-out infinite}@keyframes repairFlow{to{stroke-dashoffset:-68}}@keyframes repairPulse{0%,100%{transform:scale(.82);opacity:.18}45%{transform:scale(1.04);opacity:.65}}@keyframes repairSeal{0%,100%{transform:scale(.95)}45%{transform:scale(1.08)}}@keyframes repairDrop{0%{transform:translateY(-8px);opacity:0}18%{opacity:.85}72%,100%{transform:translateY(28px);opacity:0}}@keyframes repairTool{0%,100%{transform:rotate(-4deg) translateY(0)}48%{transform:rotate(5deg) translateY(-3px)}}
.clim-offer-flip{display:block;width:100%;min-height:250px;border:0;background:transparent;padding:0;text-align:left;perspective:1100px}.clim-offer-flip__inner{position:relative;display:block;min-height:250px;transition:transform .55s ease;transform-style:preserve-3d}.clim-offer-flip.is-flipped .clim-offer-flip__inner{transform:rotateY(180deg)}.clim-offer-flip__face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#ecfff9 58%,#d8f8ef 100%);border:1px solid #aee8d6;box-shadow:0 24px 54px rgba(12,140,107,.14);backface-visibility:hidden;overflow:hidden}.clim-offer-flip__face::after{content:"";position:absolute;right:-50px;top:-55px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(32,184,144,.2),transparent 68%);pointer-events:none}.clim-offer-flip__top{display:flex!important;align-items:center;gap:10px;justify-content:space-between;position:relative;z-index:1}.clim-offer-flip__chip{display:inline-flex!important;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #b9ecd9;color:var(--green-dark)!important;font-size:.82rem;font-weight:900!important}.clim-offer-flip__price{position:relative;z-index:1;display:block!important;color:#0c8c6b!important;font-size:clamp(3rem,7vw,5.4rem);line-height:.9;font-weight:950!important;letter-spacing:-.055em}.clim-offer-flip__face strong{position:relative;z-index:1;display:block;max-width:780px;color:#0c3c34;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.15;letter-spacing:-.01em}.clim-offer-flip__face span:not(.section-kicker):not(.clim-offer-flip__price):not(.clim-offer-flip__top):not(.clim-offer-flip__chip){position:relative;z-index:1;color:#55766e;font-weight:800}.clim-offer-flip__face--back{transform:rotateY(180deg);background:#fff}.clim-offer-flip__face--back span{max-width:760px;line-height:1.65;font-weight:700!important}
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:24px}.pagination a{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--text-soft);font-weight:850}.pagination a.is-active,.pagination a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn,.badge,.hero-badge,.section-kicker,.article-filter,.service-card,.panel,.contact-card,.local-card,.step-card{overflow-wrap:anywhere}.btn{text-align:center}.service-card h3,.article-card h3,.panel h2,.panel h3{text-wrap:balance}.services-grid{align-items:stretch}.service-card .btn{width:fit-content}.portal-shell--auth-refined{gap:16px}.portal-auth-card--primary .portal-auth-card__head h1{margin:0 0 16px;font-size:clamp(2rem,3vw,2.8rem)}.portal-preview-card--request h2{font-size:clamp(1.5rem,2.3vw,2rem);margin-bottom:16px}
@media (max-width:860px){.service-hero{min-height:0}.service-hero__visual{min-height:240px}.service-card .btn{width:100%}.clim-offer-flip,.clim-offer-flip__inner{min-height:260px}.clim-offer-flip__face{padding:22px}.site-nav a,.site-nav summary{min-height:48px}.brand{max-width:calc(100% - 58px)}.brand__copy strong{font-size:.98rem}.portal-shell--auth-refined{padding:12px!important}}
@media (prefers-reduced-motion:reduce){.repair-flow,.repair-target,.repair-seal,.repair-drop,.repair-tool,.clim-offer-flip__inner{animation:none!important;transition:none!important}}


/* ===== V8 HERO + REVIEWS ===== */
.hero__image-shell{display:flex;flex-direction:column;gap:14px}
.hero__chips{display:none}
.hero__labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hero__label{min-width:0;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);text-align:left}
.hero__label strong{display:block;margin-bottom:4px;font-size:1rem;line-height:1.2;overflow-wrap:anywhere}
.hero__label span{display:block;font-size:.9rem;line-height:1.45;color:var(--text-soft)}
.hero__label--gold{border-color:#efd5a0}.hero__label--gold strong{color:var(--gold-dark)}
.hero__label--blue{border-color:#c9dbff}.hero__label--blue strong{color:var(--blue)}
.hero__label--green{border-color:#b9ecd9}.hero__label--green strong{color:var(--green-dark)}
.hero__reviews{align-items:center}
.hero__avatars{display:flex;align-items:center}
.hero__avatars img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 6px 14px rgba(16,36,77,.12);margin-left:-10px;background:#eef4ff}
.hero__avatars img:first-child{margin-left:0}
.hero__reviews-copy{min-width:0}
.hero__reviews strong{display:block;margin-bottom:5px;font-size:1.12rem;line-height:1.25}
.hero__reviews span:last-child{display:block;color:var(--text-soft);line-height:1.6}
.google-reviews-banner{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 52%,#eef4ff 100%);border:1px solid var(--line);box-shadow:var(--shadow);margin-top:4px}
.google-reviews-banner--page{margin:0 0 24px}
.google-reviews-banner__brand,.google-reviews-banner__score{display:flex;align-items:center;gap:14px;min-width:0}
.google-reviews-banner__brand strong,.google-reviews-banner__score strong{display:block;margin:0 0 4px}
.google-reviews-banner__brand span:last-child{display:block;color:var(--text-soft);line-height:1.5}
.google-reviews-banner__score{flex-direction:column;align-items:flex-start;padding:12px 16px;border-radius:20px;background:rgba(255,255,255,.88);border:1px solid #dde7f5}
.google-reviews-banner__score small{color:#6d7f9f;font-size:.88rem;font-weight:700}
.google-reviews-banner__copy p{margin:0;color:var(--text-soft);line-height:1.65}
.google-mark{display:inline-flex;align-items:center;font-size:1.45rem;font-weight:900;letter-spacing:-.04em}
.google-mark__g,.google-mark__g2{color:#4285f4}.google-mark__o1{color:#ea4335}.google-mark__o2{color:#fbbc05}.google-mark__l{color:#34a853}.google-mark__e{color:#ea4335}
.reviews-page-head{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin:0 0 22px}
.reviews-highlight{padding:18px 20px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.reviews-highlight strong{display:block;font-size:1.35rem;line-height:1.1;margin-bottom:8px}.reviews-highlight p{margin:0;color:var(--text-soft);line-height:1.7}
.reviews-grid--full{grid-template-columns:repeat(2,minmax(0,1fr))}
.review-card--expanded{padding:22px}
.review-card__content{position:relative}
.review-card__content p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review-card__content.is-open p{-webkit-line-clamp:unset;overflow:visible}
.review-card__toggle{align-self:flex-start;margin-top:2px;border:0;background:transparent;color:var(--blue);font-weight:800;padding:0;min-height:auto}
.review-card__toggle:hover{text-decoration:underline}
.review-card--blue{border-color:#79a8ff;background:linear-gradient(145deg,#eaf2ff 0%,#d9e8ff 58%,#cfe0ff 100%);box-shadow:0 20px 44px rgba(47,111,255,.16)}
.review-card--gold{border-color:#efd5a0;background:linear-gradient(145deg,#ffffff 0%,#fff8ea 100%)}
.review-card--green{border-color:#b9ecd9;background:linear-gradient(145deg,#ffffff 0%,#f2fcf7 100%)}
.review-card__initials{width:64px;height:64px;flex:0 0 auto;border-radius:22px;display:grid;place-items:center;background:var(--review-avatar-bg,#eef4ff);border:1px solid rgba(255,255,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 24px rgba(16,36,77,.08);color:var(--text);font-weight:950;letter-spacing:-.04em}
.review-card__category{display:inline-flex;align-items:center;width:fit-content;min-height:30px;margin:0 0 8px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--line);color:#526686;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.review-card--gold .review-card__category{color:var(--gold-dark);border-color:#efd5a0}.review-card--blue .review-card__category{color:#fff;border-color:rgba(255,255,255,.48);background:linear-gradient(135deg,#4d89ff,#1f63ee)}.review-card--green .review-card__category{color:var(--green-dark);border-color:#b9ecd9}
.review-card__admin,.review-admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.review-card__admin{padding-top:12px;border-top:1px solid var(--line)}
.review-card__admin form{margin:0}
.review-admin-panel{margin:26px 0;padding:24px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
@media (max-width:1160px){.reviews-page-head{grid-template-columns:1fr}}
@media (max-width:860px){.hero__labels{grid-template-columns:1fr;gap:10px}.reviews-grid--full{grid-template-columns:1fr}.hero__avatars img{width:36px;height:36px}.hero__reviews{grid-template-columns:1fr}.google-reviews-banner{grid-template-columns:1fr}}

/* ===== CONSEILS ===== */
.conseils-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:stretch;padding:24px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 58%,#eef5ff 100%);border:1px solid var(--line);box-shadow:var(--shadow)}
.conseils-hero__copy,.conseils-hero__panel{min-width:0}
.conseils-hero__panel{display:grid;gap:16px}
.conseils-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.conseils-stat-card{padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.conseils-stat-card strong{display:block;font-size:1.5rem;line-height:1;margin-bottom:6px}
.conseils-stat-card span{display:block;color:var(--text-soft);font-size:.92rem;line-height:1.45}
.conseils-checklist{padding:20px 22px;border-radius:24px;background:#fbfdff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.conseils-checklist strong{display:block;margin-bottom:12px}
.conseils-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.conseils-topic{padding:22px;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.conseils-topic--blue{background:#f4f8ff;border-color:#c9dbff}
.conseils-topic--gold{background:#fff8ea;border-color:#efd5a0}
.conseils-topic--green{background:#f2fcf7;border-color:#b9ecd9}
.conseils-topic__eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.85);font-size:.78rem;font-weight:850;color:var(--text)}
.conseils-topic h2{font-size:1.55rem;margin:14px 0 10px}
.conseils-topic p{color:var(--text-soft);line-height:1.65;margin-bottom:16px}
.conseils-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:22px;align-items:end}
.conseils-toolbar__tools{display:grid;gap:12px}
.articles-grid--editorial{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-card--featured{padding:0}
.article-card--blue{background:#eaf2ff;border-color:#8bb5ff}
.article-card--gold{background:#fffaf0;border-color:#f0ddb0}
.article-card--green{background:#f5fcf8;border-color:#cdeedd}
.article-card--blue .article-card__meta span{background:#d7e6ff;color:#1c59df}
.article-card--blue .btn-secondary{background:#1f63ee;border-color:#1f63ee;color:#fff;box-shadow:0 12px 24px rgba(47,111,255,.18)}
.conseils-text-grid .article-card{display:flex;flex-direction:column;padding:22px;min-height:100%;border-radius:22px;overflow:visible}
.conseils-text-grid .article-card::before{content:"";width:42px;height:4px;border-radius:999px;background:var(--blue);margin-bottom:16px}
.conseils-text-grid .article-card--gold::before{background:var(--gold)}
.conseils-text-grid .article-card--green::before{background:var(--green)}
.conseils-text-grid .article-card__meta,.conseils-text-grid .article-card h3,.conseils-text-grid .article-card p,.conseils-text-grid .article-card>.btn{margin-left:0;margin-right:0}
.conseils-text-grid .article-card h3{font-size:1.32rem}
.conseils-text-grid .article-card p{margin-bottom:20px}
.conseils-text-grid .article-card>.btn{margin-top:auto;margin-bottom:0;width:fit-content}
.conseils-section-head{padding:20px 22px;border-radius:26px;margin-bottom:20px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.conseils-section-head--blue{background:#f4f8ff;border-color:#c9dbff}
.conseils-section-head--gold{background:#fff8ea;border-color:#efd5a0}
.conseils-section-head--green{background:#f2fcf7;border-color:#b9ecd9}
.conseils-section-head p{max-width:760px;color:var(--text-soft);line-height:1.7;margin:0}
@media (max-width:1160px){.conseils-hero,.conseils-toolbar,.articles-grid--editorial{grid-template-columns:1fr}.conseils-topics,.conseils-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.conseils-topics,.conseils-stat-grid{grid-template-columns:1fr}}

/* ===== REALISATIONS VERTICAL BEFORE AFTER ===== */
.realization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.realization-card{position:relative;background:#fffdf8;border:1px solid #e8ca80;border-radius:24px;box-shadow:0 22px 48px rgba(150,104,20,.14);overflow:hidden}
.realization-compare{position:relative;display:block;width:100%;aspect-ratio:3/4;max-height:min(58vh,520px);min-height:330px;border:0;padding:0;background:#fff7e8;overflow:hidden;text-align:left;touch-action:none;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.realization-compare img{width:100%;height:100%;object-fit:cover;object-position:center;background:#fff7e8;image-rendering:auto;filter:contrast(1.025) saturate(1.035);user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
.realization-compare__after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.realization-compare__handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:rgba(255,255,255,.84);box-shadow:0 0 0 1px rgba(255,255,255,.46),0 10px 30px rgba(104,72,15,.24)}
.realization-compare__handle::after{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.7);backdrop-filter:blur(14px) saturate(1.45);-webkit-backdrop-filter:blur(14px) saturate(1.45);border:1px solid rgba(255,255,255,.78);transform:translate(-50%,-50%);box-shadow:0 18px 36px rgba(90,62,12,.26),inset 0 1px 0 rgba(255,255,255,.84)}
.realization-compare__handle::before{content:"";position:absolute;left:50%;top:50%;z-index:2;width:30px;height:20px;transform:translate(-50%,-50%);background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath fill='%23a9700c' d='M0 10 8 2v5h14V2l8 8-8 8v-5H8v5z'/%3E%3C/svg%3E")}
.realization-compare__label{position:absolute;left:16px;z-index:3;display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#7b520c;border:1px solid rgba(255,255,255,.72);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.realization-compare__label--before{top:16px}.realization-compare__label--after{left:auto;right:16px;top:16px}
.realization-card__body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px}.realization-card__body span{display:inline-flex;width:fit-content;min-height:30px;padding:5px 10px;border-radius:999px;background:#fff2cd;color:#9b680c;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.realization-card__body h2{font-size:1.18rem;line-height:1.2}.realization-card__body .btn{width:fit-content;min-height:44px;padding:0 16px;border-radius:14px;background:#fffaf0;border-color:#e6cc91;color:#9b680c}
.realization-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(10,24,52,.58);backdrop-filter:blur(10px)}
.realization-modal.hidden{display:none!important}
.realization-modal__box{width:min(980px,100%);max-height:88vh;overflow:auto;padding:24px;border-radius:24px;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.24)}
.realization-modal__close{float:right;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--blue);font-weight:850}
.realization-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.realization-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:16px;border:1px solid #e8ca80;image-rendering:auto;filter:contrast(1.025) saturate(1.035)}
@media (max-width:1160px){.realization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.realization-compare{max-height:min(58vh,520px)}}
@media (max-width:860px){.realization-grid,.realization-gallery{grid-template-columns:1fr}.realization-compare{min-height:0;max-height:none;aspect-ratio:3/4}}

/* ===== SALLE DE BAIN PREMIUM ===== */
.bath-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.bath-process__card{position:relative;overflow:hidden;padding:22px;border-radius:28px;background:linear-gradient(145deg,#fffaf0 0%,#ffffff 52%,#f8efe0 100%);border:1px solid #efd5a0;box-shadow:0 20px 42px rgba(149,97,0,.08)}
.bath-process__card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(243,185,67,.2),transparent 42%);pointer-events:none}
.bath-process__icon{position:relative;width:54px;height:54px;margin-bottom:16px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe9ad 0%,#d49a22 100%);box-shadow:0 14px 28px rgba(149,97,0,.16)}
.bath-process__icon svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bath-process__step{position:relative;display:block;margin-bottom:10px;color:var(--gold-dark);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.bath-process__card h3,.bath-process__card p{position:relative}
.bath-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bath-benefits div{padding:16px;border-radius:20px;background:#fffaf0;border:1px solid #efd5a0}
.bath-benefits strong{display:block;margin-bottom:6px;color:var(--gold-dark)}
.bath-benefits span{display:block;color:var(--text-soft);line-height:1.55}
.before-after{position:relative;max-width:1040px;margin-inline:auto;padding:12px;border-radius:36px;background:linear-gradient(135deg,#322109 0%,#8a5c12 42%,#e6b654 100%);box-shadow:0 30px 70px rgba(84,54,5,.18)}
.before-after::before{content:"";position:absolute;inset:1px;border-radius:35px;border:1px solid rgba(255,255,255,.38);pointer-events:none}
.before-after__frame{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:16 / 9;border-radius:28px;background:#1d160c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.before-after__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.before-after__image--after{filter:saturate(1.04) contrast(1.02)}
.before-after__overlay{position:absolute;inset:0;overflow:hidden;z-index:2;will-change:clip-path}
.before-after__overlay .before-after__image{width:100%;max-width:none}
.before-after__divider{position:absolute;top:0;bottom:0;z-index:4;width:2px;background:linear-gradient(180deg,rgba(255,255,255,.4),#f7d37a,rgba(255,255,255,.45));box-shadow:0 0 0 1px rgba(79,48,0,.12),0 0 28px rgba(247,211,122,.7);transform:translateX(-50%);pointer-events:none}
.before-after__handle{position:absolute;left:50%;top:50%;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#fff8dc 0%,#e4a82b 100%);border:3px solid rgba(255,255,255,.92);box-shadow:0 14px 32px rgba(53,34,5,.32);transform:translate(-50%,-50%)}
.before-after__handle::before{content:"";width:22px;height:22px;background:linear-gradient(135deg,#7a4b00,#ffffff 48%,#7a4b00);clip-path:polygon(0 50%,38% 12%,38% 36%,62% 36%,62% 12%,100% 50%,62% 88%,62% 64%,38% 64%,38% 88%)}
.before-after__labels{position:absolute;left:18px;right:18px;top:18px;z-index:5;display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.before-after__labels span{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border-radius:999px;background:rgba(17,13,8,.68);backdrop-filter:blur(12px);color:#fff7df;border:1px solid rgba(247,211,122,.42);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.before-after__control{position:relative;z-index:6;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin:12px 8px 2px;padding:14px 16px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 34px rgba(55,36,6,.16)}
.before-after__control span{color:var(--gold-dark);font-weight:900}
.before-after__control input{width:100%;accent-color:var(--gold);cursor:ew-resize}
@media (max-width:1160px){.bath-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.bath-process,.bath-benefits{grid-template-columns:1fr}.before-after{border-radius:28px;padding:8px}.before-after__frame{border-radius:22px;aspect-ratio:4 / 3}.before-after__control{grid-template-columns:1fr;gap:10px}.before-after__handle{width:48px;height:48px}}

/* ===== CLIENT PORTAL ===== */
.portal-shell{position:relative;display:grid;grid-template-columns:260px 1fr;gap:18px;padding:18px;border-radius:38px;background:
radial-gradient(circle at top left,rgba(255,255,255,.96),rgba(214,231,255,.76)),
linear-gradient(135deg,rgba(222,236,255,.88),rgba(200,226,255,.78) 48%,rgba(232,249,255,.88));
border:1px solid rgba(255,255,255,.7);box-shadow:0 28px 60px rgba(88,132,194,.18),inset 0 1px 0 rgba(255,255,255,.78);overflow:hidden}
.portal-shell::before{content:"";position:absolute;inset:18px;border-radius:30px;border:1px solid rgba(255,255,255,.56);pointer-events:none}
.portal-shell--auth{grid-template-columns:minmax(0,430px) minmax(0,1fr)}
.portal-sidebar,.portal-main,.portal-auth-card,.portal-preview-card,.portal-card{backdrop-filter:blur(18px);background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.62);box-shadow:0 18px 40px rgba(112,149,202,.12),inset 0 1px 0 rgba(255,255,255,.72)}
.portal-sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:26px 18px;border-radius:28px}
.portal-profile{display:flex;align-items:center;gap:14px;padding:12px 10px 22px}
.portal-profile img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.82);box-shadow:0 10px 18px rgba(90,124,174,.16)}
.portal-profile strong{display:block;font-size:1.12rem}
.portal-profile span{display:block;color:var(--text-soft);font-size:.92rem}
.portal-nav{display:grid;gap:10px}
.portal-nav a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;color:#5f78a4;font-weight:780;background:rgba(255,255,255,.42);border:1px solid transparent}
.portal-nav a span{display:grid;place-items:center;width:22px;height:22px;border-radius:10px;background:rgba(106,160,255,.12);color:var(--blue)}
.portal-nav a.is-active,.portal-nav a:hover{color:var(--blue);background:rgba(255,255,255,.72);border-color:rgba(179,210,255,.95)}
.portal-sidebar__foot{display:grid;gap:12px;padding:16px 8px 4px}
.portal-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.72);color:var(--blue);font-size:.85rem;font-weight:800}
.portal-main{padding:20px;border-radius:30px}
.portal-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.portal-topbar h2{margin-bottom:6px;font-size:2rem}
.portal-topbar p{margin:0;color:var(--text-soft)}
.portal-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.portal-card{padding:18px;border-radius:24px}
.portal-card--stat{grid-column:span 5}
.portal-card--chart{grid-column:span 7}
.portal-card--documents{grid-column:span 5}
.portal-card--invoices{grid-column:span 4}
.portal-card--events{grid-column:span 3}
.portal-card--revenue{grid-column:span 3}
.portal-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.portal-card__header strong{font-size:1.08rem;color:#4d6994}
.portal-card__header span,.portal-card__header a{color:#8aa0c1;font-size:.9rem;font-weight:700}
.portal-card__amount{font-size:2.55rem;line-height:1;font-weight:900;letter-spacing:-.05em;color:#496993;margin-bottom:14px}
.portal-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8ca0bd;font-size:.92rem}
.portal-switch{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:rgba(255,255,255,.6)}
.portal-switch span{padding:8px 12px;border-radius:999px;font-size:.8rem;color:#8aa0c1}
.portal-switch .is-active{background:#fff;color:var(--blue);box-shadow:0 8px 18px rgba(108,146,207,.12)}
.portal-chart{display:grid;gap:10px}
.portal-chart svg{width:100%;height:210px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(185,225,255,.18));border:1px solid rgba(255,255,255,.52)}
.portal-chart__line{fill:none;stroke:#eff9ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 14px rgba(255,255,255,.55))}
.portal-chart__line--soft{stroke:#6aa8ef;opacity:.6}
.portal-chart__line--alt{stroke:#90d7ff;opacity:.8}
.portal-chart__labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.portal-chart__labels span{text-align:center;color:#8ca0bd;font-size:.82rem}
.portal-list,.portal-mini-list,.portal-events{display:grid;gap:12px}
.portal-list__item,.portal-mini-list__item,.portal-event{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.62)}
.portal-list__copy strong,.portal-mini-list__item strong,.portal-event strong{display:block;color:#4d6994}
.portal-list__copy span,.portal-mini-list__item span,.portal-event span,.portal-event small{display:block;color:#8ca0bd}
.portal-list__meta,.portal-mini-list__amount{text-align:right}
.portal-status{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;min-height:28px;padding:5px 10px;border-radius:999px;font-size:.76rem!important;font-weight:900!important;line-height:1;color:#496993;background:#f3f7ff;border:1px solid #dce7f6}
.portal-status--new{color:#174fc8;background:#e8f2ff;border-color:#bcd3ff}.portal-status--pending{color:#9b680c;background:#fff6df;border-color:#ead39a}.portal-status--valid{color:#087b63;background:#eafff8;border-color:#b9ecd9}
.portal-mini-list__amount strong{font-size:1.08rem}
.portal-mini-list__item{grid-template-columns:1fr auto}
.portal-event{grid-template-columns:auto 1fr}
.portal-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.8);color:var(--blue);font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.portal-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;min-height:180px;padding:12px 0 18px}
.portal-bars__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}
.portal-bars__bar{width:100%;max-width:34px;border-radius:12px 12px 8px 8px;background:linear-gradient(180deg,rgba(96,139,255,.95),rgba(132,196,255,.75));box-shadow:0 10px 18px rgba(98,144,226,.2)}
.portal-bars__item span{font-size:.78rem;color:#8ca0bd}
.portal-auth-card,.portal-preview-card{padding:26px;border-radius:30px}
.portal-auth-card__head{margin-bottom:18px}
.portal-auth-card__eyebrow,.portal-preview-card__badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.72);color:var(--blue);font-size:.8rem;font-weight:800;margin-bottom:12px}
.portal-auth-card__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.portal-auth-card__meta div{padding:14px;border-radius:18px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.6)}
.portal-auth-card__meta strong{display:block;font-size:1rem;color:#4d6994;margin-bottom:4px}
.portal-auth-card__meta span{display:block;font-size:.86rem;color:#8ca0bd;line-height:1.4}
.portal-preview-card h2{font-size:1.8rem}
.portal-preview-card p{color:var(--text-soft)}
.portal-request-box{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.55)}
.portal-request-box h3{margin-bottom:8px}
.portal-preview-card__admin-link{margin:12px 0 0}
.portal-preview-card__admin-link a{color:var(--blue);font-weight:800}
.portal-admin-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.portal-admin-actions form{margin:0}
.portal-list__copy a{color:var(--blue);font-weight:800}
body.portal-page{background:
radial-gradient(circle at top,rgba(239,247,255,.95),rgba(224,238,255,.72) 42%,rgba(215,241,252,.9)),
linear-gradient(180deg,#eef5ff 0%,#deecff 36%,#dff4f6 100%)}
body.portal-page .section-head{max-width:1120px;margin-inline:auto}
body.portal-page .portal-shell{grid-template-columns:236px minmax(0,1fr);gap:22px;padding:16px;border-radius:30px;background:linear-gradient(135deg,#f8fbff 0%,#edf5ff 100%);border:1px solid #d6e4f8;box-shadow:0 26px 70px rgba(44,82,140,.12)}
body.portal-page .portal-sidebar,body.portal-page .portal-main,body.portal-page .portal-card{backdrop-filter:none;background:#fff;border:1px solid #dbe6f6;box-shadow:0 16px 36px rgba(34,64,110,.08)}
body.portal-page .portal-sidebar{position:sticky;top:92px;align-self:start;min-height:calc(100vh - 130px);border-radius:24px}
body.portal-page .portal-main{padding:24px;border-radius:26px}
body.portal-page .portal-topbar{align-items:center;margin-bottom:18px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#0f2a63 0%,#316fff 100%);color:#fff;box-shadow:0 18px 38px rgba(47,111,255,.18)}
body.portal-page .portal-topbar h2{color:#fff;margin:2px 0 4px;font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em}
body.portal-page .portal-topbar p{color:rgba(255,255,255,.82)}
body.portal-page .portal-topbar__eyebrow{display:inline-flex;min-height:30px;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
body.portal-page .portal-topbar .btn{background:#fff;color:var(--blue);border-color:#fff}
body.portal-page .portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
body.portal-page .portal-kpi{min-height:106px;padding:18px;border-radius:22px;background:#fff;border:1px solid #dbe6f6;box-shadow:0 12px 28px rgba(34,64,110,.07)}
body.portal-page .portal-kpi span{display:block;color:#607293;font-weight:850;font-size:.9rem}
body.portal-page .portal-kpi strong{display:block;margin-top:10px;font-size:2.35rem;line-height:1;color:#0c1d46}
body.portal-page .portal-kpi--blue{background:#f3f7ff;border-color:#cfe0ff}
body.portal-page .portal-kpi--gold{background:#fff8ea;border-color:#ecd19a}
body.portal-page .portal-kpi--green{background:#f1fbf7;border-color:#bfead8}
body.portal-page .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
body.portal-page #requests,body.portal-page #contact-requests,body.portal-page #audit-log{grid-column:1/-1}
body.portal-page #requests{order:1}body.portal-page #contact-requests{order:2}body.portal-page #create-client{order:3}body.portal-page #clients{order:4}body.portal-page #documents-admin{order:5}body.portal-page #billing-admin{order:6}body.portal-page #audit-log{order:20}
body.portal-page .portal-card{grid-column:auto;padding:22px;border-radius:24px}
body.portal-page .portal-card__header{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf2fa}
body.portal-page .portal-card__header strong{font-size:1.18rem;color:#0c1d46}
body.portal-page .portal-card__header span{padding:6px 10px;border-radius:999px;background:#f3f7ff;color:#496993}
body.portal-page .portal-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.portal-page .portal-card .input,body.portal-page .portal-card .textarea{background:#fff;border-color:#d6e2f2}
body.portal-page .portal-card .btn-primary{min-height:48px;border-radius:16px}
body.portal-page .portal-list__item,body.portal-page .portal-mini-list__item{background:#f8fbff;border:1px solid #dce7f6;border-radius:18px;padding:16px}
body.portal-page .portal-list__copy strong,body.portal-page .portal-mini-list__item strong{color:#102450;font-size:1rem}
body.portal-page .portal-list__copy span,body.portal-page .portal-mini-list__item span{color:#607293;line-height:1.5}
body.portal-page .portal-icon{background:#fff;color:var(--blue);border:1px solid #dce7f6}
body.portal-page .portal-nav a span{font-size:0}
body.portal-page .portal-nav a span::before{font-size:.68rem;font-weight:950}
body.portal-page .portal-nav a:nth-child(1) span::before{content:"01"}body.portal-page .portal-nav a:nth-child(2) span::before{content:"02"}body.portal-page .portal-nav a:nth-child(3) span::before{content:"03"}body.portal-page .portal-nav a:nth-child(4) span::before{content:"04"}body.portal-page .portal-nav a:nth-child(5) span::before{content:"05"}body.portal-page .portal-nav a:nth-child(6) span::before{content:"06"}
body.portal-page .portal-admin-actions .btn,body.portal-page .portal-mini-list__item .btn{min-height:42px;padding:0 14px;border-radius:14px}
body.portal-page #contact-requests .portal-list__item{grid-template-columns:auto minmax(0,1fr) auto}
body.portal-page .notice{background:#f8fbff;border-color:#dce7f6}
.portal-shell--client{align-items:start}
.portal-profile--stacked{align-items:center;border-bottom:1px solid #edf2fa;margin-bottom:12px}
.portal-client-details{display:grid;gap:8px;margin:0 8px 18px;padding:14px;border-radius:18px;background:#f8fbff;border:1px solid #dce7f6;color:#607293;font-size:.92rem;font-weight:750}
.portal-client-details strong{display:inline-flex;width:max-content;min-height:28px;align-items:center;padding:5px 10px;border-radius:999px;background:#eafff8;border:1px solid #b9ecd9;color:#087b63;font-size:.78rem}
body.portal-page .portal-topbar--client{align-items:flex-start;background:linear-gradient(135deg,#102450 0%,#245be8 68%,#4d89ff 100%)}
body.portal-page .portal-topbar--client h1{margin:8px 0 6px;color:#fff;font-size:clamp(2rem,4vw,3.15rem);line-height:1;letter-spacing:-.04em}
.portal-support-btn{flex-direction:column;align-items:flex-start;gap:4px;min-width:210px;line-height:1.1}
.portal-support-btn span{display:inline-flex;min-height:24px;align-items:center;padding:4px 8px;border-radius:999px;background:#eafff8;color:#087b63;font-size:.72rem;font-weight:950}
.portal-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.portal-quick-action{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid #dbe6f6;color:#174fc8;font-weight:900;text-align:center;box-shadow:0 12px 28px rgba(34,64,110,.07);transition:transform .18s ease,box-shadow .18s ease}
.portal-quick-action:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(34,64,110,.1)}
body.portal-page .portal-grid--client{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
body.portal-page .portal-grid--client .portal-card{grid-column:span 6}
body.portal-page .portal-grid--client .portal-card--documents,body.portal-page .portal-grid--client .portal-card--timeline{grid-column:span 7}
body.portal-page .portal-grid--client .portal-card--invoices,body.portal-page .portal-grid--client .portal-card--chat{grid-column:span 5}
.portal-card--ok{background:linear-gradient(145deg,#ffffff 0%,#f1fbf7 100%)!important;border-color:#bfead8!important}.portal-card--alert{background:linear-gradient(145deg,#ffffff 0%,#fff6df 100%)!important;border-color:#ead39a!important}
.portal-card--appointment{background:linear-gradient(145deg,#ffffff 0%,#f3f7ff 100%)!important}.portal-card--equipment{background:linear-gradient(145deg,#ffffff 0%,#f8fbff 100%)!important}
.portal-card--balance p,.portal-card--appointment p,.portal-intervention p,.portal-empty p{margin:0 0 14px;color:#607293;line-height:1.55}
.portal-appointment-date{display:inline-flex;min-height:38px;align-items:center;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#174fc8;font-weight:900;margin-bottom:12px}
.portal-card--appointment h2,.portal-intervention h2{font-size:1.45rem;margin:0 0 8px;color:#102450}
.portal-intervention{display:grid;gap:10px}
.portal-icon--pdf{background:#fff2f2!important;color:#d73333!important;border-color:#ffd1d1!important;font-size:.78rem}
.portal-empty{padding:18px;border-radius:18px;background:#f8fbff;border:1px dashed #bfd0e8}
.portal-empty strong{display:block;margin-bottom:6px;color:#102450}
.portal-timeline{display:grid;gap:12px}
.portal-timeline article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border-radius:18px;background:#f8fbff;border:1px solid #dce7f6}
.portal-timeline article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eafff8;color:#087b63;font-weight:950}
.portal-timeline strong,.portal-timeline small{display:block}.portal-timeline small{margin-top:4px;color:#607293}
.portal-chat{display:grid;gap:10px;margin-bottom:16px}.portal-chat__bubble{max-width:88%;margin:0;padding:12px 14px;border-radius:18px;background:#eef4ff;color:#102450;font-weight:750;line-height:1.45}.portal-chat__bubble--pro{justify-self:start;background:#eafff8}.portal-chat__bubble:not(.portal-chat__bubble--pro){justify-self:end;background:#f3f7ff}.portal-chat>span{color:#607293;font-size:.9rem;font-weight:800}
@media (max-width:1160px){
  .portal-shell,.portal-shell--auth{grid-template-columns:1fr}
  .portal-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .portal-card--stat,.portal-card--chart,.portal-card--documents,.portal-card--invoices,.portal-card--events,.portal-card--revenue{grid-column:span 6}
  body.portal-page .portal-sidebar{position:relative;top:auto;min-height:0}
  body.portal-page .portal-grid{grid-template-columns:1fr}
  body.portal-page .portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-page .portal-grid--client,.portal-quick-actions{grid-template-columns:1fr}
  body.portal-page .portal-grid--client .portal-card,body.portal-page .portal-grid--client .portal-card--documents,body.portal-page .portal-grid--client .portal-card--timeline,body.portal-page .portal-grid--client .portal-card--invoices,body.portal-page .portal-grid--client .portal-card--chat{grid-column:1/-1}
}
@media (max-width:860px){
  body.portal-page .container{padding-inline:10px}
  .portal-shell{padding:10px;border-radius:24px}
  body.portal-page .portal-shell{gap:12px;border-radius:24px;padding:10px}
  .portal-main,.portal-sidebar,.portal-auth-card,.portal-preview-card{padding:16px}
  body.portal-page .portal-main{padding:14px;border-radius:20px}
  .portal-topbar{flex-direction:column}
  body.portal-page .portal-topbar--client{padding:18px;border-radius:20px}
  body.portal-page .portal-topbar--client h1{font-size:2.1rem}
  .portal-support-btn,.portal-topbar .btn{width:100%;min-width:0;align-items:center;text-align:center}
  .portal-quick-actions{gap:10px}
  .portal-quick-action{min-height:50px}
  body.portal-page .portal-card{padding:16px;border-radius:20px}
  body.portal-page .portal-card__header{align-items:flex-start;flex-direction:column}
  .portal-card__amount{font-size:2.05rem;overflow-wrap:anywhere}
  .portal-auth-card__meta{grid-template-columns:1fr}
  .portal-bars{grid-template-columns:repeat(5,minmax(0,1fr))}
  body.portal-page .portal-card .form-grid,body.portal-page .portal-kpis{grid-template-columns:1fr}
  body.portal-page .portal-list__item,body.portal-page #contact-requests .portal-list__item{grid-template-columns:1fr;text-align:left}
  .portal-list__meta,.portal-mini-list__amount{text-align:left}
  .portal-mini-list__item{grid-template-columns:1fr;gap:12px}
  .portal-nav a{min-height:48px}
  .floating-phone{position:static;margin:18px auto 0;width:calc(100% - 20px)}
  body.portal-page .portal-admin-actions{justify-content:flex-start}
  .site-nav__client--connected{width:100%;justify-content:flex-start}
  .site-nav__menu{width:100%}
  .site-nav__dropdown{position:static;margin-top:8px}
}

/* ===== CLIENT PORTAL PAUSED ===== */
.portal-paused{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:26px;align-items:center;margin:20px 0 54px;padding:clamp(24px,4vw,46px);border:1px solid #dbe6f6;border-radius:34px;background:radial-gradient(circle at top left,rgba(234,243,255,.95),rgba(255,255,255,.92) 48%,rgba(248,252,255,.96));box-shadow:0 26px 70px rgba(44,82,140,.12);overflow:hidden}.portal-paused__content{max-width:680px}.portal-paused__badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;background:#eaf2ff;border:1px solid #cfe0ff;color:var(--blue);font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.portal-paused h1{margin:18px 0 14px;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.98;letter-spacing:0;color:#0c1d46}.portal-paused p{margin:0;color:#526484;font-size:clamp(1.02rem,1.8vw,1.2rem);line-height:1.7}.portal-paused__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.portal-paused__visual{min-height:280px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(145deg,#f7fbff,#eaf3ff);border:1px solid rgba(207,224,255,.9)}.portal-paused__panel{width:min(100%,290px);padding:24px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.92);box-shadow:0 24px 46px rgba(47,111,255,.12);display:grid;gap:12px}.portal-paused__panel span{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#2f6fff,#74a6ff);box-shadow:0 16px 30px rgba(47,111,255,.22)}.portal-paused__panel strong{font-size:1.35rem;color:#0c1d46}.portal-paused__panel small{color:#607293;line-height:1.55;font-weight:700}@media (max-width:760px){.portal-paused{grid-template-columns:1fr;padding:20px;border-radius:26px}.portal-paused__visual{min-height:220px}.portal-paused__actions .btn{width:100%}}

/* ===== MOBILE FINAL OVH ===== */
.hero__trust{display:none!important}
@media (max-width:1160px){
  .site-header{z-index:120}
  .site-header__inner{min-height:64px;padding:7px 0;gap:8px;flex-direction:row;flex-wrap:wrap}
  .brand{flex:1 1 auto;gap:9px;max-width:calc(100% - 56px)}
  .brand__mark{width:42px;height:42px;filter:drop-shadow(0 6px 10px rgba(17,57,140,.18))}
  .brand__copy strong{font-size:1rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand__copy small{display:none}
  .site-header__mobile-actions{display:flex;flex:0 0 auto;margin-left:0;gap:8px}
  .nav-toggle{width:42px;height:42px;border-radius:12px}
  .site-nav{padding-top:6px}
  .site-nav a,.site-nav summary{min-height:40px}
}
@media (max-width:860px){
  .page-wrap{padding-bottom:112px}
  .hero{padding:14px;border-radius:22px}
  .hero__copy{gap:12px}
  .hero-badge{min-height:34px;padding:8px 11px;font-size:.72rem}
  .hero__copy h1{font-size:clamp(1.95rem,8vw,2.55rem);letter-spacing:0}
  .hero__actions{gap:9px}
  .floating-phone{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;z-index:200!important;width:auto!important;margin:0!important;min-height:56px;justify-content:center}
}
@media (max-width:560px){
  .container{width:calc(100% - 20px)}
  .site-header__inner{min-height:58px;padding:6px 0}
  .brand__mark{width:38px;height:38px}
  .brand__copy strong{font-size:.95rem}
  .nav-toggle{width:40px;height:40px}
  .floating-phone__text strong{font-size:.95rem}
  .floating-phone__text span{font-size:.76rem}
}

/* ===== FINAL CLIENT + DEPANNAGE ===== */
.floating-phone__icon svg{width:18px;height:18px;fill:currentColor}
.leak-repair-svg{width:min(100%,260px);max-height:250px}
.leak-repair-svg .repair-pipe,
.leak-repair-svg .repair-pipe--branch,
.leak-repair-svg .repair-joint,
.leak-repair-svg .repair-flow,
.leak-repair-svg .repair-target,
.leak-repair-svg .repair-seal,
.leak-repair-svg .repair-drop--two,
.leak-repair-svg .repair-tool{display:none!important}
.leak-repair-svg .repair-drop--one{
  display:block!important;
  fill:#2f6fff!important;
  transform-origin:198px 188px;
  animation:simpleLeakDrop 2.6s ease-in-out infinite!important;
  filter:drop-shadow(0 18px 22px rgba(47,111,255,.22));
}
.service-hero__visual--plumbing::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(47,111,255,.08);
}
.portal-shell--auth-refined .portal-auth-card__head h2,
.portal-shell--auth-refined .portal-auth-card__head p,
.portal-shell--auth-refined .portal-preview-card--request p,
.portal-shell--auth-refined .portal-preview-card__badge{
  display:block!important;
}
.portal-shell--auth-refined .portal-auth-card__eyebrow,
.portal-shell--auth-refined .portal-auth-card__meta{
  display:none!important;
}
.portal-shell--auth-refined{align-items:start}
.portal-shell--auth-refined .portal-preview-card--request .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-shell--client .portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-file-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eef4ff;color:var(--blue);font-size:.74rem;font-weight:950}
.portal-event__dot{width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(47,111,255,.12)}
.portal-empty{margin:0;color:var(--text-soft)}
.portal-checkbox{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:16px;background:#f8fbff;border:1px solid var(--line);color:var(--text-soft);line-height:1.45;font-weight:750}
.portal-checkbox input{margin-top:3px;accent-color:var(--blue)}
.portal-edit-client{grid-column:1/-1;margin-top:12px;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.portal-edit-client summary{cursor:pointer;color:var(--blue);font-weight:850}
.portal-edit-client .form-grid{margin-top:12px}
.portal-list__meta form{margin-top:8px}
@keyframes simpleLeakDrop{
  0%,100%{transform:translateY(-12px) scale(.94);opacity:.72}
  50%{transform:translateY(16px) scale(1.08);opacity:1}
}
@media (max-width:860px){
  .portal-shell--auth-refined .portal-preview-card--request .form-grid,
  .portal-shell--client .portal-kpis{grid-template-columns:1fr}
  .leak-repair-svg{max-height:220px}
}

/* ===== PIPE DRIP ANIMATION ===== */
.pipe-drip-svg{position:relative;z-index:1;width:min(100%,320px);height:auto;filter:drop-shadow(0 20px 28px rgba(47,111,255,.14))}
.pipe-drip-svg__pipe{fill:none;stroke:#1d56dc;stroke-width:30;stroke-linecap:round;stroke-linejoin:round}
.pipe-drip-svg__open{fill:none;stroke:#8bb5ff;stroke-width:20;stroke-linecap:round}
.pipe-drip-svg__drop{fill:#2f6fff;transform-origin:288px 202px;animation:pipeDripDrop 1.9s ease-in-out infinite}
.service-hero__visual--plumbing::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(47,111,255,.08)}
@keyframes pipeDripDrop{
 0%{transform:translateY(-14px) scale(.76);opacity:0}
 20%{opacity:1}
 75%{transform:translateY(44px) scale(1);opacity:1}
 100%{transform:translateY(58px) scale(.9);opacity:0}
}
@media (max-width:860px){.pipe-drip-svg{width:min(100%,290px)}}
@media (prefers-reduced-motion:reduce){.pipe-drip-svg__drop{animation:none!important}}

