:root{--forest:#191b19;--cream:#fafaf7;--lime:#b3ec61;--muted:#b5b8af}
html{background:#191b19}body{color:var(--cream)}.slide{padding:3.1vh 4.8vw 2.5vh}.slide::after{display:none}.topline{min-height:5.1vh;padding:0 0 1.5vh;font-size:.9cqw;text-transform:none;letter-spacing:.035em;font-weight:400}.project-name{font:700 1.55cqw var(--font);letter-spacing:-.04em}.project-name b{color:var(--lime);font-weight:700}.phiz-logo{width:9cqw;height:auto}.slide-head{margin:4.5vh 0 3vh}.slide-head h2{font-size:4.15cqw;line-height:1.12;font-weight:700;letter-spacing:-.055em}em{font-style:normal;color:var(--lime)}.footer{border-top:0;min-height:4vh;padding-top:1.4vh;margin-top:auto;font-size:.83cqw;font-weight:400;letter-spacing:.025em}.footer img.wdg-logo{width:13cqw;height:auto}.slide h3{font-weight:700;letter-spacing:-.035em;font-size:1.75cqw;line-height:1.25}.slide p{font-size:1.34cqw;line-height:1.5;color:#b8bcb3}
/* Phone meeting the water: a single photographic illustration. */
.cover-copy{margin:auto 0;z-index:2;pointer-events:none}.cover h1{font-size:5.5cqw;line-height:1.1;letter-spacing:-.065em;font-weight:700;max-width:none}.cover-copy p{margin-top:3.5vh;font-size:1.55cqw;line-height:1.55}.cover-art{position:absolute;right:-2%;top:8%;width:min(60vw,84vh);height:84vh;pointer-events:none;z-index:0}.cover-art img{display:block;width:100%;height:100%;object-fit:contain;animation:water-image-float 11s ease-in-out infinite}.cover-art::after{content:'';position:absolute;inset:-2px;background:linear-gradient(90deg,#191b19,transparent 14%,transparent 92%,#191b19),linear-gradient(#191b19,transparent 9%,transparent 89%,#191b19)}.cover .topline,.cover .footer{position:relative;z-index:2}.cover-copy{position:relative}.cover-partners{display:flex;align-items:center;gap:4cqw}.powered-credit,.pho-credit{display:flex;align-items:center;gap:1.3cqw}.powered-credit>span,.pho-credit>span{font-size:.86cqw;color:#b8bcb3}.pho-logo{width:15cqw;height:auto;filter:brightness(0) invert(1)}
@keyframes water-image-float{50%{transform:translateY(-.6vh) scale(1.012)}}
[data-motion=paused] *,[data-motion=paused] *::before,[data-motion=paused] *::after{animation-play-state:paused!important}
.demo-slide{padding:0}.demo-slide iframe{width:100%;height:100%;border:0}.demo-footer{position:absolute;left:4.8vw;right:4.8vw;bottom:2.5vh;pointer-events:none}
.pilot-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:5cqw;flex:1;min-height:0;padding:0 0 2vh}.reach-chart{align-self:center;margin:0;min-width:0}.reach-chart figcaption{text-align:center;font-size:1.4cqw;font-weight:700;color:#d8ddd2;margin-bottom:2.2vh}.sample-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:.36cqw}.sample-grid i{aspect-ratio:1;border-radius:.2cqw;background:#383d36;box-shadow:0 1px 3px #0002}.sample-grid i.landline{background:#edb44f}.sample-grid i.invalid{background:#858b82}
@media print{.demo-slide iframe{height:100%}.demo-footer{bottom:2.5%}}


/* Result access uses the same vector panels and linework as the data foundation. */
.gap-scene{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:1.2vh;margin:0 0 1.5vh}.gap-art{width:100%;min-height:0}.gap-art svg{display:block;width:100%;max-height:46vh}
/* The service reuses the same data; the cost models notifying every result. */
.service-flow{flex:1;min-height:0;display:grid;place-items:center;padding:.5vh 0}.service-flow svg{width:100%;max-height:40vh}.slide .pho-thanks{font-size:1.4cqw;color:#d1d8c7;margin-top:.6vh}/* Begin at the annual benchmark, then zoom into counts and the completed-year trend. */
.testing-overview .slide-head{margin-bottom:6vh}.testing-overview .slide-head p{font-size:2cqw;line-height:1.4;color:#d8ddd2;margin-top:1.5vh}
.testing-overview .annual-figure{display:flex;flex-direction:column;flex:1;min-height:0;margin:0 0 1.5vh}.annual-tests{display:block;width:100%;flex:1;min-height:0;overflow:visible}.annual-bar{fill:var(--lime)}.annual-bar.in-progress{fill:url(#annual-target-hatch);stroke:var(--lime);stroke-width:1}.annual-count,.annual-percentage{font:400 22px system-ui,sans-serif;fill:#e2e6db;font-variant-numeric:tabular-nums}.annual-year{font:19px system-ui,sans-serif;fill:#adb6a5}.annual-benchmark-label{font:600 22px system-ui,sans-serif;fill:#e2e6db}.annual-axis{font:18px system-ui,sans-serif;fill:#adb6a5}.annual-reference-line{fill:none;stroke:#e2e6db;stroke-linecap:round}.annual-trend-head{fill:#e2e6db}
/* The seasonal figure shares the deck's green and neutral palette. */
.seasonal-slide{--seasonal-accent:var(--lime)}.seasonal-slide .slide-head{margin:2.4vh 0 1.5vh}.seasonal-slide .slide-head h2{font-size:3.65cqw}.testing-context{display:grid;grid-template-columns:1fr 1.35fr;gap:4.5cqw;flex:1;min-height:0;margin-bottom:6vh}.context-seasonal{display:flex;flex-direction:column;margin:0;min-height:0}.context-seasonal figcaption{text-align:center;font-size:1.35cqw;color:#b7bfb0;line-height:1.4;margin-bottom:.6vh}.context-seasonal>svg{width:100%;flex:1;min-height:0;overflow:visible}.context-seasonal .seasonal-controls{margin:1vh 4cqw 0}.seasonal-context{align-self:center;min-width:0;padding-right:1.5cqw}.seasonal-context p{font-size:2.65cqw;line-height:1.4;color:#e0e4db;max-width:27ch;text-wrap:balance}.seasonal-context strong{font-weight:700;color:#edb44f}


/* Delivery colours describe notification outcomes only; feedback has its own slide. */
.pilot-slide .slide-head{margin-bottom:2.5vh}.pilot-outcomes{display:flex;flex-direction:column;justify-content:center;gap:2.2vh;min-width:0}.pilot-total{display:flex;align-items:center;gap:1.4cqw;margin-bottom:1vh}.pilot-total>strong{font-size:4.5cqw;font-weight:400;letter-spacing:-.055em;line-height:1;color:var(--cream)}.pilot-total p{font-size:1.5cqw;line-height:1.35;color:#d8ddd2}.pilot-outcomes article{display:grid;grid-template-columns:8.8cqw 1fr;align-items:center;gap:1.5cqw}.pilot-outcomes article>strong{font-size:5.2cqw;font-weight:400;letter-spacing:-.065em;line-height:1;white-space:nowrap;color:var(--cream);font-variant-numeric:tabular-nums}.pilot-outcomes article>strong span{font-size:2.4cqw}.pilot-outcomes article h3{font-size:1.5cqw;line-height:1.3}.pilot-outcomes article p{font-size:1.35cqw;margin-top:.65vh;line-height:1.45}.pilot-outcomes article h3 i{display:inline-block;width:.65cqw;height:.65cqw;border-radius:.12cqw;background:var(--lime);margin-right:.45cqw}.pilot-outcomes .landline-metric h3 i{background:#edb44f}.pilot-outcomes .invalid-metric h3 i{background:#858b82}
.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;flex:1;min-height:0;align-items:center;margin:0 0 5vh}.summary-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border:1px solid #ffffff25;border-radius:1.1cqw;background:#ffffff03;padding:3cqw;min-width:0}.summary-card--feedback,.summary-card--cost{border-color:#b3ec6155;background:linear-gradient(145deg,#b3ec6118,#b3ec6103 70%)}.summary-icon{display:block;width:5.4cqw;height:5.4cqw;flex-shrink:0;margin-bottom:2.8vh;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;color:var(--lime)}.summary-value{font-size:9cqw;line-height:1;font-weight:400;letter-spacing:-.065em;color:var(--cream);font-variant-numeric:tabular-nums;white-space:nowrap}.summary-value span{font-size:2.8cqw;letter-spacing:-.03em;margin-left:.4cqw}.summary-card h3{font-size:1.85cqw;line-height:1.3;margin-top:3.5vh}.summary-card p{font-size:1.45cqw;line-height:1.5;margin-top:1.8vh;min-height:3em}

/* Shared percentage scale and a continuous, softly revealed chronological trail. */
.seasonal-guide{fill:none;stroke:#8f9489;stroke-width:1;stroke-opacity:.2}.seasonal-january-axis{stroke:#8f9489;stroke-width:1;stroke-opacity:.15}.seasonal-month{font:25px system-ui,sans-serif;fill:#c6cabe}.seasonal-percentage{font:22px system-ui,sans-serif;fill:#aeb6a7;paint-order:stroke;stroke:#191b19;stroke-width:5px;stroke-linejoin:round}.seasonal-curve{stroke-linecap:butt;stroke-linejoin:round}.seasonal-controls{display:block}.seasonal-year-control input{width:100%;accent-color:var(--seasonal-accent);margin:0;cursor:pointer}.seasonal-year-labels{display:flex;justify-content:space-between;font-size:.88cqw;color:#a1aa98;margin-top:.5vh}
.seasonal-year-control input{appearance:none;height:16px;background:transparent}.seasonal-year-control input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:#8f948966}.seasonal-year-control input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;margin-top:-4.5px;background:var(--seasonal-accent);border:0;border-radius:50%}.seasonal-year-control input::-moz-range-track{height:2px;background:#8f948966}.seasonal-year-control input::-moz-range-thumb{width:11px;height:11px;background:var(--seasonal-accent);border:0;border-radius:50%}


.seasonal-centre-year{font:600 30px system-ui,sans-serif;fill:#e5eadf;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#191b19;stroke-width:7px;stroke-linejoin:round}.seasonal-percentage.seasonal-zero{font-size:16px}
