/* A few small discoveries, in the same paper, plum and lime palette. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.aha-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:80px}
.aha-copy h2{font-size:clamp(35px,4.2vw,58px)}
.aha-copy>p:not(.eyebrow){max-width:350px;font-size:15px}
.aha-copy .aha-invitation{color:var(--purple);font-weight:600;margin-top:25px}
.aha-invitation>span{display:inline-block;margin-left:8px;font-size:33px;vertical-align:middle}
.aha-playground{position:relative;min-width:0;padding:26px;background:var(--white);border:1px solid #c9cec2;border-radius:16px;box-shadow:7px 7px 0 #e7e8de}
.aha-topline{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--purple);margin-bottom:15px}
.lab-progress{display:flex;gap:5px;padding:0;margin:0 0 20px;list-style:none}
.lab-progress li{flex:1;height:4px;border-radius:4px;background:#e3e5dc}
.lab-progress li[aria-current]{background:var(--purple)}
.lab-progress li.lab-step-independent{background:#527324}
.lab-progress li.lab-step-supported,.lab-progress li.lab-step-shown{background:#ad759c}
.lab-progress [data-progress-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.aha-playground h3{font-size:23px;line-height:1.25;margin-bottom:10px}
.lab-task{font-size:12px;line-height:1.7;margin:0 0 15px;color:var(--muted)}
.aha-sheet table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.aha-sheet th,.aha-sheet td{padding:5px 12px;border:1px solid #d0d5c9;text-align:left;height:29px}
.aha-sheet th:first-child,.aha-sheet thead td{width:30px;background:#f0f1ea;color:var(--muted);text-align:center;font-size:10px;font-weight:500;padding-inline:4px}
.aha-sheet thead th{background:#f0f1ea;text-align:center;font-size:11px;font-weight:600;color:var(--muted)}
.aha-sheet tbody td:last-child{text-align:right}
.aha-sheet .lab-header-row td,.aha-sheet .lab-header-row td:last-child{font-weight:800;background:#f1f6dc;text-align:left}
.lab-form{margin-top:15px}
.lab-form>label{display:block;font-size:11px;font-weight:700;margin-bottom:5px}
.lab-formula-box{display:flex;align-items:flex-start;gap:10px;border:1px solid #9aa58d;border-radius:6px;background:white;padding:10px 12px}
.lab-formula-box:focus-within{outline:2px solid var(--purple);outline-offset:2px}
.lab-formula-box>span{font-family:Georgia,serif;font-size:20px;font-style:italic;color:var(--purple);line-height:1.4}
.lab-formula-box textarea{display:block;width:100%;min-width:0;min-height:44px;padding:0;border:0;resize:vertical;background:transparent;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.lab-formula-box textarea:focus-visible{outline:0}
.lab-formula-box:has([aria-invalid=true]){border-color:#a26b35}
.lab-formula-box textarea[readonly]{color:#4e6423}
.lab-input-help{font-size:10px;line-height:1.6;margin:6px 0 12px}
.lab-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px 15px}
.lab-actions .button,.lab-secondary .button,.lab-result .button{font-size:12px;padding:11px 16px;min-height:44px;gap:10px}
.lab-actions .button:disabled{cursor:default;opacity:.85;background:#e5edcd;color:#354b23}
.lab-text-button{background:transparent;border:0;border-bottom:1px solid #b2b7ab;color:var(--purple);font-size:11px;font-weight:700;padding:8px 0;min-height:44px}
.lab-text-button:disabled{cursor:default;opacity:.6}
.lab-hint,.lab-answer{margin-top:14px;background:#f1f2e8;border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.75;color:var(--ink)}
.lab-answer p{font-size:12px;margin:8px 0 0}
.lab-answer p:first-child{margin:0}
.lab-answer code{display:block;margin-top:8px;color:var(--purple);font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.lab-support{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.lab-support p{font-size:11px;margin:0}
.lab-support .text-link{font-size:11px;min-height:44px}
.lab-secondary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:5px}
.lab-feedback{font-size:12px;line-height:1.75;color:var(--ink);margin-top:12px;min-height:42px}
.lab-feedback:empty{display:none}
.lab-feedback-success{color:#3e5d22;background:#edf3d6;padding:10px 12px;border-radius:6px}
.aha-playground .aha-footnote{font-size:10px;line-height:1.7;margin-top:15px;color:var(--muted)}
.lab-result-star{font-size:48px;color:var(--purple);line-height:1;display:block;margin:8px 0 22px}
.lab-result .eyebrow{font-size:9px;margin-bottom:12px}
.lab-result h3{font-size:32px}
.lab-result>p:not(.eyebrow){font-size:13px;margin-top:12px}
.lab-result .lab-result-count{font-size:12px}
.lab-result-list{padding:0;margin:18px 0;list-style:none}
.lab-result-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px}
.lab-result-list li>span:last-child{color:var(--muted);text-align:right}
.lab-result>.lab-text-button{display:block;margin-top:12px}
@media(max-width:650px){.lab-formula-box textarea{font-size:16px}.aha-playground h3{font-size:22px}.aha-topline{font-size:8px}.lab-result-list li{font-size:10px}}
.joy-sparkles{position:absolute;pointer-events:none;width:1px;height:1px;top:25px;right:30px;z-index:2}
.joy-sparkles i{position:absolute;width:7px;height:7px;background:var(--purple);border-radius:2px}
.joy-sparkles i:nth-child(3n){background:#8caa34;border-radius:50%}
.joy-sparkles i:nth-child(3n + 1){background:#ce689c}
.stair.step-discovered>span::after{content:' ✓';margin-left:5px}
.steps-complete .scene-note{color:var(--purple)}
.pocket-note{margin-bottom:0;padding-bottom:35px}
.pocket-note details{border-block:1px dashed #c5c9be}
.pocket-note summary{justify-content:flex-start;gap:20px;padding:22px 8px;font-size:12px;font-weight:400;line-height:1.65}
.pocket-note summary strong{font-size:16px;font-weight:700;letter-spacing:-.02em}
.pocket-envelope{position:relative;display:grid;place-items:center;width:55px;height:43px;flex-shrink:0;background:var(--pink);border:1px solid #d6a7bd;border-radius:4px;transform:rotate(-7deg);transition:transform .22s}
.pocket-envelope::before{content:'';position:absolute;width:29px;height:29px;border-right:1px solid #d6a7bd;border-bottom:1px solid #d6a7bd;transform:translateY(-14px) rotate(45deg);border-radius:0 0 4px}
.pocket-envelope>span{z-index:1;display:grid;place-items:center;background:var(--purple);color:var(--white);border-radius:50%;width:21px;height:21px;font-size:15px;line-height:1}
.pocket-note summary:hover .pocket-envelope,.pocket-note details[open] .pocket-envelope{transform:rotate(3deg)}
.pocket-open{margin-left:auto;font-size:12px;font-weight:700;color:var(--purple)}
.pocket-open>span{display:inline-block;margin-left:12px}
.pocket-message{margin:0 8px 25px;padding:26px 30px;background:#f2f1e6;border-radius:3px 16px 16px 16px;max-width:850px;border-left:3px solid var(--purple)}
.site-footer .pocket-message p{font-size:clamp(20px,2.5vw,29px);font-weight:600;line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin:0;max-width:690px;min-height:88px}
.pocket-message>div{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}
.pocket-message>div>span{font-size:11px;color:var(--muted)}
.pocket-message button{min-height:44px;background:transparent;border:0;border-bottom:1px solid var(--purple);color:var(--purple);font-size:11px;font-weight:700;padding:7px 0;white-space:nowrap}
.enquiry-celebration{position:relative;margin-top:20px;padding:18px 20px;border-radius:8px;background:#edf3d6;color:var(--ink)}
.enquiry-celebration strong{font-size:17px;display:block;line-height:1.5}
.enquiry-celebration p{font-size:12px;margin-top:6px;color:#4c593d}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button .icon,.text-link .icon,.service-end .icon{transition:transform .2s}.button:hover>.icon,.text-link:hover>.icon,.service:hover .service-end .icon{transform:translateX(4px)}.client-logos li:hover img{filter:grayscale(0);opacity:1}.client-logos img{transition:filter .3s,opacity .3s}.client-logos li:hover img.client-logo-monochrome{filter:brightness(0)}}
@media(max-width:900px){.aha-section{gap:35px;padding-block:65px}.aha-playground{padding:25px 24px 22px}.aha-copy h2{font-size:38px}}
@media(max-width:650px){.aha-section{grid-template-columns:1fr;gap:30px;padding-block:55px}.aha-copy h2{font-size:38px}.aha-copy h2 br:nth-of-type(1){display:none}.aha-copy .aha-invitation{margin-top:16px}.aha-playground{padding:25px 22px 22px;box-shadow:5px 5px 0 #e7e8de}.aha-playground h3{font-size:25px}.pocket-note{padding-bottom:25px}.pocket-note summary{gap:14px;flex-wrap:wrap;padding:20px 3px}.pocket-open{flex-basis:100%;margin-left:69px}.pocket-message{margin-inline:0;padding:22px}.site-footer .pocket-message p{min-height:135px}.pocket-message>div{flex-wrap:wrap;gap:10px}.pocket-message button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.pocket-note summary:hover .pocket-envelope,.pocket-note details[open] .pocket-envelope{transform:rotate(-7deg)}.joy-sparkles{display:none}}
@media print{.aha-controls,.pocket-note,.enquiry-celebration{display:none!important}.aha-section{display:block;padding-block:25px}.aha-playground{box-shadow:none;margin-top:20px;max-width:500px;break-inside:avoid}}
