:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F4F5F7; --line:#E3E6EA;
  --title:#17201A; --sub:#1B241E; --text:#1E2521; --text-2:#4D5752;
  --brand:#3A4C39; --brand-ink:#FFFFFF; --brand-hover:#2F3F2E;
  --cta:#A86246; --cta-ink:#FFFFFF; --cta-hover:#95543A;
  --leaf:#3A4C39; --leaf-tint:#E9EFE8; --link:#3A4C39;
  --tone-1:#3A4C39; --tone-2:#495D7B; --tone-3:#5699BF;
  --deep:#2C3A2B; --deep-2:#354634; --deep-line:#46594A; --on-deep:#FFFFFF; --on-deep-2:#E2E8E1; --on-deep-accent:#CFE0C9;
  --tag:#EEF1F4; --tag-ink:#1E2521; --after:#3A4C39; --after-ink:#FFFFFF;
  --danger:#9e3328;
  --timber-1:#B07E55; --timber-2:#9A6A44; --timber-3:#C18D61; --slab:#D9DBCB; --slab-joint:#BFC1AE;
  --focus:#495D7B; --shadow:0 18px 40px -24px rgba(21,32,26,.28); --shadow-lg:0 40px 80px -40px rgba(21,32,26,.35);
  --ease:cubic-bezier(.16,1,.3,1);
  --r-s:10px; --r-m:18px; --r-l:28px; --leaf-r:6px 56px 6px 56px; --leaf-r-s:4px 32px 4px 32px;
  --serif:"Red Hat Display", "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;   /* the display font (named --serif from before; it is now a sans) */
  --sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --wrap:1240px; --gut:clamp(1.1rem,4vw,2.5rem); --header-h:72px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;overflow-wrap:break-word;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;color:var(--title);text-wrap:balance}
h1{font-size:clamp(2.35rem,5.4vw,4.4rem);line-height:1.04;letter-spacing:-.012em}
h2{font-size:clamp(1.85rem,3.5vw,2.85rem);line-height:1.1;letter-spacing:-.008em}
h3{font-size:1.3rem;line-height:1.25;color:var(--sub)}
h4{font-family:var(--sans);font-size:1.05rem;font-weight:650;margin:0 0 .35rem;line-height:1.35;color:var(--sub)}
.lead{font-size:clamp(1.1rem,1.5vw,1.25rem);color:var(--text-2);line-height:1.55;max-width:58ch}
.muted{color:var(--text-2)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(3.75rem,8vw,7rem)}
.section--tint{background:var(--surface-2)}
.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.stack>*+*{margin-top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
#page-title:focus,#main:focus{outline:none}
.skip{position:absolute;left:1rem;top:-100px;background:var(--brand);color:var(--brand-ink);padding:.6rem 1rem;border-radius:999px;z-index:100}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + .75rem)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font:600 1rem/1 var(--sans);padding:.95rem 1.4rem;border-radius:999px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn--primary{background:var(--cta);color:var(--cta-ink);font-weight:700;font-size:1.1875rem}
.btn--primary:hover{background:var(--cta-hover)}
.btn--ghost{border-color:currentColor;color:var(--text);background:transparent}
.btn--ghost:hover{background:var(--surface-2)}
.btn--light{background:var(--on-deep);color:#2d3830}
.btn--light:hover{background:#F1F3F5}
.btn--outline-light{border-color:var(--on-deep);color:var(--on-deep)}
.btn--outline-light:hover{background:rgba(222,224,193,.12)}
.btn--blue{background:var(--deep);color:var(--on-deep)}
.btn--small{padding:.65rem 1rem;font-size:.95rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.textlink{color:var(--link);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.textlink:hover{text-decoration-thickness:2.5px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.header-inner{display:flex;align-items:center;gap:1.5rem;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text);flex:none}
.brand svg{width:40px;height:40px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.01em}
.brand-sub{font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--text-2);margin-top:.28rem}
.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem}
.nav a,.nav button.nav-link{font:500 1rem var(--sans);color:var(--text);text-decoration:none;padding:.55rem .8rem;border-radius:999px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}
.nav a:hover,.nav button.nav-link:hover{background:var(--surface-2)}
.nav a[aria-current="page"],.nav .nav-link.is-active{color:var(--sub);background:var(--surface-2)}
.nav a.btn{margin-left:.5rem;color:var(--cta-ink);background:var(--cta);padding:.7rem 1.15rem;font-weight:700;font-size:1.1875rem}
.nav a.btn:hover{background:var(--cta-hover)}
.has-menu{position:relative}
.has-menu svg{width:14px;height:14px;transition:transform .2s}
.has-menu[data-open="true"] .nav-link svg{transform:rotate(180deg)}
.menu{position:absolute;top:calc(100% + .5rem);left:-.5rem;width:min(560px,80vw);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow);padding:.6rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s}
.has-menu[data-open="true"] .menu{opacity:1;visibility:visible;transform:none}
.menu a{display:block;padding:.7rem .8rem;border-radius:12px}
.menu a strong{display:block;font-weight:600}
.menu a span{display:block;font-size:.88rem;color:var(--text-2);line-height:1.35;margin-top:.15rem}
.menu a.menu-all{grid-column:1/-1;border-top:1px solid var(--line);border-radius:0 0 12px 12px;margin-top:.2rem;color:var(--link);font-weight:600}
.menu-toggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:999px;padding:.55rem .95rem;font:600 .95rem var(--sans);color:var(--text);align-items:center;gap:.45rem;cursor:pointer}
.menu-toggle svg{width:18px;height:18px}
.drawer{position:fixed;inset:0;z-index:60;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 1rem) var(--gut) calc(env(safe-area-inset-bottom,0px) + 1.5rem);display:flex;flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform .28s ease;visibility:hidden}
.drawer.is-open{transform:none;visibility:visible}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.drawer nav a{display:block;font-family:var(--serif);font-size:1.75rem;text-decoration:none;padding:.45rem 0;color:var(--text)}
.drawer .drawer-sub a{font-family:var(--sans);font-size:1.05rem;padding:.4rem 0 .4rem 1rem;color:var(--text-2);border-left:2px solid var(--line)}
.drawer .drawer-cta{margin-top:auto;padding-top:2rem;display:grid;gap:.6rem}

/* Hero (home) */
.hero{position:relative;margin:0 clamp(.5rem,1.4vw,1rem);border-radius:var(--r-l);overflow:hidden;min-height:min(84vh,780px);display:flex;align-items:flex-end;isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,19,18,0) 45%,rgba(18,19,18,.35) 100%)}
.hero-panel{background:var(--surface);border-radius:var(--leaf-r);padding:clamp(1.5rem,3.4vw,2.75rem);margin:clamp(1rem,3.5vw,3rem);max-width:640px;box-shadow:var(--shadow);animation:rise .8s cubic-bezier(.2,.7,.2,1) both .1s}
.hero-panel h1{font-size:clamp(2.3rem,5vw,4rem)}
.hero-panel .lead{margin:1.1rem 0 1.6rem}
.trust{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.93rem;color:var(--text-2)}
.trust span{display:inline-flex;align-items:center;gap:.45rem}
.trust svg{width:18px;height:18px;color:var(--leaf)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Section headers */
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.25rem 3rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.sec-head p{margin:0;color:var(--text-2);max-width:52ch}
.sec-head--single{grid-template-columns:1fr}

/* Before/after slider */
.ba{position:relative;overflow:hidden;border-radius:var(--r-m);user-select:none;-webkit-user-select:none;touch-action:pan-y;background:var(--surface-2);--pos:50%;cursor:ew-resize}
.ba img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.ba .ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.ba-knob{position:absolute;top:50%;left:var(--pos);width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--cta);color:var(--cta-ink);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);border:3px solid #FFFFFF;cursor:ew-resize;padding:0}
.ba-knob svg{width:24px;height:24px}
.ba-tag{position:absolute;top:.85rem;font-size:.82rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;background:#FFFFFF;color:#1E2521;pointer-events:none;transition:opacity .2s}
.ba-tag--before{left:.85rem}
.ba-tag--after{right:.85rem;background:var(--after);color:var(--after-ink)}
.ba.nudge .ba-before,.ba.nudge .ba-line,.ba.nudge .ba-knob{transition:clip-path .9s cubic-bezier(.45,0,.2,1),left .9s cubic-bezier(.45,0,.2,1)}
.ba-caption{margin-top:.8rem;font-size:.95rem;color:var(--text-2)}
.ba-caption strong{color:var(--text);font-weight:600}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-radius:var(--r-m);overflow:hidden}
.compare figure{margin:0;position:relative}
.compare img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.compare .ba-tag{top:.75rem}
.compare figure:first-child .ba-tag{left:.75rem}
.compare figure:last-child .ba-tag{left:.75rem;right:auto;background:var(--after);color:var(--after-ink)}

/* Home: proof */
.proof{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.proof .ba{aspect-ratio:3/2}
.proof-meta{display:flex;gap:2rem;margin:1.75rem 0;padding:1.1rem 0;border-block:1px solid var(--line)}
.proof-meta div{font-size:.92rem;color:var(--text-2)}
.proof-meta strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--text)}

/* Outcome pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem)}
.pillar{padding:1.75rem 1.6rem 1.6rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);position:relative}
.pillar::before{content:"";position:absolute;left:1.6rem;top:0;width:44px;height:4px;border-radius:0 0 4px 4px;background:var(--c,var(--tone-1))}
.pillar h3{margin-bottom:.4rem}
.pillar p{color:var(--text-2);margin-bottom:1.1rem}
.pillar[data-tone="transform"]{--c:var(--tone-2)}
.pillar[data-tone="refresh"]{--c:var(--tone-3)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border-radius:999px;background:var(--surface-2);font-size:.92rem;font-weight:500;text-decoration:none;color:var(--text);border:1px solid transparent;cursor:pointer;font-family:var(--sans)}
a.chip:hover,button.chip:hover{border-color:var(--line);background:var(--leaf-tint)}
.chip[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink)}
.tag{display:inline-block;font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--leaf-tint);color:var(--tag-ink)}
.tag--blue{background:var(--surface-2);color:var(--text)}

/* Service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem)}
.svc-grid>:nth-child(3n+2){margin-top:3rem}
.svc-card{text-decoration:none;color:var(--text);display:block}
.svc-card .frame{aspect-ratio:4/5;border-radius:var(--r-m);overflow:hidden;background:var(--surface-2);position:relative}
.svc-card .frame img,.svc-card .frame .texture{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc-card:hover .frame img,.svc-card:hover .frame .texture{transform:scale(1.03)}
.svc-card h3{margin-top:1rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.svc-card h3 svg{width:20px;height:20px;color:var(--link);flex:none;transition:transform .2s}
.svc-card:hover h3 svg{transform:translateX(3px)}
.svc-card p{color:var(--text-2);margin:.35rem 0 0;font-size:1rem}
.texture{position:relative}
.texture svg{width:100%;height:100%;display:block}
.texture .texture-note{position:absolute;left:.85rem;bottom:.85rem;font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;background:#FFFFFF;color:#1E2521}

/* Why */
.why{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.why-img{border-radius:var(--leaf-r);overflow:hidden;aspect-ratio:4/5}
.why-img img{width:100%;height:100%;object-fit:cover}
.points{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2rem;margin-top:2.25rem}
.point p{color:var(--text-2);margin:0;font-size:1rem}
.icon-sq{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--leaf-tint);color:var(--leaf);margin-bottom:.9rem}
.icon-sq svg{width:24px;height:24px}
.icon-sq--blue{background:var(--cta);color:var(--cta-ink)}

/* Projects cards */
.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.4vw,1.75rem)}
.proj-card{grid-column:span 4;text-decoration:none;color:var(--text);display:flex;flex-direction:column}
.proj-card--feature{grid-column:span 8;grid-row:span 2}
.proj-card .frame{border-radius:var(--r-m);overflow:hidden;aspect-ratio:4/3;background:var(--surface-2)}
.proj-card--feature .frame{aspect-ratio:auto;flex:1;min-height:340px}
.proj-card .frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.proj-card:hover .frame img{transform:scale(1.03)}
.proj-card .frame.split{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.proj-card .frame.split figure{margin:0;position:relative;overflow:hidden}
.proj-card h3{margin-top:1rem}
.proj-card p{color:var(--text-2);margin:.35rem 0 0;font-size:1rem}
.proj-card .chips{margin-top:.7rem}
.proj-card .tag{font-size:.78rem}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem)}
.review{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:1.6rem;display:flex;flex-direction:column}
.review blockquote{margin:0 0 1.25rem;font-family:var(--serif);font-size:1.15rem;line-height:1.45}
.review footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.92rem;color:var(--text-2)}
.stars{display:flex;gap:2px;color:var(--cta);margin-bottom:1rem}
.stars svg{width:18px;height:18px}
.placeholder-flag{font-size:.74rem;font-weight:700;padding:.22rem .55rem;border-radius:999px;border:1px dashed var(--text-2);color:var(--text-2)}

/* Process */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:clamp(1rem,2.5vw,2rem);counter-reset:step;list-style:none;margin:0;padding:0}
.steps li{position:relative;padding-top:3.4rem}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.1rem;background:var(--brand);color:var(--brand-ink)}
.steps li::after{content:"";position:absolute;top:1.25rem;left:3.1rem;right:-.5rem;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 11px)}
.steps li:last-child::after{display:none}
.steps p{color:var(--text-2);margin:0;font-size:1rem}

/* CTA band */
.cta-band{position:relative;margin:0 clamp(.5rem,1.4vw,1rem);border-radius:var(--r-l);overflow:hidden;color:var(--on-deep);isolation:isolate}
.cta-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(45,56,48,.97) 30%,rgba(45,56,48,.93) 65%,rgba(45,56,48,.9))}
.cta-band .wrap{padding-block:clamp(3.5rem,8vw,6.5rem)}
.cta-band h2{color:var(--on-deep);max-width:16ch}
.cta-band p{color:var(--on-deep-2);max-width:46ch;margin:1rem 0 1.75rem;font-size:1.15rem}
.cta-band :focus-visible{outline-color:var(--on-deep-2)}

/* Page hero (inner pages) */
.page-hero{padding-block:clamp(2rem,5vw,4rem) clamp(2.5rem,6vw,5rem)}
.page-hero .grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.page-hero .lead{margin:1.25rem 0 1.75rem}
.page-hero .visual{border-radius:var(--leaf-r);overflow:hidden;aspect-ratio:4/5;background:var(--surface-2);position:relative}
.page-hero .visual img,.page-hero .visual .texture{width:100%;height:100%;object-fit:cover}
.page-hero--text .grid{grid-template-columns:minmax(0,1fr)}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.92rem;color:var(--text-2);margin-bottom:1.25rem;list-style:none;padding:0}
.crumbs a{color:var(--text-2);text-decoration:none}
.crumbs a:hover{color:var(--text);text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line)}
.value-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:600;color:var(--text-2);margin-bottom:1rem}
.value-chip i{width:10px;height:10px;border-radius:3px;background:var(--c,var(--tone-1));display:inline-block}

/* Outcomes row */
.outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.4vw,2rem)}
.outcomes p{color:var(--text-2);margin:0;font-size:1rem}

/* Provides */
.provide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.5rem}
.checks li{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid var(--line)}
.checks svg{width:20px;height:20px;color:var(--leaf);flex:none;margin-top:.2rem}

/* Options scroller */
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;scrollbar-width:thin;overscroll-behavior-x:contain}
.scroller>*{scroll-snap-align:start}
.opt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:1.4rem}
.opt svg.fence{width:100%;height:auto;aspect-ratio:2/1;display:block;margin-bottom:1.1rem;border-radius:12px;background:var(--surface-2)}
.opt p{color:var(--text-2);margin:0;font-size:1rem}
.materials{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:clamp(1rem,2.4vw,1.75rem)}
.material{border-top:3px solid var(--c,var(--tone-1));padding-top:1.1rem}
.material p{color:var(--text-2);margin:0;font-size:1rem}

/* B/A grid + gallery */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.25rem)}
.ba-grid .ba{aspect-ratio:4/5}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.6rem,1.5vw,1rem)}
.gallery figure{margin:0;border-radius:var(--r-m);overflow:hidden;grid-column:span 4;aspect-ratio:4/5;background:var(--surface-2)}
.gallery figure img{width:100%;height:100%;object-fit:cover}
.gallery figure.wide{grid-column:span 8;aspect-ratio:auto}
.gallery figure.offset{margin-top:2.5rem}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;font-weight:600;font-size:1.08rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .pm{width:30px;height:30px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;flex:none;transition:transform .2s,background-color .2s}
.faq-list summary .pm svg{width:16px;height:16px}
.faq-list details[open] summary .pm{transform:rotate(45deg);background:var(--cta);color:var(--cta-ink)}
.faq-list details p{color:var(--text-2);margin:0 0 1.3rem;max-width:62ch}
.sticky-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 1.5rem)}

/* Single quote */
.quote-band{display:grid;grid-template-columns:auto 1fr;gap:1.5rem 2.5rem;align-items:start;max-width:960px}
.quote-band svg.q{width:56px;height:56px;color:var(--leaf)}
.quote-band blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.3}
.quote-band footer{margin-top:1rem;color:var(--text-2);display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}

/* Related services */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.related a{display:flex;align-items:center;gap:1rem;padding:.8rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text)}
.related a:hover{border-color:var(--leaf)}
.related .thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;flex:none;background:var(--surface-2)}
.related .thumb img,.related .thumb .texture{width:100%;height:100%;object-fit:cover}
.related strong{display:block;font-weight:600}
.related span{font-size:.92rem;color:var(--text-2)}

/* Services overview groups */
.group{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line)}
.group:first-child{border-top:0;padding-top:0}
.group-head .value-chip{margin-bottom:.6rem}
.group-head p{color:var(--text-2);margin-top:.8rem}
.group .svc-row{display:grid;grid-template-columns:repeat(var(--n,2),1fr);gap:clamp(1rem,2.4vw,1.5rem)}
.group .svc-card .frame{aspect-ratio:4/3}

/* Project detail */
.p-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:1.25rem 0 0;padding:0;list-style:none;color:var(--text-2);font-size:.95rem}
.p-meta strong{color:var(--text);font-weight:600}
.story{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2.5rem)}
.story h3{margin-bottom:.6rem}
.story p{color:var(--text-2);margin:0}
.feature-visual .ba{aspect-ratio:3/2}
.feature-visual .compare img{aspect-ratio:4/5}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}

/* About */
.standards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,3vw,2.5rem) clamp(2rem,5vw,4rem)}
.standards p{color:var(--text-2);margin:0}
.standards h3{margin-bottom:.5rem}
.band{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.band>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:1.5rem}
.band p{color:var(--text-2);margin:0;font-size:1rem}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(1.25rem,3vw,2.25rem)}
.tabs{display:inline-flex;padding:.3rem;border-radius:999px;background:var(--surface-2);margin-bottom:1.75rem;gap:.2rem}
.tabs button{font:600 .98rem var(--sans);border:0;background:transparent;color:var(--text-2);padding:.65rem 1.15rem;border-radius:999px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem 1rem}
.form .full{grid-column:1/-1}
.field label,.field legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.4rem}
.field .opt-label{font-weight:400;color:var(--text-2)}
.field input,.field select,.field textarea{width:100%;font:400 1rem var(--sans);color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:.8rem .9rem;transition:border-color .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--leaf-tint)}
.field[data-invalid="true"] input,.field[data-invalid="true"] textarea,.field[data-invalid="true"] select{border-color:var(--danger)}
.field .err{display:none;color:var(--danger);font-size:.88rem;margin-top:.35rem}
.field[data-invalid="true"] .err{display:block}
.field fieldset{border:0;margin:0;padding:0}
.radios{display:flex;flex-wrap:wrap;gap:.5rem}
.radios label{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;padding:.55rem .9rem;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;margin:0}
.radios input{width:auto;accent-color:var(--brand)}
.radios label:has(input:checked){border-color:var(--brand);background:var(--leaf-tint)}
.days{display:grid;grid-auto-flow:column;grid-auto-columns:76px;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}
.days button,.slots button{font:600 .95rem var(--sans);border:1.5px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;cursor:pointer;scroll-snap-align:start}
.days button{padding:.6rem .3rem;display:flex;flex-direction:column;align-items:center;gap:.1rem}
.days button small{font-weight:500;color:var(--text-2);font-size:.78rem}
.days button span{font-family:var(--serif);font-weight:400;font-size:1.35rem}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}
.slots button{padding:.7rem .4rem}
.days button[aria-pressed="true"],.slots button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.days button[aria-pressed="true"] small{color:inherit}
.success{display:none;text-align:left;padding:1rem 0}
.success.is-shown{display:block}
.success .icon-sq{background:var(--leaf-tint);color:var(--leaf)}
.direct{display:grid;gap:.6rem}
.direct a{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text)}
.direct a:hover{border-color:var(--leaf)}
.direct .icon-sq{margin:0;width:42px;height:42px}
.direct span.icon-sq{color:var(--leaf)}
.direct span.icon-sq--blue{color:var(--cta-ink)}
.direct strong{display:block;font-weight:600}
.direct span{font-size:.92rem;color:var(--text-2);overflow-wrap:anywhere;min-width:0}
.direct a>span:last-child{min-width:0}
.contact>aside{min-width:0}
.next-steps{list-style:none;padding:0;margin:0;counter-reset:n}
.next-steps li{position:relative;padding-left:2.4rem;margin-bottom:1rem;color:var(--text-2);font-size:1rem}
.next-steps li strong{display:block;color:var(--text);font-weight:600}
.next-steps li::before{counter-increment:n;content:counter(n);position:absolute;left:0;top:.1rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-weight:700;font-size:.85rem;color:var(--text)}
.note{font-size:.9rem;color:var(--text-2)}

/* Footer */
.site-footer{margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,4.5rem) 2rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2rem)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem}
.site-footer h4{font-size:.95rem;margin-bottom:.8rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.45rem}
.site-footer a{color:var(--text-2);text-decoration:none;font-size:.98rem}
.site-footer a:hover{color:var(--text);text-decoration:underline}
.foot-blurb{color:var(--text-2);max-width:34ch;margin-top:1rem;font-size:.98rem}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--text-2)}

/* Floating contact */
.float-wa{position:fixed;right:1.1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);z-index:40;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.15rem;border-radius:999px;background:var(--deep);color:var(--on-deep);text-decoration:none;font-weight:600;box-shadow:0 10px 26px -10px rgba(0,0,0,.45)}
.float-wa svg{width:20px;height:20px}
.mbar{display:none}
body[data-route="contact"] .float-wa{display:none}

/* Prose */
.prose{max-width:68ch}
.prose h2{font-size:1.6rem;margin:2rem 0 .75rem}
.prose p,.prose li{color:var(--text-2)}

/* Responsive */
@media (max-width:1060px){
  .nav{display:none}
  .menu-toggle{display:inline-flex}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid>:nth-child(3n+2){margin-top:0}
  .svc-grid>:nth-child(2n){margin-top:2.5rem}
  .outcomes{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps li:nth-child(2n)::after{display:none}
  .proj-card,.proj-card--feature{grid-column:span 6}
  .proj-card--feature{grid-row:auto}
  .proj-card--feature .frame{aspect-ratio:4/3;flex:none;min-height:0}
  .reviews{grid-template-columns:1fr 1fr}
  .related{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  :root{--header-h:64px}
  .proof,.why,.provide,.faq,.page-hero .grid,.contact,.group{grid-template-columns:minmax(0,1fr)}
  .sec-head{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .story{grid-template-columns:1fr}
  .standards{grid-template-columns:1fr}
  .band{grid-template-columns:1fr}
  .sticky-side{position:static}
  .page-hero .visual{aspect-ratio:4/3;border-radius:var(--leaf-r-s)}
  .why-img{aspect-ratio:4/3}
  .materials{grid-template-columns:1fr}
  .quote-band{grid-template-columns:1fr}
  .quote-band svg.q{width:40px;height:40px}
  .hero{min-height:0;display:block;border-radius:var(--r-m)}
  .hero>img{position:relative;height:58vh;min-height:340px;border-radius:var(--r-m)}
  .hero::after{display:none}
  .hero-panel{margin:-4.5rem .75rem 0;position:relative;border-radius:var(--leaf-r-s)}
  .float-wa{display:none}
  .mbar{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.4rem;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem .75rem calc(env(safe-area-inset-bottom,0px) + .6rem);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mbar a{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.75rem .7rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid var(--line);color:var(--text)}
  .mbar a svg{width:18px;height:18px}
  .mbar a.primary{background:var(--cta);color:var(--cta-ink);border-color:var(--cta);font-weight:700;font-size:1rem;padding-inline:.6rem}
  .site-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6rem)}
}
@media (max-width:400px){
  .mbar a.primary [data-icon]{display:none}
  .mbar a{padding-inline:.6rem}
}
@media (max-width:359px){
  .mbar{grid-template-columns:auto auto minmax(0,1fr)}
  .header-inner{gap:.75rem}
  .brand svg{width:34px;height:34px}
  .brand-sub{letter-spacing:.02em}
  .menu-toggle{padding:.5rem .75rem}
  .tabs button{font-size:.88rem;padding-inline:.4rem;white-space:normal;line-height:1.2}
  .mbar a:not(.primary){width:48px;padding-inline:0;position:relative;overflow:hidden}
  .mbar a:not(.primary) .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

}
@media (max-width:640px){
  body{font-size:1rem}
  .svc-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .svc-grid>*{scroll-snap-align:start;margin-top:0!important}
  .group .svc-row{grid-template-columns:1fr}
  .points{grid-template-columns:1fr;gap:1.5rem}
  .outcomes{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .steps li::after{display:none}
  .proj-card,.proj-card--feature{grid-column:1/-1}
  .reviews{grid-template-columns:1fr}
  .related{grid-template-columns:1fr}
  .ba-grid{grid-template-columns:1fr}
  .checks{grid-template-columns:1fr}
  .gallery figure,.gallery figure.wide{grid-column:1/-1;aspect-ratio:4/3}
  .gallery figure.offset{margin-top:0}
  .form{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>:first-child{grid-column:1/-1}
  .proof-meta{gap:1.25rem}
  .tabs{display:flex}
  .tabs button{flex:1 1 0;min-width:0;white-space:nowrap;padding:.65rem .7rem;font-size:.94rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* =====================================================================
   PREMIUM LAYER — motion hooks, hero, transformation stage, numbers,
   marquee, process timeline, forest footer. Loaded after styles.css.
   ===================================================================== */

/* Lenis smooth scroll (inlined: the published page can't load CDN CSS) */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}

/* ---------- Scroll progress + header behaviour ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:var(--cta);transform-origin:0 50%;transform:scaleX(0)}
.site-header{transition:transform .5s var(--ease),background-color .3s,border-color .3s;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px)}
.site-header.is-hidden{transform:translateY(-102%)}
.site-header:focus-within{transform:none}

/* ---------- Type system ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1.1rem;font:600 .78rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--cta);flex:none}
.display{font-size:clamp(2.9rem,7.4vw,7.4rem);line-height:.98;letter-spacing:-.028em;max-width:15ch}
h2{letter-spacing:-.018em}
.line-mask{padding-bottom:.14em;margin-bottom:-.14em}
.sec-head h2{max-width:18ch}

/* ---------- Buttons ---------- */
.btn{transition:background-color .3s var(--ease),color .3s,border-color .3s,transform .35s var(--ease),box-shadow .35s var(--ease)}
.btn--primary{box-shadow:0 14px 30px -16px rgba(204,118,64,.75)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 20px 36px -18px rgba(204,118,64,.85)}
.btn--ghost:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.btn--ghost:hover svg{color:inherit}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- Home hero ---------- */
.hero2{position:relative;background:var(--bg);padding-top:clamp(2.25rem,6vw,5.5rem)}
.hero2-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem 3rem;align-items:end;margin-top:clamp(1.5rem,3vw,2.5rem)}
.hero2-copy .lead{margin:0;max-width:44ch}
.hero2 .display .u{background:linear-gradient(var(--cta),var(--cta)) 0 96%/100% .085em no-repeat;padding-bottom:.02em}
.hero-media{position:relative;margin-top:clamp(2.25rem,5vw,4rem);height:clamp(440px,82vh,860px);clip-path:inset(0 var(--gut) round 32px);will-change:clip-path}
.hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 60%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,32,26,0) 55%,rgba(21,32,26,.42));pointer-events:none}
.hero-badge{position:absolute;z-index:2;left:calc(var(--gut) + clamp(1rem,2.5vw,2rem));bottom:clamp(1rem,2.5vw,2rem);display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;padding:.85rem 1.2rem;border-radius:18px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#121312;font-size:.92rem;font-weight:500;box-shadow:var(--shadow)}
.hero-badge span{display:inline-flex;align-items:center;gap:.45rem}
.hero-badge svg{width:17px;height:17px;color:#2d3830}
.scroll-cue{position:absolute;z-index:2;right:calc(var(--gut) + clamp(1rem,2.5vw,2rem));bottom:clamp(1rem,2.5vw,2rem);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--cta);color:var(--cta-ink);box-shadow:var(--shadow)}
.scroll-cue svg{width:22px;height:22px;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}

/* ---------- Transformation stage (pinned before/after) ---------- */
.transform{position:relative;margin-top:clamp(4rem,9vw,8rem)}
.transform-pin{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:var(--deep)}
.ba--stage{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;background:var(--deep)}
.ba--stage picture{display:contents}
.ba--stage .ba-tag{top:calc(var(--header-h) + 1rem);font-size:.9rem;padding:.45rem .85rem}
.ba--stage .ba-tag--before{left:var(--gut)}
.ba--stage .ba-tag--after{right:var(--gut)}
.ba--stage .ba-knob{width:60px;height:60px;margin:-30px 0 0 -30px;opacity:var(--knob,1);transform:scale(calc(.6 + .4*var(--knob,1)))}
.ba--stage .ba-line{opacity:var(--knob,1)}
.ba--stage .ba-tag--before{opacity:var(--tag-b,1)}
.ba--stage .ba-tag--after{opacity:var(--tag-a,1)}
.motion-on .ba--stage{--knob:0;--tag-a:0}
.transform-card{position:absolute;z-index:3;left:var(--gut);bottom:var(--gut);width:min(31rem,calc(100% - 2*var(--gut)));padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--leaf-r-s);background:var(--deep);color:var(--on-deep-2);box-shadow:var(--shadow-lg)}
.transform-card .eyebrow{color:var(--on-deep-accent)}
.transform-card h2{color:var(--on-deep);font-size:clamp(1.9rem,3.2vw,2.7rem)}
.transform-card p{margin:.9rem 0 0;color:var(--on-deep-2)}
.transform-meta{display:flex;gap:2rem;margin:1.25rem 0;padding:1rem 0;border-block:1px solid var(--deep-line)}
.transform-meta div{font-size:.9rem;color:var(--on-deep-2)}
.transform-meta strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.1;color:var(--on-deep)}
.transform-card .textlink{color:var(--on-deep-accent)}
.transform-card :focus-visible,.section--deep :focus-visible,.site-footer :focus-visible{outline-color:var(--on-deep-accent)}

/* ---------- Forest sections ---------- */
.section--deep{background:var(--deep);color:var(--on-deep-2)}
.section--deep h2,.section--deep h3{color:var(--on-deep)}
.section--deep .sec-head p,.section--deep p{color:var(--on-deep-2)}
.section--deep .eyebrow{color:var(--on-deep-accent)}

/* ---------- Numbers ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--deep-line)}
.stat{padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2vw,1.75rem) 0 0;border-right:1px solid var(--deep-line)}
.stat+.stat{padding-left:clamp(1rem,2vw,1.75rem)}
.stat:last-child{border-right:0}
.stat strong{display:flex;align-items:baseline;gap:.35rem;font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,6.5vw,6rem);line-height:1;letter-spacing:-.03em;color:var(--on-deep);font-variant-numeric:tabular-nums}
.stat strong small{font-size:.32em;letter-spacing:0;color:var(--on-deep-accent);font-family:var(--sans);font-weight:600}
.stat p{margin:1rem 0 0;max-width:24ch;font-size:1rem}
.stats-note{margin-top:2.25rem;font-size:.9rem}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;padding-block:clamp(1.5rem,3vw,2.5rem);border-block:1px solid var(--line);background:var(--bg)}
.marquee-track{display:flex;width:max-content;animation:marq 48s linear infinite}
.has-motion .marquee-track{animation:none}
.marquee-group{display:flex;align-items:center;flex:none}
.marquee-item{display:inline-flex;align-items:center;gap:clamp(1.5rem,3vw,2.75rem);padding-right:clamp(1.5rem,3vw,2.75rem);font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.1;color:var(--title);white-space:nowrap}
.marquee-item svg{width:.62em;height:.62em;color:var(--cta);flex:none}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- Cards polish ---------- */
.pillar,.review,.related a,.direct a{transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.pillar:hover,.review:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.section--tint .icon-sq:not(.icon-sq--blue){background:var(--surface)}
.section--tint .pillar,.section--tint .review{border-color:transparent}
.svc-card .frame,.proj-card .frame{transition:border-radius .5s var(--ease)}
.svc-card:hover .frame,.proj-card:hover .frame{border-radius:var(--leaf-r-s)}
.svc-card .frame img,.proj-card .frame img{transition:transform 1s var(--ease)}
.svc-card:hover .frame img,.proj-card:hover .frame img{transform:scale(1.05)}
.is-parallax img{height:112%!important;position:relative;top:-6%}

/* ---------- Process timeline ---------- */
.steps-wrap{position:relative}
.steps-track{position:absolute;top:1.25rem;left:1.25rem;right:1.25rem;height:2px;background:var(--line);pointer-events:none}
.steps-track i{position:absolute;inset:0;background:var(--cta);transform-origin:0 50%}
@media (min-width:1061px){.steps-wrap .steps li::after{display:none}}
.steps li::before{z-index:1;box-shadow:0 0 0 6px var(--bg)}
.section--tint .steps li::before{box-shadow:0 0 0 6px var(--surface-2)}

/* ---------- CTA band on forest ---------- */
.cta-band::before{background:linear-gradient(100deg,rgba(21,32,26,.97) 30%,rgba(21,32,26,.93) 65%,rgba(21,32,26,.9))}
.cta-band p{color:var(--on-deep-2)}

/* ---------- Logo colours per surface ---------- */
:root{--logo-bg:#15201A;--logo-leaf:#a8cba0}
.site-footer{--logo-bg:#1D2A23;--logo-leaf:#a8cba0}

/* ---------- Footer on forest ---------- */
.site-footer{background:var(--deep);color:var(--on-deep-2);border-top:0;margin-top:clamp(3rem,6vw,5rem);overflow:hidden}
.site-footer .brand{color:var(--on-deep)}
.site-footer .brand-sub,.site-footer .foot-blurb,.site-footer .foot-bottom{color:var(--on-deep-2)}
.site-footer h4{color:var(--on-deep)}
.site-footer a{color:var(--on-deep-2)}
.site-footer a:hover{color:var(--on-deep)}
.site-footer .foot-bottom{border-top-color:var(--deep-line)}
.float-wa{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 12px 28px -10px rgba(0,0,0,.45)}

/* ---------- Lazy images ---------- */
.js-lazy img[loading="lazy"]{opacity:0;transition:opacity .8s var(--ease)}
.js-lazy img[loading="lazy"].is-loaded{opacity:1}

/* ---------- Page transition ---------- */
#main{min-height:60vh}

/* ---------- Responsive ---------- */
@media (max-width:1060px){
  .steps-track{display:none}
}
@media (max-width:820px){
  .hero2-copy{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .hero-media{height:min(72svh,620px);clip-path:inset(0 .75rem round 24px)}
  .hero-badge{left:1.5rem;right:1.5rem;bottom:1.25rem;gap:.35rem 1rem;font-size:.85rem;padding:.75rem 1rem}
  .scroll-cue{display:none}
  .transform-card{left:.75rem;right:.75rem;top:calc(env(safe-area-inset-top,0px) + .75rem);bottom:auto;width:auto;padding:1.1rem 1.2rem 1rem}
  .transform-card .eyebrow{margin-bottom:.6rem}
  .transform-card h2{font-size:1.65rem}
  .transform-card p{font-size:.95rem;margin-top:.6rem}
  .transform-meta{display:none}
  .transform-card .textlink{display:inline-block;margin-top:.75rem}
  .ba--stage .ba-tag{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 5.4rem)}
  .ba--stage .ba-knob{top:70%}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{border-right:0;padding:1.5rem 1rem 1.75rem 0;border-bottom:1px solid var(--deep-line)}
  .stat:nth-child(odd){border-right:1px solid var(--deep-line)}
  .stat+.stat{padding-left:0}
  .stat:nth-child(even){padding-left:1rem}
  .site-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6rem)}
}
@media (max-width:640px){
  .display{font-size:clamp(2.6rem,11.5vw,3.6rem);line-height:1.02}
  .stat strong{font-size:3.2rem}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
  .scroll-cue svg{animation:none}
  .site-header.is-hidden{transform:none}
}

/* ===== Phase 2.2 content pass ===== */
/* Logo: supplied combination mark, cropped; ink on light, cream on dark */
.brand [data-logo]{display:block;line-height:0}
.brand [data-logo] img{height:50px;width:auto;display:block}
.brand [data-logo] img.logo-cream{display:none}
.site-footer .brand [data-logo] img.logo-ink{display:none}
.site-footer .brand [data-logo] img.logo-cream{display:block}
.site-footer .brand [data-logo] img{height:64px}
@media (max-width:640px){.brand [data-logo] img{height:42px}}
@media (max-width:359px){.brand [data-logo] img{height:36px}}

.lead-hook{display:block;font-family:var(--serif);font-size:1.3em;line-height:1.2;color:var(--text);margin-bottom:.45rem}
.pillar[data-tone="satisfy"]{--c:var(--tone-2)}

@media (min-width:1061px){
  .svc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .svc-grid--4>:nth-child(3n+2){margin-top:0}
  .svc-grid--4>:nth-child(even){margin-top:3rem}
  .foot-grid{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr))}
}
.svc-row--kids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem)}
.svc-row--kids .svc-card .frame{aspect-ratio:16/10}
@media (max-width:640px){.svc-row--kids{grid-template-columns:minmax(0,1fr)}}

.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}
.area-grid--full{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.area-card{display:block;padding:1.4rem 1.4rem 1.3rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.area-card:hover{border-color:var(--leaf);transform:translateY(-3px);box-shadow:var(--shadow)}
.area-card h3{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:1.25rem}
.area-card h3 svg{width:20px;height:20px;flex:none;color:var(--leaf)}
.area-card p{margin-top:.5rem;color:var(--text-2);font-size:.95rem}
.section--tint .area-card{border-color:transparent}

.checks--no svg{color:var(--text-2)}

.creds{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.cred{display:inline-flex;gap:.6rem;align-items:center;padding:.6rem .9rem;border:1px solid var(--line);border-radius:14px;font-size:.88rem;color:var(--text-2)}
.cred strong{display:block;color:var(--text)}
.cred svg{width:22px;height:22px;color:var(--leaf);flex:none}

/* ===== Site frame: everything sits inside one max width ===== */
:root{--site:1360px;--fg:16px}
@media (max-width:760px){:root{--fg:10px}}
:root{--header-h:calc(64px + var(--fg))}
@media (max-width:1060px){:root{--header-h:calc(58px + var(--fg))}}
.framed,.section--tint,.section--deep,.hero-media,.transform-pin,.marquee,.cta-band,.site-footer{width:calc(100% - 2*var(--fg));max-width:var(--site);margin-inline:auto;box-sizing:border-box}

/* Floating nav box */
.site-header,.site-header.is-scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;padding-top:var(--fg)}
.site-header .header-inner{width:calc(100% - 2*var(--fg));max-width:var(--site);margin-inline:auto;box-sizing:border-box;height:64px;padding-inline:clamp(1rem,2vw,1.6rem);border-radius:20px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);border:1px solid var(--line);box-shadow:0 12px 32px -20px rgba(21,32,26,.45);transition:box-shadow .3s}
.site-header.is-scrolled .header-inner{box-shadow:0 16px 40px -18px rgba(21,32,26,.5)}
.site-header.is-hidden{transform:translateY(calc(-100% - 8px))}
@media (max-width:1060px){.site-header .header-inner{height:58px}}
@media (max-width:640px){.site-header .header-inner{border-radius:16px;padding-inline:.85rem}}

/* Coloured sections become rounded panels inside the frame */
.section--tint,.section--deep{border-radius:var(--r-l)}
.section--tint+.section--tint,.section--tint+.section--deep,.section--deep+.section--tint,.section--deep+.section--deep{margin-top:var(--fg)}

/* Hero photo opens out to the frame, not the screen */
.hero-media{clip-path:inset(0 var(--gut) round 32px)}
.hero-badge{left:clamp(1rem,2.5vw,2rem)}
.scroll-cue{right:clamp(1rem,2.5vw,2rem)}
.hero-media .hero-badge{left:calc(var(--gut) + clamp(.75rem,2vw,1.5rem))}
.hero-media .scroll-cue{right:calc(var(--gut) + clamp(.75rem,2vw,1.5rem))}

/* Pinned before-and-after sits in a rounded frame */
.transform-pin{height:calc(100vh - 2*var(--fg));height:calc(100svh - 2*var(--fg));border-radius:var(--r-l)}
.ba--stage .ba-tag{top:calc(var(--header-h) + .75rem)}

/* Marquee: contained, edges fade out */
.marquee{border-block:0;border-radius:var(--r-l);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}

/* CTA band and footer inside the frame */
.cta-band{margin-inline:auto}
.site-footer{border-radius:var(--r-l);margin-bottom:var(--fg)}
@media (max-width:1060px){.site-footer{margin-bottom:var(--fg)}}

/* Numbers band: every stat is a number then a caption, top-aligned */
.stats{align-items:start}
.stat strong{display:block}
.stat strong>span[aria-hidden]{display:inline-block}

/* ===== Radius & shadow rule (v2.2b) =====
   4px: nav, buttons, pills, tags, chips, badges, captions, small cards.
   8px: cards and photos.  16px: big photo frames and section panels. */
:root{--r-s:4px;--r-m:8px;--r-l:16px;--leaf-r:16px;--leaf-r-s:8px}
.skip,.btn,.nav a,.nav button.nav-link,.menu,.menu a,.menu-toggle,.ba-tag,.chip,.tag,.texture .texture-note,.icon-sq,.placeholder-flag,.tabs,.tabs button,.field input,.field select,.field textarea,.radios label,.days button,.slots button,.float-wa,.mbar a,.hero-badge,.scroll-cue,.transform-card,.cred,.value-chip,.related .thumb{border-radius:var(--r-s)}
.menu a.menu-all{border-radius:0 0 var(--r-s) var(--r-s)}
.site-header .header-inner{border-radius:var(--r-s)}
@media (max-width:640px){.site-header .header-inner{border-radius:var(--r-s)}}
.svc-card:hover .frame,.proj-card:hover .frame{border-radius:var(--r-m)}

/* Buttons: flat, no glow */
.btn,.btn--primary,.btn--primary:hover,.nav a.btn,.mbar a,.scroll-cue,.hero-badge{box-shadow:none}
.float-wa{box-shadow:0 2px 10px -2px rgba(0,0,0,.28)}

/* Nav: taller box, more room round the logo, hairline border instead of a shadow */
:root{--header-h:calc(78px + var(--fg))}
@media (max-width:1060px){:root{--header-h:calc(64px + var(--fg))}}
.site-header .header-inner,.site-header.is-scrolled .header-inner{height:78px;padding-inline:clamp(1.4rem,2.6vw,2.25rem);box-shadow:none;border:1px solid var(--line)}
@media (max-width:1060px){.site-header .header-inner,.site-header.is-scrolled .header-inner{height:64px;padding-inline:1rem}}
.brand [data-logo] img{height:46px}
@media (max-width:640px){.brand [data-logo] img{height:40px}}
@media (max-width:359px){.brand [data-logo] img{height:34px}}

/* Hero photo frame matches the new 16px */
.hero-media{clip-path:inset(0 var(--gut) round 16px)}

/* ===== v2.2c: 5px on everything larger; header becomes a stuck bar ===== */
:root{--r-m:5px;--r-l:5px;--leaf-r:5px;--leaf-r-s:5px}
.hero-media{clip-path:inset(0 var(--gut) round 5px)}

/* Header: full-width bar stuck to the top, one line underneath, hides on scroll down */
:root{--header-h:78px}
@media (max-width:1060px){:root{--header-h:64px}}
.site-header,.site-header.is-scrolled{padding-top:0;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line)}
.site-header .header-inner,.site-header.is-scrolled .header-inner{height:var(--header-h);border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;width:calc(100% - 2*var(--fg));max-width:var(--site);padding-inline:clamp(1rem,2.4vw,2rem)}
@media (max-width:1060px){.site-header .header-inner,.site-header.is-scrolled .header-inner{padding-inline:.5rem}}
.site-header.is-hidden{transform:translateY(-101%)}

/* Pristine logo colours, by name */
:root{--pristine-terracotta:#B16B4E;--pristine-yellow:#DBC924;--pristine-green:#3A4C39;--pristine-blue:#495D7B;--pristine-light-blue:#5699BF}
.pt-blue{color:var(--pristine-blue)}
.pt-yellow{color:var(--pristine-yellow)}
/* Hero headline in Pristine Blue (dark mode uses Pristine Light Blue so it stays legible) */
.hero2 .display{color:var(--pristine-blue)}

/* ===== Homepage service bands: one row per service, in Pristine colours ===== */
.svc-bands{display:grid;gap:var(--fg)}
.svc-band{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.25rem,3.2vw,2.75rem);border-radius:5px;background:var(--band-bg);color:var(--band-ink)}
article.svc-band:nth-of-type(even) .svc-band-media{order:-1}
.svc-band-kicker{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--band-ink);opacity:.85}
.svc-band h3{margin-top:.6rem;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,3.1rem);line-height:1.05;color:var(--band-ink)}
.svc-band-text{margin-top:1rem;font-size:1.05rem;line-height:1.6;color:var(--band-ink);max-width:46ch}
.svc-band-tags{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem}
.svc-band-tags li{font-size:.86rem;font-weight:600;padding:.4rem .7rem;border-radius:4px;background:var(--band-tag);color:var(--band-ink)}
.svc-band .btn-row{margin-top:1.75rem;align-items:center}
.svc-band-btn,.svc-band-btn:hover{background:var(--band-btn);color:var(--band-btn-ink);border-color:var(--band-btn)}
.svc-band-btn:hover{filter:brightness(1.08)}
.svc-band-link{color:var(--band-ink);font-weight:600;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1.5px}
.svc-band-media{border-radius:5px;overflow:hidden;aspect-ratio:4/3;background:rgba(0,0,0,.08)}
.svc-band-media>img,.svc-band-media picture,.svc-band-media picture img{width:100%;height:100%;object-fit:cover;display:block}
.svc-band-media .ba,.svc-band-media .texture{width:100%;height:100%;border-radius:0}
.svc-band-media .ba img{height:100%}
.svc-band--yellow{--band-bg:#DBC924;--band-ink:#1F2A1F;--band-tag:rgba(31,42,31,.11);--band-btn:#1F2A1F;--band-btn-ink:#F4F2EA}
.svc-band--blue{--band-bg:#495D7B;--band-ink:#FFFFFF;--band-tag:rgba(255,255,255,.15);--band-btn:#FFFFFF;--band-btn-ink:#33435A}
.svc-band--light-blue{--band-bg:#5699BF;--band-ink:#0E1C26;--band-tag:rgba(14,28,38,.12);--band-btn:#0E1C26;--band-btn-ink:#FFFFFF}
.svc-band--green{--band-bg:#3A4C39;--band-ink:#F4F2EA;--band-tag:rgba(244,242,234,.14);--band-btn:#F4F2EA;--band-btn-ink:#2C3A2B}
@media (max-width:860px){
  .svc-band{grid-template-columns:minmax(0,1fr)}
  .svc-band .svc-band-media,article.svc-band:nth-of-type(even) .svc-band-media{order:-1}
}
.svc-band-kicker{opacity:1}
.svc-band-btn{white-space:normal;text-align:left;max-width:100%}

/* ===== v2.3: content aligned to the logo edge, full-height hero ===== */
:root{--pad:clamp(.9rem,2.4vw,2rem);--gut:var(--pad)}
.wrap{width:calc(100% - 2*var(--fg));max-width:var(--site);margin-inline:auto;padding-inline:var(--pad);box-sizing:border-box}
.section--tint>.wrap,.section--deep>.wrap,.site-footer>.wrap,.cta-band>.wrap{width:100%}
.site-header .header-inner,.site-header.is-scrolled .header-inner{padding-inline:var(--pad)}
@media (max-width:1060px){.site-header .header-inner,.site-header.is-scrolled .header-inner{padding-inline:var(--pad)}}

/* Hero: photo fills the screen below the header; heading top-left, copy and buttons bottom-left */
.hero2.hero2--full{position:relative;width:calc(100% - 2*var(--fg));max-width:var(--site);margin:var(--fg) auto 0;padding:0;
  height:calc(100vh - var(--header-h) - 2*var(--fg));height:calc(100svh - var(--header-h) - 2*var(--fg));min-height:540px;
  border-radius:5px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#1E2521;color:#fff;isolation:isolate}
.hero2--full .hero-media{position:absolute;inset:0;z-index:-1;margin:0;width:auto;max-width:none;height:auto;clip-path:none;will-change:auto}
.hero2--full .hero-media>img{object-position:60% 50%}
.hero2--full .hero-media::after{background:linear-gradient(180deg,rgba(9,13,11,.66) 0%,rgba(9,13,11,.3) 30%,rgba(9,13,11,0) 48%,rgba(9,13,11,.25) 62%,rgba(9,13,11,.78) 100%)}
.hero-top,.hero-bottom{position:relative;padding:clamp(1.5rem,4.5vh,3rem) var(--pad)}
.hero-bottom{padding-bottom:clamp(1.5rem,5vh,3rem)}
.hero2--full .eyebrow{color:#fff}
html:root .hero2.hero2--full h1.display{color:#fff;font-size:clamp(2.4rem,5.4vw,5.25rem);line-height:1.02;max-width:13ch;margin-top:.85rem}
.hero2--full .pt-blue{color:var(--pristine-light-blue)}
.hero2--full .lead{color:rgba(255,255,255,.92);max-width:46ch;margin:0}
.hero2--full .lead-hook{color:#fff}
.hero2--full .btn-row{margin-top:1.5rem}
.hero2--full .btn--ghost{color:#fff;border-color:rgba(255,255,255,.8);background:transparent}
.hero2--full .btn--ghost:hover{background:#fff;color:#1E2521;border-color:#fff}
.hero2--full .scroll-cue{right:var(--pad);bottom:clamp(1.5rem,5vh,3rem);border-radius:4px;width:48px;height:48px}
@media (max-width:760px){.hero2--full .scroll-cue{display:none}}

/* Our approach: one compact strip */
.approach{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.approach-head h2{margin-top:.6rem;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15}
.approach-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.approach-value{border-top:3px solid var(--c);padding-top:1rem}
.approach-value h3{font-family:var(--serif);font-weight:400;font-size:1.3rem}
.approach-value p{margin:.4rem 0 0;color:var(--text-2);font-size:.98rem}
.approach-value[data-tone="tranquil"]{--c:var(--tone-1)}
.approach-value[data-tone="refresh"]{--c:var(--tone-3)}
.approach-value[data-tone="satisfy"]{--c:var(--tone-2)}
@media (max-width:860px){.approach{grid-template-columns:minmax(0,1fr)}.approach-values{grid-template-columns:minmax(0,1fr)}}

/* Why Pristine: four point containers, no photo */
.points--cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--fg);margin-top:0}
.points--cards .point{background:var(--surface-2);border-radius:5px;padding:clamp(1.25rem,2.2vw,1.75rem)}
.points--cards .point .icon-sq{background:var(--surface)}
.points--cards .point .icon-sq--blue{background:var(--cta)}
@media (max-width:1060px){.points--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.points--cards{grid-template-columns:minmax(0,1fr)}}

/* Electrical row: black with Pristine Yellow highlights */
.svc-band--yellow{--band-bg:#121412;--band-ink:#F4F4F1;--band-tag:#DBC924;--band-tag-ink:#121412}
.svc-band-tags li{color:var(--band-tag-ink,var(--band-ink))}
.svc-band--yellow .svc-band-kicker{color:#DBC924}
.svc-band--yellow .svc-band-btn{background:transparent;color:#DBC924;border:1.5px solid #DBC924}
.svc-band--yellow .svc-band-btn:hover{background:#DBC924;color:#121412;filter:none}
.nb{white-space:nowrap}
html:root .hero2.hero2--full h1.display{max-width:14ch}
/* Hero stops above the mobile quick bar */
@media (max-width:820px){.hero2.hero2--full{height:calc(100vh - var(--header-h) - 2*var(--fg) - 72px);height:calc(100svh - var(--header-h) - 2*var(--fg) - 72px);min-height:520px}}
@media (max-width:820px){.hero2.hero2--full{height:auto;min-height:calc(100vh - var(--header-h) - 2*var(--fg) - 72px);min-height:calc(100svh - var(--header-h) - 2*var(--fg) - 72px)}.hero2--full .hero-top{padding-bottom:2.5rem}}

/* ===== v2.4: service page themes in Pristine colours ===== */
.svc-page{--svc-hero-bg:#3A4C39;--svc-hero-ink:#FFFFFF;--svc-hero-ink-2:#E2E8E1;--svc-accent:#CFE0C9;--svc-btn:#F4F2EA;--svc-btn-ink:#2C3A2B;
  --svc-soft:#EEF2ED;--svc-strong:#3A4C39;--svc-strong-ink:#FFFFFF;--svc-mark:#3A4C39;
  --svc-card-bg:#3A4C39;--svc-card-ink:#F4F2EA;--svc-card-ink-2:#DCE3DB;--svc-ph-bg:#2C3A2B;--svc-ph-ink:#CFE0C9}
.svc-page[data-svc="electrical"]{--svc-hero-bg:#121412;--svc-hero-ink:#FFFFFF;--svc-hero-ink-2:#D6D6CF;--svc-accent:#DBC924;--svc-btn:#DBC924;--svc-btn-ink:#121412;
  --svc-soft:#FBF8E3;--svc-strong:#121412;--svc-strong-ink:#DBC924;--svc-mark:#DBC924;
  --svc-card-bg:#121412;--svc-card-ink:#F4F4F1;--svc-card-ink-2:#CFCFC8;--svc-ph-bg:#1E211E;--svc-ph-ink:#DBC924}
.svc-page[data-svc="plumbing"]{--svc-hero-bg:#495D7B;--svc-hero-ink:#FFFFFF;--svc-hero-ink-2:#E4E9F1;--svc-accent:#CFE3F0;--svc-btn:#FFFFFF;--svc-btn-ink:#33435A;
  --svc-soft:#EEF1F6;--svc-strong:#495D7B;--svc-strong-ink:#FFFFFF;--svc-mark:#495D7B;
  --svc-card-bg:#495D7B;--svc-card-ink:#FFFFFF;--svc-card-ink-2:#E4E9F1;--svc-ph-bg:#3B4C66;--svc-ph-ink:#CFE3F0}
.svc-page[data-svc="pressure"]{--svc-hero-bg:#5699BF;--svc-hero-ink:#0E1C26;--svc-hero-ink-2:#13283A;--svc-accent:#0E1C26;--svc-btn:#0E1C26;--svc-btn-ink:#FFFFFF;
  --svc-soft:#EAF3F9;--svc-strong:#5699BF;--svc-strong-ink:#0E1C26;--svc-mark:#5699BF;
  --svc-card-bg:#5699BF;--svc-card-ink:#0E1C26;--svc-card-ink-2:#13283A;--svc-ph-bg:#4A88AB;--svc-ph-ink:#0E1C26}

/* Hero becomes a framed panel in the service colour */
.svc-page .page-hero{width:calc(100% - 2*var(--fg));max-width:var(--site);margin:var(--fg) auto 0;border-radius:5px;background:var(--svc-hero-bg);color:var(--svc-hero-ink);padding-block:clamp(2rem,5vw,4rem)}
.svc-page .page-hero>.wrap{width:100%}
.svc-page .page-hero h1{color:var(--svc-hero-ink)}
.svc-page .page-hero .lead{color:var(--svc-hero-ink-2)}
.svc-page .page-hero .crumbs,.svc-page .page-hero .crumbs a{color:var(--svc-hero-ink-2)}
.svc-page .page-hero .value-chip{color:var(--svc-accent);background:transparent;padding-left:0}
.svc-page .page-hero .value-chip i{background:var(--svc-accent)}
.svc-page .page-hero .btn--primary,.svc-page .page-hero .btn--primary:hover{background:var(--svc-btn);color:var(--svc-btn-ink);border-color:var(--svc-btn)}
.svc-page .page-hero .btn--primary:hover{filter:brightness(1.07)}
.svc-page .page-hero .btn--ghost{color:var(--svc-hero-ink);border-color:var(--svc-hero-ink);background:transparent}
.svc-page .page-hero .btn--ghost:hover{background:var(--svc-hero-ink);color:var(--svc-hero-bg)}
.svc-page .page-hero :focus-visible{outline-color:var(--svc-accent)}

/* Tinted sections use a soft shade of the service colour */
.svc-page .section--tint{background:var(--svc-soft)}

/* What we improve: bigger icons in the service colour */
.outcomes--svc .svc-icon{width:60px;height:60px;border-radius:4px;display:grid;place-items:center;background:var(--svc-strong);color:var(--svc-strong-ink);margin-bottom:1rem}
.outcomes--svc .svc-icon svg{width:30px;height:30px}

/* What we take care of: photo grid in service-colour containers */
.take-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fg)}
.take-card{background:var(--svc-card-bg);color:var(--svc-card-ink);border-radius:5px;overflow:hidden;display:flex;flex-direction:column}
.take-media{aspect-ratio:4/3;overflow:hidden;background:var(--svc-ph-bg)}
.take-media>img,.take-media picture,.take-media picture img{width:100%;height:100%;object-fit:cover;display:block}
.take-ph{height:100%;display:grid;place-items:center;align-content:center;gap:.75rem;color:var(--svc-ph-ink)}
.take-ph svg{width:56px;height:56px;stroke-width:1.4}
.take-ph span{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.take-body{padding:clamp(1.1rem,2vw,1.5rem)}
.take-body h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--svc-card-ink)}
.take-body h3::before{content:"";display:block;width:28px;height:3px;background:var(--svc-mark);margin-bottom:.8rem}
.svc-page[data-svc="pressure"] .take-body h3::before{background:#0E1C26}
.svc-page[data-svc="garden"] .take-body h3::before{background:#CFE0C9}
.svc-page[data-svc="plumbing"] .take-body h3::before{background:#CFE3F0}
.take-body p{margin:.45rem 0 0;color:var(--svc-card-ink-2);font-size:.98rem}
@media (max-width:1060px){.take-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.take-grid{grid-template-columns:minmax(0,1fr)}}

/* Steps and FAQ markers pick up the service colour */
.svc-page .steps li::before{background:var(--svc-strong);color:var(--svc-strong-ink)}
.svc-page .steps-track i{background:var(--svc-mark)}

/* ===== Homepage: roomier Our approach ===== */
.section--roomy{padding-block:clamp(5rem,10vw,8.5rem)}
.approach-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
.approach-head h2{margin-top:.6rem;font-size:clamp(1.85rem,3.5vw,2.85rem);line-height:1.1;max-width:18ch}
.approach-head>p{margin:0;color:var(--text-2);font-size:inherit;max-width:44ch}
.approach-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,3rem)}
.approach-value{border-top:4px solid var(--c);padding-top:1.5rem}
.approach-num{display:block;font-size:.85rem;font-weight:700;letter-spacing:.14em;color:var(--text-2)}
.approach-value h3{margin-top:.6rem;font-size:1.75rem}
.approach-value .approach-title{margin:.5rem 0 0;color:var(--text);font-weight:600;font-size:1.02rem}
.approach-value p{margin:.5rem 0 0}
.approach-svcs{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:1.1rem!important}
.approach-svcs a{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.95rem;color:var(--text);text-decoration:none;border-bottom:1.5px solid var(--c);padding-bottom:.1rem}
.approach-svcs a svg{width:15px;height:15px}
.approach-svcs a:hover{color:var(--c)}
@media (max-width:860px){.approach-head{grid-template-columns:minmax(0,1fr)}.approach-values{grid-template-columns:minmax(0,1fr)}}

/* ===== Mobile drawer: Services label with described links ===== */
.drawer-label{margin:.6rem 0 .2rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.drawer-sub{display:grid;gap:.35rem;margin-bottom:.6rem}
.drawer-sub a{display:block;padding:.75rem .9rem!important;border-left:3px solid var(--line)!important;border-radius:0 4px 4px 0;background:var(--surface-2);text-decoration:none}
.drawer-sub a strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--text)}
.drawer-sub a span{display:block;font-size:.9rem;color:var(--text-2);margin-top:.1rem}
.drawer-sub a[aria-current="page"]{border-left-color:var(--cta)!important}

/* ===== Footer qualifications ===== */
.foot-creds{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid var(--deep-line)}
.foot-creds-label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-accent)}
.foot-creds ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
.foot-creds li{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .85rem;border:1px solid var(--deep-line);border-radius:4px;font-size:.88rem;color:var(--on-deep-2)}
.foot-creds li strong{display:block;color:var(--on-deep);font-size:.95rem}
.foot-creds .cred-mark svg{width:22px;height:22px;color:var(--on-deep-accent)}
/* Pressure washing: deeper light-blue for marks on white */
.svc-page[data-svc="pressure"]{--svc-strong:#3D7EA6;--svc-strong-ink:#FFFFFF}
.take-ph span{opacity:1}
/* City & Guilds logo on a white tile so its original colours stay intact */
.foot-creds li.cred-logo{padding:.45rem .7rem;background:#FFFFFF;border-color:#FFFFFF}
.foot-creds li.cred-logo img{display:block;height:44px;width:auto}
/* 18th Edition badge sits directly on the footer (transparent background) */
.foot-creds li.cred-badge{padding:0;border:0;background:none}
.foot-creds li.cred-badge img{display:block;height:58px;width:auto}
.foot-creds ul{align-items:center}
.foot-creds li.cred-badge img{height:78px}
/* Qualifications strip: larger marks, equal space between the two footer lines */
.foot-creds{padding-block:clamp(1.75rem,3vw,2.5rem)}
.foot-creds + .foot-bottom{margin-top:0}
.foot-creds li.cred-logo{padding:.6rem .9rem}
.foot-creds li.cred-logo img{height:50px}
.foot-creds li.cred-badge img{height:88px}
.foot-creds ul{gap:1.25rem}
@media (max-width:640px){.foot-creds li.cred-logo img{height:44px}.foot-creds li.cred-badge img{height:76px}}

/* ===== Hero v4: full-bleed, full-height, sits behind the nav; next section reveals from underneath ===== */
.hero2.hero2--full{width:100%;max-width:none;margin:calc(-1 * var(--header-h)) 0 0;border-radius:0;height:auto;min-height:100vh;min-height:100svh;z-index:1;box-shadow:0 30px 50px -30px rgba(0,0,0,.45)}
@media (max-width:820px){.hero2.hero2--full{height:auto;min-height:100vh;min-height:100svh}}
.hero2--full .hero-top,.hero2--full .hero-bottom{width:calc(100% - 2*var(--fg));max-width:var(--site);margin-inline:auto;box-sizing:border-box;padding-inline:var(--pad)}
.hero2--full .hero-top{padding-top:calc(var(--header-h) + clamp(1.75rem,5vh,3.25rem));padding-bottom:1.5rem}
.hero2--full .hero-bottom{padding-top:1.5rem;padding-bottom:clamp(2rem,6vh,3.5rem)}
@media (max-width:820px){.hero2--full .hero-top{padding-bottom:1.5rem}.hero2--full .hero-bottom{padding-bottom:calc(72px + 1.5rem)}}
html:root .hero2.hero2--full h1.display{font-size:clamp(2.3rem,4.8vw,4.6rem);margin-top:.7rem}
.hero2--full .lead{max-width:42ch}
.hero2--full .lead-hook{margin-bottom:.35rem}
.hero2--full .btn-row{margin-top:1.25rem}
.hero2--full .scroll-cue{right:calc(max(var(--fg), (100% - var(--site)) / 2) + var(--pad))}
.hero2--full + .section{position:relative;z-index:0}
.hero2.hero2--full{margin-top:calc(-1 * var(--header-h) - 1px)}
/* Hero heading: centred, sitting in the middle of the space above the copy */
.hero2--full .hero-top{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-bottom:0}
.hero2--full .hero-top .eyebrow{justify-content:center}
html:root .hero2.hero2--full h1.display{font-size:clamp(2.4rem,5.4vw,5.2rem);max-width:none;margin-inline:auto;text-align:center}
/* Marquee: each service has its own icon in its own colours */
.marquee-item{gap:clamp(.7rem,1.4vw,1.1rem)}
.marquee-chip{display:inline-grid;place-items:center;width:1em;height:1em;border-radius:4px;background:var(--mc-bg);flex:none}
.marquee-item .marquee-chip svg{width:.58em;height:.58em;color:var(--mc-ink)}
.mc-electrical{--mc-bg:#121412;--mc-ink:#DBC924}
.mc-plumbing{--mc-bg:#495D7B;--mc-ink:#FFFFFF}
.mc-pressure{--mc-bg:#5699BF;--mc-ink:#0E1C26}
.mc-garden{--mc-bg:#3A4C39;--mc-ink:#F4F2EA}
.marquee-item .marquee-chip svg{width:.7em;height:.7em;stroke-width:2}
/* Marquee v3: outline icon after each item, in that service's Pristine colour, centred in the gap */
.marquee-chip{display:none}
.marquee-item{gap:clamp(1.4rem,3vw,2.6rem);padding-right:clamp(1.4rem,3vw,2.6rem)}
.marquee-item .mq-ico{display:inline-grid;place-items:center;flex:none;line-height:0;background:none;border:0}
.marquee-item .mq-ico svg{width:.6em;height:.6em;stroke-width:1.9;color:var(--mq)}
.mq-green{--mq:#3A4C39}.mq-light-blue{--mq:#5699BF}.mq-yellow{--mq:#DBC924}.mq-blue{--mq:#495D7B}.mq-terracotta{--mq:#B16B4E}
.mq-yellow svg{stroke-width:2.2}
.marquee-item .mq-ico svg{width:.8em;height:.8em;stroke-width:1.8}.mq-yellow svg{stroke-width:2.1}

/* Hero overlay for the bright terraced-houses photo: even dark wash plus heavier top, middle and bottom */
.hero2--full .hero-media>img{object-position:50% 55%}
.hero2--full .hero-media::after{background:
  linear-gradient(180deg,rgba(10,15,12,.72) 0%,rgba(10,15,12,.52) 28%,rgba(10,15,12,.5) 55%,rgba(10,15,12,.72) 80%,rgba(10,15,12,.86) 100%),
  rgba(10,15,12,.12)}
@media (max-width:820px){.hero2--full .hero-media::after{background:linear-gradient(180deg,rgba(10,15,12,.74) 0%,rgba(10,15,12,.58) 40%,rgba(10,15,12,.74) 70%,rgba(10,15,12,.88) 100%),rgba(10,15,12,.12)}}

/* Hero photo is bright: stronger, more even overlay so the white text stays readable */
.hero2--full .hero-media::after{background:linear-gradient(180deg,rgba(9,13,11,.74) 0%,rgba(9,13,11,.6) 30%,rgba(9,13,11,.58) 55%,rgba(9,13,11,.72) 78%,rgba(9,13,11,.88) 100%)}
.hero2--full .hero-media>img{object-position:50% 55%}
/* Mews photo is mid-toned: slightly lighter overlay than the bright-street version */
.hero2--full .hero-media::after{background:linear-gradient(180deg,rgba(9,13,11,.34) 0%,rgba(9,13,11,.5) 24%,rgba(9,13,11,.56) 52%,rgba(9,13,11,.72) 78%,rgba(9,13,11,.94) 100%)}

/* Homepage Electrical row: mid-grey with Pristine Yellow highlights */
.svc-band--yellow{--band-bg:#5E6366;--band-ink:#FFFFFF;--band-tag:#DBC924;--band-tag-ink:#17201A}
.svc-band--yellow .svc-band-kicker{display:inline-block;width:fit-content;padding:.3rem .6rem;border-radius:4px;background:#DBC924;color:#17201A;opacity:1}
.svc-band--yellow .svc-band-btn,.svc-band--yellow .svc-band-btn:hover{background:#DBC924;color:#17201A;border:1.5px solid #DBC924;filter:none}
.svc-band--yellow .svc-band-btn:hover{background:#FFFFFF;border-color:#FFFFFF}
/* How it works: step circles cycle through the Pristine colours (terracotta, yellow, green, blue) */
html:root .steps li:nth-child(4n+1)::before{background:#A86246;color:#FFFFFF}
html:root .steps li:nth-child(4n+2)::before{background:#DBC924;color:#17201A}
html:root .steps li:nth-child(4n+3)::before{background:#3A4C39;color:#FFFFFF}
html:root .steps li:nth-child(4n+4)::before{background:#495D7B;color:#FFFFFF}
/* Area cards: plain at rest; on hover each fills with the lightest tint of its Pristine colour */
.area-card{box-shadow:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .35s ease,border-color .35s ease}
.area-card h3,.area-card p,.area-card h3 svg{transition:color .35s ease}
.area-card[href$="/leicester"]{--ac:#495D7B;--at:#E8EEF6;--ai:#495D7B}
.area-card[href$="/charnwood"]{--ac:#3A4C39;--at:#E6EEE5;--ai:#3A4C39}
.area-card[href$="/lutterworth"]{--ac:#DBC924;--at:#FCF8D6;--ai:#6B5F00}
.area-card[href$="/market-harborough"]{--ac:#B16B4E;--at:#F8EBE4;--ai:#8F4F35}
.area-card:hover,.area-card:focus-visible{background:var(--at);border-color:color-mix(in srgb,var(--ac) 40%,transparent);box-shadow:0 18px 32px -20px color-mix(in srgb,var(--ac) 55%,transparent);transform:translateY(-3px)}
.area-card:hover h3,.area-card:focus-visible h3,.area-card:hover h3 svg,.area-card:focus-visible h3 svg{color:var(--ai)}
.area-card:hover p,.area-card:focus-visible p{color:#2E3732}

/* Reviews: light terracotta tint on hover */
.review{transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .35s ease,border-color .35s ease}
.review:hover{background:#F9ECE4;border-color:rgba(168,98,70,.28);box-shadow:0 18px 32px -20px rgba(168,98,70,.5)}
.review:hover blockquote{color:#1E2521}
.review:hover footer,.review:hover footer span{color:#3E4742}
.review:hover footer strong{color:#1E2521!important}
.review:hover .placeholder-flag{color:#3E4742;border-color:#3E4742}
.svc-band h3{margin-top:0}

/* Our approach: three click-to-select panels. Selected takes ~57% of the width; the other two share the rest */
.approach-values{display:flex;gap:clamp(.75rem,1.4vw,1.25rem);align-items:stretch;min-height:19rem}
.approach-value{--pt:#E6EEE5;--pi:#3A4C39;flex:1 1 0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name num" "title title" "more more";grid-template-rows:auto auto 1fr;column-gap:1rem;align-content:start;cursor:pointer;background:var(--surface-2);border-top:4px solid var(--c);border-radius:2px 2px 5px 5px;padding:1.5rem clamp(1.1rem,1.8vw,1.75rem) 1.75rem;transition:flex-grow .65s cubic-bezier(.22,.8,.2,1),background-color .4s ease,box-shadow .5s ease}
.approach-value[data-tone="refresh"]{--pt:#E3F0F8;--pi:#2B6285}
.approach-value[data-tone="satisfy"]{--pt:#E9EDF4;--pi:#495D7B}
.approach-value .approach-num{grid-area:num;justify-self:end;align-self:start;font-family:var(--serif);font-weight:400;font-size:1.1rem;letter-spacing:0;line-height:1;color:var(--text-2);transition:font-size .6s cubic-bezier(.22,.8,.2,1),color .4s ease}
.approach-value h3{grid-area:name;margin:0;font-size:clamp(1.45rem,2vw,1.75rem);line-height:1.1;transition:font-size .5s ease}
.approach-value h3 .av-btn{all:unset;cursor:pointer;display:inline;color:inherit;font:inherit}
.approach-value h3 .av-btn:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:3px}
.approach-value .approach-title{grid-area:title;margin:.75rem 0 0;color:var(--text);font-weight:600;font-size:1rem;line-height:1.4}
.approach-value .av-more{grid-area:more;max-height:0;opacity:0;visibility:hidden;overflow:hidden;transition:max-height .6s cubic-bezier(.22,.8,.2,1),opacity .25s ease,visibility 0s .6s}
.approach-value .av-body{margin:1.1rem 0 0;color:#2E3732;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;max-width:38ch}
.approach-value .approach-svcs{margin:1.25rem 0 0}
.approach-value.is-active{flex-grow:3.4;background:var(--pt);box-shadow:0 22px 38px -28px color-mix(in srgb,var(--pi) 60%,transparent)}
.approach-value.is-active .approach-num{font-size:clamp(3.2rem,5.6vw,5.25rem);color:var(--pi)}
.approach-value.is-active h3{font-size:clamp(1.8rem,2.8vw,2.4rem);color:var(--pi)}
.approach-value.is-active .approach-title{color:#1E2521;font-size:clamp(1.05rem,1.4vw,1.2rem)}
.approach-value.is-active .av-more{max-height:20rem;opacity:1;visibility:visible;transition:max-height .6s cubic-bezier(.22,.8,.2,1),opacity .3s ease .2s,visibility 0s}
.approach-value.is-active .approach-svcs a{color:var(--pi)}
.approach-values:not(:has(.is-active)) .approach-value:first-child{flex-grow:3.4;background:var(--pt)}
@media (max-width:860px){
  .approach-values{flex-direction:column;min-height:0}
  .approach-value{flex:none}
  .approach-value.is-active .approach-num{font-size:3rem}
  .approach-value.is-active h3{font-size:1.9rem}
}
@media (prefers-reduced-motion:reduce){.approach-value,.approach-value .approach-num,.approach-value h3,.approach-value .av-more{transition:none}}

/* ===== Quick links: the stacked cards fold into a row of four compact tiles ===== */
.svc-quick-head{display:none}
.svc-tile{display:none}
.svc-tile-name{display:block;font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.12}
.svc-tile-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .85rem;border-radius:4px;font-weight:700;font-size:.9rem;line-height:1;background:var(--band-btn);color:var(--band-btn-ink)}
.svc-tile-btn svg{width:15px;height:15px}
.svc-band--yellow .svc-tile-btn{background:#DBC924;color:#17201A}
.svc-quick{margin-top:clamp(1.25rem,3vw,2rem)}
.svc-quick-title{margin:0 0 1rem;font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.15}
.svc-quick-grid{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:var(--fg)}
.svc-qtile{display:flex;flex-direction:column;justify-content:space-between;gap:1.1rem;min-height:9rem;padding:1.1rem 1.2rem;border-radius:5px;background:var(--band-bg);color:var(--band-ink);text-decoration:none;transition:transform .35s var(--ease),filter .3s}
.svc-qtile:hover{transform:translateY(-3px);filter:brightness(1.06)}
@media (max-width:860px){.svc-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-qtile{min-height:8rem}}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-bands>article.svc-band,.svc-bands::after{grid-column:1}
  .svc-quick{display:none}
  .svc-quick-head{display:block;grid-area:1/1;align-self:start;position:sticky;top:104px;z-index:3;pointer-events:none;opacity:0;padding-right:1rem;height:var(--ch,auto);box-sizing:border-box}
  .svc-quick-head h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;color:var(--text)}
  .svc-quick-head p{margin:.4rem 0 0;color:var(--text-2);font-size:1rem}
  .svc-tile{display:flex;position:absolute;left:0;top:0;width:var(--tw,300px);height:var(--th,152px);transform-origin:0 0;transform:scale(var(--isx,1),var(--isy,1));opacity:var(--tf,0);visibility:hidden;pointer-events:none;flex-direction:column;justify-content:space-between;padding:1.1rem 1.2rem;box-sizing:border-box;color:var(--band-ink);text-decoration:none}
  .svc-band>.svc-band-copy,.svc-band>.svc-band-media{opacity:var(--cf,1)}
  .svc-band.is-tile .svc-tile{visibility:visible;pointer-events:auto}
  .svc-band.is-tile .svc-band-copy,.svc-band.is-tile .svc-band-media{visibility:hidden;pointer-events:none}
  .svc-band.is-tile .svc-tile:hover .svc-tile-btn{filter:brightness(1.1)}
  .svc-tile:focus-visible{outline:2px solid var(--focus);outline-offset:-5px}
}

/* ===== Finale: a full-screen "Where would you like to start?" section ===== */
.svc-tile-name{font-size:clamp(1.35rem,1.9vw,1.85rem)}
.svc-tile-btn{padding:.65rem 1rem;font-size:.95rem}
.svc-qtile{padding:1.3rem 1.4rem}
.svc-finale{position:relative;display:flex;width:calc(100% - 2*var(--fg));max-width:var(--site);margin:0 auto;box-sizing:border-box;min-height:100vh;min-height:100svh;border-radius:5px;background:var(--deep);color:var(--on-deep)}
.svc-finale-inner{width:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:calc(var(--header-h) + 1rem) var(--pad) calc(1.75rem + env(safe-area-inset-bottom,0px))}
.svc-finale-main{margin:auto 0;text-align:center}
.svc-finale-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.05;color:var(--on-deep)}
.svc-finale-sub{margin:.9rem auto 0;max-width:46ch;color:var(--on-deep-2);font-size:1.05rem}
.svc-finale .svc-quick-grid{margin-top:clamp(1.75rem,4.5vh,2.75rem);text-align:left}
.svc-finale .svc-qtile{min-height:clamp(10rem,21vh,13.5rem);box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.svc-finale .svc-qtile:hover{filter:brightness(1.08)}
.svc-finale-next{margin-top:auto;padding-top:clamp(1.25rem,4vh,2.25rem);text-align:center;display:grid;justify-items:center;gap:.65rem}
.svc-finale-next p{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-accent)}
.svc-finale-next span{font-size:.95rem;color:var(--on-deep-2)}
.svc-finale-link{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border:1.5px solid rgba(255,255,255,.55);border-radius:4px;background:transparent;color:var(--on-deep);font:inherit;font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.svc-finale-link:hover{background:#FFFFFF;color:#1E2521;border-color:#FFFFFF}
.svc-finale-link:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
.svc-finale-link svg{width:18px;height:18px;animation:svcBob 1.8s ease-in-out infinite}
@keyframes svcBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.svc-finale-link svg{animation:none}}
@media (max-width:860px){.svc-finale .svc-qtile{min-height:8.5rem;padding:1.1rem 1.15rem}}
@media (max-width:820px){.svc-finale-inner{padding-bottom:calc(72px + 1.25rem + env(safe-area-inset-bottom,0px))}}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-finale .svc-quick-grid{visibility:hidden}   /* the morphing cards take the tiles' place */
  .svc-tile{padding:1.3rem 1.4rem}
}
#services{padding-bottom:0}

/* ===== Finale as a pinned scene: the green fades in behind the folding cards; text blurs into focus ===== */
.svc-finale{background:transparent;isolation:isolate}
.svc-finale::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:5px;background:var(--deep);opacity:var(--gb,1)}
.svc-finale-main{opacity:var(--gt,1);filter:blur(calc((1 - var(--gt,1)) * 10px))}
.svc-finale-next{opacity:var(--gt2,1);filter:blur(calc((1 - var(--gt2,1)) * 8px))}
.svc-tile{border-radius:5px}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-finale{position:sticky;top:0;z-index:1;height:var(--vh,100vh);min-height:0;pointer-events:none;--gb:0;--gt:0;--gt2:0}
  .svc-finale.is-on .svc-finale-link{pointer-events:auto}
}
/* green runs edge to edge; the content stays on the site grid */
.svc-finale{width:100%;max-width:none;margin:0;border-radius:0}
.svc-finale::before{border-radius:0}
.svc-finale-inner{width:calc(100% - 2*var(--fg));max-width:var(--site);margin-inline:auto}
/* more space between the heading block and the four tiles */
.svc-finale .svc-quick-grid{margin-top:clamp(2.75rem,8vh,5rem)}
@media (min-width:861px){.svc-finale-inner{padding-top:clamp(6.5rem,19vh,10.5rem);padding-bottom:clamp(6.5rem,19vh,10.5rem)}}
@media (max-width:860px){.svc-finale .svc-quick-grid{margin-top:clamp(2.25rem,6.5vh,3.75rem)}.svc-finale .svc-qtile{min-height:7.5rem}}
@media (max-width:860px) and (max-height:720px){.svc-finale .svc-quick-grid{margin-top:1.6rem}.svc-finale .svc-qtile{min-height:6rem}}
/* the "approach" button lands with the top edge of that section flush with the top of the screen */
#approach{position:relative}
#approach-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 12px);left:0;width:1px;height:1px;pointer-events:none}

/* short phones: a tighter version so the whole finale still fits on one screen */
@media (max-width:860px) and (max-height:720px){
  .svc-finale-inner{padding-top:calc(var(--header-h) + .25rem)}
  .svc-finale-title{font-size:1.7rem}
  .svc-finale-sub{display:none}
  .svc-finale .svc-quick-grid{margin-top:1.6rem}
  .svc-finale .svc-qtile{min-height:6rem;padding:.8rem .95rem;gap:.6rem}
  .svc-finale .svc-tile-name{font-size:1.15rem}
  .svc-finale .svc-tile-btn{padding:.45rem .7rem;font-size:.85rem}
  .svc-finale-next{padding-top:1rem;gap:.45rem}
  .svc-finale-next span{display:none}
  .svc-finale-link{padding:.65rem 1rem;font-size:.95rem}
}
@media (max-width:860px) and (max-height:600px){.svc-finale .svc-qtile{min-height:5.25rem}.svc-finale-title{font-size:1.55rem}.svc-finale .svc-quick-grid{margin-top:1.3rem}}
@media (min-width:861px){
  /* desktop: heading + tiles sit in the true centre of the screen; the prompt is pinned to the bottom edge */
  .svc-finale-inner{position:relative;justify-content:center;padding-top:10.5rem;padding-bottom:10.5rem}
  .svc-finale-main{margin:0}
  .svc-finale-next{position:absolute;left:var(--pad);right:var(--pad);bottom:1.75rem;margin:0;padding:0}
}

/* Homepage service rows: stacked cards. Each row sticks near the top; the next rises over it from underneath */
.svc-band{transform-origin:50% 0}
@supports ((-webkit-background-clip:text) or (background-clip:text)) and (color:color-mix(in srgb,red,blue)){
  .svc-band h3{display:inline-block;padding:.1em 0 .2em;margin:-.1em 0 -.2em;background-image:linear-gradient(90deg,var(--band-ink) 0%,var(--band-ink) 40%,color-mix(in srgb,var(--band-ink) 58%,transparent) 62%,color-mix(in srgb,var(--band-ink) 58%,transparent) 100%);background-size:250% 100%;background-repeat:no-repeat;background-position:var(--fill,0%) 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}


@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-bands{grid-template-rows:repeat(4,1fr) var(--hold,46vh);margin-bottom:calc(-1 * var(--pull,0px))}
  .svc-bands::after{content:""}   /* spare scroll space so the finished stack stays pinned before it leaves */
  .svc-band{position:sticky;top:92px;z-index:2;will-change:transform,filter}
  article.svc-band:nth-of-type(1){grid-row:1}article.svc-band:nth-of-type(2){grid-row:2;--i:1}article.svc-band:nth-of-type(3){grid-row:3;--i:2}article.svc-band:nth-of-type(4){grid-row:4;--i:3}
  .svc-bands::after{grid-row:5}
}

/* Why Pristine: expanding panels. Icon + heading always visible; the active panel widens and shows its text */
.points--cards{display:flex;gap:var(--fg);align-items:stretch;min-height:15.5rem;margin-top:0}
.points--cards .point{--pc:#3A4C39;--pt:#E6EEE5;--pi:#3A4C39;--pn:#FFFFFF;position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;cursor:pointer;background:var(--surface-2);border:1px solid transparent;border-radius:5px;padding:clamp(1.25rem,2.2vw,1.75rem);overflow:hidden;transition:flex-grow .65s cubic-bezier(.22,.8,.2,1),background-color .35s ease,border-color .35s ease,box-shadow .5s ease}
.points--cards .point:nth-child(2){--pc:#495D7B;--pt:#E8EEF6;--pi:#495D7B}
.points--cards .point:nth-child(3){--pc:#B16B4E;--pt:#F8EBE4;--pi:#8F4F35}
.points--cards .point:nth-child(4){--pc:#DBC924;--pt:#FCF8D6;--pi:#6B5F00;--pn:#17201A}
.points--cards .point .icon-sq,.points--cards .point .icon-sq--blue{background:var(--pc);color:var(--pn);margin:0;flex:none}
.points--cards .point h4{margin:auto 0 0;padding-top:1.4rem;font-size:1.1rem;line-height:1.25;transition:color .35s ease}
.points--cards .point p{max-height:0;opacity:0;margin:0;overflow:hidden;color:#2E3732;font-size:1rem;line-height:1.55;transform:translateY(8px);transition:max-height .55s cubic-bezier(.22,.8,.2,1),opacity .2s ease,margin .4s ease,transform .45s ease}
.points--cards .point:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.points--cards .point.is-active{flex-grow:2.6;background:var(--pt);border-color:color-mix(in srgb,var(--pc) 35%,transparent);box-shadow:0 18px 32px -22px color-mix(in srgb,var(--pc) 55%,transparent)}
.points--cards .point.is-active h4{color:var(--pi)}
.points--cards .point.is-active p{max-height:14rem;opacity:1;margin-top:.65rem;transform:none;transition-delay:0s,.18s,0s,.12s}
.points--cards:not(:has(.is-active)) .point:first-child{flex-grow:2.6;background:var(--pt)}
.points--cards:not(:has(.is-active)) .point:first-child h4{color:var(--pi)}
.points--cards:not(:has(.is-active)) .point:first-child p{max-height:14rem;opacity:1;margin-top:.65rem;transform:none}
@media (max-width:1060px){
  .points--cards{flex-direction:column;min-height:0;gap:.75rem}
  .points--cards .point{flex:none;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center;padding:1rem 1.1rem}
  .points--cards .point h4{margin:0;padding:0}
  .points--cards .point p{grid-column:1 / -1}
}
@media (prefers-reduced-motion:reduce){.points--cards .point,.points--cards .point p,.points--cards .point h4{transition:none}}

/* ===== Finale tiles: hover to expand (desktop) / tap to expand (touch) / tabs (tablet portrait and phones) ===== */
.svc-finale{--th:clamp(9rem,19vh,12.5rem)}
.svc-band--yellow{--qb:#DBC924;--qbi:#17201A}
.svc-band--blue{--qb:#FFFFFF;--qbi:#33435A}
.svc-band--light-blue{--qb:#5699BF;--qbi:#0E1C26}
.svc-band--green{--qb:#F4F2EA;--qbi:#2C3A2B}
.svc-finale .svc-quick-grid{display:flex;align-items:center;gap:var(--fg);height:calc(var(--th) * 1.6);margin-top:clamp(2.75rem,8vh,5rem);text-align:left}
.svc-finale .svc-qtile{position:relative;isolation:isolate;overflow:hidden;flex:1 1 0;min-width:0;min-height:0;height:var(--th);padding:1.3rem 1.4rem;justify-content:space-between;gap:.8rem;transition:flex-grow .65s cubic-bezier(.22,.8,.2,1),height .65s cubic-bezier(.22,.8,.2,1),box-shadow .45s ease}
.svc-finale .svc-qtile:hover{transform:none;filter:none}
.svc-q-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}
.svc-q-shade{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .7s ease;background:linear-gradient(180deg,rgba(9,13,11,.34) 0%,rgba(9,13,11,.5) 24%,rgba(9,13,11,.56) 52%,rgba(9,13,11,.72) 78%,rgba(9,13,11,.94) 100%)}
.svc-q-text{display:block}
.svc-finale .svc-qtile .svc-tile-name{transition:font-size .5s ease,color .4s ease}
.svc-q-desc{display:block;margin:0;max-height:0;overflow:hidden;opacity:0;color:#fff;font-size:clamp(.84rem,1.05vw,1rem);line-height:1.5;clip-path:inset(0 0 100% 0);transform:translateY(-10px);transition:max-height .6s cubic-bezier(.22,.8,.2,1),opacity .45s ease,clip-path .85s cubic-bezier(.22,.8,.2,1),transform .85s cubic-bezier(.22,.8,.2,1),margin .5s ease}
.svc-q-more{display:inline-block;max-width:0;margin-left:-.4rem;overflow:hidden;white-space:nowrap;vertical-align:bottom;transition:max-width .55s cubic-bezier(.22,.8,.2,1) .1s,margin-left .55s cubic-bezier(.22,.8,.2,1) .1s}
.svc-finale .svc-qtile .svc-tile-btn{transition:padding .5s ease,font-size .5s ease,background-color .35s ease,color .35s ease}
/* the open tile: 1.6x wide and tall, photo fades in under the darker overlay, copy wipes in top to bottom */
.svc-finale .svc-qtile.is-open{flex-grow:2.2;height:calc(var(--th) * 1.6);box-shadow:0 22px 40px -22px rgba(0,0,0,.6)}
.svc-qtile.is-open .svc-q-img,.svc-qtile.is-open .svc-q-shade{opacity:1}
.svc-finale .svc-qtile.is-open .svc-tile-name{color:#fff;font-size:clamp(1.55rem,2.1vw,2.05rem)}
.svc-qtile.is-open .svc-q-desc{max-height:9rem;margin-top:.7rem;opacity:1;clip-path:inset(0 0 0 0);transform:none;transition-delay:.12s}
.svc-qtile.is-open .svc-q-more{max-width:26em;margin-left:0}
.svc-finale .svc-qtile.is-open .svc-tile-btn{padding:.8rem 1.25rem;font-size:1rem;background:var(--qb);color:var(--qbi)}
/* the other three get evenly smaller */
.svc-finale .svc-quick-grid.has-open .svc-qtile:not(.is-open){height:calc(var(--th) * .8)}
.svc-finale .svc-quick-grid.has-open .svc-qtile:not(.is-open) .svc-tile-name{font-size:1.02rem}
.svc-finale .svc-quick-grid.has-open .svc-qtile:not(.is-open) .svc-tile-btn{font-size:.76rem;padding:.4rem .62rem}
.svc-panels{display:none}
@keyframes svcPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes svcWipe{from{clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-8px)}to{clip-path:inset(0 0 0 0);opacity:1;transform:none}}
/* desktop pinned scene: the real tiles replace the morphing cards once those have landed */
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-finale:not(.is-live) .svc-quick-grid,.svc-finale:not(.is-live) .svc-panels{visibility:hidden}
  .svc-finale.is-live .svc-quick-grid{visibility:visible}
  .svc-finale.is-live .svc-quick-grid,.svc-finale.is-live .svc-panels{pointer-events:auto}
  .svc-band.is-live{visibility:hidden;pointer-events:none}
  .svc-band.is-live .svc-tile,.svc-band.is-live.is-tile .svc-tile,.svc-band.is-live.is-tile .svc-tile:hover{visibility:hidden;pointer-events:none}
}
/* tablet portrait and phones: four tabs, with the chosen service shown underneath */
@media (max-width:1024px){
  .svc-finale .svc-quick-grid{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:.5rem;height:auto;margin-top:clamp(1.25rem,3.5vh,2rem)}
  .svc-finale .svc-qtile{height:auto;min-height:3.5rem;padding:.7rem .85rem;justify-content:center;cursor:pointer;transition:box-shadow .3s ease,filter .3s ease}
  .svc-finale .svc-qtile .svc-q-img,.svc-finale .svc-qtile .svc-q-shade,.svc-finale .svc-qtile .svc-q-desc,.svc-finale .svc-qtile .svc-tile-btn,.svc-tile .svc-tile-btn{display:none}
  .svc-finale .svc-qtile .svc-tile-name{font-size:clamp(.9rem,2vw,1.1rem);line-height:1.15}
  .svc-finale .svc-qtile.is-selected{box-shadow:inset 0 0 0 2px #FFFFFF}
  .svc-panels{display:block;margin-top:.75rem}
  .svc-panel{display:none;position:relative;isolation:isolate;overflow:hidden;flex-direction:column;justify-content:flex-end;min-height:clamp(13rem,30vh,20rem);padding:1.3rem 1.4rem;border-radius:5px;background:var(--band-bg);text-align:left}
  .svc-panel.is-active{display:flex;animation:svcPanelIn .5s ease}
  .svc-panel .svc-q-img,.svc-panel .svc-q-shade{opacity:1}
  .svc-panel h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.55rem,4vw,2.05rem);line-height:1.1;color:#fff}
  .svc-panel p{margin:.55rem 0 0;max-width:54ch;color:#fff;font-size:clamp(.92rem,2.2vw,1.02rem);line-height:1.5;animation:svcWipe .8s cubic-bezier(.22,.8,.2,1) .1s both}
  .svc-panel-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.15rem;border-radius:4px;background:var(--qb);color:var(--qbi);font-weight:700;font-size:.98rem;text-decoration:none}
  .svc-panel-btn svg{width:16px;height:16px}
}
@media (max-width:600px){
  .svc-finale .svc-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-finale .svc-qtile{min-height:3rem;padding:.55rem .7rem}
  .svc-finale-sub{display:none}
  .svc-panel{min-height:12.5rem;padding:1.1rem 1.15rem}
}
@media (prefers-reduced-motion:reduce){
  .svc-finale .svc-qtile,.svc-q-img,.svc-q-shade,.svc-q-desc,.svc-q-more,.svc-finale .svc-qtile .svc-tile-btn,.svc-finale .svc-qtile .svc-tile-name{transition:none}
  .svc-panel.is-active,.svc-panel p{animation:none}
}

/* short phones: a tighter tab layout so the whole screen still fits */
@media (max-width:860px) and (max-height:700px){
  .svc-finale .svc-quick-grid{margin-top:1.1rem}
  .svc-finale .svc-qtile{min-height:2.6rem;padding:.45rem .6rem}
  .svc-finale .svc-qtile .svc-tile-name{font-size:.88rem}
  .svc-panels{margin-top:.55rem}
  .svc-panel{min-height:9.5rem;padding:.85rem .95rem}
  .svc-panel h3{font-size:1.3rem}
  .svc-panel p{margin-top:.35rem;font-size:.84rem;line-height:1.38}
  .svc-panel-btn{margin-top:.6rem;padding:.5rem .85rem;font-size:.88rem}
}
@media (max-width:860px) and (max-height:600px){
  .svc-panel p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .svc-finale-title{font-size:1.45rem}
}

@media (max-width:860px) and (max-height:600px){
  .svc-finale-inner{padding-top:calc(var(--header-h) - .4rem)}
  .svc-finale .svc-qtile{min-height:2.3rem}
  .svc-panel{min-height:8rem;padding:.75rem .9rem}
  .svc-panel h3{font-size:1.2rem}
  .svc-finale-next{padding-top:.7rem}
}
@media (min-width:861px) and (max-width:1024px) and (max-height:780px){
  .svc-finale-sub{display:none}
}

/* tiles hang from a common top edge, so the smaller ones line up with the one that opens */
.svc-finale .svc-quick-grid{align-items:flex-start}
/* phones: no tabs; four stacked cards, each with its photo, overlay and full details */
@media (max-width:600px){
  .svc-finale .svc-quick-grid{display:none}
  .svc-panels{display:grid;gap:.75rem;margin-top:1.5rem}
  .svc-panel,.svc-panel.is-active{display:flex;animation:none;min-height:15rem;padding:1.2rem 1.25rem}
  .svc-panel h3{font-size:1.6rem}
  .svc-panel p{display:block;-webkit-line-clamp:unset;overflow:visible;margin-top:.6rem;font-size:.96rem;line-height:1.5;animation:none}
  .svc-panel-btn{margin-top:1rem;padding:.75rem 1.15rem;font-size:.98rem}
  .svc-finale-sub{display:block}
  .svc-finale-title{font-size:clamp(1.8rem,7.6vw,2.2rem)}
}

@media (max-width:1024px){.svc-finale .svc-quick-grid{align-items:stretch}}

/* Finale: "Get a quote" appears next to the Explore button when a tile opens */
.svc-q-main{position:absolute;inset:0;z-index:2}
.svc-q-main:focus-visible{outline:2px solid #FFFFFF;outline-offset:-4px}
.svc-q-actions{position:relative;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}
.svc-finale .svc-qtile .svc-tile-btn{text-decoration:none}
.svc-q-quote{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(-8px);color:#FFFFFF;font-weight:700;font-size:.95rem;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.25em;transition:max-width .5s cubic-bezier(.22,.8,.2,1) .25s,opacity .4s ease .25s,transform .5s cubic-bezier(.22,.8,.2,1) .25s,visibility 0s .75s}
.svc-qtile.is-open .svc-q-quote{max-width:9rem;opacity:1;visibility:visible;transform:none;transition:max-width .5s cubic-bezier(.22,.8,.2,1) .3s,opacity .45s ease .3s,transform .5s cubic-bezier(.22,.8,.2,1) .3s,visibility 0s .3s}
.svc-q-quote:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px;border-radius:2px}
.svc-panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.1rem;margin-top:1rem}
.svc-panel-actions .svc-panel-btn{margin-top:0}
.svc-panel-quote{color:#FFFFFF;font-weight:700;font-size:.95rem;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.25em}
@media (max-width:1024px){.svc-finale .svc-qtile .svc-q-actions{display:none}}
/* simpler prompt at the bottom: the reason to scroll, one box, and the arrow beneath it */
.svc-finale-next{gap:.65rem}
.svc-finale-arrow{display:grid;place-items:center;width:44px;height:34px;padding:0;border:0;background:none;color:var(--on-deep);cursor:pointer}
.svc-finale-arrow svg{width:22px;height:22px;animation:svcBob 1.8s ease-in-out infinite}
.svc-finale-arrow:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;border-radius:4px}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){.svc-finale.is-on .svc-finale-arrow{pointer-events:auto}}
@media (prefers-reduced-motion:reduce){.svc-finale-arrow svg{animation:none}}

@media (min-width:1025px) and (max-width:1320px){
  .svc-finale .svc-qtile.is-open .svc-tile-btn{padding:.7rem 1rem;font-size:.95rem}
  .svc-q-actions{gap:.5rem .85rem}
  .svc-q-quote{font-size:.88rem}
}

/* ===== Refinements: short desktop button, cleaner tabs, split phone cards ===== */
.svc-q-more{display:none}
.svc-p-short{display:none}
.svc-band--yellow{--mb:#DBC924;--mbi:#17201A}
.svc-band--blue{--mb:#FFFFFF;--mbi:#33435A}
.svc-band--light-blue{--mb:#0E1C26;--mbi:#FFFFFF}
.svc-band--green{--mb:#F4F2EA;--mbi:#2C3A2B}
/* tabs (tablets and narrow windows): joined, the others dimmed, the chosen one at full colour with a pointer into its panel */
@media (max-width:1024px){
  .svc-finale .svc-quick-grid{gap:.25rem}
  .svc-finale .svc-qtile{overflow:visible;filter:brightness(.7);transition:filter .35s ease}
  .svc-finale .svc-qtile.is-selected{filter:none;box-shadow:none}
  .svc-finale .svc-qtile.is-selected::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--band-bg);border-bottom:0}
  .svc-panels{margin-top:1rem}
}
/* phones: each card is a photo on top and a solid service-colour block below */
@media (max-width:600px){
  .svc-panel,.svc-panel.is-active{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:0;background:var(--band-bg)}
  .svc-panel .svc-q-shade{display:none}
  .svc-panel .svc-q-img{position:relative;inset:auto;z-index:auto;display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;opacity:1}
  .svc-panel h3{margin:0;padding:1.1rem 1.2rem 0;font-size:1.5rem;color:var(--band-ink)}
  .svc-panel p{margin:0;padding:.5rem 1.2rem 0;max-width:none;font-size:.95rem;line-height:1.5;color:var(--band-ink);display:block;-webkit-line-clamp:unset;overflow:visible;animation:none}
  .svc-p-full{display:none}
  .svc-p-short{display:inline}
  .svc-pb-more{display:none}
  .svc-panel-actions{margin-top:0;padding:1.05rem 1.2rem 1.25rem;gap:.6rem 1.1rem}
  .svc-panel-btn{background:var(--mb);color:var(--mbi)}
  .svc-panel-quote{color:var(--band-ink)}
}

/* tabs: dim only the tab background (text stays crisp); the light-blue tab switches to white text when it is not chosen */
@media (max-width:1024px){
  .svc-finale .svc-qtile{filter:none}
  .svc-finale .svc-qtile::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(9,13,11,.34);opacity:1;transition:opacity .4s ease}
  .svc-finale .svc-qtile.is-selected::before{opacity:0}
  .svc-finale .svc-qtile.svc-band--light-blue .svc-tile-name{transition:color .35s ease}
  .svc-finale .svc-qtile.svc-band--light-blue:not(.is-selected) .svc-tile-name{color:#FFFFFF}
  .svc-panel-btn{gap:.35rem}
}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-finale:not(.is-live) .svc-qtile::before{opacity:0}   /* fades in just after the cards hand over */
}

/* ===== Tabs (tablet / narrow window): standard bold font, centred, even gaps ===== */
@media (max-width:1024px){
  .svc-finale .svc-quick-grid{gap:.75rem}
  .svc-panels{margin-top:.75rem}
  .svc-finale .svc-qtile{align-items:center;text-align:center;padding:.9rem .5rem;min-height:3.4rem}
  .svc-finale .svc-qtile .svc-q-text{display:block;width:100%;text-align:center}
  .svc-finale .svc-qtile .svc-tile-name{font-family:var(--sans);font-weight:700;font-size:clamp(.76rem,1.85vw,.92rem);line-height:1.2;letter-spacing:0}
}

/* ===== Service cards: each one slides out from behind the card in front; the last one hands over to the finale ===== */
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .svc-bands{grid-template-rows:none;grid-auto-rows:1fr;margin-bottom:0}
  .svc-bands::after{content:none;display:none}
  .svc-band{position:relative;top:auto;will-change:transform,filter,opacity}
  article.svc-band:nth-of-type(1){z-index:4}
  article.svc-band:nth-of-type(2){z-index:3}
  article.svc-band:nth-of-type(3){z-index:2}
  article.svc-band:nth-of-type(4){z-index:1}
  .svc-finale{z-index:6;--gtile:0}
  .svc-finale:not(.is-live) .svc-quick-grid,.svc-finale:not(.is-live) .svc-panels{visibility:visible}
  .svc-finale.is-live .svc-quick-grid,.svc-finale.is-live .svc-panels,.svc-finale.is-live .svc-finale-main,.svc-finale.is-live .svc-finale-next{filter:none;opacity:1}
}
.svc-finale .svc-quick-grid,.svc-finale .svc-panels{opacity:var(--gtile,1);filter:blur(calc((1 - var(--gtile,1)) * 10px))}
/* topographic contour pattern: very low contrast, tone-on-tone with the green */
.svc-finale::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M803.6 -2.0C806.1 -2.7 813.4 -4.4 819.0 -6.4C824.6 -8.4 827.0 -8.7 837.0 -13.9C847.0 -19.1 872.0 -33.7 879.0 -37.6M761.0 -38.0C760.9 -36.5 760.1 -32.0 760.2 -29.0C760.2 -26.0 760.6 -22.5 761.1 -20.0C761.7 -17.5 762.2 -16.0 763.3 -14.0C764.5 -12.0 766.2 -9.4 768.0 -7.7C769.8 -6.0 771.5 -4.8 774.0 -3.6C776.5 -2.5 780.0 -1.5 783.0 -0.9C786.0 -0.4 788.6 -0.3 792.0 -0.5C795.4 -0.7 801.6 -1.8 803.6 -2.0M489.4 322.0C494.4 320.6 501.6 318.3 507.0 315.4C512.4 312.5 517.7 308.5 522.0 304.6C526.3 300.7 529.6 296.7 532.6 292.0C535.6 287.3 538.3 281.9 540.0 276.4C541.7 270.9 542.6 264.4 542.8 259.0C542.9 253.6 542.5 249.4 541.0 244.0C539.6 238.6 537.0 231.8 534.0 226.3C531.0 220.8 527.5 216.1 523.1 211.0C518.6 205.9 513.6 201.0 507.3 196.0C501.0 191.0 493.4 185.7 485.3 181.0C477.3 176.3 468.2 171.7 459.0 167.7C449.8 163.7 439.5 159.9 430.0 157.0C420.5 154.1 410.7 151.7 402.0 150.3C393.3 148.8 385.0 148.1 378.0 148.2C371.0 148.2 365.0 149.2 360.0 150.6C355.0 152.1 350.8 154.6 347.8 157.0C344.8 159.4 343.4 161.8 342.0 164.8C340.6 167.8 339.8 171.3 339.6 175.0C339.4 178.7 339.8 182.7 340.7 187.0C341.6 191.3 342.8 195.4 345.0 200.8C347.2 206.3 350.7 213.4 354.0 219.6C357.3 225.8 360.5 231.1 365.0 238.0C369.5 244.9 375.8 254.0 381.0 261.0C386.2 268.0 389.5 272.7 396.0 279.8C402.5 286.8 412.5 297.2 420.0 303.4C427.5 309.5 435.5 313.6 441.0 316.6C446.5 319.5 449.0 319.9 453.0 321.0C457.0 322.2 461.0 323.0 465.0 323.4C469.0 323.9 472.9 324.0 477.0 323.8C481.1 323.5 484.4 323.4 489.4 322.0ZM121.5 505.0C126.5 503.7 133.3 501.4 138.0 499.3C142.7 497.2 146.3 495.1 150.0 492.5C153.7 490.0 157.1 487.4 160.4 484.0C163.6 480.6 167.3 476.0 169.7 472.0C172.1 468.0 173.6 464.0 174.6 460.0C175.6 456.0 175.9 452.0 175.7 448.0C175.4 444.0 174.5 440.0 173.0 436.0C171.4 432.0 169.3 428.0 166.3 424.0C163.4 420.0 160.0 416.1 155.3 412.0C150.6 407.9 144.4 403.2 138.0 399.3C131.6 395.3 124.0 391.4 117.0 388.4C110.0 385.3 103.0 382.8 96.0 380.9C89.0 378.9 81.5 377.3 75.0 376.5C68.5 375.7 62.5 375.6 57.0 376.0C51.5 376.5 46.5 377.5 42.0 379.1C37.5 380.6 33.3 383.0 30.0 385.5C26.7 388.0 24.1 391.1 22.0 394.0C19.8 396.9 18.5 399.5 17.1 403.0C15.8 406.5 14.6 411.0 13.9 415.0C13.2 419.0 12.9 422.5 13.1 427.0C13.2 431.5 13.8 437.5 14.7 442.0C15.5 446.5 16.5 450.0 18.0 454.0C19.5 458.0 21.4 462.3 23.4 466.0C25.4 469.7 27.4 472.7 30.0 476.0C32.6 479.3 36.0 482.9 39.0 485.7C42.0 488.6 43.0 489.9 48.0 492.8C53.0 495.7 63.5 500.8 69.0 503.0C74.5 505.2 76.5 505.3 81.0 506.1C85.5 506.8 91.5 507.4 96.0 507.6C100.5 507.8 103.7 507.7 108.0 507.3C112.3 506.8 116.5 506.3 121.5 505.0ZM1239.0 380.3C1237.0 381.5 1230.3 385.2 1227.1 388.0C1223.9 390.8 1222.0 393.5 1220.0 397.0C1218.1 400.5 1216.3 404.5 1215.1 409.0C1214.0 413.5 1213.2 418.5 1213.1 424.0C1213.0 429.5 1213.7 436.5 1214.7 442.0C1215.7 447.5 1217.1 452.0 1219.2 457.0C1221.2 462.0 1224.0 467.3 1227.0 471.8C1230.0 476.3 1235.5 482.0 1237.1 484.0M797.7 799.0C802.7 798.7 805.5 797.7 810.0 796.4C814.5 795.2 817.0 794.9 825.0 791.3C833.0 787.7 845.4 782.3 858.0 775.1C870.6 767.8 886.9 757.5 900.4 748.0C913.8 738.5 928.8 726.5 938.6 718.0C948.5 709.5 954.5 702.5 959.5 697.0C964.5 691.5 966.2 688.5 968.5 685.0C970.8 681.5 972.0 680.0 973.4 676.0C974.8 672.0 976.7 665.0 977.1 661.0C977.4 657.0 976.3 654.5 975.5 652.0C974.6 649.5 974.5 648.5 972.0 646.0C969.5 643.5 965.0 639.4 960.5 637.0C956.0 634.6 951.1 633.0 945.0 631.8C938.9 630.5 931.5 629.7 924.0 629.6C916.5 629.6 907.8 630.3 900.0 631.5C892.2 632.7 884.6 634.6 877.1 637.0C869.6 639.4 861.7 642.7 855.0 645.9C848.3 649.1 843.0 652.3 837.0 656.3C831.0 660.3 825.5 664.2 819.1 670.0C812.7 675.8 804.9 683.5 798.6 691.0C792.2 698.5 786.1 707.0 781.0 715.0C776.0 723.0 771.6 731.0 768.2 739.0C764.8 747.0 762.2 757.5 760.8 763.0C759.5 768.5 760.1 769.0 760.2 772.0C760.3 775.0 760.8 778.5 761.4 781.0C762.0 783.5 762.8 785.1 763.9 787.0C765.0 788.9 766.4 790.8 768.0 792.3C769.6 793.8 771.3 795.0 773.3 796.0C775.3 797.0 775.9 798.0 780.0 798.5C784.1 799.0 792.7 799.3 797.7 799.0ZM765.9 64.0C768.3 63.3 775.2 61.6 780.0 59.9C784.8 58.2 787.5 57.6 795.0 53.8C802.5 50.0 814.0 44.1 825.0 37.3C836.0 30.4 843.5 25.3 861.0 12.8C878.5 0.2 918.3 -29.5 929.7 -38.0M704.9 -38.0C703.4 -34.0 698.1 -21.5 695.8 -14.0C693.6 -6.5 692.1 0.0 691.5 7.0C690.9 14.0 691.1 22.0 692.2 28.0C693.2 34.0 695.0 38.5 697.6 43.0C700.2 47.5 704.8 52.3 708.0 55.2C711.2 58.2 714.1 59.4 717.0 60.9C719.9 62.3 720.8 63.1 725.3 64.0C729.8 64.9 737.2 66.6 744.0 66.6C750.8 66.6 762.3 64.4 765.9 64.0M486.2 373.0C491.2 372.0 496.4 370.5 501.0 369.0C505.6 367.5 509.1 366.1 513.6 364.0C518.1 361.9 523.6 359.0 528.0 356.3C532.4 353.6 534.5 352.7 540.0 347.9C545.5 343.1 556.0 333.0 561.0 327.5C566.0 322.1 567.2 319.8 570.0 315.3C572.8 310.9 575.9 305.4 578.1 301.0C580.2 296.6 581.5 293.5 583.0 289.0C584.5 284.5 586.1 279.0 587.1 274.0C588.1 269.0 588.6 263.5 588.9 259.0C589.2 254.5 589.0 251.0 588.7 247.0C588.3 243.0 587.8 239.0 586.9 235.0C586.0 231.0 584.9 227.0 583.4 223.0C581.9 219.0 580.2 215.0 578.0 211.0C575.8 207.0 573.1 202.8 570.3 199.0C567.5 195.2 564.4 191.7 561.0 188.2C557.6 184.7 556.1 182.7 549.6 178.0C543.1 173.3 533.1 166.0 521.8 160.0C510.5 154.0 496.3 147.6 481.8 142.0C467.4 136.4 450.3 130.8 435.0 126.4C419.7 122.0 403.5 118.1 390.0 115.7C376.5 113.2 362.5 112.1 354.0 111.4C345.5 110.7 344.0 111.2 339.0 111.5C334.0 111.9 328.5 112.6 324.0 113.5C319.5 114.5 315.5 115.8 312.0 117.3C308.5 118.7 306.0 119.9 303.0 122.4C300.0 124.9 296.2 128.7 294.0 132.4C291.8 136.2 290.5 140.4 289.9 145.0C289.3 149.6 289.4 154.5 290.2 160.0C291.1 165.5 291.4 169.0 295.0 178.0C298.6 187.0 299.7 191.2 312.0 214.3C324.3 237.4 357.5 296.4 369.0 316.6C380.5 336.8 377.5 330.6 381.0 335.7C384.5 340.7 386.5 343.1 390.0 346.8C393.5 350.4 398.0 354.6 402.0 357.6C406.0 360.7 410.0 363.0 414.0 365.1C418.0 367.1 421.2 368.5 425.7 370.0C430.2 371.5 436.0 373.0 441.0 373.9C446.0 374.8 451.0 375.3 456.0 375.5C461.0 375.7 466.0 375.6 471.0 375.2C476.0 374.8 481.2 374.0 486.2 373.0ZM117.1 562.0C125.1 560.7 134.9 558.9 144.0 555.9C153.1 552.9 162.8 548.9 171.8 544.0C180.8 539.1 189.8 533.2 198.0 526.7C206.2 520.2 214.3 512.6 221.1 505.0C228.0 497.4 234.5 488.5 239.0 481.0C243.6 473.5 246.6 465.5 248.5 460.0C250.5 454.5 250.5 451.5 250.9 448.0C251.3 444.5 251.2 442.0 250.9 439.0C250.6 436.0 250.0 433.0 249.0 430.0C248.0 427.0 246.8 424.0 245.0 421.0C243.3 418.0 241.2 415.0 238.6 412.0C236.0 409.0 235.4 407.5 229.4 403.0C223.5 398.5 213.4 391.0 202.9 385.0C192.4 379.0 180.3 373.0 166.2 367.0C152.1 361.0 133.2 353.8 118.5 349.0C103.8 344.2 90.2 340.7 78.0 338.1C65.8 335.5 55.0 334.1 45.0 333.5C35.0 332.9 24.5 333.9 18.0 334.6C11.5 335.3 9.5 336.5 6.0 337.7C2.5 338.8 0.5 339.4 -3.0 341.7C-6.5 344.0 -11.5 347.4 -15.0 351.2C-18.5 355.0 -21.5 359.3 -24.0 364.5C-26.5 369.6 -28.6 375.1 -30.2 382.0C-31.9 388.9 -33.3 397.0 -34.0 406.0C-34.8 415.0 -35.1 426.0 -34.7 436.0C-34.4 446.0 -33.4 456.5 -31.9 466.0C-30.5 475.5 -28.4 485.0 -26.0 493.0C-23.5 501.0 -20.2 508.4 -17.4 514.0C-14.5 519.6 -12.3 522.6 -9.0 526.6C-5.7 530.6 -1.7 534.6 2.5 538.0C6.7 541.4 11.2 544.3 16.3 547.0C21.4 549.7 26.7 552.0 33.0 554.2C39.3 556.3 47.0 558.4 54.0 559.9C61.0 561.3 68.0 562.3 75.0 562.9C82.0 563.6 89.0 563.8 96.0 563.7C103.0 563.5 109.1 563.3 117.1 562.0ZM1239.0 333.3C1236.0 333.4 1226.5 333.4 1221.0 334.2C1215.5 334.9 1210.5 336.1 1206.0 337.7C1201.5 339.2 1198.0 340.7 1194.0 343.5C1190.0 346.4 1185.2 350.8 1182.0 354.7C1178.8 358.6 1176.9 362.5 1174.8 367.0C1172.8 371.5 1171.2 376.0 1169.8 382.0C1168.3 388.0 1167.0 395.5 1166.2 403.0C1165.5 410.5 1165.1 418.5 1165.1 427.0C1165.2 435.5 1165.7 445.5 1166.5 454.0C1167.4 462.5 1168.6 470.5 1170.2 478.0C1171.8 485.5 1173.7 492.5 1176.0 499.0C1178.4 505.5 1181.3 511.8 1184.3 517.0C1187.3 522.2 1190.4 526.1 1194.0 530.1C1197.6 534.0 1201.5 537.4 1206.0 540.7C1210.5 543.9 1215.6 546.8 1221.0 549.3C1226.4 551.9 1235.6 554.9 1238.6 556.0M825.0 837.3C832.5 832.1 848.8 821.6 870.0 806.3C891.2 790.9 932.2 760.2 952.0 745.0C971.9 729.8 978.2 724.5 989.1 715.0C1000.0 705.5 1009.7 696.5 1017.6 688.0C1025.5 679.5 1032.3 670.0 1036.4 664.0C1040.6 658.0 1041.2 655.5 1042.7 652.0C1044.2 648.5 1044.9 646.0 1045.5 643.0C1046.1 640.0 1046.4 637.0 1046.3 634.0C1046.1 631.0 1045.3 627.5 1044.4 625.0C1043.5 622.5 1042.6 621.0 1041.2 619.0C1039.7 617.0 1039.2 615.6 1035.7 613.0C1032.2 610.4 1027.1 606.4 1020.0 603.6C1012.9 600.8 1003.0 597.8 993.0 595.9C983.0 594.1 971.5 592.9 960.0 592.4C948.5 591.9 935.5 592.2 924.0 593.0C912.5 593.9 901.5 595.4 891.0 597.3C880.5 599.2 871.0 601.4 861.0 604.6C851.0 607.7 840.2 611.8 831.2 616.0C822.2 620.2 815.0 624.2 807.0 629.7C799.0 635.1 790.8 641.5 783.0 648.7C775.2 655.9 768.2 663.5 760.5 673.0C752.7 682.5 744.0 694.5 736.4 706.0C728.8 717.5 720.8 731.0 714.8 742.0C708.9 753.0 704.3 763.0 700.7 772.0C697.1 781.0 694.8 790.0 693.3 796.0C691.7 802.0 691.7 804.0 691.4 808.0C691.0 812.0 690.5 815.0 691.2 820.0C691.8 825.0 694.5 835.0 695.1 838.0M694.2 130.0C699.0 129.5 713.2 128.5 723.0 126.8C732.8 125.1 744.0 122.4 753.0 119.8C762.0 117.1 769.0 114.4 777.0 110.8C785.0 107.2 792.0 103.8 801.0 98.1C810.0 92.4 813.4 91.0 831.0 76.4C848.6 61.7 884.1 28.9 906.6 10.0C929.1 -8.9 956.1 -29.3 966.0 -37.1M662.6 -38.0C659.5 -31.5 649.0 -11.5 643.9 1.0C638.8 13.5 634.6 28.0 632.0 37.0C629.5 46.0 629.4 49.0 628.6 55.0C627.7 61.0 627.2 67.5 626.9 73.0C626.6 78.5 626.6 83.0 626.9 88.0C627.2 93.0 627.9 99.0 628.6 103.0C629.3 107.0 630.1 109.5 631.1 112.0C632.0 114.5 632.8 116.2 634.1 118.0C635.4 119.8 637.2 121.7 639.0 123.0C640.8 124.4 640.5 125.0 645.0 126.1C649.5 127.3 657.8 129.3 666.0 130.0C674.2 130.6 689.5 130.0 694.2 130.0M-39.0 617.1C-36.5 616.6 -30.0 614.6 -24.0 613.8C-18.0 612.9 -19.0 611.9 -3.0 611.8C13.0 611.6 54.5 612.8 72.0 612.8C89.5 612.8 92.5 612.5 102.0 611.7C111.5 610.8 120.0 609.7 129.0 607.6C138.0 605.6 148.6 602.2 156.0 599.6C163.4 597.0 167.6 594.7 173.1 592.0C178.6 589.3 180.7 588.8 189.0 583.3C197.3 577.8 211.4 568.5 223.2 559.0C235.1 549.5 243.4 542.2 260.2 526.0C277.0 509.8 310.9 474.5 324.0 461.8C337.1 449.0 334.5 452.8 339.0 449.5C343.5 446.3 346.5 444.4 351.0 442.2C355.5 439.9 361.0 437.6 366.0 435.9C371.0 434.3 366.5 434.1 381.0 432.2C395.5 430.3 435.5 426.7 453.0 424.3C470.5 421.9 475.5 420.7 486.0 417.8C496.5 415.0 506.5 411.6 516.0 407.4C525.5 403.2 534.5 398.2 543.0 392.5C551.5 386.8 559.5 380.4 567.0 373.4C574.5 366.4 581.5 358.7 588.0 350.4C594.5 342.1 600.7 332.9 606.0 323.7C611.3 314.4 615.8 304.8 619.5 295.0C623.2 285.2 626.2 275.0 628.3 265.0C630.4 255.0 631.6 245.5 632.2 235.0C632.8 224.5 632.6 213.1 631.8 202.0C630.9 190.9 628.5 176.3 627.0 168.3C625.5 160.3 624.5 157.9 623.0 154.0C621.5 150.1 620.3 147.5 618.0 144.8C615.7 142.1 612.9 139.8 609.0 137.8C605.1 135.9 627.4 140.3 594.5 133.0C561.7 125.7 449.0 101.7 412.0 94.0C374.9 86.3 386.2 88.6 372.0 86.6C357.8 84.6 337.5 82.7 327.0 82.0C316.5 81.2 315.0 81.8 309.0 82.2C303.0 82.7 297.1 83.2 291.0 84.6C284.9 86.1 277.0 89.0 272.5 91.0C268.0 93.0 266.4 94.6 264.0 96.5C261.6 98.4 260.2 99.3 258.0 102.4C255.8 105.4 252.5 111.4 251.0 115.0C249.5 118.6 249.4 121.0 249.0 124.0C248.6 127.0 248.2 128.5 248.6 133.0C249.0 137.5 249.9 145.0 251.4 151.0C252.9 157.0 249.8 152.5 257.3 169.0C264.8 185.5 288.7 233.5 296.4 250.0C304.1 266.5 301.5 262.0 303.6 268.0C305.7 274.0 307.6 280.0 309.0 286.0C310.3 292.0 311.5 298.0 311.8 304.0C312.1 310.0 312.0 316.6 311.0 322.0C310.0 327.4 308.3 332.1 306.0 336.1C303.7 340.2 300.0 343.8 297.0 346.3C294.0 348.8 291.5 349.8 288.0 351.1C284.5 352.3 280.5 353.3 276.0 353.8C271.5 354.4 267.0 354.6 261.0 354.3C255.0 354.0 250.0 353.8 240.0 351.9C230.0 350.1 226.0 349.8 201.0 343.4C176.0 336.9 114.0 319.2 90.0 313.0C66.0 306.8 67.0 307.8 57.0 306.0C47.0 304.1 38.0 302.9 30.0 302.0C22.0 301.2 15.5 300.8 9.0 300.8C2.5 300.7 -3.5 301.0 -9.0 301.7C-14.5 302.4 -19.5 303.4 -24.0 304.8C-28.5 306.2 -34.2 309.1 -36.3 310.0M876.0 836.6C885.2 828.9 902.8 812.3 931.0 790.0C959.2 767.7 1013.8 727.8 1045.2 703.0C1076.5 678.2 1103.7 653.7 1119.0 641.2C1134.3 628.7 1131.0 631.8 1137.0 628.2C1143.0 624.5 1148.5 621.6 1155.0 619.2C1161.5 616.8 1168.5 615.0 1176.0 613.8C1183.5 612.5 1189.5 611.9 1200.0 611.7C1210.5 611.4 1232.5 612.0 1239.0 612.1M1239.0 303.1C1233.5 302.7 1214.0 301.0 1206.0 300.8C1198.0 300.6 1195.5 301.2 1191.0 301.7C1186.5 302.2 1183.0 302.8 1179.0 303.9C1175.0 305.0 1170.3 306.8 1167.0 308.3C1163.7 309.8 1161.6 311.1 1159.1 313.0C1156.6 314.9 1154.2 317.0 1152.0 319.5C1149.8 322.0 1148.0 324.1 1145.9 328.0C1143.9 331.9 1141.5 336.5 1139.6 343.0C1137.7 349.5 1136.7 346.5 1134.6 367.0C1132.5 387.5 1129.0 444.0 1127.0 466.0C1124.9 488.0 1124.3 489.5 1122.2 499.0C1120.1 508.5 1116.6 517.5 1114.4 523.0C1112.3 528.5 1111.5 528.9 1109.3 532.0C1107.1 535.1 1103.9 538.9 1101.0 541.5C1098.1 544.2 1095.0 546.1 1092.0 547.9C1089.0 549.7 1088.5 550.4 1083.0 552.0C1077.5 553.7 1067.5 556.3 1059.0 557.6C1050.5 559.0 1053.0 558.9 1032.0 560.0C1011.0 561.2 955.0 563.3 933.0 564.7C911.0 566.0 911.0 566.7 900.0 568.2C889.0 569.7 876.9 571.7 867.0 573.6C857.1 575.6 848.3 577.8 840.3 580.0C832.3 582.2 826.1 584.2 819.0 586.8C811.9 589.5 804.5 592.6 798.0 595.8C791.5 599.0 786.0 602.0 780.0 605.9C774.0 609.8 768.0 614.1 762.0 619.2C756.0 624.4 749.9 630.3 743.9 637.0C737.9 643.7 732.5 650.5 726.0 659.5C719.5 668.5 713.5 677.3 705.0 690.8C696.5 704.2 683.4 725.4 675.0 740.0C666.6 754.5 660.0 766.7 654.3 778.0C648.7 789.3 644.8 798.0 641.1 808.0C637.3 818.0 633.3 833.0 631.8 838.0M624.0 -36.3C618.0 -26.6 597.0 8.1 588.0 21.8C579.0 35.6 576.0 39.5 570.0 46.2C564.0 53.0 557.0 58.6 552.0 62.4C547.0 66.2 544.0 67.2 540.0 69.0C536.0 70.9 534.5 71.9 528.0 73.3C521.5 74.7 511.5 77.0 501.0 77.5C490.5 78.1 477.0 77.6 465.0 76.7C453.0 75.9 450.5 75.6 429.0 72.4C407.5 69.3 359.0 60.8 336.0 57.8C313.0 54.8 301.5 54.9 291.0 54.5C280.5 54.1 279.0 54.6 273.0 55.3C267.0 55.9 260.5 56.9 255.0 58.2C249.5 59.6 244.5 61.4 240.0 63.6C235.5 65.7 231.6 68.2 228.0 71.2C224.4 74.3 221.0 78.2 218.5 82.0C216.0 85.8 214.4 89.5 213.1 94.0C211.8 98.5 210.9 103.5 210.7 109.0C210.6 114.5 211.3 121.5 212.2 127.0C213.0 132.5 214.1 136.5 215.8 142.0C217.5 147.5 215.9 145.0 222.2 160.0C228.6 175.0 247.8 217.0 254.0 232.0C260.2 247.0 258.1 244.5 259.4 250.0C260.6 255.5 261.2 260.5 261.4 265.0C261.6 269.5 261.5 273.0 260.6 277.0C259.7 281.0 257.9 285.7 256.0 289.0C254.1 292.3 251.7 294.8 249.0 297.0C246.3 299.3 243.5 301.0 240.0 302.6C236.5 304.2 232.0 305.5 228.0 306.5C224.0 307.4 223.5 308.0 216.0 308.1C208.5 308.2 194.5 308.1 183.0 306.9C171.5 305.7 173.0 306.2 147.0 301.0C121.0 295.9 53.0 281.0 27.0 276.1C1.0 271.2 2.0 272.5 -9.0 271.7C-20.0 270.9 -34.0 271.5 -39.0 271.5M-36.7 670.0C-32.6 669.0 -20.1 665.4 -12.0 663.8C-3.9 662.3 -5.0 661.4 12.0 660.6C29.0 659.8 73.0 659.6 90.0 659.1C107.0 658.6 106.5 658.3 114.0 657.4C121.5 656.5 128.0 655.4 135.0 653.6C142.0 651.9 148.5 650.0 156.0 646.9C163.5 643.8 171.5 640.2 180.0 635.2C188.5 630.3 198.0 623.9 207.0 617.3C216.0 610.8 216.5 610.6 234.0 595.7C251.5 580.8 295.0 542.3 312.0 528.1C329.0 513.9 328.5 515.4 336.0 510.4C343.5 505.3 350.0 501.3 357.0 497.5C364.0 493.7 370.5 490.5 378.0 487.5C385.5 484.4 384.5 483.5 402.0 479.0C419.5 474.4 465.0 464.8 483.0 460.3C501.0 455.9 501.5 455.4 510.0 452.5C518.5 449.5 526.4 446.3 534.0 442.6C541.6 438.8 549.3 434.3 555.8 430.0C562.3 425.7 567.1 421.9 573.0 416.8C578.9 411.7 585.2 405.7 591.0 399.4C596.8 393.1 602.5 386.2 608.0 379.0C613.5 371.8 619.2 363.5 624.0 356.0C628.8 348.5 632.8 341.7 637.0 334.0C641.1 326.3 641.4 327.5 649.0 310.0C656.5 292.5 675.2 245.0 682.2 229.0C689.2 213.0 687.9 218.5 691.0 214.0C694.1 209.5 697.5 205.5 700.8 202.0C704.2 198.5 706.8 196.1 711.0 192.9C715.2 189.7 711.5 190.4 726.0 182.9C740.5 175.5 783.0 156.0 798.0 148.5C813.0 141.0 810.5 141.5 816.0 138.0C821.5 134.4 825.0 132.3 831.0 127.2C837.0 122.2 841.1 119.7 852.0 107.7C862.9 95.6 884.3 68.8 896.5 55.0C908.7 41.2 914.7 35.0 925.1 25.0C935.5 15.0 946.1 5.5 958.9 -5.0C971.7 -15.5 994.8 -32.5 1002.0 -38.0M1239.0 278.2C1231.5 277.1 1207.5 273.0 1194.0 272.0C1180.5 270.9 1166.3 271.4 1158.0 271.7C1149.7 272.1 1148.0 273.1 1144.0 274.0C1140.0 274.9 1137.4 275.7 1134.0 277.2C1130.6 278.7 1126.8 280.7 1123.8 283.0C1120.8 285.3 1118.4 287.4 1116.0 290.9C1113.6 294.4 1110.9 299.3 1109.2 304.0C1107.5 308.7 1107.2 301.0 1105.7 319.0C1104.2 337.0 1101.7 392.5 1100.2 412.0C1098.7 431.5 1098.2 428.5 1096.9 436.0C1095.5 443.5 1093.9 450.5 1092.0 457.0C1090.1 463.5 1088.0 469.5 1085.4 475.0C1082.9 480.5 1080.1 485.5 1077.0 490.0C1073.9 494.5 1070.7 498.2 1066.7 502.0C1062.8 505.8 1059.3 509.0 1053.0 512.6C1046.7 516.3 1038.0 520.6 1029.0 523.7C1020.0 526.8 1026.0 527.2 999.0 531.2C972.0 535.3 898.6 543.4 867.0 548.0C835.4 552.6 822.7 556.0 809.2 559.0C795.7 562.0 793.3 563.4 786.0 565.9C778.7 568.4 771.8 571.1 765.7 574.0C759.5 576.9 754.6 579.5 749.1 583.0C743.6 586.5 738.1 590.3 732.8 595.0C727.4 599.7 722.1 605.0 717.0 611.0C711.9 617.1 714.4 611.2 702.0 631.5C689.6 651.9 660.8 702.8 642.8 733.0C624.8 763.2 605.0 795.0 594.0 812.5C583.0 830.0 579.6 833.7 576.7 838.0M912.1 838.0C917.9 832.5 933.5 816.6 947.0 805.0C960.5 793.4 975.8 781.2 993.0 768.5C1010.2 755.9 1031.0 741.6 1050.0 729.3C1069.0 717.0 1092.0 703.2 1107.0 694.8C1122.0 686.4 1129.5 683.1 1140.0 678.6C1150.5 674.1 1159.5 670.8 1170.0 668.0C1180.5 665.2 1191.5 663.0 1203.0 661.5C1214.5 660.1 1233.0 659.7 1239.0 659.3M589.4 -38.0C584.7 -31.9 569.7 -11.5 561.0 -1.5C552.3 8.4 543.0 16.4 537.0 21.7C531.0 27.0 529.1 27.6 525.0 30.2C520.9 32.7 516.7 35.0 512.2 37.0C507.7 39.0 502.9 40.9 498.0 42.3C493.1 43.8 490.5 44.9 483.0 45.9C475.5 47.0 464.0 48.4 453.0 48.6C442.0 48.8 429.0 47.9 417.0 46.9C405.0 45.8 402.0 45.5 381.0 42.2C360.0 39.0 312.5 30.5 291.0 27.4C269.5 24.2 261.5 24.1 252.0 23.6C242.5 23.0 239.5 23.4 234.0 23.8C228.5 24.2 224.0 24.7 219.0 25.9C214.0 27.1 208.1 29.1 204.0 31.0C199.9 32.8 197.3 34.5 194.2 37.0C191.0 39.5 187.8 42.5 185.1 46.0C182.4 49.5 180.0 53.5 178.0 58.0C176.1 62.5 174.5 68.0 173.5 73.0C172.6 78.0 172.2 82.5 172.3 88.0C172.3 93.5 172.7 99.5 173.8 106.0C174.9 112.5 176.7 120.0 178.8 127.0C180.8 134.0 181.2 135.5 186.1 148.0C191.1 160.5 203.4 188.5 208.3 202.0C213.1 215.5 214.0 222.5 215.1 229.0C216.3 235.5 215.8 237.0 215.3 241.0C214.7 245.0 213.6 249.5 211.8 253.0C210.1 256.5 207.6 259.5 204.8 262.0C202.0 264.5 198.6 266.4 195.0 268.0C191.4 269.6 187.0 270.8 183.0 271.6C179.0 272.5 179.0 273.1 171.0 273.2C163.0 273.2 147.5 273.1 135.0 272.0C122.5 270.8 118.5 270.1 96.0 266.1C73.5 262.1 22.5 252.0 0.0 248.0C-22.5 244.1 -32.5 243.4 -39.0 242.4M-39.0 706.8C-34.5 706.0 -21.5 703.2 -12.0 702.2C-2.5 701.2 8.5 700.8 18.0 700.8C27.5 700.8 32.0 701.1 45.0 702.2C58.0 703.4 84.0 706.8 96.0 707.8C108.0 708.9 110.0 708.8 117.0 708.6C124.0 708.4 131.5 707.7 138.0 706.4C144.5 705.2 150.0 703.5 156.0 701.1C162.0 698.7 167.5 696.0 174.0 691.9C180.5 687.9 188.0 682.4 195.0 676.8C202.0 671.2 203.1 670.5 216.0 658.4C228.9 646.2 258.1 617.3 272.1 604.0C286.1 590.7 290.4 586.8 300.0 578.7C309.6 570.5 320.0 562.1 330.0 555.0C340.0 547.9 350.5 541.3 360.0 536.0C369.5 530.7 377.5 527.0 387.0 523.2C396.5 519.3 407.0 515.9 417.0 513.0C427.0 510.1 431.0 509.1 447.0 505.8C463.0 502.5 497.5 496.5 513.0 493.2C528.5 490.0 531.5 489.0 540.0 486.3C548.5 483.6 557.0 480.3 564.0 477.0C571.0 473.7 577.0 469.9 582.0 466.5C587.0 463.2 590.0 460.6 594.0 457.0C598.0 453.4 600.2 451.8 605.7 445.0C611.2 438.2 618.7 429.0 627.0 416.0C635.3 403.0 642.7 390.7 655.4 367.0C668.1 343.3 693.3 292.5 703.1 274.0C712.9 255.5 710.4 261.5 714.2 256.0C718.1 250.5 721.5 245.9 726.0 240.9C730.5 235.9 735.3 230.9 741.3 226.0C747.3 221.1 754.5 215.9 762.0 211.3C769.5 206.6 772.0 205.2 786.0 198.2C800.0 191.3 833.3 176.2 846.0 169.8C858.7 163.4 857.6 163.1 862.1 160.0C866.6 156.9 868.6 155.8 873.0 151.3C877.4 146.8 880.6 146.1 888.5 133.0C896.4 119.9 913.1 86.0 920.4 73.0C927.8 60.0 928.6 60.5 932.6 55.0C936.6 49.5 939.3 46.0 944.6 40.0C950.0 34.0 957.9 25.5 964.7 19.0C971.4 12.5 977.2 7.4 984.9 1.0C992.6 -5.4 1002.1 -12.8 1011.0 -19.2C1019.9 -25.6 1033.5 -34.4 1038.0 -37.4M1239.0 255.2C1228.5 253.4 1193.5 246.8 1176.0 244.3C1158.5 241.8 1144.0 241.1 1134.0 240.5C1124.0 239.8 1121.5 240.3 1116.0 240.7C1110.5 241.0 1105.5 241.6 1101.0 242.5C1096.5 243.4 1092.5 244.6 1089.0 246.0C1085.5 247.4 1082.4 249.4 1080.0 251.1C1077.6 252.7 1076.4 254.1 1074.9 256.0C1073.4 257.9 1072.1 259.7 1071.0 262.2C1069.9 264.7 1068.8 268.0 1068.2 271.0C1067.5 274.0 1067.3 276.0 1067.1 280.0C1067.0 284.0 1066.4 281.0 1067.5 295.0C1068.6 309.0 1072.8 348.5 1073.9 364.0C1074.9 379.5 1074.1 380.0 1073.6 388.0C1073.1 396.0 1072.0 405.0 1070.9 412.0C1069.8 419.0 1068.6 424.0 1066.9 430.0C1065.1 436.0 1062.8 442.5 1060.3 448.0C1057.9 453.5 1055.0 458.5 1052.0 463.0C1049.0 467.5 1045.7 471.5 1042.3 475.0C1039.0 478.5 1036.2 481.1 1032.0 484.3C1027.8 487.4 1022.5 490.9 1017.0 493.8C1011.5 496.7 1005.5 499.3 999.0 501.7C992.5 504.0 989.5 505.5 978.0 508.0C966.5 510.5 957.5 513.1 930.0 516.7C902.5 520.3 839.5 526.4 813.0 529.5C786.5 532.7 781.5 533.9 771.0 535.7C760.5 537.5 756.5 538.7 750.0 540.4C743.5 542.0 737.5 543.9 732.0 545.9C726.5 547.9 721.4 550.1 717.0 552.3C712.6 554.5 710.2 555.6 705.7 559.0C701.2 562.4 694.6 567.7 690.0 572.9C685.4 578.0 681.5 583.9 678.0 589.7C674.5 595.4 673.9 596.2 669.0 607.6C664.1 619.0 654.2 644.6 648.4 658.0C642.7 671.4 639.8 677.5 634.5 688.0C629.1 698.5 623.1 709.5 616.2 721.0C609.3 732.5 600.5 746.0 592.9 757.0C585.3 768.0 577.5 778.5 570.7 787.0C563.8 795.5 558.1 802.0 552.0 808.2C545.9 814.3 540.5 819.3 534.0 824.0C527.5 828.8 516.5 834.5 513.0 836.7M345.0 836.2C335.0 834.6 301.5 828.7 285.0 826.5C268.5 824.4 255.0 823.9 246.0 823.4C237.0 823.0 236.0 823.5 231.0 824.1C226.0 824.6 220.5 825.5 216.0 826.6C211.5 827.8 207.5 829.3 204.0 831.0C200.5 832.6 196.5 835.5 195.0 836.4M948.0 836.2C952.8 831.5 965.5 817.7 976.7 808.0C987.8 798.3 1001.3 787.7 1015.0 778.0C1028.7 768.3 1044.7 758.1 1059.0 749.8C1073.3 741.4 1088.0 733.9 1101.0 727.9C1114.0 721.9 1125.5 717.4 1137.0 713.6C1148.5 709.7 1159.0 707.0 1170.0 704.9C1181.0 702.8 1191.5 701.6 1203.0 701.0C1214.5 700.5 1233.0 701.6 1239.0 701.7M450.0 22.1C445.5 22.3 432.5 23.5 423.0 23.3C413.5 23.2 403.6 22.5 393.0 21.2C382.4 20.0 371.6 18.4 359.4 16.0C347.3 13.6 332.4 10.2 320.0 7.0C307.6 3.8 295.3 0.0 285.0 -3.5C274.7 -7.0 266.1 -10.2 258.1 -14.0C250.1 -17.8 242.4 -22.0 236.9 -26.0C231.4 -30.0 227.0 -35.8 225.0 -37.8M552.0 -36.1C548.0 -32.1 536.0 -18.8 528.0 -12.0C520.0 -5.1 512.2 0.4 504.0 5.1C495.8 9.7 488.1 13.2 479.1 16.0C470.1 18.8 454.8 21.1 450.0 22.1M81.0 -36.8C83.5 -35.2 91.6 -30.4 96.0 -27.1C100.4 -23.8 104.3 -20.2 107.3 -17.0C110.3 -13.8 112.1 -11.5 114.2 -8.0C116.3 -4.5 118.2 -1.0 119.8 4.0C121.4 9.0 122.2 11.0 123.8 22.0C125.4 33.0 127.6 58.0 129.3 70.0C131.1 82.0 132.2 85.5 134.5 94.0C136.7 102.5 138.2 108.0 142.8 121.0C147.4 134.0 157.9 160.5 162.0 172.0C166.0 183.5 166.0 184.0 167.2 190.0C168.4 196.0 169.2 203.0 169.1 208.0C169.0 213.0 168.0 216.5 166.6 220.0C165.1 223.5 163.1 226.4 160.4 229.0C157.6 231.6 154.2 233.9 150.0 235.7C145.8 237.5 141.0 238.8 135.0 239.8C129.0 240.7 121.5 241.1 114.0 241.1C106.5 241.0 99.0 240.5 90.0 239.6C81.0 238.7 81.4 239.3 60.0 235.6C38.6 231.8 -22.1 220.1 -38.5 217.0M873.0 499.1C862.0 499.4 828.0 501.2 807.0 501.2C786.0 501.3 760.5 500.0 747.0 499.3C733.5 498.6 732.5 498.0 726.0 497.1C719.5 496.1 713.0 494.9 708.0 493.7C703.0 492.4 699.5 491.2 696.0 489.7C692.5 488.2 689.7 486.7 687.0 484.7C684.3 482.8 681.9 480.6 679.9 478.0C677.9 475.4 676.2 472.3 675.0 469.3C673.8 466.3 673.1 463.5 672.6 460.0C672.0 456.5 671.7 452.5 671.8 448.0C671.9 443.5 672.5 438.0 673.2 433.0C673.9 428.0 673.6 427.0 676.2 418.0C678.9 409.0 683.3 393.5 689.0 379.0C694.6 364.5 703.1 345.4 710.3 331.0C717.5 316.6 724.9 303.6 732.0 292.8C739.1 282.0 745.5 274.0 753.0 266.1C760.5 258.2 768.0 251.7 777.0 245.4C786.0 239.1 795.5 233.5 807.0 228.2C818.5 222.8 833.0 217.5 846.0 213.3C859.0 209.2 867.6 206.8 885.0 203.4C902.4 200.0 937.7 195.3 950.2 193.0C962.7 190.7 958.0 190.5 960.0 189.5C962.0 188.5 961.8 188.4 962.2 187.0C962.7 185.6 964.5 188.5 962.7 181.0C961.0 173.5 954.1 153.0 951.8 142.0C949.6 131.0 949.2 122.0 949.0 115.0C948.7 108.0 949.6 104.5 950.2 100.0C950.9 95.5 950.8 94.0 952.8 88.0C954.9 82.0 959.5 70.5 962.7 64.0C966.0 57.5 969.1 53.5 972.2 49.0C975.4 44.5 975.5 43.5 981.6 37.0C987.8 30.5 998.8 18.7 1009.2 10.0C1019.6 1.3 1031.7 -7.5 1044.0 -15.3C1056.3 -23.1 1076.5 -33.2 1083.0 -36.8M1239.0 232.0C1220.5 228.4 1156.5 215.8 1128.0 210.8C1099.5 205.8 1083.0 203.8 1068.0 201.8C1053.0 199.8 1047.5 199.5 1038.0 198.9C1028.5 198.2 1018.1 197.9 1011.0 197.9C1003.9 197.9 999.2 198.3 995.4 199.0C991.7 199.7 990.0 200.5 988.6 202.0C987.2 203.5 987.1 206.0 987.2 208.0C987.2 210.0 982.4 200.5 988.8 214.0C995.3 227.5 1018.3 272.5 1026.0 289.0C1033.7 305.4 1032.5 305.1 1035.0 312.7C1037.5 320.2 1039.4 326.9 1041.0 334.5C1042.6 342.0 1044.0 350.1 1044.7 358.0C1045.5 365.9 1045.7 374.5 1045.3 382.0C1045.0 389.5 1044.3 396.0 1042.8 403.0C1041.4 410.0 1039.0 418.0 1036.7 424.0C1034.4 430.0 1032.3 434.2 1029.0 439.3C1025.7 444.4 1021.5 450.0 1017.0 454.7C1012.5 459.3 1007.5 463.5 1002.0 467.2C996.5 471.0 990.5 474.2 984.0 477.2C977.5 480.1 970.5 482.7 963.0 485.0C955.5 487.2 948.0 489.1 939.0 490.9C930.0 492.7 920.0 494.3 909.0 495.7C898.0 497.0 879.0 498.5 873.0 499.1M438.0 823.1C430.5 823.6 424.5 823.5 417.0 823.2C409.5 822.8 406.0 823.2 393.0 821.2C380.0 819.3 357.3 815.9 339.0 811.7C320.7 807.5 296.6 800.1 283.5 796.0C270.4 791.9 267.1 790.0 260.3 787.0C253.6 784.0 247.4 780.6 243.0 778.1C238.6 775.5 236.9 774.2 234.0 771.7C231.1 769.2 227.5 765.5 225.5 763.0C223.5 760.5 223.0 759.5 222.0 757.0C221.0 754.5 219.9 751.0 219.5 748.0C219.0 745.0 218.9 742.5 219.4 739.0C219.8 735.5 219.7 733.0 221.9 727.0C224.2 721.0 228.7 710.5 232.7 703.0C236.7 695.5 240.8 689.5 246.0 682.0C251.2 674.5 257.5 666.0 263.9 658.0C270.3 650.0 277.7 641.5 284.6 634.0C291.5 626.5 298.4 619.5 305.3 613.0C312.2 606.5 319.2 600.4 325.8 595.0C332.5 589.6 338.3 585.2 345.0 580.7C351.7 576.2 359.0 571.6 366.0 567.7C373.0 563.9 379.5 560.6 387.0 557.4C394.5 554.2 403.0 551.1 411.0 548.6C419.0 546.0 426.5 544.1 435.0 542.3C443.5 540.5 452.5 538.9 462.0 537.6C471.5 536.4 481.5 535.4 492.0 534.7C502.5 534.1 514.3 533.6 525.0 533.7C535.7 533.7 547.4 534.2 556.4 535.0C565.4 535.8 572.7 537.2 579.0 538.7C585.3 540.3 589.5 541.9 594.0 544.4C598.5 547.0 602.7 550.1 606.0 554.0C609.3 558.0 611.9 562.7 614.0 568.0C616.1 573.3 617.5 579.0 618.5 586.0C619.4 593.0 619.9 602.0 619.7 610.0C619.5 618.0 618.7 626.0 617.4 634.0C616.1 642.0 614.3 650.0 612.0 658.0C609.6 666.0 607.1 673.5 603.4 682.0C599.8 690.5 595.3 700.0 590.3 709.0C585.3 718.0 579.4 727.5 573.5 736.0C567.7 744.5 561.4 752.7 555.3 760.0C549.2 767.3 543.1 773.9 537.0 779.8C530.9 785.7 525.0 790.7 519.0 795.2C513.0 799.7 507.0 803.5 501.0 806.7C495.0 810.0 489.5 812.4 483.0 814.7C476.5 817.0 469.5 818.9 462.0 820.3C454.5 821.7 445.5 822.6 438.0 823.1ZM-36.7 739.0C-31.6 738.8 -16.3 737.4 -6.0 737.9C4.3 738.4 14.5 739.7 25.0 742.0C35.5 744.3 46.9 747.8 57.0 751.8C67.1 755.8 78.3 761.6 85.9 766.0C93.4 770.4 97.4 773.5 102.2 778.0C107.1 782.5 111.5 787.5 114.8 793.0C118.0 798.5 120.0 803.5 121.8 811.0C123.6 818.5 124.9 833.5 125.5 838.0M981.0 837.8C985.0 833.7 995.5 821.8 1005.0 813.6C1014.5 805.4 1026.5 796.3 1038.0 788.6C1049.5 780.9 1062.0 773.7 1074.0 767.6C1086.0 761.5 1098.5 756.1 1110.0 751.9C1121.5 747.7 1132.0 744.7 1143.0 742.3C1154.0 740.0 1165.5 738.5 1176.0 737.9C1186.5 737.4 1195.8 737.7 1206.0 738.9C1216.2 740.1 1231.8 744.0 1237.0 745.0M426.0 -1.9C420.0 -2.1 402.0 -1.7 390.0 -3.1C378.0 -4.5 365.5 -7.0 354.0 -10.2C342.5 -13.3 328.7 -18.9 321.0 -22.0C313.3 -25.1 311.7 -26.6 307.7 -29.0C303.7 -31.4 298.8 -35.2 297.0 -36.5M513.0 -37.0C509.9 -34.7 500.6 -27.1 494.1 -23.0C487.6 -18.9 481.4 -15.5 474.0 -12.5C466.6 -9.6 458.0 -6.8 450.0 -5.1C442.0 -3.3 430.0 -2.4 426.0 -1.9M93.0 205.2C89.5 205.6 80.5 207.4 72.0 207.6C63.5 207.7 53.0 207.1 42.0 206.0C31.0 204.8 19.5 203.0 6.0 200.6C-7.5 198.1 -31.5 192.8 -39.0 191.2M-39.0 -26.8C-36.0 -26.6 -26.5 -26.2 -21.0 -25.5C-15.5 -24.8 -11.0 -23.9 -6.0 -22.6C-1.0 -21.3 4.0 -19.7 9.0 -17.7C14.0 -15.6 19.4 -13.0 24.0 -10.4C28.6 -7.8 32.3 -5.4 36.7 -2.0C41.0 1.4 46.2 6.0 50.1 10.0C54.0 14.0 56.9 17.7 60.1 22.0C63.3 26.3 65.3 28.8 69.0 35.8C72.7 42.8 76.6 49.9 82.6 64.0C88.6 78.1 99.7 106.6 105.0 120.6C110.3 134.6 112.3 140.4 114.5 148.0C116.8 155.6 117.9 160.5 118.6 166.0C119.3 171.5 119.4 176.5 118.7 181.0C117.9 185.5 116.3 189.4 114.0 192.7C111.7 196.0 108.5 198.5 105.0 200.6C101.5 202.7 95.0 204.4 93.0 205.2M1239.0 205.6C1231.0 204.3 1208.9 201.3 1191.0 197.7C1173.1 194.1 1149.6 188.6 1131.6 184.0C1113.6 179.4 1096.6 174.4 1083.0 169.9C1069.4 165.4 1059.6 161.5 1050.1 157.0C1040.6 152.5 1032.9 148.1 1026.0 143.1C1019.1 138.1 1012.6 131.2 1008.7 127.0C1004.8 122.8 1004.3 121.0 1002.7 118.0C1001.0 115.0 999.8 113.5 998.6 109.0C997.4 104.5 995.8 96.0 995.5 91.0C995.2 86.0 995.7 83.5 996.7 79.0C997.8 74.5 999.4 69.0 1001.7 64.0C1003.9 59.0 1006.8 54.0 1010.3 49.0C1013.7 44.0 1017.9 38.9 1022.6 34.0C1027.2 29.1 1032.5 24.3 1038.0 19.8C1043.5 15.3 1049.1 11.1 1055.5 7.0C1061.9 2.9 1069.5 -1.5 1076.3 -5.0C1083.2 -8.5 1089.9 -11.4 1096.5 -14.0C1103.1 -16.6 1109.3 -18.6 1116.0 -20.5C1122.7 -22.3 1130.5 -23.9 1137.0 -25.0C1143.5 -26.0 1149.0 -26.5 1155.0 -26.7C1161.0 -26.9 1167.0 -26.8 1173.0 -26.2C1179.0 -25.7 1185.5 -24.6 1191.0 -23.3C1196.5 -22.1 1200.7 -20.9 1206.0 -18.8C1211.3 -16.8 1217.9 -13.8 1223.0 -11.0C1228.1 -8.2 1234.4 -3.5 1236.7 -2.0M891.0 472.1C880.5 473.1 869.0 473.5 858.0 473.5C847.0 473.4 835.5 472.8 825.0 471.8C814.5 470.7 804.0 469.1 795.0 467.2C786.0 465.2 777.8 462.7 770.8 460.0C763.9 457.3 758.5 454.5 753.4 451.0C748.2 447.5 743.7 443.5 740.1 439.0C736.5 434.5 733.8 429.5 731.9 424.0C729.9 418.5 729.1 411.0 728.6 406.0C728.1 401.0 728.5 398.5 729.0 394.0C729.4 389.5 729.4 386.5 731.4 379.0C733.5 371.5 737.0 359.0 741.2 349.0C745.4 339.0 752.4 326.5 756.7 319.0C761.0 311.5 763.7 308.5 767.2 304.0C770.6 299.5 772.3 297.0 777.4 292.0C782.6 287.0 792.6 278.3 798.0 274.0C803.4 269.7 805.5 268.8 810.0 266.2C814.5 263.6 817.5 261.5 825.0 258.5C832.5 255.6 845.0 250.9 855.0 248.6C865.0 246.3 876.0 245.2 885.0 244.8C894.0 244.4 901.0 244.9 909.0 246.2C917.0 247.5 925.5 249.7 933.0 252.5C940.5 255.3 947.5 258.9 954.0 263.0C960.5 267.2 966.0 271.3 972.0 277.1C978.0 282.9 984.9 290.8 990.0 297.8C995.1 304.8 998.9 311.5 1002.5 319.0C1006.0 326.5 1009.1 334.5 1011.2 343.0C1013.3 351.5 1014.6 362.0 1015.0 370.0C1015.4 378.0 1014.5 384.4 1013.4 391.0C1012.2 397.6 1010.6 403.3 1008.0 409.3C1005.4 415.3 1001.9 421.6 997.9 427.0C993.9 432.4 989.3 437.2 984.0 441.5C978.7 445.9 972.5 449.9 966.0 453.3C959.5 456.7 952.5 459.5 945.0 461.9C937.5 464.4 930.0 466.3 921.0 468.0C912.0 469.7 901.5 471.2 891.0 472.1ZM444.0 796.1C435.5 797.2 422.5 798.6 411.0 798.4C399.5 798.1 387.0 796.8 375.0 794.6C363.0 792.4 350.0 789.0 339.0 785.2C328.0 781.4 315.5 775.0 309.0 771.7C302.5 768.5 303.2 768.3 300.0 765.8C296.8 763.4 292.7 760.0 289.9 757.0C287.0 754.0 284.8 751.0 282.9 748.0C281.0 745.0 279.7 742.0 278.6 739.0C277.6 736.0 276.9 733.5 276.5 730.0C276.1 726.5 275.5 723.5 276.4 718.0C277.2 712.5 279.6 703.0 281.7 697.0C283.8 691.0 286.0 687.0 288.8 682.0C291.5 677.0 294.6 672.0 298.0 667.0C301.5 662.0 305.0 657.2 309.3 652.0C313.7 646.8 319.1 640.7 324.0 635.7C328.9 630.7 333.7 626.3 338.7 622.0C343.7 617.7 349.0 613.6 354.0 610.0C359.0 606.4 363.5 603.4 369.0 600.1C374.5 596.9 381.0 593.3 387.0 590.5C393.0 587.7 399.0 585.2 405.0 583.0C411.0 580.9 417.0 579.1 423.0 577.5C429.0 576.0 434.5 574.8 441.0 573.7C447.5 572.7 455.0 571.8 462.0 571.3C469.0 570.8 476.5 570.8 483.0 570.9C489.5 571.1 495.5 571.7 501.0 572.4C506.5 573.1 510.9 573.9 516.0 575.1C521.1 576.4 526.6 578.0 531.6 580.0C536.6 582.0 541.6 584.4 546.0 587.3C550.4 590.2 554.5 593.5 558.0 597.1C561.5 600.8 564.6 605.2 567.0 609.3C569.4 613.5 571.0 617.4 572.3 622.0C573.7 626.6 574.8 631.5 575.2 637.0C575.6 642.5 575.6 649.0 575.0 655.0C574.4 661.0 573.2 667.0 571.6 673.0C570.0 679.0 568.2 684.5 565.4 691.0C562.6 697.5 558.7 705.4 555.0 711.9C551.3 718.4 547.6 724.0 543.2 730.0C538.8 736.0 533.5 742.5 528.4 748.0C523.4 753.5 518.2 758.5 513.0 763.0C507.8 767.5 502.7 771.4 497.2 775.0C491.7 778.6 485.9 782.0 480.0 784.8C474.1 787.6 468.0 789.9 462.0 791.8C456.0 793.7 452.5 795.0 444.0 796.1ZM-39.0 773.2C-36.0 773.4 -26.5 773.8 -21.0 774.5C-15.5 775.2 -11.0 776.1 -6.0 777.4C-1.0 778.7 3.9 780.2 9.0 782.3C14.1 784.4 19.7 787.1 24.7 790.0C29.7 792.9 34.6 796.3 39.0 799.8C43.4 803.3 47.4 807.1 51.0 811.0C54.6 814.8 57.6 818.5 60.8 823.0C64.0 827.5 68.7 835.5 70.2 838.0M1020.0 836.8C1023.6 833.5 1033.0 823.5 1041.5 817.0C1050.0 810.5 1060.9 803.3 1071.0 797.8C1081.1 792.3 1091.4 787.7 1101.9 784.0C1112.4 780.3 1123.6 777.3 1134.0 775.5C1144.4 773.7 1154.5 773.1 1164.0 773.3C1173.5 773.5 1182.5 774.7 1191.0 776.7C1199.5 778.6 1207.2 781.2 1215.0 784.9C1222.8 788.6 1234.1 796.7 1238.0 799.0M435.0 -31.4C432.5 -31.1 425.5 -29.9 420.0 -29.6C414.5 -29.3 407.8 -29.3 402.0 -29.7C396.2 -30.1 390.4 -30.9 384.9 -32.0C379.4 -33.1 371.7 -35.5 369.0 -36.2M453.0 -36.2C450.0 -35.4 438.0 -32.2 435.0 -31.4M36.0 166.3C33.5 166.6 26.5 167.9 21.0 168.2C15.5 168.4 13.0 168.9 3.0 167.6C-7.0 166.4 -32.0 161.8 -39.0 160.6M-39.0 14.6C-37.0 15.1 -31.0 16.4 -27.0 17.8C-23.0 19.2 -19.0 20.8 -15.0 22.8C-11.0 24.9 -7.0 27.2 -3.0 30.0C1.0 32.7 3.9 34.4 9.0 39.6C14.1 44.7 21.7 52.6 27.7 61.0C33.7 69.4 40.1 80.1 45.0 90.1C49.9 100.1 54.7 113.9 57.1 121.0C59.5 128.1 59.0 129.5 59.4 133.0C59.8 136.5 59.9 139.0 59.6 142.0C59.2 145.0 58.4 148.5 57.4 151.0C56.4 153.5 55.6 155.0 53.6 157.0C51.6 159.0 48.5 161.4 45.6 163.0C42.6 164.6 37.6 165.8 36.0 166.3M1236.0 166.3C1232.0 166.6 1221.5 168.5 1212.0 168.2C1202.5 167.9 1191.0 166.6 1179.0 164.4C1167.0 162.2 1152.6 158.8 1140.0 155.1C1127.4 151.3 1113.7 146.2 1103.7 142.0C1093.7 137.8 1087.1 134.3 1080.0 129.8C1072.9 125.3 1065.9 120.0 1060.9 115.0C1055.8 110.0 1052.2 104.0 1049.8 100.0C1047.3 96.0 1047.2 94.0 1046.4 91.0C1045.7 88.0 1045.2 85.5 1045.3 82.0C1045.3 78.5 1045.8 74.0 1046.9 70.0C1048.1 66.0 1049.8 62.0 1052.2 58.0C1054.7 54.0 1058.2 49.5 1061.4 46.0C1064.6 42.5 1067.2 40.1 1071.3 37.0C1075.4 33.9 1080.6 30.3 1086.0 27.3C1091.4 24.4 1098.5 21.3 1104.0 19.3C1109.5 17.3 1113.5 16.2 1119.0 15.1C1124.5 14.0 1131.5 13.1 1137.0 12.8C1142.5 12.5 1147.0 12.7 1152.0 13.2C1157.0 13.8 1162.0 14.6 1167.0 16.0C1172.0 17.3 1177.5 19.4 1182.0 21.4C1186.5 23.4 1190.0 25.3 1194.0 27.9C1198.0 30.5 1202.1 33.5 1206.1 37.0C1210.1 40.5 1214.4 44.8 1218.0 48.8C1221.6 52.8 1224.5 56.5 1227.7 61.0C1231.0 65.5 1235.8 73.5 1237.4 76.0M885.0 442.2C878.5 442.5 871.0 442.5 864.0 442.1C857.0 441.6 849.5 440.6 843.0 439.4C836.5 438.2 830.8 436.7 825.0 434.7C819.2 432.6 812.9 429.8 808.0 427.0C803.2 424.2 799.5 421.5 796.0 418.0C792.4 414.5 788.9 410.0 786.6 406.0C784.2 402.0 782.9 398.5 781.9 394.0C780.8 389.5 780.1 384.5 780.3 379.0C780.5 373.5 781.4 367.0 783.0 361.0C784.6 355.0 786.8 349.0 789.9 343.0C792.9 337.0 797.1 330.4 801.0 325.2C804.9 320.0 808.5 316.1 813.0 312.0C817.5 307.8 822.5 303.8 828.0 300.3C833.5 296.8 840.0 293.5 846.0 291.1C852.0 288.6 857.5 286.9 864.0 285.7C870.5 284.5 878.5 283.7 885.0 283.6C891.5 283.6 897.0 284.2 903.0 285.3C909.0 286.5 915.5 288.4 921.0 290.5C926.5 292.7 931.0 294.9 936.0 298.1C941.0 301.2 946.6 305.5 951.0 309.5C955.4 313.5 958.8 317.4 962.1 322.0C965.5 326.6 968.7 332.0 971.1 337.0C973.5 342.0 975.2 346.5 976.5 352.0C977.7 357.5 978.6 364.5 978.6 370.0C978.7 375.5 977.9 380.3 976.8 385.0C975.7 389.7 974.3 393.7 972.0 398.0C969.7 402.4 966.2 407.5 963.0 411.3C959.8 415.2 956.5 418.0 952.5 421.0C948.5 424.0 944.1 426.8 939.0 429.3C933.9 431.8 927.8 434.2 921.8 436.0C915.8 437.8 909.1 439.2 903.0 440.3C896.9 441.3 891.5 441.9 885.0 442.2ZM432.0 769.1C425.5 769.9 416.0 770.8 408.0 770.6C400.0 770.4 392.0 769.5 384.0 767.8C376.0 766.1 367.0 763.3 360.0 760.3C353.0 757.4 346.8 753.5 342.0 749.9C337.2 746.4 334.0 743.3 331.0 739.0C327.9 734.7 325.0 728.0 323.6 724.0C322.1 720.0 322.4 718.0 322.2 715.0C322.1 712.0 321.7 710.5 322.6 706.0C323.5 701.5 324.9 694.5 327.8 688.0C330.7 681.5 335.2 673.6 340.1 667.0C345.0 660.4 350.7 654.0 357.0 648.1C363.3 642.2 370.5 636.5 378.0 631.6C385.5 626.7 394.0 622.2 402.0 618.8C410.0 615.3 417.5 612.8 426.0 610.9C434.5 609.0 444.5 607.6 453.0 607.2C461.5 606.8 469.5 607.4 477.0 608.7C484.5 609.9 492.5 612.5 498.0 614.6C503.5 616.7 506.7 619.0 510.0 621.2C513.3 623.4 515.6 625.4 518.1 628.0C520.6 630.6 523.1 633.8 525.0 636.8C526.9 639.8 528.2 642.5 529.4 646.0C530.6 649.5 531.7 654.0 532.2 658.0C532.7 662.0 532.7 666.0 532.4 670.0C532.1 674.0 531.6 677.5 530.4 682.0C529.2 686.5 527.4 692.0 525.2 697.0C523.0 702.0 520.0 707.5 517.2 712.0C514.5 716.5 511.8 720.1 508.6 724.0C505.4 727.9 501.6 732.2 498.0 735.7C494.4 739.2 491.3 741.9 487.3 745.0C483.3 748.1 478.3 751.5 474.1 754.0C469.9 756.5 466.5 758.3 462.0 760.2C457.5 762.2 452.0 764.2 447.0 765.7C442.0 767.2 438.5 768.3 432.0 769.1ZM-39.0 814.6C-37.0 815.1 -31.0 816.4 -27.0 817.8C-23.0 819.2 -20.5 819.6 -15.0 822.8C-9.5 826.0 2.5 834.6 6.0 836.9M1071.0 837.3C1073.5 835.6 1080.5 830.4 1086.0 827.4C1091.5 824.4 1098.0 821.4 1104.0 819.3C1110.0 817.2 1116.0 815.6 1122.0 814.5C1128.0 813.4 1134.0 812.8 1140.0 812.7C1146.0 812.6 1152.0 813.0 1158.0 814.0C1164.0 815.1 1170.5 816.9 1176.0 818.9C1181.5 820.9 1186.0 823.1 1191.0 826.1C1196.0 829.1 1203.5 835.1 1206.0 836.9M897.0 388.3C893.1 389.7 888.5 390.1 885.0 390.2C881.5 390.4 879.3 390.2 876.0 389.3C872.7 388.4 868.1 386.7 865.2 385.0C862.3 383.3 860.2 381.0 858.6 379.0C857.0 377.0 856.1 375.5 855.5 373.0C854.9 370.5 854.4 367.0 854.9 364.0C855.4 361.0 857.0 357.5 858.5 355.0C860.0 352.5 861.1 350.9 864.0 348.8C866.9 346.7 872.0 343.7 876.0 342.4C880.0 341.1 884.0 340.7 888.0 341.0C892.0 341.2 896.2 342.0 900.0 343.8C903.8 345.7 908.2 349.1 910.8 352.0C913.4 354.9 914.5 358.5 915.4 361.0C916.2 363.5 916.1 365.0 915.9 367.0C915.8 369.0 916.0 370.5 914.7 373.0C913.4 375.5 911.3 379.4 908.4 382.0C905.4 384.6 900.9 387.0 897.0 388.3ZM423.0 730.2C418.6 730.7 414.5 730.4 411.0 730.1C407.5 729.8 405.1 729.3 402.0 728.3C398.9 727.3 395.0 725.7 392.2 724.0C389.4 722.3 387.0 720.0 385.1 718.0C383.3 716.0 382.3 714.5 381.3 712.0C380.4 709.5 379.5 706.0 379.3 703.0C379.2 700.0 379.8 696.9 380.5 694.0C381.3 691.1 382.4 688.6 384.0 685.9C385.6 683.1 387.5 680.3 390.0 677.4C392.5 674.6 396.0 671.4 399.0 669.0C402.0 666.6 404.5 665.0 408.0 663.1C411.5 661.2 416.0 659.2 420.0 657.8C424.0 656.5 428.0 655.5 432.0 655.0C436.0 654.4 440.5 654.3 444.0 654.5C447.5 654.6 450.0 655.0 453.0 655.9C456.0 656.7 459.0 657.6 462.0 659.4C465.0 661.3 468.7 664.2 470.8 667.0C473.0 669.8 474.4 672.5 475.1 676.0C475.9 679.5 476.1 684.0 475.4 688.0C474.7 692.0 473.3 696.0 471.1 700.0C468.8 704.0 465.4 708.5 461.9 712.0C458.5 715.5 454.4 718.5 450.4 721.0C446.3 723.5 442.1 725.5 437.5 727.0C433.0 728.5 427.4 729.6 423.0 730.2Z' fill='none' stroke='%23B9D4B0' stroke-opacity='.14' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:1100px auto;background-position:center;opacity:var(--gb,1)}

/* ===== "Four services, one standard": a centred title moment ===== */
@media (min-width:601px){
  #services .sec-head{display:block;position:relative;z-index:0;text-align:center;will-change:transform,filter,opacity}
  #services .sec-head .eyebrow{justify-content:center;margin-bottom:1.35rem}
  #services .sec-head h2{max-width:none;margin:0 auto}
  #services .sec-head>p{max-width:46ch;text-wrap:balance;margin:1.5rem auto 0}
}

/* ===== Two services: layouts that were sized for four ===== */
.svc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.svc-grid--2{grid-template-columns:none}}

/* ===== Explore our services: green section, two large cards side by side ===== */
#services.svc-explore{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:var(--on-deep);padding-block:clamp(4.5rem,9vw,8rem) clamp(3.5rem,7vw,6rem)}
#services.svc-explore::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M803.6 -2.0C806.1 -2.7 813.4 -4.4 819.0 -6.4C824.6 -8.4 827.0 -8.7 837.0 -13.9C847.0 -19.1 872.0 -33.7 879.0 -37.6M761.0 -38.0C760.9 -36.5 760.1 -32.0 760.2 -29.0C760.2 -26.0 760.6 -22.5 761.1 -20.0C761.7 -17.5 762.2 -16.0 763.3 -14.0C764.5 -12.0 766.2 -9.4 768.0 -7.7C769.8 -6.0 771.5 -4.8 774.0 -3.6C776.5 -2.5 780.0 -1.5 783.0 -0.9C786.0 -0.4 788.6 -0.3 792.0 -0.5C795.4 -0.7 801.6 -1.8 803.6 -2.0M489.4 322.0C494.4 320.6 501.6 318.3 507.0 315.4C512.4 312.5 517.7 308.5 522.0 304.6C526.3 300.7 529.6 296.7 532.6 292.0C535.6 287.3 538.3 281.9 540.0 276.4C541.7 270.9 542.6 264.4 542.8 259.0C542.9 253.6 542.5 249.4 541.0 244.0C539.6 238.6 537.0 231.8 534.0 226.3C531.0 220.8 527.5 216.1 523.1 211.0C518.6 205.9 513.6 201.0 507.3 196.0C501.0 191.0 493.4 185.7 485.3 181.0C477.3 176.3 468.2 171.7 459.0 167.7C449.8 163.7 439.5 159.9 430.0 157.0C420.5 154.1 410.7 151.7 402.0 150.3C393.3 148.8 385.0 148.1 378.0 148.2C371.0 148.2 365.0 149.2 360.0 150.6C355.0 152.1 350.8 154.6 347.8 157.0C344.8 159.4 343.4 161.8 342.0 164.8C340.6 167.8 339.8 171.3 339.6 175.0C339.4 178.7 339.8 182.7 340.7 187.0C341.6 191.3 342.8 195.4 345.0 200.8C347.2 206.3 350.7 213.4 354.0 219.6C357.3 225.8 360.5 231.1 365.0 238.0C369.5 244.9 375.8 254.0 381.0 261.0C386.2 268.0 389.5 272.7 396.0 279.8C402.5 286.8 412.5 297.2 420.0 303.4C427.5 309.5 435.5 313.6 441.0 316.6C446.5 319.5 449.0 319.9 453.0 321.0C457.0 322.2 461.0 323.0 465.0 323.4C469.0 323.9 472.9 324.0 477.0 323.8C481.1 323.5 484.4 323.4 489.4 322.0ZM121.5 505.0C126.5 503.7 133.3 501.4 138.0 499.3C142.7 497.2 146.3 495.1 150.0 492.5C153.7 490.0 157.1 487.4 160.4 484.0C163.6 480.6 167.3 476.0 169.7 472.0C172.1 468.0 173.6 464.0 174.6 460.0C175.6 456.0 175.9 452.0 175.7 448.0C175.4 444.0 174.5 440.0 173.0 436.0C171.4 432.0 169.3 428.0 166.3 424.0C163.4 420.0 160.0 416.1 155.3 412.0C150.6 407.9 144.4 403.2 138.0 399.3C131.6 395.3 124.0 391.4 117.0 388.4C110.0 385.3 103.0 382.8 96.0 380.9C89.0 378.9 81.5 377.3 75.0 376.5C68.5 375.7 62.5 375.6 57.0 376.0C51.5 376.5 46.5 377.5 42.0 379.1C37.5 380.6 33.3 383.0 30.0 385.5C26.7 388.0 24.1 391.1 22.0 394.0C19.8 396.9 18.5 399.5 17.1 403.0C15.8 406.5 14.6 411.0 13.9 415.0C13.2 419.0 12.9 422.5 13.1 427.0C13.2 431.5 13.8 437.5 14.7 442.0C15.5 446.5 16.5 450.0 18.0 454.0C19.5 458.0 21.4 462.3 23.4 466.0C25.4 469.7 27.4 472.7 30.0 476.0C32.6 479.3 36.0 482.9 39.0 485.7C42.0 488.6 43.0 489.9 48.0 492.8C53.0 495.7 63.5 500.8 69.0 503.0C74.5 505.2 76.5 505.3 81.0 506.1C85.5 506.8 91.5 507.4 96.0 507.6C100.5 507.8 103.7 507.7 108.0 507.3C112.3 506.8 116.5 506.3 121.5 505.0ZM1239.0 380.3C1237.0 381.5 1230.3 385.2 1227.1 388.0C1223.9 390.8 1222.0 393.5 1220.0 397.0C1218.1 400.5 1216.3 404.5 1215.1 409.0C1214.0 413.5 1213.2 418.5 1213.1 424.0C1213.0 429.5 1213.7 436.5 1214.7 442.0C1215.7 447.5 1217.1 452.0 1219.2 457.0C1221.2 462.0 1224.0 467.3 1227.0 471.8C1230.0 476.3 1235.5 482.0 1237.1 484.0M797.7 799.0C802.7 798.7 805.5 797.7 810.0 796.4C814.5 795.2 817.0 794.9 825.0 791.3C833.0 787.7 845.4 782.3 858.0 775.1C870.6 767.8 886.9 757.5 900.4 748.0C913.8 738.5 928.8 726.5 938.6 718.0C948.5 709.5 954.5 702.5 959.5 697.0C964.5 691.5 966.2 688.5 968.5 685.0C970.8 681.5 972.0 680.0 973.4 676.0C974.8 672.0 976.7 665.0 977.1 661.0C977.4 657.0 976.3 654.5 975.5 652.0C974.6 649.5 974.5 648.5 972.0 646.0C969.5 643.5 965.0 639.4 960.5 637.0C956.0 634.6 951.1 633.0 945.0 631.8C938.9 630.5 931.5 629.7 924.0 629.6C916.5 629.6 907.8 630.3 900.0 631.5C892.2 632.7 884.6 634.6 877.1 637.0C869.6 639.4 861.7 642.7 855.0 645.9C848.3 649.1 843.0 652.3 837.0 656.3C831.0 660.3 825.5 664.2 819.1 670.0C812.7 675.8 804.9 683.5 798.6 691.0C792.2 698.5 786.1 707.0 781.0 715.0C776.0 723.0 771.6 731.0 768.2 739.0C764.8 747.0 762.2 757.5 760.8 763.0C759.5 768.5 760.1 769.0 760.2 772.0C760.3 775.0 760.8 778.5 761.4 781.0C762.0 783.5 762.8 785.1 763.9 787.0C765.0 788.9 766.4 790.8 768.0 792.3C769.6 793.8 771.3 795.0 773.3 796.0C775.3 797.0 775.9 798.0 780.0 798.5C784.1 799.0 792.7 799.3 797.7 799.0ZM765.9 64.0C768.3 63.3 775.2 61.6 780.0 59.9C784.8 58.2 787.5 57.6 795.0 53.8C802.5 50.0 814.0 44.1 825.0 37.3C836.0 30.4 843.5 25.3 861.0 12.8C878.5 0.2 918.3 -29.5 929.7 -38.0M704.9 -38.0C703.4 -34.0 698.1 -21.5 695.8 -14.0C693.6 -6.5 692.1 0.0 691.5 7.0C690.9 14.0 691.1 22.0 692.2 28.0C693.2 34.0 695.0 38.5 697.6 43.0C700.2 47.5 704.8 52.3 708.0 55.2C711.2 58.2 714.1 59.4 717.0 60.9C719.9 62.3 720.8 63.1 725.3 64.0C729.8 64.9 737.2 66.6 744.0 66.6C750.8 66.6 762.3 64.4 765.9 64.0M486.2 373.0C491.2 372.0 496.4 370.5 501.0 369.0C505.6 367.5 509.1 366.1 513.6 364.0C518.1 361.9 523.6 359.0 528.0 356.3C532.4 353.6 534.5 352.7 540.0 347.9C545.5 343.1 556.0 333.0 561.0 327.5C566.0 322.1 567.2 319.8 570.0 315.3C572.8 310.9 575.9 305.4 578.1 301.0C580.2 296.6 581.5 293.5 583.0 289.0C584.5 284.5 586.1 279.0 587.1 274.0C588.1 269.0 588.6 263.5 588.9 259.0C589.2 254.5 589.0 251.0 588.7 247.0C588.3 243.0 587.8 239.0 586.9 235.0C586.0 231.0 584.9 227.0 583.4 223.0C581.9 219.0 580.2 215.0 578.0 211.0C575.8 207.0 573.1 202.8 570.3 199.0C567.5 195.2 564.4 191.7 561.0 188.2C557.6 184.7 556.1 182.7 549.6 178.0C543.1 173.3 533.1 166.0 521.8 160.0C510.5 154.0 496.3 147.6 481.8 142.0C467.4 136.4 450.3 130.8 435.0 126.4C419.7 122.0 403.5 118.1 390.0 115.7C376.5 113.2 362.5 112.1 354.0 111.4C345.5 110.7 344.0 111.2 339.0 111.5C334.0 111.9 328.5 112.6 324.0 113.5C319.5 114.5 315.5 115.8 312.0 117.3C308.5 118.7 306.0 119.9 303.0 122.4C300.0 124.9 296.2 128.7 294.0 132.4C291.8 136.2 290.5 140.4 289.9 145.0C289.3 149.6 289.4 154.5 290.2 160.0C291.1 165.5 291.4 169.0 295.0 178.0C298.6 187.0 299.7 191.2 312.0 214.3C324.3 237.4 357.5 296.4 369.0 316.6C380.5 336.8 377.5 330.6 381.0 335.7C384.5 340.7 386.5 343.1 390.0 346.8C393.5 350.4 398.0 354.6 402.0 357.6C406.0 360.7 410.0 363.0 414.0 365.1C418.0 367.1 421.2 368.5 425.7 370.0C430.2 371.5 436.0 373.0 441.0 373.9C446.0 374.8 451.0 375.3 456.0 375.5C461.0 375.7 466.0 375.6 471.0 375.2C476.0 374.8 481.2 374.0 486.2 373.0ZM117.1 562.0C125.1 560.7 134.9 558.9 144.0 555.9C153.1 552.9 162.8 548.9 171.8 544.0C180.8 539.1 189.8 533.2 198.0 526.7C206.2 520.2 214.3 512.6 221.1 505.0C228.0 497.4 234.5 488.5 239.0 481.0C243.6 473.5 246.6 465.5 248.5 460.0C250.5 454.5 250.5 451.5 250.9 448.0C251.3 444.5 251.2 442.0 250.9 439.0C250.6 436.0 250.0 433.0 249.0 430.0C248.0 427.0 246.8 424.0 245.0 421.0C243.3 418.0 241.2 415.0 238.6 412.0C236.0 409.0 235.4 407.5 229.4 403.0C223.5 398.5 213.4 391.0 202.9 385.0C192.4 379.0 180.3 373.0 166.2 367.0C152.1 361.0 133.2 353.8 118.5 349.0C103.8 344.2 90.2 340.7 78.0 338.1C65.8 335.5 55.0 334.1 45.0 333.5C35.0 332.9 24.5 333.9 18.0 334.6C11.5 335.3 9.5 336.5 6.0 337.7C2.5 338.8 0.5 339.4 -3.0 341.7C-6.5 344.0 -11.5 347.4 -15.0 351.2C-18.5 355.0 -21.5 359.3 -24.0 364.5C-26.5 369.6 -28.6 375.1 -30.2 382.0C-31.9 388.9 -33.3 397.0 -34.0 406.0C-34.8 415.0 -35.1 426.0 -34.7 436.0C-34.4 446.0 -33.4 456.5 -31.9 466.0C-30.5 475.5 -28.4 485.0 -26.0 493.0C-23.5 501.0 -20.2 508.4 -17.4 514.0C-14.5 519.6 -12.3 522.6 -9.0 526.6C-5.7 530.6 -1.7 534.6 2.5 538.0C6.7 541.4 11.2 544.3 16.3 547.0C21.4 549.7 26.7 552.0 33.0 554.2C39.3 556.3 47.0 558.4 54.0 559.9C61.0 561.3 68.0 562.3 75.0 562.9C82.0 563.6 89.0 563.8 96.0 563.7C103.0 563.5 109.1 563.3 117.1 562.0ZM1239.0 333.3C1236.0 333.4 1226.5 333.4 1221.0 334.2C1215.5 334.9 1210.5 336.1 1206.0 337.7C1201.5 339.2 1198.0 340.7 1194.0 343.5C1190.0 346.4 1185.2 350.8 1182.0 354.7C1178.8 358.6 1176.9 362.5 1174.8 367.0C1172.8 371.5 1171.2 376.0 1169.8 382.0C1168.3 388.0 1167.0 395.5 1166.2 403.0C1165.5 410.5 1165.1 418.5 1165.1 427.0C1165.2 435.5 1165.7 445.5 1166.5 454.0C1167.4 462.5 1168.6 470.5 1170.2 478.0C1171.8 485.5 1173.7 492.5 1176.0 499.0C1178.4 505.5 1181.3 511.8 1184.3 517.0C1187.3 522.2 1190.4 526.1 1194.0 530.1C1197.6 534.0 1201.5 537.4 1206.0 540.7C1210.5 543.9 1215.6 546.8 1221.0 549.3C1226.4 551.9 1235.6 554.9 1238.6 556.0M825.0 837.3C832.5 832.1 848.8 821.6 870.0 806.3C891.2 790.9 932.2 760.2 952.0 745.0C971.9 729.8 978.2 724.5 989.1 715.0C1000.0 705.5 1009.7 696.5 1017.6 688.0C1025.5 679.5 1032.3 670.0 1036.4 664.0C1040.6 658.0 1041.2 655.5 1042.7 652.0C1044.2 648.5 1044.9 646.0 1045.5 643.0C1046.1 640.0 1046.4 637.0 1046.3 634.0C1046.1 631.0 1045.3 627.5 1044.4 625.0C1043.5 622.5 1042.6 621.0 1041.2 619.0C1039.7 617.0 1039.2 615.6 1035.7 613.0C1032.2 610.4 1027.1 606.4 1020.0 603.6C1012.9 600.8 1003.0 597.8 993.0 595.9C983.0 594.1 971.5 592.9 960.0 592.4C948.5 591.9 935.5 592.2 924.0 593.0C912.5 593.9 901.5 595.4 891.0 597.3C880.5 599.2 871.0 601.4 861.0 604.6C851.0 607.7 840.2 611.8 831.2 616.0C822.2 620.2 815.0 624.2 807.0 629.7C799.0 635.1 790.8 641.5 783.0 648.7C775.2 655.9 768.2 663.5 760.5 673.0C752.7 682.5 744.0 694.5 736.4 706.0C728.8 717.5 720.8 731.0 714.8 742.0C708.9 753.0 704.3 763.0 700.7 772.0C697.1 781.0 694.8 790.0 693.3 796.0C691.7 802.0 691.7 804.0 691.4 808.0C691.0 812.0 690.5 815.0 691.2 820.0C691.8 825.0 694.5 835.0 695.1 838.0M694.2 130.0C699.0 129.5 713.2 128.5 723.0 126.8C732.8 125.1 744.0 122.4 753.0 119.8C762.0 117.1 769.0 114.4 777.0 110.8C785.0 107.2 792.0 103.8 801.0 98.1C810.0 92.4 813.4 91.0 831.0 76.4C848.6 61.7 884.1 28.9 906.6 10.0C929.1 -8.9 956.1 -29.3 966.0 -37.1M662.6 -38.0C659.5 -31.5 649.0 -11.5 643.9 1.0C638.8 13.5 634.6 28.0 632.0 37.0C629.5 46.0 629.4 49.0 628.6 55.0C627.7 61.0 627.2 67.5 626.9 73.0C626.6 78.5 626.6 83.0 626.9 88.0C627.2 93.0 627.9 99.0 628.6 103.0C629.3 107.0 630.1 109.5 631.1 112.0C632.0 114.5 632.8 116.2 634.1 118.0C635.4 119.8 637.2 121.7 639.0 123.0C640.8 124.4 640.5 125.0 645.0 126.1C649.5 127.3 657.8 129.3 666.0 130.0C674.2 130.6 689.5 130.0 694.2 130.0M-39.0 617.1C-36.5 616.6 -30.0 614.6 -24.0 613.8C-18.0 612.9 -19.0 611.9 -3.0 611.8C13.0 611.6 54.5 612.8 72.0 612.8C89.5 612.8 92.5 612.5 102.0 611.7C111.5 610.8 120.0 609.7 129.0 607.6C138.0 605.6 148.6 602.2 156.0 599.6C163.4 597.0 167.6 594.7 173.1 592.0C178.6 589.3 180.7 588.8 189.0 583.3C197.3 577.8 211.4 568.5 223.2 559.0C235.1 549.5 243.4 542.2 260.2 526.0C277.0 509.8 310.9 474.5 324.0 461.8C337.1 449.0 334.5 452.8 339.0 449.5C343.5 446.3 346.5 444.4 351.0 442.2C355.5 439.9 361.0 437.6 366.0 435.9C371.0 434.3 366.5 434.1 381.0 432.2C395.5 430.3 435.5 426.7 453.0 424.3C470.5 421.9 475.5 420.7 486.0 417.8C496.5 415.0 506.5 411.6 516.0 407.4C525.5 403.2 534.5 398.2 543.0 392.5C551.5 386.8 559.5 380.4 567.0 373.4C574.5 366.4 581.5 358.7 588.0 350.4C594.5 342.1 600.7 332.9 606.0 323.7C611.3 314.4 615.8 304.8 619.5 295.0C623.2 285.2 626.2 275.0 628.3 265.0C630.4 255.0 631.6 245.5 632.2 235.0C632.8 224.5 632.6 213.1 631.8 202.0C630.9 190.9 628.5 176.3 627.0 168.3C625.5 160.3 624.5 157.9 623.0 154.0C621.5 150.1 620.3 147.5 618.0 144.8C615.7 142.1 612.9 139.8 609.0 137.8C605.1 135.9 627.4 140.3 594.5 133.0C561.7 125.7 449.0 101.7 412.0 94.0C374.9 86.3 386.2 88.6 372.0 86.6C357.8 84.6 337.5 82.7 327.0 82.0C316.5 81.2 315.0 81.8 309.0 82.2C303.0 82.7 297.1 83.2 291.0 84.6C284.9 86.1 277.0 89.0 272.5 91.0C268.0 93.0 266.4 94.6 264.0 96.5C261.6 98.4 260.2 99.3 258.0 102.4C255.8 105.4 252.5 111.4 251.0 115.0C249.5 118.6 249.4 121.0 249.0 124.0C248.6 127.0 248.2 128.5 248.6 133.0C249.0 137.5 249.9 145.0 251.4 151.0C252.9 157.0 249.8 152.5 257.3 169.0C264.8 185.5 288.7 233.5 296.4 250.0C304.1 266.5 301.5 262.0 303.6 268.0C305.7 274.0 307.6 280.0 309.0 286.0C310.3 292.0 311.5 298.0 311.8 304.0C312.1 310.0 312.0 316.6 311.0 322.0C310.0 327.4 308.3 332.1 306.0 336.1C303.7 340.2 300.0 343.8 297.0 346.3C294.0 348.8 291.5 349.8 288.0 351.1C284.5 352.3 280.5 353.3 276.0 353.8C271.5 354.4 267.0 354.6 261.0 354.3C255.0 354.0 250.0 353.8 240.0 351.9C230.0 350.1 226.0 349.8 201.0 343.4C176.0 336.9 114.0 319.2 90.0 313.0C66.0 306.8 67.0 307.8 57.0 306.0C47.0 304.1 38.0 302.9 30.0 302.0C22.0 301.2 15.5 300.8 9.0 300.8C2.5 300.7 -3.5 301.0 -9.0 301.7C-14.5 302.4 -19.5 303.4 -24.0 304.8C-28.5 306.2 -34.2 309.1 -36.3 310.0M876.0 836.6C885.2 828.9 902.8 812.3 931.0 790.0C959.2 767.7 1013.8 727.8 1045.2 703.0C1076.5 678.2 1103.7 653.7 1119.0 641.2C1134.3 628.7 1131.0 631.8 1137.0 628.2C1143.0 624.5 1148.5 621.6 1155.0 619.2C1161.5 616.8 1168.5 615.0 1176.0 613.8C1183.5 612.5 1189.5 611.9 1200.0 611.7C1210.5 611.4 1232.5 612.0 1239.0 612.1M1239.0 303.1C1233.5 302.7 1214.0 301.0 1206.0 300.8C1198.0 300.6 1195.5 301.2 1191.0 301.7C1186.5 302.2 1183.0 302.8 1179.0 303.9C1175.0 305.0 1170.3 306.8 1167.0 308.3C1163.7 309.8 1161.6 311.1 1159.1 313.0C1156.6 314.9 1154.2 317.0 1152.0 319.5C1149.8 322.0 1148.0 324.1 1145.9 328.0C1143.9 331.9 1141.5 336.5 1139.6 343.0C1137.7 349.5 1136.7 346.5 1134.6 367.0C1132.5 387.5 1129.0 444.0 1127.0 466.0C1124.9 488.0 1124.3 489.5 1122.2 499.0C1120.1 508.5 1116.6 517.5 1114.4 523.0C1112.3 528.5 1111.5 528.9 1109.3 532.0C1107.1 535.1 1103.9 538.9 1101.0 541.5C1098.1 544.2 1095.0 546.1 1092.0 547.9C1089.0 549.7 1088.5 550.4 1083.0 552.0C1077.5 553.7 1067.5 556.3 1059.0 557.6C1050.5 559.0 1053.0 558.9 1032.0 560.0C1011.0 561.2 955.0 563.3 933.0 564.7C911.0 566.0 911.0 566.7 900.0 568.2C889.0 569.7 876.9 571.7 867.0 573.6C857.1 575.6 848.3 577.8 840.3 580.0C832.3 582.2 826.1 584.2 819.0 586.8C811.9 589.5 804.5 592.6 798.0 595.8C791.5 599.0 786.0 602.0 780.0 605.9C774.0 609.8 768.0 614.1 762.0 619.2C756.0 624.4 749.9 630.3 743.9 637.0C737.9 643.7 732.5 650.5 726.0 659.5C719.5 668.5 713.5 677.3 705.0 690.8C696.5 704.2 683.4 725.4 675.0 740.0C666.6 754.5 660.0 766.7 654.3 778.0C648.7 789.3 644.8 798.0 641.1 808.0C637.3 818.0 633.3 833.0 631.8 838.0M624.0 -36.3C618.0 -26.6 597.0 8.1 588.0 21.8C579.0 35.6 576.0 39.5 570.0 46.2C564.0 53.0 557.0 58.6 552.0 62.4C547.0 66.2 544.0 67.2 540.0 69.0C536.0 70.9 534.5 71.9 528.0 73.3C521.5 74.7 511.5 77.0 501.0 77.5C490.5 78.1 477.0 77.6 465.0 76.7C453.0 75.9 450.5 75.6 429.0 72.4C407.5 69.3 359.0 60.8 336.0 57.8C313.0 54.8 301.5 54.9 291.0 54.5C280.5 54.1 279.0 54.6 273.0 55.3C267.0 55.9 260.5 56.9 255.0 58.2C249.5 59.6 244.5 61.4 240.0 63.6C235.5 65.7 231.6 68.2 228.0 71.2C224.4 74.3 221.0 78.2 218.5 82.0C216.0 85.8 214.4 89.5 213.1 94.0C211.8 98.5 210.9 103.5 210.7 109.0C210.6 114.5 211.3 121.5 212.2 127.0C213.0 132.5 214.1 136.5 215.8 142.0C217.5 147.5 215.9 145.0 222.2 160.0C228.6 175.0 247.8 217.0 254.0 232.0C260.2 247.0 258.1 244.5 259.4 250.0C260.6 255.5 261.2 260.5 261.4 265.0C261.6 269.5 261.5 273.0 260.6 277.0C259.7 281.0 257.9 285.7 256.0 289.0C254.1 292.3 251.7 294.8 249.0 297.0C246.3 299.3 243.5 301.0 240.0 302.6C236.5 304.2 232.0 305.5 228.0 306.5C224.0 307.4 223.5 308.0 216.0 308.1C208.5 308.2 194.5 308.1 183.0 306.9C171.5 305.7 173.0 306.2 147.0 301.0C121.0 295.9 53.0 281.0 27.0 276.1C1.0 271.2 2.0 272.5 -9.0 271.7C-20.0 270.9 -34.0 271.5 -39.0 271.5M-36.7 670.0C-32.6 669.0 -20.1 665.4 -12.0 663.8C-3.9 662.3 -5.0 661.4 12.0 660.6C29.0 659.8 73.0 659.6 90.0 659.1C107.0 658.6 106.5 658.3 114.0 657.4C121.5 656.5 128.0 655.4 135.0 653.6C142.0 651.9 148.5 650.0 156.0 646.9C163.5 643.8 171.5 640.2 180.0 635.2C188.5 630.3 198.0 623.9 207.0 617.3C216.0 610.8 216.5 610.6 234.0 595.7C251.5 580.8 295.0 542.3 312.0 528.1C329.0 513.9 328.5 515.4 336.0 510.4C343.5 505.3 350.0 501.3 357.0 497.5C364.0 493.7 370.5 490.5 378.0 487.5C385.5 484.4 384.5 483.5 402.0 479.0C419.5 474.4 465.0 464.8 483.0 460.3C501.0 455.9 501.5 455.4 510.0 452.5C518.5 449.5 526.4 446.3 534.0 442.6C541.6 438.8 549.3 434.3 555.8 430.0C562.3 425.7 567.1 421.9 573.0 416.8C578.9 411.7 585.2 405.7 591.0 399.4C596.8 393.1 602.5 386.2 608.0 379.0C613.5 371.8 619.2 363.5 624.0 356.0C628.8 348.5 632.8 341.7 637.0 334.0C641.1 326.3 641.4 327.5 649.0 310.0C656.5 292.5 675.2 245.0 682.2 229.0C689.2 213.0 687.9 218.5 691.0 214.0C694.1 209.5 697.5 205.5 700.8 202.0C704.2 198.5 706.8 196.1 711.0 192.9C715.2 189.7 711.5 190.4 726.0 182.9C740.5 175.5 783.0 156.0 798.0 148.5C813.0 141.0 810.5 141.5 816.0 138.0C821.5 134.4 825.0 132.3 831.0 127.2C837.0 122.2 841.1 119.7 852.0 107.7C862.9 95.6 884.3 68.8 896.5 55.0C908.7 41.2 914.7 35.0 925.1 25.0C935.5 15.0 946.1 5.5 958.9 -5.0C971.7 -15.5 994.8 -32.5 1002.0 -38.0M1239.0 278.2C1231.5 277.1 1207.5 273.0 1194.0 272.0C1180.5 270.9 1166.3 271.4 1158.0 271.7C1149.7 272.1 1148.0 273.1 1144.0 274.0C1140.0 274.9 1137.4 275.7 1134.0 277.2C1130.6 278.7 1126.8 280.7 1123.8 283.0C1120.8 285.3 1118.4 287.4 1116.0 290.9C1113.6 294.4 1110.9 299.3 1109.2 304.0C1107.5 308.7 1107.2 301.0 1105.7 319.0C1104.2 337.0 1101.7 392.5 1100.2 412.0C1098.7 431.5 1098.2 428.5 1096.9 436.0C1095.5 443.5 1093.9 450.5 1092.0 457.0C1090.1 463.5 1088.0 469.5 1085.4 475.0C1082.9 480.5 1080.1 485.5 1077.0 490.0C1073.9 494.5 1070.7 498.2 1066.7 502.0C1062.8 505.8 1059.3 509.0 1053.0 512.6C1046.7 516.3 1038.0 520.6 1029.0 523.7C1020.0 526.8 1026.0 527.2 999.0 531.2C972.0 535.3 898.6 543.4 867.0 548.0C835.4 552.6 822.7 556.0 809.2 559.0C795.7 562.0 793.3 563.4 786.0 565.9C778.7 568.4 771.8 571.1 765.7 574.0C759.5 576.9 754.6 579.5 749.1 583.0C743.6 586.5 738.1 590.3 732.8 595.0C727.4 599.7 722.1 605.0 717.0 611.0C711.9 617.1 714.4 611.2 702.0 631.5C689.6 651.9 660.8 702.8 642.8 733.0C624.8 763.2 605.0 795.0 594.0 812.5C583.0 830.0 579.6 833.7 576.7 838.0M912.1 838.0C917.9 832.5 933.5 816.6 947.0 805.0C960.5 793.4 975.8 781.2 993.0 768.5C1010.2 755.9 1031.0 741.6 1050.0 729.3C1069.0 717.0 1092.0 703.2 1107.0 694.8C1122.0 686.4 1129.5 683.1 1140.0 678.6C1150.5 674.1 1159.5 670.8 1170.0 668.0C1180.5 665.2 1191.5 663.0 1203.0 661.5C1214.5 660.1 1233.0 659.7 1239.0 659.3M589.4 -38.0C584.7 -31.9 569.7 -11.5 561.0 -1.5C552.3 8.4 543.0 16.4 537.0 21.7C531.0 27.0 529.1 27.6 525.0 30.2C520.9 32.7 516.7 35.0 512.2 37.0C507.7 39.0 502.9 40.9 498.0 42.3C493.1 43.8 490.5 44.9 483.0 45.9C475.5 47.0 464.0 48.4 453.0 48.6C442.0 48.8 429.0 47.9 417.0 46.9C405.0 45.8 402.0 45.5 381.0 42.2C360.0 39.0 312.5 30.5 291.0 27.4C269.5 24.2 261.5 24.1 252.0 23.6C242.5 23.0 239.5 23.4 234.0 23.8C228.5 24.2 224.0 24.7 219.0 25.9C214.0 27.1 208.1 29.1 204.0 31.0C199.9 32.8 197.3 34.5 194.2 37.0C191.0 39.5 187.8 42.5 185.1 46.0C182.4 49.5 180.0 53.5 178.0 58.0C176.1 62.5 174.5 68.0 173.5 73.0C172.6 78.0 172.2 82.5 172.3 88.0C172.3 93.5 172.7 99.5 173.8 106.0C174.9 112.5 176.7 120.0 178.8 127.0C180.8 134.0 181.2 135.5 186.1 148.0C191.1 160.5 203.4 188.5 208.3 202.0C213.1 215.5 214.0 222.5 215.1 229.0C216.3 235.5 215.8 237.0 215.3 241.0C214.7 245.0 213.6 249.5 211.8 253.0C210.1 256.5 207.6 259.5 204.8 262.0C202.0 264.5 198.6 266.4 195.0 268.0C191.4 269.6 187.0 270.8 183.0 271.6C179.0 272.5 179.0 273.1 171.0 273.2C163.0 273.2 147.5 273.1 135.0 272.0C122.5 270.8 118.5 270.1 96.0 266.1C73.5 262.1 22.5 252.0 0.0 248.0C-22.5 244.1 -32.5 243.4 -39.0 242.4M-39.0 706.8C-34.5 706.0 -21.5 703.2 -12.0 702.2C-2.5 701.2 8.5 700.8 18.0 700.8C27.5 700.8 32.0 701.1 45.0 702.2C58.0 703.4 84.0 706.8 96.0 707.8C108.0 708.9 110.0 708.8 117.0 708.6C124.0 708.4 131.5 707.7 138.0 706.4C144.5 705.2 150.0 703.5 156.0 701.1C162.0 698.7 167.5 696.0 174.0 691.9C180.5 687.9 188.0 682.4 195.0 676.8C202.0 671.2 203.1 670.5 216.0 658.4C228.9 646.2 258.1 617.3 272.1 604.0C286.1 590.7 290.4 586.8 300.0 578.7C309.6 570.5 320.0 562.1 330.0 555.0C340.0 547.9 350.5 541.3 360.0 536.0C369.5 530.7 377.5 527.0 387.0 523.2C396.5 519.3 407.0 515.9 417.0 513.0C427.0 510.1 431.0 509.1 447.0 505.8C463.0 502.5 497.5 496.5 513.0 493.2C528.5 490.0 531.5 489.0 540.0 486.3C548.5 483.6 557.0 480.3 564.0 477.0C571.0 473.7 577.0 469.9 582.0 466.5C587.0 463.2 590.0 460.6 594.0 457.0C598.0 453.4 600.2 451.8 605.7 445.0C611.2 438.2 618.7 429.0 627.0 416.0C635.3 403.0 642.7 390.7 655.4 367.0C668.1 343.3 693.3 292.5 703.1 274.0C712.9 255.5 710.4 261.5 714.2 256.0C718.1 250.5 721.5 245.9 726.0 240.9C730.5 235.9 735.3 230.9 741.3 226.0C747.3 221.1 754.5 215.9 762.0 211.3C769.5 206.6 772.0 205.2 786.0 198.2C800.0 191.3 833.3 176.2 846.0 169.8C858.7 163.4 857.6 163.1 862.1 160.0C866.6 156.9 868.6 155.8 873.0 151.3C877.4 146.8 880.6 146.1 888.5 133.0C896.4 119.9 913.1 86.0 920.4 73.0C927.8 60.0 928.6 60.5 932.6 55.0C936.6 49.5 939.3 46.0 944.6 40.0C950.0 34.0 957.9 25.5 964.7 19.0C971.4 12.5 977.2 7.4 984.9 1.0C992.6 -5.4 1002.1 -12.8 1011.0 -19.2C1019.9 -25.6 1033.5 -34.4 1038.0 -37.4M1239.0 255.2C1228.5 253.4 1193.5 246.8 1176.0 244.3C1158.5 241.8 1144.0 241.1 1134.0 240.5C1124.0 239.8 1121.5 240.3 1116.0 240.7C1110.5 241.0 1105.5 241.6 1101.0 242.5C1096.5 243.4 1092.5 244.6 1089.0 246.0C1085.5 247.4 1082.4 249.4 1080.0 251.1C1077.6 252.7 1076.4 254.1 1074.9 256.0C1073.4 257.9 1072.1 259.7 1071.0 262.2C1069.9 264.7 1068.8 268.0 1068.2 271.0C1067.5 274.0 1067.3 276.0 1067.1 280.0C1067.0 284.0 1066.4 281.0 1067.5 295.0C1068.6 309.0 1072.8 348.5 1073.9 364.0C1074.9 379.5 1074.1 380.0 1073.6 388.0C1073.1 396.0 1072.0 405.0 1070.9 412.0C1069.8 419.0 1068.6 424.0 1066.9 430.0C1065.1 436.0 1062.8 442.5 1060.3 448.0C1057.9 453.5 1055.0 458.5 1052.0 463.0C1049.0 467.5 1045.7 471.5 1042.3 475.0C1039.0 478.5 1036.2 481.1 1032.0 484.3C1027.8 487.4 1022.5 490.9 1017.0 493.8C1011.5 496.7 1005.5 499.3 999.0 501.7C992.5 504.0 989.5 505.5 978.0 508.0C966.5 510.5 957.5 513.1 930.0 516.7C902.5 520.3 839.5 526.4 813.0 529.5C786.5 532.7 781.5 533.9 771.0 535.7C760.5 537.5 756.5 538.7 750.0 540.4C743.5 542.0 737.5 543.9 732.0 545.9C726.5 547.9 721.4 550.1 717.0 552.3C712.6 554.5 710.2 555.6 705.7 559.0C701.2 562.4 694.6 567.7 690.0 572.9C685.4 578.0 681.5 583.9 678.0 589.7C674.5 595.4 673.9 596.2 669.0 607.6C664.1 619.0 654.2 644.6 648.4 658.0C642.7 671.4 639.8 677.5 634.5 688.0C629.1 698.5 623.1 709.5 616.2 721.0C609.3 732.5 600.5 746.0 592.9 757.0C585.3 768.0 577.5 778.5 570.7 787.0C563.8 795.5 558.1 802.0 552.0 808.2C545.9 814.3 540.5 819.3 534.0 824.0C527.5 828.8 516.5 834.5 513.0 836.7M345.0 836.2C335.0 834.6 301.5 828.7 285.0 826.5C268.5 824.4 255.0 823.9 246.0 823.4C237.0 823.0 236.0 823.5 231.0 824.1C226.0 824.6 220.5 825.5 216.0 826.6C211.5 827.8 207.5 829.3 204.0 831.0C200.5 832.6 196.5 835.5 195.0 836.4M948.0 836.2C952.8 831.5 965.5 817.7 976.7 808.0C987.8 798.3 1001.3 787.7 1015.0 778.0C1028.7 768.3 1044.7 758.1 1059.0 749.8C1073.3 741.4 1088.0 733.9 1101.0 727.9C1114.0 721.9 1125.5 717.4 1137.0 713.6C1148.5 709.7 1159.0 707.0 1170.0 704.9C1181.0 702.8 1191.5 701.6 1203.0 701.0C1214.5 700.5 1233.0 701.6 1239.0 701.7M450.0 22.1C445.5 22.3 432.5 23.5 423.0 23.3C413.5 23.2 403.6 22.5 393.0 21.2C382.4 20.0 371.6 18.4 359.4 16.0C347.3 13.6 332.4 10.2 320.0 7.0C307.6 3.8 295.3 0.0 285.0 -3.5C274.7 -7.0 266.1 -10.2 258.1 -14.0C250.1 -17.8 242.4 -22.0 236.9 -26.0C231.4 -30.0 227.0 -35.8 225.0 -37.8M552.0 -36.1C548.0 -32.1 536.0 -18.8 528.0 -12.0C520.0 -5.1 512.2 0.4 504.0 5.1C495.8 9.7 488.1 13.2 479.1 16.0C470.1 18.8 454.8 21.1 450.0 22.1M81.0 -36.8C83.5 -35.2 91.6 -30.4 96.0 -27.1C100.4 -23.8 104.3 -20.2 107.3 -17.0C110.3 -13.8 112.1 -11.5 114.2 -8.0C116.3 -4.5 118.2 -1.0 119.8 4.0C121.4 9.0 122.2 11.0 123.8 22.0C125.4 33.0 127.6 58.0 129.3 70.0C131.1 82.0 132.2 85.5 134.5 94.0C136.7 102.5 138.2 108.0 142.8 121.0C147.4 134.0 157.9 160.5 162.0 172.0C166.0 183.5 166.0 184.0 167.2 190.0C168.4 196.0 169.2 203.0 169.1 208.0C169.0 213.0 168.0 216.5 166.6 220.0C165.1 223.5 163.1 226.4 160.4 229.0C157.6 231.6 154.2 233.9 150.0 235.7C145.8 237.5 141.0 238.8 135.0 239.8C129.0 240.7 121.5 241.1 114.0 241.1C106.5 241.0 99.0 240.5 90.0 239.6C81.0 238.7 81.4 239.3 60.0 235.6C38.6 231.8 -22.1 220.1 -38.5 217.0M873.0 499.1C862.0 499.4 828.0 501.2 807.0 501.2C786.0 501.3 760.5 500.0 747.0 499.3C733.5 498.6 732.5 498.0 726.0 497.1C719.5 496.1 713.0 494.9 708.0 493.7C703.0 492.4 699.5 491.2 696.0 489.7C692.5 488.2 689.7 486.7 687.0 484.7C684.3 482.8 681.9 480.6 679.9 478.0C677.9 475.4 676.2 472.3 675.0 469.3C673.8 466.3 673.1 463.5 672.6 460.0C672.0 456.5 671.7 452.5 671.8 448.0C671.9 443.5 672.5 438.0 673.2 433.0C673.9 428.0 673.6 427.0 676.2 418.0C678.9 409.0 683.3 393.5 689.0 379.0C694.6 364.5 703.1 345.4 710.3 331.0C717.5 316.6 724.9 303.6 732.0 292.8C739.1 282.0 745.5 274.0 753.0 266.1C760.5 258.2 768.0 251.7 777.0 245.4C786.0 239.1 795.5 233.5 807.0 228.2C818.5 222.8 833.0 217.5 846.0 213.3C859.0 209.2 867.6 206.8 885.0 203.4C902.4 200.0 937.7 195.3 950.2 193.0C962.7 190.7 958.0 190.5 960.0 189.5C962.0 188.5 961.8 188.4 962.2 187.0C962.7 185.6 964.5 188.5 962.7 181.0C961.0 173.5 954.1 153.0 951.8 142.0C949.6 131.0 949.2 122.0 949.0 115.0C948.7 108.0 949.6 104.5 950.2 100.0C950.9 95.5 950.8 94.0 952.8 88.0C954.9 82.0 959.5 70.5 962.7 64.0C966.0 57.5 969.1 53.5 972.2 49.0C975.4 44.5 975.5 43.5 981.6 37.0C987.8 30.5 998.8 18.7 1009.2 10.0C1019.6 1.3 1031.7 -7.5 1044.0 -15.3C1056.3 -23.1 1076.5 -33.2 1083.0 -36.8M1239.0 232.0C1220.5 228.4 1156.5 215.8 1128.0 210.8C1099.5 205.8 1083.0 203.8 1068.0 201.8C1053.0 199.8 1047.5 199.5 1038.0 198.9C1028.5 198.2 1018.1 197.9 1011.0 197.9C1003.9 197.9 999.2 198.3 995.4 199.0C991.7 199.7 990.0 200.5 988.6 202.0C987.2 203.5 987.1 206.0 987.2 208.0C987.2 210.0 982.4 200.5 988.8 214.0C995.3 227.5 1018.3 272.5 1026.0 289.0C1033.7 305.4 1032.5 305.1 1035.0 312.7C1037.5 320.2 1039.4 326.9 1041.0 334.5C1042.6 342.0 1044.0 350.1 1044.7 358.0C1045.5 365.9 1045.7 374.5 1045.3 382.0C1045.0 389.5 1044.3 396.0 1042.8 403.0C1041.4 410.0 1039.0 418.0 1036.7 424.0C1034.4 430.0 1032.3 434.2 1029.0 439.3C1025.7 444.4 1021.5 450.0 1017.0 454.7C1012.5 459.3 1007.5 463.5 1002.0 467.2C996.5 471.0 990.5 474.2 984.0 477.2C977.5 480.1 970.5 482.7 963.0 485.0C955.5 487.2 948.0 489.1 939.0 490.9C930.0 492.7 920.0 494.3 909.0 495.7C898.0 497.0 879.0 498.5 873.0 499.1M438.0 823.1C430.5 823.6 424.5 823.5 417.0 823.2C409.5 822.8 406.0 823.2 393.0 821.2C380.0 819.3 357.3 815.9 339.0 811.7C320.7 807.5 296.6 800.1 283.5 796.0C270.4 791.9 267.1 790.0 260.3 787.0C253.6 784.0 247.4 780.6 243.0 778.1C238.6 775.5 236.9 774.2 234.0 771.7C231.1 769.2 227.5 765.5 225.5 763.0C223.5 760.5 223.0 759.5 222.0 757.0C221.0 754.5 219.9 751.0 219.5 748.0C219.0 745.0 218.9 742.5 219.4 739.0C219.8 735.5 219.7 733.0 221.9 727.0C224.2 721.0 228.7 710.5 232.7 703.0C236.7 695.5 240.8 689.5 246.0 682.0C251.2 674.5 257.5 666.0 263.9 658.0C270.3 650.0 277.7 641.5 284.6 634.0C291.5 626.5 298.4 619.5 305.3 613.0C312.2 606.5 319.2 600.4 325.8 595.0C332.5 589.6 338.3 585.2 345.0 580.7C351.7 576.2 359.0 571.6 366.0 567.7C373.0 563.9 379.5 560.6 387.0 557.4C394.5 554.2 403.0 551.1 411.0 548.6C419.0 546.0 426.5 544.1 435.0 542.3C443.5 540.5 452.5 538.9 462.0 537.6C471.5 536.4 481.5 535.4 492.0 534.7C502.5 534.1 514.3 533.6 525.0 533.7C535.7 533.7 547.4 534.2 556.4 535.0C565.4 535.8 572.7 537.2 579.0 538.7C585.3 540.3 589.5 541.9 594.0 544.4C598.5 547.0 602.7 550.1 606.0 554.0C609.3 558.0 611.9 562.7 614.0 568.0C616.1 573.3 617.5 579.0 618.5 586.0C619.4 593.0 619.9 602.0 619.7 610.0C619.5 618.0 618.7 626.0 617.4 634.0C616.1 642.0 614.3 650.0 612.0 658.0C609.6 666.0 607.1 673.5 603.4 682.0C599.8 690.5 595.3 700.0 590.3 709.0C585.3 718.0 579.4 727.5 573.5 736.0C567.7 744.5 561.4 752.7 555.3 760.0C549.2 767.3 543.1 773.9 537.0 779.8C530.9 785.7 525.0 790.7 519.0 795.2C513.0 799.7 507.0 803.5 501.0 806.7C495.0 810.0 489.5 812.4 483.0 814.7C476.5 817.0 469.5 818.9 462.0 820.3C454.5 821.7 445.5 822.6 438.0 823.1ZM-36.7 739.0C-31.6 738.8 -16.3 737.4 -6.0 737.9C4.3 738.4 14.5 739.7 25.0 742.0C35.5 744.3 46.9 747.8 57.0 751.8C67.1 755.8 78.3 761.6 85.9 766.0C93.4 770.4 97.4 773.5 102.2 778.0C107.1 782.5 111.5 787.5 114.8 793.0C118.0 798.5 120.0 803.5 121.8 811.0C123.6 818.5 124.9 833.5 125.5 838.0M981.0 837.8C985.0 833.7 995.5 821.8 1005.0 813.6C1014.5 805.4 1026.5 796.3 1038.0 788.6C1049.5 780.9 1062.0 773.7 1074.0 767.6C1086.0 761.5 1098.5 756.1 1110.0 751.9C1121.5 747.7 1132.0 744.7 1143.0 742.3C1154.0 740.0 1165.5 738.5 1176.0 737.9C1186.5 737.4 1195.8 737.7 1206.0 738.9C1216.2 740.1 1231.8 744.0 1237.0 745.0M426.0 -1.9C420.0 -2.1 402.0 -1.7 390.0 -3.1C378.0 -4.5 365.5 -7.0 354.0 -10.2C342.5 -13.3 328.7 -18.9 321.0 -22.0C313.3 -25.1 311.7 -26.6 307.7 -29.0C303.7 -31.4 298.8 -35.2 297.0 -36.5M513.0 -37.0C509.9 -34.7 500.6 -27.1 494.1 -23.0C487.6 -18.9 481.4 -15.5 474.0 -12.5C466.6 -9.6 458.0 -6.8 450.0 -5.1C442.0 -3.3 430.0 -2.4 426.0 -1.9M93.0 205.2C89.5 205.6 80.5 207.4 72.0 207.6C63.5 207.7 53.0 207.1 42.0 206.0C31.0 204.8 19.5 203.0 6.0 200.6C-7.5 198.1 -31.5 192.8 -39.0 191.2M-39.0 -26.8C-36.0 -26.6 -26.5 -26.2 -21.0 -25.5C-15.5 -24.8 -11.0 -23.9 -6.0 -22.6C-1.0 -21.3 4.0 -19.7 9.0 -17.7C14.0 -15.6 19.4 -13.0 24.0 -10.4C28.6 -7.8 32.3 -5.4 36.7 -2.0C41.0 1.4 46.2 6.0 50.1 10.0C54.0 14.0 56.9 17.7 60.1 22.0C63.3 26.3 65.3 28.8 69.0 35.8C72.7 42.8 76.6 49.9 82.6 64.0C88.6 78.1 99.7 106.6 105.0 120.6C110.3 134.6 112.3 140.4 114.5 148.0C116.8 155.6 117.9 160.5 118.6 166.0C119.3 171.5 119.4 176.5 118.7 181.0C117.9 185.5 116.3 189.4 114.0 192.7C111.7 196.0 108.5 198.5 105.0 200.6C101.5 202.7 95.0 204.4 93.0 205.2M1239.0 205.6C1231.0 204.3 1208.9 201.3 1191.0 197.7C1173.1 194.1 1149.6 188.6 1131.6 184.0C1113.6 179.4 1096.6 174.4 1083.0 169.9C1069.4 165.4 1059.6 161.5 1050.1 157.0C1040.6 152.5 1032.9 148.1 1026.0 143.1C1019.1 138.1 1012.6 131.2 1008.7 127.0C1004.8 122.8 1004.3 121.0 1002.7 118.0C1001.0 115.0 999.8 113.5 998.6 109.0C997.4 104.5 995.8 96.0 995.5 91.0C995.2 86.0 995.7 83.5 996.7 79.0C997.8 74.5 999.4 69.0 1001.7 64.0C1003.9 59.0 1006.8 54.0 1010.3 49.0C1013.7 44.0 1017.9 38.9 1022.6 34.0C1027.2 29.1 1032.5 24.3 1038.0 19.8C1043.5 15.3 1049.1 11.1 1055.5 7.0C1061.9 2.9 1069.5 -1.5 1076.3 -5.0C1083.2 -8.5 1089.9 -11.4 1096.5 -14.0C1103.1 -16.6 1109.3 -18.6 1116.0 -20.5C1122.7 -22.3 1130.5 -23.9 1137.0 -25.0C1143.5 -26.0 1149.0 -26.5 1155.0 -26.7C1161.0 -26.9 1167.0 -26.8 1173.0 -26.2C1179.0 -25.7 1185.5 -24.6 1191.0 -23.3C1196.5 -22.1 1200.7 -20.9 1206.0 -18.8C1211.3 -16.8 1217.9 -13.8 1223.0 -11.0C1228.1 -8.2 1234.4 -3.5 1236.7 -2.0M891.0 472.1C880.5 473.1 869.0 473.5 858.0 473.5C847.0 473.4 835.5 472.8 825.0 471.8C814.5 470.7 804.0 469.1 795.0 467.2C786.0 465.2 777.8 462.7 770.8 460.0C763.9 457.3 758.5 454.5 753.4 451.0C748.2 447.5 743.7 443.5 740.1 439.0C736.5 434.5 733.8 429.5 731.9 424.0C729.9 418.5 729.1 411.0 728.6 406.0C728.1 401.0 728.5 398.5 729.0 394.0C729.4 389.5 729.4 386.5 731.4 379.0C733.5 371.5 737.0 359.0 741.2 349.0C745.4 339.0 752.4 326.5 756.7 319.0C761.0 311.5 763.7 308.5 767.2 304.0C770.6 299.5 772.3 297.0 777.4 292.0C782.6 287.0 792.6 278.3 798.0 274.0C803.4 269.7 805.5 268.8 810.0 266.2C814.5 263.6 817.5 261.5 825.0 258.5C832.5 255.6 845.0 250.9 855.0 248.6C865.0 246.3 876.0 245.2 885.0 244.8C894.0 244.4 901.0 244.9 909.0 246.2C917.0 247.5 925.5 249.7 933.0 252.5C940.5 255.3 947.5 258.9 954.0 263.0C960.5 267.2 966.0 271.3 972.0 277.1C978.0 282.9 984.9 290.8 990.0 297.8C995.1 304.8 998.9 311.5 1002.5 319.0C1006.0 326.5 1009.1 334.5 1011.2 343.0C1013.3 351.5 1014.6 362.0 1015.0 370.0C1015.4 378.0 1014.5 384.4 1013.4 391.0C1012.2 397.6 1010.6 403.3 1008.0 409.3C1005.4 415.3 1001.9 421.6 997.9 427.0C993.9 432.4 989.3 437.2 984.0 441.5C978.7 445.9 972.5 449.9 966.0 453.3C959.5 456.7 952.5 459.5 945.0 461.9C937.5 464.4 930.0 466.3 921.0 468.0C912.0 469.7 901.5 471.2 891.0 472.1ZM444.0 796.1C435.5 797.2 422.5 798.6 411.0 798.4C399.5 798.1 387.0 796.8 375.0 794.6C363.0 792.4 350.0 789.0 339.0 785.2C328.0 781.4 315.5 775.0 309.0 771.7C302.5 768.5 303.2 768.3 300.0 765.8C296.8 763.4 292.7 760.0 289.9 757.0C287.0 754.0 284.8 751.0 282.9 748.0C281.0 745.0 279.7 742.0 278.6 739.0C277.6 736.0 276.9 733.5 276.5 730.0C276.1 726.5 275.5 723.5 276.4 718.0C277.2 712.5 279.6 703.0 281.7 697.0C283.8 691.0 286.0 687.0 288.8 682.0C291.5 677.0 294.6 672.0 298.0 667.0C301.5 662.0 305.0 657.2 309.3 652.0C313.7 646.8 319.1 640.7 324.0 635.7C328.9 630.7 333.7 626.3 338.7 622.0C343.7 617.7 349.0 613.6 354.0 610.0C359.0 606.4 363.5 603.4 369.0 600.1C374.5 596.9 381.0 593.3 387.0 590.5C393.0 587.7 399.0 585.2 405.0 583.0C411.0 580.9 417.0 579.1 423.0 577.5C429.0 576.0 434.5 574.8 441.0 573.7C447.5 572.7 455.0 571.8 462.0 571.3C469.0 570.8 476.5 570.8 483.0 570.9C489.5 571.1 495.5 571.7 501.0 572.4C506.5 573.1 510.9 573.9 516.0 575.1C521.1 576.4 526.6 578.0 531.6 580.0C536.6 582.0 541.6 584.4 546.0 587.3C550.4 590.2 554.5 593.5 558.0 597.1C561.5 600.8 564.6 605.2 567.0 609.3C569.4 613.5 571.0 617.4 572.3 622.0C573.7 626.6 574.8 631.5 575.2 637.0C575.6 642.5 575.6 649.0 575.0 655.0C574.4 661.0 573.2 667.0 571.6 673.0C570.0 679.0 568.2 684.5 565.4 691.0C562.6 697.5 558.7 705.4 555.0 711.9C551.3 718.4 547.6 724.0 543.2 730.0C538.8 736.0 533.5 742.5 528.4 748.0C523.4 753.5 518.2 758.5 513.0 763.0C507.8 767.5 502.7 771.4 497.2 775.0C491.7 778.6 485.9 782.0 480.0 784.8C474.1 787.6 468.0 789.9 462.0 791.8C456.0 793.7 452.5 795.0 444.0 796.1ZM-39.0 773.2C-36.0 773.4 -26.5 773.8 -21.0 774.5C-15.5 775.2 -11.0 776.1 -6.0 777.4C-1.0 778.7 3.9 780.2 9.0 782.3C14.1 784.4 19.7 787.1 24.7 790.0C29.7 792.9 34.6 796.3 39.0 799.8C43.4 803.3 47.4 807.1 51.0 811.0C54.6 814.8 57.6 818.5 60.8 823.0C64.0 827.5 68.7 835.5 70.2 838.0M1020.0 836.8C1023.6 833.5 1033.0 823.5 1041.5 817.0C1050.0 810.5 1060.9 803.3 1071.0 797.8C1081.1 792.3 1091.4 787.7 1101.9 784.0C1112.4 780.3 1123.6 777.3 1134.0 775.5C1144.4 773.7 1154.5 773.1 1164.0 773.3C1173.5 773.5 1182.5 774.7 1191.0 776.7C1199.5 778.6 1207.2 781.2 1215.0 784.9C1222.8 788.6 1234.1 796.7 1238.0 799.0M435.0 -31.4C432.5 -31.1 425.5 -29.9 420.0 -29.6C414.5 -29.3 407.8 -29.3 402.0 -29.7C396.2 -30.1 390.4 -30.9 384.9 -32.0C379.4 -33.1 371.7 -35.5 369.0 -36.2M453.0 -36.2C450.0 -35.4 438.0 -32.2 435.0 -31.4M36.0 166.3C33.5 166.6 26.5 167.9 21.0 168.2C15.5 168.4 13.0 168.9 3.0 167.6C-7.0 166.4 -32.0 161.8 -39.0 160.6M-39.0 14.6C-37.0 15.1 -31.0 16.4 -27.0 17.8C-23.0 19.2 -19.0 20.8 -15.0 22.8C-11.0 24.9 -7.0 27.2 -3.0 30.0C1.0 32.7 3.9 34.4 9.0 39.6C14.1 44.7 21.7 52.6 27.7 61.0C33.7 69.4 40.1 80.1 45.0 90.1C49.9 100.1 54.7 113.9 57.1 121.0C59.5 128.1 59.0 129.5 59.4 133.0C59.8 136.5 59.9 139.0 59.6 142.0C59.2 145.0 58.4 148.5 57.4 151.0C56.4 153.5 55.6 155.0 53.6 157.0C51.6 159.0 48.5 161.4 45.6 163.0C42.6 164.6 37.6 165.8 36.0 166.3M1236.0 166.3C1232.0 166.6 1221.5 168.5 1212.0 168.2C1202.5 167.9 1191.0 166.6 1179.0 164.4C1167.0 162.2 1152.6 158.8 1140.0 155.1C1127.4 151.3 1113.7 146.2 1103.7 142.0C1093.7 137.8 1087.1 134.3 1080.0 129.8C1072.9 125.3 1065.9 120.0 1060.9 115.0C1055.8 110.0 1052.2 104.0 1049.8 100.0C1047.3 96.0 1047.2 94.0 1046.4 91.0C1045.7 88.0 1045.2 85.5 1045.3 82.0C1045.3 78.5 1045.8 74.0 1046.9 70.0C1048.1 66.0 1049.8 62.0 1052.2 58.0C1054.7 54.0 1058.2 49.5 1061.4 46.0C1064.6 42.5 1067.2 40.1 1071.3 37.0C1075.4 33.9 1080.6 30.3 1086.0 27.3C1091.4 24.4 1098.5 21.3 1104.0 19.3C1109.5 17.3 1113.5 16.2 1119.0 15.1C1124.5 14.0 1131.5 13.1 1137.0 12.8C1142.5 12.5 1147.0 12.7 1152.0 13.2C1157.0 13.8 1162.0 14.6 1167.0 16.0C1172.0 17.3 1177.5 19.4 1182.0 21.4C1186.5 23.4 1190.0 25.3 1194.0 27.9C1198.0 30.5 1202.1 33.5 1206.1 37.0C1210.1 40.5 1214.4 44.8 1218.0 48.8C1221.6 52.8 1224.5 56.5 1227.7 61.0C1231.0 65.5 1235.8 73.5 1237.4 76.0M885.0 442.2C878.5 442.5 871.0 442.5 864.0 442.1C857.0 441.6 849.5 440.6 843.0 439.4C836.5 438.2 830.8 436.7 825.0 434.7C819.2 432.6 812.9 429.8 808.0 427.0C803.2 424.2 799.5 421.5 796.0 418.0C792.4 414.5 788.9 410.0 786.6 406.0C784.2 402.0 782.9 398.5 781.9 394.0C780.8 389.5 780.1 384.5 780.3 379.0C780.5 373.5 781.4 367.0 783.0 361.0C784.6 355.0 786.8 349.0 789.9 343.0C792.9 337.0 797.1 330.4 801.0 325.2C804.9 320.0 808.5 316.1 813.0 312.0C817.5 307.8 822.5 303.8 828.0 300.3C833.5 296.8 840.0 293.5 846.0 291.1C852.0 288.6 857.5 286.9 864.0 285.7C870.5 284.5 878.5 283.7 885.0 283.6C891.5 283.6 897.0 284.2 903.0 285.3C909.0 286.5 915.5 288.4 921.0 290.5C926.5 292.7 931.0 294.9 936.0 298.1C941.0 301.2 946.6 305.5 951.0 309.5C955.4 313.5 958.8 317.4 962.1 322.0C965.5 326.6 968.7 332.0 971.1 337.0C973.5 342.0 975.2 346.5 976.5 352.0C977.7 357.5 978.6 364.5 978.6 370.0C978.7 375.5 977.9 380.3 976.8 385.0C975.7 389.7 974.3 393.7 972.0 398.0C969.7 402.4 966.2 407.5 963.0 411.3C959.8 415.2 956.5 418.0 952.5 421.0C948.5 424.0 944.1 426.8 939.0 429.3C933.9 431.8 927.8 434.2 921.8 436.0C915.8 437.8 909.1 439.2 903.0 440.3C896.9 441.3 891.5 441.9 885.0 442.2ZM432.0 769.1C425.5 769.9 416.0 770.8 408.0 770.6C400.0 770.4 392.0 769.5 384.0 767.8C376.0 766.1 367.0 763.3 360.0 760.3C353.0 757.4 346.8 753.5 342.0 749.9C337.2 746.4 334.0 743.3 331.0 739.0C327.9 734.7 325.0 728.0 323.6 724.0C322.1 720.0 322.4 718.0 322.2 715.0C322.1 712.0 321.7 710.5 322.6 706.0C323.5 701.5 324.9 694.5 327.8 688.0C330.7 681.5 335.2 673.6 340.1 667.0C345.0 660.4 350.7 654.0 357.0 648.1C363.3 642.2 370.5 636.5 378.0 631.6C385.5 626.7 394.0 622.2 402.0 618.8C410.0 615.3 417.5 612.8 426.0 610.9C434.5 609.0 444.5 607.6 453.0 607.2C461.5 606.8 469.5 607.4 477.0 608.7C484.5 609.9 492.5 612.5 498.0 614.6C503.5 616.7 506.7 619.0 510.0 621.2C513.3 623.4 515.6 625.4 518.1 628.0C520.6 630.6 523.1 633.8 525.0 636.8C526.9 639.8 528.2 642.5 529.4 646.0C530.6 649.5 531.7 654.0 532.2 658.0C532.7 662.0 532.7 666.0 532.4 670.0C532.1 674.0 531.6 677.5 530.4 682.0C529.2 686.5 527.4 692.0 525.2 697.0C523.0 702.0 520.0 707.5 517.2 712.0C514.5 716.5 511.8 720.1 508.6 724.0C505.4 727.9 501.6 732.2 498.0 735.7C494.4 739.2 491.3 741.9 487.3 745.0C483.3 748.1 478.3 751.5 474.1 754.0C469.9 756.5 466.5 758.3 462.0 760.2C457.5 762.2 452.0 764.2 447.0 765.7C442.0 767.2 438.5 768.3 432.0 769.1ZM-39.0 814.6C-37.0 815.1 -31.0 816.4 -27.0 817.8C-23.0 819.2 -20.5 819.6 -15.0 822.8C-9.5 826.0 2.5 834.6 6.0 836.9M1071.0 837.3C1073.5 835.6 1080.5 830.4 1086.0 827.4C1091.5 824.4 1098.0 821.4 1104.0 819.3C1110.0 817.2 1116.0 815.6 1122.0 814.5C1128.0 813.4 1134.0 812.8 1140.0 812.7C1146.0 812.6 1152.0 813.0 1158.0 814.0C1164.0 815.1 1170.5 816.9 1176.0 818.9C1181.5 820.9 1186.0 823.1 1191.0 826.1C1196.0 829.1 1203.5 835.1 1206.0 836.9M897.0 388.3C893.1 389.7 888.5 390.1 885.0 390.2C881.5 390.4 879.3 390.2 876.0 389.3C872.7 388.4 868.1 386.7 865.2 385.0C862.3 383.3 860.2 381.0 858.6 379.0C857.0 377.0 856.1 375.5 855.5 373.0C854.9 370.5 854.4 367.0 854.9 364.0C855.4 361.0 857.0 357.5 858.5 355.0C860.0 352.5 861.1 350.9 864.0 348.8C866.9 346.7 872.0 343.7 876.0 342.4C880.0 341.1 884.0 340.7 888.0 341.0C892.0 341.2 896.2 342.0 900.0 343.8C903.8 345.7 908.2 349.1 910.8 352.0C913.4 354.9 914.5 358.5 915.4 361.0C916.2 363.5 916.1 365.0 915.9 367.0C915.8 369.0 916.0 370.5 914.7 373.0C913.4 375.5 911.3 379.4 908.4 382.0C905.4 384.6 900.9 387.0 897.0 388.3ZM423.0 730.2C418.6 730.7 414.5 730.4 411.0 730.1C407.5 729.8 405.1 729.3 402.0 728.3C398.9 727.3 395.0 725.7 392.2 724.0C389.4 722.3 387.0 720.0 385.1 718.0C383.3 716.0 382.3 714.5 381.3 712.0C380.4 709.5 379.5 706.0 379.3 703.0C379.2 700.0 379.8 696.9 380.5 694.0C381.3 691.1 382.4 688.6 384.0 685.9C385.6 683.1 387.5 680.3 390.0 677.4C392.5 674.6 396.0 671.4 399.0 669.0C402.0 666.6 404.5 665.0 408.0 663.1C411.5 661.2 416.0 659.2 420.0 657.8C424.0 656.5 428.0 655.5 432.0 655.0C436.0 654.4 440.5 654.3 444.0 654.5C447.5 654.6 450.0 655.0 453.0 655.9C456.0 656.7 459.0 657.6 462.0 659.4C465.0 661.3 468.7 664.2 470.8 667.0C473.0 669.8 474.4 672.5 475.1 676.0C475.9 679.5 476.1 684.0 475.4 688.0C474.7 692.0 473.3 696.0 471.1 700.0C468.8 704.0 465.4 708.5 461.9 712.0C458.5 715.5 454.4 718.5 450.4 721.0C446.3 723.5 442.1 725.5 437.5 727.0C433.0 728.5 427.4 729.6 423.0 730.2Z' fill='none' stroke='%23B9D4B0' stroke-opacity='.14' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:1100px auto;background-position:center;background-repeat:repeat}
.svc-explore .sec-head{margin-bottom:0}
.svc-explore .sec-head .eyebrow{color:var(--on-deep-2)}
.svc-explore .sec-head h2{color:var(--on-deep)}
.svc-explore .sec-head>p{color:var(--on-deep-2)}

/* the stack: equal cards at rest; the chosen one takes about three quarters and the other keeps a quarter */
.xp-list{--xp-h:clamp(28rem,38vw,34rem);--xp-grow:3;display:flex;gap:.75rem;height:var(--xp-h);max-width:72.5rem;margin:clamp(2.25rem,5vw,3.5rem) auto 0;container-type:inline-size}
@media (max-width:1024px){.xp-list{--xp-grow:2.4}}
@media (max-width:860px){.xp-list{--xp-grow:2;--xp-h:31rem}}
.xp-card{position:relative;isolation:isolate;overflow:hidden;flex:1 1 0;min-width:0;border-radius:5px;background:#1B2520;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:flex-grow .85s cubic-bezier(.22,.8,.2,1),transform .85s cubic-bezier(.22,.8,.2,1),box-shadow .5s ease}
.xp-list.has-sel .xp-card.is-sel{flex-grow:var(--xp-grow);z-index:2;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 2rem 3.75rem -2rem rgba(0,0,0,.75)}
.xp-list.has-sel .xp-card:not(.is-sel){transform:scale(.965)}
/* the photo stays put at the size of the biggest card, so cards open and close over it rather than stretching it */
.xp-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.xp-media img{position:absolute;top:0;left:50%;display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform:translateX(-50%) scale(1);transition:transform 1s cubic-bezier(.22,.8,.2,1)}
@supports (width:1cqw){.xp-media img{width:calc(var(--xp-grow) / (var(--xp-grow) + 1) * 100cqw)}}
.xp-card:hover .xp-media img,.xp-card:focus-within .xp-media img{transform:translateX(-50%) scale(1.04)}
.xp-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,13,11,.42) 0%,rgba(9,13,11,.24) 24%,rgba(9,13,11,.5) 46%,rgba(9,13,11,.8) 70%,rgba(9,13,11,.93) 100%)}
.xp-card::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(9,13,11,.38);opacity:0;transition:opacity .6s ease}
.xp-list.has-sel .xp-card:not(.is-sel)::before{opacity:1}
.xp-list.has-sel .xp-card:not(.is-sel):hover::before{opacity:.55}
.xp-pick{all:unset;position:absolute;inset:0;z-index:1;cursor:pointer}
.xp-card.is-sel .xp-pick{cursor:default;pointer-events:none}
.xp-toggle{all:unset;box-sizing:border-box;position:absolute;z-index:3;top:clamp(1rem,1.9vw,1.5rem);right:clamp(1.25rem,2.4vw,2rem);display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(9,13,11,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;transition:transform .45s cubic-bezier(.22,.8,.2,1),background-color .3s ease}
.xp-toggle svg{width:1.1rem;height:1.1rem}
.xp-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
.xp-card:not(.is-sel):hover .xp-toggle{background:rgba(9,13,11,.62);transform:rotate(90deg)}
.xp-card.is-sel .xp-toggle{transform:rotate(45deg)}
.xp-card.is-sel .xp-toggle:hover{background:rgba(9,13,11,.62)}
.xp-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.25rem,2.4vw,2rem);pointer-events:none;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.xp-name{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.08;color:#fff;transition:font-size .6s cubic-bezier(.22,.8,.2,1)}
.xp-list.has-sel .xp-card:not(.is-sel) .xp-name{font-size:clamp(1.35rem,1.9vw,1.7rem)}
/* least information at rest; everything once a card is open. The short line folds away and the details fold open
   on the same duration and easing as the card's width, so the whole block rises (and settles back) as one motion. */
.xp-card{--xp-d:.85s;--xp-e:cubic-bezier(.22,.8,.2,1)}
.xp-fold{display:grid;transition:grid-template-rows var(--xp-d) var(--xp-e)}
.xp-fold>div{min-height:0;overflow:hidden}
.xp-fold--line{grid-template-rows:1fr}
.xp-fold--more{grid-template-rows:0fr}
.xp-card.is-sel .xp-fold--line{grid-template-rows:0fr}
.xp-card.is-sel .xp-fold--more{grid-template-rows:1fr}
.xp-list.has-sel .xp-card:not(.is-sel) .xp-fold--line{grid-template-rows:0fr}
.xp-line{margin:0;padding-top:.55rem;font-size:.95rem;line-height:1.45;color:rgba(255,255,255,.9);transition:opacity .35s ease}
.xp-card.is-sel .xp-line,.xp-list.has-sel .xp-card:not(.is-sel) .xp-line{opacity:0}
.xp-more{opacity:0;transform:translateY(.6rem);transition:opacity .35s ease,transform var(--xp-d) var(--xp-e)}
.xp-card.is-sel .xp-more{opacity:1;transform:none;transition:opacity .55s ease .12s,transform var(--xp-d) var(--xp-e)}
.xp-text{margin:0;padding-top:.7rem;max-width:44ch;font-size:1rem;line-height:1.55;color:rgba(255,255,255,.94)}
.xp-short{display:none}
.xp-tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1rem 0 0;padding:0}
.xp-tags li{padding:.32rem .7rem;border-radius:4px;background:rgba(255,255,255,.16);font-size:.84rem;font-weight:600;color:#fff}
.xp-copy .btn-row{margin:1.3rem 0 0;gap:1rem 1.25rem;align-items:center}
.xp-card.is-sel .xp-copy .btn-row{pointer-events:auto}
.xp-btn{background:#fff;color:#1B2520;border-color:#fff;text-shadow:none}
.xp-btn:hover{background:#F2F2EC}
.xp-quote{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px}
/* a very faint pane of glass crosses the cards now and then, to say "these open" */
.xp-card::after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;z-index:1;pointer-events:none;opacity:0;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.025) 30%,rgba(255,255,255,.075) 50%,rgba(255,255,255,.025) 70%,rgba(255,255,255,0) 100%)}
.xp-card.is-glint::after{animation:xpGlint 1.3s cubic-bezier(.45,.05,.25,1) 1}
@keyframes xpGlint{0%{opacity:0;transform:translateX(-130%) skewX(-18deg)}12%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translateX(260%) skewX(-18deg)}}

/* the prompt underneath */
.xp-next{margin-top:clamp(2.5rem,6vw,4rem);display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.xp-next p{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-2)}
.xp-link{display:inline-flex;align-items:center;padding:.8rem 1.3rem;border:1.5px solid rgba(255,255,255,.55);border-radius:4px;background:transparent;color:var(--on-deep);font:inherit;font-weight:600;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.xp-link:hover{background:#fff;color:#1E2521;border-color:#fff}
.xp-link:focus-visible,.xp-arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}
.xp-arrow{all:unset;display:grid;place-items:center;width:2.75rem;height:2.75rem;cursor:pointer;color:var(--on-deep);animation:svcBob 1.8s ease-in-out infinite}
.xp-arrow svg{width:22px;height:22px}
@media (prefers-reduced-motion:reduce){.xp-arrow{animation:none}.xp-card,.xp-card::before,.xp-media img,.xp-name,.xp-line,.xp-fold,.xp-more,.xp-toggle{transition:none}.xp-card::after{display:none}}

/* phones: white with faint grey contours; both services shown in full, photo above and details below */
@media (max-width:600px){
  #services.svc-explore{background:#FFFFFF;color:#17201A;padding-block:clamp(3.5rem,14vw,4.5rem) 3rem}
  #services.svc-explore::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M803.6 -2.0C806.1 -2.7 813.4 -4.4 819.0 -6.4C824.6 -8.4 827.0 -8.7 837.0 -13.9C847.0 -19.1 872.0 -33.7 879.0 -37.6M761.0 -38.0C760.9 -36.5 760.1 -32.0 760.2 -29.0C760.2 -26.0 760.6 -22.5 761.1 -20.0C761.7 -17.5 762.2 -16.0 763.3 -14.0C764.5 -12.0 766.2 -9.4 768.0 -7.7C769.8 -6.0 771.5 -4.8 774.0 -3.6C776.5 -2.5 780.0 -1.5 783.0 -0.9C786.0 -0.4 788.6 -0.3 792.0 -0.5C795.4 -0.7 801.6 -1.8 803.6 -2.0M489.4 322.0C494.4 320.6 501.6 318.3 507.0 315.4C512.4 312.5 517.7 308.5 522.0 304.6C526.3 300.7 529.6 296.7 532.6 292.0C535.6 287.3 538.3 281.9 540.0 276.4C541.7 270.9 542.6 264.4 542.8 259.0C542.9 253.6 542.5 249.4 541.0 244.0C539.6 238.6 537.0 231.8 534.0 226.3C531.0 220.8 527.5 216.1 523.1 211.0C518.6 205.9 513.6 201.0 507.3 196.0C501.0 191.0 493.4 185.7 485.3 181.0C477.3 176.3 468.2 171.7 459.0 167.7C449.8 163.7 439.5 159.9 430.0 157.0C420.5 154.1 410.7 151.7 402.0 150.3C393.3 148.8 385.0 148.1 378.0 148.2C371.0 148.2 365.0 149.2 360.0 150.6C355.0 152.1 350.8 154.6 347.8 157.0C344.8 159.4 343.4 161.8 342.0 164.8C340.6 167.8 339.8 171.3 339.6 175.0C339.4 178.7 339.8 182.7 340.7 187.0C341.6 191.3 342.8 195.4 345.0 200.8C347.2 206.3 350.7 213.4 354.0 219.6C357.3 225.8 360.5 231.1 365.0 238.0C369.5 244.9 375.8 254.0 381.0 261.0C386.2 268.0 389.5 272.7 396.0 279.8C402.5 286.8 412.5 297.2 420.0 303.4C427.5 309.5 435.5 313.6 441.0 316.6C446.5 319.5 449.0 319.9 453.0 321.0C457.0 322.2 461.0 323.0 465.0 323.4C469.0 323.9 472.9 324.0 477.0 323.8C481.1 323.5 484.4 323.4 489.4 322.0ZM121.5 505.0C126.5 503.7 133.3 501.4 138.0 499.3C142.7 497.2 146.3 495.1 150.0 492.5C153.7 490.0 157.1 487.4 160.4 484.0C163.6 480.6 167.3 476.0 169.7 472.0C172.1 468.0 173.6 464.0 174.6 460.0C175.6 456.0 175.9 452.0 175.7 448.0C175.4 444.0 174.5 440.0 173.0 436.0C171.4 432.0 169.3 428.0 166.3 424.0C163.4 420.0 160.0 416.1 155.3 412.0C150.6 407.9 144.4 403.2 138.0 399.3C131.6 395.3 124.0 391.4 117.0 388.4C110.0 385.3 103.0 382.8 96.0 380.9C89.0 378.9 81.5 377.3 75.0 376.5C68.5 375.7 62.5 375.6 57.0 376.0C51.5 376.5 46.5 377.5 42.0 379.1C37.5 380.6 33.3 383.0 30.0 385.5C26.7 388.0 24.1 391.1 22.0 394.0C19.8 396.9 18.5 399.5 17.1 403.0C15.8 406.5 14.6 411.0 13.9 415.0C13.2 419.0 12.9 422.5 13.1 427.0C13.2 431.5 13.8 437.5 14.7 442.0C15.5 446.5 16.5 450.0 18.0 454.0C19.5 458.0 21.4 462.3 23.4 466.0C25.4 469.7 27.4 472.7 30.0 476.0C32.6 479.3 36.0 482.9 39.0 485.7C42.0 488.6 43.0 489.9 48.0 492.8C53.0 495.7 63.5 500.8 69.0 503.0C74.5 505.2 76.5 505.3 81.0 506.1C85.5 506.8 91.5 507.4 96.0 507.6C100.5 507.8 103.7 507.7 108.0 507.3C112.3 506.8 116.5 506.3 121.5 505.0ZM1239.0 380.3C1237.0 381.5 1230.3 385.2 1227.1 388.0C1223.9 390.8 1222.0 393.5 1220.0 397.0C1218.1 400.5 1216.3 404.5 1215.1 409.0C1214.0 413.5 1213.2 418.5 1213.1 424.0C1213.0 429.5 1213.7 436.5 1214.7 442.0C1215.7 447.5 1217.1 452.0 1219.2 457.0C1221.2 462.0 1224.0 467.3 1227.0 471.8C1230.0 476.3 1235.5 482.0 1237.1 484.0M797.7 799.0C802.7 798.7 805.5 797.7 810.0 796.4C814.5 795.2 817.0 794.9 825.0 791.3C833.0 787.7 845.4 782.3 858.0 775.1C870.6 767.8 886.9 757.5 900.4 748.0C913.8 738.5 928.8 726.5 938.6 718.0C948.5 709.5 954.5 702.5 959.5 697.0C964.5 691.5 966.2 688.5 968.5 685.0C970.8 681.5 972.0 680.0 973.4 676.0C974.8 672.0 976.7 665.0 977.1 661.0C977.4 657.0 976.3 654.5 975.5 652.0C974.6 649.5 974.5 648.5 972.0 646.0C969.5 643.5 965.0 639.4 960.5 637.0C956.0 634.6 951.1 633.0 945.0 631.8C938.9 630.5 931.5 629.7 924.0 629.6C916.5 629.6 907.8 630.3 900.0 631.5C892.2 632.7 884.6 634.6 877.1 637.0C869.6 639.4 861.7 642.7 855.0 645.9C848.3 649.1 843.0 652.3 837.0 656.3C831.0 660.3 825.5 664.2 819.1 670.0C812.7 675.8 804.9 683.5 798.6 691.0C792.2 698.5 786.1 707.0 781.0 715.0C776.0 723.0 771.6 731.0 768.2 739.0C764.8 747.0 762.2 757.5 760.8 763.0C759.5 768.5 760.1 769.0 760.2 772.0C760.3 775.0 760.8 778.5 761.4 781.0C762.0 783.5 762.8 785.1 763.9 787.0C765.0 788.9 766.4 790.8 768.0 792.3C769.6 793.8 771.3 795.0 773.3 796.0C775.3 797.0 775.9 798.0 780.0 798.5C784.1 799.0 792.7 799.3 797.7 799.0ZM765.9 64.0C768.3 63.3 775.2 61.6 780.0 59.9C784.8 58.2 787.5 57.6 795.0 53.8C802.5 50.0 814.0 44.1 825.0 37.3C836.0 30.4 843.5 25.3 861.0 12.8C878.5 0.2 918.3 -29.5 929.7 -38.0M704.9 -38.0C703.4 -34.0 698.1 -21.5 695.8 -14.0C693.6 -6.5 692.1 0.0 691.5 7.0C690.9 14.0 691.1 22.0 692.2 28.0C693.2 34.0 695.0 38.5 697.6 43.0C700.2 47.5 704.8 52.3 708.0 55.2C711.2 58.2 714.1 59.4 717.0 60.9C719.9 62.3 720.8 63.1 725.3 64.0C729.8 64.9 737.2 66.6 744.0 66.6C750.8 66.6 762.3 64.4 765.9 64.0M486.2 373.0C491.2 372.0 496.4 370.5 501.0 369.0C505.6 367.5 509.1 366.1 513.6 364.0C518.1 361.9 523.6 359.0 528.0 356.3C532.4 353.6 534.5 352.7 540.0 347.9C545.5 343.1 556.0 333.0 561.0 327.5C566.0 322.1 567.2 319.8 570.0 315.3C572.8 310.9 575.9 305.4 578.1 301.0C580.2 296.6 581.5 293.5 583.0 289.0C584.5 284.5 586.1 279.0 587.1 274.0C588.1 269.0 588.6 263.5 588.9 259.0C589.2 254.5 589.0 251.0 588.7 247.0C588.3 243.0 587.8 239.0 586.9 235.0C586.0 231.0 584.9 227.0 583.4 223.0C581.9 219.0 580.2 215.0 578.0 211.0C575.8 207.0 573.1 202.8 570.3 199.0C567.5 195.2 564.4 191.7 561.0 188.2C557.6 184.7 556.1 182.7 549.6 178.0C543.1 173.3 533.1 166.0 521.8 160.0C510.5 154.0 496.3 147.6 481.8 142.0C467.4 136.4 450.3 130.8 435.0 126.4C419.7 122.0 403.5 118.1 390.0 115.7C376.5 113.2 362.5 112.1 354.0 111.4C345.5 110.7 344.0 111.2 339.0 111.5C334.0 111.9 328.5 112.6 324.0 113.5C319.5 114.5 315.5 115.8 312.0 117.3C308.5 118.7 306.0 119.9 303.0 122.4C300.0 124.9 296.2 128.7 294.0 132.4C291.8 136.2 290.5 140.4 289.9 145.0C289.3 149.6 289.4 154.5 290.2 160.0C291.1 165.5 291.4 169.0 295.0 178.0C298.6 187.0 299.7 191.2 312.0 214.3C324.3 237.4 357.5 296.4 369.0 316.6C380.5 336.8 377.5 330.6 381.0 335.7C384.5 340.7 386.5 343.1 390.0 346.8C393.5 350.4 398.0 354.6 402.0 357.6C406.0 360.7 410.0 363.0 414.0 365.1C418.0 367.1 421.2 368.5 425.7 370.0C430.2 371.5 436.0 373.0 441.0 373.9C446.0 374.8 451.0 375.3 456.0 375.5C461.0 375.7 466.0 375.6 471.0 375.2C476.0 374.8 481.2 374.0 486.2 373.0ZM117.1 562.0C125.1 560.7 134.9 558.9 144.0 555.9C153.1 552.9 162.8 548.9 171.8 544.0C180.8 539.1 189.8 533.2 198.0 526.7C206.2 520.2 214.3 512.6 221.1 505.0C228.0 497.4 234.5 488.5 239.0 481.0C243.6 473.5 246.6 465.5 248.5 460.0C250.5 454.5 250.5 451.5 250.9 448.0C251.3 444.5 251.2 442.0 250.9 439.0C250.6 436.0 250.0 433.0 249.0 430.0C248.0 427.0 246.8 424.0 245.0 421.0C243.3 418.0 241.2 415.0 238.6 412.0C236.0 409.0 235.4 407.5 229.4 403.0C223.5 398.5 213.4 391.0 202.9 385.0C192.4 379.0 180.3 373.0 166.2 367.0C152.1 361.0 133.2 353.8 118.5 349.0C103.8 344.2 90.2 340.7 78.0 338.1C65.8 335.5 55.0 334.1 45.0 333.5C35.0 332.9 24.5 333.9 18.0 334.6C11.5 335.3 9.5 336.5 6.0 337.7C2.5 338.8 0.5 339.4 -3.0 341.7C-6.5 344.0 -11.5 347.4 -15.0 351.2C-18.5 355.0 -21.5 359.3 -24.0 364.5C-26.5 369.6 -28.6 375.1 -30.2 382.0C-31.9 388.9 -33.3 397.0 -34.0 406.0C-34.8 415.0 -35.1 426.0 -34.7 436.0C-34.4 446.0 -33.4 456.5 -31.9 466.0C-30.5 475.5 -28.4 485.0 -26.0 493.0C-23.5 501.0 -20.2 508.4 -17.4 514.0C-14.5 519.6 -12.3 522.6 -9.0 526.6C-5.7 530.6 -1.7 534.6 2.5 538.0C6.7 541.4 11.2 544.3 16.3 547.0C21.4 549.7 26.7 552.0 33.0 554.2C39.3 556.3 47.0 558.4 54.0 559.9C61.0 561.3 68.0 562.3 75.0 562.9C82.0 563.6 89.0 563.8 96.0 563.7C103.0 563.5 109.1 563.3 117.1 562.0ZM1239.0 333.3C1236.0 333.4 1226.5 333.4 1221.0 334.2C1215.5 334.9 1210.5 336.1 1206.0 337.7C1201.5 339.2 1198.0 340.7 1194.0 343.5C1190.0 346.4 1185.2 350.8 1182.0 354.7C1178.8 358.6 1176.9 362.5 1174.8 367.0C1172.8 371.5 1171.2 376.0 1169.8 382.0C1168.3 388.0 1167.0 395.5 1166.2 403.0C1165.5 410.5 1165.1 418.5 1165.1 427.0C1165.2 435.5 1165.7 445.5 1166.5 454.0C1167.4 462.5 1168.6 470.5 1170.2 478.0C1171.8 485.5 1173.7 492.5 1176.0 499.0C1178.4 505.5 1181.3 511.8 1184.3 517.0C1187.3 522.2 1190.4 526.1 1194.0 530.1C1197.6 534.0 1201.5 537.4 1206.0 540.7C1210.5 543.9 1215.6 546.8 1221.0 549.3C1226.4 551.9 1235.6 554.9 1238.6 556.0M825.0 837.3C832.5 832.1 848.8 821.6 870.0 806.3C891.2 790.9 932.2 760.2 952.0 745.0C971.9 729.8 978.2 724.5 989.1 715.0C1000.0 705.5 1009.7 696.5 1017.6 688.0C1025.5 679.5 1032.3 670.0 1036.4 664.0C1040.6 658.0 1041.2 655.5 1042.7 652.0C1044.2 648.5 1044.9 646.0 1045.5 643.0C1046.1 640.0 1046.4 637.0 1046.3 634.0C1046.1 631.0 1045.3 627.5 1044.4 625.0C1043.5 622.5 1042.6 621.0 1041.2 619.0C1039.7 617.0 1039.2 615.6 1035.7 613.0C1032.2 610.4 1027.1 606.4 1020.0 603.6C1012.9 600.8 1003.0 597.8 993.0 595.9C983.0 594.1 971.5 592.9 960.0 592.4C948.5 591.9 935.5 592.2 924.0 593.0C912.5 593.9 901.5 595.4 891.0 597.3C880.5 599.2 871.0 601.4 861.0 604.6C851.0 607.7 840.2 611.8 831.2 616.0C822.2 620.2 815.0 624.2 807.0 629.7C799.0 635.1 790.8 641.5 783.0 648.7C775.2 655.9 768.2 663.5 760.5 673.0C752.7 682.5 744.0 694.5 736.4 706.0C728.8 717.5 720.8 731.0 714.8 742.0C708.9 753.0 704.3 763.0 700.7 772.0C697.1 781.0 694.8 790.0 693.3 796.0C691.7 802.0 691.7 804.0 691.4 808.0C691.0 812.0 690.5 815.0 691.2 820.0C691.8 825.0 694.5 835.0 695.1 838.0M694.2 130.0C699.0 129.5 713.2 128.5 723.0 126.8C732.8 125.1 744.0 122.4 753.0 119.8C762.0 117.1 769.0 114.4 777.0 110.8C785.0 107.2 792.0 103.8 801.0 98.1C810.0 92.4 813.4 91.0 831.0 76.4C848.6 61.7 884.1 28.9 906.6 10.0C929.1 -8.9 956.1 -29.3 966.0 -37.1M662.6 -38.0C659.5 -31.5 649.0 -11.5 643.9 1.0C638.8 13.5 634.6 28.0 632.0 37.0C629.5 46.0 629.4 49.0 628.6 55.0C627.7 61.0 627.2 67.5 626.9 73.0C626.6 78.5 626.6 83.0 626.9 88.0C627.2 93.0 627.9 99.0 628.6 103.0C629.3 107.0 630.1 109.5 631.1 112.0C632.0 114.5 632.8 116.2 634.1 118.0C635.4 119.8 637.2 121.7 639.0 123.0C640.8 124.4 640.5 125.0 645.0 126.1C649.5 127.3 657.8 129.3 666.0 130.0C674.2 130.6 689.5 130.0 694.2 130.0M-39.0 617.1C-36.5 616.6 -30.0 614.6 -24.0 613.8C-18.0 612.9 -19.0 611.9 -3.0 611.8C13.0 611.6 54.5 612.8 72.0 612.8C89.5 612.8 92.5 612.5 102.0 611.7C111.5 610.8 120.0 609.7 129.0 607.6C138.0 605.6 148.6 602.2 156.0 599.6C163.4 597.0 167.6 594.7 173.1 592.0C178.6 589.3 180.7 588.8 189.0 583.3C197.3 577.8 211.4 568.5 223.2 559.0C235.1 549.5 243.4 542.2 260.2 526.0C277.0 509.8 310.9 474.5 324.0 461.8C337.1 449.0 334.5 452.8 339.0 449.5C343.5 446.3 346.5 444.4 351.0 442.2C355.5 439.9 361.0 437.6 366.0 435.9C371.0 434.3 366.5 434.1 381.0 432.2C395.5 430.3 435.5 426.7 453.0 424.3C470.5 421.9 475.5 420.7 486.0 417.8C496.5 415.0 506.5 411.6 516.0 407.4C525.5 403.2 534.5 398.2 543.0 392.5C551.5 386.8 559.5 380.4 567.0 373.4C574.5 366.4 581.5 358.7 588.0 350.4C594.5 342.1 600.7 332.9 606.0 323.7C611.3 314.4 615.8 304.8 619.5 295.0C623.2 285.2 626.2 275.0 628.3 265.0C630.4 255.0 631.6 245.5 632.2 235.0C632.8 224.5 632.6 213.1 631.8 202.0C630.9 190.9 628.5 176.3 627.0 168.3C625.5 160.3 624.5 157.9 623.0 154.0C621.5 150.1 620.3 147.5 618.0 144.8C615.7 142.1 612.9 139.8 609.0 137.8C605.1 135.9 627.4 140.3 594.5 133.0C561.7 125.7 449.0 101.7 412.0 94.0C374.9 86.3 386.2 88.6 372.0 86.6C357.8 84.6 337.5 82.7 327.0 82.0C316.5 81.2 315.0 81.8 309.0 82.2C303.0 82.7 297.1 83.2 291.0 84.6C284.9 86.1 277.0 89.0 272.5 91.0C268.0 93.0 266.4 94.6 264.0 96.5C261.6 98.4 260.2 99.3 258.0 102.4C255.8 105.4 252.5 111.4 251.0 115.0C249.5 118.6 249.4 121.0 249.0 124.0C248.6 127.0 248.2 128.5 248.6 133.0C249.0 137.5 249.9 145.0 251.4 151.0C252.9 157.0 249.8 152.5 257.3 169.0C264.8 185.5 288.7 233.5 296.4 250.0C304.1 266.5 301.5 262.0 303.6 268.0C305.7 274.0 307.6 280.0 309.0 286.0C310.3 292.0 311.5 298.0 311.8 304.0C312.1 310.0 312.0 316.6 311.0 322.0C310.0 327.4 308.3 332.1 306.0 336.1C303.7 340.2 300.0 343.8 297.0 346.3C294.0 348.8 291.5 349.8 288.0 351.1C284.5 352.3 280.5 353.3 276.0 353.8C271.5 354.4 267.0 354.6 261.0 354.3C255.0 354.0 250.0 353.8 240.0 351.9C230.0 350.1 226.0 349.8 201.0 343.4C176.0 336.9 114.0 319.2 90.0 313.0C66.0 306.8 67.0 307.8 57.0 306.0C47.0 304.1 38.0 302.9 30.0 302.0C22.0 301.2 15.5 300.8 9.0 300.8C2.5 300.7 -3.5 301.0 -9.0 301.7C-14.5 302.4 -19.5 303.4 -24.0 304.8C-28.5 306.2 -34.2 309.1 -36.3 310.0M876.0 836.6C885.2 828.9 902.8 812.3 931.0 790.0C959.2 767.7 1013.8 727.8 1045.2 703.0C1076.5 678.2 1103.7 653.7 1119.0 641.2C1134.3 628.7 1131.0 631.8 1137.0 628.2C1143.0 624.5 1148.5 621.6 1155.0 619.2C1161.5 616.8 1168.5 615.0 1176.0 613.8C1183.5 612.5 1189.5 611.9 1200.0 611.7C1210.5 611.4 1232.5 612.0 1239.0 612.1M1239.0 303.1C1233.5 302.7 1214.0 301.0 1206.0 300.8C1198.0 300.6 1195.5 301.2 1191.0 301.7C1186.5 302.2 1183.0 302.8 1179.0 303.9C1175.0 305.0 1170.3 306.8 1167.0 308.3C1163.7 309.8 1161.6 311.1 1159.1 313.0C1156.6 314.9 1154.2 317.0 1152.0 319.5C1149.8 322.0 1148.0 324.1 1145.9 328.0C1143.9 331.9 1141.5 336.5 1139.6 343.0C1137.7 349.5 1136.7 346.5 1134.6 367.0C1132.5 387.5 1129.0 444.0 1127.0 466.0C1124.9 488.0 1124.3 489.5 1122.2 499.0C1120.1 508.5 1116.6 517.5 1114.4 523.0C1112.3 528.5 1111.5 528.9 1109.3 532.0C1107.1 535.1 1103.9 538.9 1101.0 541.5C1098.1 544.2 1095.0 546.1 1092.0 547.9C1089.0 549.7 1088.5 550.4 1083.0 552.0C1077.5 553.7 1067.5 556.3 1059.0 557.6C1050.5 559.0 1053.0 558.9 1032.0 560.0C1011.0 561.2 955.0 563.3 933.0 564.7C911.0 566.0 911.0 566.7 900.0 568.2C889.0 569.7 876.9 571.7 867.0 573.6C857.1 575.6 848.3 577.8 840.3 580.0C832.3 582.2 826.1 584.2 819.0 586.8C811.9 589.5 804.5 592.6 798.0 595.8C791.5 599.0 786.0 602.0 780.0 605.9C774.0 609.8 768.0 614.1 762.0 619.2C756.0 624.4 749.9 630.3 743.9 637.0C737.9 643.7 732.5 650.5 726.0 659.5C719.5 668.5 713.5 677.3 705.0 690.8C696.5 704.2 683.4 725.4 675.0 740.0C666.6 754.5 660.0 766.7 654.3 778.0C648.7 789.3 644.8 798.0 641.1 808.0C637.3 818.0 633.3 833.0 631.8 838.0M624.0 -36.3C618.0 -26.6 597.0 8.1 588.0 21.8C579.0 35.6 576.0 39.5 570.0 46.2C564.0 53.0 557.0 58.6 552.0 62.4C547.0 66.2 544.0 67.2 540.0 69.0C536.0 70.9 534.5 71.9 528.0 73.3C521.5 74.7 511.5 77.0 501.0 77.5C490.5 78.1 477.0 77.6 465.0 76.7C453.0 75.9 450.5 75.6 429.0 72.4C407.5 69.3 359.0 60.8 336.0 57.8C313.0 54.8 301.5 54.9 291.0 54.5C280.5 54.1 279.0 54.6 273.0 55.3C267.0 55.9 260.5 56.9 255.0 58.2C249.5 59.6 244.5 61.4 240.0 63.6C235.5 65.7 231.6 68.2 228.0 71.2C224.4 74.3 221.0 78.2 218.5 82.0C216.0 85.8 214.4 89.5 213.1 94.0C211.8 98.5 210.9 103.5 210.7 109.0C210.6 114.5 211.3 121.5 212.2 127.0C213.0 132.5 214.1 136.5 215.8 142.0C217.5 147.5 215.9 145.0 222.2 160.0C228.6 175.0 247.8 217.0 254.0 232.0C260.2 247.0 258.1 244.5 259.4 250.0C260.6 255.5 261.2 260.5 261.4 265.0C261.6 269.5 261.5 273.0 260.6 277.0C259.7 281.0 257.9 285.7 256.0 289.0C254.1 292.3 251.7 294.8 249.0 297.0C246.3 299.3 243.5 301.0 240.0 302.6C236.5 304.2 232.0 305.5 228.0 306.5C224.0 307.4 223.5 308.0 216.0 308.1C208.5 308.2 194.5 308.1 183.0 306.9C171.5 305.7 173.0 306.2 147.0 301.0C121.0 295.9 53.0 281.0 27.0 276.1C1.0 271.2 2.0 272.5 -9.0 271.7C-20.0 270.9 -34.0 271.5 -39.0 271.5M-36.7 670.0C-32.6 669.0 -20.1 665.4 -12.0 663.8C-3.9 662.3 -5.0 661.4 12.0 660.6C29.0 659.8 73.0 659.6 90.0 659.1C107.0 658.6 106.5 658.3 114.0 657.4C121.5 656.5 128.0 655.4 135.0 653.6C142.0 651.9 148.5 650.0 156.0 646.9C163.5 643.8 171.5 640.2 180.0 635.2C188.5 630.3 198.0 623.9 207.0 617.3C216.0 610.8 216.5 610.6 234.0 595.7C251.5 580.8 295.0 542.3 312.0 528.1C329.0 513.9 328.5 515.4 336.0 510.4C343.5 505.3 350.0 501.3 357.0 497.5C364.0 493.7 370.5 490.5 378.0 487.5C385.5 484.4 384.5 483.5 402.0 479.0C419.5 474.4 465.0 464.8 483.0 460.3C501.0 455.9 501.5 455.4 510.0 452.5C518.5 449.5 526.4 446.3 534.0 442.6C541.6 438.8 549.3 434.3 555.8 430.0C562.3 425.7 567.1 421.9 573.0 416.8C578.9 411.7 585.2 405.7 591.0 399.4C596.8 393.1 602.5 386.2 608.0 379.0C613.5 371.8 619.2 363.5 624.0 356.0C628.8 348.5 632.8 341.7 637.0 334.0C641.1 326.3 641.4 327.5 649.0 310.0C656.5 292.5 675.2 245.0 682.2 229.0C689.2 213.0 687.9 218.5 691.0 214.0C694.1 209.5 697.5 205.5 700.8 202.0C704.2 198.5 706.8 196.1 711.0 192.9C715.2 189.7 711.5 190.4 726.0 182.9C740.5 175.5 783.0 156.0 798.0 148.5C813.0 141.0 810.5 141.5 816.0 138.0C821.5 134.4 825.0 132.3 831.0 127.2C837.0 122.2 841.1 119.7 852.0 107.7C862.9 95.6 884.3 68.8 896.5 55.0C908.7 41.2 914.7 35.0 925.1 25.0C935.5 15.0 946.1 5.5 958.9 -5.0C971.7 -15.5 994.8 -32.5 1002.0 -38.0M1239.0 278.2C1231.5 277.1 1207.5 273.0 1194.0 272.0C1180.5 270.9 1166.3 271.4 1158.0 271.7C1149.7 272.1 1148.0 273.1 1144.0 274.0C1140.0 274.9 1137.4 275.7 1134.0 277.2C1130.6 278.7 1126.8 280.7 1123.8 283.0C1120.8 285.3 1118.4 287.4 1116.0 290.9C1113.6 294.4 1110.9 299.3 1109.2 304.0C1107.5 308.7 1107.2 301.0 1105.7 319.0C1104.2 337.0 1101.7 392.5 1100.2 412.0C1098.7 431.5 1098.2 428.5 1096.9 436.0C1095.5 443.5 1093.9 450.5 1092.0 457.0C1090.1 463.5 1088.0 469.5 1085.4 475.0C1082.9 480.5 1080.1 485.5 1077.0 490.0C1073.9 494.5 1070.7 498.2 1066.7 502.0C1062.8 505.8 1059.3 509.0 1053.0 512.6C1046.7 516.3 1038.0 520.6 1029.0 523.7C1020.0 526.8 1026.0 527.2 999.0 531.2C972.0 535.3 898.6 543.4 867.0 548.0C835.4 552.6 822.7 556.0 809.2 559.0C795.7 562.0 793.3 563.4 786.0 565.9C778.7 568.4 771.8 571.1 765.7 574.0C759.5 576.9 754.6 579.5 749.1 583.0C743.6 586.5 738.1 590.3 732.8 595.0C727.4 599.7 722.1 605.0 717.0 611.0C711.9 617.1 714.4 611.2 702.0 631.5C689.6 651.9 660.8 702.8 642.8 733.0C624.8 763.2 605.0 795.0 594.0 812.5C583.0 830.0 579.6 833.7 576.7 838.0M912.1 838.0C917.9 832.5 933.5 816.6 947.0 805.0C960.5 793.4 975.8 781.2 993.0 768.5C1010.2 755.9 1031.0 741.6 1050.0 729.3C1069.0 717.0 1092.0 703.2 1107.0 694.8C1122.0 686.4 1129.5 683.1 1140.0 678.6C1150.5 674.1 1159.5 670.8 1170.0 668.0C1180.5 665.2 1191.5 663.0 1203.0 661.5C1214.5 660.1 1233.0 659.7 1239.0 659.3M589.4 -38.0C584.7 -31.9 569.7 -11.5 561.0 -1.5C552.3 8.4 543.0 16.4 537.0 21.7C531.0 27.0 529.1 27.6 525.0 30.2C520.9 32.7 516.7 35.0 512.2 37.0C507.7 39.0 502.9 40.9 498.0 42.3C493.1 43.8 490.5 44.9 483.0 45.9C475.5 47.0 464.0 48.4 453.0 48.6C442.0 48.8 429.0 47.9 417.0 46.9C405.0 45.8 402.0 45.5 381.0 42.2C360.0 39.0 312.5 30.5 291.0 27.4C269.5 24.2 261.5 24.1 252.0 23.6C242.5 23.0 239.5 23.4 234.0 23.8C228.5 24.2 224.0 24.7 219.0 25.9C214.0 27.1 208.1 29.1 204.0 31.0C199.9 32.8 197.3 34.5 194.2 37.0C191.0 39.5 187.8 42.5 185.1 46.0C182.4 49.5 180.0 53.5 178.0 58.0C176.1 62.5 174.5 68.0 173.5 73.0C172.6 78.0 172.2 82.5 172.3 88.0C172.3 93.5 172.7 99.5 173.8 106.0C174.9 112.5 176.7 120.0 178.8 127.0C180.8 134.0 181.2 135.5 186.1 148.0C191.1 160.5 203.4 188.5 208.3 202.0C213.1 215.5 214.0 222.5 215.1 229.0C216.3 235.5 215.8 237.0 215.3 241.0C214.7 245.0 213.6 249.5 211.8 253.0C210.1 256.5 207.6 259.5 204.8 262.0C202.0 264.5 198.6 266.4 195.0 268.0C191.4 269.6 187.0 270.8 183.0 271.6C179.0 272.5 179.0 273.1 171.0 273.2C163.0 273.2 147.5 273.1 135.0 272.0C122.5 270.8 118.5 270.1 96.0 266.1C73.5 262.1 22.5 252.0 0.0 248.0C-22.5 244.1 -32.5 243.4 -39.0 242.4M-39.0 706.8C-34.5 706.0 -21.5 703.2 -12.0 702.2C-2.5 701.2 8.5 700.8 18.0 700.8C27.5 700.8 32.0 701.1 45.0 702.2C58.0 703.4 84.0 706.8 96.0 707.8C108.0 708.9 110.0 708.8 117.0 708.6C124.0 708.4 131.5 707.7 138.0 706.4C144.5 705.2 150.0 703.5 156.0 701.1C162.0 698.7 167.5 696.0 174.0 691.9C180.5 687.9 188.0 682.4 195.0 676.8C202.0 671.2 203.1 670.5 216.0 658.4C228.9 646.2 258.1 617.3 272.1 604.0C286.1 590.7 290.4 586.8 300.0 578.7C309.6 570.5 320.0 562.1 330.0 555.0C340.0 547.9 350.5 541.3 360.0 536.0C369.5 530.7 377.5 527.0 387.0 523.2C396.5 519.3 407.0 515.9 417.0 513.0C427.0 510.1 431.0 509.1 447.0 505.8C463.0 502.5 497.5 496.5 513.0 493.2C528.5 490.0 531.5 489.0 540.0 486.3C548.5 483.6 557.0 480.3 564.0 477.0C571.0 473.7 577.0 469.9 582.0 466.5C587.0 463.2 590.0 460.6 594.0 457.0C598.0 453.4 600.2 451.8 605.7 445.0C611.2 438.2 618.7 429.0 627.0 416.0C635.3 403.0 642.7 390.7 655.4 367.0C668.1 343.3 693.3 292.5 703.1 274.0C712.9 255.5 710.4 261.5 714.2 256.0C718.1 250.5 721.5 245.9 726.0 240.9C730.5 235.9 735.3 230.9 741.3 226.0C747.3 221.1 754.5 215.9 762.0 211.3C769.5 206.6 772.0 205.2 786.0 198.2C800.0 191.3 833.3 176.2 846.0 169.8C858.7 163.4 857.6 163.1 862.1 160.0C866.6 156.9 868.6 155.8 873.0 151.3C877.4 146.8 880.6 146.1 888.5 133.0C896.4 119.9 913.1 86.0 920.4 73.0C927.8 60.0 928.6 60.5 932.6 55.0C936.6 49.5 939.3 46.0 944.6 40.0C950.0 34.0 957.9 25.5 964.7 19.0C971.4 12.5 977.2 7.4 984.9 1.0C992.6 -5.4 1002.1 -12.8 1011.0 -19.2C1019.9 -25.6 1033.5 -34.4 1038.0 -37.4M1239.0 255.2C1228.5 253.4 1193.5 246.8 1176.0 244.3C1158.5 241.8 1144.0 241.1 1134.0 240.5C1124.0 239.8 1121.5 240.3 1116.0 240.7C1110.5 241.0 1105.5 241.6 1101.0 242.5C1096.5 243.4 1092.5 244.6 1089.0 246.0C1085.5 247.4 1082.4 249.4 1080.0 251.1C1077.6 252.7 1076.4 254.1 1074.9 256.0C1073.4 257.9 1072.1 259.7 1071.0 262.2C1069.9 264.7 1068.8 268.0 1068.2 271.0C1067.5 274.0 1067.3 276.0 1067.1 280.0C1067.0 284.0 1066.4 281.0 1067.5 295.0C1068.6 309.0 1072.8 348.5 1073.9 364.0C1074.9 379.5 1074.1 380.0 1073.6 388.0C1073.1 396.0 1072.0 405.0 1070.9 412.0C1069.8 419.0 1068.6 424.0 1066.9 430.0C1065.1 436.0 1062.8 442.5 1060.3 448.0C1057.9 453.5 1055.0 458.5 1052.0 463.0C1049.0 467.5 1045.7 471.5 1042.3 475.0C1039.0 478.5 1036.2 481.1 1032.0 484.3C1027.8 487.4 1022.5 490.9 1017.0 493.8C1011.5 496.7 1005.5 499.3 999.0 501.7C992.5 504.0 989.5 505.5 978.0 508.0C966.5 510.5 957.5 513.1 930.0 516.7C902.5 520.3 839.5 526.4 813.0 529.5C786.5 532.7 781.5 533.9 771.0 535.7C760.5 537.5 756.5 538.7 750.0 540.4C743.5 542.0 737.5 543.9 732.0 545.9C726.5 547.9 721.4 550.1 717.0 552.3C712.6 554.5 710.2 555.6 705.7 559.0C701.2 562.4 694.6 567.7 690.0 572.9C685.4 578.0 681.5 583.9 678.0 589.7C674.5 595.4 673.9 596.2 669.0 607.6C664.1 619.0 654.2 644.6 648.4 658.0C642.7 671.4 639.8 677.5 634.5 688.0C629.1 698.5 623.1 709.5 616.2 721.0C609.3 732.5 600.5 746.0 592.9 757.0C585.3 768.0 577.5 778.5 570.7 787.0C563.8 795.5 558.1 802.0 552.0 808.2C545.9 814.3 540.5 819.3 534.0 824.0C527.5 828.8 516.5 834.5 513.0 836.7M345.0 836.2C335.0 834.6 301.5 828.7 285.0 826.5C268.5 824.4 255.0 823.9 246.0 823.4C237.0 823.0 236.0 823.5 231.0 824.1C226.0 824.6 220.5 825.5 216.0 826.6C211.5 827.8 207.5 829.3 204.0 831.0C200.5 832.6 196.5 835.5 195.0 836.4M948.0 836.2C952.8 831.5 965.5 817.7 976.7 808.0C987.8 798.3 1001.3 787.7 1015.0 778.0C1028.7 768.3 1044.7 758.1 1059.0 749.8C1073.3 741.4 1088.0 733.9 1101.0 727.9C1114.0 721.9 1125.5 717.4 1137.0 713.6C1148.5 709.7 1159.0 707.0 1170.0 704.9C1181.0 702.8 1191.5 701.6 1203.0 701.0C1214.5 700.5 1233.0 701.6 1239.0 701.7M450.0 22.1C445.5 22.3 432.5 23.5 423.0 23.3C413.5 23.2 403.6 22.5 393.0 21.2C382.4 20.0 371.6 18.4 359.4 16.0C347.3 13.6 332.4 10.2 320.0 7.0C307.6 3.8 295.3 0.0 285.0 -3.5C274.7 -7.0 266.1 -10.2 258.1 -14.0C250.1 -17.8 242.4 -22.0 236.9 -26.0C231.4 -30.0 227.0 -35.8 225.0 -37.8M552.0 -36.1C548.0 -32.1 536.0 -18.8 528.0 -12.0C520.0 -5.1 512.2 0.4 504.0 5.1C495.8 9.7 488.1 13.2 479.1 16.0C470.1 18.8 454.8 21.1 450.0 22.1M81.0 -36.8C83.5 -35.2 91.6 -30.4 96.0 -27.1C100.4 -23.8 104.3 -20.2 107.3 -17.0C110.3 -13.8 112.1 -11.5 114.2 -8.0C116.3 -4.5 118.2 -1.0 119.8 4.0C121.4 9.0 122.2 11.0 123.8 22.0C125.4 33.0 127.6 58.0 129.3 70.0C131.1 82.0 132.2 85.5 134.5 94.0C136.7 102.5 138.2 108.0 142.8 121.0C147.4 134.0 157.9 160.5 162.0 172.0C166.0 183.5 166.0 184.0 167.2 190.0C168.4 196.0 169.2 203.0 169.1 208.0C169.0 213.0 168.0 216.5 166.6 220.0C165.1 223.5 163.1 226.4 160.4 229.0C157.6 231.6 154.2 233.9 150.0 235.7C145.8 237.5 141.0 238.8 135.0 239.8C129.0 240.7 121.5 241.1 114.0 241.1C106.5 241.0 99.0 240.5 90.0 239.6C81.0 238.7 81.4 239.3 60.0 235.6C38.6 231.8 -22.1 220.1 -38.5 217.0M873.0 499.1C862.0 499.4 828.0 501.2 807.0 501.2C786.0 501.3 760.5 500.0 747.0 499.3C733.5 498.6 732.5 498.0 726.0 497.1C719.5 496.1 713.0 494.9 708.0 493.7C703.0 492.4 699.5 491.2 696.0 489.7C692.5 488.2 689.7 486.7 687.0 484.7C684.3 482.8 681.9 480.6 679.9 478.0C677.9 475.4 676.2 472.3 675.0 469.3C673.8 466.3 673.1 463.5 672.6 460.0C672.0 456.5 671.7 452.5 671.8 448.0C671.9 443.5 672.5 438.0 673.2 433.0C673.9 428.0 673.6 427.0 676.2 418.0C678.9 409.0 683.3 393.5 689.0 379.0C694.6 364.5 703.1 345.4 710.3 331.0C717.5 316.6 724.9 303.6 732.0 292.8C739.1 282.0 745.5 274.0 753.0 266.1C760.5 258.2 768.0 251.7 777.0 245.4C786.0 239.1 795.5 233.5 807.0 228.2C818.5 222.8 833.0 217.5 846.0 213.3C859.0 209.2 867.6 206.8 885.0 203.4C902.4 200.0 937.7 195.3 950.2 193.0C962.7 190.7 958.0 190.5 960.0 189.5C962.0 188.5 961.8 188.4 962.2 187.0C962.7 185.6 964.5 188.5 962.7 181.0C961.0 173.5 954.1 153.0 951.8 142.0C949.6 131.0 949.2 122.0 949.0 115.0C948.7 108.0 949.6 104.5 950.2 100.0C950.9 95.5 950.8 94.0 952.8 88.0C954.9 82.0 959.5 70.5 962.7 64.0C966.0 57.5 969.1 53.5 972.2 49.0C975.4 44.5 975.5 43.5 981.6 37.0C987.8 30.5 998.8 18.7 1009.2 10.0C1019.6 1.3 1031.7 -7.5 1044.0 -15.3C1056.3 -23.1 1076.5 -33.2 1083.0 -36.8M1239.0 232.0C1220.5 228.4 1156.5 215.8 1128.0 210.8C1099.5 205.8 1083.0 203.8 1068.0 201.8C1053.0 199.8 1047.5 199.5 1038.0 198.9C1028.5 198.2 1018.1 197.9 1011.0 197.9C1003.9 197.9 999.2 198.3 995.4 199.0C991.7 199.7 990.0 200.5 988.6 202.0C987.2 203.5 987.1 206.0 987.2 208.0C987.2 210.0 982.4 200.5 988.8 214.0C995.3 227.5 1018.3 272.5 1026.0 289.0C1033.7 305.4 1032.5 305.1 1035.0 312.7C1037.5 320.2 1039.4 326.9 1041.0 334.5C1042.6 342.0 1044.0 350.1 1044.7 358.0C1045.5 365.9 1045.7 374.5 1045.3 382.0C1045.0 389.5 1044.3 396.0 1042.8 403.0C1041.4 410.0 1039.0 418.0 1036.7 424.0C1034.4 430.0 1032.3 434.2 1029.0 439.3C1025.7 444.4 1021.5 450.0 1017.0 454.7C1012.5 459.3 1007.5 463.5 1002.0 467.2C996.5 471.0 990.5 474.2 984.0 477.2C977.5 480.1 970.5 482.7 963.0 485.0C955.5 487.2 948.0 489.1 939.0 490.9C930.0 492.7 920.0 494.3 909.0 495.7C898.0 497.0 879.0 498.5 873.0 499.1M438.0 823.1C430.5 823.6 424.5 823.5 417.0 823.2C409.5 822.8 406.0 823.2 393.0 821.2C380.0 819.3 357.3 815.9 339.0 811.7C320.7 807.5 296.6 800.1 283.5 796.0C270.4 791.9 267.1 790.0 260.3 787.0C253.6 784.0 247.4 780.6 243.0 778.1C238.6 775.5 236.9 774.2 234.0 771.7C231.1 769.2 227.5 765.5 225.5 763.0C223.5 760.5 223.0 759.5 222.0 757.0C221.0 754.5 219.9 751.0 219.5 748.0C219.0 745.0 218.9 742.5 219.4 739.0C219.8 735.5 219.7 733.0 221.9 727.0C224.2 721.0 228.7 710.5 232.7 703.0C236.7 695.5 240.8 689.5 246.0 682.0C251.2 674.5 257.5 666.0 263.9 658.0C270.3 650.0 277.7 641.5 284.6 634.0C291.5 626.5 298.4 619.5 305.3 613.0C312.2 606.5 319.2 600.4 325.8 595.0C332.5 589.6 338.3 585.2 345.0 580.7C351.7 576.2 359.0 571.6 366.0 567.7C373.0 563.9 379.5 560.6 387.0 557.4C394.5 554.2 403.0 551.1 411.0 548.6C419.0 546.0 426.5 544.1 435.0 542.3C443.5 540.5 452.5 538.9 462.0 537.6C471.5 536.4 481.5 535.4 492.0 534.7C502.5 534.1 514.3 533.6 525.0 533.7C535.7 533.7 547.4 534.2 556.4 535.0C565.4 535.8 572.7 537.2 579.0 538.7C585.3 540.3 589.5 541.9 594.0 544.4C598.5 547.0 602.7 550.1 606.0 554.0C609.3 558.0 611.9 562.7 614.0 568.0C616.1 573.3 617.5 579.0 618.5 586.0C619.4 593.0 619.9 602.0 619.7 610.0C619.5 618.0 618.7 626.0 617.4 634.0C616.1 642.0 614.3 650.0 612.0 658.0C609.6 666.0 607.1 673.5 603.4 682.0C599.8 690.5 595.3 700.0 590.3 709.0C585.3 718.0 579.4 727.5 573.5 736.0C567.7 744.5 561.4 752.7 555.3 760.0C549.2 767.3 543.1 773.9 537.0 779.8C530.9 785.7 525.0 790.7 519.0 795.2C513.0 799.7 507.0 803.5 501.0 806.7C495.0 810.0 489.5 812.4 483.0 814.7C476.5 817.0 469.5 818.9 462.0 820.3C454.5 821.7 445.5 822.6 438.0 823.1ZM-36.7 739.0C-31.6 738.8 -16.3 737.4 -6.0 737.9C4.3 738.4 14.5 739.7 25.0 742.0C35.5 744.3 46.9 747.8 57.0 751.8C67.1 755.8 78.3 761.6 85.9 766.0C93.4 770.4 97.4 773.5 102.2 778.0C107.1 782.5 111.5 787.5 114.8 793.0C118.0 798.5 120.0 803.5 121.8 811.0C123.6 818.5 124.9 833.5 125.5 838.0M981.0 837.8C985.0 833.7 995.5 821.8 1005.0 813.6C1014.5 805.4 1026.5 796.3 1038.0 788.6C1049.5 780.9 1062.0 773.7 1074.0 767.6C1086.0 761.5 1098.5 756.1 1110.0 751.9C1121.5 747.7 1132.0 744.7 1143.0 742.3C1154.0 740.0 1165.5 738.5 1176.0 737.9C1186.5 737.4 1195.8 737.7 1206.0 738.9C1216.2 740.1 1231.8 744.0 1237.0 745.0M426.0 -1.9C420.0 -2.1 402.0 -1.7 390.0 -3.1C378.0 -4.5 365.5 -7.0 354.0 -10.2C342.5 -13.3 328.7 -18.9 321.0 -22.0C313.3 -25.1 311.7 -26.6 307.7 -29.0C303.7 -31.4 298.8 -35.2 297.0 -36.5M513.0 -37.0C509.9 -34.7 500.6 -27.1 494.1 -23.0C487.6 -18.9 481.4 -15.5 474.0 -12.5C466.6 -9.6 458.0 -6.8 450.0 -5.1C442.0 -3.3 430.0 -2.4 426.0 -1.9M93.0 205.2C89.5 205.6 80.5 207.4 72.0 207.6C63.5 207.7 53.0 207.1 42.0 206.0C31.0 204.8 19.5 203.0 6.0 200.6C-7.5 198.1 -31.5 192.8 -39.0 191.2M-39.0 -26.8C-36.0 -26.6 -26.5 -26.2 -21.0 -25.5C-15.5 -24.8 -11.0 -23.9 -6.0 -22.6C-1.0 -21.3 4.0 -19.7 9.0 -17.7C14.0 -15.6 19.4 -13.0 24.0 -10.4C28.6 -7.8 32.3 -5.4 36.7 -2.0C41.0 1.4 46.2 6.0 50.1 10.0C54.0 14.0 56.9 17.7 60.1 22.0C63.3 26.3 65.3 28.8 69.0 35.8C72.7 42.8 76.6 49.9 82.6 64.0C88.6 78.1 99.7 106.6 105.0 120.6C110.3 134.6 112.3 140.4 114.5 148.0C116.8 155.6 117.9 160.5 118.6 166.0C119.3 171.5 119.4 176.5 118.7 181.0C117.9 185.5 116.3 189.4 114.0 192.7C111.7 196.0 108.5 198.5 105.0 200.6C101.5 202.7 95.0 204.4 93.0 205.2M1239.0 205.6C1231.0 204.3 1208.9 201.3 1191.0 197.7C1173.1 194.1 1149.6 188.6 1131.6 184.0C1113.6 179.4 1096.6 174.4 1083.0 169.9C1069.4 165.4 1059.6 161.5 1050.1 157.0C1040.6 152.5 1032.9 148.1 1026.0 143.1C1019.1 138.1 1012.6 131.2 1008.7 127.0C1004.8 122.8 1004.3 121.0 1002.7 118.0C1001.0 115.0 999.8 113.5 998.6 109.0C997.4 104.5 995.8 96.0 995.5 91.0C995.2 86.0 995.7 83.5 996.7 79.0C997.8 74.5 999.4 69.0 1001.7 64.0C1003.9 59.0 1006.8 54.0 1010.3 49.0C1013.7 44.0 1017.9 38.9 1022.6 34.0C1027.2 29.1 1032.5 24.3 1038.0 19.8C1043.5 15.3 1049.1 11.1 1055.5 7.0C1061.9 2.9 1069.5 -1.5 1076.3 -5.0C1083.2 -8.5 1089.9 -11.4 1096.5 -14.0C1103.1 -16.6 1109.3 -18.6 1116.0 -20.5C1122.7 -22.3 1130.5 -23.9 1137.0 -25.0C1143.5 -26.0 1149.0 -26.5 1155.0 -26.7C1161.0 -26.9 1167.0 -26.8 1173.0 -26.2C1179.0 -25.7 1185.5 -24.6 1191.0 -23.3C1196.5 -22.1 1200.7 -20.9 1206.0 -18.8C1211.3 -16.8 1217.9 -13.8 1223.0 -11.0C1228.1 -8.2 1234.4 -3.5 1236.7 -2.0M891.0 472.1C880.5 473.1 869.0 473.5 858.0 473.5C847.0 473.4 835.5 472.8 825.0 471.8C814.5 470.7 804.0 469.1 795.0 467.2C786.0 465.2 777.8 462.7 770.8 460.0C763.9 457.3 758.5 454.5 753.4 451.0C748.2 447.5 743.7 443.5 740.1 439.0C736.5 434.5 733.8 429.5 731.9 424.0C729.9 418.5 729.1 411.0 728.6 406.0C728.1 401.0 728.5 398.5 729.0 394.0C729.4 389.5 729.4 386.5 731.4 379.0C733.5 371.5 737.0 359.0 741.2 349.0C745.4 339.0 752.4 326.5 756.7 319.0C761.0 311.5 763.7 308.5 767.2 304.0C770.6 299.5 772.3 297.0 777.4 292.0C782.6 287.0 792.6 278.3 798.0 274.0C803.4 269.7 805.5 268.8 810.0 266.2C814.5 263.6 817.5 261.5 825.0 258.5C832.5 255.6 845.0 250.9 855.0 248.6C865.0 246.3 876.0 245.2 885.0 244.8C894.0 244.4 901.0 244.9 909.0 246.2C917.0 247.5 925.5 249.7 933.0 252.5C940.5 255.3 947.5 258.9 954.0 263.0C960.5 267.2 966.0 271.3 972.0 277.1C978.0 282.9 984.9 290.8 990.0 297.8C995.1 304.8 998.9 311.5 1002.5 319.0C1006.0 326.5 1009.1 334.5 1011.2 343.0C1013.3 351.5 1014.6 362.0 1015.0 370.0C1015.4 378.0 1014.5 384.4 1013.4 391.0C1012.2 397.6 1010.6 403.3 1008.0 409.3C1005.4 415.3 1001.9 421.6 997.9 427.0C993.9 432.4 989.3 437.2 984.0 441.5C978.7 445.9 972.5 449.9 966.0 453.3C959.5 456.7 952.5 459.5 945.0 461.9C937.5 464.4 930.0 466.3 921.0 468.0C912.0 469.7 901.5 471.2 891.0 472.1ZM444.0 796.1C435.5 797.2 422.5 798.6 411.0 798.4C399.5 798.1 387.0 796.8 375.0 794.6C363.0 792.4 350.0 789.0 339.0 785.2C328.0 781.4 315.5 775.0 309.0 771.7C302.5 768.5 303.2 768.3 300.0 765.8C296.8 763.4 292.7 760.0 289.9 757.0C287.0 754.0 284.8 751.0 282.9 748.0C281.0 745.0 279.7 742.0 278.6 739.0C277.6 736.0 276.9 733.5 276.5 730.0C276.1 726.5 275.5 723.5 276.4 718.0C277.2 712.5 279.6 703.0 281.7 697.0C283.8 691.0 286.0 687.0 288.8 682.0C291.5 677.0 294.6 672.0 298.0 667.0C301.5 662.0 305.0 657.2 309.3 652.0C313.7 646.8 319.1 640.7 324.0 635.7C328.9 630.7 333.7 626.3 338.7 622.0C343.7 617.7 349.0 613.6 354.0 610.0C359.0 606.4 363.5 603.4 369.0 600.1C374.5 596.9 381.0 593.3 387.0 590.5C393.0 587.7 399.0 585.2 405.0 583.0C411.0 580.9 417.0 579.1 423.0 577.5C429.0 576.0 434.5 574.8 441.0 573.7C447.5 572.7 455.0 571.8 462.0 571.3C469.0 570.8 476.5 570.8 483.0 570.9C489.5 571.1 495.5 571.7 501.0 572.4C506.5 573.1 510.9 573.9 516.0 575.1C521.1 576.4 526.6 578.0 531.6 580.0C536.6 582.0 541.6 584.4 546.0 587.3C550.4 590.2 554.5 593.5 558.0 597.1C561.5 600.8 564.6 605.2 567.0 609.3C569.4 613.5 571.0 617.4 572.3 622.0C573.7 626.6 574.8 631.5 575.2 637.0C575.6 642.5 575.6 649.0 575.0 655.0C574.4 661.0 573.2 667.0 571.6 673.0C570.0 679.0 568.2 684.5 565.4 691.0C562.6 697.5 558.7 705.4 555.0 711.9C551.3 718.4 547.6 724.0 543.2 730.0C538.8 736.0 533.5 742.5 528.4 748.0C523.4 753.5 518.2 758.5 513.0 763.0C507.8 767.5 502.7 771.4 497.2 775.0C491.7 778.6 485.9 782.0 480.0 784.8C474.1 787.6 468.0 789.9 462.0 791.8C456.0 793.7 452.5 795.0 444.0 796.1ZM-39.0 773.2C-36.0 773.4 -26.5 773.8 -21.0 774.5C-15.5 775.2 -11.0 776.1 -6.0 777.4C-1.0 778.7 3.9 780.2 9.0 782.3C14.1 784.4 19.7 787.1 24.7 790.0C29.7 792.9 34.6 796.3 39.0 799.8C43.4 803.3 47.4 807.1 51.0 811.0C54.6 814.8 57.6 818.5 60.8 823.0C64.0 827.5 68.7 835.5 70.2 838.0M1020.0 836.8C1023.6 833.5 1033.0 823.5 1041.5 817.0C1050.0 810.5 1060.9 803.3 1071.0 797.8C1081.1 792.3 1091.4 787.7 1101.9 784.0C1112.4 780.3 1123.6 777.3 1134.0 775.5C1144.4 773.7 1154.5 773.1 1164.0 773.3C1173.5 773.5 1182.5 774.7 1191.0 776.7C1199.5 778.6 1207.2 781.2 1215.0 784.9C1222.8 788.6 1234.1 796.7 1238.0 799.0M435.0 -31.4C432.5 -31.1 425.5 -29.9 420.0 -29.6C414.5 -29.3 407.8 -29.3 402.0 -29.7C396.2 -30.1 390.4 -30.9 384.9 -32.0C379.4 -33.1 371.7 -35.5 369.0 -36.2M453.0 -36.2C450.0 -35.4 438.0 -32.2 435.0 -31.4M36.0 166.3C33.5 166.6 26.5 167.9 21.0 168.2C15.5 168.4 13.0 168.9 3.0 167.6C-7.0 166.4 -32.0 161.8 -39.0 160.6M-39.0 14.6C-37.0 15.1 -31.0 16.4 -27.0 17.8C-23.0 19.2 -19.0 20.8 -15.0 22.8C-11.0 24.9 -7.0 27.2 -3.0 30.0C1.0 32.7 3.9 34.4 9.0 39.6C14.1 44.7 21.7 52.6 27.7 61.0C33.7 69.4 40.1 80.1 45.0 90.1C49.9 100.1 54.7 113.9 57.1 121.0C59.5 128.1 59.0 129.5 59.4 133.0C59.8 136.5 59.9 139.0 59.6 142.0C59.2 145.0 58.4 148.5 57.4 151.0C56.4 153.5 55.6 155.0 53.6 157.0C51.6 159.0 48.5 161.4 45.6 163.0C42.6 164.6 37.6 165.8 36.0 166.3M1236.0 166.3C1232.0 166.6 1221.5 168.5 1212.0 168.2C1202.5 167.9 1191.0 166.6 1179.0 164.4C1167.0 162.2 1152.6 158.8 1140.0 155.1C1127.4 151.3 1113.7 146.2 1103.7 142.0C1093.7 137.8 1087.1 134.3 1080.0 129.8C1072.9 125.3 1065.9 120.0 1060.9 115.0C1055.8 110.0 1052.2 104.0 1049.8 100.0C1047.3 96.0 1047.2 94.0 1046.4 91.0C1045.7 88.0 1045.2 85.5 1045.3 82.0C1045.3 78.5 1045.8 74.0 1046.9 70.0C1048.1 66.0 1049.8 62.0 1052.2 58.0C1054.7 54.0 1058.2 49.5 1061.4 46.0C1064.6 42.5 1067.2 40.1 1071.3 37.0C1075.4 33.9 1080.6 30.3 1086.0 27.3C1091.4 24.4 1098.5 21.3 1104.0 19.3C1109.5 17.3 1113.5 16.2 1119.0 15.1C1124.5 14.0 1131.5 13.1 1137.0 12.8C1142.5 12.5 1147.0 12.7 1152.0 13.2C1157.0 13.8 1162.0 14.6 1167.0 16.0C1172.0 17.3 1177.5 19.4 1182.0 21.4C1186.5 23.4 1190.0 25.3 1194.0 27.9C1198.0 30.5 1202.1 33.5 1206.1 37.0C1210.1 40.5 1214.4 44.8 1218.0 48.8C1221.6 52.8 1224.5 56.5 1227.7 61.0C1231.0 65.5 1235.8 73.5 1237.4 76.0M885.0 442.2C878.5 442.5 871.0 442.5 864.0 442.1C857.0 441.6 849.5 440.6 843.0 439.4C836.5 438.2 830.8 436.7 825.0 434.7C819.2 432.6 812.9 429.8 808.0 427.0C803.2 424.2 799.5 421.5 796.0 418.0C792.4 414.5 788.9 410.0 786.6 406.0C784.2 402.0 782.9 398.5 781.9 394.0C780.8 389.5 780.1 384.5 780.3 379.0C780.5 373.5 781.4 367.0 783.0 361.0C784.6 355.0 786.8 349.0 789.9 343.0C792.9 337.0 797.1 330.4 801.0 325.2C804.9 320.0 808.5 316.1 813.0 312.0C817.5 307.8 822.5 303.8 828.0 300.3C833.5 296.8 840.0 293.5 846.0 291.1C852.0 288.6 857.5 286.9 864.0 285.7C870.5 284.5 878.5 283.7 885.0 283.6C891.5 283.6 897.0 284.2 903.0 285.3C909.0 286.5 915.5 288.4 921.0 290.5C926.5 292.7 931.0 294.9 936.0 298.1C941.0 301.2 946.6 305.5 951.0 309.5C955.4 313.5 958.8 317.4 962.1 322.0C965.5 326.6 968.7 332.0 971.1 337.0C973.5 342.0 975.2 346.5 976.5 352.0C977.7 357.5 978.6 364.5 978.6 370.0C978.7 375.5 977.9 380.3 976.8 385.0C975.7 389.7 974.3 393.7 972.0 398.0C969.7 402.4 966.2 407.5 963.0 411.3C959.8 415.2 956.5 418.0 952.5 421.0C948.5 424.0 944.1 426.8 939.0 429.3C933.9 431.8 927.8 434.2 921.8 436.0C915.8 437.8 909.1 439.2 903.0 440.3C896.9 441.3 891.5 441.9 885.0 442.2ZM432.0 769.1C425.5 769.9 416.0 770.8 408.0 770.6C400.0 770.4 392.0 769.5 384.0 767.8C376.0 766.1 367.0 763.3 360.0 760.3C353.0 757.4 346.8 753.5 342.0 749.9C337.2 746.4 334.0 743.3 331.0 739.0C327.9 734.7 325.0 728.0 323.6 724.0C322.1 720.0 322.4 718.0 322.2 715.0C322.1 712.0 321.7 710.5 322.6 706.0C323.5 701.5 324.9 694.5 327.8 688.0C330.7 681.5 335.2 673.6 340.1 667.0C345.0 660.4 350.7 654.0 357.0 648.1C363.3 642.2 370.5 636.5 378.0 631.6C385.5 626.7 394.0 622.2 402.0 618.8C410.0 615.3 417.5 612.8 426.0 610.9C434.5 609.0 444.5 607.6 453.0 607.2C461.5 606.8 469.5 607.4 477.0 608.7C484.5 609.9 492.5 612.5 498.0 614.6C503.5 616.7 506.7 619.0 510.0 621.2C513.3 623.4 515.6 625.4 518.1 628.0C520.6 630.6 523.1 633.8 525.0 636.8C526.9 639.8 528.2 642.5 529.4 646.0C530.6 649.5 531.7 654.0 532.2 658.0C532.7 662.0 532.7 666.0 532.4 670.0C532.1 674.0 531.6 677.5 530.4 682.0C529.2 686.5 527.4 692.0 525.2 697.0C523.0 702.0 520.0 707.5 517.2 712.0C514.5 716.5 511.8 720.1 508.6 724.0C505.4 727.9 501.6 732.2 498.0 735.7C494.4 739.2 491.3 741.9 487.3 745.0C483.3 748.1 478.3 751.5 474.1 754.0C469.9 756.5 466.5 758.3 462.0 760.2C457.5 762.2 452.0 764.2 447.0 765.7C442.0 767.2 438.5 768.3 432.0 769.1ZM-39.0 814.6C-37.0 815.1 -31.0 816.4 -27.0 817.8C-23.0 819.2 -20.5 819.6 -15.0 822.8C-9.5 826.0 2.5 834.6 6.0 836.9M1071.0 837.3C1073.5 835.6 1080.5 830.4 1086.0 827.4C1091.5 824.4 1098.0 821.4 1104.0 819.3C1110.0 817.2 1116.0 815.6 1122.0 814.5C1128.0 813.4 1134.0 812.8 1140.0 812.7C1146.0 812.6 1152.0 813.0 1158.0 814.0C1164.0 815.1 1170.5 816.9 1176.0 818.9C1181.5 820.9 1186.0 823.1 1191.0 826.1C1196.0 829.1 1203.5 835.1 1206.0 836.9M897.0 388.3C893.1 389.7 888.5 390.1 885.0 390.2C881.5 390.4 879.3 390.2 876.0 389.3C872.7 388.4 868.1 386.7 865.2 385.0C862.3 383.3 860.2 381.0 858.6 379.0C857.0 377.0 856.1 375.5 855.5 373.0C854.9 370.5 854.4 367.0 854.9 364.0C855.4 361.0 857.0 357.5 858.5 355.0C860.0 352.5 861.1 350.9 864.0 348.8C866.9 346.7 872.0 343.7 876.0 342.4C880.0 341.1 884.0 340.7 888.0 341.0C892.0 341.2 896.2 342.0 900.0 343.8C903.8 345.7 908.2 349.1 910.8 352.0C913.4 354.9 914.5 358.5 915.4 361.0C916.2 363.5 916.1 365.0 915.9 367.0C915.8 369.0 916.0 370.5 914.7 373.0C913.4 375.5 911.3 379.4 908.4 382.0C905.4 384.6 900.9 387.0 897.0 388.3ZM423.0 730.2C418.6 730.7 414.5 730.4 411.0 730.1C407.5 729.8 405.1 729.3 402.0 728.3C398.9 727.3 395.0 725.7 392.2 724.0C389.4 722.3 387.0 720.0 385.1 718.0C383.3 716.0 382.3 714.5 381.3 712.0C380.4 709.5 379.5 706.0 379.3 703.0C379.2 700.0 379.8 696.9 380.5 694.0C381.3 691.1 382.4 688.6 384.0 685.9C385.6 683.1 387.5 680.3 390.0 677.4C392.5 674.6 396.0 671.4 399.0 669.0C402.0 666.6 404.5 665.0 408.0 663.1C411.5 661.2 416.0 659.2 420.0 657.8C424.0 656.5 428.0 655.5 432.0 655.0C436.0 654.4 440.5 654.3 444.0 654.5C447.5 654.6 450.0 655.0 453.0 655.9C456.0 656.7 459.0 657.6 462.0 659.4C465.0 661.3 468.7 664.2 470.8 667.0C473.0 669.8 474.4 672.5 475.1 676.0C475.9 679.5 476.1 684.0 475.4 688.0C474.7 692.0 473.3 696.0 471.1 700.0C468.8 704.0 465.4 708.5 461.9 712.0C458.5 715.5 454.4 718.5 450.4 721.0C446.3 723.5 442.1 725.5 437.5 727.0C433.0 728.5 427.4 729.6 423.0 730.2Z' fill='none' stroke='%23B0B0B0' stroke-opacity='.4' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:950px auto;background-position:center top}
  .svc-explore .sec-head .eyebrow,.svc-explore .sec-head>p,.xp-next p{color:#4D5752}
  .svc-explore .sec-head h2{color:#17201A}
  .xp-list{display:grid;height:auto;gap:.875rem;margin-top:2rem;container-type:normal}
  .xp-card{flex:none;background:var(--band-bg);color:var(--band-ink);box-shadow:none;transform:none!important}
  .xp-media{position:relative;inset:auto;z-index:0;aspect-ratio:8/5}
  .xp-media img{position:static;width:100%!important;height:100%;transform:none!important}
  .xp-shade,.xp-toggle,.xp-pick,.xp-line,.xp-tags{display:none}
  .xp-card::before,.xp-card::after{display:none}
  .xp-copy{position:relative;padding:1.4rem 1.25rem 1.6rem;pointer-events:auto}
  .xp-name{font-size:clamp(1.5rem,6vw,1.8rem)!important;color:var(--band-ink)}
  .xp-text{max-height:none!important;opacity:1!important;margin-top:.8rem!important;color:var(--band-ink)}
  .xp-full{display:none!important}.xp-short{display:inline!important}
  .xp-copy .btn-row{max-height:none!important;opacity:1!important;margin-top:1.1rem!important;gap:1rem 1.25rem;align-items:center}
  .xp-btn{background:var(--band-btn);color:var(--band-btn-ink);border-color:var(--band-btn);max-width:100%;white-space:normal;text-align:center}
  .xp-quote{color:var(--band-ink)}
  .xp-link{border-color:rgba(23,32,26,.42);color:#17201A}
  .xp-link:hover{background:#17201A;color:#FFFFFF;border-color:#17201A}
  .xp-link:focus-visible,.xp-arrow:focus-visible{outline-color:#17201A}
  .xp-arrow{color:#17201A}
}

/* ===== Our approach: white panels that tint and thicken their top bar on hover; the selected one keeps it ===== */
.approach-value{background:transparent;border-top:0;position:relative;padding-top:calc(1.5rem + 4px);transition:flex-grow .65s cubic-bezier(.22,.8,.2,1),background-color .3s ease,box-shadow .5s ease}
.approach-value::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.approach-value:hover::before,.approach-value.is-active::before{height:10px}
.approach-value:not(.is-active):hover{background:color-mix(in srgb,var(--pt) 55%,#FFFFFF)}
.approach-values:not(:has(.is-active)) .approach-value:first-child::before{height:10px}

/* ===== Why Pristine: outline icons with no tile behind them, and a quicker hover ===== */
.points--cards .point .icon-sq,.points--cards .point .icon-sq--blue{background:none;width:auto;height:auto;border-radius:0;color:var(--pi);margin:0}
.points--cards .point .icon-sq{display:block;align-self:flex-start;line-height:0}
.points--cards .point .icon-sq svg{width:3.5rem;height:3.5rem;stroke-width:1.35}
.points--cards .point{transition:flex-grow .4s cubic-bezier(.22,.8,.2,1),background-color .2s ease,border-color .2s ease,box-shadow .3s ease}
.points--cards .point h4{transition:color .2s ease}
.points--cards .point p{transition:max-height .35s cubic-bezier(.22,.8,.2,1),opacity .15s ease,margin .25s ease,transform .3s ease}
.points--cards .point.is-active p{transition-delay:0s,.08s,0s,.05s}

/* ===== Grey sections and the footer run the full width of the screen; only their content sits in the margins ===== */
.section--tint{width:100%;max-width:none;margin-inline:0;border-radius:0}
.section--tint>.wrap{width:calc(100% - 2*var(--fg));max-width:var(--site);padding-inline:var(--pad)}
.section--tint+.section--tint,.section--tint+.section--deep,.section--deep+.section--tint{margin-top:0}
.site-footer{width:100%;max-width:none;margin-inline:0;margin-bottom:0;border-radius:0;border-top:1px solid var(--deep-line)}
.site-footer>.wrap{width:calc(100% - 2*var(--fg));max-width:var(--site);padding-inline:var(--pad)}
@media (max-width:600px){
  .svc-explore .sec-head{display:block;text-align:center}
  .svc-explore .sec-head .eyebrow{justify-content:center}
  .svc-explore .sec-head>p{margin:1rem auto 0;max-width:34ch}
}

/* ===== One card style across the site: a thin coloured bar on top that thickens on hover ===== */
:root{--bar-thin:4px;--bar-thick:10px}
/* Why Pristine: same bar, corners, type and icon sizes as Our values */
.points--cards{min-height:21rem}
.points--cards .point{border-radius:2px 2px 5px 5px;border-color:transparent;padding-top:calc(clamp(1.25rem,2.2vw,1.75rem) + var(--bar-thin))}
.points--cards .point.is-active{border-color:transparent}
.points--cards .point::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--pc);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.points--cards .point:hover::before,.points--cards .point:focus-visible::before{height:var(--bar-thick)}
.points--cards .point h4{font-family:var(--serif);font-weight:400;font-size:clamp(1.45rem,2vw,1.75rem);line-height:1.1}
.points--cards .point.is-active h4,.points--cards:not(:has(.is-active)) .point:first-child h4{font-size:clamp(1.8rem,2.8vw,2.4rem)}
.points--cards .point h4{transition:color .2s ease,font-size .4s cubic-bezier(.22,.8,.2,1)}
.points--cards .point p{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;max-width:38ch}
.points--cards .point.is-active p,.points--cards:not(:has(.is-active)) .point:first-child p{max-height:16rem}
.points--cards .point .icon-sq svg{width:2.75rem;height:2.75rem;transition:width .4s cubic-bezier(.22,.8,.2,1),height .4s cubic-bezier(.22,.8,.2,1)}
.points--cards .point.is-active .icon-sq svg,.points--cards:not(:has(.is-active)) .point:first-child .icon-sq svg{width:3.5rem;height:3.5rem}
/* Areas we cover cards */
.area-card{position:relative;border-radius:2px 2px 5px 5px;padding-top:calc(1.4rem + var(--bar-thin));--bar:#3A4C39}
.area-card:nth-child(2){--bar:#495D7B}.area-card:nth-child(3){--bar:#B16B4E}.area-card:nth-child(4){--bar:#DBC924}.area-card:nth-child(5){--bar:#3A4C39}.area-card:nth-child(6){--bar:#495D7B}
.area-card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:var(--bar-thin);background:var(--bar);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.area-card:hover{transform:none;border-color:var(--line)}
.area-card:hover::before,.area-card:focus-visible::before{height:var(--bar-thick)}
.area-card h3{font-size:clamp(1.3rem,1.7vw,1.5rem)}
/* Google reviews */
.gr{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
.gr-card{box-sizing:border-box;min-width:0;max-width:100%}
.gr-card>div{min-width:0}
@media (max-width:600px){.gr-card .btn-row,.gr-card .btn{width:100%}.gr-card .btn{justify-content:center}}
.gr-embed:empty{display:none}
.gr-card{--bar:#B16B4E;position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem 2rem;padding:calc(clamp(1.5rem,3vw,2.25rem) + var(--bar-thin)) clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2.25rem);background:var(--surface-2);border-radius:2px 2px 5px 5px;transition:background-color .3s ease,box-shadow .4s ease}
.gr-card::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.gr-card:hover{background:#F8EBE4}
.gr-card:hover::before{height:var(--bar-thick)}
.gr-card h3{margin:0;font-size:clamp(1.45rem,2vw,1.75rem);line-height:1.1}
.gr-card p{margin:.7rem 0 0;max-width:52ch;color:var(--text-2)}
.gr-card .btn-row{margin:0}
@media (prefers-reduced-motion:reduce){.points--cards .point::before,.area-card::before,.gr-card::before,.points--cards .point .icon-sq svg{transition:none}}

/* ===== Header: clear over the hero photo, dark frosted glass everywhere else (the same recipe Apple uses) ===== */
.site-header,.site-header.is-scrolled{--hd-line:rgba(255,255,255,.14);padding-top:0;color:#fff;background:rgba(10,12,11,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hd-line);transition:transform .5s var(--ease),background-color .45s ease,border-color .45s ease,-webkit-backdrop-filter .45s ease,backdrop-filter .45s ease}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header,.site-header.is-scrolled{background:rgba(10,12,11,.95)}}
/* at the very top of a page that opens on a photo: no bar at all, just a thin light line */
.site-header.has-hero.is-top{--hd-line:rgba(255,255,255,.24);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
/* a soft shade behind the links so they stay legible on bright photos */
.site-header::before{content:"";position:absolute;left:0;right:0;top:0;bottom:-3rem;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,0));opacity:0;transition:opacity .45s ease}
.site-header.has-hero.is-top::before{opacity:1}
/* logo, links and button, all light on dark */
.site-header .brand{color:#fff}
.site-header .brand [data-logo] img.logo-ink{display:none}
.site-header .brand [data-logo] img.logo-cream{display:block}
.site-header .nav a,.site-header .nav button.nav-link{color:rgba(255,255,255,.92);transition:background-color .2s ease,color .2s ease}
.site-header .nav a:hover,.site-header .nav button.nav-link:hover,.site-header .has-menu[data-open="true"]>.nav-link{background:rgba(255,255,255,.14);color:#fff}
.site-header .nav a[aria-current="page"],.site-header .nav .nav-link.is-active{background:rgba(255,255,255,.18);color:#fff}
.site-header .nav a.btn{color:var(--cta-ink);background:var(--cta)}
.site-header .nav a.btn:hover{background:var(--cta-hover);color:var(--cta-ink)}
.site-header .menu-toggle{color:#fff;border-color:rgba(255,255,255,.55);transition:background-color .2s ease,border-color .2s ease}
.site-header .menu-toggle:hover{background:rgba(255,255,255,.14);border-color:#fff}
.site-header :focus-visible{outline:2px solid #fff;outline-offset:2px}
/* the Services dropdown follows suit */
.site-header .menu{background:rgba(10,12,11,.88);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border:1px solid rgba(255,255,255,.14);box-shadow:0 1.5rem 3.5rem -1.5rem rgba(0,0,0,.7);color:#fff}
.site-header .menu a{color:#fff}
.site-header .menu a span{color:rgba(255,255,255,.66)}
.site-header .menu a.menu-all{border-top-color:rgba(255,255,255,.16);color:#fff}
@media (prefers-reduced-motion:reduce){.site-header,.site-header::before{transition:none}}

/* an invisible bridge so the pointer can travel from "Services" to its panel without the menu closing */
.has-menu{position:relative}
.has-menu::after{content:"";position:absolute;left:-.5rem;right:-.5rem;top:100%;height:.9rem}

/* ===== Header layout: logo left, links centred, Book a call right (full menu only; the compact menu is unchanged) ===== */
.site-header .nav-cta{display:none}
@media (min-width:1061px){
  .site-header .header-inner{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:1.25rem}
  .site-header .brand{justify-self:start}
  .site-header .nav{margin-left:0;justify-self:center}
  .site-header .nav-cta{display:inline-flex;justify-self:end;margin:0;color:var(--cta-ink);background:var(--cta);padding:.7rem 1.15rem;font-weight:700;font-size:1.1875rem;border-radius:999px}
  .site-header .nav-cta:hover{background:var(--cta-hover);color:var(--cta-ink)}
}


/* ===== Hero: caption, headline, subheading and buttons centred as one group ===== */
.hero2--full .hero-sub{max-width:44ch;margin:1.4rem auto 0;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.55;color:rgba(255,255,255,.9);text-wrap:balance}
.hero2--full .hero-ctas{justify-content:center;gap:.75rem;margin-top:2rem}
@media (max-width:820px){.hero2--full .hero-top{padding-bottom:calc(72px + 2rem)}}
@media (max-width:600px){.hero2--full .hero-ctas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:24rem;margin-inline:auto}.hero2--full .hero-ctas .btn{min-width:0;padding-inline:.75rem}}
@media (max-width:360px){.hero2--full .hero-ctas{gap:.5rem}.hero2--full .hero-ctas .btn{padding-inline:.45rem;gap:.4rem;font-size:.9375rem}}

/* ===== Buttons: one size everywhere (Book a call was set larger than the rest) ===== */
.btn--primary{font-size:1rem;font-weight:600}
@media (min-width:1061px){.site-header .nav-cta{font-size:1rem;font-weight:600;border-radius:4px;padding:.72rem 1.1rem;gap:.55rem}}

/* ===== Scroll arrow: a thin white ring like the Explore plus; the arrow bobs, and drops through on hover ===== */
.hero2--full .scroll-cue{width:3.25rem;height:3.25rem;padding:0;border-radius:50%;background:rgba(9,13,11,.42);border:1.5px solid rgba(255,255,255,.8);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:none;animation:none;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}
.hero2--full .scroll-cue svg{width:1.15rem;height:1.15rem;animation:cueBob 1.8s ease-in-out infinite}
.hero2--full .scroll-cue:hover{background:rgba(9,13,11,.62);border-color:#fff}
.hero2--full .scroll-cue:hover svg{animation:cueDrop .95s cubic-bezier(.6,0,.3,1) infinite}
.hero2--full .scroll-cue:focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes cueBob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@keyframes cueDrop{0%{transform:translateY(0);opacity:1}44%{transform:translateY(140%);opacity:0}45%{transform:translateY(-140%);opacity:0}100%{transform:translateY(0);opacity:1}}

/* ===== WhatsApp: a round brand-green button with the WhatsApp mark ===== */
.float-wa{width:3.5rem;height:3.5rem;padding:0;gap:0;justify-content:center;border-radius:50%;background:var(--pristine-green,#3A4C39);color:#fff;box-shadow:0 .6rem 1.5rem -.6rem rgba(0,0,0,.45);transition:transform .3s cubic-bezier(.22,.8,.2,1),background-color .25s ease}
.float-wa:hover{background:#465C44;transform:translateY(-2px) scale(1.04)}
.float-wa svg{width:1.75rem;height:1.75rem}
.float-wa:focus-visible{outline:2px solid var(--pristine-green,#3A4C39);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hero2--full .scroll-cue svg{animation:none}.float-wa{transition:none}}

.hero2 .display .u{background-size:var(--u,100%) .085em}

/* the arrow sits directly above the WhatsApp button, centred on the same line */
.hero2--full .scroll-cue{right:calc(1.1rem + (3.5rem - 3.25rem) / 2);bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem + 3.5rem + 1rem)}
body[data-route="contact"] .hero2--full .scroll-cue{bottom:1.5rem}

@media (max-width:600px){
  .xp-fold--line{display:none}
  .xp-fold--more,.xp-card.is-sel .xp-fold--more{grid-template-rows:1fr}
  .xp-more,.xp-card.is-sel .xp-more{opacity:1;transform:none;transition:none}
  .xp-text{padding-top:.8rem}
  .xp-copy .btn-row{margin-top:1.1rem}
  .xp-full{display:none}.xp-short{display:inline}
}

/* Explore photos stay still while a card opens: each is pinned to its card's outer edge (Electrical left, Garden care right),
   so the card reveals more of the photo instead of the photo sliding sideways underneath it */
@media (min-width:601px){
  .xp-card .xp-media img{transform:none}
  .xp-card:first-child .xp-media img{left:0;right:auto;transform-origin:0 50%}
  .xp-card:last-child .xp-media img{left:auto;right:0;transform-origin:100% 50%}
  .xp-card:hover .xp-media img,.xp-card:focus-within .xp-media img{transform:scale(1.04)}
}

/* ===== Always the light site: no dark mode, and browsers are told not to darken it themselves ===== */
:root,:root[data-theme]{color-scheme:only light}
html{background:#FFFFFF}

/* =====================================================================
   SHARED PAGE PARTS
   ===================================================================== */
/* half-height photo hero for inner pages (the homepage hero, shorter) */
.hero2.hero2--full.hero2--half{min-height:max(58svh,31rem);height:auto}
.hero2--half .hero-top{padding-block:calc(var(--header-h) + 2.25rem) 2.75rem}
.hero2--half .display{font-size:clamp(2.1rem,3.9vw,3.5rem);max-width:22ch;margin-inline:auto}
.hero2--half .hero-sub{max-width:62ch;font-size:clamp(1rem,1.2vw,1.15rem);margin-top:1.1rem}
.hero2--half .hero-ctas{margin-top:1.6rem}
.hero2.hero2--full.hero2--half{min-height:max(50svh,28rem)}
@media (max-width:820px){.hero2--half .hero-top{padding-bottom:3rem}}

/* hover card row with several items */
.xp-list--many{--xp-grow:3.4;--xp-h:clamp(27rem,34vw,32rem);gap:.6rem;max-width:none}
@supports (width:1cqw){.xp-list--many .xp-media img{width:calc(var(--xp-grow) / (var(--xp-grow) + var(--xp-n) - 1) * 100cqw)}}
.xp-list--many .xp-card:not(:first-child):not(:last-child) .xp-media img{left:50%;right:auto;transform:translateX(-50%);transform-origin:50% 50%}
.xp-list--many .xp-card:not(:first-child):not(:last-child):hover .xp-media img{transform:translateX(-50%) scale(1.04)}
.xp-list--many.has-sel .xp-card:not(.is-sel){transform:scale(.985)}
.xp-list--many .xp-name{font-size:clamp(1.2rem,1.55vw,1.5rem);transition:font-size .6s cubic-bezier(.22,.8,.2,1),opacity .3s ease}
.xp-list--many .xp-card.is-sel .xp-name{font-size:clamp(1.6rem,2.2vw,2.1rem)}
.xp-list--many .xp-line{font-size:.9rem}
.xp-ico{position:absolute;z-index:2;top:clamp(1rem,1.8vw,1.4rem);left:clamp(1rem,1.8vw,1.4rem);color:#fff;line-height:0;transition:opacity .35s ease}
.xp-ico svg{width:2rem;height:2rem;stroke-width:1.4}
.xp-list:not(.xp-list--many) .xp-ico,.xp-list:not(.xp-list--many) .xp-spine{display:none}
.xp-spine{position:absolute;z-index:2;left:50%;bottom:clamp(1.1rem,2vw,1.5rem);max-height:calc(100% - 6.5rem);overflow:hidden;white-space:nowrap;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-family:var(--serif);font-size:1.15rem;color:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.xp-list--many.has-sel .xp-card:not(.is-sel) .xp-spine{opacity:1;transition-delay:.25s}
.xp-list--many.has-sel .xp-card:not(.is-sel) .xp-name{opacity:0}
.xp-list--many.has-sel .xp-card:not(.is-sel) .xp-toggle{opacity:0;pointer-events:none}
.xp-card--noimg .xp-media{background:linear-gradient(160deg,#2F3E2E,#1B2520)}
.svc-page[data-svc="electrical"] .xp-card--noimg .xp-media{background:linear-gradient(160deg,#30343A,#16181B)}
.xp-media-icon{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);color:rgba(255,255,255,.16);line-height:0}
.xp-media-icon svg{width:7rem;height:7rem;stroke-width:1}
@media (max-width:1060px){
  .xp-list--many{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:.9rem;container-type:normal}
  .xp-list--many .xp-card{flex:none;height:auto;display:flex;flex-direction:column;background:#1B2520;color:#fff;transform:none!important;box-shadow:none}
  .svc-page[data-svc="electrical"] .xp-list--many .xp-card{background:#1F2326}
  .xp-list--many .xp-media{position:relative;inset:auto;z-index:0;aspect-ratio:16/10}
  .xp-list--many .xp-media img{position:absolute;inset:0;width:100%!important;height:100%;transform:none!important}
  .xp-list--many .xp-shade,.xp-list--many .xp-toggle,.xp-list--many .xp-pick,.xp-list--many .xp-spine,.xp-list--many .xp-ico,.xp-list--many .xp-fold--line{display:none}
  .xp-list--many .xp-card::before,.xp-list--many .xp-card::after{display:none}
  .xp-list--many .xp-copy{position:relative;padding:1.25rem 1.25rem 1.4rem;pointer-events:auto;text-shadow:none}
  .xp-list--many .xp-name{font-size:1.35rem!important;opacity:1!important;color:#fff!important}
  .xp-list--many .xp-fold--more{grid-template-rows:1fr}
  .xp-list--many .xp-more{opacity:1;transform:none}
  .xp-list--many .xp-text{color:rgba(255,255,255,.9)!important}
  .xp-list--many .xp-full{display:inline!important}.xp-list--many .xp-short{display:none!important}
  .xp-list--many .xp-tags{display:flex!important}
  .xp-list--many .xp-copy .btn-row{pointer-events:auto}
  .xp-list--many .xp-btn{background:#fff!important;color:#1B2520!important;border-color:#fff!important}
}
@media (max-width:600px){.xp-list--many{grid-template-columns:minmax(0,1fr)}}

/* FAQ: one open at a time, with the same coloured bar as the cards */
.faq-list--acc{display:grid;gap:.75rem}
.faq-item{--bar:#3A4C39;position:relative;background:var(--surface-2);border-radius:2px 2px 5px 5px;transition:background-color .3s ease,box-shadow .45s ease}
.section--tint .faq-item{background:#FFFFFF}
.faq-item:nth-child(4n+2){--bar:#495D7B}.faq-item:nth-child(4n+3){--bar:#B16B4E}.faq-item:nth-child(4n+4){--bar:#DBC924}
.faq-item::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.faq-item:hover::before,.faq-item.is-open::before{height:var(--bar-thick)}
.faq-item.is-open{background:#FFFFFF;box-shadow:0 1rem 2.5rem -1.5rem rgba(23,32,26,.35)}
.faq-h{margin:0;font:inherit}
.faq-q{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:100%;padding:calc(1.15rem + var(--bar-thin)) 1.35rem 1.15rem;cursor:pointer;font-family:var(--serif);font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.3;color:var(--title)}
.faq-q:focus-visible{outline:2px solid var(--title);outline-offset:-4px}
.faq-pm{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1.5px solid rgba(23,32,26,.35);border-radius:50%;transition:transform .45s cubic-bezier(.22,.8,.2,1),background-color .3s ease,border-color .3s ease,color .3s ease}
.faq-pm svg{width:1rem;height:1rem}
.faq-item:hover .faq-pm{border-color:var(--title)}
.faq-item.is-open .faq-pm{transform:rotate(45deg);background:var(--title);border-color:var(--title);color:#FFFFFF}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.22,.8,.2,1)}
.faq-a>div{min-height:0;overflow:hidden}
.faq-a p{margin:0;padding:0 1.35rem 1.35rem;max-width:62ch;color:var(--text-2);opacity:0;transform:translateY(-.4rem);transition:opacity .3s ease,transform .55s cubic-bezier(.22,.8,.2,1)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-item.is-open .faq-a p{opacity:1;transform:none;transition-delay:.08s}

/* before/after handle: the same thin ring as the other controls */
.ba-knob{width:3.25rem;height:3.25rem;margin:-1.625rem 0 0 -1.625rem;background:rgba(9,13,11,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,.85);color:#FFFFFF;box-shadow:0 .5rem 1.5rem -.5rem rgba(0,0,0,.5)}
.ba-knob:hover{background:rgba(9,13,11,.62)}

/* "More services" card */
.more-svc{display:grid;gap:1rem}
.more-card{--bar:#3A4C39;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);min-height:15rem;overflow:hidden;border-radius:2px 2px 5px 5px;background:var(--surface-2);color:var(--title);text-decoration:none;transition:background-color .3s ease,box-shadow .45s ease}
.more-card::before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);transition:height .3s cubic-bezier(.22,.8,.2,1)}
.more-card:hover::before{height:var(--bar-thick)}
.more-card:hover{box-shadow:0 1rem 2.5rem -1.5rem rgba(23,32,26,.35)}
.more-media{position:relative;overflow:hidden}
.more-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,.8,.2,1)}
.more-card:hover .more-media img{transform:scale(1.04)}
.more-copy{display:flex;flex-direction:column;justify-content:center;gap:.6rem;padding:clamp(1.5rem,3vw,2.5rem)}
.more-copy strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.1}
.more-copy>span{color:var(--text-2);max-width:42ch}
.more-copy .more-go{margin-top:.4rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--title);font-weight:600}
.more-go svg{width:1rem;height:1rem;transition:transform .3s ease}
.more-card:hover .more-go svg{transform:translateX(3px)}
@media (max-width:700px){.more-card{grid-template-columns:minmax(0,1fr)}.more-media{aspect-ratio:16/9}}

/* =====================================================================
   AREAS: four connected tabs on one box, like browser tabs
   ===================================================================== */
.at{border:1px solid var(--line);border-radius:2px 2px 6px 6px;background:#FFFFFF;overflow:hidden;box-shadow:0 1.5rem 3rem -2.25rem rgba(23,32,26,.35)}
.at-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.at-tab{all:unset;box-sizing:border-box;position:relative;padding:calc(1.1rem + var(--bar-thin)) 1.25rem 1.05rem;cursor:pointer;background:var(--surface-2);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .3s ease}
.at-tab:first-child{border-left:0}
.at-tab::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);transition:height .3s cubic-bezier(.22,.8,.2,1)}
.at-tab:hover::before,.at-tab[aria-selected="true"]::before{height:var(--bar-thick)}
.at-tab:hover{background:#ECEEF1}
.at-tab[aria-selected="true"]{background:#FFFFFF;border-bottom-color:transparent}
.at-tab:focus-visible{outline:2px solid var(--title);outline-offset:-4px}
.at-name{display:block;font-family:var(--serif);font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.2;color:var(--title)}
.at-sub{display:block;margin-top:.3rem;font-size:.85rem;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at-panel{padding:clamp(1.5rem,3.5vw,3rem)}
.at-panel[hidden]{display:none}
.at-panel.is-in{animation:atIn .65s cubic-bezier(.22,.8,.2,1)}
@keyframes atIn{from{opacity:0;transform:translateY(.75rem);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.at-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,3.5rem)}
.at-title{margin:.4rem 0 0}
.at-lead{margin:1rem 0 0;color:var(--text-2);max-width:60ch}
.at-h{margin:1.75rem 0 0;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.at-h--first{margin-top:.4rem}
.at-chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:.9rem 0 0;padding:0}
.at-chips li{padding:.35rem .75rem;border-radius:4px;background:var(--surface-2);font-size:.9rem;color:var(--title)}
.at-ctas{margin-top:1.75rem}
.at-asks{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.7rem}
.at-asks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--title)}
.at-asks svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem;color:var(--pristine-green,#3A4C39)}
.at .faq-list--acc{margin-top:.9rem}
@media (max-width:860px){.at-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .at-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .at-tab:nth-child(3){border-left:0}
  .at-sub{display:none}
}
@media (prefers-reduced-motion:reduce){.at-panel.is-in{animation:none}.at-tab::before{transition:none}}

/* =====================================================================
   REVIEWS: one card, then one review at a time that blurs in and out
   ===================================================================== */
.gr{gap:0}
.gr-card{border-radius:2px 2px 0 0}
.rv{position:relative;border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;padding:clamp(1.75rem,4vw,3rem) clamp(1.5rem,4vw,3rem) clamp(1.25rem,3vw,1.75rem);background:#FFFFFF}
.rv-stage{display:grid}
.rv-item{grid-area:1/1;margin:0;opacity:0;filter:blur(8px);transform:translateY(.6rem);pointer-events:none;transition:opacity .8s ease,filter .8s ease,transform .9s cubic-bezier(.22,.8,.2,1)}
.rv-item.is-on{opacity:1;filter:none;transform:none;pointer-events:auto;transition-delay:.3s}
.rv-item.is-out{opacity:0;filter:blur(8px);transform:translateY(-.6rem);transition-delay:0s}
.rv-mark{display:block;line-height:0;color:var(--cta)}
.rv-mark svg{width:2rem;height:2rem}
.rv blockquote{margin:.85rem 0 0;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.35;color:var(--title);max-width:46ch}
.rv figcaption{margin-top:1.1rem;display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;font-size:.92rem;color:var(--text-2)}
.rv figcaption strong{color:var(--title)}
.rv-dots{display:flex;gap:.6rem;margin-top:1.75rem}
.rv-dot{all:unset;width:.55rem;height:.55rem;border-radius:50%;background:var(--line);cursor:pointer;transition:background-color .3s ease,transform .3s ease}
.rv-dot.is-on{background:var(--title);transform:scale(1.3)}
.rv-dot:focus-visible{outline:2px solid var(--title);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.rv-item{transition:opacity .3s ease;filter:none;transform:none}.rv-item.is-out{filter:none;transform:none}}

/* =====================================================================
   ABOUT: outline icons like the homepage
   ===================================================================== */
.band .icon-sq,.band .icon-sq--blue{background:none;width:auto;height:auto;border-radius:0;color:var(--pristine-green,#3A4C39);line-height:0;margin-bottom:.9rem}
.band .icon-sq svg{width:2.75rem;height:2.75rem;stroke-width:1.4}

/* =====================================================================
   CONTACT
   ===================================================================== */
.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quick-card{--bar:#3A4C39;position:relative;display:grid;justify-items:start;gap:.35rem;padding:calc(1.6rem + var(--bar-thin)) 1.6rem 1.6rem;border-radius:2px 2px 5px 5px;background:var(--surface-2);color:var(--title);text-decoration:none;transition:background-color .3s ease,box-shadow .45s ease}
.quick-card::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);border-radius:2px 2px 0 0;transition:height .3s cubic-bezier(.22,.8,.2,1)}
.quick-card:hover::before{height:var(--bar-thick)}
.quick-card:hover{background:#FFFFFF;box-shadow:0 1rem 2.5rem -1.5rem rgba(23,32,26,.35)}
.quick-card:focus-visible{outline:2px solid var(--title);outline-offset:3px}
.quick-ring{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin-bottom:.6rem;border:1.5px solid rgba(23,32,26,.35);border-radius:50%;color:var(--title);transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .45s cubic-bezier(.22,.8,.2,1)}
.quick-ring svg{width:1.35rem;height:1.35rem}
.quick-card:hover .quick-ring{background:var(--title);border-color:var(--title);color:#FFFFFF;transform:scale(1.05)}
.quick-card strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.15}
.quick-card>span:last-child{color:var(--text-2);font-size:.95rem}
.contact-panel{max-width:56rem}
.form-intro{margin:1.25rem 0 0;max-width:62ch;color:var(--text-2)}
.form-intro strong{color:var(--title)}
.next-row{list-style:none;margin:clamp(1.75rem,4vw,2.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:56rem}
.next-row li{display:grid;gap:.25rem;color:var(--text-2);font-size:.95rem}
.next-row span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1.5px solid rgba(23,32,26,.35);font-weight:700;font-size:.85rem;color:var(--title);margin-bottom:.4rem}
.next-row strong{color:var(--title)}
.cinfo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:end;padding-top:1.5rem;border-top:1px solid var(--line)}
.cinfo-big{display:block;margin-top:.6rem;font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;color:var(--title);text-decoration:none}
.cinfo-big:hover{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:2px}
.cinfo-mail{display:inline-block;margin-top:.6rem;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--title)}
.cinfo-side p{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 .75rem;color:var(--text-2)}
.cinfo-side svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem;color:var(--pristine-green,#3A4C39)}
@media (max-width:760px){.quick,.next-row{grid-template-columns:minmax(0,1fr)}.cinfo{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ===== Type consistency pass ===== */
html:root .hero2.hero2--full.hero2--half h1.display{font-size:clamp(2.1rem,3.9vw,3.5rem);max-width:22ch}
.hero2.hero2--half .hero-sub{font-size:clamp(1.05rem,1.35vw,1.25rem)}
.xp-link{font-size:1rem}
.xp-next p{font-size:.78rem}
.proj-card h3{font-size:clamp(1.25rem,1.6vw,1.5rem)}

@media (max-width:1060px){.xp-list--many .xp-card .xp-media img{left:0!important;right:0!important}}

/* =====================================================================
   SERVICE EXPLORER: list on the left, one panel on the right
   ===================================================================== */
.sx{display:grid;grid-template-columns:minmax(17rem,.95fr) minmax(0,2fr);min-height:clamp(28rem,36vw,34rem);border-radius:2px 2px 6px 6px;overflow:hidden;background:#FFFFFF;box-shadow:0 1.5rem 3rem -2.25rem rgba(23,32,26,.4)}
.sx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-right:0;border-radius:2px 0 0 6px}
.sx-list li{flex:1;display:flex;border-top:1px solid var(--line)}
.sx-list li:first-child{border-top:0}
.sx-item{all:unset;box-sizing:border-box;position:relative;flex:1;display:flex;align-items:center;gap:.9rem;padding:.9rem 1.25rem .9rem 1.5rem;cursor:pointer;color:var(--text-2);transition:background-color .3s ease,color .3s ease}
.sx-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bar);transform:scaleY(.35);opacity:.55;transition:transform .35s cubic-bezier(.22,.8,.2,1),opacity .3s ease,width .3s ease}
.sx-item:hover,.sx-item.is-on{color:var(--title)}
.sx-item:hover::before{transform:scaleY(1);opacity:1}
.sx-item.is-on{background:var(--surface-2)}
.sx-item.is-on::before{transform:scaleY(1);opacity:1;width:5px}
.sx-item:focus-visible{outline:2px solid var(--title);outline-offset:-4px}
.sx-ico{line-height:0;color:currentColor}
.sx-ico svg{width:1.35rem;height:1.35rem;stroke-width:1.5}
.sx-name{flex:1;font-family:var(--serif);font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.25}
.sx-arr{line-height:0;opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .35s cubic-bezier(.22,.8,.2,1)}
.sx-arr svg{width:1rem;height:1rem}
.sx-item:hover .sx-arr,.sx-item.is-on .sx-arr{opacity:1;transform:none}
.sx.is-pinned .sx-item.is-on{box-shadow:inset 0 0 0 1px rgba(23,32,26,.12)}
.sx-panel{position:relative;isolation:isolate;overflow:hidden;background:#1B2520;color:#FFFFFF;min-height:inherit}
.svc-page[data-svc="electrical"] .sx-panel{background:#1F2326}
.sx-media{position:absolute;inset:0;z-index:-2}
.sx-img{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .9s ease,transform 1.4s cubic-bezier(.22,.8,.2,1)}
.sx-img.is-on{opacity:1;transform:none}
.sx-img img{width:100%;height:100%;object-fit:cover;display:block}
.sx-noimg{position:absolute;left:62%;top:44%;transform:translate(-50%,-50%);line-height:0;color:rgba(255,255,255,.12)}
.sx-noimg svg{width:9rem;height:9rem;stroke-width:1}
.sx-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,13,11,.5) 0%,rgba(9,13,11,.25) 28%,rgba(9,13,11,.55) 55%,rgba(9,13,11,.92) 100%)}
.sx-stage{position:absolute;inset:0;display:grid;padding:clamp(1.5rem,3vw,2.5rem);padding-bottom:calc(clamp(1.5rem,3vw,2.5rem) + 4.25rem)}
.sx-copy{grid-area:1/1;align-self:end;opacity:0;filter:blur(8px);transform:translateY(.6rem);pointer-events:none;transition:opacity .7s ease,filter .7s ease,transform .8s cubic-bezier(.22,.8,.2,1);text-shadow:0 1px 14px rgba(0,0,0,.35)}
.sx-copy.is-on{opacity:1;filter:none;transform:none;pointer-events:auto;transition-delay:.18s}
.sx-copy.is-out{opacity:0;filter:blur(8px);transform:translateY(-.6rem);transition-delay:0s}
.sx-cico{position:absolute;top:clamp(1.5rem,3vw,2.25rem);left:clamp(1.5rem,3vw,2.5rem);line-height:0;color:#FFFFFF}
.sx-cico svg{width:2.25rem;height:2.25rem;stroke-width:1.35}
.sx-copy h3{margin:0;font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.05;color:#FFFFFF}
.sx-copy p{margin:.85rem 0 0;max-width:48ch;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.6;color:rgba(255,255,255,.92)}
.sx-tags{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.sx-cta{position:absolute;right:clamp(1.5rem,3vw,2.5rem);bottom:clamp(1.5rem,3vw,2.5rem)}
@media (max-width:860px){
  .sx{grid-template-columns:minmax(0,1fr);min-height:0}
  .sx-list{border-right:1px solid var(--line);border-bottom:0;border-radius:2px 2px 0 0}
  .sx-list li{flex:none}
  .sx-item{padding:.85rem 1.1rem .85rem 1.3rem}
  .sx-panel{min-height:26rem}
}
@media (max-width:480px){.sx-cta{left:clamp(1.5rem,3vw,2.5rem);right:auto}}
@media (prefers-reduced-motion:reduce){.sx-copy,.sx-img{transition:opacity .3s ease;filter:none;transform:none}}

/* =====================================================================
   PORTFOLIO: tight, even, edge-to-edge
   ===================================================================== */
.pf-section{padding-bottom:clamp(3rem,6vw,5rem)}
.pf-section .sec-head,.section--tint .pf-grid--strip{margin-bottom:0}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:clamp(1.75rem,3.5vw,2.5rem)}
.pf-grid--strip{margin-top:clamp(1.75rem,3.5vw,2.5rem)}
.pf-tile{position:relative;display:block;overflow:hidden;aspect-ratio:3/2;background:#1B2520;color:#FFFFFF;text-decoration:none}
.pf-img{position:absolute;inset:0}
.pf-img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.001);transition:transform 1.4s cubic-bezier(.22,.8,.2,1),filter .9s ease}
.pf-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,13,11,0) 45%,rgba(9,13,11,.7) 100%);opacity:0;transition:opacity .7s ease}
.pf-cap{position:absolute;z-index:1;left:clamp(1rem,2.2vw,1.75rem);bottom:clamp(1rem,2.2vw,1.75rem);right:clamp(1rem,2.2vw,1.75rem);display:grid;gap:.25rem;max-width:34rem;opacity:0;filter:blur(6px);transform:translateY(.6rem);transition:opacity .6s ease,filter .6s ease,transform .8s cubic-bezier(.22,.8,.2,1)}
.pf-cap strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.15}
.pf-cap span{font-size:.92rem;color:rgba(255,255,255,.88)}
.pf-tile:hover .pf-img img,.pf-tile:focus-visible .pf-img img{transform:scale(1.035)}
.pf-tile:hover::after,.pf-tile:focus-visible::after{opacity:1}
.pf-tile:hover .pf-cap,.pf-tile:focus-visible .pf-cap{opacity:1;filter:none;transform:none}
.pf-tile:focus-visible{outline:2px solid var(--title);outline-offset:-2px}
.pf-more{display:inline-block;margin-top:1.5rem}
.pf-tile[hidden]{display:none}
.pf-grid.is-swapping .pf-tile{opacity:0;filter:blur(6px);transition:opacity .25s ease,filter .25s ease}
.pf-tile.is-in{animation:pfIn .7s cubic-bezier(.22,.8,.2,1) both}
@keyframes pfIn{from{opacity:0;filter:blur(6px);transform:translateY(.75rem)}to{opacity:1;filter:none;transform:none}}
@media (max-width:700px){
  .pf-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .pf-tile{aspect-ratio:auto;background:none;color:var(--title)}
  .pf-img{position:relative;display:block;aspect-ratio:3/2}
  .pf-tile::after{display:none}
  .pf-cap{position:static;opacity:1;filter:none;transform:none;padding:.9rem var(--pad,1.25rem) 0;max-width:none}
  .pf-cap span{color:var(--text-2)}
}
@media (prefers-reduced-motion:reduce){.pf-img img,.pf-cap,.pf-tile::after{transition:none}.pf-tile.is-in{animation:none}}

/* gallery page: title and tabs in the margins */
.gal-head{padding-bottom:0}
.gal-title{margin:.4rem 0 0}
.gal-lead{margin-top:1rem;max-width:56ch}
.gal-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(1.75rem,3.5vw,2.5rem);border:1px solid var(--line);border-radius:2px 2px 6px 6px;overflow:hidden;max-width:none;width:100%}
.gal-head .wrap>.gal-tabs{margin-inline:0}
.gal-tab{all:unset;box-sizing:border-box;position:relative;padding:calc(.95rem + var(--bar-thin)) 1rem .9rem;text-align:center;cursor:pointer;background:var(--surface-2);border-left:1px solid var(--line);font-weight:600;font-size:.95rem;color:var(--text-2);transition:background-color .3s ease,color .3s ease}
.gal-tab:first-child{border-left:0}
.gal-tab::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--bar-thin);background:var(--bar);transition:height .3s cubic-bezier(.22,.8,.2,1)}
.gal-tab:hover::before,.gal-tab[aria-pressed="true"]::before{height:var(--bar-thick)}
.gal-tab:hover{color:var(--title)}
.gal-tab[aria-pressed="true"]{background:#FFFFFF;color:var(--title)}
.gal-tab:focus-visible{outline:2px solid var(--title);outline-offset:-4px}
.pf-wrap .pf-grid{margin-top:clamp(2rem,4vw,3rem)}
.pf-empty{margin-top:1.5rem}
@media (max-width:600px){.gal-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.gal-tab:nth-child(3){border-left:0}.gal-tab:nth-child(n+3){border-top:1px solid var(--line)}}

/* =====================================================================
   CONTACT: service choice and tick-all-that-apply
   ===================================================================== */
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field legend{padding:0;font-weight:600;color:var(--title)}
.svc-pick{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}
.pick,.tick{position:relative;cursor:pointer}
.pick input,.tick input{position:absolute;opacity:0;pointer-events:none}
.pick span{display:inline-flex;align-items:center;padding:.7rem 1.15rem;border:1.5px solid var(--line);border-radius:4px;background:#FFFFFF;font-weight:600;color:var(--title);transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.pick:hover span{border-color:var(--title)}
.pick input:checked+span{background:var(--title);border-color:var(--title);color:#FFFFFF}
.pick input:focus-visible+span,.tick input:focus-visible+span{outline:2px solid var(--title);outline-offset:2px}
.tick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.7rem}
.tick span{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:4px;background:#FFFFFF;color:var(--title);transition:border-color .25s ease,background-color .25s ease}
.tick span::before{content:"";flex:none;width:1.1rem;height:1.1rem;border:1.5px solid rgba(23,32,26,.45);border-radius:3px;background:#FFFFFF center/72% no-repeat;transition:background-color .2s ease,border-color .2s ease}
.tick:hover span{border-color:var(--title)}
.tick input:checked+span{border-color:var(--title);background:#F6F7F5}
.tick input:checked+span::before{background-color:var(--title);border-color:var(--title);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ticks.is-in{animation:atIn .5s cubic-bezier(.22,.8,.2,1)}
@media (max-width:600px){.tick-grid{grid-template-columns:minmax(0,1fr)}}

/* reviews page: the work sits inside the page margins, two across and two below, with a gap between */
.pf-inset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.25rem);margin-top:clamp(1.75rem,3.5vw,2.5rem)}
.pf-inset .pf-tile{aspect-ratio:3/2;border-radius:2px 2px 5px 5px}
@media (max-width:700px){.pf-inset{grid-template-columns:minmax(0,1fr)}.pf-inset .pf-tile{aspect-ratio:3/2}}

/* About: opening section */
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(1.75rem,4vw,4rem);align-items:start}
.about-intro-head{grid-column:1/-1}
.about-title{margin:.4rem 0 0;max-width:24ch}
.about-body{grid-column:2}
.about-lead{margin:0 0 1.5rem;font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.35;color:var(--title);max-width:44ch}
.about-body p:not(.about-lead){margin:0 0 1.1rem;color:var(--text-2);max-width:62ch}
@media (max-width:860px){.about-intro{grid-template-columns:minmax(0,1fr)}.about-body{grid-column:1}}
/* =====================================================================
   ADMIN: sign-in and placeholder dashboard (kept deliberately plain)
   ===================================================================== */
.foot-left{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.site-footer .foot-admin{font-size:.66rem;letter-spacing:.04em;color:var(--on-deep-2);opacity:.45;text-decoration:none;transition:opacity .25s ease}
.site-footer .foot-admin:hover,.site-footer .foot-admin:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:.2em}
.site-footer .foot-admin:focus-visible{outline:2px solid #fff;outline-offset:3px}
body[data-route="admin"] .site-header,body[data-route="admin"] .site-footer,body[data-route="admin"] .float-wa,body[data-route="admin"] .mbar,body[data-route="admin"] .progress{display:none}
body[data-route="admin"]{background:#FFFFFF}
.adm{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh;background:#FFFFFF}
.adm-brand{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,4vw,3.5rem);background:var(--deep);color:#FFFFFF}
.adm-brand-top img{display:block;width:clamp(9rem,15vw,12.5rem);height:auto}
.adm-tag{display:inline-block;margin-top:1.1rem;padding:.3rem .65rem;border:1px solid rgba(255,255,255,.4);border-radius:3px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF}
.adm-tag--dark{margin:0 0 0 .9rem;border-color:rgba(23,32,26,.35);color:var(--title)}
.adm-back{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;font-size:.9rem;color:rgba(255,255,255,.75);text-decoration:none;transition:color .25s ease}
.adm-back svg{width:1rem;height:1rem;transform:scaleX(-1)}
.adm-back:hover{color:#FFFFFF}
.adm-back:focus-visible{outline:2px solid #fff;outline-offset:4px}
.adm-panel{display:grid;place-items:center;padding:clamp(2rem,4vw,3.5rem)}
.adm-form{width:100%;max-width:22rem}
.adm-form h1,.adm-main h1{margin:0;font-size:clamp(1.75rem,2.4vw,2.1rem);line-height:1.1}
.adm-sub{margin:.6rem 0 0;color:var(--text-2)}
.adm-field{margin-top:1.25rem}
.adm-field label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:600;color:var(--title)}
.adm-field input{width:100%;box-sizing:border-box;padding:.8rem .9rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;color:var(--title);transition:border-color .2s ease,box-shadow .2s ease}
.adm-field input:hover{border-color:#8A9199}
.adm-field input:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.adm-pass{position:relative}
.adm-pass input{padding-right:4.25rem}
.adm-show{all:unset;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:.35rem .5rem;border-radius:3px;font-size:.82rem;font-weight:600;color:var(--text-2);cursor:pointer}
.adm-show:hover{color:var(--title)}
.adm-show:focus-visible{outline:2px solid var(--title);outline-offset:1px}
.adm-err{min-height:1.4rem;margin:.9rem 0 0;font-size:.9rem;color:#B3261E}
.adm-submit{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;margin-top:.5rem;padding:.85rem 1rem;border-radius:4px;background:var(--cta);color:var(--cta-ink);font-weight:600;cursor:pointer;transition:background-color .25s ease,opacity .25s ease}
.adm-submit:hover{background:var(--cta-hover)}
.adm-submit:focus-visible{outline:2px solid var(--title);outline-offset:3px}
.adm-submit:disabled{opacity:.55;cursor:not-allowed}
.adm-loading{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:var(--deep);color:#FFFFFF;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s .45s}
.adm-loading.is-on{opacity:1;visibility:visible;transition:opacity .45s ease}
.adm-loading>div{display:grid;justify-items:center;gap:1rem;transform:translateY(.5rem);transition:transform .7s cubic-bezier(.22,.8,.2,1)}
.adm-loading.is-on>div{transform:none}
.adm-loading img{display:block;width:clamp(8rem,14vw,11rem);height:auto}
.adm-loading p{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.adm-bar{position:relative;display:block;width:9rem;height:2px;overflow:hidden;background:rgba(255,255,255,.2)}
.adm-bar i{position:absolute;top:0;bottom:0;width:40%;background:#FFFFFF;animation:admBar 1.1s cubic-bezier(.65,0,.35,1) infinite}
@keyframes admBar{0%{left:-40%}100%{left:100%}}
.adm-dash{min-height:100svh;background:#FFFFFF}
.adm-top{border-bottom:1px solid var(--line);background:#FFFFFF}
.adm-top-in{display:flex;align-items:center;justify-content:space-between;max-width:var(--site);margin-inline:auto;padding:1rem clamp(1.25rem,4vw,2.5rem)}
.adm-top-brand{display:flex;align-items:center;text-decoration:none}
.adm-top-brand img{display:block;width:6.5rem;height:auto}
.adm-out{all:unset;box-sizing:border-box;padding:.6rem 1rem;border:1px solid #C9CED3;border-radius:4px;font-size:.92rem;font-weight:600;color:var(--title);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.adm-out:hover{border-color:var(--title);background:var(--surface-2)}
.adm-out:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.adm-main-in{max-width:var(--site);margin-inline:auto;padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,2.5rem)}
.adm-empty{margin-top:2rem;padding:clamp(2rem,5vw,3.5rem);border:1px dashed #C9CED3;border-radius:5px;text-align:center}
.adm-empty p{margin:0;font-weight:600;color:var(--title)}
.adm-empty span{display:block;margin-top:.35rem;color:var(--text-2)}
/* Dashboard: tabs, unread dots and summary cards */
.adm-top{position:sticky;top:0;z-index:10}
.adm-who{display:flex;align-items:center;gap:1rem;min-width:0}
.adm-who>span{overflow:hidden;font-size:.88rem;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}
/* Each tab has its own brand colour: a light tint on hover, solid when selected, and the line under the bar matches the open tab */
.adm-tabs{border-top:1px solid var(--line);border-bottom:3px solid var(--tc,var(--line));transition:border-color .25s ease}
.adm-tabs [data-tab=dashboard],.adm-tabs[data-current=dashboard]{--tc:#3A4C39;--tt:#E6EEE5;--tx:#FFFFFF}
.adm-tabs [data-tab=forms],.adm-tabs[data-current=forms]{--tc:#A86246;--tt:#F8EBE4;--tx:#FFFFFF}
.adm-tabs [data-tab=contacts],.adm-tabs[data-current=contacts]{--tc:#495D7B;--tt:#E8EEF6;--tx:#FFFFFF}
.adm-tabs [data-tab=companies],.adm-tabs[data-current=companies]{--tc:#5699BF;--tt:#E3F0F7;--tx:#0E1C26}
.adm-tabs [data-tab=jobs],.adm-tabs[data-current=jobs]{--tc:#DBC924;--tt:#FCF8D6;--tx:#17201A}
.adm-tabs [data-tab=calendar],.adm-tabs[data-current=calendar]{--tc:#5E6366;--tt:#EEEFF0;--tx:#FFFFFF}
/* The website tabs share the dark brand green, so they read as their own group */
.adm-tabs-site [role=tab],.adm-tabs[data-group=dev]{--tc:#2C3A2B;--tt:#E9ECE8;--tx:#FFFFFF}
.adm-tabs-in{position:relative;display:flex;max-width:var(--site);margin-inline:auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.adm-tabs-crm,.adm-tabs-site{display:flex}
.adm-tabs-crm{min-width:0;overflow-x:auto;scrollbar-width:none}
.adm-tabs-crm::-webkit-scrollbar{display:none}
.adm-tabs-site{margin-left:auto;border-left:1px solid var(--line)}
.adm-site-toggle{display:none}
@media (max-width:760px){
  .adm-tabs-in{padding-right:0}
  .adm-tabs-crm{flex:1}
  .adm-tabs-site{position:absolute;top:calc(100% + 3px);right:0;z-index:20;display:none;flex-direction:column;min-width:12rem;border:1px solid var(--line);background:#FFFFFF;box-shadow:0 18px 40px -12px rgba(23,32,26,.28)}
  .adm-tabs-site.is-open{display:flex}
  .adm-site-toggle{all:unset;box-sizing:border-box;display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem;padding:1rem 1.1rem;border-left:1px solid var(--line);font-size:.95rem;font-weight:600;color:var(--title);cursor:pointer}
  .adm-site-toggle svg{width:1rem;height:1rem;transition:transform .2s ease}
  .adm-site-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
  .adm-site-toggle:focus-visible{outline:2px solid var(--title);outline-offset:-3px}
  .adm-tabs[data-group=dev] .adm-site-toggle{background:var(--tc);color:var(--tx)}
}
.adm-tabs [role=tab]{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.35rem;font-size:.95rem;font-weight:600;color:var(--title);white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.adm-tabs [role=tab]:hover{background:var(--tt)}
.adm-tabs [role=tab][aria-selected=true]{background:var(--tc);color:var(--tx)}
.adm-tabs [role=tab][aria-selected=true] .adm-dot{background:currentColor}
.adm-tabs [role=tab]:focus-visible{outline:2px solid var(--title);outline-offset:-3px}
.adm-dot{display:block;width:.5rem;height:.5rem;border-radius:50%;background:var(--cta)}
.adm-dot[hidden]{display:none}
.adm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:2rem}
.adm-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 1.5rem;border:1px solid var(--line);border-radius:5px;background:#FFFFFF;color:var(--title);text-decoration:none}
.adm-card span{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.adm-card strong{font-size:1.35rem;font-weight:600;line-height:1.25}
.adm-card em{font-size:.88rem;font-style:normal;color:var(--text-2)}
button.adm-card,a.adm-card{cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
button.adm-card:hover,a.adm-card:hover{border-color:var(--title);background:var(--surface-2)}
.adm-card:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.adm-card.is-warn{border-color:#E8B4AE;background:#FDF4F3}
.adm-card.is-warn strong{font-size:1rem;color:#B3261E}
@media (max-width:560px){.adm-who>span{display:none}}
@media (max-width:820px){
  .adm{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .adm-brand{flex-direction:row;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem}
  .adm-brand-top{display:flex;align-items:center;gap:.9rem}
  .adm-brand-top img{width:6.5rem}
  .adm-tag{margin-top:0}
  .adm-back span{display:none}
  .adm-panel{align-items:start;padding-top:clamp(2rem,8vw,3rem)}
}
@media (prefers-reduced-motion:reduce){.adm-bar i{animation:none;left:0;width:100%}.adm-loading,.adm-loading>div{transition:none}}

/* =====================================================================
   "I NEED [SERVICE] SERVICES FOR MY HOME": a sentence with one quietly boxed word
   No arrow. The box grows evenly around the word on hover, and opens into one centred, even box of options.
   ===================================================================== */
.hero2--half{overflow:visible}
.hero2--half .hero-media{overflow:hidden}
.eyebrow.svc-need{--bh:1.35rem;--row:2.2rem;--half:calc((var(--row) - var(--bh)) / 2);--ypad:.2rem;--padx:.8rem;--need-extra:0px;--need-grow:0px;
  position:relative;display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:.12em;row-gap:.5rem;z-index:6}
.svc-need::before{display:none}
.need-wrap{position:relative;display:inline-flex;margin-inline:.6rem;transition:margin .45s cubic-bezier(.22,.8,.2,1)}
/* the one box: faint at rest, roomier when you reach for it, and it grows downwards when opened */
.need-bg{position:absolute;z-index:0;top:-.14rem;bottom:-.14rem;left:-.4rem;right:-.4rem;overflow:hidden;border-radius:7px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.2);transition:top .45s cubic-bezier(.22,.8,.2,1),left .45s cubic-bezier(.22,.8,.2,1),right .45s cubic-bezier(.22,.8,.2,1),bottom .5s cubic-bezier(.22,.8,.2,1),background-color .35s ease,border-color .35s ease}
.need-bg::after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;opacity:0;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 30%,rgba(255,255,255,.32) 50%,rgba(255,255,255,.12) 70%,rgba(255,255,255,0) 100%)}
.need-wrap.is-nudge .need-bg::after{animation:needGlint .95s cubic-bezier(.45,.05,.25,1) 1}
@keyframes needGlint{0%{opacity:0;transform:translateX(-130%) skewX(-18deg)}12%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translateX(260%) skewX(-18deg)}}
.need-wrap.is-nudge{animation:needHop .95s cubic-bezier(.3,.7,.4,1) 1}
@keyframes needHop{0%{transform:none}22%{transform:translateY(-5px)}44%{transform:none}62%{transform:translateY(-3px)}82%,100%{transform:none}}
/* the word: a row exactly --bh tall, centred */
.need-btn{all:unset;position:relative;z-index:2;box-sizing:border-box;flex:1 1 auto;display:flex;align-items:center;justify-content:center;height:var(--bh);color:#FFFFFF;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.need-btn::before{content:"";position:absolute;inset:-.45rem -.7rem;border-radius:5px;transition:background-color .2s ease}
.need-btn:focus-visible{outline:none}
.need-wrap:has(.need-btn:focus-visible) .need-bg{outline:2px solid #FFFFFF;outline-offset:3px}
.need-label{display:block;overflow:hidden;height:var(--bh);line-height:var(--bh);text-align:center}
.need-text{display:block;white-space:nowrap;text-align:center}
/* hover (a real mouse only, so it can never stick after a click) and keyboard focus: the same box, with room to breathe */
@media (hover:hover){
  .need-wrap:hover{margin-inline:.95rem}
  .need-wrap:hover .need-bg{top:calc(-1 * (var(--half) + var(--ypad)));bottom:calc(-1 * (var(--half) + var(--ypad) + var(--need-extra)));left:calc(-1 * var(--padx));right:calc(-1 * var(--padx));background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}
.need-wrap:has(.need-btn:focus-visible){margin-inline:.95rem}
.need-wrap:has(.need-btn:focus-visible) .need-bg{top:calc(-1 * (var(--half) + var(--ypad)));bottom:calc(-1 * (var(--half) + var(--ypad) + var(--need-extra)));left:calc(-1 * var(--padx));right:calc(-1 * var(--padx));background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* open: the same box, taller, and wider if an option is wider than the word, growing equally each side */
.svc-need.is-open .need-wrap{margin-inline:calc(.95rem + var(--need-grow))}
.svc-need.is-open .need-bg{top:calc(-1 * (var(--half) + var(--ypad)));bottom:calc(-1 * (var(--half) + var(--ypad) + var(--need-extra)));left:calc(-1 * (var(--padx) + var(--need-grow)));right:calc(-1 * (var(--padx) + var(--need-grow)));background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* when open, the word is just the first row of the list: same height, same hover highlight as the others */
.svc-need.is-open .need-btn::before{inset:calc(-1 * var(--half)) calc(-.55rem - var(--need-grow))}
.svc-need.is-open .need-btn:hover::before{background:rgba(255,255,255,.17)}
.need-menu{position:absolute;z-index:2;top:calc(100% + var(--half));left:50%;transform:translateX(-50%);min-width:100%;box-sizing:border-box;margin:0;padding:0;list-style:none;text-align:center;white-space:nowrap;font:inherit;letter-spacing:inherit;text-transform:inherit;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s}
.svc-need.is-open .need-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease .12s}
.need-menu li{display:flex;align-items:center;justify-content:center;height:var(--row);box-sizing:border-box;margin:0 -.55rem;padding:0 .55rem;border-radius:5px;color:#FFFFFF;text-align:center;cursor:pointer;transition:background-color .2s ease}
.need-menu li[aria-selected="true"]{display:none}
.need-menu li:hover,.need-menu li:focus-visible{background:rgba(255,255,255,.17);outline:none}
.need-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.need-pre,.need-post{transition:opacity .35s ease}
@media (max-width:600px){.eyebrow.svc-need{column-gap:.1em}.svc-need.is-open .need-pre,.svc-need.is-open .need-post{opacity:.2}}
@media (pointer:coarse){.eyebrow.svc-need{--row:2.75rem}.need-btn::before{inset:-.7rem -.8rem}}
@media (prefers-reduced-motion:reduce){.need-wrap,.need-bg,.need-menu,.svc-need.is-open .need-menu{transition:none}.need-wrap.is-nudge,.need-wrap.is-nudge .need-bg::after{animation:none}}

/* =====================================================================
   The sticky "I need ..." bar (the dock): a caption in the hero at the top of the page, a thin black bar once you scroll
   ===================================================================== */
.need-slot{display:block;height:1.375rem}
.need-dock{--bar:2.2rem;position:fixed;z-index:45;top:0;left:0;right:0;height:1.375rem;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:hidden;will-change:transform,height}
.need-dock.is-ready{visibility:visible}
.need-dock-bg{position:absolute;inset:0;background:rgba(10,12,11,.8);border-bottom:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);opacity:var(--dock-p,0);pointer-events:none}
.need-dock.is-bar .need-dock-bg{pointer-events:auto}
.need-dock .eyebrow.svc-need{position:relative;margin:0;font-size:.78rem;font-weight:600;letter-spacing:.16em;line-height:1.2;text-transform:uppercase;color:#FFFFFF;pointer-events:auto;animation:needIn 1s .8s both}
@keyframes needIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
@media (pointer:coarse){.need-dock{--bar:2.6rem}}
@media (max-width:600px){.need-dock .eyebrow.svc-need{flex-wrap:nowrap;white-space:nowrap;font-size:.66rem;letter-spacing:.1em}.need-dock .svc-need .need-wrap{margin-inline:.4rem}.need-dock .svc-need.is-open .need-wrap{margin-inline:calc(.65rem + var(--need-grow))}}
@media (max-width:380px){.need-dock .eyebrow.svc-need{font-size:.6rem;letter-spacing:.07em}}
@media (prefers-reduced-motion:reduce){.need-dock .eyebrow.svc-need{animation:none}}

/* once the selector is a bar (docked over page content), the open list needs dark glass behind it so the options are readable on any background */
.need-bg::before{content:"";position:absolute;inset:0;background:rgba(10,12,11,.9);opacity:0;pointer-events:none;transition:opacity .35s ease}
.svc-need.is-open .need-bg::before{opacity:var(--dock-p,0)}

/* =====================================================================
   PHONE PASS
   ===================================================================== */
/* ---- A. No bottom bar. WhatsApp floats bottom-right, as on desktop (tablet and phone) ---- */
@media (max-width:820px){
  html:root .mbar{display:none}
  html:root .float-wa{display:inline-flex;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem)}
  html:root body[data-route="contact"] .float-wa,html:root body[data-route="admin"] .float-wa{display:none}
  html:root .site-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2rem)}
  /* the scroll arrow: just an arrow, centred at the bottom of the hero, bouncing (no ring) */
  html:root .hero2.hero2--full:not(.hero2--half) .scroll-cue{display:grid;place-items:center;position:absolute;left:0;right:0;margin-inline:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem);width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:#FFFFFF}
  html:root .hero2.hero2--full:not(.hero2--half) .scroll-cue:hover{background:none}
  html:root .hero2.hero2--full:not(.hero2--half) .scroll-cue svg{width:1.75rem;height:1.75rem;animation:cuePhone 1.7s ease-in-out infinite}
}
@keyframes cuePhone{0%,100%{transform:translateY(-4px)}50%{transform:translateY(7px)}}
@media (prefers-reduced-motion:reduce){html:root .hero2.hero2--full:not(.hero2--half) .scroll-cue svg{animation:none}}

/* ---- B. Home hero on a phone: left-aligned, larger type; the message at the top, the calls to action in the thumb zone ---- */
@media (max-width:600px){
  html:root .hero2.hero2--full:not(.hero2--half) .hero-top{width:100%;max-width:none;margin:0;box-sizing:border-box;align-items:flex-start;justify-content:flex-start;text-align:left;padding:calc(var(--header-h) + 1.75rem) 1.5rem calc(env(safe-area-inset-bottom,0px) + 5.75rem)}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-top .eyebrow{justify-content:flex-start;align-items:flex-start;text-align:left;font-size:.72rem;letter-spacing:.12em;line-height:1.55}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-top .eyebrow{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.65rem;row-gap:0}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-top .eyebrow::before{grid-column:1;grid-row:1 / span 2;align-self:start;margin-top:.5em}
  .hero2--full .cap-a{grid-column:2;grid-row:1;display:block}
  .hero2--full .cap-b{grid-column:2;grid-row:2;display:block}
  .hero2--full .cap-sep{display:none}
  html:root .hero2.hero2--full:not(.hero2--half) h1.display{font-size:clamp(2.4rem,12vw,3.4rem);line-height:1.04;max-width:none;margin:.95rem 0 0;text-align:left}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-sub{max-width:30ch;margin:1.15rem 0 0;font-size:1.125rem;line-height:1.5;text-align:left;text-wrap:pretty}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-ctas{margin:auto 0 0;width:100%;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;justify-content:stretch}
  html:root .hero2.hero2--full:not(.hero2--half) .hero-ctas .btn{min-height:3.25rem;justify-content:center;font-size:1rem;padding-inline:.6rem}
}

/* ---- C. Touch screens and narrow windows: no hover. The "hover" look is simply how the blocks look, lines stay thin, and only an open or pressed block gets the thick line ---- */
@media (max-width:820px),(hover:none){
  /* Our values: every block is filled in; the open one takes its tint and the thick line */
  html:root .approach-value:not(.is-active){background:var(--surface-2)}
  html:root .approach-value:not(.is-active):hover{background:var(--surface-2)}
  html:root .approach-value:not(.is-active):hover::before{height:4px}
  html:root .approach-values:has(.is-active) .approach-value:not(.is-active):first-child::before{height:4px}
  /* Why Pristine, About standards, service outcomes */
  html:root .points--cards .point:not(.is-active):hover::before{height:var(--bar-thin)}
  html:root .points--cards:not(:has(.is-active)) .point:first-child::before,html:root .points--cards .point.is-active::before{height:var(--bar-thick)}
  /* Areas cards, Google card: filled, thin line, thick only while pressed */
  html:root .area-card:hover::before,html:root .gr-card:hover::before{height:var(--bar-thin)}
  html:root .area-card:active::before,html:root .gr-card:active::before,html:root .quick-card:active::before,html:root .more-card:active::before{height:var(--bar-thick)}
  html:root .gr-card:hover{background:var(--surface-2)}
  html:root .quick-card:hover::before,html:root .more-card:hover::before{height:var(--bar-thin)}
  html:root .quick-card:hover{background:var(--surface-2);box-shadow:none}
  html:root .quick-card:hover .quick-ring{background:transparent;border-color:rgba(23,32,26,.35);color:var(--title);transform:none}
  html:root .more-card:hover{box-shadow:none}
  html:root .more-card:hover .more-media img{transform:none}
  html:root .more-card:hover .more-go svg{transform:none}
  /* FAQ, tabs, lists: thick only when open or selected */
  html:root .faq-item:not(.is-open):hover::before{height:var(--bar-thin)}
  html:root .faq-item:not(.is-open):hover .faq-pm{border-color:rgba(23,32,26,.35)}
  html:root .at-tab[aria-selected="false"]:hover::before,html:root .gal-tab[aria-pressed="false"]:hover::before{height:var(--bar-thin)}
  html:root .at-tab[aria-selected="false"]:hover{background:var(--surface-2)}
  html:root .gal-tab[aria-pressed="false"]:hover{color:var(--text-2)}
  html:root .sx-item:not(.is-on):hover::before{transform:scaleY(.35);opacity:.55}
  html:root .sx-item:not(.is-on):hover{color:var(--text-2)}
  html:root .sx-item:not(.is-on):hover .sx-arr{opacity:0;transform:translateX(-6px)}
  html:root .pf-tile:hover .pf-img img{transform:none}
}

/* explorer icon: its own layer, pinned top-left of the panel; it only crossfades (never moves) */
.sx-icons{position:absolute;z-index:1;top:clamp(1.5rem,3vw,2.25rem);left:clamp(1.5rem,3vw,2.5rem);width:2.25rem;height:2.25rem;pointer-events:none}
.sx-icons .sx-cico{position:absolute;inset:0;top:0;left:0;opacity:0;transition:opacity .45s ease}
.sx-icons .sx-cico.is-on{opacity:1;transition-delay:.12s}
@media (prefers-reduced-motion:reduce){.sx-icons .sx-cico{transition:none}}

/* =====================================================================
   CONTACT BOX: the box with its three steps beside it on desktop (contact page and pop-up alike)
   ===================================================================== */
.cf-layout{display:block}
@media (min-width:1061px){
  .cf-layout{display:grid;grid-template-columns:minmax(0,56rem) minmax(12rem,16rem);gap:clamp(2rem,3.5vw,3.25rem);align-items:start}
  .cf-layout .contact-panel{max-width:none}
  .cf-layout .next-row{grid-template-columns:minmax(0,1fr);margin-top:.5rem;max-width:none;gap:1.75rem}
}
/* the pop-up */
html.cf-lock{overflow:hidden}
.cf-modal{position:fixed;inset:0;z-index:300}
.cf-modal[hidden]{display:none}
.cf-backdrop{position:absolute;inset:0;background:rgba(10,12,11,.6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .32s ease}
.cf-scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(4.5rem,9vh,6rem) 0 clamp(2rem,6vh,4rem)}
.cf-inner{position:relative}
.cf-modal .cf-head,.cf-modal .cf-layout{opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .55s cubic-bezier(.22,.8,.2,1)}
.cf-modal .cf-layout{transition-delay:.06s}
.cf-modal.is-open .cf-backdrop{opacity:1}
.cf-modal.is-open .cf-head,.cf-modal.is-open .cf-layout{opacity:1;transform:none}
.cf-head{margin-bottom:clamp(1.25rem,2.5vw,1.75rem);color:#FFFFFF}
.cf-head .eyebrow{color:rgba(255,255,255,.85)}
.cf-head h2{margin:.4rem 0 0;color:#FFFFFF;max-width:24ch}
.cf-head h2:focus{outline:none}
.cf-modal .next-row li{color:rgba(255,255,255,.78)}
.cf-modal .next-row strong{color:#FFFFFF}
.cf-modal .next-row span{border-color:rgba(255,255,255,.5);color:#FFFFFF}
.cf-x{all:unset;box-sizing:border-box;position:fixed;z-index:2;top:clamp(.85rem,2vw,1.4rem);right:clamp(.85rem,2vw,1.4rem);display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1.5px solid rgba(255,255,255,.7);border-radius:50%;color:#FFFFFF;cursor:pointer;opacity:0;transition:opacity .3s ease,background-color .25s ease,color .25s ease,border-color .25s ease}
.cf-modal.is-open .cf-x{opacity:1}
.cf-x svg{width:1.1rem;height:1.1rem}
.cf-x:hover{background:#FFFFFF;color:var(--title);border-color:#FFFFFF}
.cf-x:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.cf-backdrop,.cf-modal .cf-head,.cf-modal .cf-layout,.cf-x{transition:none}}

/* =====================================================================
   NARROW SCREENS: buttons and tabs always fit. Text first shrinks a little with the screen, then wraps neatly,
   so nothing overflows its box or runs into the next one. Wide screens are unaffected.
   ===================================================================== */
.tabs button{white-space:normal;line-height:1.2;text-align:center;font-size:clamp(.78rem,3.4vw,.94rem);padding-inline:clamp(.45rem,2vw,.7rem)}
@media (max-width:420px){
  .tabs{border-radius:14px}
  .tabs button{border-radius:11px}
  .btn{white-space:normal;line-height:1.2;text-align:center;max-width:100%;min-width:0;font-size:clamp(.8125rem,3.9vw,1rem);padding-inline:clamp(.75rem,3.5vw,1.4rem)}
  .btn svg{flex:none}
  .btn-row>.btn{flex:1 1 auto}
  .hero2--full .hero-ctas .btn{font-size:clamp(.8125rem,3.9vw,.9375rem)}
}

/* ===== Reviews: stars, name, service ===== */
.rv figcaption .stars{margin:0 .25rem 0 0;color:#E0A100}
.rv figcaption .stars svg{width:15px;height:15px}
.quote-band footer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem}
.quote-band footer .stars{margin:0;color:#E0A100}
.quote-band footer .stars svg{width:16px;height:16px}
/* ===== Homepage hero: rotating review line, bottom centre ===== */
.hero-quote{position:absolute;z-index:3;left:0;right:0;bottom:clamp(1.75rem,4vh,2.75rem);margin-inline:auto;width:min(40rem,calc(100% - 3rem));display:grid;text-align:center;color:#FFFFFF;pointer-events:auto;animation:hqIn 1s 1.9s both}
.hq-item{grid-area:1/1;margin:0;opacity:0;filter:blur(8px);transform:translateY(.4rem);pointer-events:none;transition:opacity .9s ease,filter .9s ease,transform 1s cubic-bezier(.22,.8,.2,1)}
.hq-item.is-on{opacity:1;filter:none;transform:none;pointer-events:auto;transition-delay:.3s}
.hq-item.is-out{opacity:0;filter:blur(8px);transform:translateY(-.4rem);transition-delay:0s}
.hq-item blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.4;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hq-item figcaption{margin-top:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
@keyframes hqIn{from{opacity:0}to{opacity:1}}
/* Hero review stars: five soft frosted shapes, no outlines; one long shine (plus a fainter, thinner second pass) sweeps the whole row once each time a review comes in */
.hq-stars{position:relative;display:block;width:6.3rem;height:.92rem;margin:0 auto .75rem;filter:drop-shadow(0 1px 6px rgba(0,0,0,.3))}
.hq-stars::before,.hq-stars::after{content:"";position:absolute;inset:0;-webkit-mask:var(--hq-star-mask) center/100% 100% no-repeat;mask:var(--hq-star-mask) center/100% 100% no-repeat}
.hq-stars{--hq-star-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%272.5 2.5 123 18%27%3E%3Cpath transform=%27translate(0 0)%27 d=%27m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z%27/%3E%3Cpath transform=%27translate(26 0)%27 d=%27m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z%27/%3E%3Cpath transform=%27translate(52 0)%27 d=%27m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z%27/%3E%3Cpath transform=%27translate(78 0)%27 d=%27m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z%27/%3E%3Cpath transform=%27translate(104 0)%27 d=%27m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z%27/%3E%3C/svg%3E")}
.hq-stars::before{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.4))}
.hq-stars::after{background-image:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%),linear-gradient(100deg,transparent 46%,rgba(236,244,255,.16) 50%,transparent 54%);background-size:300% 100%,300% 100%;background-repeat:no-repeat;background-position:95% 0,120% 0}
.hq-item.is-on .hq-stars::after{animation:hqShine 3.4s cubic-bezier(.45,.05,.3,1) 1.2s both}
.hero-quote:not(.hq-cycled) .hq-item.is-on .hq-stars::after{animation-delay:3.1s}
@keyframes hqShine{0%{background-position:95% 0,120% 0}68%{background-position:5% 0,45% 0}100%{background-position:5% 0,0% 0}}
@media (max-width:600px){.hq-stars{margin-left:0}}
@media (prefers-reduced-motion:reduce){.hq-item.is-on .hq-stars::after{animation:none}}
@media (max-width:820px){.hero-quote{bottom:calc(env(safe-area-inset-bottom,0px) + 4.75rem)}}
@media (max-width:600px){.hero-quote{left:1.5rem;right:1.5rem;width:auto;margin:0;text-align:left;bottom:calc(env(safe-area-inset-bottom,0px) + 10.25rem)}.hq-item blockquote{font-size:1.05rem}}
@media (max-width:600px) and (max-height:700px),(min-width:601px) and (max-height:640px){.hero-quote{display:none}}
@media (prefers-reduced-motion:reduce){.hero-quote{animation:none}.hq-item,.hq-item.is-out{filter:none;transform:none;transition:opacity .4s ease}}

/* ===== Copy cleanup: no right-hand paragraphs ===== */
.approach-head{display:block}
.gr-card>div:first-child p{margin:0;max-width:62ch;color:var(--text-2)}
/* About: the story sits under its title, not off to the right */
.about-intro{grid-template-columns:minmax(0,1fr)}
.about-body{grid-column:1;max-width:46rem}

/* =====================================================================
   CALMER TYPE SCALE. Section titles are the loudest thing in a section; card titles sit clearly below them.
   Heroes, body text and spacing are unchanged.
   ===================================================================== */
html:root h2,html:root .sec-head h2,html:root .approach-head h2,html:root .cta-band h2,html:root .at-title{font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.15}
/* homepage Explore cards */
html:root .xp-list:not(.xp-list--many) .xp-name{font-size:clamp(1.4rem,2vw,1.85rem)}
html:root .xp-list:not(.xp-list--many).has-sel .xp-card:not(.is-sel) .xp-name{font-size:clamp(1.15rem,1.4vw,1.35rem)}
/* Our values */
html:root .approach-value h3{font-size:clamp(1.15rem,1.4vw,1.35rem)}
html:root .approach-value.is-active h3{font-size:clamp(1.45rem,2vw,1.75rem)}
html:root .approach-value.is-active .approach-num{font-size:clamp(2.4rem,3.8vw,3.4rem)}
/* Why Pristine, About standards, service outcomes */
html:root .points--cards .point h4{font-size:clamp(1.2rem,1.5vw,1.4rem)}
html:root .points--cards .point.is-active h4,html:root .points--cards:not(:has(.is-active)) .point:first-child h4{font-size:clamp(1.45rem,2vw,1.75rem)}
/* service explorer, More services, quotes */
html:root .sx-copy h3{font-size:clamp(1.45rem,2vw,1.85rem)}
html:root .more-copy strong{font-size:clamp(1.3rem,1.7vw,1.6rem)}
html:root .rv blockquote{font-size:clamp(1.1rem,1.5vw,1.35rem)}
html:root .quote-band blockquote{font-size:clamp(1.15rem,1.7vw,1.5rem)}
/* About, contact, FAQ, Areas */
html:root .about-lead{font-size:clamp(1.2rem,1.6vw,1.45rem)}
html:root .quick-card strong{font-size:clamp(1.15rem,1.4vw,1.3rem)}
html:root .faq-q{font-size:clamp(1rem,1.2vw,1.125rem)}
html:root .at-name{font-size:clamp(1rem,1.25vw,1.15rem)}
html:root .cinfo-big{font-size:clamp(1.9rem,3.6vw,2.75rem)}
html:root .gal-title{font-size:clamp(2.2rem,4vw,3.25rem)}
@media (max-width:600px){
  html:root .approach-value.is-active h3{font-size:1.5rem}
  html:root .approach-value.is-active .approach-num{font-size:2.4rem}
}

/* marquee strip: in proportion with the calmer titles */
html:root .marquee-item{font-size:clamp(1.5rem,3vw,2.5rem)}
/* Dashboard: the notification bell and its panel */
.adm-bell{position:relative}
.adm-bell-btn{all:unset;box-sizing:border-box;position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;color:var(--text-2);cursor:pointer;transition:color .2s ease,background-color .2s ease}
.adm-bell-btn svg{width:1.65rem;height:1.65rem;grid-area:1/1}
.adm-bell-btn:hover,.adm-bell-btn[aria-expanded=true]{color:var(--title);background:var(--surface-2)}
.adm-bell-btn:focus-visible{outline:2px solid var(--title);outline-offset:2px}
/* Something new: the bell turns solid orange with the number inside it */
.adm-bell-btn.has-new{color:var(--cta)}
.adm-bell-btn.has-new:hover,.adm-bell-btn.has-new[aria-expanded=true]{color:var(--cta-hover)}
.adm-bell-btn.has-new svg path:first-child{fill:currentColor}
.adm-notes{position:absolute;top:calc(100% + .6rem);right:0;z-index:20;width:min(23rem,calc(100vw - 2rem));max-height:min(32rem,70vh);overflow:auto;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;box-shadow:0 18px 40px -12px rgba(23,32,26,.28)}
.adm-notes[hidden]{display:none}
.adm-notes-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--line);background:#FFFFFF;font-size:.92rem;color:var(--title)}
.adm-notes ul{margin:0;padding:0;list-style:none}
.adm-notes li+li{border-top:1px solid var(--line)}
.adm-note{all:unset;box-sizing:border-box;display:grid;grid-template-columns:.5rem 1fr;column-gap:.6rem;width:100%;padding:.85rem 1rem;cursor:pointer;color:var(--text-2)}
.adm-note>*{grid-column:2}
.adm-note>.adm-dot{grid-column:1;grid-row:1;align-self:center}
.adm-note strong{font-weight:500;color:var(--title)}
.adm-note.is-new strong{font-weight:700}
.adm-note span,.adm-note time{font-size:.85rem}
.adm-note:hover{background:var(--surface-2)}
.adm-note:focus-visible{outline:2px solid var(--title);outline-offset:-2px}
.adm-notes-msg{margin:0;padding:1.4rem 1rem;color:var(--text-2);font-size:.92rem}
.adm-link{all:unset;font-size:.85rem;font-weight:600;color:var(--cta);cursor:pointer}
.adm-link:hover{text-decoration:underline}
.adm-link:focus-visible{outline:2px solid var(--title);outline-offset:2px}
/* Dashboard: the Forms inbox */
.adm-inbox{display:grid;gap:.6rem;margin-top:2rem}
.adm-item{border:1px solid var(--line);border-radius:5px;background:#FFFFFF}
.adm-item.is-new{border-left:3px solid var(--cta)}
.adm-item-head{all:unset;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;width:100%;padding:1rem 1.25rem;cursor:pointer;color:var(--text-2)}
.adm-item-head:hover{background:var(--surface-2)}
.adm-item-head:focus-visible{outline:2px solid var(--title);outline-offset:-2px}
.adm-item-head strong{font-weight:500;color:var(--title)}
.adm-item.is-new .adm-item-head strong{font-weight:700}
.adm-item-kind{padding:.15rem .5rem;border-radius:3px;background:var(--surface-2);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.adm-item-meta{flex:1;min-width:8rem;font-size:.9rem}
.adm-item-head time{font-size:.85rem;white-space:nowrap}
.adm-item-body{padding:0 1.25rem 1.25rem}
.adm-item-body[hidden]{display:none}
.adm-item-body dl{display:grid;gap:.45rem;margin:0;padding-top:1rem;border-top:1px solid var(--line)}
.adm-item-body dl>div{display:grid;grid-template-columns:7rem 1fr;gap:1rem}
.adm-item-body dt{font-size:.85rem;font-weight:600;color:var(--text-2)}
.adm-item-body dd{margin:0;color:var(--title)}
.adm-item-body a{color:var(--title)}
.adm-item-msg{margin:1rem 0 0;padding:1rem;border-radius:4px;background:var(--surface-2);color:var(--title);white-space:normal}
.adm-item-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.adm-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border:1px solid #C9CED3;border-radius:4px;font-size:.92rem;font-weight:600;color:var(--title);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.adm-btn svg{width:1rem;height:1rem}
.adm-btn:hover{border-color:var(--title);background:var(--surface-2)}
.adm-btn:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.adm-btn--primary{border-color:var(--cta);background:var(--cta);color:#FFFFFF}
.adm-btn--primary:hover{border-color:var(--cta-hover);background:var(--cta-hover)}
.adm-btn--quiet{margin-left:auto;border-color:transparent;color:var(--text-2)}
@media (max-width:560px){.adm-item-body dl>div{grid-template-columns:1fr;gap:.1rem}.adm-btn--quiet{margin-left:0}}
.adm-btn--quiet+.adm-btn--quiet{margin-left:0}
.adm-btn--danger{color:#B3261E}
.adm-btn--danger:hover{border-color:#B3261E;background:#FDF4F3}
/* Dashboard: view headings with an action button, tags, and links between records */
.adm-view-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}
.adm-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none}
.adm-tags li{padding:.12rem .55rem;border-radius:999px;background:var(--surface-2);font-size:.75rem;font-weight:600;color:var(--text-2)}
.adm-rel{color:var(--title);font-weight:600;text-underline-offset:.2em}
.adm-back-link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.92rem;font-weight:600;color:var(--text-2);text-decoration:none}
.adm-back-link svg{width:1rem;height:1rem;transform:scaleX(-1)}
.adm-back-link:hover{color:var(--title)}
/* Contacts and Companies: the searchable list */
.crm-search{margin-top:1.75rem}
.crm-search input{box-sizing:border-box;width:100%;max-width:26rem;padding:.75rem .9rem;border:1px solid #C9CED3;border-radius:4px;font:inherit;color:var(--title)}
.crm-search input:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.crm-table{margin-top:1rem;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.crm-tr{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.2fr);gap:1rem;align-items:center;padding:.85rem 1.1rem;color:var(--text-2);text-decoration:none}
.crm-tr+.crm-tr{border-top:1px solid var(--line)}
.crm-tr[hidden]{display:none}
.crm-tr span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.crm-tr strong{color:var(--title);font-weight:600}
.crm-tr .adm-tags{margin-top:.3rem}
a.crm-tr:hover{background:var(--surface-2)}
a.crm-tr:focus-visible{outline:2px solid var(--title);outline-offset:-2px}
.crm-th{background:var(--surface-2);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.crm-none{margin:0;padding:1.2rem;color:var(--text-2)}
.crm-none[hidden]{display:none}
@media (max-width:760px){
  .crm-th{display:none}
  .crm-tr{grid-template-columns:1fr;gap:.15rem}
  .crm-tr span[data-label]:empty{display:none}
}
/* Contacts and Companies: one record, in three columns (details, timeline, links) */
.crm-page{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr) minmax(0,17rem);gap:1.25rem;align-items:start}
.crm-page--new{grid-template-columns:minmax(0,34rem)}
.crm-card{padding:1.4rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF}
.crm-summary h1{font-size:1.6rem;line-height:1.15;word-break:break-word}
.crm-dl{display:grid;gap:.8rem;margin:1.2rem 0 0}
.crm-dl dt{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.crm-dl dd{margin:.15rem 0 0;color:var(--title);word-break:break-word}
.crm-dl a{color:var(--title)}
.crm-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.crm-muted{margin:.8rem 0 0;color:var(--text-2);font-size:.92rem}
.crm-main{display:grid;gap:1rem;min-width:0}
.crm-note{display:grid;gap:.6rem;justify-items:start}
.crm-note label,.crm-link label,.crm-field label{font-size:.9rem;font-weight:600;color:var(--title)}
.crm-note textarea,.crm-link input,.crm-field input,.crm-field textarea{box-sizing:border-box;width:100%;padding:.7rem .85rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;color:var(--title);resize:vertical}
.crm-note textarea:focus,.crm-link input:focus,.crm-field input:focus,.crm-field textarea:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.crm-timeline{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}
.crm-ev{padding:1rem 1.2rem;border:1px solid var(--line);border-left:3px solid var(--cta);border-radius:5px;background:#FFFFFF}
.crm-ev--note{border-left-color:#495D7B}
.crm-ev-top{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-2)}
.crm-ev-top .adm-link{margin-left:auto}
.crm-ev p{margin:.55rem 0 0;color:var(--title)}
.crm-ev .crm-ev-msg{color:var(--text-2)}
.crm-ev>.adm-link{display:inline-block;margin-top:.6rem}
.crm-timeline-empty{padding:1.2rem;border:1px dashed #C9CED3;border-radius:5px;text-align:center}
.crm-card.crm-related h2{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.3;letter-spacing:0;font-weight:700;color:var(--title)}
.crm-rel-list{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.crm-rel-list li{position:relative;display:grid;gap:.1rem;padding:.7rem 2.2rem .7rem .8rem;border-radius:4px;background:var(--surface-2)}
.crm-rel-list li span{font-size:.85rem;color:var(--text-2)}
.crm-x{all:unset;position:absolute;top:50%;right:.5rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;color:var(--text-2);cursor:pointer;transform:translateY(-50%)}
.crm-x svg{width:.9rem;height:.9rem}
.crm-x:hover{background:#FFFFFF;color:#B3261E}
.crm-x:focus-visible{outline:2px solid var(--title)}
.crm-link{display:grid;gap:.5rem;margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.crm-link .adm-btn{justify-self:start}
.crm-hint{margin:0;font-size:.8rem;color:var(--text-2)}
.crm-edit{display:grid;gap:.9rem}
.crm-edit h1{font-size:1.4rem}
.crm-field{display:grid;gap:.35rem}
.crm-opt{font-weight:400;color:var(--text-2)}
.crm-edit .crm-actions{margin-top:.3rem}
@media (max-width:1100px){.crm-page{grid-template-columns:minmax(0,17rem) minmax(0,1fr)}.crm-side{grid-column:1}}
@media (max-width:760px){.crm-page{grid-template-columns:1fr}.crm-side{grid-column:auto}.adm-view-head .adm-btn{width:100%;justify-content:center}}
/* Dashboard: the less-used actions (delete, mark unread) sit on their own row, on the left; delete is red */
.adm-item-actions--minor,.crm-actions--minor{margin-top:.6rem}
.adm-item-actions--minor .adm-btn--quiet{margin-left:0}
.adm-btn--danger{border-color:#E8B4AE;color:#B3261E}
.adm-btn--danger:hover{border-color:#B3261E;background:#FDF4F3;color:#8E1D17}
.adm-btn--danger-solid{border-color:#B3261E;background:#B3261E;color:#FFFFFF}
.adm-btn--danger-solid:hover{border-color:#8E1D17;background:#8E1D17}
.adm-btn:disabled{opacity:.45;cursor:not-allowed}
.adm-link--danger{color:#B3261E}
/* The "type DELETE" box */
.adm-dialog{width:min(26rem,calc(100vw - 2rem));padding:0;border:0;border-radius:8px;box-shadow:0 30px 70px -20px rgba(23,32,26,.45)}
.adm-dialog::backdrop{background:rgba(23,32,26,.45)}
.adm-dialog-in{display:grid;gap:.75rem;padding:1.6rem}
.adm-dialog h2{margin:0;font-family:var(--sans);font-size:1.2rem;font-weight:700;color:var(--title)}
.adm-dialog p{margin:0;color:var(--text-2)}
.adm-dialog label{margin-top:.4rem;font-size:.92rem;color:var(--title)}
.adm-dialog input{box-sizing:border-box;width:100%;padding:.7rem .85rem;border:1px solid #C9CED3;border-radius:4px;font:inherit;letter-spacing:.08em}
.adm-dialog input:focus{outline:none;border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.adm-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}
/* Contact type, the right-hand column, job status labels, filter chips */
.crm-type{display:inline-block;margin:.45rem 0 0;padding:.15rem .6rem;border-radius:3px;background:#E8EEF6;color:#33435A;font-size:.78rem;font-weight:700;letter-spacing:.04em}
.crm-side{display:grid;gap:1.25rem;min-width:0}
.crm-jobs-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.crm-card.crm-jobs h2{margin:0;font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.crm-jobs-head .adm-btn{padding:.4rem .7rem;font-size:.85rem}
.crm-jobs .crm-rel-list li{padding-right:.8rem}
.crm-jobs .adm-status{justify-self:start;margin-top:.25rem}
.adm-status{display:inline-block;padding:.12rem .5rem;border-radius:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.adm-status--requested{background:#FCF8D6;color:#6B5F00}
.adm-status--booked{background:#E8EEF6;color:#33435A}
.adm-status--done{background:#E6EEE5;color:#2C3A2B}
.adm-status--cancelled{background:var(--surface-2);color:var(--text-2);text-decoration:line-through}
.adm-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.adm-view-head+.adm-chips{margin-top:1.5rem}
.adm-chip{all:unset;box-sizing:border-box;padding:.45rem .85rem;border:1px solid #C9CED3;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--title);cursor:pointer}
.adm-chip:hover{border-color:var(--title)}
.adm-chip[aria-pressed=true]{border-color:var(--title);background:var(--title);color:#FFFFFF}
.adm-chip:focus-visible{outline:2px solid var(--title);outline-offset:2px}
/* Jobs: the list and the form */
.jobs-table .crm-tr{grid-template-columns:minmax(0,9rem) minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,7rem)}
.jobs-table small{display:block;font-size:.82rem;color:var(--text-2)}
.adm-chips+.crm-table,.adm-chips+.adm-empty{margin-top:1rem}
.crm-row2,.crm-row3{display:grid;gap:.9rem}
.crm-row2{grid-template-columns:repeat(2,minmax(0,1fr))}
.crm-row3{grid-template-columns:repeat(3,minmax(0,1fr))}
.crm-field select{box-sizing:border-box;width:100%;padding:.7rem .85rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;color:var(--title)}
.crm-field select:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.job-links{margin:.5rem 0 0;font-size:.92rem;color:var(--text-2)}
.crm-page--new .crm-edit .adm-view-head{align-items:flex-start}
@media (max-width:560px){.crm-row2,.crm-row3{grid-template-columns:1fr}}
/* Calendar */
.cal-head{align-items:center}
.cal-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.cal-nav [data-cal-move="-1"] svg{transform:scaleX(-1)}
.cal-nav .adm-chips{margin-left:.4rem}
.cal-today-tag{margin-left:.4rem;padding:.15rem .5rem;border-radius:3px;background:var(--cta);color:#FFFFFF;font-family:var(--sans);font-size:.8rem;font-weight:700;vertical-align:middle}
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:1.5rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cal-dow{padding:.5rem .6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.cal-cell{position:relative;min-height:7.5rem;padding:.35rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#FFFFFF}
.cal-cell.is-other{background:#FAFBFA}
.cal-cell.is-other .cal-date{color:#9AA19C}
.cal-date{all:unset;box-sizing:border-box;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;font-size:.88rem;font-weight:600;color:var(--title);cursor:pointer}
.cal-date:hover{background:var(--surface-2)}
.cal-date:focus-visible{outline:2px solid var(--title)}
.cal-cell.is-today .cal-date{background:var(--cta);color:#FFFFFF}
.cal-items{display:grid;gap:.2rem;margin-top:.2rem}
.cal-ev{display:block;overflow:hidden;padding:.2rem .4rem;border-left:3px solid #DBC924;border-radius:3px;background:#FCF8D6;font-size:.78rem;line-height:1.3;color:var(--title);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.cal-ev b{font-weight:700}
.cal-ev small{display:block;overflow:hidden;color:var(--text-2);text-overflow:ellipsis}
a.cal-ev:hover{filter:brightness(.96)}
.cal-ev--booked{border-left-color:#495D7B;background:#E8EEF6}
.cal-ev--done{border-left-color:#3A4C39;background:#E6EEE5;opacity:.75}
.cal-ev--check{border-left-color:var(--cta);background:#F8EBE4}
.cal-ev--task{border-left-color:#5E6366;background:#EEEFF0}
.cal-ev.is-done{opacity:.55;text-decoration:line-through}
.cal-more{all:unset;padding:0 .4rem;font-size:.78rem;font-weight:600;color:var(--text-2);cursor:pointer}
.cal-more:hover{color:var(--title)}
.cal-pip{display:none}
.cal-day{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1.5rem}
.crm-card.cal-todos h2{margin:0;font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.cal-todos ul{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.cal-todo{display:grid;gap:.5rem;padding:.7rem .8rem;border-radius:5px;background:var(--surface-2)}
.cal-todo--check{background:#F8EBE4}
.cal-todo.is-done span{text-decoration:line-through;color:var(--text-2)}
.cal-todo-main strong{display:block;font-size:.92rem;color:var(--title)}
.cal-todo-main small{font-size:.82rem;color:var(--text-2)}
.cal-todo-act{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.cal-todo-act .adm-btn{padding:.35rem .7rem;font-size:.85rem}
.cal-todo .cal-ev{white-space:normal}
.cal-check{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;color:var(--title);cursor:pointer}
.cal-check input{margin-top:.2rem;accent-color:var(--cta)}
.cal-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.cal-add input[name=title]{grid-column:1/-1}
.cal-add input{box-sizing:border-box;min-width:0;padding:.55rem .7rem;border:1px solid #C9CED3;border-radius:4px;font:inherit;font-size:.92rem}
.cal-add input:focus{outline:none;border-color:var(--title)}
.cal-hours{position:relative;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;overflow:hidden}
.cal-hour{height:3.5rem;box-sizing:border-box;border-top:1px solid var(--line)}
.cal-hour:first-child{border-top:0}
.cal-hour span{display:block;width:3.4rem;padding:.3rem .5rem;font-size:.75rem;color:var(--text-2)}
.cal-slot{position:absolute;left:3.8rem;right:.5rem;box-sizing:border-box;padding:2px 0}
.cal-slot .cal-ev{height:100%;box-sizing:border-box;white-space:normal}
@media (max-width:900px){.cal-day{grid-template-columns:1fr}}
@media (max-width:760px){
  .cal-cell{min-height:3.6rem;padding:.25rem}
  .cal-items{display:none}
  .cal-pip{position:absolute;right:.3rem;bottom:.3rem;display:grid;place-items:center;min-width:1.1rem;height:1.1rem;padding:0 .2rem;border-radius:999px;background:#495D7B;color:#FFFFFF;font-size:.65rem;font-style:normal;font-weight:700}
  .cal-dow{padding:.4rem .2rem;font-size:.62rem;letter-spacing:.04em;text-align:center}
  .cal-date{margin:0 auto}
  .cal-nav{width:100%}
}
/* Forms: "Who is this for?" Homeowner / Business switch */
.who-seg{display:inline-flex;gap:.2rem;margin-top:.5rem;padding:.25rem;border-radius:999px;background:var(--surface-2)}
.who-seg label{position:relative;cursor:pointer}
.who-seg input{position:absolute;opacity:0;pointer-events:none}
.who-seg span{display:block;padding:.55rem 1.2rem;border-radius:999px;font-size:.95rem;font-weight:600;color:var(--text-2);transition:background-color .2s ease,color .2s ease}
.who-seg input:checked+span{background:#FFFFFF;color:var(--title);box-shadow:0 1px 3px rgba(23,32,26,.15)}
.who-seg input:focus-visible+span{outline:2px solid var(--title);outline-offset:2px}
[data-company][hidden]{display:none}
/* ===== Admin, round 3: full width, tighter, a grey second-row menu, cards, dashboard charts, server status, animations ===== */
/* Full width, like a normal CRM: the bar and the pages run edge to edge */
.adm-top-in,.adm-tabs-in,.adm-main-in,.adm-subnav-in{max-width:none}
.adm-top-in{padding:.6rem clamp(.9rem,2vw,1.5rem)}
.adm-tabs-in{padding:0 clamp(.9rem,2vw,1.5rem) 0 0}
.adm-main-in{padding:1.25rem clamp(.9rem,2vw,1.5rem) 3rem}
.adm-top-brand img{width:5.5rem}
.adm-tabs [role=tab]{padding:.75rem 1.05rem;font-size:.9rem}
.adm-tabs-site{align-items:stretch}
.adm-group-label{display:flex;align-items:center;padding:0 .9rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.adm-tabs[data-group=dev]{--tc:#2C3A2B;--tt:#E9ECE8;--tx:#FFFFFF}
/* Tighter text and spacing throughout */
.adm-main h1,.adm-form h1{font-size:1.45rem}
.adm-sub{margin-top:.3rem;font-size:.92rem}
.crm-card{padding:1rem 1.1rem}
.crm-summary h1{font-size:1.35rem}
.crm-dl{gap:.6rem;margin-top:.9rem}
.crm-dl dd{font-size:.92rem}
.crm-tr{padding:.6rem .9rem;font-size:.9rem}
.crm-page{grid-template-columns:minmax(0,17rem) minmax(0,1fr) minmax(0,17rem);gap:1rem}
.adm-btn{padding:.5rem .85rem;font-size:.88rem}
.adm-item-head{padding:.75rem 1rem;font-size:.92rem}
.adm-item-body{padding:0 1rem 1rem}
.crm-ev{padding:.8rem 1rem}
.adm-inbox{margin-top:1.1rem;gap:.45rem}
.crm-search{margin-top:1.1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.crm-search input{max-width:22rem;padding:.55rem .8rem}
.crm-count{font-size:.85rem;color:var(--text-2)}
.adm-empty{margin-top:1.25rem;padding:2rem}
/* The grey second row */
.adm-subnav{border-bottom:1px solid var(--line);background:#F4F5F7}
.adm-subnav[hidden]{display:none}
.adm-subnav-in{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;padding:0 clamp(.9rem,2vw,1.5rem);overflow-x:auto;scrollbar-width:none}
.adm-subnav-in::-webkit-scrollbar{display:none}
.adm-subnav-opts,.adm-subnav-views{display:flex}
.adm-subnav button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.85rem;font-weight:600;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.adm-subnav button svg{width:.95rem;height:.95rem}
.adm-subnav button:hover{background:#E9EBEE;color:var(--title)}
.adm-subnav button[aria-pressed=true]{background:#FFFFFF;color:var(--title);box-shadow:inset 0 -2px 0 var(--title)}
.adm-subnav button:focus-visible{outline:2px solid var(--title);outline-offset:-3px}
/* Contact type labels */
.adm-type{display:inline-block;padding:.1rem .45rem;border-radius:3px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}
.adm-type--homeowner{background:#F8EBE4;color:#7A4029}
.adm-type--business{background:#E5EDF8;color:#2D4F80}
.crm-summary .adm-type{margin-top:.4rem}
.crm-typefield{border:0;margin:0;padding:0}
.crm-typefield legend{margin-bottom:.35rem;font-size:.9rem;font-weight:600;color:var(--title)}
.crm-typefield .who-seg{margin-top:0}
/* Contacts and Companies: tables with five columns, and the card view */
.crm-table--contacts .crm-tr{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.1fr)}
.crm-table--companies .crm-tr{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr)}
.crm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.75rem;margin-top:1rem}
.crm-tile{display:grid;gap:.6rem;align-content:start;padding:.9rem 1rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;color:var(--text-2);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.crm-tile:hover{border-color:#C9CED3;box-shadow:0 10px 24px -14px rgba(23,32,26,.35);transform:translateY(-1px)}
.crm-tile:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.crm-tile[hidden]{display:none}
.crm-tile-top{display:flex;align-items:center;gap:.7rem;min-width:0}
.crm-tile-top>span:last-child{display:grid;gap:.2rem;min-width:0}
.crm-tile strong{overflow:hidden;color:var(--title);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.crm-tile small{font-size:.8rem}
.crm-tile .adm-type{justify-self:start}
.crm-avatar{display:grid;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--surface-2);font-size:.85rem;font-weight:700;color:var(--title)}
.crm-tile-lines{display:grid;gap:.25rem;font-size:.85rem}
.crm-tile-lines span{display:flex;align-items:center;gap:.45rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.crm-tile-lines svg{flex-shrink:0;width:.9rem;height:.9rem}
.crm-tile .adm-tags{margin:0}
.crm-tiles .crm-none{grid-column:1/-1}
/* Dashboard: bigger cards in a grid, each with headline numbers and a small chart */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;margin-top:1.25rem}
.dash-card{position:relative;display:flex;flex-direction:column;gap:.35rem;min-height:13rem;padding:1.15rem 1.25rem;text-align:left}
.dash-title{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.dash-big{font-size:1.6rem;font-weight:600;line-height:1.15;color:var(--title)}
.dash-big .adm-light{font-size:1.05rem}
.dash-small{font-size:.88rem;font-style:normal;color:var(--text-2)}
.dash-warn{color:#B3261E}
.dash-cap{margin-top:.2rem;font-size:.75rem;color:var(--text-2)}
.dash-go{position:absolute;top:1rem;right:1rem;color:var(--text-2);transition:transform .2s ease,color .2s ease}
.dash-go svg{width:1.1rem;height:1.1rem}
.dash-card:hover .dash-go{color:var(--title);transform:translateX(3px)}
.dash-card .adm-chart{margin-top:auto}
.dash-list{display:grid;gap:.3rem;margin:auto 0 0;padding:.6rem 0 0;border-top:1px solid var(--line);list-style:none;font-size:.88rem}
.dash-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dash-list span{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-2)}
.dash-list b{color:var(--title)}
.dash-split{display:flex;gap:2px;height:.6rem;margin-top:auto;border-radius:4px;overflow:hidden}
.dash-split i{display:block;min-width:2px}
.dash-split .is-home,.dash-key.is-home{background:#CC7640}
.dash-split .is-biz,.dash-key.is-biz{background:#3F6FB0}
.dash-key{display:inline-block;width:.6rem;height:.6rem;border-radius:2px}
.dash-split+.dash-list{margin-top:.6rem;border-top:0;padding-top:0}
/* Small column chart: thin columns with rounded tops, a hairline baseline, a tooltip on hover */
.adm-chart{display:grid;gap:.3rem}
.adm-chart-plot{position:relative;height:4.5rem;border-bottom:1px solid var(--line)}
.adm-chart-col{position:absolute;top:0;bottom:0;display:flex;align-items:flex-end;justify-content:center;outline:none}
.adm-chart-col i{display:block;width:min(60%,24px);border-radius:4px 4px 0 0;background:var(--bar);transition:opacity .15s ease}
.adm-chart-col:hover,.adm-chart-col:focus-visible{background:rgba(23,32,26,.05)}
.adm-chart-col:focus-visible{box-shadow:inset 0 0 0 2px var(--title)}
.adm-chart-axis{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-2)}
.adm-tip{position:absolute;z-index:50;padding:.3rem .55rem;border-radius:4px;background:var(--title);color:#FFFFFF;font-size:.78rem;font-weight:600;white-space:nowrap;pointer-events:none;transform:translate(-50%,-100%)}
.adm-tip[hidden]{display:none}
/* Status lights: always a coloured dot and a word */
.adm-light{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--title)}
.adm-light i{width:.65rem;height:.65rem;border-radius:50%;background:var(--l,#5E6366);box-shadow:0 0 0 3px color-mix(in srgb,var(--l,#5E6366) 22%,transparent)}
.adm-light--ok{--l:#2E7D32}
.adm-light--warning,.adm-light--error{--l:#C77700}
.adm-light--down{--l:#C62828}
.adm-light--info{--l:#1F6FB2}
.adm-light--loading{--l:#9AA19C}
/* Server tab */
.srv-when{margin-left:.6rem;font-size:.82rem;color:var(--text-2)}
.srv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.8rem;margin-top:1.25rem}
.srv-card{display:grid;gap:.45rem;text-align:left;border-left-width:4px}
.srv-card--ok{border-left-color:#2E7D32}.srv-card--warning{border-left-color:#C77700}.srv-card--down{border-left-color:#C62828}.srv-card--info{border-left-color:#1F6FB2}
.srv-note{margin:1rem 0 0;font-size:.88rem;color:var(--text-2)}
.srv-detail{margin-top:1rem}
.srv-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.crm-card.srv-detail h2{margin:0;font-family:var(--sans);font-size:1.05rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.srv-detail-head .adm-copy{margin-left:auto}
.srv-dl{display:grid;gap:.35rem;margin:.9rem 0 0}
.srv-dl>div{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1rem;align-items:center;padding:.35rem 0;border-top:1px solid var(--line)}
.srv-dl dt{font-size:.85rem;color:var(--text-2)}
.srv-dl dd{display:flex;align-items:center;gap:.6rem;min-width:0;margin:0}
.srv-dl code{overflow:hidden;padding:.2rem .45rem;border-radius:3px;background:var(--surface-2);font-size:.82rem;color:var(--title);text-overflow:ellipsis;white-space:nowrap}
.srv-events{display:grid;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}
.srv-event{padding:.8rem 1rem;border:1px solid var(--line);border-left:4px solid #C77700;border-radius:5px;background:#FFFFFF}
.srv-event--error{border-left-color:#C62828}.srv-event--info{border-left-color:#1F6FB2}
.srv-event .adm-copy{margin-left:auto}
.srv-event p{margin:.45rem 0 0;color:var(--title);font-size:.92rem}
.srv-event summary{margin-top:.4rem;font-size:.82rem;color:var(--text-2);cursor:pointer}
.srv-event pre{max-height:16rem;overflow:auto;margin:.4rem 0 0;padding:.6rem;border-radius:4px;background:var(--surface-2);font-size:.75rem;white-space:pre-wrap}
.adm-copy{all:unset;box-sizing:border-box;flex-shrink:0;padding:.2rem .55rem;border:1px solid #C9CED3;border-radius:3px;font-size:.75rem;font-weight:600;color:var(--title);cursor:pointer}
.adm-copy:hover{border-color:var(--title)}
.adm-copy:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.adm-copy.is-done{border-color:#2E7D32;color:#2E7D32}
@media (max-width:760px){.srv-dl>div{grid-template-columns:1fr;gap:.25rem}.adm-group-label{display:none}}
/* Animations: pages slide in, things open smoothly. Switched off for people who ask their device to reduce motion. */
@keyframes admIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes admDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes admPop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.adm-main-in.is-entering{animation:admIn .32s cubic-bezier(.2,.8,.2,1)}
.adm-item.is-open .adm-item-body{animation:admDrop .25s ease-out}
.adm-notes:not([hidden]),.adm-tabs-site.is-open{animation:admDrop .2s ease-out}
.adm-dialog[open]{animation:admPop .22s cubic-bezier(.2,.8,.2,1)}
.dash-card,.crm-tile,.srv-card{animation:admIn .4s cubic-bezier(.2,.8,.2,1) both}
.dash-card:nth-child(2),.crm-tile:nth-child(2),.srv-card:nth-child(2){animation-delay:.04s}
.dash-card:nth-child(3),.crm-tile:nth-child(3),.srv-card:nth-child(3){animation-delay:.08s}
.dash-card:nth-child(4),.crm-tile:nth-child(4),.srv-card:nth-child(4){animation-delay:.12s}
.dash-card:nth-child(n+5),.crm-tile:nth-child(n+5),.srv-card:nth-child(n+5){animation-delay:.16s}
.adm-chart-col i{transform-origin:bottom;animation:admGrow .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes admGrow{from{transform:scaleY(0)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .adm-main-in.is-entering,.adm-item.is-open .adm-item-body,.adm-notes:not([hidden]),.adm-tabs-site.is-open,.adm-dialog[open],.dash-card,.crm-tile,.srv-card,.adm-chart-col i{animation:none}
  .crm-tile:hover{transform:none}
}
/* Cards: only the small title is in capitals; everything else inside reads normally */
.adm-card .dash-list span,.adm-card .adm-chart span,.adm-card .dash-cap,.adm-card .adm-light,.adm-card .dash-small span{font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none}
.adm-card .adm-chart-axis span{font-size:.72rem;color:var(--text-2)}
.adm-card .dash-cap{font-size:.75rem}
.adm-card .adm-light{font-size:.95rem;font-weight:600}
.dash-big .adm-light{font-size:1.05rem}
.adm-card .dash-list span{color:var(--text-2)}
/* ===== Admin, round 4: the second row takes the open tab's colour; Content and SEO ===== */
/* Second row: a light tint of the tab you're on; the chosen option in that tab's colour */
.adm-subnav{background:var(--tt,#F4F5F7);border-bottom-color:color-mix(in srgb,var(--tc,#5E6366) 25%,#FFFFFF);transition:background-color .25s ease}
.adm-subnav button{color:var(--title)}
.adm-subnav button:hover{background:color-mix(in srgb,var(--tc,#5E6366) 14%,var(--tt,#F4F5F7));color:var(--title)}
.adm-subnav button[aria-pressed=true]{background:var(--tc,#17201A);color:var(--tx,#FFFFFF);box-shadow:none}
.adm-subnav button[aria-pressed=true]:hover{background:var(--tc,#17201A);color:var(--tx,#FFFFFF)}
/* Publish bar (Content and SEO) */
.pub-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;font-size:.9rem;color:var(--text-2)}
.pub-bar.is-waiting{border-color:#F0CF9B;background:#FFF8EC}
.pub-bar.is-busy{border-color:#B9D3EE;background:#F1F7FD}
.pub-bar .adm-btn{margin-left:auto}
.pub-note{margin-left:auto;font-size:.85rem;color:#8A5300}
.pub-flash{margin:.6rem 0 0;font-size:.88rem;font-weight:600;color:#2E7D32}
.cnt-form{display:grid;gap:.85rem;max-width:52rem;margin-top:1rem}
.cnt-pick{margin-top:1rem}
.adm-chip[aria-pressed=true]{background:var(--title)}
/* Images: every photo, replaceable */
.cnt-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin-top:1rem}
.cnt-img{display:grid;margin:0;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;overflow:hidden;animation:admIn .4s cubic-bezier(.2,.8,.2,1) both}
.cnt-img.is-changed{border-color:#9DBBE3}
.cnt-img.is-busy{opacity:.6;pointer-events:none}
.cnt-img-frame{aspect-ratio:4/3;background:var(--surface-2)}
.cnt-img-frame img{display:block;width:100%;height:100%;object-fit:cover}
.cnt-img figcaption{display:grid;gap:.45rem;padding:.7rem .8rem;font-size:.88rem}
.cnt-img figcaption strong{color:var(--title);font-weight:600}
.cnt-img .adm-type{justify-self:start}
.cnt-img-acts{display:flex;flex-wrap:wrap;gap:.4rem}
.cnt-img-acts .adm-btn{padding:.35rem .7rem;font-size:.82rem}
.cnt-img-acts .adm-btn--quiet{margin-left:0}
/* Lists inside a form (questions and answers, reviews…) */
.cnt-rows{display:grid;gap:.5rem;margin:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:6px}
.cnt-rows legend{padding:0 .3rem;font-size:.9rem;font-weight:700;color:var(--title)}
.cnt-rows>.adm-btn{justify-self:start}
.cnt-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.5rem;padding:.6rem 2.4rem .6rem .6rem;border-radius:4px;background:var(--surface-2)}
.cnt-rows--reviews .cnt-row,.cnt-rows[data-rows=quotes] .cnt-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,6rem)}
.cnt-row .is-wide{grid-column:1/-1}
.cnt-row label{display:grid;gap:.2rem}
.cnt-row label span{font-size:.75rem;font-weight:600;color:var(--text-2)}
.cnt-row input,.cnt-row textarea,.cnt-row select{box-sizing:border-box;width:100%;padding:.45rem .6rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;font-size:.9rem;color:var(--title);resize:vertical}
.cnt-row input:focus,.cnt-row textarea:focus,.cnt-row select:focus{outline:none;border-color:var(--title)}
.cnt-row .crm-x{top:.6rem;transform:none}
@media (max-width:640px){.cnt-row,.cnt-rows--reviews .cnt-row,.cnt-rows[data-rows=quotes] .cnt-row{grid-template-columns:1fr}}
/* SEO */
.seo-table .crm-tr{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,12rem)}
.seo-table .adm-light{font-size:.85rem}
.seo-edit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;align-items:start;margin-top:.2rem}
.seo-edit .cnt-form{margin-top:0}
.crm-card .seo-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.8rem;margin:0;font-family:var(--sans);font-size:1.05rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.seo-count{float:right;font-weight:400;color:var(--text-2)}
.seo-count.is-over{font-weight:700;color:#B3261E}
.seo-hide{margin:.2rem 0}
.seo-g{display:grid;gap:.15rem;margin-top:1rem;padding:1rem;border-radius:8px;background:#FFFFFF;box-shadow:0 1px 6px rgba(32,33,36,.18);font-family:Arial,sans-serif}
.seo-g-url{font-size:.82rem;color:#202124}
.seo-g-title{overflow:hidden;font-size:1.2rem;line-height:1.3;color:#1A0DAB;text-overflow:ellipsis;white-space:nowrap}
.seo-g-desc{display:-webkit-box;overflow:hidden;font-size:.88rem;line-height:1.45;color:#4D5156;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.seo-checks,.seo-health,.seo-health ul{margin:0;padding:0;list-style:none}
.seo-checks{display:grid;gap:.35rem;margin-top:1rem;font-size:.88rem}
.seo-checks .adm-light,.seo-health .adm-light{font-weight:500}
.seo-health{display:grid;gap:.6rem;margin-top:.8rem}
.seo-health>li{padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF}
.seo-health ul{display:grid;gap:.3rem;margin-top:.45rem;font-size:.88rem}
@media (max-width:900px){.seo-edit{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cnt-img{animation:none}.adm-subnav{transition:none}}
.pub-bar+.adm-back-link,.pub-flash+.adm-back-link{margin-top:1rem}
/* Status lights: keep room for the dot's ring so no box ever trims it, and let the cell that holds one show it in full */
.adm-light{gap:.35rem;max-width:100%}
.adm-light i{flex:none;margin:3px}
.crm-tr span:has(.adm-light),.seo-table .crm-tr span{overflow:visible}
/* ===== Dashboard, round 5: bigger cards with a coloured header strip, white body (grey on hover); clear Back buttons ===== */
.dash-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.1rem;margin-top:1.4rem}
.dash-card{display:flex;flex-direction:column;gap:0;min-height:17.5rem;padding:0;overflow:hidden;border-radius:8px;--tc:#5E6366;--tx:#FFFFFF}
.dash-card--forms{--tc:#A86246;--tx:#FFFFFF}
.dash-card--jobs{--tc:#DBC924;--tx:#17201A}
.dash-card--today{--tc:#5E6366;--tx:#FFFFFF}
.dash-card--contacts{--tc:#495D7B;--tx:#FFFFFF}
.dash-card--notes{--tc:#3A4C39;--tx:#FFFFFF}
.dash-card--server{--tc:#2C3A2B;--tx:#FFFFFF}
.dash-card--site{--tc:#5699BF;--tx:#0E1C26}
/* The header strip: the section's colour */
.adm-card .dash-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.3rem;background:var(--tc);color:var(--tx);font-size:inherit;letter-spacing:normal;text-transform:none}
.adm-card .dash-title{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx)}
.adm-card .dash-go{position:static;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:color-mix(in srgb,var(--tx) 16%,transparent);color:var(--tx);font-size:inherit;letter-spacing:normal;text-transform:none}
.dash-card:hover .dash-go{color:var(--tx);transform:translateX(3px)}
/* The body: white, light grey on hover */
.adm-card .dash-body{display:flex;flex:1;flex-direction:column;gap:.4rem;padding:1.15rem 1.3rem 1.3rem;background:#FFFFFF;font-size:1rem;font-weight:inherit;letter-spacing:normal;text-transform:none;color:var(--title);transition:background-color .2s ease}
.dash-card:hover .dash-body{background:#F4F5F7}
.dash-card:hover{border-color:color-mix(in srgb,var(--tc) 45%,#C9CED3)}
.dash-card:focus-visible{outline:3px solid var(--tc);outline-offset:2px}
.dash-big{font-size:1.75rem}
.dash-body .adm-chart{margin-top:auto}
.dash-body .adm-chart-plot{height:5.5rem}
/* Back: one clear button, top left, everywhere you can go back */
.adm-backbtn,.adm-back-link{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;padding:.5rem .95rem .5rem .75rem;border:1px solid #C9CED3;border-radius:999px;background:#FFFFFF;font-size:.88rem;font-weight:600;color:var(--title);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.adm-backbtn svg,.adm-back-link svg{width:1rem;height:1rem;transform:scaleX(-1);transition:transform .2s ease}
.adm-backbtn:hover,.adm-back-link:hover{border-color:var(--title);background:var(--surface-2)}
.adm-backbtn:hover svg,.adm-back-link:hover svg{transform:scaleX(-1) translateX(3px)}
.adm-backbtn:focus-visible,.adm-back-link:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.adm-backbtn+.adm-view-head{margin-top:.1rem}
.adm-backbtn+.adm-back-link{margin-left:.5rem}
@media (max-width:560px){.dash-grid{grid-template-columns:1fr}.dash-card{min-height:0}}
@media (prefers-reduced-motion:reduce){.dash-body,.adm-backbtn svg,.adm-back-link svg{transition:none}}
/* Wider, taller dashboard cards (about four across on a large screen) */
.dash-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,27rem),1fr))}
.dash-card{min-height:19rem}
/* ===== Enquiries: the board, the stage steps, the permanent log ===== */
.adm-tabs [data-tab=enquiries],.adm-tabs[data-current=enquiries]{--tc:#8F4F35;--tt:#F3E6DF;--tx:#FFFFFF}
/* Board: one column per stage */
.enq-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(15rem,1fr));gap:.9rem;margin-top:1.2rem;overflow-x:auto;align-items:start}
.enq-col{display:grid;gap:.55rem;align-content:start;min-height:8rem;padding:.75rem;border-radius:8px;background:#F4F5F7;border-top:4px solid var(--sc,#5E6366)}
.enq-col--new{--sc:#A86246}.enq-col--contacted{--sc:#495D7B}.enq-col--quoted{--sc:#DBC924}.enq-col--won{--sc:#3A4C39}.enq-col--lost{--sc:#9AA19C}
.enq-col h2{display:flex;align-items:center;justify-content:space-between;margin:0 0 .2rem;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--title)}
.enq-col h2 span{padding:.05rem .5rem;border-radius:999px;background:#FFFFFF;font-size:.75rem;letter-spacing:0}
.enq-col-empty{margin:0;padding:.6rem;font-size:.85rem;color:var(--text-2)}
.enq-card{display:grid;gap:.3rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF;color:var(--text-2);text-decoration:none;font-size:.88rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;animation:admIn .35s cubic-bezier(.2,.8,.2,1) both}
.enq-card:hover{border-color:#C9CED3;box-shadow:0 10px 22px -14px rgba(23,32,26,.35);transform:translateY(-1px)}
.enq-card:focus-visible{outline:2px solid var(--title);outline-offset:2px}
.enq-card-top{display:flex;justify-content:space-between;gap:.6rem}
.enq-card-top strong{overflow:hidden;color:var(--title);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.enq-card-top time{flex-shrink:0;font-size:.78rem}
.enq-card-title{color:var(--title)}
.enq-card-meta,.enq-flag{display:flex;align-items:center;gap:.35rem}
.enq-card-meta svg,.enq-flag svg{width:.9rem;height:.9rem}
.enq-flag{justify-self:start;padding:.12rem .5rem;border-radius:3px;background:#FFF1D6;color:#7A4E00;font-size:.75rem;font-weight:700}
.enq-listv{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.6rem;margin-top:1.2rem}
.enq-listv .enq-stage{justify-self:start}
.enq-stage{display:inline-block;padding:.12rem .5rem;border-radius:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.enq-stage--new{background:#F8EBE4;color:#7A4029}.enq-stage--contacted{background:#E8EEF6;color:#33435A}.enq-stage--quoted{background:#FCF8D6;color:#6B5F00}
.enq-stage--won{background:#E6EEE5;color:#2C3A2B}.enq-stage--lost{background:var(--surface-2);color:var(--text-2)}
/* The enquiry page */
.enq-side h1{font-size:1.25rem}
.enq-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:.9rem 0 0;padding:0;list-style:none}
.enq-steps li>*{all:unset;box-sizing:border-box;display:block;width:100%;padding:.4rem .2rem;background:#EEEFF0;font-size:.72rem;font-weight:700;text-align:center;color:var(--text-2);cursor:default}
.enq-steps li:first-child>*{border-radius:4px 0 0 4px}.enq-steps li:last-child>*{border-radius:0 4px 4px 0}
.enq-steps button{cursor:pointer}
.enq-steps button:hover{background:#E1E4E7;color:var(--title)}
.enq-steps button:focus-visible{outline:2px solid var(--title);outline-offset:1px}
.enq-steps .is-done>*{background:#DCE7DA;color:#2C3A2B}
.enq-steps .is-now>*{background:#8F4F35;color:#FFFFFF}
.enq-lost{display:flex;align-items:center;gap:.5rem;margin:.6rem 0 0;font-size:.88rem;color:var(--text-2)}
.enq-wait{color:#8A5300;font-weight:600}
.enq-log-h{margin:0;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.enq-log{position:relative;display:grid;gap:.6rem;margin:0;padding:0;list-style:none}
.enq-log::before{content:"";position:absolute;top:.5rem;bottom:.5rem;left:1.05rem;width:2px;background:var(--line)}
.enq-ev{position:relative;display:grid;grid-template-columns:2.1rem minmax(0,1fr);gap:.7rem;animation:admIn .35s cubic-bezier(.2,.8,.2,1) both}
.enq-ev-icon{position:relative;z-index:1;display:grid;place-items:center;width:2.1rem;height:2.1rem;border:2px solid #FFFFFF;border-radius:50%;background:#EEEFF0;color:var(--text-2)}
.enq-ev-icon svg{width:1rem;height:1rem}
.enq-ev.is-team .enq-ev-icon{background:#8F4F35;color:#FFFFFF}
.enq-ev--form .enq-ev-icon{background:#A86246;color:#FFFFFF}
.enq-ev--match_suggested .enq-ev-icon{background:#FFF1D6;color:#7A4E00}
.enq-ev--job_created .enq-ev-icon,.enq-ev--match_approved .enq-ev-icon{background:#3A4C39;color:#FFFFFF}
.enq-ev-main{padding:.6rem .85rem;border:1px solid var(--line);border-radius:6px;background:#FFFFFF}
.enq-ev.is-team .enq-ev-main{border-color:#E3CBBF;background:#FBF6F3}
.enq-ev-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:.8rem;color:var(--text-2)}
.enq-ev-top strong{font-size:.82rem;color:var(--title)}
.enq-by{margin-left:auto}
.enq-ev-main p{margin:.3rem 0 0;font-size:.92rem;color:var(--title)}
.enq-ev-main>.adm-link,.enq-ev-main>.adm-rel{display:inline-block;margin-top:.4rem;font-size:.85rem}
.enq-decide{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}
.enq-decide .adm-btn{padding:.35rem .75rem;font-size:.82rem}
.enq-decide .adm-rel{font-size:.85rem}
.enq-decided{display:inline-block;margin-top:.4rem;font-size:.78rem;font-weight:700;color:var(--text-2)}
.enq-compose{display:grid;gap:.5rem}
.enq-compose-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
.enq-compose select,.enq-compose input,.enq-compose textarea{box-sizing:border-box;padding:.55rem .7rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;font-size:.9rem;color:var(--title)}
.enq-compose textarea{width:100%;resize:vertical}
.enq-compose select:focus,.enq-compose input:focus,.enq-compose textarea:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.crm-card.enq-form h2,.crm-card.enq-matches h2{margin:0;font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.enq-form.is-open{box-shadow:0 0 0 3px #F3E6DF}
.enq-matches{border-color:#F0CF9B;background:#FFFBF2}
.enq-matches .crm-rel-list li{padding-right:.8rem;background:#FFFFFF}
@media (prefers-reduced-motion:reduce){.enq-card,.enq-ev{animation:none}.enq-card:hover{transform:none}}
/* Enquiries: keep the column and log headings small (the site's own h2 style is much bigger) */
.adm-main .enq-col h2{margin:0 0 .2rem;font-family:var(--sans);font-size:.8rem;font-weight:700;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--title)}
.adm-main h2.enq-log-h{margin:0;font-family:var(--sans);font-size:.8rem;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
/* ===== Content and SEO by page; Developer options on the right; neat top alignment ===== */
.adm-subnav.is-right .adm-subnav-in{justify-content:flex-end}
.adm-view-head{align-items:flex-start}
.adm-top-brand{cursor:pointer}
/* Page cards (Content and SEO), like the dashboard's */
.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1rem;margin-top:1.1rem;align-items:start}
.pg-grid--small{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.pg-card{min-height:0}
.pg-card .dash-body{gap:.55rem}
.adm-card .pg-path{font-size:.8rem;color:var(--text-2)}
.adm-card .pg-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.pg-thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:var(--surface-2)}
.pg-grid--small .pg-thumbs{grid-template-columns:repeat(4,1fr)}
.pg-edited{color:#2D4F80}
/* One page: a coloured banner, its sections top to bottom on the left, its words on the right */
.pg-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.2rem;padding:1.1rem 1.3rem;border-radius:8px;background:var(--tc);color:var(--tx)}
.adm-main .pg-hero h2{margin:0;font-family:var(--sans);font-size:1.35rem;font-weight:700;line-height:1.2;letter-spacing:0;color:var(--tx)}
.pg-hero span{font-size:.88rem;opacity:.85}
.pg-hero .adm-btn{border-color:transparent;background:#FFFFFF;color:var(--title)}
.pg-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1rem;align-items:start;margin-top:1rem}
.pg-sections{display:grid;gap:.75rem}
.pg-section{border-left:4px solid var(--tc);animation:admIn .35s cubic-bezier(.2,.8,.2,1) both}
.adm-main .pg-section-h{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem;font-family:var(--sans);font-size:.98rem;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--title)}
.pg-num{display:grid;flex:none;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--tc);color:#FFFFFF;font-size:.8rem}
.pg-section .crm-muted{margin:0}
.cnt-images--section{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));margin-top:0}
.pg-words{position:sticky;top:7rem;display:grid;gap:.6rem}
.adm-main .pg-words-h{margin:0;font-family:var(--sans);font-size:.8rem;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.pg-words .cnt-form{margin-top:0;max-width:none}
.pg-words .cnt-pick{margin-top:0}
@media (max-width:1100px){.pg-cols{grid-template-columns:1fr}.pg-words{position:static}}
/* SEO cards: a small Google preview and the status */
.seo-g--mini{margin:0;padding:.75rem .85rem;box-shadow:none;border:1px solid var(--line)}
.seo-g--mini .seo-g-title{font-size:1rem}
.seo-g--mini .seo-g-desc{font-size:.82rem}
.adm-card .seo-g--mini span{font-weight:400;letter-spacing:normal;text-transform:none}
.adm-card .seo-g--mini .seo-g-url{font-size:.75rem;color:#202124}
.adm-card .seo-g--mini .seo-g-title{color:#1A0DAB}
.adm-card .seo-g--mini .seo-g-desc{color:#4D5156}
.adm-card .seo-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto}
.seo-card-foot .adm-btn{margin-left:auto;padding:.35rem .85rem;font-size:.82rem;font-weight:600}
.seo-sub{display:block;font-size:.78rem;color:var(--text-2)}
.seo-edit{margin-top:1rem}
@media (prefers-reduced-motion:reduce){.pg-section{animation:none}}
.adm-card .pg-path{text-transform:none;letter-spacing:normal}
.adm-card .seo-card-foot .adm-btn{text-transform:none;letter-spacing:normal;font-size:.82rem}
/* ===== Content: the editor beside a preview window of the real page; publish now or schedule ===== */
.pg-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1rem;align-items:start;margin-top:1rem}
.pg-editor{display:grid;gap:1rem;min-width:0}
.pg-editor .pg-words{position:static}
/* The preview: a plain browser window with grey dots and an address bar, sticky beside the editor */
.pv{position:sticky;top:6.6rem;display:flex;flex-direction:column;height:calc(100vh - 7.6rem);min-height:28rem;border:1px solid #D5D9DD;border-radius:10px;background:#FFFFFF;overflow:hidden;box-shadow:0 22px 50px -24px rgba(23,32,26,.4)}
.pv-bar{display:flex;align-items:center;gap:.8rem;padding:.55rem .75rem;border-bottom:1px solid #E1E4E7;background:#F3F4F6}
.pv-dots{display:flex;gap:.4rem}
.pv-dots i{display:block;width:.72rem;height:.72rem;border-radius:50%;background:#C9CDD2}
.pv-url{display:flex;flex:1;align-items:center;justify-content:center;gap:.4rem;min-width:0;padding:.3rem .8rem;border-radius:6px;background:#FFFFFF;font-size:.8rem;color:#4D5752}
.pv-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-url svg{flex:none;width:.8rem;height:.8rem}
.pv-reload{all:unset;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:6px;color:#4D5752;cursor:pointer}
.pv-reload svg{width:1rem;height:1rem}
.pv-reload:hover{background:#E4E6E9;color:var(--title)}
.pv-reload:focus-visible{outline:2px solid var(--title)}
.pv-frame{display:block;flex:1;width:100%;border:0;background:#FFFFFF}
.pv-note{margin:0;padding:.45rem .8rem;border-top:1px solid #E1E4E7;background:#F8F9FA;font-size:.75rem;color:var(--text-2)}
/* Section numbers: click to show that section in the preview */
button.pg-num{all:unset;display:grid;flex:none;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--tc);color:#FFFFFF;font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .15s ease}
button.pg-num:hover{transform:scale(1.12)}
button.pg-num:focus-visible{outline:2px solid var(--title);outline-offset:2px}
/* Publish bar: publish now, or schedule */
.pub-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}
.pub-bar .pub-acts .adm-btn{margin-left:0}
.pub-sched{display:inline-flex;align-items:center;gap:.6rem;font-size:.88rem}
.pub-sched-form{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.pub-sched-form input{padding:.45rem .6rem;border:1px solid #C9CED3;border-radius:4px;font:inherit;font-size:.88rem}
.pub-sched-form input:focus{outline:none;border-color:var(--title)}
@media (max-width:1180px){.pg-split{grid-template-columns:1fr}.pv{position:static;height:75vh}}
/* Second row: the chosen option a lighter shade of the tab's colour, so it never merges with the selected tab above it; a thin grey line underneath */
.adm-subnav{border-bottom:1px solid #D5D9DD}
.adm-subnav button[aria-pressed=true],.adm-subnav button[aria-pressed=true]:hover{background:color-mix(in srgb,var(--tc,#17201A) 70%,#FFFFFF)}
/* ===== Section editor: every word in a section ===== */
.cp-form{display:grid;gap:.75rem;margin-top:.9rem}
.cp-form .crm-field label,.cp-label{font-size:.85rem;font-weight:600;color:var(--title)}
.cp-form input,.cp-form textarea{box-sizing:border-box;width:100%;padding:.55rem .7rem;border:1px solid #C9CED3;border-radius:4px;background:#FFFFFF;font:inherit;font-size:.92rem;color:var(--title);resize:vertical}
.cp-form input:focus,.cp-form textarea:focus{outline:none;border-color:var(--title);box-shadow:0 0 0 3px rgba(23,32,26,.12)}
.cp-link{display:grid;gap:.4rem;padding:.7rem .8rem;border-radius:6px;background:var(--surface-2)}
.cp-link .crm-field label{font-size:.75rem;font-weight:600;color:var(--text-2)}
.cp-ref{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border:1px dashed #C9CED3;border-radius:6px;background:#FAFBFA}
.cp-ref>svg{flex:none;width:1rem;height:1rem;color:var(--text-2)}
.cp-ref div{display:grid;flex:1;gap:.1rem;font-size:.88rem}
.cp-ref strong{color:var(--title)}
.cp-ref span{color:var(--text-2)}
.cp-ref .adm-btn{flex:none;padding:.35rem .75rem;font-size:.82rem}
.cp-list{display:grid;gap:.45rem;margin:0;padding:.75rem .85rem;border:1px solid var(--line);border-radius:6px}
.cp-list legend{padding:0 .3rem;font-size:.85rem;font-weight:700;color:var(--title)}
.cp-list>.adm-btn{justify-self:start;padding:.35rem .75rem;font-size:.82rem}
.cp-row{position:relative;display:grid;gap:.45rem;padding:.5rem 2.3rem .5rem .55rem;border-radius:4px;background:var(--surface-2);animation:admIn .25s ease-out both}
.cp-row--multi{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.cp-row--multi label:nth-child(n+3){grid-column:1/-1}
.cp-row label{display:grid;gap:.2rem}
.cp-row label span{font-size:.72rem;font-weight:600;color:var(--text-2)}
.cp-row .crm-x{top:.5rem;transform:none}
.pg-section-h .adm-type{margin-left:.3rem}
@media (max-width:640px){.cp-row--multi{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cp-row{animation:none}}
/* New enquiry: who it's from */
.enq-who{display:grid;gap:.7rem;margin:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:6px;background:#FAFBFA}
.enq-who legend{padding:0 .3rem;font-size:.9rem;font-weight:700;color:var(--title)}
.enq-who .who-seg{justify-self:start;margin-top:0}
.enq-for{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:6px;background:#FFFFFF;border:1px solid var(--line)}
.enq-for>svg{flex:none;width:1.1rem;height:1.1rem;color:var(--text-2)}
.enq-for div{display:grid;flex:1;gap:.1rem}
.enq-for strong{color:var(--title)}
.enq-for span{font-size:.85rem;color:var(--text-2)}
.enq-who [data-enq-company][hidden]{display:none}/* Saved but not published yet: light orange with a thin orange outline, wherever it shows */
.is-waiting{--wait-bg:#FFF6EF;--wait-line:#CC7640}
.crm-field.is-waiting,.cp-link.is-waiting{padding:.55rem .65rem;border:1px solid var(--wait-line);border-radius:6px;background:var(--wait-bg)}
.crm-field.is-waiting input,.crm-field.is-waiting textarea,.cp-link.is-waiting input{border-color:var(--wait-line);background:#FFFCF9}
.cp-list.is-waiting,.cnt-rows.is-waiting{border-color:var(--wait-line);background:var(--wait-bg)}
.cnt-img.is-waiting{border-color:var(--wait-line)}
.cnt-img.is-waiting figcaption{background:var(--wait-bg)}
.pg-section.is-waiting{border-color:var(--wait-line);border-left-color:var(--tc);background:#FFFAF6}
.adm-card.pg-card.is-waiting{border-color:var(--wait-line)}
.adm-card.pg-card.is-waiting .dash-body{background:var(--wait-bg)}
.adm-card.pg-card.is-waiting:hover .dash-body{background:#FFEFE2}
.crm-tr.is-waiting{background:var(--wait-bg);box-shadow:inset 3px 0 0 #CC7640}
.adm-card .pg-waiting,.pg-waiting{font-weight:700;color:#A34F1F}
.adm-type.pg-waiting-tag{background:#CC7640;color:#FFFFFF}
.pub-key{color:#A34F1F;background:#FFF6EF;padding:0 .3rem;border:1px solid #CC7640;border-radius:3px}
/* Forms: the hidden spam trap (a box only bots fill in; people never see it), and the message shown when a form couldn't be sent */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-err{margin:0 0 1rem;padding:.8rem 1rem;border-radius:4px;background:#FDF4F3;color:#B3261E;font-size:.95rem}
.form-err[hidden]{display:none}
/* "Who is this for?" switch: a block box, so it doesn't sit on the text line and grow a lip underneath */
.who-seg{display:flex;width:max-content;max-width:100%;line-height:1.2;vertical-align:top}
.who-seg label{display:flex}
/* Back buttons never touch the bar above them */
.pub-bar+.adm-backbtn,.pub-flash+.adm-backbtn,.pub-bar+.adm-back-link,.pub-flash+.adm-back-link{margin-top:1rem}
.field .who-seg label,.who-seg label{margin:0}
/* Forms: the intro is a heading and a line of text, with a clear gap before the first question */
.form-intro{margin:1.25rem 0 1.75rem;max-width:62ch}
.form-intro h3{margin:0;font-family:var(--sans);font-size:1.35rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--title)}
.form-intro p{margin:.4rem 0 0;color:var(--text-2)}

/* Content editor: short one-line lists (towns, tick-boxes) as a compact grid */
.cp-list--short { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .5rem; }
.cp-list--short > legend, .cp-list--short > .adm-btn { grid-column: 1 / -1; }
.cp-list--short > .adm-btn { justify-self: start; }
.cp-list--short .cp-row { margin: 0; }
.cp-list--short .cp-row label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Content: Other pages in groups */
.pg-group { margin-top: 1.75rem; }
.adm-main .pg-group-h { line-height: 1.3; letter-spacing: 0; display: flex; align-items: baseline; gap: .75rem; margin: 0 0 .85rem; padding-left: .75rem; border-left: 4px solid var(--tc); font-family: var(--sans); font-size: 1.15rem; font-weight: 700; color: var(--title); }
.pg-group-h span { font-size: .85rem; font-weight: 500; color: var(--text-2); }
/* Photo library */
.ph-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.ph-top .adm-sub { margin: 0; max-width: 60ch; }
.ph-upload { cursor: pointer; }
.ph-filter { margin: 1.1rem 0 .5rem; flex-wrap: wrap; }
.ph-chip { border-left: 4px solid var(--tc, transparent); }
.ph-chip span { opacity: .65; font-size: .85em; margin-left: .2rem; }
.ph-sec { margin-top: 1.75rem; }
.adm-main .ph-h { line-height: 1.3; letter-spacing: 0; display: flex; align-items: baseline; gap: .6rem; margin: 0 0 .75rem; font-family: var(--sans); font-size: 1.15rem; font-weight: 700; color: var(--title); }
.ph-h span { font-size: .85rem; font-weight: 500; color: var(--text-2); }
.ph-private { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 1rem; }
.ph-private svg, .ph-tag svg { width: 14px; height: 14px; flex: none; }
.ph-tags { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; margin: .35rem 0; }
.ph-tag { display: inline-flex; align-items: center; gap: .25rem; padding: .1rem .5rem; border-radius: 999px; background: var(--tc); color: var(--tx); font-size: .72rem; font-weight: 600; line-height: 1.5; }
.ph-tag--none { background: #ECEDEA; color: #5B605C; }
.lib-meta { display: block; color: var(--text-2); font-size: .78rem; margin-top: .15rem; }
.lib-spots { font-size: .78rem; color: var(--text-2); }
.lib-img.is-unused .cnt-img-frame { outline: 1px dashed #B9BDB8; outline-offset: -1px; }
/* Photo pickers */
.adm-dialog--wide { width: min(60rem, calc(100vw - 2rem)); max-height: calc(100vh - 3rem); }
.adm-dialog--wide .adm-dialog-in { max-height: calc(100vh - 3rem); overflow: auto; }
.pick-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .6rem; }
.pick-tile { display: grid; gap: .35rem; padding: .4rem; border: 1px solid #DADDD8; border-radius: 6px; background: #fff; text-align: left; cursor: pointer; font: inherit; font-size: .8rem; color: var(--title); }
.pick-tile img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; }
.pick-tile:hover, .pick-tile:focus-visible { border-color: var(--tc, #A86246); box-shadow: 0 0 0 2px var(--tc, #A86246); outline: none; }
.pick-tile--up { place-items: center; align-content: center; min-height: 140px; border-style: dashed; color: #A86246; font-weight: 600; text-align: center; }
.pick-tile--up svg { width: 22px; height: 22px; }
.pick-group { margin-bottom: 1.25rem; }
.pick-group h3 { line-height: 1.3; letter-spacing: 0; margin: 0 0 .5rem; padding-left: .6rem; border-left: 4px solid var(--tc); font-family: var(--sans); font-size: 1rem; font-weight: 700; color: var(--title); }

.adm-dialog .pick-head h2 { font-size: 1.15rem; }
/* Photo tiles: captions start at the top, so tiles in a row line up */
.cnt-img { grid-template-rows: auto 1fr; }
.cnt-img figcaption { align-content: start; }

/* SEO dashboard */
.seo-dash { display: grid; grid-template-columns: minmax(16rem, 1.3fr) repeat(3, minmax(11rem, 1fr)); gap: 1rem; margin-top: 1.25rem; }
@media (max-width: 1000px) { .seo-dash { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .seo-dash { grid-template-columns: 1fr; } }
.seo-score { align-items: center; gap: .6rem; }
.seo-score .dash-head { align-self: stretch; }
.seo-ring { position: relative; width: 8.5rem; height: 8.5rem; }
.seo-ring svg { width: 100%; height: 100%; }
.seo-ring-bg { fill: none; stroke: #ECEDEA; stroke-width: 11; }
.seo-ring-fg { fill: none; stroke: var(--l, #2E7D32); stroke-width: 11; stroke-linecap: round; transition: stroke-dasharray .8s cubic-bezier(.2,.8,.2,1); }
.seo-score--ok { --l: #2E7D32; } .seo-score--warning { --l: #C77700; } .seo-score--down { --l: #C62828; }
.seo-ring-n { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.seo-ring-n strong { font-size: 2.4rem; line-height: 1; color: var(--title); font-weight: 700; }
.seo-ring-n small { font-size: .75rem; color: var(--text-2); }
.seo-score-foot { display: grid; justify-items: center; gap: .3rem; text-align: center; }
/* (no thick top border: the coloured header is enough) */
.seo-count--ok { --l: #2E7D32; } .seo-count--warning { --l: #C77700; } .seo-count--down { --l: #C62828; }
.seo-count[aria-pressed="true"], .seo-count[aria-pressed="true"]:hover { border-color: var(--l); }   /* the one being shown: a thin outline in its colour */
.seo-count-n { font-size: 3rem; line-height: 1.05; font-weight: 700; color: var(--l); }
.seo-fix { margin-top: 1.25rem; }
.seo-fix-list { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: 0; }
.seo-fix-list li { display: grid; grid-template-columns: minmax(14rem, 1.2fr) minmax(8rem, .6fr) 2fr; gap: .4rem 1rem; align-items: start; padding: .7rem 0; border-top: 1px solid var(--line); }
.seo-fix-list li:first-child { border-top: 0; }
@media (max-width: 760px) { .seo-fix-list li { grid-template-columns: 1fr; } }
.seo-fix-page, .seo-fix-why { color: var(--text-2); font-size: .88rem; }
.seo-fix-page { font-weight: 600; }
.seo-how { margin-top: 1rem; max-width: 80ch; }
.adm-main .seo-count-n { font-size: 3.2rem; line-height: 1.05; font-weight: 700; color: var(--title); }
.seo-count, .seo-score { min-height: 0; }
.adm-main .seo-score-foot, .adm-main .seo-score-foot span { text-transform: none; letter-spacing: 0; }
.adm-main .seo-ring-n small { text-transform: none; letter-spacing: 0; }
/* Settings: the gear beside the bell (same button style); turns a little on hover, and stays dark while Settings is open */
.adm-gear svg { transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.adm-gear:hover svg, .adm-gear[aria-pressed="true"] svg { transform: rotate(60deg); }
/* Open: the gear fills in (like the bell does when something is new); its centre stays hollow, matching what is behind it */
.adm-gear[aria-pressed="true"] { color: var(--title); }
.adm-gear[aria-pressed="true"] svg path { fill: currentColor; }
.adm-gear svg circle { fill: #FFFFFF; transition: fill .2s ease; }
.adm-gear:hover svg circle { fill: var(--surface-2); }
@media (prefers-reduced-motion: reduce) { .adm-gear svg { transition: none; } }

/* Bell: count in the header, read/unread envelope on each notification, clear all and settings at the bottom */
.adm-notes-top > div { display: grid; }
.adm-notes-count { font-size: .8rem; color: var(--text-2); }
.adm-note-row { display: flex; align-items: stretch; }
.adm-note-row .adm-note { flex: 1; min-width: 0; }
.adm-note-mark { all: unset; box-sizing: border-box; display: grid; place-items: center; width: 2.6rem; flex: none; color: var(--text-2); cursor: pointer; }
.adm-note-mark svg { width: 18px; height: 18px; }
.adm-note-mark:hover { color: var(--title); background: var(--surface-2); }
.adm-note-mark:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
.adm-notes-foot { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 1rem; border-top: 1px solid var(--line); background: #FFFFFF; font-size: .88rem; }
.adm-notes-set { display: inline-flex; align-items: center; gap: .35rem; }
.adm-notes-set svg { width: 15px; height: 15px; }
/* Settings: its own space, with sections down the side */
.set { display: grid; grid-template-columns: 16rem 1fr; gap: 2rem; margin-top: .5rem; min-height: 60vh; }
@media (max-width: 760px) { .set { grid-template-columns: 1fr; gap: 1rem; } }
.set-nav { display: grid; align-content: start; gap: .2rem; padding: 1.1rem; border-radius: 8px; background: #2C3A2B; color: #F3EFE6; }
.adm-main .set-nav h1 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .8rem; font-family: var(--sans); font-size: 1.25rem; font-weight: 700; color: #FFFFFF; letter-spacing: 0; }
.set-nav h1 svg { width: 22px; height: 22px; }
.set-nav-item { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: .6rem; padding: .6rem .7rem; border-radius: 6px; cursor: pointer; font-size: .95rem; }
.set-nav-item svg { width: 18px; height: 18px; flex: none; opacity: .85; }
.set-nav-item:hover { background: rgba(255,255,255,.08); }
.set-nav-item[aria-current="page"] { background: #F3EFE6; color: #2C3A2B; font-weight: 600; }
.set-nav-item:focus-visible { outline: 2px solid #F3EFE6; outline-offset: 2px; }
.adm-main .set-main h2 { margin: .3rem 0 .4rem; font-family: var(--sans); font-size: 1.5rem; font-weight: 700; color: var(--title); letter-spacing: 0; line-height: 1.25; }
.set-lead { margin: 0 0 1.25rem; color: var(--text-2); max-width: 60ch; }
/* Customer hub: the log is the centre; what's coming up, jobs and value beside it */
.adm-main h2.enq-log-h { font-size: 1.35rem; letter-spacing: 0; text-transform: none; color: var(--title); margin-bottom: .2rem; }
.enq-compose-row[hidden] { display: none; }
.adm-main .crm-card.enq-hub h2 { margin: 0 0 .6rem; font-family: var(--sans); font-size: 1rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--title); }
.crm-actions--cards { margin-top: .25rem; }
.enq-hub-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.enq-hub-list li { display: grid; grid-template-columns: 18px 1fr auto; gap: .55rem; align-items: start; font-size: .9rem; }
.enq-hub-list li > svg { width: 18px; height: 18px; color: var(--text-2); margin-top: .1rem; }
.enq-hub-list small { display: block; color: var(--text-2); font-size: .8rem; }
.enq-val { font-weight: 700; color: var(--title); white-space: nowrap; }
.enq-total { display: flex; justify-content: space-between; margin: .8rem 0 0; padding-top: .6rem; border-top: 1px solid var(--line); font-size: .9rem; }
.enq-total b { font-size: 1.05rem; color: var(--title); }
.enq-compose.is-sure { box-shadow: 0 0 0 2px #C77700; }
.enq-sure-msg { display: inline-flex; align-items: center; gap: .4rem; font-size: .88rem; font-weight: 600; color: #8A5300; }
.enq-sure-msg svg { width: 16px; height: 16px; }

/* Bell and gear: 20% smaller */
.adm-bell-btn { width: 2rem; height: 2rem; }
.adm-bell-btn svg { width: 1.32rem; height: 1.32rem; }
/* The bell rocks left and right when you hover over it */
@keyframes admBellRock { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-14deg); } 45% { transform: rotate(11deg); } 65% { transform: rotate(-6deg); } 85% { transform: rotate(3deg); } }
#adm-bell svg { transform-origin: 50% 12%; }
#adm-bell:hover svg { animation: admBellRock .7s ease-in-out; }
@media (prefers-reduced-motion: reduce) { #adm-bell:hover svg { animation: none; } }

/* Content dashboard */
.cd-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
@media (max-width: 1150px) { .cd-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .cd-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .cd-grid { grid-template-columns: 1fr; } }
.cd-card { min-height: 0; }
.adm-main .cd-big { font-size: 2.4rem; line-height: 1.05; font-weight: 700; color: var(--title); }
.adm-main .cd-big small { font-size: 1rem; font-weight: 500; color: var(--text-2); }
.cd-sec { margin-top: 1.25rem; }
.cd-waits { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .9rem; }
.cd-wait { padding-left: .8rem; border-left: 4px solid var(--tc); }
.cd-wait-h { display: flex; gap: .6rem; align-items: baseline; margin-bottom: .3rem; }
.cd-wait-h strong { color: var(--title); }
.cd-wait-h span { font-size: .8rem; color: var(--text-2); }
.cd-wait ul { list-style: none; margin: 0; padding: 0; }
.cd-wait li { display: grid; grid-template-columns: 5.5rem 1fr auto; gap: .75rem; align-items: baseline; padding: .3rem 0; font-size: .9rem; border-top: 1px dashed var(--line); }
.cd-wait li:first-child { border-top: 0; }
.cd-kind { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8A5300; }
.cd-quick { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.cd-chip { all: unset; box-sizing: border-box; padding: .45rem .85rem .45rem .7rem; border: 1px solid var(--line); border-left: 4px solid var(--tc); border-radius: 6px; cursor: pointer; font-size: .9rem; color: var(--title); background: #FFFFFF; }
.cd-chip:hover { background: var(--surface-2); }
.cd-chip:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }

/* Breadcrumbs: a grey bar at the top of every screen */
.adm-crumbs { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.1rem; padding: .45rem .5rem .45rem .95rem; border-radius: 6px; background: #F1F2EF; font-size: .9rem; }
.adm-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; min-width: 0; }
.adm-crumbs li { display: inline-flex; align-items: center; }
.adm-crumbs li + li::before { content: "/"; margin: 0 .55rem; color: #A3A8A2; }
.adm-crumbs button[data-crumb] { all: unset; cursor: pointer; color: #6B706C; transition: color .15s ease; }
.adm-crumbs button[data-crumb]:hover { color: color-mix(in srgb, var(--cc) 60%, #FFFFFF); }
.adm-crumbs button[data-crumb]:focus-visible { outline: 2px solid var(--cc); outline-offset: 2px; border-radius: 2px; }
.adm-crumbs li > span { color: #6B706C; }
.adm-crumbs [aria-current="page"] { color: var(--cc); font-weight: 600; }
.adm-crumb-gear { all: unset; box-sizing: border-box; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; flex: none; border-radius: 50%; color: #6B706C; cursor: pointer; }
.adm-crumb-gear svg { width: 16px; height: 16px; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.adm-crumb-gear:hover { background: #E3E5E1; color: var(--title); }
.adm-crumb-gear:hover svg { transform: rotate(60deg); }
.adm-crumb-gear:focus-visible { outline: 2px solid var(--title); outline-offset: 1px; }
@media (prefers-reduced-motion: reduce) { .adm-crumb-gear svg { transition: none; } }
/* Settings: its own look, centred, with big cards */
.set-wrap { max-width: 62rem; margin: 0 auto; padding-bottom: 3rem; }
.set-head { margin: .5rem 0 1.75rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.adm-main .set-head h1 { margin: 0; font-family: var(--sans); font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.15; color: var(--title); }
.set-head p { margin: .45rem 0 0; color: var(--text-2); max-width: 60ch; }
.set-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); gap: 1.1rem; }
@media (max-width: 600px) { .set-cards { grid-template-columns: 1fr; } }
.set-card { all: unset; box-sizing: border-box; display: grid; grid-template-rows: auto 1fr auto; min-height: 12.5rem; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; cursor: pointer; overflow: hidden;
  box-shadow: 0 1px 2px rgba(23,32,26,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.set-card:hover { transform: translateY(-2px); border-color: #CFD3CC; box-shadow: 0 14px 30px -18px rgba(23,32,26,.35); }
.set-card:focus-visible { outline: 2px solid var(--title); outline-offset: 3px; }
.set-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1.35rem 1.35rem .4rem; }
.set-card-title { font-size: 1.4rem; font-weight: 700; line-height: 1.2; color: var(--title); }
.set-card-ico { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; flex: none; border-radius: 10px; background: #EEF1EC; color: #2C3A2B; }
.set-card-ico svg { width: 20px; height: 20px; }
.set-card-text { align-self: end; padding: 0 1.35rem 1.1rem; color: var(--text-2); font-size: .93rem; line-height: 1.45; }
.set-card-lip { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .7rem 1.35rem; border-top: 1px solid var(--line); background: #F7F7F5; color: #5B605C; font-size: .82rem; }
.set-card-lip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.set-card-lip svg { width: 15px; height: 15px; flex: none; transition: transform .2s ease; }
.set-card:hover .set-card-lip svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .set-card, .set-card-lip svg { transition: none; } .set-card:hover { transform: none; } }
.set-panel { border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; overflow: hidden; }
.set-note { margin: 0; padding: 1rem 1.35rem; color: var(--text-2); font-size: .92rem; border-bottom: 1px solid var(--line); background: #FAFAF8; }
.set-wrap > .set-note { border: 0; background: none; padding: 0 0 1.25rem; }
.set-row { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1rem 1.35rem; border-top: 1px solid var(--line); }
.set-panel > .set-row:first-child, .set-note + .set-row, .set-list > .set-row:first-child { border-top: 0; }
.set-row > span:first-child { display: grid; gap: .15rem; min-width: 0; }
.set-row strong { color: var(--title); font-weight: 600; }
.set-row small { color: var(--text-2); font-size: .85rem; }
.set-field input, .set-field select { width: min(18rem, 50%); }
.set-kind input[type=text], .set-kind input:not([type]) { flex: 1; max-width: 16rem; }
.set-service label:first-child { flex: 1; }
.set-service input[name=name], .set-service input[name=tag] { width: 100%; }
.set-money { display: inline-flex; align-items: center; gap: .35rem; }
.set-money input { width: 9rem; }
.set-panel > .adm-btn { margin: .75rem 1.35rem; }
.set-actions { display: flex; gap: .6rem; padding: 1rem 1.35rem; border-top: 1px solid var(--line); background: #FAFAF8; }
/* Switches */
.set-switch { cursor: pointer; }
.set-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.set-switch i { position: relative; flex: none; width: 2.6rem; height: 1.5rem; border-radius: 999px; background: #C9CDC6; transition: background-color .2s ease; }
.set-switch i::after { content: ""; position: absolute; top: .19rem; left: .19rem; width: 1.12rem; height: 1.12rem; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .2s ease; }
.set-switch input:checked + i { background: #2E7D32; }
.set-switch input:checked + i::after { transform: translateX(1.1rem); }
.set-switch input:focus-visible + i { outline: 2px solid var(--title); outline-offset: 2px; }
.set-switch--mini { display: inline-flex; align-items: center; }
/* Integrations */
.set-group { margin-bottom: 1.75rem; }
.adm-main .set-group h2 { margin: 0 0 .75rem; font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: .02em; color: var(--title); }
.set-int { display: grid; grid-template-columns: repeat(auto-fill, minmax(14.5rem, 1fr)); gap: .85rem; }
.set-int-card { display: grid; grid-template-rows: auto 1fr auto; gap: .4rem; padding: 1.1rem 1.15rem; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; }
.set-int-card strong { font-size: 1.05rem; color: var(--title); }
.set-int-card p { margin: 0 0 .5rem; color: var(--text-2); font-size: .88rem; }
.set-int-card .adm-btn, .set-int-card .set-asked { justify-self: start; }
.set-int-card.is-asked { background: #F4F8F2; border-color: #CFE0C9; }
.set-asked { display: inline-flex; align-items: center; gap: .35rem; color: #2E7D32; font-size: .88rem; font-weight: 600; }
.set-asked svg { width: 15px; height: 15px; }
.set-other { padding: 0; }
.set-field-full { display: grid; gap: .35rem; padding: 1.1rem 1.35rem; }
.set-field-full small { color: var(--text-2); }
/* Contacts and companies: suggested tags */
.crm-tag-sugg { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.crm-tag-sugg .adm-chip { font-size: .8rem; padding: .2rem .6rem; }
.crm-tag-sugg .adm-chip:disabled { opacity: .45; cursor: default; }
#job-price.is-filled { background: #FFF7E8; }
/* Server > Client requests */
.req-list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .75rem; }
.req-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.req-top strong { font-size: 1.05rem; color: var(--title); }
.req p { margin: .5rem 0 0; color: var(--text-2); }
.req-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-top: .75rem; font-size: .85rem; color: var(--text-2); }
.req--done { opacity: .7; }
/* Settings forms: the dashboard's input style; remove buttons sit in their row */
.set-wrap input:not([type=checkbox]), .set-wrap select, .set-wrap textarea { box-sizing: border-box; padding: .65rem .8rem; border: 1px solid #C9CED3; border-radius: 6px; background: #FFFFFF; font: inherit; color: var(--title); }
.set-wrap textarea { width: 100%; resize: vertical; }
.set-wrap input:focus-visible, .set-wrap select:focus-visible, .set-wrap textarea:focus-visible { outline: 2px solid var(--title); outline-offset: 1px; }
.set-service .crm-x, .set-row .crm-x { position: static; transform: none; flex: none; }
@media (max-width: 600px) { .set-row { flex-wrap: wrap; } .set-field input, .set-field select { width: 100%; } .set-money input { width: 7rem; } }
.set-kind { display: grid; grid-template-columns: 1fr minmax(10rem, 16rem) auto; }
.set-kind input:not([type=checkbox]) { width: 100%; max-width: none; }
.set-wrap input:not([type=checkbox]), .set-wrap select { font-size: .95rem; }
@media (max-width: 600px) { .set-kind { grid-template-columns: 1fr auto; } .set-kind > input { grid-column: 1 / -1; grid-row: 2; } }

/* Customer hub: Internal note / Public reply */
.enq-compose-card { padding: 0; overflow: hidden; }
.enq-compose-card .enq-compose { border: 0; box-shadow: none; margin: 0; padding: 1rem 1.1rem 1.1rem; }
.enq-compose-card .enq-compose.is-sure { box-shadow: inset 0 0 0 2px #C77700; }
.enq-modes { display: flex; border-bottom: 1px solid var(--line); background: #F7F7F5; }
.enq-modes button { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: .45rem; padding: .75rem 1.1rem; cursor: pointer; font-size: .92rem; font-weight: 600; color: var(--text-2); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.enq-modes button svg { width: 16px; height: 16px; }
.enq-modes button:hover { color: var(--title); }
.enq-modes button[aria-selected="true"] { color: var(--title); background: #FFFFFF; border-bottom-color: #8F4F35; }
.enq-modes button:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
.enq-compose-card--note .enq-compose { background: #FFFBF2; }
.enq-reply .crm-row2 { margin-bottom: .75rem; }
.enq-reply textarea { width: 100%; box-sizing: border-box; padding: .7rem .85rem; border: 1px solid #C9CED3; border-radius: 4px; font: inherit; resize: vertical; }
.enq-footer-pv { margin: .6rem 0 .3rem; padding: .65rem .85rem; border-left: 3px solid #D9DCD6; background: #F7F7F5; font-size: .85rem; color: var(--text-2); }
.enq-footer-pv span { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .25rem; }
.enq-footer-pv pre { margin: 0; font: inherit; white-space: pre-wrap; color: var(--title); }
.enq-mail { margin-top: .35rem; border: 1px solid var(--line); border-radius: 6px; background: #FFFFFF; overflow: hidden; }
.enq-mail-h { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: center; padding: .5rem .8rem; background: #F2F5F8; font-size: .82rem; color: var(--text-2); }
.enq-mail-h b { color: var(--title); }
.enq-mail-tag { margin-left: auto; font-weight: 600; color: #3F6FB0; }
.enq-mail p { margin: 0; padding: .7rem .8rem; }
.enq-ev--reply .enq-ev-icon { background: #3F6FB0; color: #FFFFFF; }

/* Settings: people, roles, quiet links, reply preview */
.adm-main .set-sub { margin: 1.75rem 0 .6rem; font-family: var(--sans); font-size: 1.05rem; font-weight: 700; letter-spacing: 0; color: var(--title); }
.adm-main .set-sub:first-child { margin-top: 0; }
.adm-main .set-in-h { margin: 0; padding: 1rem 1.35rem .2rem; font-family: var(--sans); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); border-top: 1px solid var(--line); }
.set-role { padding: .2rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.set-role--owner { background: #2C3A2B; color: #FFFFFF; }
.set-role--dev { background: #ECEDEA; color: #3E4440; }
.set-roles small b { color: var(--title); }
.set-quiet { margin: 2rem 0 0; text-align: center; }
.set-quiet--far { margin-top: 4rem; }
.set-quiet-link { all: unset; cursor: pointer; font-size: .8rem; color: #9AA09A; }
.set-quiet-link:hover { color: var(--text-2); text-decoration: underline; }
.set-quiet-link:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.set-preview { margin: 0 1.35rem 1rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 6px; background: #FAFAF8; font: inherit; font-size: .9rem; white-space: pre-wrap; color: var(--title); }
.set-panel--dev { border-color: #3A3F3B; }
/* Developer terminal */
.term { border-radius: 10px; background: #111512; color: #D6E2D3; overflow: hidden; box-shadow: 0 20px 40px -24px rgba(0,0,0,.6); }
.term-out { height: min(26rem, 55vh); overflow: auto; padding: 1rem 1.1rem; font: .85rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; }
.term-in { display: flex; align-items: center; gap: .6rem; padding: .7rem 1.1rem; border-top: 1px solid #2A302B; font: .9rem ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.term-in span { color: #8FD08A; }
.set-wrap .term-in input { flex: 1; padding: .3rem 0; border: 0; background: transparent; color: #FFFFFF; font: inherit; outline: none; }
.term-in input:focus-visible { outline: none; }
.term-in:focus-within { box-shadow: inset 0 2px 0 #8FD08A; }
.term-sys { color: #8C988B; } .term-cmd { color: #FFFFFF; }
.term-ok { color: #8FD08A; } .term-warn { color: #F2C14E; } .term-err { color: #FF8A80; } .term-dim { color: #6E786D; }
.term-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .75rem; }
.term-chips .adm-chip { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }
.adm-tabs-site.is-empty { display: none; }

/* Customer hub: entries from the customer's record */
.enq-cust { margin-left: .4rem; padding: .05rem .45rem; border-radius: 999px; background: #EEF1EC; color: #3A4C39; font-size: .7rem; font-weight: 700; letter-spacing: .03em; }
.set-disclose { margin: 1.75rem 0 0; color: var(--text-2); font-size: .85rem; text-align: center; max-width: 52ch; margin-left: auto; margin-right: auto; }
/* Developer: user activity */
.act-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.act-who { display: inline-flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--text-2); }
.act-live { display: inline-flex; align-items: center; gap: .5rem; }
.act-session { margin-bottom: 1.5rem; border: 1px solid var(--line); border-radius: 10px; background: #FFFFFF; overflow: hidden; }
.adm-main .act-session h3 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin: 0; padding: .7rem 1rem; background: #F7F7F5; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: .95rem; font-weight: 700; color: var(--title); }
.act-session h3 span { font-weight: 500; font-size: .82rem; color: var(--text-2); }
.act-list { list-style: none; margin: 0; padding: 0; max-height: 26rem; overflow: auto; font-size: .84rem; }
.act { display: grid; grid-template-columns: 5.2rem 5.6rem minmax(8rem, 1fr) 2fr; gap: .75rem; padding: .4rem 1rem; border-top: 1px solid #F0F1EE; align-items: baseline; }
.act:first-child { border-top: 0; }
.act time { color: var(--text-2); font-variant-numeric: tabular-nums; }
.act-k { display: inline-flex; align-items: center; gap: .3rem; font-weight: 600; color: var(--title); }
.act-k svg { width: 13px; height: 13px; }
.act-path { color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.act-d { color: var(--title); overflow-wrap: anywhere; }
.act--error { background: #FFF4F2; } .act--error .act-k, .act--error .act-d { color: #B3261E; }
.act--submit { background: #F6FAF4; }
.act--view .act-k { color: var(--text-2); font-weight: 500; }
@media (max-width: 700px) { .act { grid-template-columns: 4.6rem 1fr; } .act-path, .act-d { grid-column: 1 / -1; } }
.act-modes { margin-bottom: 1rem; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.act-note { border: 0; background: none; padding: 0 0 1rem; }
.act-list--changes { border: 1px solid var(--line); border-radius: 10px; background: #FFFFFF; max-height: none; }
.act-list--changes .act { grid-template-columns: 7.5rem 8rem minmax(8rem, 1fr) 2fr; }

/* Terminal: one screen; output stacks up from the bottom; the prompt is the last line, with a blinking block cursor */
.term { border-radius: 10px; background: #0B0D0C; color: #D6E2D3; overflow: hidden; box-shadow: 0 20px 40px -24px rgba(0,0,0,.6); cursor: text; }
.term-out { display: flex; flex-direction: column; height: min(30rem, 62vh); overflow: auto; padding: 1rem 1.15rem; font: .85rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: normal; }
.term-out > :first-child { margin-top: auto; }
.term-out > .tl { white-space: pre-wrap; overflow-wrap: anywhere; }
.tl-sys { color: #7F8C7E; }
.tl-cmd { color: #FFFFFF; margin-top: .45rem; }
.term-line { display: flex; align-items: baseline; gap: .6ch; margin: .45rem 0 0; padding: 0; border: 0; }
.term-ps { color: #8FD08A; flex: none; }
.term-field { position: relative; flex: 1; min-width: 0; color: #FFFFFF; white-space: pre; }
.term-echo { white-space: pre; }
.term-caret { display: inline-block; width: .62em; height: 1.1em; margin-left: 1px; vertical-align: text-bottom; background: #E8F5E5; animation: termBlink 1.05s steps(1) infinite; }
.term:not(:focus-within) .term-caret { animation: none; background: transparent; outline: 1px solid #6E786D; outline-offset: -1px; }
@keyframes termBlink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .term-caret { animation: none; } }
.set-wrap .term-field input { position: absolute; inset: 0; width: 100%; padding: 0; border: 0; background: transparent; color: transparent; caret-color: transparent; font: inherit; outline: none; }
.term-in, .term-chips { display: none; }
/* Developer sign-in: black and white */
.adm--dev .adm-brand { background: #000000; }
.adm--dev .adm-brand img { filter: brightness(0) invert(1); }
.adm--dev .adm-tag { border-color: rgba(255,255,255,.6); }
.adm-dev-note { margin: 1.1rem 0 0; max-width: 28ch; color: rgba(255,255,255,.75); font-size: .95rem; }
.tl-out { color: #D6E2D3; } .tl-ok { color: #8FD08A; } .tl-warn { color: #F2C14E; } .tl-err { color: #FF8A80; } .tl-dim { color: #6E786D; }
.adm--dev .adm-loading { background: #000000; }
.adm--dev .adm-loading img { filter: brightness(0) invert(1); }
.set-head .set-exit { float: right; margin: .35rem 0 0 1rem; }
.set-exit svg { width: 15px; height: 15px; }
/* Cards: on hover the border takes the card's own colour (a lighter mix of it), or a slightly darker grey for plain cards */
button.adm-card:hover, a.adm-card:hover { border-color: color-mix(in srgb, var(--tc, #8E948D) 55%, #DADDD8); background: var(--surface-2); }
.dash-card:hover { border-color: color-mix(in srgb, var(--tc) 55%, #DADDD8); }
/* Page titles: the Dashboard keeps its title; elsewhere the tab and breadcrumb already say where you are (kept for screen readers) */
#adm-view:not([data-tab=dashboard]) .adm-view-head h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#adm-view:not([data-tab=dashboard]) .adm-view-head { margin-top: 0; }
/* Back, inside the breadcrumb bar */
.adm-crumbs ol { margin-right: auto; }
.adm-crumb-back { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: .4rem; flex: none; margin-right: .85rem; padding: .2rem .85rem .2rem 0; border-right: 1px solid #D5D8D3; cursor: pointer; font-weight: 600; color: var(--title); transition: color .15s ease; }
.adm-crumb-back svg { width: 15px; height: 15px; transform: rotate(180deg); }
.adm-crumb-back:hover { color: color-mix(in srgb, var(--cc) 70%, #FFFFFF); }
.adm-crumb-back:focus-visible { outline: 2px solid var(--cc); outline-offset: 2px; border-radius: 2px; }
@media (max-width: 600px) { .adm-crumbs { flex-wrap: wrap; } .adm-crumb-back { border-right: 0; padding-right: 0; width: 100%; margin-bottom: .2rem; } }
/* Up one level: just an arrow and a line; the path slides over when it first appears */
.adm-crumb-up { gap: 0; padding-right: .75rem; margin-right: .75rem; }
.adm-crumb-up svg { width: 17px; height: 17px; }
.adm-crumbs.is-shift ol { animation: admCrumbShift .35s cubic-bezier(.2,.8,.2,1); }
.adm-crumbs.is-shift .adm-crumb-back { animation: admCrumbIn .35s cubic-bezier(.2,.8,.2,1); }
@keyframes admCrumbShift { from { transform: translateX(-2.2rem); } to { transform: none; } }
@keyframes admCrumbIn { from { opacity: 0; transform: translateX(-.6rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .adm-crumbs.is-shift ol, .adm-crumbs.is-shift .adm-crumb-back { animation: none; } }
@media (max-width: 600px) { .adm-crumb-up { width: auto; border-right: 1px solid #D5D8D3; padding-right: .75rem; margin-bottom: 0; } }
/* Came from another page: "← Dashboard" leads the path, joined to it with a slash rather than a line */
.adm-crumb-from { border-right: 0; padding-right: 0; margin-right: 0; font-weight: 700; color: #17201A; }
.adm-crumb-from::after { content: "/"; margin: 0 .55rem; font-weight: 400; color: #A3A8A2; }
@media (max-width: 600px) { .adm-crumb-from { width: auto; margin-bottom: 0; } }
/* Breadcrumb polish: one clean line of text, the same small gap around every slash, long names shortened with … */
.adm-crumbs { gap: .5rem; font-size: .9rem; }
.adm-crumbs ol { flex-wrap: nowrap; min-width: 0; overflow: hidden; }
.adm-crumbs li { min-width: 0; flex: none; }
.adm-crumbs li:last-child { flex: 0 1 auto; overflow: hidden; }
.adm-crumbs li:last-child > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-crumbs li + li::before { margin: 0 .4rem; }
.adm-crumb-from { gap: .3rem; margin-right: 0 !important; padding: 0 !important; flex: none; }
.adm-crumb-from::after { margin: 0 .4rem; }
.adm-crumb-from svg { width: 14px; height: 14px; }
.adm-crumbs + * { margin-top: 0; }
@media (max-width: 600px) { .adm-crumbs { flex-wrap: nowrap; } .adm-crumb-from { width: auto; } }
/* Breadcrumb bar, final spacing: one row, no divider lines, the arrow right beside the word it goes back to,
   and the same gaps everywhere (arrow→word .35rem, around each slash .45rem) */
.adm-crumbs { gap: 0; padding: .5rem .55rem .5rem .95rem; }
.adm-crumbs ol { margin-right: auto; }
.adm-crumbs li + li::before, .adm-crumb-from::after { margin: 0 .45rem; }
.adm-crumb-back, .adm-crumb-up, .adm-crumb-from { gap: .35rem; margin: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; }
.adm-crumb-up { margin-right: .35rem !important; color: #6B706C; }
.adm-crumb-up:hover { color: color-mix(in srgb, var(--cc) 70%, #FFFFFF); }
.adm-crumb-back svg, .adm-crumb-from svg, .adm-crumb-up svg { width: 14px; height: 14px; }
.adm-crumb-gear { margin-left: .75rem; }
.adm-crumbs.is-shift ol { animation-name: admCrumbShiftSmall; }
@keyframes admCrumbShiftSmall { from { transform: translateX(-1.1rem); } to { transform: none; } }
.adm-crumb-from::after { margin: 0 .45rem 0 .1rem !important; }   /* its .35rem gap already sits before the slash */

/* ===== Dashboard: stage (left, fixed in place), cards (middle), notifications + quick actions (right) ===== */
#adm-view .adm-view-head h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }   /* no repeated titles anywhere */
.db-lead { margin: 0 0 1rem; color: var(--text-2); font-size: 1rem; }
.db { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) minmax(17rem, .85fr); gap: 1rem; align-items: start; }
/* The stage: a daily photo, softly blurred, that drifts with the mouse; the clock on top. A chosen card's detail replaces the clock. */
.db-stage { position: sticky; top: 8.5rem; height: calc(100vh - 10rem); min-height: 30rem; border-radius: 14px; overflow: hidden; isolation: isolate; color: #FFFFFF; background: #2C3A2B; }
.db-bg { position: absolute; inset: -24px; z-index: -2; background: center / cover no-repeat; filter: blur(3px) saturate(1.05); transform: translate3d(var(--px, 0), var(--py, 0), 0) scale(1.04); transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.db-stage.is-open .db-bg { filter: blur(14px) saturate(1.1); }
.db-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,14,11,.15), rgba(10,14,11,.55)); }
.db-clock { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(1.5rem, 3vw, 2.5rem); text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.db-hello { margin: 0 0 .25rem; font-size: 1.05rem; opacity: .9; }
.db-time { display: block; font-family: var(--clock-font); font-weight: var(--clock-weight); font-size: clamp(4rem, 8vw, 7.5rem); line-height: .95; letter-spacing: -.02em; }
.db-time small { font-size: .32em; margin-left: .35rem; letter-spacing: 0; }
.db-date { margin: .5rem 0 0; font-size: 1.15rem; opacity: .92; }
.db-credit { position: absolute; top: .85rem; right: 1rem; margin: 0; max-width: 60%; font-size: .72rem; opacity: .75; text-align: right; }
.db-personal { all: unset; position: absolute; top: .75rem; left: .75rem; display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .75rem; border-radius: 999px; background: rgba(0,0,0,.28); font-size: .82rem; cursor: pointer; backdrop-filter: blur(6px); }
.db-personal svg { width: 15px; height: 15px; }
.db-personal:hover, .db-personal[aria-expanded="true"] { background: rgba(0,0,0,.45); }
.db-personal:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.db-prefs { position: absolute; top: 3.2rem; left: .75rem; z-index: 2; width: min(19rem, calc(100% - 1.5rem)); padding: .9rem 1rem 1rem; border-radius: 12px; background: rgba(255,255,255,.95); color: var(--title); box-shadow: 0 18px 40px -16px rgba(0,0,0,.5); }
.db-prefs p { margin: .6rem 0 .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.db-prefs p:first-child { margin-top: 0; }
.db-seg { display: flex; flex-wrap: wrap; gap: .35rem; }
.db-seg button { all: unset; padding: .35rem .7rem; border: 1px solid #D5D8D3; border-radius: 999px; font-size: .85rem; cursor: pointer; }
.db-seg button[aria-pressed="true"] { background: #2C3A2B; border-color: #2C3A2B; color: #FFFFFF; }
.db-seg button:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
/* A card's detail on the stage */
.db-mini-clock { position: absolute; top: .9rem; right: 1.1rem; font-family: var(--clock-font); font-weight: var(--clock-weight); font-size: 1.3rem; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.db-detail { position: absolute; inset: 3.4rem .9rem .9rem; display: flex; flex-direction: column; border-radius: 12px; background: rgba(255,255,255,.96); color: var(--title); overflow: hidden; box-shadow: 0 20px 40px -18px rgba(0,0,0,.5); animation: dbIn .35s cubic-bezier(.2,.8,.2,1); }
.db-detail header { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.1rem; background: var(--tc); color: var(--tx); }
.adm-main .db-detail h2 { margin: 0; font-family: var(--sans); font-size: 1.1rem; font-weight: 700; letter-spacing: 0; color: inherit; }
.db-x { all: unset; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; cursor: pointer; }
.db-x:hover { background: rgba(255,255,255,.2); }
.db-x svg { width: 18px; height: 18px; }
.db-x:focus-visible { outline: 2px solid currentColor; }
.db-detail-body { flex: 1; overflow: auto; padding: 1.1rem 1.25rem 1.25rem; }
.adm-main .db-detail-body h3 { margin: 1.25rem 0 .55rem; font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.adm-main .db-detail-body .db-warn-h { color: #B3261E; }
@keyframes dbIn { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: none; } }
.db-stats { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.db-stat b { display: block; font-size: 2rem; line-height: 1.1; font-weight: 700; color: var(--title); }
.db-stat span { font-size: .85rem; color: var(--text-2); }
.db-chart .adm-chart { height: 9rem; }
.db-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.db-pill { padding: .3rem .7rem; border-radius: 999px; background: #F1F2EF; font-size: .85rem; }
.db-pill b { margin-left: .25rem; }
.db-rows { list-style: none; margin: 0; padding: 0; }
.db-rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .1rem 1rem; padding: .55rem 0; border-top: 1px solid var(--line); font-size: .9rem; }
.db-rows li:first-child { border-top: 0; }
.db-rows a { color: var(--title); font-weight: 600; text-decoration: none; }
.db-rows a:hover { text-decoration: underline; }
.db-rows span { grid-column: 1; color: var(--text-2); font-size: .83rem; }
.db-rows b, .db-rows .enq-stage { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.db-acts { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.db-acts--stack { flex-direction: column; align-items: stretch; }
.db-acts--stack .adm-btn { justify-content: center; }
/* Homeowners vs business: one split bar, labelled parts, a 2px gap between them */
.db-split { display: flex; gap: 2px; height: 10px; border-radius: 5px; overflow: hidden; margin-top: .4rem; }
.db-split i { display: flex; align-items: center; justify-content: center; min-width: 4px; }
.db-split .is-home { background: #CC7640; }
.db-split .is-biz { background: #3F6FB0; }
.db-split .is-none { background: #E3E5E1; }
.db-split--big { height: 3rem; border-radius: 8px; }
.db-split--big span { color: #FFFFFF; font-weight: 700; font-size: .95rem; }
.db-keys { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; list-style: none; margin: .55rem 0 0; padding: 0; font-size: .85rem; color: var(--text-2); }
.db-keys i { display: inline-block; width: .7rem; height: .7rem; margin-right: .35rem; border-radius: 3px; vertical-align: -1px; }
.db-keys .is-home { background: #CC7640; }
.db-keys .is-biz { background: #3F6FB0; }
.db-keys b { color: var(--title); margin-left: .2rem; }
/* The cards */
.db-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.db-card { padding: 0; overflow: hidden; min-height: 11rem; border-radius: 12px; }
.db-card-h { display: flex; justify-content: space-between; align-items: center; padding: .7rem 1rem; background: var(--tc); color: var(--tx); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.db-card-h svg { width: 16px; height: 16px; transition: transform .2s ease; }
.db-card:hover .db-card-h svg { transform: translateX(3px); }
.db-card-b { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 1rem 1rem; flex: 1; }
.db-big { font-size: 1.45rem; line-height: 1.2; font-weight: 700; color: var(--title); }
.db-mini { margin-top: auto; padding-top: .5rem; }
.db-mini .adm-chart { height: 3.2rem; }
.db-mini .adm-chart-axis { display: none; }
.db-card.is-on { box-shadow: 0 0 0 2px var(--tc); border-color: var(--tc); }
/* Notifications and quick actions */
.db-side { position: sticky; top: 8.5rem; display: grid; grid-template-rows: minmax(0, 1.3fr) auto; gap: 1rem; height: calc(100vh - 10rem); min-height: 30rem; }
.db-notes, .db-quick { display: flex; flex-direction: column; min-height: 0; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; overflow: hidden; }
.db-notes header, .db-quick header { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.adm-main .db-side h2 { margin: 0 auto 0 0; font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: 0; color: var(--title); }
.db-new { padding: .1rem .5rem; border-radius: 999px; background: #CC7640; color: #FFFFFF; font-size: .75rem; font-weight: 700; }
.db-notes ul { list-style: none; margin: 0; padding: 0; overflow: auto; }
.db-notes > p, .db-quick > p { margin: 0; padding: 1rem; }
.db-note { all: unset; box-sizing: border-box; display: grid; grid-template-columns: .5rem 1fr; column-gap: .55rem; width: 100%; padding: .7rem 1rem; border-top: 1px solid var(--line); cursor: pointer; color: var(--text-2); font-size: .88rem; }
.db-notes li:first-child .db-note { border-top: 0; }
.db-note > * { grid-column: 2; }
.db-note > .adm-dot { grid-column: 1; grid-row: 1; align-self: center; }
.db-note strong { color: var(--title); font-weight: 500; }
.db-note.is-new strong { font-weight: 700; }
.db-note span, .db-note time { font-size: .8rem; }
.db-note:hover { background: var(--surface-2); }
.db-note:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
.db-acts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding: .85rem; }
.db-act { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--title); }
.db-act svg { width: 18px; height: 18px; color: #A86246; }
.db-act:hover { border-color: color-mix(in srgb, #A86246 45%, #DADDD8); background: #FBF5F1; }
.db-act:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.db-pick { display: grid; gap: .25rem; padding: 0 .85rem .85rem; max-height: 16rem; overflow: auto; }
.db-pick label { display: flex; align-items: center; gap: .5rem; padding: .35rem .25rem; font-size: .88rem; cursor: pointer; }
.db-pick svg { width: 16px; height: 16px; color: var(--text-2); }
.db-quick > .crm-hint { margin: .75rem .85rem .25rem; }
.db-live { display: flex; align-items: center; gap: .55rem; margin: 0 .85rem .85rem; padding: .75rem .9rem; border-radius: 10px; background: #2C3A2B; color: #FFFFFF; text-decoration: none; font-weight: 600; font-size: .9rem; }
.db-live svg { width: 18px; height: 18px; }
.db-live em { margin-left: auto; font-style: normal; }
.db-live:hover { background: #3A4C39; }
.db-live:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
/* Narrower screens: the stage across the top, then cards and the side panel; one column on a phone */
@media (max-width: 1200px) {
  .db { grid-template-columns: minmax(0, 1.6fr) minmax(16rem, 1fr); }
  .db-stage { grid-column: 1 / -1; position: relative; top: 0; height: 26rem; min-height: 0; }
  .db-side { position: static; height: auto; grid-template-rows: auto auto; }
  .db-notes ul { max-height: 22rem; }
}
@media (max-width: 760px) { .db { grid-template-columns: 1fr; } .db-cards { grid-template-columns: 1fr; } .db-stage { height: 22rem; } }
@media (prefers-reduced-motion: reduce) { .db-bg { transition: none; transform: scale(1.04); } .db-detail { animation: none; } }
/* Dashboard fixes: plain text in the cards (not the old capitals), clear headings, and the stage and side panel fit the window */
.db-card .db-card-b, .db-card .db-card-b span, .db-card .db-card-b em, .db-card .db-card-b b { text-transform: none; letter-spacing: 0; font-size: inherit; font-weight: inherit; color: inherit; }
.db-card .db-card-b { font-size: .9rem; color: var(--text-2); }
.db-card .db-big, .db-card .db-big span { font-size: 1.45rem; font-weight: 700; color: var(--title); }
.db-card .db-big .adm-light { font-size: 1.05rem; font-weight: 600; }
.db-card .db-card-b .dash-warn { color: #B3261E; font-weight: 700; }
.db-card .db-card-h, .db-card .db-card-h span { color: var(--tx); opacity: 1; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.db-card .db-keys, .db-card .db-keys li { font-size: .82rem; text-transform: none; letter-spacing: 0; font-weight: 400; }
@media (min-width: 1201px) { .db-stage, .db-side { top: 7.75rem; height: calc(100vh - 15rem); min-height: 28rem; } }
@media (max-width: 1200px) { .db-stage { top: 0; height: 24rem; } }
@media (max-width: 760px) { .db-stage { height: 20rem; } .db-time { font-size: 4.2rem; } }

/* Dashboard v2.1: a sharp photo (the movement stays, the blur goes), and the right-hand side as one dark panel */
.db-bg, .db-stage.is-open .db-bg { filter: none; }
.db-side { gap: 0; padding: .35rem; border-radius: 14px; background: #1F2A1F; color: #E9EEE7; grid-template-rows: minmax(0, 1fr) auto; }
.db-side .db-notes, .db-side .db-quick { border: 0; border-radius: 0; background: transparent; }
.db-side .db-quick { border-top: 1px solid rgba(255,255,255,.1); }
.db-side .db-notes header, .db-side .db-quick header { border-bottom-color: rgba(255,255,255,.1); }
.adm-main .db-side h2 { color: #FFFFFF; }
.db-side .adm-link { color: #F0C2A6; }
.db-side .adm-link:hover { color: #FFFFFF; }
.db-side .crm-muted, .db-side .crm-hint { color: rgba(233,238,231,.65); }
.db-side .db-note { border-top-color: rgba(255,255,255,.08); color: rgba(233,238,231,.7); border-radius: 8px; }
.db-side .db-note strong { color: #FFFFFF; }
.db-side .db-note:hover { background: rgba(255,255,255,.07); }
.db-side .db-note:focus-visible { outline-color: #FFFFFF; }
.db-side .db-note .adm-dot { background: #E58F5C; }
.db-side .db-act { border-color: rgba(255,255,255,.14); color: #FFFFFF; background: rgba(255,255,255,.04); }
.db-side .db-act svg { color: #F0C2A6; }
.db-side .db-act:hover { border-color: rgba(240,194,166,.6); background: rgba(255,255,255,.09); }
.db-side .db-act:focus-visible { outline-color: #FFFFFF; }
.db-side .db-pick label { color: #FFFFFF; }
.db-side .db-pick svg { color: rgba(233,238,231,.7); }
.db-side .db-live { background: #F3EFE6; color: #1F2A1F; }
.db-side .db-live:hover { background: #FFFFFF; }
.db-side .db-live:focus-visible { outline-color: #FFFFFF; }
.db-side .db-new { background: #CC7640; }

.db-side .db-notes ul, .db-side .db-pick { padding-right: .35rem; }

/* ===== Dashboard v3: fits the window (no page scroll), taller widgets, round quick actions, quieter photo controls ===== */
.db-lead { display: none; }
@media (min-width: 1201px) {
  #adm-view[data-tab=dashboard] { padding-bottom: 0; }
  .db { height: calc(100vh - 12.6rem); min-height: 30rem; grid-template-rows: 100%; }
  .db-stage, .db-side { position: relative; top: 0; height: 100%; min-height: 0; }
  .db-cards { height: 100%; overflow-y: auto; grid-auto-rows: calc(50% - .5rem); padding-right: .35rem; align-content: start; }
  .db.no-stage { grid-template-columns: minmax(0, 2.4fr) minmax(17rem, .85fr); }
  .db.no-side { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr); }
  .db.no-stage.no-side { grid-template-columns: 1fr; }
  .db.no-stage .db-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .db.no-stage.no-side .db-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
html:has(#adm-view[data-tab=dashboard]) { overflow-y: hidden; }
@media (max-width: 1200px) { html:has(#adm-view[data-tab=dashboard]) { overflow-y: auto; } .db-cards { grid-auto-rows: minmax(14rem, auto); } }
/* A widget: the body opens its detail; the arrow in the coloured bar goes to its area */
.db-card { position: relative; display: flex; flex-direction: column; min-height: 0; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.db-card:hover { border-color: color-mix(in srgb, var(--tc) 55%, #DADDD8); }
.db-card.is-on { box-shadow: 0 0 0 2px var(--tc); border-color: var(--tc); }
.db-card-main { all: unset; box-sizing: border-box; display: flex; flex-direction: column; flex: 1; min-height: 0; cursor: pointer; }
.db-card-main:focus-visible { outline: 2px solid var(--tc); outline-offset: -3px; border-radius: 12px; }
.db-card .db-card-h { display: block; padding: .8rem 3.2rem .8rem 1.1rem; background: var(--tc); color: var(--tx); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.db-card-go { all: unset; box-sizing: border-box; position: absolute; top: .35rem; right: .45rem; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; color: var(--tx); cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.db-card-go svg { width: 17px; height: 17px; }
.db-card-go:hover { background: color-mix(in srgb, var(--tx) 18%, transparent); transform: translateX(2px); }
.db-card-go:focus-visible { outline: 2px solid var(--tx); outline-offset: 1px; }
.db-card .db-card-b { display: flex; flex-direction: column; gap: .35rem; flex: 1; min-height: 0; padding: 1.1rem 1.2rem 1.2rem; font-size: .92rem; color: var(--text-2); }
.db-card .db-big, .db-card .db-big span { font-size: 1.85rem; font-weight: 700; line-height: 1.15; color: var(--title); }
.db-card .db-big .adm-light { font-size: 1.2rem; }
.db-card .db-mini { display: flex; flex-direction: column; justify-content: flex-end; flex: 1; min-height: 0; margin-top: .4rem; }
.db-card .db-mini .adm-chart { height: 100%; min-height: 4rem; grid-template-rows: 1fr; }
.db-card .db-mini .adm-chart-plot { height: 100%; min-height: 4rem; }
.db-minirows { list-style: none; margin: 0; padding: 0; }
.db-minirows li { display: flex; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-top: 1px solid var(--line); font-size: .88rem; }
.db-minirows li:first-child { border-top: 0; }
.db-minirows span { color: var(--title); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-minirows em { font-style: normal; color: var(--text-2); white-space: nowrap; }
.db-none { margin: 0; color: var(--text-2); }
.db-pills--mini .db-pill { font-size: .8rem; padding: .25rem .6rem; }
.db-empty { grid-column: 1 / -1; }
/* Quick actions: round icons with their names underneath, like an app launcher (no boxes) */
.db-launch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem .35rem; padding: 1rem .75rem .9rem; }
.db-side .db-act { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: .2rem; border: 0; background: none; text-align: center; font-size: .78rem; font-weight: 600; line-height: 1.2; color: #E9EEE7; cursor: pointer; }
.db-side .db-act i { display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.db-side .db-act svg { width: 19px; height: 19px; color: #F0C2A6; }
.db-side .db-act:hover { background: none; color: #FFFFFF; }
.db-side .db-act:hover i { background: #CC7640; box-shadow: none; transform: translateY(-2px); }
.db-side .db-act:hover svg { color: #FFFFFF; }
.db-side .db-act:focus-visible { outline: none; }
.db-side .db-act:focus-visible i { outline: 2px solid #FFFFFF; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .db-side .db-act i { transition: none; } .db-side .db-act:hover i { transform: none; } }
/* Open the live website: the arrow points up and out, then straightens to the right on hover */
.db-live em svg { width: 16px; height: 16px; transform: rotate(-45deg); transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.db-live:hover em svg, .db-live:focus-visible em svg { transform: rotate(0deg) translateX(2px); }
/* The photo's controls: a quiet round gear that opens out to "Personalise" on hover */
.db-personal { gap: 0; width: 2.4rem; height: 2.4rem; padding: 0; justify-content: center; border-radius: 999px; background: rgba(30,35,31,.35); overflow: hidden; white-space: nowrap; transition: width .3s cubic-bezier(.2,.8,.2,1), background-color .2s ease; }
.db-personal svg { flex: none; width: 17px; height: 17px; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.db-personal span { max-width: 0; opacity: 0; overflow: hidden; transition: max-width .3s cubic-bezier(.2,.8,.2,1), opacity .2s ease, margin .3s ease; }
.db-personal:hover, .db-personal:focus-visible, .db-personal[aria-expanded="true"] { width: 8.6rem; background: rgba(30,35,31,.55); }
.db-personal:hover span, .db-personal:focus-visible span, .db-personal[aria-expanded="true"] span { max-width: 6rem; opacity: 1; margin-left: .45rem; }
.db-personal:hover svg, .db-personal[aria-expanded="true"] svg { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) { .db-personal, .db-personal span, .db-personal svg { transition: none; } }
/* The photo credit: barely there, with a soft shadow; dark text on bright photos */
.db-credit { opacity: .42; font-size: .7rem; color: #FFFFFF; text-shadow: 0 1px 3px rgba(0,0,0,.45); }
.db-stage.is-light-photo .db-credit { color: #1E241F; text-shadow: 0 1px 3px rgba(255,255,255,.55); }
/* Dashboard settings */
.db-dlg-list { display: grid; gap: .5rem; margin-bottom: 1rem; }
.db-dlg-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 10px; }
.db-dlg-row.is-cur { border-color: #2C3A2B; box-shadow: inset 4px 0 0 #2C3A2B; }
.db-dlg-row strong { display: block; color: var(--title); }
.db-dlg-row small { color: var(--text-2); }
.db-dlg-cur { display: inline-flex; align-items: center; gap: .3rem; color: #2E7D32; font-weight: 600; font-size: .88rem; }
.db-dlg-cur svg { width: 15px; height: 15px; }
.db-dlg-edit { display: grid; gap: 1rem; }
.db-dlg-field { display: grid; gap: .35rem; font-weight: 600; color: var(--title); }
.db-dlg-field input { padding: .6rem .8rem; border: 1px solid #C9CED3; border-radius: 6px; font: inherit; }
.db-dlg-toggles { display: grid; gap: .6rem; }
.db-dlg-toggles .set-switch { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: 10px; }
.db-dlg-toggles span { display: grid; } .db-dlg-toggles small { color: var(--text-2); }
.db-dlg-h { margin: .25rem 0 0; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.db-dlg-widgets { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.db-dlg-widgets li { display: flex; align-items: center; gap: .6rem; padding: .5rem .5rem .5rem .8rem; border: 1px solid var(--line); border-radius: 999px; }
.db-dlg-widgets li span { flex: 1; font-weight: 600; color: var(--title); }
.db-dlg-widgets li i, .db-pill-btn i { width: .7rem; height: .7rem; border-radius: 50%; flex: none; }
.db-dlg-widgets .crm-x { position: static; transform: none; font-weight: 700; color: var(--text-2); }
.db-dlg-add { display: flex; flex-wrap: wrap; gap: .4rem; }
.db-pill-btn { all: unset; display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .8rem; border: 1px dashed #B6BBB4; border-radius: 999px; font-size: .85rem; cursor: pointer; color: var(--title); }
.db-pill-btn svg { width: 14px; height: 14px; }
.db-pill-btn:hover { border-style: solid; background: var(--surface-2); }
.db-pill-btn:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.db-dlg .pick-head .crm-x { position: static; transform: none; }
.db-dlg-field input { letter-spacing: 0; font-weight: 400; }
@media (min-width: 1201px) { body:has(#adm-subnav:not([hidden])) .db { height: calc(100vh - 15.2rem); } }   /* the dashboards menu row takes some of the height */

/* ===== Dashboard widgets with more to them: slightly shorter, a faint corner icon, trends, timelines, agenda, funnel ===== */
@media (min-width: 1201px) { .db-cards { grid-auto-rows: calc(45% - .5rem); } }
.db-card .db-card-b { position: relative; overflow: hidden; }
.db-wm { position: absolute; right: -1.2rem; bottom: -1.4rem; width: 9rem; height: 9rem; color: var(--tc); opacity: .07; pointer-events: none; }
.db-wm svg { width: 100%; height: 100%; stroke-width: 1.2; }
.db-card .db-card-b > :not(.db-wm) { position: relative; }
.db-card .db-mini { gap: .55rem; justify-content: flex-start; }
.db-card .db-mini .adm-chart { flex: 1; min-height: 3.5rem; }
.db-card .db-mini .adm-chart-plot { min-height: 3.5rem; }
/* Trend chip: arrow + words + colour */
.db-card .db-trend { align-self: flex-start; display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 600; }
.db-card .db-trend.is-up { background: #E7F3E8; color: #1E6B24; }
.db-card .db-trend.is-down { background: #FDECEA; color: #A4241B; }
.db-card .db-trend.is-flat { background: #F1F2EF; color: #5B605C; }
.db-card .db-foot { margin: 0; font-size: .84rem; color: var(--text-2); }
.db-card .db-foot b { color: var(--title); font-weight: 600; }
/* Weekday letters under the jobs chart; today stands out */
.db-days { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: -.3rem; font-size: .72rem; text-align: center; color: var(--text-2); }
.db-days .is-today { color: #FFFFFF; background: #3F6FB0; border-radius: 999px; font-weight: 700; justify-self: center; width: 1.35rem; line-height: 1.35rem; }
/* Today: a mini timeline */
.db-timeline { list-style: none; margin: .2rem 0 0; padding: 0 0 0 .2rem; display: grid; gap: .45rem; }
.db-timeline li { position: relative; display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding-left: .85rem; font-size: .86rem; }
.db-timeline li::before { content: ""; position: absolute; left: 0; top: 50%; width: .45rem; height: .45rem; margin-top: -.225rem; border-radius: 50%; background: #5E6366; box-shadow: 0 0 0 3px #EEF0EC; }
.db-timeline li::after { content: ""; position: absolute; left: .19rem; top: calc(50% + .4rem); height: calc(100% + .05rem); width: 1px; background: #DDE0DB; }
.db-timeline li:last-child::after { display: none; }
.db-timeline time { font-variant-numeric: tabular-nums; color: var(--text-2); font-size: .8rem; }
.db-timeline span { color: var(--title); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-timeline em { font-style: normal; font-size: .72rem; padding: .1rem .45rem; border-radius: 999px; background: #F1F2EF; color: #5B605C; }
.db-timeline .is-over::before { background: #C62828; box-shadow: 0 0 0 3px #FDECEA; }
.db-timeline .is-over em, .db-timeline .is-over time { color: #A4241B; }
.db-timeline .is-over em { background: #FDECEA; }
/* Coming up: an agenda with date badges */
.db-agenda { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.db-agenda li { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; gap: .7rem; align-items: center; }
.db-date-badge { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: color-mix(in srgb, var(--tc) 18%, #FFFFFF); color: #0E1C26; line-height: 1; }
.db-date-badge b { font-size: 1.05rem; } .db-date-badge small { font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.db-agenda span { display: grid; min-width: 0; }
.db-agenda span b { color: var(--title); font-weight: 600; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-agenda span small { font-size: .78rem; color: var(--text-2); }
.db-agenda em { font-style: normal; font-weight: 700; color: var(--title); font-size: .88rem; }
/* Latest requests: stage pills beside names */
.db-card .db-minirows .enq-stage { font-size: .68rem; }
.db-card .db-minirows li { align-items: center; }
/* System: three checks */
.db-checks { display: grid; gap: .4rem; font-size: .86rem; }
/* Website: a link chip */
.db-chip-link { display: inline-flex; padding: .35rem .8rem; border-radius: 999px; background: #EEF1EC; color: #2C3A2B; font-weight: 600; text-decoration: none; font-size: .84rem; }
.db-chip-link:hover { background: #2C3A2B; color: #FFFFFF; }
/* Customer hub stages: a small one-colour funnel */
.db-funnel { display: grid; gap: .4rem; }
.db-funnel div { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr) 1.6rem; gap: .55rem; align-items: center; font-size: .82rem; }
.db-funnel span { color: var(--text-2); }
.db-funnel i { display: block; height: .7rem; border-radius: 4px; background: #CC7640; }
.db-funnel b { text-align: right; color: var(--title); }

/* ===== Customer hub dashboard, hub search, pipeline filters; Jobs dashboard (shared look: open, not boxed) ===== */
.hub { display: grid; gap: 1.5rem; margin-top: .25rem; }
.hub-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 760px) { .hub-figures { grid-template-columns: 1fr 1fr; } }
.hub-fig { padding: .2rem 0 .2rem 1rem; border-left: 3px solid #DADDD8; }
.hub-fig b { display: block; font-size: 2.2rem; line-height: 1.1; font-weight: 700; color: var(--title); }
.hub-fig span { color: var(--text-2); font-size: .9rem; }
.hub-fig--hot { border-left-color: #8F4F35; }
.hub-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 900px) { .hub-cols { grid-template-columns: 1fr; } }
.adm-main .hub-sec h2, .adm-main .hub-h { margin: 0 0 .75rem; font-family: var(--sans); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.hub-rows { list-style: none; margin: 0; padding: 0; }
.hub-rows li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--line); }
.hub-rows li:first-child { border-top: 0; }
.hub-rows a { display: grid; text-decoration: none; min-width: 0; }
.hub-rows strong { color: var(--title); }
.hub-rows a span { color: var(--text-2); font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-rows em { font-style: normal; font-size: .78rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; background: #F6EDE8; color: #8F4F35; white-space: nowrap; }
.hub-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.hub-feed li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem; }
.hub-feed-ico { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #F6EDE8; color: #8F4F35; }
.hub-feed-ico svg { width: 15px; height: 15px; }
.hub-feed a { font-weight: 700; color: var(--title); text-decoration: none; }
.hub-feed a:hover { text-decoration: underline; }
.hub-feed span { margin-left: .4rem; font-size: .8rem; color: var(--text-2); }
.hub-feed p { margin: .15rem 0 0; font-size: .87rem; color: var(--text-2); }
.hub-funnel { display: grid; gap: .45rem; }
.hub-step { all: unset; box-sizing: border-box; display: grid; grid-template-columns: 8rem minmax(0, 1fr) 2rem; gap: .8rem; align-items: center; padding: .3rem .5rem; border-radius: 8px; cursor: pointer; }
.hub-step:hover { background: var(--surface-2); }
.hub-step:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.hub-step span { color: var(--title); font-weight: 600; font-size: .9rem; }
.hub-step i { display: block; height: .8rem; border-radius: 4px; background: #CC7640; }
.hub-step b { text-align: right; color: var(--title); }
.hub-search { display: flex; align-items: center; gap: .6rem; padding: .3rem .4rem .3rem 1rem; border: 1px solid #C9CED3; border-radius: 999px; background: #FFFFFF; max-width: 40rem; }
.hub-search svg { width: 18px; height: 18px; color: var(--text-2); flex: none; }
.hub-search input { flex: 1; border: 0; padding: .65rem .2rem; font: inherit; outline: none; background: transparent; }
.hub-search:focus-within { border-color: #8F4F35; box-shadow: 0 0 0 3px #F6EDE8; }
.adm-main .hub-h { margin-top: 1.5rem; }
.hub-people { list-style: none; margin: 0; padding: 0; }
.hub-people li { display: flex; align-items: center; gap: .9rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.hub-people li:first-child { border-top: 0; }
.hub-people li > div { flex: 1; display: grid; min-width: 0; }
.hub-people strong { color: var(--title); }
.hub-people li > div span { color: var(--text-2); font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-avatar { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; background: #8F4F35; color: #FFFFFF; font-weight: 700; }
.hub-avatar--req { background: #F6EDE8; color: #8F4F35; } .hub-avatar svg { width: 16px; height: 16px; }
.hub-count { font-size: .78rem; font-weight: 700; color: #8F4F35; }
.hub-acts { display: flex; gap: .4rem; flex: none; }
.hub-acts .adm-btn { padding: .35rem .75rem; font-size: .82rem; }
@media (max-width: 700px) { .hub-people li { flex-wrap: wrap; } .hub-acts { width: 100%; padding-left: 3.3rem; } }
.hub-filter { margin: .75rem 0 1rem; flex-wrap: wrap; }
.set-stage { display: grid; grid-template-columns: 1.2rem minmax(0, 1fr) auto auto auto; gap: .5rem; align-items: center; }
.set-stage input { width: 100%; }
.set-grip svg { width: 16px; height: 16px; color: var(--text-2); }
.set-stage .crm-x { position: static; transform: none; font-weight: 700; }
.db-pill-btn small { margin-left: .35rem; color: var(--text-2); font-size: .78rem; }
.db-date-badge { background: color-mix(in srgb, var(--tc, #5699BF) 18%, #FFFFFF); }
.db-credit span { display: block; }
.db-credit span + span { margin-top: .1rem; font-size: .92em; }

/* Dashboard detail as frosted glass: the photo shows through (white at ~30%, blurred and softly brightened behind);
   one header row with no box: the widget's name (with its colour dot) left, the time centred, the × right */
.db-stage .db-detail { inset: .9rem; border-radius: 14px; background: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter: blur(22px) saturate(1.25) brightness(1.3); backdrop-filter: blur(22px) saturate(1.25) brightness(1.3); box-shadow: 0 24px 50px -24px rgba(0,0,0,.45); }
.db-stage .db-detail header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: .9rem 1rem .6rem 1.25rem; background: transparent; color: #17201A; }
.adm-main .db-stage .db-detail h2 { display: flex; align-items: center; gap: .5rem; font-size: 1.15rem; color: #17201A; }
.db-stage .db-detail h2 i { width: .7rem; height: .7rem; border-radius: 50%; background: var(--tc); box-shadow: 0 0 0 3px rgba(255,255,255,.6); }
.db-detail-time { justify-self: center; font-family: var(--clock-font); font-weight: var(--clock-weight); font-size: 1.35rem; color: #17201A; letter-spacing: -.01em; }
.db-detail-time small { font-size: .55em; margin-left: .2rem; }
.db-stage .db-x { justify-self: end; color: #17201A; background: rgba(255,255,255,.4); }
.db-stage .db-x:hover { background: rgba(255,255,255,.75); }
.db-stage .db-detail-body { padding-top: .4rem; color: #17201A; }
.adm-main .db-stage .db-detail-body h3 { color: #2E3732; }
.db-stage .db-detail-body .crm-muted, .db-stage .db-stat span, .db-stage .db-rows span { color: #2E3732; }
.db-stage .db-rows li { border-top-color: rgba(23,32,26,.12); }
.db-stage .db-pill { background: rgba(255,255,255,.55); }
.db-stage .db-detail .adm-btn:not(.adm-btn--primary) { background: rgba(255,255,255,.6); border-color: rgba(23,32,26,.15); }
.db-stage .db-detail .adm-chart-plot { border-bottom-color: rgba(23,32,26,.2); }
.db-stage.is-open .db-mini-clock { display: none; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .db-stage .db-detail { background: rgba(255,255,255,.88); } }
/* The same gap under the dashboard as between it and the grey bar above (1.1rem) */
@media (min-width: 1201px) { .db { height: calc(100vh - 13.6rem); } body:has(#adm-subnav:not([hidden])) .db { height: calc(100vh - 16.2rem); } }
/* Selected widget: a thin outline in its colour (no thick ring, so nothing gets clipped where the column scrolls) */
.db-card.is-on { box-shadow: none; border-color: var(--tc); }
.db-card-main:focus { outline: none; }
.db-card-main:focus-visible { outline: 1px solid var(--tc); outline-offset: -2px; }
/* The glass panel sits 8px inside the photo, its corners curved by the outer radius less that gap so the curves run parallel */
.db-stage { border-radius: 14px; }
.db-stage .db-detail { inset: 8px; border-radius: 6px; }
/* The whole photo panel is the frosted glass (no card inside it); a thin light line under the top row; the main button in the widget colour */
.db-stage .db-detail { inset: 0; border-radius: inherit; border: 0; box-shadow: none; animation: none; }
.db-stage .db-detail header { padding: 1.15rem 1.25rem 1rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.55); box-shadow: 0 1px 0 rgba(23,32,26,.06); }
.db-stage .db-detail-body { padding: 1.25rem 1.5rem 1.5rem; }
.db-stage .db-detail .adm-btn--primary { background: var(--tc); border-color: var(--tc); color: var(--tx); }
.db-stage .db-detail .adm-btn--primary:hover { background: color-mix(in srgb, var(--tc) 85%, #000000); border-color: color-mix(in srgb, var(--tc) 85%, #000000); color: var(--tx); }
@media (prefers-reduced-motion: no-preference) { .db-stage.is-open .db-detail-body { animation: dbIn .35s cubic-bezier(.2,.8,.2,1); } }
/* Glass without corner artefacts: blur the photo itself (it extends past the edges, so the blur never pulls in the dark panel colour),
   and lay a plain white fill over the whole area instead of blurring through a rounded layer */
.db-stage.is-open .db-bg { filter: blur(22px) saturate(1.25) brightness(1.3); }
.db-stage .db-detail { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(255,255,255,.45); border-radius: 0; }
.db-stage.is-open { background: #E9ECE7; }

/* ===== Dashboard layouts by window size (dashboard.js picks one: wide / split / stack / phone; --cols = widgets per row, --side = notifications width) ===== */
.db-left { display: contents; }
.db[data-lay] .db-cards { grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); }
.db[data-lay] .db-side .db-act span { white-space: nowrap; }   /* each quick action's name stays on one line */
/* Wide: photo | widgets two across, a little shorter so the next row peeks in | notifications */
.db[data-lay=wide] { grid-template-columns: minmax(24rem, 1fr) minmax(0, 1.5fr) var(--side); }
.db[data-lay=wide].no-stage { grid-template-columns: minmax(0, 1fr) var(--side); }
.db[data-lay=wide].no-side { grid-template-columns: minmax(24rem, 1fr) minmax(0, 1.5fr); }
.db[data-lay=wide].no-stage.no-side { grid-template-columns: minmax(0, 1fr); }
.db[data-lay=wide] .db-cards { grid-auto-rows: max(18.5rem, calc(42% - .6rem)); }   /* always a little taller than half, so the third row peeks in and invites a scroll */
/* Split and stack fill the rest of the window: the photo stays put and only the widgets scroll */
.db[data-lay=split], .db[data-lay=stack] { height: max(30rem, calc(100vh - var(--db-top, 13.6rem) - 18px)); min-height: 0; }
#adm-view[data-tab=dashboard]:has(.db[data-lay=split]), #adm-view[data-tab=dashboard]:has(.db[data-lay=stack]) { padding-bottom: 0; }
/* Split: photo across the top, widgets scrolling underneath it, notifications full height on the right */
.db[data-lay=split] { grid-template-columns: minmax(0, 1fr) var(--side); grid-template-rows: 100%; }
.db[data-lay=split].no-side { grid-template-columns: minmax(0, 1fr); }
.db[data-lay=split] .db-left { display: flex; flex-direction: column; gap: 1rem; height: 100%; min-height: 0; overflow: hidden; }
.db[data-lay=split] .db-stage { flex: none; position: relative; top: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: 50%; min-height: 12rem; }   /* never a thin strip: about 16:9, shrinking when the window is short */
.db[data-lay=split] .db-notes ul { max-height: none; }
.db[data-lay=split] .db-cards { flex: 1; min-height: 0; height: auto; overflow-y: auto; padding-right: .35rem; grid-auto-rows: 17.5rem; align-content: start; }
.db[data-lay=split] .db-side { position: relative; top: 0; height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; }
/* Stack: photo across the whole top, widgets scrolling on the left, notifications on the right without any scrolling */
.db[data-lay=stack] { grid-template-columns: minmax(0, 1fr) var(--side); grid-template-rows: auto minmax(0, 1fr); }
.db[data-lay=stack].no-side { grid-template-columns: minmax(0, 1fr); }
.db[data-lay=stack] .db-stage { grid-column: 1 / -1; position: relative; top: 0; width: 100%; height: auto; aspect-ratio: 2.4 / 1; max-height: 30vh; min-height: 12rem; }
.db[data-lay=stack] .db-cards { min-height: 0; height: 100%; overflow-y: auto; padding-right: .35rem; grid-auto-rows: 17.5rem; align-content: start; }
.db[data-lay=stack] .db-side { position: relative; top: 0; display: flex; flex-direction: column; height: 100%; min-height: 0; overflow-y: auto; }
.db[data-lay=stack] .db-quick { flex: 1; }
.db[data-lay=stack] .db-live { margin-top: auto; }
.db[data-lay=stack] .db-launch { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem .2rem; padding: .7rem .5rem .6rem; }   /* the shortcuts sit in one row here */
.db[data-lay=stack] .db-side .db-act { font-size: .7rem; }
.db[data-lay=stack] .db-side .db-act span { white-space: normal; }
.db[data-lay=stack] .db-side .db-act i { width: 2.3rem; height: 2.3rem; }
/* Notifications one at a time (stack): swipe or use the arrows; the bar underneath says which one you're on */
.db-nnav { display: none; }
.db[data-lay=stack] .db-notes ul { display: flex; max-height: none; overflow-x: auto; overflow-y: hidden; padding-right: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
.db[data-lay=stack] .db-notes ul::-webkit-scrollbar { display: none; }
.db[data-lay=stack] .db-notes li { flex: 0 0 100%; scroll-snap-align: start; }
.db[data-lay=stack] .db-notes li .db-note { border-top: 0; }
.db[data-lay=stack] .db-nnav { display: inline-flex; align-items: center; gap: .3rem; margin-right: .25rem; font-size: .78rem; white-space: nowrap; color: rgba(233,238,231,.7); }
.db[data-lay=stack] .db-notes .db-new { display: none; }
.db-nnav button { all: unset; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; cursor: pointer; color: #F0C2A6; background: rgba(255,255,255,.07); }
.db-nnav button:hover { background: rgba(255,255,255,.15); color: #FFFFFF; }
.db-nnav button:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.db-nnav svg { width: 16px; height: 16px; }
.db-nnav button:first-child svg { transform: scaleX(-1); }
/* The clock lies on its side when the photo is a wide strip: big time on the left, greeting and date beside it */
@container dbstage (min-width: 34rem) and (min-aspect-ratio: 3 / 2) {   /* only when the photo is wide enough */
  .db-stage .db-clock { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 1.6rem; align-items: end; }
  .db-stage .db-time { grid-column: 1; grid-row: 1 / span 2; font-size: clamp(4.5rem, 6.5vw, 6.5rem); }
  .db-stage .db-hello { grid-column: 2; grid-row: 1; margin: 0 0 .2rem; }
  .db-stage .db-date { grid-column: 2; grid-row: 2; margin: 0 0 .75rem; }
}

/* ===== Phones: a Menu button opens a full-screen menu of the sections; the grey second row becomes one "where you are" button ===== */
.adm-menu-btn { display: none; }
.adm-menu[hidden] { display: none; }
@media (max-width: 760px) {
  .adm-tabs { display: none; }
  .adm-who > span, .adm-who > .adm-out { display: none; }
  .adm-who { gap: .5rem; }
  .adm-menu-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .85rem; border: 1px solid #C9CED3; border-radius: 4px; font-size: .92rem; font-weight: 600; color: var(--title); cursor: pointer; }
  .adm-menu-btn svg { width: 18px; height: 18px; }
  .adm-menu-btn:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
  html.adm-menu-open { overflow: hidden; }
  .adm-menu { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; background: #FFFFFF; overflow-y: auto; animation: admMenuIn .25s ease both; }
  .adm-menu-head { display: flex; align-items: center; justify-content: space-between; padding: .6rem clamp(.9rem, 2vw, 1.5rem); border-bottom: 1px solid var(--line); }
  .adm-menu-head img { display: block; width: auto; height: 2.3rem; }
  .adm-menu-x { all: unset; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--title); cursor: pointer; }
  .adm-menu-x svg { width: 22px; height: 22px; }
  .adm-menu-x:hover { background: #F1F2EF; }
  .adm-menu-x:focus-visible { outline: 2px solid var(--title); }
  .adm-menu-list { flex: 1; padding: .25rem clamp(.9rem, 2vw, 1.5rem) 1.5rem; }
  .adm-menu-h { margin: 1.25rem 0 .4rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); }
  .adm-menu-list ul { display: grid; gap: .25rem; list-style: none; margin: 0; padding: 0; }
  .adm-menu-list button { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: .85rem; width: 100%; padding: .95rem .85rem; border-radius: 10px; font-size: 1.2rem; font-weight: 600; color: var(--title); cursor: pointer; }
  .adm-menu-list button i { flex: none; width: .8rem; height: .8rem; border-radius: 50%; background: var(--tc); }
  .adm-menu-list button > svg { width: 18px; height: 18px; margin-left: auto; color: var(--text-2); }
  .adm-menu-list button:hover { background: #F4F5F3; }
  .adm-menu-list button[aria-current] { background: color-mix(in srgb, var(--tc) 12%, #FFFFFF); }
  .adm-menu-list button:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
  .adm-menu-new { padding: .15rem .55rem; border-radius: 999px; background: #CC7640; color: #FFFFFF; font-size: .75rem; font-weight: 700; }
  .adm-menu-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(.9rem, 2vw, 1.5rem) calc(1rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); font-size: .88rem; color: var(--text-2); }
  .adm-menu-foot span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .adm-menu-foot .adm-out { flex: none; }
  /* The second row: "where you are" on the left (tap for the other parts of this section), Cards / List on the right */
  .adm-subnav-in { position: relative; overflow: visible; padding: 0; }
  .adm-subnav .adm-subpick { display: flex; flex: 1; justify-content: space-between; padding: .8rem clamp(.9rem, 2vw, 1.5rem); font-size: .95rem; }
  .adm-subnav .adm-subpick svg { transition: transform .2s ease; }
  .adm-subnav .adm-subpick[aria-expanded=true] svg { transform: rotate(180deg); }
  .adm-subnav-in:has(.adm-subpick) .adm-subnav-opts { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 20; flex-direction: column; background: #FFFFFF; border-bottom: 1px solid var(--line); box-shadow: 0 18px 30px -14px rgba(0,0,0,.28); }
  .adm-subnav-in.is-open .adm-subnav-opts { display: flex; }
  .adm-subnav-in:has(.adm-subpick) .adm-subnav-opts button { padding: .95rem clamp(.9rem, 2vw, 1.5rem); border-top: 1px solid var(--line); font-size: 1rem; }
  /* Dashboard: the photo is just the clock and scrolls away with the page */
  .db[data-lay=phone] .db-personal, .db[data-lay=phone] .db-prefs { display: none; }
  .db[data-lay=phone] .db-stage { height: 15rem; }
}
.adm-subnav .adm-subpick { display: none; }
@media (max-width: 760px) { .adm-subnav .adm-subpick { display: flex; } }
@keyframes admMenuIn { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .adm-menu { animation: none; } }
.adm-subpick small { margin-right: .45rem; font-size: inherit; font-weight: 500; opacity: .7; }
.adm-subpick small::after { content: " /"; }

/* ===== Photo panel detail: nothing scrolls but the lists; the panel's own shape decides the arrangement =====
   Tall (the big-screen layout): figures and charts, then the lists filling the rest, then the buttons.
   Wide (laptop and tablet strips): figures, charts and buttons on the left, the lists down the right, each scrolling on its own. */
.db-stage { container: dbstage / size; }
.db-stage .db-detail-body { display: grid; grid-template-rows: minmax(0, max-content) minmax(7.5rem, 1fr) auto; gap: 1rem; min-height: 0; overflow: hidden; }   /* the lists always keep room for a few rows */
.db-stage .dd-main { min-height: 0; overflow-y: auto; }
.adm-main .db-stage .dd-main > h3:first-child, .adm-main .db-stage .dd-main > .db-stats + h3 { margin-top: 1rem; }
.db-stage .dd-lists { display: flex; flex-direction: column; gap: .9rem; min-height: 0; }
.db-stage .dd-list { display: flex; flex: 0 1 auto; flex-direction: column; min-height: 0; }   /* each list takes what it needs, and scrolls only when they don’t all fit */
.db-stage .dd-list.is-empty { flex: none; }
.adm-main .db-stage .dd-list h3 { margin: 0 0 .45rem; }
.db-stage .dd-list .db-rows { flex: 0 1 auto; min-height: 2.5rem; overflow-y: auto; padding-right: .5rem; }
.db-stage .dd-list p { margin: 0; }
.db-stage .dd-acts { align-self: end; }
.db-stage .dd-acts .db-acts { margin-top: 0; }
.db-stage .db-chart .adm-chart { height: clamp(4.5rem, 16cqh, 9rem); }
@container dbstage (min-aspect-ratio: 5 / 4) and (min-width: 36rem) {
  .db-stage .db-detail-body.has-lists { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; column-gap: 2rem; }
  .db-stage .has-lists .dd-main { grid-column: 1; grid-row: 1 / span 2; }
  .db-stage .has-lists .dd-lists, .db-stage .has-lists .dd-acts { grid-column: 2; padding-left: 2rem; border-left: 1px solid rgba(23,32,26,.12); margin-left: -1rem; }
  .db-stage .has-lists .dd-lists { grid-row: 1; }
  .db-stage .has-lists .dd-acts { grid-row: 2; padding-top: .25rem; }
  .db-stage .db-chart .adm-chart { height: clamp(3rem, 15cqh, 7rem); }
  .db-stage .has-lists .db-pill { padding: .2rem .6rem; font-size: .8rem; }
  .db-stage .has-lists .db-pills { gap: .3rem; }
  .db-stage .has-lists .db-stat b { font-size: 1.5rem; }
  .db-stage .has-lists .db-stats { gap: 1.25rem; }
  .adm-main .db-stage .has-lists .dd-main h3 { margin: .8rem 0 .4rem; }
}
@container dbstage (max-height: 28rem) {
  .db-stage .db-stat b { font-size: 1.5rem; }
  .db-stage .db-stats { gap: 1.1rem; }
  .adm-main .db-stage .dd-main h3 { margin: .7rem 0 .35rem; }
  .db-stage .db-detail-body { gap: .7rem; padding-top: .9rem; padding-bottom: 1rem; }
}
/* On laptops and tablets the photo strip grows a little while a widget is open, so its detail has room */

/* ===== Frosted scrollbars across the admin: a soft see-through pill that floats in its track, white on the dark panels ===== */
html:has(.adm-dash)::-webkit-scrollbar, html:has(.adm-dash) ::-webkit-scrollbar { width: 11px; height: 11px; background: transparent; }
html:has(.adm-dash)::-webkit-scrollbar-track, html:has(.adm-dash) ::-webkit-scrollbar-track { background: transparent; }
html:has(.adm-dash)::-webkit-scrollbar-thumb, html:has(.adm-dash) ::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: rgba(140,150,144,.34) padding-box; box-shadow: inset 0 1px 0 rgba(255,255,255,.5); }
html:has(.adm-dash)::-webkit-scrollbar-thumb:hover, html:has(.adm-dash) ::-webkit-scrollbar-thumb:hover { background-color: rgba(110,120,114,.55); }
html:has(.adm-dash)::-webkit-scrollbar-button, html:has(.adm-dash) ::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
html:has(.adm-dash)::-webkit-scrollbar-corner, html:has(.adm-dash) ::-webkit-scrollbar-corner { background: transparent; }
html:has(.adm-dash) .db-side ::-webkit-scrollbar-thumb, html:has(.adm-dash) .term ::-webkit-scrollbar-thumb, html:has(.adm-dash) .term::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,.26); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
html:has(.adm-dash) .db-side ::-webkit-scrollbar-thumb:hover, html:has(.adm-dash) .term ::-webkit-scrollbar-thumb:hover, html:has(.adm-dash) .term::-webkit-scrollbar-thumb:hover { background-color: rgba(255,255,255,.45); }
@supports (-moz-appearance: none) {
  html:has(.adm-dash), html:has(.adm-dash) * { scrollbar-width: thin; scrollbar-color: rgba(140,150,144,.5) transparent; }
  html:has(.adm-dash) .db-side, html:has(.adm-dash) .db-side *, html:has(.adm-dash) .term, html:has(.adm-dash) .term * { scrollbar-color: rgba(255,255,255,.35) transparent; }
}

/* ===== Frosted glass in a few more places: things that float over the page ===== */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  /* The top bar: the page slides under it softly as you scroll */
  /* (on a layer behind the bar, so the bell list inside it can still blur the page underneath) */
  .adm-top { background: transparent; }
  .adm-top::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.78); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5); }
  /* The bell's list */
  .adm-notes { background: rgba(255,255,255,.8); border-color: transparent; -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); }
  /* Behind pop-up boxes: the page blurs instead of just going dark */
  .adm-dialog::backdrop { background: rgba(23,32,26,.28); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  /* The clock panel's Personalise box and button */
  .db-prefs { background: rgba(255,255,255,.72); -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4); border: 0; }
  .db-personal { background: rgba(255,255,255,.18); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: none; }
  .db-personal:hover, .db-personal[aria-expanded="true"] { background: rgba(255,255,255,.3); }
  @media (max-width: 760px) {
    /* The phone menu and the section list drop down as glass */
    .adm-menu { background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); }
    .adm-subnav-in:has(.adm-subpick) .adm-subnav-opts { background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(20px) saturate(1.5); backdrop-filter: blur(20px) saturate(1.5); }
  }
}
.db-stage .db-chart .adm-chart { grid-template-rows: minmax(0, 1fr) auto; }   /* the bars shrink to fit, the dates stay underneath */
.db-stage .db-chart .adm-chart-plot { height: auto; min-height: 0; }

/* ===== Photo panel detail: the header bar wears the widget's colour as frosted glass =====
   The colour is see-through over the blurred photo, so it reads as tinted glass; the text, clock and close button take the
   widget's own text colour (white, or near-black on the yellow Jobs bar), so every widget looks right without special cases.
   The bar stays put; only the lists below it scroll. */
.db-stage .db-detail header { background: linear-gradient(180deg, color-mix(in srgb, var(--tc) 72%, transparent), color-mix(in srgb, var(--tc) 84%, transparent)); color: var(--tx); border-bottom: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 1px 0 rgba(0,0,0,.06), 0 10px 24px -18px rgba(0,0,0,.45); }
.adm-main .db-stage .db-detail h2 { color: var(--tx); }
.db-stage .db-detail h2 i { display: none; }
.db-stage .db-detail-time { color: var(--tx); opacity: .92; }
.db-stage .db-x { color: var(--tx); background: color-mix(in srgb, var(--tx) 16%, transparent); box-shadow: none; transition: background-color .2s ease, transform .2s ease; }
.db-stage .db-x:hover { background: color-mix(in srgb, var(--tx) 28%, transparent); transform: rotate(90deg); }
.db-stage .db-x:focus-visible { outline: 2px solid var(--tx); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .db-stage .db-x:hover { transform: none; } }

/* ===== Forms: each one summarised at a glance =====
   Callback requests wear the website's terracotta "Book a call" colour with a phone; enquiries the website's dark green with a speech bubble.
   Name first, then what they wrote (or how they'd like to be contacted), then small chips for the service, company and postcode. */
.frm--book { --fk: #A86246; --fk-soft: #F8EDE7; }
.frm--enquire { --fk: #2C3A2B; --fk-soft: #E9EEE7; }
.adm-item:has(.frm-head) { overflow: hidden; border-radius: 12px; transition: border-color .2s ease; }
.adm-item:has(.frm-head):hover { border-color: color-mix(in srgb, var(--fk, #5E6366) 40%, #DADDD8); }
.adm-item:has(.frm--book) { --fk: #A86246; }
.adm-item:has(.frm--enquire) { --fk: #2C3A2B; }
.adm-item.is-new:has(.frm-head) { border-left: 1px solid var(--line); box-shadow: inset 3px 0 0 var(--fk); }
.adm-item-head.frm-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .2rem 1rem; padding: 1rem 1.15rem; color: var(--text-2); }
.frm-head:hover { background: color-mix(in srgb, var(--fk-soft) 55%, #FFFFFF); }
.frm-icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: var(--fk); color: #FFFFFF; }
.frm-icon svg { width: 19px; height: 19px; }
.frm-main { display: grid; gap: .3rem; min-width: 0; }
.frm-top { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .5rem; }
.frm-kind { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fk); }
.frm-top .adm-type { font-size: .72rem; }
.frm-new { padding: .1rem .5rem; border-radius: 999px; background: #CC7640; color: #FFFFFF; font-size: .7rem; font-weight: 700; }
.adm-item-head .frm-name { font-size: 1.08rem; font-weight: 600; color: var(--title); }
.adm-item.is-new .adm-item-head .frm-name { font-weight: 700; }
.frm-line { overflow: hidden; font-size: .9rem; color: var(--text-2); text-overflow: ellipsis; white-space: nowrap; }
.frm-chips { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .15rem; }
.frm-chip { padding: .15rem .55rem; border-radius: 999px; background: #F1F2EF; font-size: .78rem; color: var(--title); }
.frm-side { display: flex; align-items: center; gap: .5rem; font-size: .82rem; white-space: nowrap; }
.frm-side svg { width: 16px; height: 16px; color: var(--text-2); transition: transform .2s ease; }
.frm-head[aria-expanded="true"] .frm-side svg { transform: rotate(180deg); }
@media (max-width: 560px) {
  .adm-item-head.frm-head { grid-template-columns: auto minmax(0, 1fr); }
  .frm-side { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
  .frm-main { grid-column: 1 / -1; }
  .frm-side svg { display: none; }
}
@media (prefers-reduced-motion: reduce) { .frm-side svg { transition: none; } }
.db :is(.db-cards, .dd-list .db-rows).no-scroll { padding-right: 0 !important; }   /* nothing to scroll: rows use the full width */

/* Frosted glass never gets an outline (the user finds outlines on glass pixely and over-shiny); a soft shine on top is fine */

/* Notifications panel: each notification is its own soft box with room around it, lined up with the panel's headings.
   The list keeps the same inner margin whether or not it scrolls; when it does, the scrollbar sits just outside the boxes. */
.db-side .db-notes ul, .db-side .db-pick { display: grid; align-content: start; gap: .3rem; padding: .5rem; }
.db-side .db-note { padding: .7rem .5rem; border-top: 0; border-radius: 10px; transition: background-color .15s ease; }
.db-side .db-note:hover { background: rgba(255,255,255,.08); }
.db-side .db-note:focus-visible { outline-offset: 0; }
@media (prefers-reduced-motion: reduce) { .db-side .db-note { transition: none; } }

/* =====================================================================================================================
   Motion and feel across the whole admin (dashboard, CRM, Customer hub, Jobs, Calendar, Content, SEO, Settings, Server).
   Inspired by how iOS moves: things ease out quickly and settle softly, a tap presses in slightly, panels grow from where
   they were opened, and corners are generously rounded. One set of timings is used everywhere so it all feels the same.
   Nothing here changes what anything does; and everything calms down for people who ask their device for less motion.
   ===================================================================================================================== */
:root {
  --ease-ios: cubic-bezier(.32, .72, 0, 1);        /* the iOS "sheet" curve: quick start, long soft finish */
  --spring: var(--ease-ios);                        /* replaced by a gentle spring (a touch of settle) where browsers allow it */
  --t-tap: .16s; --t-move: .42s; --t-sheet: .55s;
}
@supports (transition-timing-function: linear(0, 1)) {
  :root { --spring: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 20.4%, 1.051 24.3%, 1.055 26.2%, 1.05 28.6%, 1.024 33.4%, 1.002 39.2%, .993 45.1%, .998 57.2%, 1); }
}

/* Calm, crisp text and no grey flash when tapping on phones; scrolling areas don't drag the page with them */
html:has(.adm-dash) { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: no-preference) { html:has(.adm-dash) { scroll-behavior: smooth; } }
.adm-dash :is(.db-cards, .db-left, .db-notes ul, .db-pick, .dd-main, .dd-list .db-rows, .adm-notes, .term, .adm-subnav-in, .adm-tabs-crm) { overscroll-behavior: contain; }
.adm-menu { overscroll-behavior: contain; }

/* ---- Rounder corners, consistent everywhere (inner corners are a little tighter than the box they sit in) ---- */
.adm-dash .adm-btn, .adm-dash .adm-out, .adm-dash .adm-menu-btn { border-radius: 10px; }
.adm-dash :is(.crm-note textarea, .crm-link input, .crm-field input, .crm-field textarea, .crm-field select) { border-radius: 10px; }
.adm-dash .crm-card { border-radius: 14px; }
.adm-dash .adm-card, .adm-dash .dash-card, .adm-dash .crm-tile, .adm-dash .adm-item { border-radius: 14px; }
.adm-dash .adm-card:not(.flip), .adm-dash .crm-tile, .adm-dash .adm-item { overflow: hidden; }
.adm-notes { border-radius: 16px; }
.adm-dialog { border-radius: 20px; }
.adm-dash .db-card, .adm-dash .db-stage, .adm-dash .db-side { border-radius: 16px; }
.adm-dash .db-side .db-note { border-radius: 11px; }

/* ---- Taps and hovers: colours glide, and anything you press gives a small press-in, then springs back ---- */
.adm-dash :is(.adm-btn, .adm-out, .adm-menu-btn, .adm-bell-btn, .adm-link, .db-act, .db-personal, .db-x, .flip-btn, .adm-subnav button,
  .adm-tabs [role=tab], .adm-site-toggle, .db-nnav button, .db-pill-btn, .db-note, .adm-item-head, .db-seg button, .adm-subpick),
.adm-menu :is(button, .adm-out) {
  transition: background-color var(--t-tap) ease, border-color var(--t-tap) ease, color var(--t-tap) ease, box-shadow var(--t-tap) ease,
    opacity var(--t-tap) ease, transform var(--t-move) var(--spring);
}
.adm-dash :is(.adm-btn, .adm-out, .adm-menu-btn, .adm-bell-btn, .db-act, .db-personal, .flip-btn, .db-nnav button, .db-pill-btn, .db-seg button, .adm-subpick):active,
.adm-menu :is(button, .adm-out):active { transform: scale(.95); transition-duration: .08s; }
.adm-dash :is(.adm-subnav button, .adm-tabs [role=tab], .db-note, .adm-item-head):active { transform: scale(.985); transition-duration: .08s; }
.adm-dash .db-stage .db-x:active { transform: scale(.88) rotate(90deg); transition-duration: .08s; }

/* Cards lift a touch on hover with a soft shadow, and press in when clicked */
.adm-dash :is(.dash-card, .crm-tile, .set-card, button.adm-card, a.adm-card) {
  transition: border-color .2s ease, background-color .2s ease, box-shadow var(--t-move) var(--ease-ios), transform var(--t-move) var(--spring);
}
.dash-card, .crm-tile, .srv-card { animation-fill-mode: backwards; }   /* (so the entrance animation doesn't hold them still afterwards) */
@media (hover: hover) {
  .adm-dash :is(.dash-card, .crm-tile, .set-card, button.adm-card, a.adm-card):hover { transform: translateY(-3px); box-shadow: 0 18px 36px -22px rgba(23,32,26,.38); }
  .adm-dash .db-card:hover { box-shadow: 0 14px 30px -22px rgba(23,32,26,.4); }
}
.adm-dash :is(.dash-card, .crm-tile, .set-card, button.adm-card, a.adm-card):active { transform: translateY(0) scale(.985); transition-duration: .1s; }
.adm-dash .db-card { transition: border-color .2s ease, box-shadow var(--t-move) var(--ease-ios); }
.adm-dash .db-card .db-card-main:active { transform: scale(.985); }
.adm-dash .db-card .db-card-main { transition: transform var(--t-move) var(--spring); }

/* Switches: the knob springs across, and stretches a little while held, like iOS */
.set-switch i { transition: background-color .25s ease; }
.set-switch i::after { transition: transform var(--t-move) var(--spring), width .2s var(--ease-ios); }
.set-switch:active i::after { width: 1.42rem; }
.set-switch:active input:checked + i::after { transform: translateX(.8rem); }

/* ---- Moving between pages: the new page eases up and in ---- */
@keyframes admPageIn { from { opacity: 0; transform: translateY(12px) scale(.995); } to { opacity: 1; transform: none; } }
.adm-main-in.is-entering { animation: admPageIn .5s var(--ease-ios); }
.dash-card, .crm-tile, .srv-card { animation-duration: .55s; animation-timing-function: var(--ease-ios); }

/* ---- Things that open: they grow out of where you opened them and settle ---- */
@keyframes admPopIn { from { opacity: 0; transform: translateY(-6px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes admSheetIn { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes admFadeIn { from { opacity: 0; } to { opacity: 1; } }
.adm-notes:not([hidden]) { transform-origin: top right; animation: admPopIn .42s var(--spring); }
.adm-tabs-site.is-open { transform-origin: top right; animation: admPopIn .42s var(--spring); }
.db-prefs { transform-origin: top left; animation: admPopIn .42s var(--spring); }
.adm-dialog[open] { animation: admSheetIn var(--t-sheet) var(--spring); }
.adm-dialog[open]::backdrop { animation: admFadeIn .3s ease; }
.adm-menu:not([hidden]) { animation: admFadeIn .25s ease, admSheetIn var(--t-sheet) var(--ease-ios); }
.adm-subnav-in.is-open .adm-subnav-opts { transform-origin: top center; animation: admPopIn .38s var(--spring); }
.adm-item.is-open .adm-item-body { animation: admPopIn .38s var(--ease-ios); transform-origin: top center; }
.db-stage.is-open .db-detail-body { animation: dbIn .5s var(--ease-ios); }
.db-stage.is-open .db-detail header { animation: admFadeIn .35s ease; }

/* The SEO score ring draws itself in */
@keyframes seoRingIn { from { stroke-dasharray: 0 100; } }
.seo-ring-fg { animation: seoRingIn 1.2s var(--ease-ios) .15s both; }

/* ---- Flip cards: press the small button and the card turns over to show its back; press again to turn it back ---- */
.adm-dash .flip { padding: 0; border: 0; background: transparent; overflow: visible; perspective: 1400px; }
.flip-in { position: relative; display: grid; height: 100%; transform-style: preserve-3d; transition: transform .8s var(--spring); }
.flip.is-flipped .flip-in { transform: rotateY(180deg); }
.flip-face { grid-area: 1 / 1; display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.flip-back { position: absolute; inset: 0; transform: rotateY(180deg); }   /* the front sets the size; the back fits inside it */
.flip-back .flip-body { flex: 1; min-height: 0; overflow-y: auto; }
.flip .flip-front { align-items: center; gap: .6rem; padding-bottom: 1.1rem; }
.flip .dash-head { align-self: stretch; }
.flip-btn { all: unset; box-sizing: border-box; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: color-mix(in srgb, var(--tx, #FFFFFF) 18%, transparent); color: var(--tx, #FFFFFF); font-size: .85rem; font-weight: 700; cursor: pointer; }
.flip-btn svg { width: 14px; height: 14px; }
.flip-btn:hover { background: color-mix(in srgb, var(--tx, #FFFFFF) 30%, transparent); }
.flip-btn:focus-visible { outline: 2px solid var(--tx, #FFFFFF); outline-offset: 2px; }
.flip-body { display: grid; align-content: start; gap: .65rem; padding: .9rem 1.1rem 1rem; font-size: .84rem; line-height: 1.5; color: var(--text-2); text-transform: none; letter-spacing: 0; }
.flip-body p { margin: 0; }
.flip-body b { color: var(--title); }
.flip-sums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin: 0; padding: 0; list-style: none; }
.flip-sums li { display: grid; gap: .1rem; padding: .5rem .6rem; border-radius: 10px; background: #F4F5F3; }
.flip-sums b { font-size: 1.2rem; line-height: 1.1; }
.adm-main .flip-sums span { font-size: .74rem; }
.adm-main .flip-body span, .adm-main .flip-body .dash-small { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--text-2); }

/* ---- Less motion: no movement, just quick fades ---- */
@media (prefers-reduced-motion: reduce) {
  .adm-dash *, .adm-dash *::before, .adm-dash *::after, .adm-menu, .adm-dialog { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; }
  .flip-in { transition: none; }
  .adm-dash :is(.dash-card, .crm-tile, .set-card, button.adm-card, a.adm-card):hover { transform: none; }
}
.flip > .flip-in { width: 100%; align-self: stretch; flex: 1; }

/* ===== Wide layout on any screen that's too short for widgets under the photo =====
   Photo in a tall column on the left, widgets in their own scrolling column, notifications on the right; it fills the window
   below the breadcrumb bar at any width (not just on big screens). With room for only one widget across, the middle column
   is a single file and the photo takes a bit more of the width. */
.db[data-lay=wide] { height: max(30rem, calc(100vh - var(--db-top, 13.6rem) - 18px)); min-height: 0; grid-template-rows: 100%; }
#adm-view[data-tab=dashboard]:has(.db[data-lay=wide]) { padding-bottom: 0; }
.db[data-lay=wide] .db-stage { grid-column: auto; position: relative; top: 0; height: 100%; min-height: 0; aspect-ratio: auto; max-height: none; }
.db[data-lay=wide] .db-side { position: relative; top: 0; height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; }
.db[data-lay=wide] .db-notes ul { max-height: none; }
.db[data-lay=wide] .db-cards { height: 100%; min-height: 0; overflow-y: auto; align-content: start; }
.db[data-lay=wide][data-cols="1"]:not(.no-stage) { grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 1fr) var(--side); }
.db[data-lay=wide][data-cols="1"].no-side:not(.no-stage) { grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 1fr); }
/* Split: on a narrow left column (a tablet held upright) the photo is 4:3 rather than 16:9, so a widget's details fit inside it */
.db[data-lay=split] .db-left { container: dbleft / inline-size; }
@container dbleft (max-width: 34rem) { .db[data-lay=split] .db-stage { aspect-ratio: 1 / 1; } }
@container dbstage (max-width: 26rem) { .db-stage .db-detail-time { display: none; } .db-stage .db-detail header { grid-template-columns: 1fr auto; } }   /* narrow panel: the clock steps aside for the title */
@container dbstage (max-height: 32rem) and (max-width: 36rem) { .db-stage .dd-main .db-chart, .db-stage .dd-main h3:has(+ .db-chart) { display: none; } }   /* a small panel skips the chart (the widget card shows it) so the figures and lists fit */

/* =====================================================================================================================
   Controls kit for the admin: the same few, polished building blocks wherever a choice is made.
   - Two-way choices are a sliding pill (segmented control): the white thumb glides to the one you pick.
   - Tick boxes are soft rounded squares that pop a tick in; round choices get a dot that springs in.
   - Drop-down lists are rounded with a neat chevron.
   - Settings pages show their neighbours as tabs down the left (title plus a line about each), the page on the right.
   ===================================================================================================================== */

/* ---- Sliding pill for two-way choices (Homeowner / Business, Existing / New contact, Cards / List, 24-hour / 12-hour…) ---- */
.adm-dash .who-seg, .adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child) {
  position: relative; isolation: isolate; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0;
  padding: 3px; border-radius: 999px; background: rgba(23,32,26,.075); width: max-content; max-width: 100%;
}
.adm-dash .who-seg::before, .adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child)::before {
  content: ""; position: absolute; z-index: -1; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px;
  background: #FFFFFF; box-shadow: 0 1px 2px rgba(23,32,26,.12), 0 6px 14px -8px rgba(23,32,26,.3); transition: transform var(--t-move) var(--spring);
}
.adm-dash .who-seg:has(> label:nth-child(2) input:checked)::before,
.adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child):has(> :nth-child(2)[aria-pressed="true"])::before { transform: translateX(100%); }
.adm-dash .who-seg label { justify-content: center; }
.adm-dash .who-seg span, .adm-dash .who-seg input:checked + span { background: transparent; box-shadow: none; text-align: center; transition: color .2s ease; }
.adm-dash .who-seg input:checked + span { color: var(--title); }
.adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child) > button,
.adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child) > button[aria-pressed] {
  justify-content: center; border: 0; border-radius: 999px; background: transparent; color: var(--text-2); box-shadow: none; text-align: center;
}
.adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child) > button[aria-pressed="true"],
.adm-dash :is(.db-seg, .adm-subnav-views):has(> :nth-child(2):last-child) > button[aria-pressed="true"]:hover { background: transparent; color: var(--title); }
.adm-dash .adm-subnav-views:has(> :nth-child(2):last-child) { align-self: center; margin-block: .3rem; background: color-mix(in srgb, var(--tc, #5E6366) 14%, transparent); }
.adm-dash .adm-subnav .adm-subnav-views > button { padding: .4rem .95rem; }
.adm-dash .db-seg:has(> :nth-child(2):last-child) > button { padding: .4rem .9rem; }

/* ---- Tick boxes ---- */
.adm-dash input[type=checkbox]:not(.set-switch input), .adm-dialog input[type=checkbox]:not(.set-switch input) {
  -webkit-appearance: none; appearance: none; flex: none; display: inline-grid; place-content: center; width: 1.2rem; height: 1.2rem; margin: 0;
  border: 1.5px solid #B7BDB5; border-radius: 6px; background: #FFFFFF; cursor: pointer; vertical-align: -.2rem;
  transition: background-color .2s ease, border-color .2s ease, transform var(--t-move) var(--spring);
}
.adm-dash input[type=checkbox]:not(.set-switch input)::before, .adm-dialog input[type=checkbox]:not(.set-switch input)::before {
  content: ""; width: .72rem; height: .72rem; background: #FFFFFF; transform: scale(0); transition: transform var(--t-move) var(--spring);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.adm-dash input[type=checkbox]:not(.set-switch input):checked, .adm-dialog input[type=checkbox]:not(.set-switch input):checked { background: #2C3A2B; border-color: #2C3A2B; }
.db-side input[type=checkbox]:not(.set-switch input) { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.06); }
.db-side input[type=checkbox]:not(.set-switch input):checked { background: #CC7640; border-color: #CC7640; }
.adm-dash input[type=checkbox]:not(.set-switch input):checked::before, .adm-dialog input[type=checkbox]:not(.set-switch input):checked::before { transform: scale(1); }
.adm-dash input[type=checkbox]:not(.set-switch input):active, .adm-dialog input[type=checkbox]:not(.set-switch input):active { transform: scale(.88); }
.adm-dash input[type=checkbox]:not(.set-switch input):focus-visible, .adm-dialog input[type=checkbox]:not(.set-switch input):focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }

/* ---- Round choices (any not already shown as a sliding pill) ---- */
.adm-dash input[type=radio]:not(.who-seg input), .adm-dialog input[type=radio]:not(.who-seg input) {
  -webkit-appearance: none; appearance: none; flex: none; display: inline-grid; place-content: center; width: 1.2rem; height: 1.2rem; margin: 0;
  border: 1.5px solid #B7BDB5; border-radius: 50%; background: #FFFFFF; cursor: pointer; vertical-align: -.2rem; transition: border-color .2s ease;
}
.adm-dash input[type=radio]:not(.who-seg input)::before, .adm-dialog input[type=radio]:not(.who-seg input)::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: #2C3A2B; transform: scale(0); transition: transform var(--t-move) var(--spring); }
.adm-dash input[type=radio]:not(.who-seg input):checked, .adm-dialog input[type=radio]:not(.who-seg input):checked { border-color: #2C3A2B; }
.adm-dash input[type=radio]:not(.who-seg input):checked::before, .adm-dialog input[type=radio]:not(.who-seg input):checked::before { transform: scale(1); }

/* ---- Drop-down lists ---- */
.adm-dash select, .adm-dialog select {
  -webkit-appearance: none; appearance: none; padding-right: 2.3rem !important; border-radius: 10px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%235B605C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .8rem center; background-size: 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.adm-dash select:hover, .adm-dialog select:hover { border-color: #9EA59C; }

/* ---- Settings: neighbouring pages as tabs down the left ---- */
.set-wrap--split { max-width: 74rem; }
.set-split { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 2rem; align-items: start; }
.set-side { position: sticky; top: 9rem; display: grid; gap: .3rem; padding: .45rem; border-radius: 16px; background: #F3F4F1; }
.set-side-btn { all: unset; box-sizing: border-box; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: start; padding: .75rem .8rem; border-radius: 12px; cursor: pointer; color: var(--text-2);
  transition: background-color .2s ease, box-shadow .3s var(--ease-ios), transform var(--t-move) var(--spring); }
.set-side-btn i { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 9px; background: #FFFFFF; color: var(--title); }
.set-side-btn i svg { width: 16px; height: 16px; }
.set-side-btn strong { display: block; font-size: .95rem; font-weight: 600; color: var(--title); }
.set-side-btn small { display: -webkit-box; margin-top: .15rem; overflow: hidden; font-size: .78rem; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.set-side-btn:hover { background: rgba(255,255,255,.7); }
.set-side-btn[aria-current] { background: #FFFFFF; box-shadow: 0 1px 2px rgba(23,32,26,.08), 0 8px 18px -12px rgba(23,32,26,.3); cursor: default; }
.set-side-btn[aria-current] i { background: #2C3A2B; color: #FFFFFF; }
.set-side-btn:active:not([aria-current]) { transform: scale(.97); }
.set-side-btn:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.set-main > .set-head { margin-top: 0; }
@media (max-width: 1000px) {
  .set-split { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .set-side { position: static; display: flex; overflow-x: auto; scrollbar-width: none; border-radius: 14px; }
  .set-side::-webkit-scrollbar { display: none; }
  .set-side-btn { flex: none; grid-template-columns: auto auto; align-items: center; padding: .5rem .85rem .5rem .55rem; }
  .set-side-btn i { width: 1.7rem; height: 1.7rem; }
  .set-side-btn small { display: none; }
  .set-side-btn strong { font-size: .88rem; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .adm-dash .who-seg::before, .adm-dash :is(.db-seg, .adm-subnav-views)::before { transition: none; } }
.adm-dash .set-wrap :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { border-radius: 10px; }

/* ===== The admin as an app: it always fills the window exactly. The top bar (and the section's grey second row) never move;
   only the page area below scrolls, and each page's grey breadcrumb bar stays pinned at the top of that area while you scroll. ===== */
html:has(.adm-dash), html:has(.adm-dash) body { height: 100%; overflow: hidden; }
.adm-dash { display: flex; flex-direction: column; height: 100vh; height: 100dvh; overflow: hidden; }
.adm-dash > .adm-top { position: relative; top: auto; flex: none; z-index: 10; }
.adm-dash > .adm-main { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
@media (prefers-reduced-motion: no-preference) { .adm-dash > .adm-main { scroll-behavior: smooth; } html:has(.adm-dash) { scroll-behavior: auto; } }
.adm-main .adm-crumbs { position: sticky; top: .75rem; z-index: 6; box-shadow: 0 0 0 .75rem #FFFFFF; }
/* Things that stuck beside the page now stick just under the breadcrumb bar, and fill the page area rather than the window */
.adm-main .set-side { top: 4.6rem; }
.adm-main .pg-words { top: 4.6rem; }
.adm-main .pv { top: 4.6rem; height: calc(100dvh - var(--adm-top-h, 7rem) - 6.5rem); }

/* ===== The filter bar: one strip, the same on every list, pinned just under the breadcrumb bar =====
   Filters on the left (each with its count), search in the middle where there is one, the view switch on the right. */
.adm-fbar { position: sticky; top: 4.15rem; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 0 0 1.1rem; padding: .45rem 0;
  background: #FFFFFF; box-shadow: 0 0 0 .75rem #FFFFFF; }
.adm-view-head + .adm-fbar { margin-top: 1rem; }
.adm-fbar-filters { display: flex; flex-wrap: wrap; gap: .35rem; }
.adm-fbar .adm-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .85rem; border: 0; border-radius: 999px; background: #F1F2EF; font-size: .86rem; font-weight: 600; color: var(--title);
  transition: background-color .2s ease, color .2s ease, transform var(--t-move) var(--spring); }
.adm-fbar .adm-chip b { min-width: 1.35rem; padding: .05rem .4rem; border-radius: 999px; background: rgba(23,32,26,.08); font-size: .74rem; text-align: center; }
.adm-fbar .adm-chip:hover { background: #E6E8E3; }
.adm-fbar .adm-chip[aria-pressed="true"] { background: #2C3A2B; color: #FFFFFF; }
.adm-fbar .adm-chip[aria-pressed="true"] b { background: rgba(255,255,255,.2); }
.adm-fbar .adm-chip:active { transform: scale(.95); }
.adm-fbar .crm-search { flex: 1 1 14rem; display: flex; align-items: center; gap: .75rem; margin: 0; }
.adm-fbar .crm-search input { flex: 1; min-width: 0; padding: .5rem .9rem; border: 0; border-radius: 999px; background: #F1F2EF; font: inherit; font-size: .9rem; }
.adm-fbar .crm-search input:focus { outline: 2px solid var(--title); outline-offset: 1px; background: #FFFFFF; }
.adm-fbar-views { margin-left: auto; }
.adm-dash .adm-fbar-views:has(> :nth-child(2):last-child) { position: relative; isolation: isolate; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: 3px; border-radius: 999px; background: rgba(23,32,26,.075); }
.adm-dash .adm-fbar-views:has(> :nth-child(2):last-child)::before { content: ""; position: absolute; z-index: -1; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px; background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(23,32,26,.12), 0 6px 14px -8px rgba(23,32,26,.3); transition: transform var(--t-move) var(--spring); }
.adm-dash .adm-fbar-views:has(> :nth-child(2)[aria-pressed="true"])::before { transform: translateX(100%); }
.adm-fbar-views button { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .4rem .95rem; border-radius: 999px; font-size: .86rem; font-weight: 600; color: var(--text-2); cursor: pointer; transition: color .2s ease; }
.adm-fbar-views button[aria-pressed="true"] { color: var(--title); }
.adm-fbar-views button svg { width: 15px; height: 15px; }
.adm-fbar-views button:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
.adm-fbar + .crm-tiles, .adm-fbar + .crm-table, .adm-fbar + .adm-empty, .adm-fbar + .job-cards { margin-top: 0; }
@media (max-width: 760px) { .adm-fbar-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; } .adm-fbar-filters::-webkit-scrollbar { display: none; } .adm-fbar-views { margin-left: 0; } }

/* ===== Jobs as cards ===== */
.job-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: .9rem; }
.job-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .9rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; color: var(--text-2); text-decoration: none;
  transition: border-color .2s ease, box-shadow var(--t-move) var(--ease-ios), transform var(--t-move) var(--spring); }
.job-card:hover { border-color: color-mix(in srgb, #DBC924 60%, #DADDD8); transform: translateY(-3px); box-shadow: 0 18px 36px -22px rgba(23,32,26,.38); }
.job-card:active { transform: scale(.985); }
.job-card-main { display: grid; gap: .25rem; min-width: 0; }
.job-card-main strong { font-size: 1rem; color: var(--title); }
.job-card-main small { font-size: .84rem; }
.job-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin-top: .3rem; font-size: .8rem; }
.job-card-price { font-style: normal; font-weight: 700; color: var(--title); }

/* ===== One job: the form on the left, a side column of glanceable cards on the right, both the same height ===== */
.job-page { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(17rem, 1fr); gap: 1.25rem; align-items: stretch; }
.job-main { padding: 1.4rem 1.6rem; }
.job-form { display: grid; gap: 0; }
.job-form .adm-view-head { margin-bottom: .4rem; }
.job-sec { display: grid; gap: .9rem; padding: 1.15rem 0; border-top: 1px solid var(--line); }
.job-form .adm-view-head + .job-sec { border-top: 0; padding-top: .6rem; }
.adm-main .job-sec h2 { margin: 0; font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.job-form .crm-actions { padding-top: 1rem; border-top: 1px solid var(--line); }
.job-side { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.job-side-card { padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; }
.job-side-fill { flex: 1; display: flex; flex-direction: column; }
.adm-main .job-side-card h2 { margin: 0 0 .8rem; font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.job-sum-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.job-price { font-size: 1.6rem; line-height: 1; color: var(--title); }
.job-facts { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.job-facts li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .75rem; border-radius: 10px; background: #F4F5F3; font-size: .9rem; }
.job-facts span { color: var(--text-2); }
.job-facts b { color: var(--title); font-weight: 600; text-align: right; }
.job-who { display: grid; gap: .4rem; }
.job-who a { font-weight: 600; }
.job-from { margin: .8rem 0 0; font-size: .9rem; }
.job-acts { display: grid; gap: .5rem; }
.job-acts .adm-btn { justify-content: center; }
.job-delete { margin-top: auto; align-self: stretch; justify-content: center; }
.job-side-fill > p:last-child { margin-bottom: 0; }
@media (max-width: 1000px) { .job-page { grid-template-columns: minmax(0, 1fr); } .job-side-fill { flex: none; } .job-delete { margin-top: 1rem; } }
@media (max-width: 560px) { .job-main { padding: 1.1rem 1rem; } }
.adm-fbar + .adm-inbox { margin-top: 0; }

/* ===== The main bar never squashes: when the sections no longer fit, Developer folds into one button (Server, Content and SEO
   drop down from it); when even the business sections do not fit, the whole bar becomes the Menu button. admFitNav() decides. */
.adm-tabs.is-compact {
  .adm-tabs-in{padding-right:0}
  .adm-tabs-crm{flex:1}
  .adm-tabs-site{position:absolute;top:calc(100% + 3px);right:0;z-index:20;display:none;flex-direction:column;min-width:12rem;border:1px solid var(--line);background:#FFFFFF;box-shadow:0 18px 40px -12px rgba(23,32,26,.28)}
  .adm-tabs-site.is-open{display:flex}
  .adm-site-toggle{all:unset;box-sizing:border-box;display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem;padding:1rem 1.1rem;border-left:1px solid var(--line);font-size:.95rem;font-weight:600;color:var(--title);cursor:pointer}
  .adm-site-toggle svg{width:1rem;height:1rem;transition:transform .2s ease}
  .adm-site-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
  .adm-site-toggle:focus-visible{outline:2px solid var(--title);outline-offset:-3px}
}
html.adm-narrow {
  .adm-tabs { display: none; }
  .adm-who > span, .adm-who > .adm-out { display: none; }
  .adm-who { gap: .5rem; }
  .adm-menu-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .85rem; border: 1px solid #C9CED3; border-radius: 4px; font-size: .92rem; font-weight: 600; color: var(--title); cursor: pointer; }
  .adm-menu-btn svg { width: 18px; height: 18px; }
  .adm-menu-btn:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
  .adm-menu { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; background: #FFFFFF; overflow-y: auto; animation: admMenuIn .25s ease both; }
  .adm-menu-head { display: flex; align-items: center; justify-content: space-between; padding: .6rem clamp(.9rem, 2vw, 1.5rem); border-bottom: 1px solid var(--line); }
  .adm-menu-head img { display: block; width: auto; height: 2.3rem; }
  .adm-menu-x { all: unset; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--title); cursor: pointer; }
  .adm-menu-x svg { width: 22px; height: 22px; }
  .adm-menu-x:hover { background: #F1F2EF; }
  .adm-menu-x:focus-visible { outline: 2px solid var(--title); }
  .adm-menu-list { flex: 1; padding: .25rem clamp(.9rem, 2vw, 1.5rem) 1.5rem; }
  .adm-menu-h { margin: 1.25rem 0 .4rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); }
  .adm-menu-list ul { display: grid; gap: .25rem; list-style: none; margin: 0; padding: 0; }
  .adm-menu-list button { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: .85rem; width: 100%; padding: .95rem .85rem; border-radius: 10px; font-size: 1.2rem; font-weight: 600; color: var(--title); cursor: pointer; }
  .adm-menu-list button i { flex: none; width: .8rem; height: .8rem; border-radius: 50%; background: var(--tc); }
  .adm-menu-list button > svg { width: 18px; height: 18px; margin-left: auto; color: var(--text-2); }
  .adm-menu-list button:hover { background: #F4F5F3; }
  .adm-menu-list button[aria-current] { background: color-mix(in srgb, var(--tc) 12%, #FFFFFF); }
  .adm-menu-list button:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
  .adm-menu-new { padding: .15rem .55rem; border-radius: 999px; background: #CC7640; color: #FFFFFF; font-size: .75rem; font-weight: 700; }
  .adm-menu-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(.9rem, 2vw, 1.5rem) calc(1rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); font-size: .88rem; color: var(--text-2); }
  .adm-menu-foot span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .adm-menu-foot .adm-out { flex: none; }
}
.adm-tabs.is-compact .adm-group-label { display: none; }
html.adm-narrow .adm-menu[hidden] { display: none; }   /* the closed menu stays hidden */

/* ===== Pinned bars fade the page out softly as it scrolls under them (instead of cutting it off) ===== */
.adm-main .adm-crumbs::after { content: ""; position: absolute; left: -.75rem; right: -.75rem; top: calc(100% + .75rem); height: 1.4rem; pointer-events: none;
  background: linear-gradient(#FFFFFF, rgba(255,255,255,0)); }
.adm-main .adm-crumbs:has(~ .adm-fbar)::after, .adm-main .adm-crumbs:has(~ * .adm-fbar)::after { display: none; }   /* a filter bar below takes the fade instead */
.adm-fbar::after { content: ""; position: absolute; left: -.75rem; right: -.75rem; top: calc(100% + .45rem); height: 1.4rem; pointer-events: none; background: linear-gradient(#FFFFFF, rgba(255,255,255,0)); }
.adm-fbar .fbar-select select { padding: .48rem 2.3rem .48rem .9rem; border: 0; border-radius: 999px; background-color: #F1F2EF; font: inherit; font-size: .86rem; font-weight: 600; color: var(--title); }
.adm-fbar .fbar-select select:focus-visible { outline: 2px solid var(--title); outline-offset: 1px; }

/* ===== Search everything: a quiet pill in the top bar; it opens a frosted panel with a soft terracotta glow around it ===== */
.adm-top-in { gap: 1rem; }
.adm-search-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: .55rem; flex: 0 1 22rem; min-width: 0; margin-inline: auto; padding: .5rem .6rem .5rem .9rem;
  border-radius: 999px; background: rgba(23,32,26,.05); color: var(--text-2); font-size: .9rem; cursor: text;
  transition: background-color .25s ease, color .2s ease, box-shadow .3s var(--ease-ios), flex-basis .45s var(--ease-ios); }
.adm-search-btn svg { flex: none; width: 17px; height: 17px; }
.adm-search-btn span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-search-btn kbd, .adm-sx kbd { padding: .1rem .4rem; border-radius: 6px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(23,32,26,.12); font: inherit; font-size: .72rem; font-weight: 600; color: var(--text-2); }
.adm-search-btn:hover { flex-basis: 25rem; background: rgba(23,32,26,.08); color: var(--title); }
.adm-search-btn:focus-visible { outline: 2px solid var(--title); outline-offset: 2px; }
html.adm-narrow .adm-search-btn { flex: none; margin-inline: auto .25rem; padding: .55rem; }
html.adm-narrow .adm-search-btn span, html.adm-narrow .adm-search-btn kbd { display: none; }

.adm-sx[hidden] { display: none; }
.adm-sx { position: fixed; inset: 0; z-index: 200; display: flex; justify-content: center; align-items: flex-start; padding: clamp(.75rem, 9vh, 6rem) 1rem 1rem;
  background: rgba(23,32,26,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: admFadeIn .25s ease; }
.sx-panel { display: flex; flex-direction: column; width: min(42rem, 100%); max-height: min(40rem, calc(100dvh - 2rem)); overflow: hidden; border-radius: 22px;
  background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(28px) saturate(1.6); backdrop-filter: blur(28px) saturate(1.6);
  box-shadow: 0 0 0 5px rgba(168,98,70,.16), 0 30px 80px -24px rgba(23,32,26,.55); animation: admSheetIn .5s var(--spring); transform-origin: top center; }
.adm-sx.is-closing { animation: admFadeIn .18s ease reverse both; }
.adm-sx.is-closing .sx-panel { animation: admPopIn .18s ease reverse both; }
.sx-field { display: flex; align-items: center; gap: .7rem; padding: 1rem 1rem .8rem 1.25rem; }
.sx-field > svg { flex: none; width: 20px; height: 20px; color: #A86246; }
.sx-field input { flex: 1; min-width: 0; padding: .2rem 0; border: 0; background: transparent; font: inherit; font-size: 1.15rem; color: var(--title); outline: none; }
.sx-field input::-webkit-search-cancel-button { display: none; }
.sx-esc { all: unset; padding: .25rem .55rem; border-radius: 8px; background: rgba(23,32,26,.07); font-size: .75rem; font-weight: 600; color: var(--text-2); cursor: pointer; }
.sx-esc:hover { background: rgba(23,32,26,.12); }
.sx-kinds { display: flex; gap: .35rem; padding: 0 1rem .8rem 1.25rem; overflow-x: auto; scrollbar-width: none; }
.sx-kinds::-webkit-scrollbar { display: none; }
.sx-kinds .adm-chip { flex: none; padding: .32rem .75rem; border: 0; background: rgba(23,32,26,.06); font-size: .8rem; }
.sx-kinds .adm-chip[aria-pressed="true"] { background: #A86246; color: #FFFFFF; }
.sx-results { flex: 1; min-height: 0; overflow-y: auto; padding: .35rem .6rem .6rem; border-top: 1px solid rgba(23,32,26,.08); overscroll-behavior: contain; }
.sx-group { padding: .35rem 0 .2rem; animation: admIn .35s var(--ease-ios) both; }
.sx-group h3 { display: flex; align-items: center; gap: .5rem; margin: .45rem .65rem .35rem; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.sx-group h3 .adm-link { margin-left: auto; font-size: .78rem; letter-spacing: 0; text-transform: none; }
.sx-more { margin-left: auto; font-weight: 600; letter-spacing: 0; text-transform: none; }
.sx-group ul { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.sx-item { all: unset; box-sizing: border-box; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; width: 100%; padding: .55rem .65rem; border-radius: 12px; cursor: pointer;
  transition: background-color .15s ease, transform var(--t-move) var(--spring); }
.sx-item i { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 10px; background: rgba(23,32,26,.06); color: var(--title); }
.sx-item i svg { width: 16px; height: 16px; }
.sx-item strong { display: block; overflow: hidden; font-size: .95rem; font-weight: 600; color: var(--title); text-overflow: ellipsis; white-space: nowrap; }
.sx-item small { display: block; overflow: hidden; font-size: .8rem; color: var(--text-2); text-overflow: ellipsis; white-space: nowrap; }
.sx-item > svg { width: 15px; height: 15px; color: var(--text-2); opacity: 0; transform: translateX(-4px); transition: opacity .15s ease, transform .2s ease; }
.sx-item:hover, .sx-item.is-at, .sx-item:focus-visible { background: rgba(168,98,70,.1); outline: none; }
.sx-item:hover > svg, .sx-item.is-at > svg, .sx-item:focus-visible > svg { opacity: 1; transform: none; }
.sx-item:active { transform: scale(.985); }
.sx-item mark { background: rgba(219,201,36,.45); color: inherit; border-radius: 3px; }
.sx-recent { display: flex; flex-wrap: wrap; gap: .35rem; padding: .1rem .65rem .4rem; }
.sx-pill { all: unset; display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .7rem; border-radius: 999px; background: rgba(23,32,26,.06); font-size: .85rem; color: var(--title); cursor: pointer; }
.sx-pill svg { width: 13px; height: 13px; color: var(--text-2); }
.sx-pill:hover { background: rgba(168,98,70,.12); }
.sx-tip, .sx-status, .sx-count { margin: .6rem .65rem; font-size: .85rem; color: var(--text-2); }
.sx-count { margin-bottom: 0; font-weight: 600; }
.sx-status { display: flex; align-items: center; gap: .6rem; }
.sx-spin { width: .9rem; height: .9rem; border: 2px solid rgba(168,98,70,.25); border-top-color: #A86246; border-radius: 50%; animation: sxSpin .7s linear infinite; }
@keyframes sxSpin { to { transform: rotate(360deg); } }
.sx-keys { display: flex; gap: 1.1rem; margin: 0; padding: .6rem 1.25rem; border-top: 1px solid rgba(23,32,26,.08); font-size: .75rem; color: var(--text-2); }
.sx-keys kbd { margin-right: .2rem; }
@media (max-width: 760px) { .adm-sx { padding: .5rem; } .sx-panel { max-height: calc(100dvh - 1rem); border-radius: 18px; } .sx-keys { display: none; } }
@media (prefers-reduced-motion: reduce) { .adm-sx, .sx-panel, .sx-group { animation: none; } .adm-search-btn { transition: none; } }

/* ===== The view switch holds two or three choices; the white thumb slides to whichever is picked ===== */
.adm-dash .adm-fbar-views { position: relative; isolation: isolate; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: 3px; border-radius: 999px; background: rgba(23,32,26,.075); }
.adm-dash .adm-fbar-views::before, .adm-dash .adm-fbar-views:has(> :nth-child(2):last-child)::before { content: ""; position: absolute; z-index: -1; top: 3px; bottom: 3px; left: 3px;
  width: calc((100% - 6px) / var(--n, 2)); border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(23,32,26,.12), 0 6px 14px -8px rgba(23,32,26,.3);
  transform: translateX(calc(100% * var(--i, 0))); transition: transform var(--t-move) var(--spring); }
.adm-dash .adm-fbar-views:has(> :nth-child(2)[aria-pressed="true"])::before { transform: translateX(calc(100% * var(--i, 0))); }

/* ===== Columns menu ===== */
.fbar-cols { position: relative; }
.fbar-cols summary { display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .9rem; border-radius: 999px; background: #F1F2EF; font-size: .86rem; font-weight: 600; color: var(--title); cursor: pointer; list-style: none; }
.fbar-cols summary::-webkit-details-marker { display: none; }
.fbar-cols summary svg { width: 15px; height: 15px; }
.fbar-cols[open] summary { background: #2C3A2B; color: #FFFFFF; }
.fbar-cols-pop { position: absolute; top: calc(100% + .4rem); right: 0; z-index: 30; display: grid; gap: .15rem; min-width: 12rem; padding: .45rem; border-radius: 14px;
  background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4); box-shadow: 0 18px 40px -16px rgba(23,32,26,.4);
  transform-origin: top right; animation: admPopIn .38s var(--spring); }
.fbar-cols-pop label { display: flex; align-items: center; gap: .6rem; padding: .45rem .55rem; border-radius: 9px; font-size: .88rem; cursor: pointer; }
.fbar-cols-pop label:hover { background: rgba(23,32,26,.05); }
.adm-fbar .fbar-cols, .adm-fbar .fbar-select { flex: none; }
.adm-fbar-views { flex: none; }
.adm-fbar > :is(.fbar-select, .fbar-cols):first-of-type { margin-left: 0; }

/* ===== The table: clear columns, sortable headings, easy-to-scan rows ===== */
.tbl { border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; }
.tbl-tr { display: grid; grid-template-columns: var(--tbl-cols); gap: 1rem; align-items: center; padding: .7rem 1.1rem; color: var(--text-2); text-decoration: none; font-size: .9rem; }
.tbl-tr + .tbl-tr { border-top: 1px solid rgba(23,32,26,.07); }
.tbl-tr[hidden] { display: none; }
.tbl-tr > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tbl-tr > span:has(.adm-tags, small) { white-space: normal; }
.tbl-tr strong { color: var(--title); font-weight: 600; }
.tbl-tr small { display: block; font-size: .8rem; color: var(--text-2); }
.tbl-tr .adm-tags { margin-top: .25rem; }
.tbl-num { text-align: right; font-variant-numeric: tabular-nums; color: var(--title); font-weight: 600; }
a.tbl-tr { transition: background-color .15s ease; }
a.tbl-tr:hover { background: #F7F8F6; }
a.tbl-tr:hover strong { color: #A86246; }
a.tbl-tr:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; border-radius: 10px; }
.tbl-th { position: sticky; top: 7.35rem; z-index: 3; padding-block: .55rem; border-radius: 14px 14px 0 0; background: #F4F5F3; box-shadow: 0 1px 0 var(--line); }
.tbl-th span { font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--text-2); }
.tbl-th button { all: unset; display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.tbl-th button i { font-style: normal; opacity: .35; transition: opacity .15s ease; }
.tbl-th button:hover { color: var(--title); }
.tbl-th button:hover i, .tbl-th [aria-sort=ascending] i, .tbl-th [aria-sort=descending] i { opacity: 1; }
.tbl-th [aria-sort=ascending], .tbl-th [aria-sort=descending] { color: var(--title); }
.tbl-th button:focus-visible { outline: 2px solid var(--title); outline-offset: 3px; border-radius: 4px; }
.tbl-th .tbl-num, .tbl-th span:has(+ *):last-child { text-align: right; }
.tbl > .crm-none { margin: 0; padding: 1rem 1.1rem; }
@media (max-width: 760px) {
  .tbl-th { display: none; }
  .tbl-tr { grid-template-columns: 1fr; gap: .2rem; }
  .tbl-tr > span[data-label] { display: flex; gap: .5rem; white-space: normal; }
  .tbl-tr > span[data-label]::before { content: attr(data-label); flex: none; width: 6.5rem; font-size: .78rem; color: var(--text-2); }
  .tbl-tr > span[data-label]:empty { display: none; }
  .tbl-num { text-align: left; }
}

/* ===== Forms table: the type tag in the website's colours ===== */
.frm-tag { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .6rem .2rem .45rem; border-radius: 999px; background: var(--fk-soft); color: var(--fk); font-size: .78rem; font-weight: 700; }
.frm-tag svg { width: 13px; height: 13px; }

/* ===== Jobs by day ===== */
.job-days { display: grid; gap: 1.1rem; }
.job-day h2 { display: flex; align-items: baseline; gap: .6rem; margin: 0 0 .5rem; font-family: var(--sans); font-size: 1rem; font-weight: 700; color: var(--title); }
.job-day h2 span { padding: .1rem .5rem; border-radius: 999px; background: #DBC924; font-size: .72rem; color: #17201A; }
.job-day h2 small { margin-left: auto; font-size: .82rem; font-weight: 600; color: var(--text-2); }
.job-day ul { display: grid; margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; }
.job-day li + li { border-top: 1px solid rgba(23,32,26,.07); }
.job-day li[hidden] { display: none; }
.job-day a { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto 5.5rem; align-items: center; gap: 1rem; padding: .7rem 1.1rem; color: var(--text-2); text-decoration: none; font-size: .9rem; transition: background-color .15s ease; }
.job-day a:hover { background: #F7F8F6; }
.job-day a time { font-weight: 600; color: var(--title); font-variant-numeric: tabular-nums; }
.job-day a strong { display: block; color: var(--title); }
.job-day a small { display: block; font-size: .8rem; }
.job-day a em { font-style: normal; font-weight: 600; text-align: right; color: var(--title); }
.job-day.is-today ul { border-color: color-mix(in srgb, #DBC924 70%, #DADDD8); }
@media (max-width: 760px) { .job-day a { grid-template-columns: 1fr auto; } .job-day a time { grid-column: 1 / -1; } .job-day a em { display: none; } }
.adm-fbar .crm-search { flex: 1 1 9rem; max-width: 20rem; min-width: 8rem; }
.adm-fbar .crm-count:empty { display: none; }
.adm-fbar .fbar-select select { max-width: 11.5rem; }
.adm-main .job-day h2 { margin: 0 0 .5rem; font-family: var(--sans); font-size: 1rem; line-height: 1.3; font-weight: 700; letter-spacing: 0; color: var(--title); }

/* ===== The second row (a section's parts, e.g. Dashboard | Jobs): quiet pill buttons on white, the one you're on tinted in the section's colour ===== */
@media (min-width: 761px) {
  .adm-subnav { background: #FFFFFF; border-bottom: 1px solid var(--line); }
  .adm-subnav-in { align-items: center; padding: .4rem clamp(.9rem, 2vw, 1.5rem); }
  .adm-subnav-opts { gap: .3rem; }
  .adm-subnav .adm-subnav-opts button { padding: .38rem .9rem; border-radius: 999px; background: transparent; font-size: .86rem; font-weight: 600; color: var(--text-2); }
  .adm-subnav .adm-subnav-opts button:hover { background: color-mix(in srgb, var(--tc, #5E6366) 9%, #FFFFFF); color: var(--title); }
  .adm-subnav .adm-subnav-opts button[aria-pressed=true], .adm-subnav .adm-subnav-opts button[aria-pressed=true]:hover {
    background: color-mix(in srgb, var(--tc, #5E6366) 17%, #FFFFFF); color: color-mix(in srgb, var(--tc, #5E6366) 55%, #17201A); box-shadow: none; }
}
.adm-view-head.is-tucked { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.adm-view-head.is-tucked + .adm-fbar { margin-top: 0; }
.adm-fbar-acts { display: flex; gap: .5rem; margin-left: .25rem; }
.adm-fbar > .adm-fbar-acts:nth-child(1), .adm-fbar > :not(.adm-fbar-views) + .adm-fbar-acts { margin-left: auto; }
.adm-fbar .cal-nav { display: flex; align-items: center; gap: .35rem; margin-right: .5rem; }
.adm-fbar .cal-nav .adm-btn { padding: .42rem .75rem; border-radius: 999px; }
.adm-fbar .cal-nav .adm-btn[data-cal-move="-1"] svg { transform: scaleX(-1); }
.adm-fbar .cal-title { margin-left: .4rem; font-size: 1.15rem; font-weight: 700; color: var(--title); white-space: nowrap; }
.adm-fbar .cal-title .cal-today-tag { margin-left: .4rem; }

/* ===== Forms inbox: the list on the left, the chosen form on the right (like an email app) ===== */
.frm-split { display: grid; grid-template-columns: minmax(19rem, 25rem) minmax(0, 1fr); gap: 1rem; align-items: start; }
.frm-list { position: sticky; top: 7.4rem; display: grid; gap: .2rem; align-content: start; max-height: calc(100dvh - var(--adm-top-h, 7rem) - 9rem); overflow-y: auto; padding: .35rem; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; overscroll-behavior: contain; }
.frm-list > .crm-none { margin: .6rem; }
.frm-row { all: unset; box-sizing: border-box; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; padding: .75rem .8rem; border-radius: 12px; cursor: pointer;
  transition: background-color .15s ease, transform var(--t-move) var(--spring); }
.frm-row[hidden] { display: none; }
.frm-row:hover { background: #F6F7F5; }
.frm-row:active { transform: scale(.985); }
.frm-row.is-on { background: var(--fk-soft); }
.frm-row:focus-visible { outline: 2px solid var(--title); outline-offset: -2px; }
.frm-row .frm-icon { width: 2.3rem; height: 2.3rem; border-radius: 10px; }
.frm-row .frm-icon svg { width: 16px; height: 16px; }
.frm-row-main { display: grid; gap: .15rem; min-width: 0; }
.frm-row-top { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.frm-row-top strong { overflow: hidden; font-size: .95rem; font-weight: 600; color: var(--title); text-overflow: ellipsis; white-space: nowrap; }
.frm-row.is-new .frm-row-top strong { font-weight: 800; }
.frm-row-top time { flex: none; font-size: .76rem; color: var(--text-2); }
.frm-row.is-new .frm-row-top time { color: #A86246; font-weight: 700; }
.frm-row-kind { display: flex; align-items: center; gap: .35rem; font-size: .8rem; color: var(--text-2); white-space: nowrap; overflow: hidden; }
.frm-row-kind .frm-kind { font-size: .7rem; }
.frm-dot { flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: #CC7640; }
.frm-row-line { overflow: hidden; font-size: .82rem; color: var(--text-2); text-overflow: ellipsis; white-space: nowrap; }

.frm-pane { min-width: 0; }
.frm-detail { padding: 1.5rem 1.6rem 1.25rem; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; animation: admIn .4s var(--ease-ios); }
.frm-back { display: none; }
.frm-detail-head { display: flex; align-items: flex-start; gap: 1rem; }
.frm-icon--lg { width: 3.2rem; height: 3.2rem; border-radius: 14px; }
.frm-icon--lg svg { width: 22px; height: 22px; }
.frm-detail-kind { display: flex; align-items: center; gap: .5rem; margin: .1rem 0 .3rem; }
.adm-main .frm-detail-head h2 { margin: 0; font-family: var(--sans); font-size: 1.5rem; line-height: 1.2; font-weight: 700; letter-spacing: 0; color: var(--title); }
.frm-detail-when { margin: .25rem 0 0; font-size: .86rem; color: var(--text-2); }
.frm-detail-acts { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.2rem 0 0; }
.frm-msg { margin-top: 1.25rem; padding: 1rem 1.15rem; border-radius: 14px; background: var(--fk-soft); }
.frm-msg span { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fk); }
.frm-msg p { margin: .4rem 0 0; font-size: 1rem; line-height: 1.55; color: var(--title); }
.frm-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .5rem; margin-top: 1.25rem; }
.frm-fact { display: grid; gap: .2rem; padding: .7rem .85rem; border-radius: 12px; background: #F4F5F3; min-width: 0; }
.frm-fact span { display: flex; align-items: center; gap: .35rem; font-size: .75rem; color: var(--text-2); }
.frm-fact span svg { width: 13px; height: 13px; }
.frm-fact b { overflow: hidden; font-weight: 600; color: var(--title); text-overflow: ellipsis; }
.frm-fact a { color: var(--title); }
.frm-detail-foot { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
  .frm-split { grid-template-columns: minmax(0, 1fr); }
  .frm-list { position: static; max-height: none; }
  .frm-pane { display: none; }
  .frm-split.is-pane .frm-list { display: none; }
  .frm-split.is-pane .frm-pane { display: block; }
  .frm-back { display: inline-flex; margin-bottom: 1rem; }
}
@media (max-width: 560px) { .frm-detail { padding: 1.1rem 1rem; } .frm-facts { grid-template-columns: minmax(0, 1fr); } }

/* ===== Rounded boxes never get a thick coloured edge (it looks like a tab stuck to the corner); and they clip cleanly while
   things inside them animate, so no corner ever peeks out ===== */
.adm-item.is-new, .adm-item.is-new:has(.frm-head) { border-left: 1px solid var(--line); box-shadow: none; }
.crm-ev { border-left: 1px solid var(--line); }
.srv-card { border-left-width: 1px; }
.crm-tr.is-waiting, .db-dlg-row.is-cur { box-shadow: none; }
.cd-chip, .ph-chip { position: relative; border-left: 1px solid var(--line); padding-left: 1.4rem; }
.cd-chip::before, .ph-chip::before { content: ""; position: absolute; left: .6rem; top: 50%; width: .45rem; height: .45rem; margin-top: -.225rem; border-radius: 50%; background: var(--tc, #C9CED3); }
.adm-dash :is(.adm-item, .crm-card, .tbl, .db-card, .crm-tile, .dash-card, .frm-detail, .frm-list, .job-side-card, .set-card) { isolation: isolate; }
.adm-dash .adm-item { contain: paint; }   /* (only boxes without an outside shadow, which this would clip) */
.adm-item-head { border-radius: inherit; }

/* ===== Filters, search and highlights wear the section's own colour (blue on Contacts, terracotta on Forms, yellow on Jobs…):
   the chosen filter is the full colour, hovering is a light tint of it, and the search box's ring and clear (×) use it too ===== */
.adm-fbar .adm-chip:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 13%, #FFFFFF); }
.adm-fbar .adm-chip[aria-pressed="true"], .adm-fbar .adm-chip[aria-pressed="true"]:hover { background: var(--sec, #2C3A2B); color: var(--sec-tx, #FFFFFF); }
.adm-fbar .adm-chip[aria-pressed="true"] b { background: color-mix(in srgb, var(--sec-tx, #FFFFFF) 22%, transparent); color: var(--sec-tx, #FFFFFF); }
.adm-fbar .adm-chip b { background: color-mix(in srgb, var(--sec, #2C3A2B) 12%, transparent); }
.adm-fbar .crm-search input:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 8%, #F1F2EF); }
.adm-fbar .crm-search input:focus { outline: 2px solid var(--sec, #2C3A2B); outline-offset: 1px; background: #FFFFFF; }
.adm-fbar .crm-search input::-webkit-search-cancel-button { -webkit-appearance: none; width: 1rem; height: 1rem; cursor: pointer; background: var(--sec, #2C3A2B);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.adm-fbar .fbar-select select:hover { background-color: color-mix(in srgb, var(--sec, #2C3A2B) 10%, #F1F2EF); }
.adm-fbar .fbar-select select:focus-visible { outline-color: var(--sec, #2C3A2B); }
.adm-fbar .fbar-cols summary:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 13%, #FFFFFF); }
.adm-fbar .fbar-cols[open] summary { background: var(--sec, #2C3A2B); color: var(--sec-tx, #FFFFFF); }
.fbar-cols-pop input[type=checkbox]:checked, .adm-dash .fbar-cols-pop input[type=checkbox]:not(.set-switch input):checked { background: var(--sec, #2C3A2B); border-color: var(--sec, #2C3A2B); }
.adm-fbar .adm-fbar-views button[aria-pressed="true"] { color: var(--sec, #2C3A2B); }
.adm-fbar .adm-fbar-views button[aria-pressed="true"] svg { color: var(--sec, #2C3A2B); }
a.tbl-tr:hover strong { color: color-mix(in srgb, var(--sec, #A86246) 85%, #17201A); }
.crm-search--wide { flex: 1 1 26rem !important; max-width: 40rem !important; }
/* Pipeline columns: a small coloured dot by the stage name instead of a thick coloured top edge */
.enq-col { border-top: 0; border-radius: 14px; }
.adm-main .enq-col h2::before { content: ""; width: .55rem; height: .55rem; margin-right: .5rem; border-radius: 50%; background: var(--sc, #5E6366); }
.adm-main .enq-col h2 { justify-content: flex-start; }
.adm-main .enq-col h2 span { margin-left: auto; }
.adm-fbar .crm-search.crm-search--wide { flex: 1 1 28rem; max-width: 42rem; }
.adm-fbar .crm-search--wide input { max-width: none; }

/* Search panel, refined: it grows out of the top-bar pill (search.js does the morph); no coloured glow, just a soft shadow,
   frosted white, and the page behind gently blurred. The pill hides while the panel is open, as the panel has become it. */
.adm-sx { display: block; padding: 0; background: rgba(23,32,26,.1); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); animation: none; }
.adm-sx.is-closing { animation: none; }
.adm-sx .sx-panel { position: absolute; max-height: min(40rem, calc(100dvh - 1.5rem)); border-radius: 22px; animation: none; transform-origin: top center;
  background: rgba(255,255,255,.86); -webkit-backdrop-filter: blur(30px) saturate(1.5); backdrop-filter: blur(30px) saturate(1.5);
  box-shadow: 0 1px 2px rgba(23,32,26,.06), 0 28px 70px -26px rgba(23,32,26,.42); }
.adm-sx.is-closing .sx-panel { animation: none; }
.adm-sx .sx-field { padding: .85rem 1rem .75rem 1.15rem; }
.adm-sx .sx-field > svg { color: var(--text-2); }
html.adm-sx-open .adm-search-btn { visibility: hidden; }
@media (max-width: 760px) { .adm-sx .sx-panel { max-height: calc(100dvh - 1rem); } }

/* ===== Filter menus: the app's own drop-downs instead of the browser's square lists =====
   A soft pill shows the current choice (filled lightly in the section colour once something is chosen); it opens a rounded,
   frosted list that grows from the pill, with a tick by the current choice. */
.fbar-menu { position: relative; flex: none; }
.fbar-menu summary { display: inline-flex; align-items: center; gap: .45rem; padding: .48rem .7rem .48rem .95rem; border-radius: 999px; background: #F1F2EF; font-size: .86rem; font-weight: 600; color: var(--title); cursor: pointer; list-style: none; white-space: nowrap;
  transition: background-color .2s ease, color .2s ease, transform var(--t-move) var(--spring); }
.fbar-menu summary::-webkit-details-marker { display: none; }
.fbar-menu summary b { font-weight: 700; }
.fbar-menu summary svg { width: 14px; height: 14px; color: var(--text-2); transition: transform .3s var(--ease-ios); }
.fbar-menu summary:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 12%, #FFFFFF); }
.fbar-menu summary:active { transform: scale(.96); }
.fbar-menu summary:focus-visible { outline: 2px solid var(--sec, #2C3A2B); outline-offset: 2px; }
.fbar-menu.is-set summary { background: color-mix(in srgb, var(--sec, #2C3A2B) 16%, #FFFFFF); color: color-mix(in srgb, var(--sec, #2C3A2B) 60%, #17201A); }
.fbar-menu[open] summary { background: var(--sec, #2C3A2B); color: var(--sec-tx, #FFFFFF); }
.fbar-menu[open] summary svg { color: currentColor; transform: rotate(180deg); }
.fbar-menu-pop { position: absolute; top: calc(100% + .45rem); left: 0; z-index: 30; display: grid; gap: .1rem; min-width: 13rem; max-height: min(22rem, 60vh); overflow-y: auto; padding: .4rem; border-radius: 16px;
  background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); box-shadow: 0 1px 2px rgba(23,32,26,.06), 0 22px 48px -18px rgba(23,32,26,.38);
  transform-origin: top left; animation: admPopIn .4s var(--spring); }
.adm-fbar > .fbar-menu:nth-last-child(-n+3) .fbar-menu-pop { left: auto; right: 0; transform-origin: top right; }
.fbar-menu-pop button { all: unset; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; border-radius: 10px; font-size: .9rem; color: var(--title); cursor: pointer; white-space: nowrap;
  transition: background-color .15s ease; }
.fbar-menu-pop button:hover, .fbar-menu-pop button:focus-visible { background: color-mix(in srgb, var(--sec, #2C3A2B) 11%, transparent); outline: none; }
.fbar-menu-pop button[aria-checked="true"] { font-weight: 700; color: color-mix(in srgb, var(--sec, #2C3A2B) 70%, #17201A); }
.fbar-menu-pop button svg { flex: none; width: 15px; height: 15px; color: var(--sec, #2C3A2B); }
/* the Columns menu matches */
.fbar-cols summary { gap: .45rem; padding: .48rem .95rem; transition: background-color .2s ease, transform var(--t-move) var(--spring); }
.fbar-cols summary:active { transform: scale(.96); }
.fbar-cols-pop { border-radius: 16px; padding: .4rem; background: rgba(255,255,255,.9); box-shadow: 0 1px 2px rgba(23,32,26,.06), 0 22px 48px -18px rgba(23,32,26,.38); }
.fbar-cols-pop label { border-radius: 10px; }
.fbar-cols-pop label:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 11%, transparent); }
@media (prefers-reduced-motion: reduce) { .fbar-menu-pop { animation: none; } .fbar-menu summary svg { transition: none; } }
.fbar-menu-pop, .fbar-cols-pop { background: rgba(255,255,255,.97); }

/* ===== Unread, the same everywhere: a small terracotta dot with a soft halo, and the name in bold. No coloured edges.
   On a form's icon tile the dot sits on its top corner, like a badge on an app icon. ===== */
.adm-unread { display: inline-block; flex: none; width: .55rem; height: .55rem; margin-right: .45rem; border-radius: 50%; background: #CC7640; box-shadow: 0 0 0 3px rgba(204,118,64,.18); vertical-align: .1rem; }
.frm-row .frm-icon { position: relative; }
.frm-row.is-new .frm-icon::after { content: ""; position: absolute; top: -.2rem; right: -.2rem; width: .7rem; height: .7rem; border-radius: 50%; background: #CC7640; box-shadow: 0 0 0 2.5px #FFFFFF; }
.frm-row.is-on.is-new .frm-icon::after { box-shadow: 0 0 0 2.5px var(--fk-soft); }
.frm-row.is-new .frm-row-top time { color: #A86246; }
@media (prefers-reduced-motion: no-preference) { .frm-row.is-new .frm-icon::after, .adm-unread { animation: admUnreadIn .5s var(--spring) both; } }
@keyframes admUnreadIn { from { transform: scale(0); } to { transform: none; } }
.adm-note .adm-dot, .db-side .db-note .adm-dot { width: .55rem; height: .55rem; background: #CC7640; box-shadow: 0 0 0 3px rgba(204,118,64,.18); }
.db-side .db-note .adm-dot { box-shadow: 0 0 0 3px rgba(229,143,92,.22); background: #E58F5C; }
.tbl .adm-unread { margin-left: 3px; } .tbl-tr:has(.adm-unread) strong { font-weight: 800; }

/* ===== Pinned bars, clean: no white fade. The page slides away under a plain strip of page colour around the bar, so it
   disappears along one neat line a little below the grey box; a faint hairline marks that line only once you've scrolled. ===== */
.adm-main .adm-crumbs::after, .adm-fbar::after { content: ""; position: absolute; left: -.75rem; right: -.75rem; height: 1px; background: rgba(23,32,26,.09); opacity: 0; transition: opacity .25s ease; }
.adm-main .adm-crumbs::after { top: calc(100% + .75rem); }
.adm-fbar::after { top: calc(100% + .75rem); }
.adm-main.is-scrolled .adm-crumbs::after, .adm-main.is-scrolled .adm-fbar::after { opacity: 1; }
.adm-main .adm-crumbs:has(~ .adm-fbar)::after, .adm-main .adm-crumbs:has(~ * .adm-fbar)::after { display: none; }
.adm-main .adm-crumbs { box-shadow: 0 0 0 .75rem #FFFFFF; }
.adm-fbar { box-shadow: 0 0 0 .75rem #FFFFFF; }
.adm-fbar .adm-fbar-views button[aria-pressed="true"], .adm-fbar .adm-fbar-views button[aria-pressed="true"] svg { color: color-mix(in srgb, var(--sec, #2C3A2B) 62%, #17201A); }

/* ===== Calendar: arrows and Today the same height as the search pill; and the Week view ===== */
.adm-fbar .cal-nav { gap: .3rem; }
.adm-fbar .cal-nav .adm-btn { height: 2.3rem; min-width: 2.3rem; padding: 0 .9rem; justify-content: center; border: 0; border-radius: 999px; background: #F1F2EF; font-size: .86rem; }
.adm-fbar .cal-nav .adm-btn[data-cal-move] { padding: 0; width: 2.3rem; }
.adm-fbar .cal-nav .adm-btn svg { width: 15px; height: 15px; }
.adm-fbar .cal-nav .adm-btn:hover { background: color-mix(in srgb, var(--sec, #5E6366) 14%, #FFFFFF); }
.cal-week { border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; overflow: hidden; }
.cal-wk-head, .cal-wk-any, .cal-wk-grid { display: grid; grid-template-columns: 3.6rem repeat(7, minmax(0, 1fr)); }
.cal-wk-head { border-bottom: 1px solid var(--line); background: #F7F8F6; }
.cal-wk-day { all: unset; display: grid; justify-items: center; gap: .05rem; padding: .55rem 0; cursor: pointer; border-left: 1px solid rgba(23,32,26,.06); transition: background-color .15s ease; }
.cal-wk-day small { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.cal-wk-day b { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; font-size: 1.05rem; color: var(--title); }
.cal-wk-day.is-today b { background: var(--sec, #5E6366); color: var(--sec-tx, #FFFFFF); }
.cal-wk-day:hover { background: color-mix(in srgb, var(--sec, #5E6366) 8%, #FFFFFF); }
.cal-wk-any { border-bottom: 1px solid var(--line); }
.cal-wk-any > span { padding: .45rem .4rem; font-size: .7rem; color: var(--text-2); }
.cal-wk-any > div { display: grid; gap: .2rem; align-content: start; min-height: 2rem; padding: .3rem; border-left: 1px solid rgba(23,32,26,.06); }
.cal-wk-grid { position: relative; }
.cal-wk-times span { display: block; height: 3.5rem; box-sizing: border-box; padding: .3rem .5rem; font-size: .72rem; color: var(--text-2); border-top: 1px solid rgba(23,32,26,.06); }
.cal-wk-times span:first-child { border-top: 0; }
.cal-wk-col { position: relative; border-left: 1px solid rgba(23,32,26,.06); }
.cal-wk-col i { display: block; height: 3.5rem; box-sizing: border-box; border-top: 1px solid rgba(23,32,26,.06); }
.cal-wk-col i:first-child { border-top: 0; }
.cal-wk-col.is-today { background: color-mix(in srgb, var(--sec, #5E6366) 4%, #FFFFFF); }
.cal-wk-col .cal-slot { left: 3px; right: 3px; }
@media (max-width: 760px) { .cal-week { overflow-x: auto; } .cal-wk-head, .cal-wk-any, .cal-wk-grid { min-width: 44rem; } }

/* ===== Analytics: the round button (bars bob on hover), and the reports page that flips in with a shine in the section's colour ===== */
.ana-btn { all: unset; box-sizing: border-box; flex: none; display: inline-flex; align-items: center; gap: 0; height: 2.35rem; padding: 0 .62rem; border-radius: 999px; cursor: pointer;
  background: color-mix(in srgb, var(--sec, #2C3A2B) 12%, #FFFFFF); color: color-mix(in srgb, var(--sec, #2C3A2B) 65%, #17201A); font-size: .86rem; font-weight: 700; overflow: hidden; white-space: nowrap;
  transition: background-color .25s ease, color .25s ease, gap .4s var(--ease-ios), padding .4s var(--ease-ios), transform var(--t-move) var(--spring); }
.ana-btn svg { flex: none; width: 1.1rem; height: 1.1rem; fill: currentColor; overflow: visible; }
.ana-btn span { max-width: 0; opacity: 0; transition: max-width .45s var(--ease-ios), opacity .25s ease; }
.ana-btn:hover, .ana-btn:focus-visible, .ana-btn.is-on { gap: .45rem; padding: 0 .95rem 0 .75rem; }
.ana-btn:hover span, .ana-btn:focus-visible span, .ana-btn.is-on span { max-width: 6rem; opacity: 1; }
.ana-btn:hover { background: color-mix(in srgb, var(--sec, #2C3A2B) 20%, #FFFFFF); }
.ana-btn:active { transform: scale(.94); }
.ana-btn:focus-visible { outline: 2px solid var(--sec, #2C3A2B); outline-offset: 2px; }
.ana-btn.is-on { background: var(--sec, #2C3A2B); color: var(--sec-tx, #FFFFFF); }
.ana-btn rect { transform-box: fill-box; transform-origin: bottom; }
@keyframes anaBob { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.45); } }
@media (prefers-reduced-motion: no-preference) {
  .ana-btn:hover .ana-b1 { animation: anaBob .9s var(--ease-ios) infinite; }
  .ana-btn:hover .ana-b2 { animation: anaBob .9s var(--ease-ios) .15s infinite; }
  .ana-btn:hover .ana-b3 { animation: anaBob .9s var(--ease-ios) .3s infinite; }
}
/* In the bar, the button sits at the far right after the view switch */
.adm-fbar > .ana-btn { margin-left: .35rem; }
.adm-fbar > :not(.adm-fbar-views) + .ana-btn { margin-left: auto; }
.adm-fbar > .ana-btn + .adm-fbar-acts { margin-left: .35rem; }

.ana-bar { justify-content: space-between; }
.ana-title { position: static !important; width: auto !important; height: auto !important; clip: auto !important; overflow: visible !important; margin: 0; font-family: var(--sans); font-size: 1.15rem !important; font-weight: 700; letter-spacing: 0; color: var(--title); white-space: nowrap; }
.ana-title span { color: color-mix(in srgb, var(--sec, #2C3A2B) 70%, #17201A); }
.ana-bar .ana-btn { margin-left: auto; }

/* Arriving: the page turns in like a card being flipped round, and one soft band of light passes over it */
.ana-page { position: relative; perspective: 1400px; }
@keyframes anaFlipIn { from { opacity: 0; transform: rotateX(14deg) translateY(18px) scale(.97); transform-origin: top center; filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes anaShine { from { transform: translateX(-60%); opacity: 0; } 20% { opacity: 1; } to { transform: translateX(160%); opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .ana-page.is-arriving > * { animation: anaFlipIn .75s var(--ease-ios) both; }
  .ana-page.is-arriving > *:nth-child(2) { animation-delay: .07s; }
  .ana-page.is-arriving > *:nth-child(3) { animation-delay: .14s; }
  .ana-page.is-arriving::after { content: ""; position: absolute; inset: -1rem 0 auto; height: min(70vh, 40rem); pointer-events: none; z-index: 2;
    background: linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--sec, #2C3A2B) 16%, transparent) 50%, transparent 65%); animation: anaShine 1.1s var(--ease-ios) .15s both; }
}

/* The reports */
.ana-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.ana-fig { padding: 1rem 1.15rem; border-radius: 16px; background: #F4F5F3; }
.ana-fig b { display: block; font-size: 1.9rem; line-height: 1.1; color: var(--title); font-variant-numeric: tabular-nums; }
.ana-fig span { font-size: .86rem; color: var(--text-2); }
.ana-fig.is-hot { background: color-mix(in srgb, var(--sec, #2C3A2B) 13%, #FFFFFF); }
.ana-fig.is-hot b { color: color-mix(in srgb, var(--sec, #2C3A2B) 70%, #17201A); }
.ana-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.ana-grid--more { margin-top: 1rem; }
.ana-card { padding: 1.1rem 1.25rem 1.2rem; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; min-width: 0; }
.ana-card.is-wide { grid-column: 1 / -1; }
.adm-main .ana-card h2 { margin: 0 0 .9rem; font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.ana-card .adm-chart { --bar: var(--sec); }
.ana-card .adm-chart-plot { height: 8rem; }
.ana-bars { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.ana-bars li { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr) auto; align-items: center; gap: .75rem; font-size: .88rem; }
.ana-bars span { overflow: hidden; color: var(--title); text-overflow: ellipsis; white-space: nowrap; }
.ana-bars i { height: .6rem; border-radius: 999px; background: linear-gradient(90deg, var(--sec, #2C3A2B) var(--w), #EEF0EC var(--w)); }
.ana-bars b { font-weight: 600; color: var(--title); font-variant-numeric: tabular-nums; white-space: nowrap; }
@keyframes anaGrow { from { background-size: 0 100%; } }
@media (prefers-reduced-motion: no-preference) {
  .ana-bars i { background: linear-gradient(90deg, var(--sec, #2C3A2B), var(--sec, #2C3A2B)) no-repeat 0 0 / var(--w) 100%, #EEF0EC; animation: anaGrow .8s var(--ease-ios) var(--d, 0s) both; }
}
.ana-page .hub { margin-top: 0; }
/* Jobs and Customer hub analytics reuse their old dashboard parts: give them the same look as the other reports */
.ana-page .hub { display: grid; gap: 1rem; }
.ana-page .hub-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; margin: 0; }
.ana-page .hub-fig { padding: 1rem 1.15rem; border: 0; border-radius: 16px; background: #F4F5F3; }
.ana-page .hub-fig b { font-size: 1.9rem; }
.ana-page .hub-fig--hot { background: color-mix(in srgb, var(--sec, #2C3A2B) 13%, #FFFFFF); }
.ana-page .hub-fig--hot b { color: color-mix(in srgb, var(--sec, #2C3A2B) 70%, #17201A); }
.ana-page .hub-cols { gap: 1rem; }
.ana-page .hub-sec { padding: 1.1rem 1.25rem 1.2rem; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; }
.ana-page .adm-chart i { background: var(--sec, #2C3A2B) !important; }
.ana-page .hub-funnel i { background: var(--sec, #2C3A2B); }
@media (max-width: 1600px) { .adm-fbar-views:has(> :nth-child(3)) button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .adm-fbar-views:has(> :nth-child(3)) button { padding: .4rem .75rem; } }

/* ===== Search, centred on the whole screen, and a live search that fills in group by group ===== */
@media (min-width: 761px) {
  html:not(.adm-narrow) .adm-top-in { position: relative; }
  html:not(.adm-narrow) .adm-search-btn { position: absolute; left: 50%; top: 50%; width: min(24rem, calc(100% - 40rem)); min-width: 13rem; margin: 0; transform: translate(-50%, -50%); flex: none; }
  html:not(.adm-narrow) .adm-search-btn:hover { flex: none; width: min(26rem, calc(100% - 38rem)); }
  html:not(.adm-narrow) .adm-search-btn:active { transform: translate(-50%, -50%) scale(.98); }
}
.sx-ring { flex: none; width: 1.05rem; height: 1.05rem; box-sizing: border-box; border-radius: 50%; border: 2px solid rgba(23,32,26,.1); border-top-color: var(--title); border-right-color: var(--title); animation: sxSpin .65s linear infinite; }
.sx-group { animation: none; }
@keyframes sxRowIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .sx-group.is-fresh h3 { animation: sxRowIn .3s var(--ease-ios) both; }
  .sx-group.is-fresh li { animation: sxRowIn .38s var(--ease-ios) both; animation-delay: calc(var(--i, 0) * 28ms + 40ms); }
}

/* ===== A section's parts as pills in its filter bar (no second bar anywhere); on the right for the developer sections ===== */
.adm-pages { display: flex; flex-wrap: wrap; gap: .35rem; }
.adm-fbar > .adm-pages:last-child, .adm-fbar.is-dev > .adm-pages { margin-left: auto; }
.adm-fbar.is-dev { justify-content: flex-end; }
.adm-fbar > .adm-pages:first-child + * { margin-left: .5rem; }
.adm-pages .adm-chip[aria-pressed="true"] { background: var(--sec, #2C3A2B); color: var(--sec-tx, #FFFFFF); }
@media (max-width: 760px) { .adm-pages { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; } .adm-pages::-webkit-scrollbar { display: none; } }

/* ===== Server status cards: a coloured dot and a small tag, no coloured edge ===== */
.srv-card { gap: .55rem; border-left: 1px solid var(--line) !important; }
.srv-card-top { display: flex; align-items: center; gap: .55rem; }
.srv-card .srv-card-top strong { flex: 1; font-size: 1rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--title); }
.srv-dot { flex: none; width: .6rem; height: .6rem; border-radius: 50%; background: var(--st); box-shadow: 0 0 0 3px color-mix(in srgb, var(--st) 20%, transparent); }
.srv-card .srv-state { padding: .15rem .55rem; border-radius: 999px; background: color-mix(in srgb, var(--st) 12%, #FFFFFF); color: color-mix(in srgb, var(--st) 75%, #17201A); font-size: .72rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.srv-card--ok { --st: #2E7D32; } .srv-card--warning { --st: #C77700; } .srv-card--down { --st: #C62828; } .srv-card--info { --st: #1F6FB2; }
.srv-card em { font-size: .88rem; }

/* ===== Insights: a purple, AI-feeling button and page that sits apart from the rest of the app ===== */
:root { --ai: #6D4BD8; --ai-2: #A06BF0; --ai-soft: #F1ECFD; }
.ana-btn { background: linear-gradient(135deg, var(--ai-soft), #F6F0FF); color: var(--ai); box-shadow: inset 0 0 0 1px rgba(109,75,216,.0); }
.ana-btn:hover { background: linear-gradient(135deg, #E9E1FC, #F1E8FF); }
.ana-btn.is-on { background: linear-gradient(135deg, var(--ai), var(--ai-2)); color: #FFFFFF; }
.ana-btn:focus-visible { outline-color: var(--ai); }
.ana-btn svg path { transform-box: fill-box; transform-origin: center; }
@keyframes anaTwinkle { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(.6) rotate(25deg); opacity: .55; } }
@media (prefers-reduced-motion: no-preference) {
  .ana-btn:hover .ana-s1 { animation: anaTwinkle 1.4s var(--ease-ios) infinite; }
  .ana-btn:hover .ana-s2 { animation: anaTwinkle 1.4s var(--ease-ios) .25s infinite; }
  .ana-btn:hover .ana-s3 { animation: anaTwinkle 1.4s var(--ease-ios) .5s infinite; }
}
.ana-title span { color: var(--ai); }

/* Thinking: a glowing purple orb turning, three steps fading in turn, and pale shapes where the reports will go */
.ana-think { display: grid; justify-items: center; gap: 1.1rem; padding: 2.5rem 0 1rem; }
.ana-orb { position: relative; width: 4.2rem; height: 4.2rem; border-radius: 50%; background: conic-gradient(from 0deg, var(--ai), var(--ai-2), #F0A6CA, var(--ai)); animation: sxSpin 1.6s linear infinite;
  -webkit-mask: radial-gradient(circle, transparent 54%, #000 56%); mask: radial-gradient(circle, transparent 54%, #000 56%); filter: drop-shadow(0 6px 18px rgba(109,75,216,.35)); }
.ana-orb i { position: absolute; inset: 28%; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #FFFFFF, var(--ai-soft) 60%, transparent 70%); }
.ana-think-steps { position: relative; height: 1.5rem; margin: 0; min-width: 18rem; text-align: center; font-weight: 600; color: var(--ai); }
.ana-think-steps span { position: absolute; inset: 0; opacity: 0; animation: anaStep 1.5s var(--ease-ios) both; }
.ana-think-steps span:nth-child(2) { animation-delay: .5s; }
.ana-think-steps span:nth-child(3) { animation-delay: 1s; animation-name: anaStepLast; }
@keyframes anaStep { 0% { opacity: 0; transform: translateY(6px); } 12%, 28% { opacity: 1; transform: none; } 40%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes anaStepLast { 0% { opacity: 0; transform: translateY(6px); } 15%, 100% { opacity: 1; transform: none; } }
.ana-skel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; width: 100%; margin-top: .75rem; }
.ana-skel i { height: 5.5rem; border-radius: 16px; background: linear-gradient(100deg, #F4F2FA 30%, #EAE4FA 50%, #F4F2FA 70%) 0 0 / 300% 100%; animation: anaShimmer 1.3s linear infinite; }
@keyframes anaShimmer { to { background-position: -150% 0; } }

/* What stands out */
.ana-insights { margin-bottom: 1rem; padding: 1.1rem 1.3rem 1.2rem; border-radius: 18px; background: linear-gradient(135deg, #F6F2FF, #FBF8FF 60%, #FFF6FA); }
.adm-main .ana-insights h2 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .7rem; font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ai); }
.ana-insights h2 svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }
.ana-insights ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ana-insights li { position: relative; padding-left: 1.3rem; font-size: .95rem; line-height: 1.5; color: var(--title); }
.ana-insights li::before { content: ""; position: absolute; left: .15rem; top: .55rem; width: .45rem; height: .45rem; border-radius: 50%; background: linear-gradient(135deg, var(--ai), var(--ai-2)); }
.ana-insights b { color: var(--ai); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
  .ana-page.is-arriving .ana-insights li { animation: sxRowIn .45s var(--ease-ios) both; animation-delay: calc(.25s + var(--i, 0) * 110ms); }
  .ana-page.is-arriving::after { background: linear-gradient(105deg, transparent 35%, rgba(160,107,240,.18) 50%, transparent 65%); }
}
@media (prefers-reduced-motion: reduce) { .ana-orb, .ana-skel i { animation: none; } .ana-think-steps span { animation: none; opacity: 0; } .ana-think-steps span:last-child { opacity: 1; } }
.adm-fbar.is-dev > .ana-btn { margin-left: .35rem; }

/* ===== Search panel, cleaner: the grey search pill drops a little and widens inside a white panel with room around it;
   no dividing lines; the panel grows by changing its own size and rounding, so its corners stay smooth while it moves ===== */
.adm-sx .sx-panel { overflow: hidden; max-height: none; display: block; background: rgba(255,255,255,.94); }
.adm-sx .sx-inner { display: flex; flex-direction: column; width: var(--sxw, 42rem); max-height: min(40rem, calc(100dvh - 1.5rem)); }
.adm-sx .sx-field { margin: 1.1rem 1.25rem .6rem; padding: .7rem .9rem .7rem 1.05rem; border-radius: 999px; background: #F1F2EF; transition: background-color .2s ease, box-shadow .2s ease; }
.adm-sx .sx-field:focus-within { background: #EDEEEA; box-shadow: inset 0 0 0 1px rgba(23,32,26,.08); }
.adm-sx .sx-field input { font-size: 1.1rem; }
.adm-sx .sx-esc { background: #FFFFFF; }
.adm-sx .sx-kinds { padding: .2rem 1.25rem .7rem; }
.adm-sx .sx-results { border-top: 0; padding: .1rem .85rem .8rem; }
.adm-sx .sx-keys { border-top: 0; padding: .4rem 1.5rem 1rem; }
.adm-sx .sx-inner { position: relative; left: 50%; transform: translateX(-50%); }   /* grows outward from the middle */

/* ===== Search, calmer: the pill widens smoothly on hover; the panel drops a little below the bar, smaller, with lots of room
   round the search line (no grey box until you hover it), a round close button, and each kind in its section colour ===== */
.adm-search-btn { transition: width .5s var(--ease-ios), background-color .3s ease, color .2s ease, transform var(--t-move) var(--spring) !important; }
.adm-sx .sx-panel { border-radius: 28px; }
.adm-sx .sx-field { margin: 1.4rem 1.4rem .9rem; padding: .75rem .6rem .75rem 1.1rem; background: transparent; box-shadow: none; transition: background-color .3s ease; }
.adm-sx .sx-field:hover, .adm-sx .sx-field:focus-within:hover { background: #F4F5F2; }
.adm-sx .sx-field:focus-within { background: transparent; box-shadow: none; }
.adm-sx .sx-field input { font-size: 1.15rem; }
.adm-sx .sx-field input::placeholder { color: #9AA09A; }
.adm-sx .sx-esc { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; padding: 0; border-radius: 50%; background: #F1F2EF; color: var(--text-2); transition: background-color .2s ease, transform var(--t-move) var(--spring); }
.adm-sx .sx-esc svg { width: 15px; height: 15px; }
.adm-sx .sx-esc:hover { background: #E6E8E3; color: var(--title); }
.adm-sx .sx-esc:active { transform: scale(.9); }
.adm-sx .sx-kinds { flex-wrap: wrap; padding: .3rem 1.6rem 1rem; }
.adm-sx .sx-kinds .adm-chip { color: var(--k); background: color-mix(in srgb, var(--k) 9%, #FFFFFF); }
.adm-sx .sx-kinds .adm-chip:hover { background: color-mix(in srgb, var(--k) 16%, #FFFFFF); }
.adm-sx .sx-kinds .adm-chip[aria-pressed="true"] { background: var(--k); color: #FFFFFF; }
.adm-sx .sx-results { padding: .1rem 1rem 1rem; }
.adm-sx .sx-group h3 { color: var(--k, var(--text-2)); }
.adm-sx .sx-group h3::before { content: ""; flex: none; width: .45rem; height: .45rem; border-radius: 50%; background: var(--k, #9AA09A); }
.adm-sx .sx-item:hover, .adm-sx .sx-item.is-at, .adm-sx .sx-item:focus-visible { background: #F4F5F2; }
.adm-sx .sx-kinds { flex-wrap: nowrap; gap: .3rem; } .adm-sx .sx-kinds .adm-chip { padding: .3rem .7rem; font-size: .78rem; }

/* ===== Filter bar: the right-hand group (view switch, Insights, main button) moves as one; on a narrow screen it takes its
   own line, still on the right, instead of the pieces shuffling about ===== */
.adm-fbar-right { display: flex; flex: none; flex-wrap: nowrap; align-items: center; gap: .5rem; margin-left: auto; }
.adm-fbar-right > * { margin-left: 0 !important; }
.adm-fbar-right .adm-fbar-acts { margin: 0; }
.adm-fbar > .adm-pages + .adm-fbar-right, .adm-fbar.is-dev .adm-fbar-right { margin-left: auto; }

/* ===== Insights button: always shows its name (so its width never changes and nothing around it jumps); the sparkles twinkle
   gently all the time, and more brightly on hover ===== */
.ana-btn, .ana-btn:hover, .ana-btn:focus-visible { gap: .45rem; padding: 0 .95rem 0 .75rem; }
.ana-btn span { max-width: none; opacity: 1; }
@keyframes anaIdle { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.78); opacity: .7; } }
@media (prefers-reduced-motion: no-preference) {
  .ana-btn .ana-s1 { animation: anaIdle 3.2s ease-in-out infinite; }
  .ana-btn .ana-s2 { animation: anaIdle 3.2s ease-in-out 1s infinite; }
  .ana-btn .ana-s3 { animation: anaIdle 3.2s ease-in-out 2s infinite; }
}

/* ===== Thinking: the ring turns with a sparkle in the middle that turns a quarter, a quarter, flips, and again;
   the real figures fill in underneath one by one ===== */
.ana-think { padding-top: 2rem; }
.ana-orb { display: grid; place-items: center; background: none; animation: none; -webkit-mask: none; mask: none; filter: none; width: 4.4rem; height: 4.4rem; }
.ana-orb::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, var(--ai), var(--ai-2), #F0A6CA, var(--ai)); animation: sxSpin 1.6s linear infinite;
  -webkit-mask: radial-gradient(circle, transparent 55%, #000 57%); mask: radial-gradient(circle, transparent 55%, #000 57%); filter: drop-shadow(0 6px 18px rgba(109,75,216,.35)); }
.ana-orb svg { position: relative; width: 1.9rem; height: 1.9rem; fill: var(--ai); animation: anaTurnFlip 2.2s cubic-bezier(.5,0,.2,1) infinite; }
@keyframes anaTurnFlip { 0% { transform: rotate(0) rotateY(0); } 14% { transform: rotate(90deg) rotateY(0); } 24% { transform: rotate(90deg) rotateY(0); } 38% { transform: rotate(180deg) rotateY(0); } 48% { transform: rotate(180deg) rotateY(0); } 66% { transform: rotate(180deg) rotateY(180deg); } 100% { transform: rotate(180deg) rotateY(180deg); } }
.ana-think-steps span { animation-duration: 2.6s; }
.ana-think-steps span:nth-child(2) { animation-delay: .85s; }
.ana-think-steps span:nth-child(3) { animation-delay: 1.7s; }
.ana-fill { width: 100%; margin-top: 1rem; }
.ana-fill .ana-figs, .ana-fill .hub-figures { margin: 0; }
.ana-fill .ana-fig, .ana-fill .hub-fig { animation: sxRowIn .5s var(--ease-ios) both; }
.ana-fill > * > :nth-child(1) { animation-delay: .45s; } .ana-fill > * > :nth-child(2) { animation-delay: 1s; }
.ana-fill > * > :nth-child(3) { animation-delay: 1.35s; } .ana-fill > * > :nth-child(4) { animation-delay: 1.6s; }
.ana-fill .hub-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; }
.ana-fill .hub-fig { padding: 1rem 1.15rem; border: 0; border-radius: 16px; background: #F4F5F3; }

/* ===== Arriving: the figures are already there; each insight drops in, then its words write across left to right ===== */
.ana-page.is-arriving > .ana-figs, .ana-page.is-arriving .hub-figures { animation: none !important; }
@keyframes anaWrite { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: no-preference) {
  .ana-page.is-arriving .ana-insights li { animation: sxRowIn .35s var(--ease-ios) both; animation-delay: calc(.35s + var(--i, 0) * 650ms); }
  .ana-page.is-arriving .ana-insights .ana-txt { display: inline-block; animation: anaWrite .6s linear both; animation-delay: calc(.45s + var(--i, 0) * 650ms); }
  .ana-insights.is-writing h2 svg { animation: anaTwinkle .9s var(--ease-ios) infinite; }
}
.ana-insights h2 svg { transform-origin: center; }

/* ===== Search panel: wider white panel; the search line is a smaller floating pill in the middle with plenty of air round it;
   the close button sits in the panel's corner; the kind chips are centred on one line (sliding sideways if they don't fit);
   the results use the full width below ===== */
.adm-sx .sx-inner { position: relative; }
.adm-sx .sx-field { width: min(30rem, calc(100% - 7rem)); margin: 2.1rem auto 1.3rem; }
.adm-sx .sx-esc { position: absolute; top: 1rem; right: 1rem; }
.adm-sx .sx-kinds { justify-content: center; flex-wrap: nowrap; overflow-x: auto; padding: 0 1.25rem 1.3rem; scrollbar-width: none; }
.adm-sx .sx-kinds::-webkit-scrollbar { display: none; }
.adm-sx .sx-kinds .adm-chip { flex: none; }
@media (max-width: 820px) {
  .adm-sx .sx-kinds { justify-content: flex-start; padding: 0 1rem 1.1rem; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .adm-sx .sx-field { width: calc(100% - 5.5rem); margin: 1.4rem auto 1rem 1rem; }
  .adm-sx .sx-esc { top: 1.35rem; }
}

/* ===== Dashboard widgets, modern: no heavy coloured header; a small icon tile in the section's colour, the title and a round
   arrow; a big headline and one line; then a soft purple panel of what stands out. No charts on the cards (they live in the
   detail view and on each section's Insights) ===== */
.db-card { border: 1px solid rgba(23,32,26,.07); border-radius: 22px; background: linear-gradient(180deg, #FFFFFF, #FBFBFA); box-shadow: 0 1px 2px rgba(23,32,26,.04), 0 10px 26px -20px rgba(23,32,26,.35); }
.db-card:hover { border-color: color-mix(in srgb, var(--tc) 35%, rgba(23,32,26,.07)); box-shadow: 0 1px 2px rgba(23,32,26,.04), 0 18px 36px -22px rgba(23,32,26,.42); }
.db-card.is-on { border-color: var(--tc); }
.db-card .db-card-main { display: flex; flex-direction: column; height: 100%; padding: 1.15rem 1.2rem 1.15rem; }
.db-card-top { display: flex; align-items: center; gap: .65rem; padding-right: 2.6rem; }
.db-card-ic { display: grid; place-items: center; flex: none; width: 2.3rem; height: 2.3rem; border-radius: 12px; background: var(--tc); color: var(--tx); }
.db-card-ic svg { width: 17px; height: 17px; }
.db-card .db-card-t { font-size: .92rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--title); }
.db-card .db-card-b { display: flex; flex-direction: column; flex: 1; gap: .3rem; padding: 1rem 0 0; background: none; }
.db-card .db-big, .db-card .db-big span { font-size: 2rem; line-height: 1.1; font-weight: 700; letter-spacing: -.01em; }
.db-card .db-card-go { top: 1.1rem; right: 1.1rem; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: #F1F2EF; color: var(--title); }
.db-card .db-card-go:hover { background: var(--tc); color: var(--tx); }
.db-card-h, .db-wm { display: none !important; }
.db-ins { display: flex; gap: .55rem; margin-top: auto; padding: .7rem .8rem; border-radius: 14px; background: linear-gradient(135deg, #F5F1FF, #FBF8FF 70%, #FFF7FB); font-size: .84rem; line-height: 1.4; color: var(--title); }
.db-ins > svg { flex: none; width: 1rem; height: 1rem; margin-top: .1rem; fill: var(--ai, #6D4BD8); }
.db-ins > span { display: grid; gap: .25rem; }
.db-card .db-ins b { color: var(--ai, #6D4BD8); font-weight: 700; font-size: inherit; }
.db-card .db-card-b .db-ins, .db-card .db-card-b .db-ins span { text-transform: none; letter-spacing: 0; }
@media (prefers-reduced-motion: no-preference) { .db-ins > svg path { transform-box: fill-box; transform-origin: center; animation: anaIdle 3.2s ease-in-out infinite; } }
/* Shorter cards now there are no charts */
.db[data-lay=wide] .db-cards { grid-auto-rows: max(14.5rem, calc(36% - .6rem)); }
.db[data-lay=split] .db-cards, .db[data-lay=stack] .db-cards { grid-auto-rows: 14.5rem; }
.db[data-lay=phone] .db-cards { grid-auto-rows: auto; }
/* The detail view on the photo panel starts with what stands out */
.db-stage .dd-ins { margin-bottom: .9rem; padding: .8rem .95rem; border-radius: 14px; background: rgba(255,255,255,.55); }
.adm-main .db-stage .dd-ins h3 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .45rem; color: var(--ai, #6D4BD8); }
.db-stage .dd-ins h3 svg { width: .95rem; height: .95rem; fill: currentColor; }
.db-stage .dd-ins ul { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; font-size: .9rem; color: #17201A; }
.db-stage .dd-ins b { color: var(--ai, #6D4BD8); }
/* Narrower cards (laptops, tablets) show just the most important insight */
.db:is([data-lay=split], [data-lay=stack]) .db-ins > span > span:nth-child(n+2), .db[data-lay=wide][data-cols="1"] .db-ins > span > span:nth-child(n+2) { display: none; }
.db:is([data-lay=split], [data-lay=stack]) .db-cards { grid-auto-rows: 13.5rem; }
