:root{--ink:#102d29;--green:#16754c;--accent:#bce96b;--paper:#f8f9f4;--cream:#f2ebdb;--line:#d4dcd4;--muted:#4b5c55;--sans:'Archivo',Arial,sans-serif;--body:'IBM Plex Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px}::selection{background:var(--accent);color:var(--ink)}.shell{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:20;top:-90px;left:20px;background:var(--accent);padding:12px 16px}.skip-link:focus{top:16px}h1,h2,h3{font-family:var(--sans);letter-spacing:-.045em}h2{font-size:clamp(34px,4.1vw,54px);font-weight:600;line-height:1.08;margin:0}h3{font-weight:600}p{margin:0 0 20px}.site-header{border-bottom:1px solid var(--line)}.header-row{height:92px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand,.footer-brand{display:inline-flex;align-items:center;gap:.36em;font-family:var(--sans);font-weight:700;letter-spacing:-.045em;white-space:nowrap}.brand{font-size:26px}.brand-word>span{font-weight:400}.brand-symbol{display:block;width:1.12em;height:1.12em;flex:none}.brand-word{line-height:1}nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}nav a:hover{color:var(--green)}.nav-contact{display:flex;gap:24px;border-bottom:1px solid var(--ink);padding:10px 0}.hero{padding:80px 0 78px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:70px;align-items:center}.hero h1{font-size:clamp(46px,6.25vw,84px);font-weight:800;line-height:1.04;letter-spacing:-.055em;margin:0 0 30px}.hero h1>span{display:block}.hero-green{color:var(--green)}.hero-copy>p{font-size:20px;line-height:1.5;max-width:560px;margin-bottom:30px}.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:25px;align-items:center;justify-content:center;min-height:56px;padding:16px 24px;background:var(--ink);color:var(--paper);border:0;border-radius:2px;font-weight:500;font-size:16px;cursor:pointer;transition:background .2s}.button:hover{background:var(--green)}.button:disabled{opacity:.65;cursor:wait}.text-link{display:inline-flex;gap:20px;font-weight:500;font-size:15px;border-bottom:1px solid currentColor;padding:6px 0}.text-link:hover{color:var(--green)}.hero-flow{position:relative;border:1px solid #c8d4c3;background:#edf1e7;padding:36px 28px 72px;box-shadow:12px 12px 0 #e3eadb;border-radius:4px}.flow-step{position:relative;z-index:1;display:flex;align-items:start;gap:20px;padding:21px 0;border-bottom:1px solid #cbd7c5}.flow-step:first-of-type{padding-top:4px}.flow-step:last-of-type{border:0}.flow-step strong{display:block;font-family:var(--sans);font-weight:600;font-size:21px;letter-spacing:-.03em;line-height:1.3;margin-bottom:5px}.flow-step div>span{font-size:14px;color:var(--muted)}.flow-number{font-size:12px;font-weight:500;display:grid;place-items:center;flex:none;width:32px;height:32px;background:var(--paper);border:1px solid #c2cfbb;border-radius:50%;margin-top:2px}.flow-line{position:absolute;left:44px;top:53px;width:1px;height:290px;background:#a7bd98}.flow-spark{position:absolute;bottom:18px;right:24px;width:40px;height:40px;transform:rotate(12deg)}
.brand-proof{padding:20px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}.proof-heading p{font-size:13px;color:var(--muted);margin:0}.slider-toggle{background:transparent;border:0;color:var(--muted);font-size:12px;padding:10px 0;cursor:pointer;white-space:nowrap}.slider-toggle span{margin-left:8px}.logo-window{overflow-x:auto;scrollbar-width:thin}.logo-track{display:flex;width:max-content}.logo-group{list-style:none;display:flex;align-items:center;margin:0;padding:0;gap:50px;padding-right:50px}.logo-item{width:154px;height:86px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none}.logo-item img{object-fit:contain;width:100%;height:48px;filter:grayscale(1);opacity:.8}.logo-item.invert img{filter:brightness(0);height:44px}.logo-item.symmetry img{width:42px;height:42px}.logo-item.shf img{width:72px;height:72px;opacity:.9}.logo-item span{font-size:11px;line-height:1.3;margin-top:6px}.logo-group[aria-hidden=true]{display:none}.brand-proof.is-animated .logo-window{overflow:hidden}.brand-proof.is-animated .logo-group[aria-hidden=true]{display:flex}.brand-proof.is-animated .logo-track{animation:logos 32s linear infinite}.brand-proof.is-paused .logo-track,.brand-proof:hover .logo-track,.brand-proof:focus-within .logo-track{animation-play-state:paused}@keyframes logos{to{transform:translateX(-50%)}}
.approach{padding:96px 0}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:46px}.section-intro>p{font-size:18px;color:var(--muted);margin:0;max-width:430px}.process-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:50px}.process-selectors{display:flex;flex-direction:column;border-top:1px solid var(--line)}.stage-tab{border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:none;padding:27px 24px;display:flex;align-items:center;gap:24px;color:var(--muted);cursor:pointer;text-align:left}.stage-tab>span:first-child{font-size:13px}.stage-tab strong{font-family:var(--sans);font-size:25px;font-weight:500;letter-spacing:-.04em}.stage-arrow{margin-left:auto;font-size:22px;opacity:0}.stage-tab[aria-selected=true]{background:#e8eedf;border-left-color:var(--green);color:var(--ink)}.stage-tab[aria-selected=true] .stage-arrow{opacity:1}.stage-tab:hover{color:var(--green)}.process-panels{min-width:0}.stage-panel{padding:0 0 12px}.stage-panel[hidden]{display:none}.stage-panel h3{font-size:28px;line-height:1.2;margin:0 0 18px;max-width:520px}.stage-panel>p{font-size:17px;color:var(--muted);max-width:600px;line-height:1.65}.stage-art{min-height:155px;border:1px solid var(--line);border-radius:3px;background-color:#f0f3e9;background-image:radial-gradient(#a2b59866 .65px,transparent .65px);background-size:15px 15px;display:flex;justify-content:center;align-items:center;margin:26px 0;padding:24px 20px;gap:15px;text-align:center;font-size:13px}.stage-art span:not([aria-hidden]),.stage-art strong,.map-output{background:var(--paper);border:1px solid #bccdb2;border-radius:2px;padding:12px 20px}.map-art{display:block}.map-inputs{display:flex;justify-content:center;gap:18px}.map-inputs>span{min-width:100px}.map-connector{font-size:24px;margin:4px 0}.map-output{width:max-content;max-width:100%;margin:auto;background:var(--ink);color:var(--paper);border-color:var(--ink)}.stage-result{margin:0!important;font-size:15px!important;padding-top:18px;border-top:1px solid var(--line)}.stage-result strong{color:var(--ink);font-weight:500}.rebuild-art{flex-wrap:wrap}.rebuild-art div{width:100%;font-weight:500;color:var(--green)}.build-art strong,.expand-art strong{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.outcome-section{background:var(--ink);color:var(--paper);padding:72px 0 76px;border-top:4px solid var(--accent)}.outcome-section h2{font-size:clamp(32px,3.7vw,48px)}.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:42px}.outcomes article{border-top:1px solid #3e5850;padding-top:25px}.outcome-symbol{display:block;color:var(--accent);font-family:var(--sans);font-size:38px;line-height:1;margin-bottom:18px}.outcomes h3{font-size:25px;line-height:1.2;margin:0 0 14px}.outcomes p{font-size:17px;color:#c3d0c6;max-width:320px;margin:0}.experience{padding:96px 0}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.experience-grid p{font-size:18px;color:var(--muted);line-height:1.6}.founder{display:flex;align-items:center;gap:16px;margin-top:25px}.founder div{display:flex;flex-direction:column}.founder strong{font-size:17px;font-weight:500}.founder span{font-size:14px;color:var(--muted)}.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:64px}.testimonials figure{margin:0;border-top:2px solid var(--green);padding-top:28px;display:flex;flex-direction:column;align-items:start}.testimonials blockquote{font-family:var(--sans);font-size:clamp(22px,2.4vw,29px);line-height:1.35;letter-spacing:-.035em;margin:0 0 26px;max-width:500px}.testimonials figcaption{display:flex;flex-direction:column;margin-top:auto;gap:2px;font-size:14px}.testimonials figcaption strong{font-weight:500}.testimonials figcaption span{color:var(--muted)}.testimonials .text-link{margin-top:18px;font-size:13px}.testimonial-context{font-size:12px;color:var(--muted);margin:25px 0 0}.audit{background:#e8eedf;padding:80px 0;border-top:1px solid #c9d4c0;border-bottom:1px solid #c9d4c0}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.audit-grid>div>p:not(.audit-price){font-size:17px;line-height:1.6;max-width:460px;margin-top:24px;color:var(--muted)}.audit-price{display:flex;flex-direction:column;margin:26px 0 18px}.audit-price strong{font-family:var(--sans);font-weight:500;font-size:40px;letter-spacing:-.05em}.audit-price span{font-size:14px;color:var(--muted)}.audit-deliverables{padding:32px;background:var(--paper);border:1px solid #c5d1bd;border-radius:3px}.audit-deliverables h3{font-size:23px;margin:0 0 20px}.audit-deliverables ul{list-style:none;padding:0;margin:0}.audit-deliverables li{position:relative;padding:15px 0 15px 28px;border-top:1px solid var(--line);font-size:16px}.audit-deliverables>p{font-size:14px!important;margin:20px 0 0!important}.questions{padding:80px 0}.questions-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.questions h2{font-size:clamp(30px,3.5vw,44px)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:16px;font-weight:500;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:24px;color:var(--green);transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:15px;color:var(--muted);margin:0 0 24px;line-height:1.65}
.contact{background:var(--cream);padding:96px 0;border-top:1px solid #d5cab4}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:start}.contact-copy>p{font-size:18px;line-height:1.5;max-width:395px;margin:24px 0 35px}.contact-links{display:grid;gap:14px}.contact-links a{display:flex;justify-content:space-between;gap:12px;max-width:310px;font-size:18px;padding-bottom:10px;border-bottom:1px solid #b9ad92}.contact-links a:hover{color:var(--green)}.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.field{margin-bottom:22px}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.field label span{font-weight:400;font-size:13px;color:var(--muted)}.field input,.field textarea{width:100%;min-width:0;border:1px solid #a89d84;background:#fbf8f1;border-radius:2px;padding:12px 14px;color:var(--ink);font-size:16px}.field input{height:50px}.field textarea{resize:vertical;min-height:120px}.field input:hover,.field textarea:hover{border-color:var(--ink)}.field textarea::placeholder{color:#6c6453}.honeypot{display:none}form .button{width:100%}#form-status{font-size:15px;line-height:1.5;margin:14px 0 0}#form-status:empty{display:none}.form-note{font-size:13px;line-height:1.55;color:var(--muted);margin:16px 0 0}footer{border-top:1px solid var(--line)}.footer-row{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}.footer-brand{font-size:18px}.footer-row p{margin:0}.footer-row>a:last-child{color:var(--ink);font-weight:500}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.hero-grid{gap:40px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:6.3vw}.hero-copy>p{font-size:18px}.hero-flow{padding:22px 20px 64px}.flow-step{gap:12px}.flow-step strong{font-size:19px}.flow-step div>span{font-size:12px}.flow-line{left:36px}.section-intro{gap:45px}.process-layout{gap:35px}.experience-grid,.audit-grid{gap:60px}.build-art{gap:8px;padding:20px 12px}.build-art span:not([aria-hidden]),.build-art strong{padding:12px 10px}}
@media(max-width:780px){.shell{width:calc(100% - 48px)}.header-row{height:80px}.brand{font-size:23px}nav{gap:24px;font-size:14px}nav a:nth-child(2){display:none}.hero{padding:54px 0 62px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(46px,9.5vw,72px)}.hero-copy>p{max-width:560px}.hero-flow{max-width:560px;box-shadow:8px 8px 0 #e3eadb;padding:20px 24px 58px}.flow-step{padding:17px 0;gap:18px}.flow-step strong{font-size:20px}.flow-step div>span{font-size:14px}.flow-line{left:40px;top:45px;height:270px}.flow-spark{width:30px;height:30px;bottom:16px}.proof-heading{align-items:start}.proof-heading p{max-width:290px}.logo-group{gap:30px;padding-right:30px}.logo-item{width:145px}.approach,.experience{padding:64px 0}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.section-intro>p{max-width:560px}.process-layout{grid-template-columns:1fr;gap:32px}.process-selectors{flex-direction:row;border:0}.stage-tab{flex:1;flex-direction:column;align-items:start;gap:6px;padding:16px 14px;border-top:1px solid var(--line);border-left:0;border-bottom:3px solid transparent}.stage-tab[aria-selected=true]{border-left-color:transparent;border-bottom-color:var(--green)}.stage-tab strong{font-size:20px}.stage-arrow{display:none}.stage-panel h3{font-size:27px}.stage-art{min-height:155px}.outcome-section{padding:56px 0}.outcomes{gap:24px}.outcomes h3{font-size:22px}.outcomes p{font-size:16px}.experience-grid{grid-template-columns:1fr;gap:26px}.experience-grid p{max-width:620px}.testimonials{gap:30px;margin-top:42px}.audit{padding:60px 0}.audit-grid{grid-template-columns:1fr;gap:35px}.questions{padding:60px 0}.questions-grid{grid-template-columns:1fr;gap:28px}.contact{padding:64px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy>p{max-width:500px}.contact-links a{max-width:400px}}
@media(max-width:500px){.shell{width:calc(100% - 40px)}.header-row{height:76px}.brand{font-size:22px}nav a:not(:last-child){display:none}nav{gap:0}.nav-contact{font-size:13px;gap:10px}.hero h1{font-size:clamp(33px,9.6vw,48px)}.hero{padding:42px 0 50px}.hero-copy>p{font-size:17px}.hero-actions{gap:16px}.button{font-size:15px;padding:15px 20px;gap:16px}.hero-flow{padding:16px 18px 55px}.flow-step{gap:14px}.flow-step strong{font-size:19px}.flow-step div>span{font-size:12px}.flow-line{left:34px;top:40px;height:258px}.flow-number{width:32px;height:32px}.proof-heading{gap:10px}.proof-heading p{font-size:12px;max-width:225px}.slider-toggle{font-size:11px}.brand-proof{padding-bottom:20px}.logo-item{width:128px}.logo-group{gap:24px;padding-right:24px}h2{font-size:clamp(30px,8.5vw,40px)}.section-intro>p{font-size:17px}.stage-tab{padding:14px 8px;gap:4px}.stage-tab strong{font-size:clamp(16px,4.2vw,20px)}.stage-tab>span:first-child{font-size:11px}.stage-panel h3{font-size:25px}.stage-panel>p{font-size:16px}.stage-art{font-size:12px;padding:20px 14px;gap:10px}.map-inputs{gap:8px}.map-inputs>span{min-width:0;padding:10px 14px}.map-output{font-size:13px;padding:10px 20px}.build-art{flex-wrap:wrap}.build-art span:not([aria-hidden]),.build-art strong{padding:10px 8px;max-width:86px}.stage-result{font-size:14px!important}.outcomes{grid-template-columns:1fr;gap:28px;margin-top:30px}.outcomes article{display:grid;grid-template-columns:32px 1fr;gap:8px 20px;padding-top:23px}.outcome-symbol{grid-row:1/3;font-size:32px;margin:0}.outcomes h3{margin:0}.outcomes p{max-width:none}.experience-grid p{font-size:17px}.testimonials{grid-template-columns:1fr;gap:36px}.testimonials blockquote{font-size:25px}.testimonials figure{padding-top:24px}.audit-deliverables{padding:24px}.audit-deliverables li{font-size:15px}.questions h2{font-size:34px}summary{font-size:15px;padding:20px 0}.contact-copy>p{font-size:17px}.contact-links a{max-width:none;font-size:17px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:18px}.footer-row{flex-wrap:wrap;padding:22px 0;gap:12px 20px}.footer-row>a:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.brand-proof.is-animated .logo-window{overflow-x:auto}.brand-proof.is-animated .logo-group[aria-hidden=true]{display:none}.slider-toggle{display:none}}

.logo-item .easysale-wordmark{font-family:Inter,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.48px;line-height:39px;color:#354d48;margin:0}.easysale-wordmark>span{font:inherit!important;letter-spacing:inherit;color:inherit}.easysale-wordmark sup{font-size:12px;line-height:16px;vertical-align:super;margin-left:2px}

.flow-number{width:50px;white-space:nowrap;border-radius:3px;font-size:11px}.flow-line{left:53px}.process-controls{display:flex;justify-content:flex-end;margin:0 0 12px}.process-toggle{background:none;border:0;padding:8px 0;color:var(--muted);font-size:12px;cursor:pointer}.process-toggle span{margin-left:8px}.process-toggle[hidden]{display:none}.process-panels{min-height:420px}
@media(max-width:1050px){.flow-line{left:45px}}@media(max-width:780px){.flow-line{left:49px}.process-panels{min-height:480px}}@media(max-width:500px){.flow-line{left:43px}.process-panels{min-height:560px}}
/* Motion follows the workflow. Copy and nodes remain readable throughout. */
.process-panels{display:grid;align-items:start}.stage-panel{grid-area:1/1}.stage-panel[aria-hidden=true]{pointer-events:none}.stage-tab{transition:background .35s,color .35s,border-color .35s}
.hero-flow.has-motion{padding-left:60px;padding-bottom:52px}.has-motion .flow-line{left:var(--spark-x);top:var(--rail-top);height:var(--rail-height);width:2px;background:#b5c8a8}.has-motion .flow-spark{left:0;top:0;right:auto;bottom:auto;width:24px;height:24px;padding:3px;background:#edf1e7;box-sizing:content-box;transform:translate(calc(var(--spark-x) - 16px),calc(var(--spark-y) - 16px));transition:transform 850ms cubic-bezier(.65,0,.35,1);z-index:2}.has-motion .flow-number{margin-left:0}.has-motion .flow-step{gap:14px}.has-motion .flow-step>div{margin-left:0}.flow-step strong{transition:color .6s}.flow-step.is-current strong{color:var(--green)}.hero-toggle{position:absolute;bottom:15px;right:22px;padding:7px 0;border:0;background:none;font-size:11px;color:var(--muted);cursor:pointer}.hero-toggle[hidden]{display:none}
.stage-art{overflow:hidden}.map-connector{height:38px;position:relative;display:flex;justify-content:center;gap:118px;margin:0}.map-connector i{position:relative;display:block;width:1px;height:100%;background:#aec39e}.map-connector i::after{content:'';position:absolute;top:0;left:-3px;width:7px;height:7px;border-radius:50%;background:var(--green);animation:map-transfer 3.6s infinite;animation-delay:var(--delay,0s)}.map-connector i:nth-child(2){--delay:.25s}.map-connector i:nth-child(3){--delay:.5s}@keyframes map-transfer{0%{transform:translateY(0);opacity:0}15%{opacity:1}65%{transform:translateY(30px);opacity:1}80%,100%{transform:translateY(30px);opacity:0}}
.map-output{animation:output-ready 3.6s infinite}.map-inputs>span{animation:node-ready 3.6s infinite}.map-inputs>span:nth-child(2){animation-delay:.25s}.map-inputs>span:nth-child(3){animation-delay:.5s}
.diagram-link{position:relative;flex:1;min-width:20px;max-width:50px;height:1px;background:#adc2a0}.diagram-link::after{content:'';position:absolute;right:0;top:-3px;border-right:1px solid #76996b;border-top:1px solid #76996b;width:6px;height:6px;transform:rotate(45deg)}.diagram-link i{position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--green);animation:flow-transfer 3.6s infinite}.diagram-link:nth-of-type(3) i{animation-delay:1.1s}@keyframes flow-transfer{0%,10%{left:0;opacity:0}20%{opacity:1}48%{left:calc(100% - 7px);opacity:1}60%,100%{left:calc(100% - 7px);opacity:0}}
.build-art strong,.expand-art strong{animation:output-ready 3.6s infinite}.build-art>span:last-child{animation:node-ready 3.6s 1.6s infinite}.expand-art>span:nth-of-type(3){animation:node-ready 3.6s .8s infinite}.rebuild-art>span:not([aria-hidden]){animation:node-ready 3.6s infinite}.rebuild-art>span:nth-of-type(3){animation-delay:.5s}.rebuild-art>div{position:relative;width:max-content!important;flex-basis:100%;padding-top:12px;animation:workflow-ready 3.6s infinite}.rebuild-art>div::before{content:'';position:absolute;top:0;left:calc(50% - 34px);width:68px;height:2px;background:var(--green);transform-origin:left;animation:workflow-line 3.6s infinite}@keyframes workflow-line{0%,15%{transform:scaleX(.2);opacity:.3}55%,80%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.2);opacity:.3}}@keyframes workflow-ready{0%,25%,100%{color:var(--muted)}55%,80%{color:var(--green)}}@keyframes node-ready{0%,100%{border-color:#bccdb2;background:var(--paper)}30%,55%{border-color:var(--green);background:#e3edd7}}@keyframes output-ready{0%,100%{background:var(--ink);box-shadow:0 0 0 0 #16754c00}65%,80%{background:var(--green);box-shadow:0 0 0 4px #16754c18}}
.motion-paused .stage-art *{animation-play-state:paused}.testimonials{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.testimonials blockquote{font-size:25px}.audit-price strong{font-size:clamp(30px,3.3vw,40px)}
@media(max-width:780px){.hero-flow.has-motion{padding-left:54px}.testimonials{grid-template-columns:1fr;gap:32px}.testimonials blockquote{max-width:600px}.map-connector{gap:100px}}
@media(max-width:500px){.hero-flow.has-motion{padding-left:44px}.has-motion .flow-step>div{margin-left:0}.map-connector{gap:75px}.stage-art.build-art{flex-wrap:nowrap}.build-art span:not([aria-hidden]),.build-art strong{padding:10px 5px;max-width:76px}.build-art,.expand-art{gap:7px}.diagram-link{min-width:12px}.expand-art span:not([aria-hidden]),.expand-art strong{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.has-motion .flow-spark{display:none}.has-motion .flow-number{opacity:1;transform:none}.has-motion .flow-step{gap:14px}.has-motion .flow-step>div{margin-left:0}.hero-flow.has-motion{padding-left:18px}.has-motion .flow-line{display:none}.flow-step.is-current strong{color:var(--ink)}}
.process-panels{grid-template-columns:minmax(0,1fr)}.stage-panel{min-width:0}
@media(max-width:500px){.map-inputs>span{padding:10px 8px}.expand-art span:not([aria-hidden]),.expand-art strong{padding:10px 5px}}

/* Longer consultation CTA stays readable on narrow screens. */
@media(max-width:500px){.header-row{height:auto;min-height:100px;flex-wrap:wrap;gap:10px;padding-block:18px}.nav-contact{font-size:13px}.footer-row{flex-wrap:wrap;gap:18px}.footer-row>a:last-child{font-size:13px}.stage-tab strong{font-size:clamp(12px,3.8vw,18px)}}

/* ---------- Hero system diagram ---------- */
.hero-system{
  --hero-system-rail-x:46px;
  --hero-system-rail-top:50px;
  --hero-system-rail-h:0px;
  --hero-system-spark-y:50px;
  --hero-system-fill:0px;
  --hero-system-ease:cubic-bezier(.65,0,.25,1);
  position:relative;
  width:min(100%,460px);
  max-width:100%;
  margin:0 auto;
  padding:28px 24px 20px;
  box-sizing:border-box;
  border-radius:22px;
  background:#102d29;
  color:#f2ebdb;
  border:1px solid rgba(242,235,219,.12);
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  overflow:hidden;
}
.hero-system *,.hero-system *::before,.hero-system *::after{box-sizing:border-box}

/* rail */
.hero-system__rail{
  position:absolute;z-index:0;
  left:var(--hero-system-rail-x);top:var(--hero-system-rail-top);
  width:2px;height:var(--hero-system-rail-h);
  transform:translateX(-50%);
  background:rgba(242,235,219,.14);
  border-radius:2px;
}
.hero-system__rail-fill{
  position:absolute;left:0;top:0;width:100%;
  height:var(--hero-system-fill);
  background:#bce96b;border-radius:2px;
  transition:height .9s var(--hero-system-ease);
}

/* stages */
.hero-system__stages{list-style:none;margin:0;padding:0;position:relative;z-index:1;display:grid;gap:22px}
.hero-system__stage{
  display:grid;grid-template-columns:44px minmax(0,1fr) 44px;
  gap:14px;align-items:center;min-width:0;
  opacity:.5;transition:opacity .6s ease;
}
.hero-system__stage.is-done{opacity:.78}
.hero-system__stage.is-active{opacity:1}

.hero-system__port{
  width:44px;height:44px;border-radius:50%;
  border:1.5px dashed rgba(242,235,219,.3);
  background:#102d29;
  transition:border-color .6s ease,box-shadow .6s ease,border-style .6s ease;
}
.hero-system__stage.is-done .hero-system__port{border-style:solid;border-color:rgba(188,233,107,.55)}
.hero-system__stage.is-active .hero-system__port{border-style:solid;border-color:#bce96b;box-shadow:0 0 0 6px rgba(188,233,107,.12)}

.hero-system__copy{display:grid;gap:3px;min-width:0}
.hero-system__step{
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(188,233,107,.85);
}
.hero-system__title{
  font-family:"Archivo","IBM Plex Sans",system-ui,sans-serif;
  font-weight:600;font-size:17px;line-height:1.2;
  color:#f2ebdb;overflow-wrap:anywhere;
}
.hero-system__detail{font-size:14px;line-height:1.35;color:rgba(242,235,219,.7);overflow-wrap:anywhere}

/* tiles + glyphs */
.hero-system__tile{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;
  border:1px solid rgba(242,235,219,.12);
  background:rgba(242,235,219,.04);
  color:rgba(242,235,219,.5);
  transition:color .6s ease,border-color .6s ease,background-color .6s ease;
}
.hero-system__stage.is-done .hero-system__tile{color:rgba(188,233,107,.6)}
.hero-system__stage.is-active .hero-system__tile{color:#bce96b;border-color:rgba(188,233,107,.4);background:rgba(188,233,107,.07)}
.hero-system__glyph{width:32px;height:32px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-system__glyph *{transform-box:fill-box;transform-origin:center}

/* 1 · audit */
.hero-system__bar{fill:currentColor;stroke:none;opacity:.55}
.hero-system__scan,.hero-system__mark{opacity:0}
.hero-system__stage.is-active .hero-system__scan{animation:hero-system-scan 5s var(--hero-system-ease) forwards}
.hero-system__stage.is-active .hero-system__mark{animation:hero-system-mark 5s ease-out forwards}
.hero-system__stage.is-active .hero-system__bar--narrow{animation:hero-system-narrow 5s ease forwards}
@keyframes hero-system-scan{0%{transform:translateX(0);opacity:1}55%{transform:translateX(28px);opacity:1}72%,100%{transform:translateX(28px);opacity:0}}
@keyframes hero-system-mark{0%,58%{opacity:0;transform:scale(.55)}78%,100%{opacity:1;transform:scale(1)}}
@keyframes hero-system-narrow{0%,58%{opacity:.55}78%,100%{opacity:1}}

/* 2 · improve */
.hero-system__knot{opacity:1}
.hero-system__line{stroke-dasharray:100;stroke-dashoffset:100}
.hero-system__root{fill:currentColor;stroke:none;opacity:.5}
.hero-system__stage.is-active .hero-system__knot{animation:hero-system-knot 5s ease forwards}
.hero-system__stage.is-active .hero-system__line{animation:hero-system-line 5s var(--hero-system-ease) forwards}
.hero-system__stage.is-active .hero-system__root{animation:hero-system-root 5s ease forwards}
@keyframes hero-system-knot{0%,28%{opacity:1}58%,100%{opacity:0}}
@keyframes hero-system-line{0%,36%{stroke-dashoffset:100}82%,100%{stroke-dashoffset:0}}
@keyframes hero-system-root{0%{transform:scale(.6);opacity:.5}24%{transform:scale(1.35);opacity:1}40%,100%{transform:scale(1);opacity:1}}

/* 3 · implement */
.hero-system__steps{opacity:1}
.hero-system__arc{stroke-dasharray:100;stroke-dashoffset:100}
.hero-system__head{opacity:0}
.hero-system__loop{transform-origin:24px 24px}
.hero-system__stage.is-active .hero-system__steps{animation:hero-system-steps 5s ease forwards}
.hero-system__stage.is-active .hero-system__arc{animation:hero-system-arc 5s var(--hero-system-ease) forwards}
.hero-system__stage.is-active .hero-system__head{animation:hero-system-head 5s ease forwards}
.hero-system__stage.is-active .hero-system__loop{animation:hero-system-turn 5s ease-in-out forwards}
@keyframes hero-system-steps{0%,18%{opacity:1}46%,100%{opacity:0}}
@keyframes hero-system-arc{0%,24%{stroke-dashoffset:100}64%,100%{stroke-dashoffset:0}}
@keyframes hero-system-head{0%,60%{opacity:0}68%,100%{opacity:1}}
@keyframes hero-system-turn{0%,68%{transform:rotate(0deg)}100%{transform:rotate(180deg)}}

/* 4 · expand */
.hero-system__base{opacity:.5}
.hero-system__col{fill:currentColor;stroke:none;transform-origin:center bottom}
.hero-system__stage.is-active .hero-system__col{animation:hero-system-col 1.4s var(--hero-system-ease) both}
.hero-system__stage.is-active .hero-system__col--1{animation-delay:.3s}
.hero-system__stage.is-active .hero-system__col--2{animation-delay:1s}
.hero-system__stage.is-active .hero-system__col--3{animation-delay:1.7s}
@keyframes hero-system-col{0%{transform:scaleY(.12);opacity:.4}100%{transform:scaleY(1);opacity:1}}

/* spark */
.hero-system__spark{
  position:absolute;z-index:2;left:0;top:0;
  width:30px;height:30px;display:block;
  transform:translate(calc(var(--hero-system-rail-x) - 50%),calc(var(--hero-system-spark-y) - 50%));
  transition:transform .9s var(--hero-system-ease);
  will-change:transform;
}
.hero-system__spark::before{
  content:'';position:absolute;inset:-10px;border-radius:50%;
  background:radial-gradient(circle,rgba(188,233,107,.42) 0%,rgba(188,233,107,0) 70%);
  animation:hero-system-halo 2.6s ease-in-out infinite;
}
.hero-system__spark-mark{position:relative;display:block;width:30px;height:30px}
@keyframes hero-system-halo{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}

/* controls */
.hero-system__controls{display:flex;justify-content:flex-end;margin-top:18px;min-height:32px}
.hero-system__toggle{
  appearance:none;-webkit-appearance:none;
  font:inherit;font-size:12px;font-weight:500;letter-spacing:.02em;
  color:rgba(242,235,219,.75);background:transparent;
  border:1px solid rgba(242,235,219,.2);border-radius:999px;
  padding:7px 12px;cursor:pointer;
  transition:color .3s ease,border-color .3s ease,background-color .3s ease;
}
.hero-system__toggle:hover{color:#f2ebdb;border-color:rgba(242,235,219,.45)}
.hero-system__toggle:focus-visible{outline:2px solid #bce96b;outline-offset:3px}
.hero-system__toggle[aria-pressed="true"]{color:#102d29;background:#bce96b;border-color:#bce96b}
.hero-system__toggle[hidden]{display:none}

/* paused: freeze everything */
.hero-system.is-paused .hero-system__glyph *,
.hero-system.is-paused .hero-system__spark::before{animation-play-state:paused}

/* static: reduced motion, fully readable */
.hero-system.is-static .hero-system__stage{opacity:1}
.hero-system.is-static .hero-system__tile{color:#bce96b}
.hero-system.is-static .hero-system__port{border-style:solid;border-color:rgba(188,233,107,.55)}
.hero-system.is-static .hero-system__stage:first-child .hero-system__port{border-color:#bce96b;box-shadow:0 0 0 6px rgba(188,233,107,.12)}
.hero-system.is-static .hero-system__knot{opacity:0}
.hero-system.is-static .hero-system__line,.hero-system.is-static .hero-system__arc{stroke-dashoffset:0}
.hero-system.is-static .hero-system__head{opacity:1}
.hero-system.is-static .hero-system__steps{opacity:0}
.hero-system.is-static .hero-system__spark::before{animation:none;opacity:.8}
.hero-system.is-static .hero-system__controls{display:none}
@media (prefers-reduced-motion:reduce){
  .hero-system *,.hero-system *::before,.hero-system *::after{animation:none!important;transition:none!important}
}

/* narrow viewports */
@media (max-width:400px){
  .hero-system{padding:22px 16px 16px;border-radius:18px}
  .hero-system__stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:12px}
  .hero-system__stages{gap:18px}
  .hero-system__port,.hero-system__tile{width:40px;height:40px}
  .hero-system__glyph{width:28px;height:28px}
  .hero-system__title{font-size:15.5px}
  .hero-system__detail{font-size:13px}
  .hero-system__spark,.hero-system__spark-mark{width:26px;height:26px}
}
/* Keep every step readable throughout the animation. */
.hero-system__stage,.hero-system__stage.is-done{opacity:1}.hero-system__stage.is-active .hero-system__title{color:#bce96b}.hero-system__title{transition:color .6s ease}

.booking-widget{margin-top:54px;border-top:1px solid #36534a;padding-top:34px}.booking-widget h3{font-size:28px;letter-spacing:-.035em;margin:0 0 8px}.booking-widget>p{font-size:16px;color:#d1ded0}.booking-widget iframe{display:block;width:100%;border:0;border-radius:8px;background:#fff;margin-top:24px}.booking-fallback{margin:18px 0 0!important}.booking-fallback .text-link{font-size:14px}@media(max-width:500px){.booking-widget h3{font-size:24px}.booking-widget iframe{height:720px}}

.booking-widget{border-top-color:#b8c0ab}.booking-widget>p{color:#4b5c55}

/* One booking flow: choose a slot, then enter contact details once. */
.contact-intro{display:flex;justify-content:space-between;align-items:start;gap:48px}.contact-intro .contact-copy>p{max-width:500px;margin-bottom:0}.contact-intro .contact-links{width:300px;flex:none;margin-top:8px}.contact-intro .contact-links a{max-width:none}.contact .booking-widget{margin-top:36px;border-top:0;padding-top:0}.contact .booking-widget iframe{margin-top:0}
@media(max-width:780px){.contact-intro{flex-direction:column;gap:28px}.contact-intro .contact-links{width:min(100%,400px);margin-top:0}}
/* A short first step, then a focused business-details page. */
[hidden]{display:none!important}.lead-grid{gap:96px;align-items:center}.lead-form{max-width:480px;width:100%;justify-self:end}.booking-steps{list-style:none;padding:0;margin:0 0 32px;display:flex;align-items:center;gap:24px;color:var(--muted);font-size:14px}.booking-steps li{display:flex;align-items:center;gap:8px}.booking-steps li>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #bebfad;border-radius:50%;font-size:12px;flex:none}.booking-steps li[aria-current]{color:var(--ink);font-weight:500}.booking-steps li[aria-current]>span{background:var(--ink);color:var(--accent);border-color:var(--ink)}.booking-steps .is-complete>span{border-color:var(--green);color:var(--green)}.lead-form .field{margin-bottom:20px}.lead-form .field input{height:56px;background:#fffdfa;border:1px solid #c6bda9;border-radius:5px}.lead-form .button,.details-form .button{border-radius:5px;justify-content:space-between}.flow-status{font-size:15px;margin:16px 0 0}.flow-status:empty{display:none}.consultation-page{min-height:100vh;display:flex;flex-direction:column;background:var(--paper)}.consultation-page .header-row{height:88px}.back-link{font-size:14px;color:var(--muted)}.consultation-shell{width:min(620px,calc(100% - 48px));padding:58px 0 76px;margin-inline:auto;flex:1}.consultation-shell h1{font-size:clamp(34px,5vw,50px);font-weight:600;line-height:1.08;margin:0 0 20px}.consultation-heading>p{font-size:17px;color:var(--muted);margin-bottom:32px;max-width:500px}.details-form .field input,.details-form .field textarea,.details-form select{background:#fff;border:1px solid #c9d0c5;border-radius:5px;padding:13px 14px;width:100%;color:var(--ink);min-height:52px;font:inherit}.details-form textarea{min-height:108px}.preferred-time{border:0;border-top:1px solid var(--line);margin:32px 0 20px;padding:26px 0 0;min-width:0}.preferred-time legend{float:left;width:100%;font-weight:500;font-size:18px;padding:0;margin:0 0 10px}.preferred-time legend span{font-size:14px;font-weight:400;color:var(--muted)}.preferred-time>p{clear:both;font-size:14px;color:var(--muted);margin-bottom:22px}.preferred-time .field{margin-bottom:10px}.preferred-time .time-disclosure{font-size:13px;margin:4px 0 0}.consultation-success{padding:45px 0 75px}.consultation-success h2{margin:24px 0 20px}.consultation-success p{font-size:18px;color:var(--muted)}.consultation-page footer{background:#eef1e9}.consultation-page footer .footer-row>a:last-child{display:inline}.consultation-page input:focus-visible,.consultation-page textarea:focus-visible,.consultation-page select:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media(max-width:780px){.lead-grid{gap:36px}.lead-form{max-width:none;justify-self:stretch}.consultation-shell{padding-top:38px}.consultation-page .header-row{min-height:76px;height:auto;flex-wrap:nowrap;gap:12px}.booking-steps{font-size:13px;gap:16px}.back-link{font-size:12px}.consultation-page .brand{font-size:22px}}
@media(max-width:500px){.preferred-time .form-row{grid-template-columns:1fr 1fr;gap:12px}.preferred-time .field label{font-size:12px}.preferred-time .field input,.preferred-time select{font-size:14px;padding-inline:8px}.booking-steps{gap:12px;font-size:12px}.booking-steps li{gap:6px}.consultation-page .header-row{padding-block:12px}.consultation-shell{width:calc(100% - 40px)}.lead-grid .contact-copy>p{margin-bottom:26px}}

/* Native consultation booking */
.booking-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}
.booking-slot{min-height:44px;border:1px solid #cbd5cc;border-radius:8px;background:var(--paper,#f8f9f4);color:#102d29;font:500 14px "IBM Plex Sans",sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.booking-slot:hover{border-color:#16754c;background:#edf4e9}
.booking-slot[aria-pressed="true"]{background:#102d29;border-color:#102d29;color:#fff}
.booking-slot:focus-visible{outline:3px solid #bce96b;outline-offset:3px}
.booking-slot:disabled{opacity:.55;cursor:wait}
.selected-time{font-weight:500;color:#16754c;margin-bottom:0}
.skip-booking{display:flex;margin:18px auto 0;border:0;background:transparent;font:500 14px "IBM Plex Sans",sans-serif;text-align:center;justify-content:center;cursor:pointer}
#confirm-booking:disabled{opacity:.5;cursor:default}
#meeting-link{margin:16px 0 24px}
@media(max-width:400px){.booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.skip-booking{font-size:13px}}

/* Draw UI symbols instead of relying on mobile emoji/font fallback. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex:none;overflow:visible}.outcome-symbol .ui-icon{display:block}.audit-deliverables li>.ui-icon{position:absolute;left:0;top:1.1em;color:var(--green)}.slider-toggle>.ui-icon{margin-left:8px}

/* Mobile process panels fit the visible step, with the height following the fade. */
@media(max-width:780px){.approach{padding-bottom:32px}.process-panels{min-height:0;overflow:hidden;transition:height 460ms cubic-bezier(.22,.61,.36,1)}}
@media(max-width:780px) and (prefers-reduced-motion:reduce){.process-panels{transition:none}}

/* Approved SparkSource wordmark: green lettering and one red spark ray. */
.brand-word{color:var(--green)}


/* Warm surfaces, deep green structure, red moments of action. */
:root{
  --paper:#faf8f3;--cream:#f0ece4;--line:#dddcd3;
  --accent:#eadfca;--red:#d9272e;--red-hover:#b51c23;
  --muted:#52615a;
}
.site-header{border-bottom-color:var(--line)}
.nav-contact{
  background:transparent;color:var(--ink);border:1px solid #aeb8ae;
  border-radius:5px;padding:10px 16px;gap:16px;
  transition:border-color .2s,background .2s;
}
.nav-contact>span{color:var(--red)}
.nav-contact:hover{background:#f1ede5;color:var(--ink);border-color:var(--ink)}
.hero{padding-top:76px;padding-bottom:76px}
.hero-grid{gap:76px}
.hero h1{font-weight:700;letter-spacing:-.055em;line-height:1.04}
.hero h1::after{content:'';display:block;width:54px;height:4px;background:var(--red);margin-top:26px}
.hero-copy>p{max-width:545px;font-size:19px;line-height:1.55}
.button,.audit .text-link{
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  border-radius:5px;padding:14px 20px;min-height:58px;gap:24px;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.button>span,.audit .text-link>span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--red);color:#fff;flex:none;
}
.button>span .ui-icon,.audit .text-link>span .ui-icon{width:14px;height:14px}
.button:hover,.audit .text-link:hover{background:#20453b;color:var(--paper);transform:translateY(-1px);box-shadow:0 4px 12px #102d2910}
.button:disabled{transform:none;box-shadow:none}
.lead-form .button,#confirm-booking,#meeting-link{background:var(--red);border-color:var(--red)}
.lead-form .button:hover,#confirm-booking:not(:disabled):hover,#meeting-link:hover{background:var(--red-hover);border-color:var(--red-hover)}
.lead-form .button>span,#confirm-booking>span,#meeting-link>span{background:#ffffff20}
.footer-row>a[href="#contact"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:6px}

/* The moving spark matches the logo; the rail is the red thread through the system. */
.hero-system{border-radius:14px;border-color:#345149;box-shadow:0 18px 42px #102d2910}
.hero-system__rail{background:#ffffff22}
.hero-system__rail-fill{background:var(--red)}
.hero-system__step{color:#d3d5c8;letter-spacing:.1em}
.hero-system__stage{opacity:1}
.hero-system__stage.is-done{opacity:1}
.hero-system__stage.is-active{opacity:1}
.hero-system__stage.is-done .hero-system__port{border-color:#b4c2b5}
.hero-system__stage.is-active .hero-system__port{border-color:#d9272e;box-shadow:0 0 0 4px #d9272e18}
.hero-system__stage.is-done .hero-system__tile{color:#ddd8c7}
.hero-system__stage.is-active .hero-system__tile{color:#f2ebdd;border-color:#e6dac366;background:#e6dac30d}
.hero-system__spark::before{background:none;animation:none}
.hero-system__spark-mark path:first-child{stroke:#f2ebdd}
.hero-system__spark-mark path:last-child{stroke:var(--red)}
.hero-system__title,.hero-system__stage.is-active .hero-system__title{color:#faf8f3}
.hero-system.is-static .hero-system__tile{color:#f2ebdd}
.hero-system.is-static .hero-system__port{border-color:#b4c2b5}
.hero-system.is-static .hero-system__stage:first-child .hero-system__port{border-color:var(--red);box-shadow:none}
.hero-system__detail{color:#d7ddd5}
.hero-system__toggle:focus-visible{outline-color:#faf8f3}
.hero-system__toggle[aria-pressed="true"]{background:#f2ebdd;border-color:#f2ebdd;color:var(--ink)}
.brand-proof{background:#f3f1eb;padding-bottom:24px}
.logo-window{mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.proof-heading p{color:#52615a}

/* Clear active states, with restrained red in the workflow illustrations. */
.stage-tab[aria-selected="true"]{background:#f4eee5;border-left-color:var(--red)}
.stage-tab[aria-selected="true"]>span:first-child{color:var(--red-hover)}
.stage-arrow{color:var(--red)}
.stage-tab:hover{color:var(--ink)}
.stage-panel h3{font-weight:600}
.stage-art{background-color:#f3f1eb;background-image:radial-gradient(#b8b8ac66 .65px,transparent .65px);border-color:#d8d8cd;border-radius:8px}
.stage-art span:not([aria-hidden]),.stage-art strong,.map-output{border-color:#c9cec2;border-radius:4px}
.map-connector i,.diagram-link{background:#b9c2b4}
.map-connector i::after,.diagram-link i,.rebuild-art>div::before{background:var(--red)}
.diagram-link::after{border-color:#859487}
.stage-result{border-top-color:#d8d8cd}
.stage-result strong{color:var(--green)}
@keyframes node-ready{0%,100%{border-color:#c9cec2;background:var(--paper)}30%,55%{border-color:#8da68c;background:#ecefe5}}
@keyframes output-ready{0%,100%{background:var(--ink);box-shadow:none}65%,80%{background:#20453b;box-shadow:0 0 0 3px #20453b0d}}
.outcome-section{border-top:1px solid #355149;padding-top:68px;padding-bottom:72px}
.outcome-section h2::before,.contact-copy h2::before{content:'';display:block;width:48px;height:3px;background:var(--red);margin-bottom:24px}
.outcome-symbol{color:#eadfca}
.outcomes article{border-top-color:#496057}
.outcomes p{color:#d2ddd3}
.testimonials{gap:24px;margin-top:48px}
.testimonials figure{position:relative;border:1px solid #dcded3;border-radius:8px;padding:30px 26px 26px;background:#f3f2eb}
.testimonials figure::before{content:'';position:absolute;left:26px;top:-1px;height:3px;width:38px;background:var(--red)}
.testimonials blockquote{font-size:24px;line-height:1.4}
.testimonial-context{margin-top:20px}
.audit{background:#ebece2;border-color:#d2d7ca}
.audit-deliverables{border-radius:8px;border-color:#cdd4c4;padding:32px 34px}
.audit-deliverables li>.ui-icon{color:var(--red)}
.audit-price strong{font-size:clamp(30px,3vw,38px)}
.questions summary>span{color:var(--red)}
.contact{border-top-color:#d9d5ca}
.lead-grid{gap:80px;align-items:center}
.contact-links a{border-bottom-color:#bebeb0}
.contact-links a>span{color:var(--red)}
.lead-form{padding:30px;border:1px solid #d6d7ca;border-radius:10px;background:var(--paper);box-shadow:0 12px 28px #102d2906;max-width:510px}
.lead-form .field input,.details-form .field input,.details-form .field textarea{border-color:#bdc7b8;background:#fffdf9;border-radius:5px}
.booking-steps li[aria-current]>span{background:var(--ink);color:var(--paper)}
.skip-booking{background:transparent;color:var(--ink);border:1px solid #aeb9ad;border-radius:5px;padding:14px 18px;min-height:48px;width:100%;gap:14px}
.skip-booking:hover{background:#efeee6;color:var(--ink);border-color:var(--ink)}
.skip-booking>span{color:var(--red)}
.booking-slot{border-radius:5px;background:#fffdf9;border-color:#c4ccbe}
.booking-slot:hover{background:#eef0e6;border-color:var(--green)}
.booking-slot[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.booking-slot:focus-visible{outline-color:var(--red)}
.consultation-page footer{background:#f2f0e8}
@media(max-width:1050px){.hero-grid{gap:40px}.hero-copy>p{font-size:18px}.lead-grid{gap:48px}}
@media(max-width:780px){
  .hero{padding-top:54px;padding-bottom:56px}.hero-grid{gap:38px}
  .hero-system{width:min(100%,560px);margin:0}
  .stage-tab[aria-selected="true"]{border-left-color:transparent;border-bottom-color:var(--red)}
  .outcome-section{padding-top:52px;padding-bottom:56px}
  .testimonials{gap:24px}.testimonials figure{padding:28px 24px 24px}
  .lead-grid{gap:32px}.lead-form{max-width:none;padding:28px}
}
@media(max-width:500px){
  .site-header .header-row{gap:10px}.nav-contact{font-size:12px;gap:8px;padding:10px 8px}
  .hero{padding-top:40px;padding-bottom:44px}.hero h1{font-size:clamp(33px,9.6vw,48px);line-height:1.08}
  .hero h1::after{height:3px;width:44px;margin-top:22px}.hero-copy>p{font-size:17px;margin-bottom:26px}
  .button,.audit .text-link{min-height:56px;padding:13px 17px;font-size:15px;gap:20px}
  .hero-grid{gap:32px}.brand-proof{padding-top:16px;padding-bottom:18px}
  .testimonials blockquote{font-size:23px}.contact-copy h2::before{margin-bottom:20px}
  .lead-form{padding:22px 20px}.booking-steps{gap:14px}.booking-steps li{gap:6px}
  .lead-form .booking-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  .lead-form .booking-steps li{align-items:start;line-height:1.4}
  .audit-deliverables{padding:24px}.audit-price strong{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.button:hover,.audit .text-link:hover{transform:none}}
/* A lighter hero: green typography, red progress, no dark container. */
.hero-system{background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px 0 14px 22px}
.hero-system__stages{gap:27px}
.hero-system__port{background:var(--paper);border:1px solid #c5d2c5}
.hero-system__stage.is-done .hero-system__port{border-color:var(--green)}
.hero-system__stage.is-active .hero-system__port{border-color:var(--red);box-shadow:0 0 0 5px #d9272e0b}
.hero-system__rail{background:#ccd7ca}
.hero-system__step{color:var(--green);letter-spacing:.07em}
.hero-system__title,.hero-system__stage.is-active .hero-system__title{color:var(--ink);font-size:18px}
.hero-system__detail{color:var(--green)}
.hero-system__tile{border:0;background:transparent;color:#45785d;border-radius:0}
.hero-system__stage.is-done .hero-system__tile{color:var(--green)}
.hero-system__stage.is-active .hero-system__tile{background:transparent;border:0;color:var(--red)}
.hero-system__spark-mark path:first-child{stroke:var(--green)}
.hero-system.is-static .hero-system__tile{color:var(--green)}
.hero-system.is-static .hero-system__port{border-color:#c5d2c5;background:var(--paper)}
.proof-heading p{font-size:15px;color:var(--ink);font-weight:500}
/* Deliberate paths and moving signals, with a different topology per step. */
.workflow-art{display:block;padding:0;min-height:0;background-color:#f4f2ec;background-size:20px 20px;overflow:hidden}
.workflow-canvas{display:block;width:100%;height:auto;overflow:visible}
.workflow-route{stroke:#bbcabd;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.workflow-trace{stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 93;animation:workflow-signal 3.8s cubic-bezier(.4,0,.2,1) infinite}
.workflow-return{stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 96;animation:workflow-signal 5s linear infinite}
.workflow-node>rect{fill:#fffdf8;stroke:#bfccbd;stroke-width:1;filter:drop-shadow(0 4px 4px #102d2908)}
.workflow-node text{fill:var(--ink);font:500 20px 'IBM Plex Sans',Arial,sans-serif;letter-spacing:-.35px}
.workflow-icon{stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.workflow-node--dark>rect{fill:var(--ink);stroke:var(--ink)}
.workflow-node--dark text{fill:var(--paper)}
.workflow-node--dark .workflow-icon{stroke:#f2ebdd}
.workflow-check{stroke:#f2ebdd;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;animation:workflow-check 3.8s ease infinite}
.workflow-hub{fill:var(--red);stroke:#faf8f3;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:workflow-hub 3.8s ease infinite}
.workflow-obsolete{stroke:#aeb9ac;stroke-width:1.5;stroke-dasharray:4 6;opacity:.35;animation:workflow-simplify 4s ease infinite}
.workflow-bars rect{fill:var(--green);transform-box:fill-box;transform-origin:center bottom;animation:workflow-growth 4s ease infinite}
.workflow-bars rect:nth-child(2){animation-delay:.3s}.workflow-bars rect:nth-child(3){animation-delay:.6s;fill:var(--red)}
.motion-paused .workflow-canvas *{animation-play-state:paused!important}
@keyframes workflow-signal{0%{stroke-dashoffset:8;opacity:0}10%,85%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes workflow-hub{0%,100%{transform:scale(.8)}35%,55%{transform:scale(1.18)}}
@keyframes workflow-check{0%,35%{stroke-dashoffset:30;opacity:.2}65%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes workflow-simplify{0%,15%{opacity:.5}55%,100%{opacity:.12}}
@keyframes workflow-growth{0%,10%{transform:scaleY(.35)}45%,100%{transform:scaleY(1)}}
@media(max-width:500px){.hero-system{padding:6px 0}.hero-system__stages{gap:25px}.hero-system__title,.hero-system__stage.is-active .hero-system__title{font-size:16px}.hero-system__detail{font-size:13px}.workflow-node text{font-size:21px}}
@media(prefers-reduced-motion:reduce){.workflow-canvas *{animation:none!important}.workflow-trace{stroke-dasharray:none;opacity:.55}.workflow-return{stroke-dasharray:none;opacity:.5}.workflow-check{stroke-dashoffset:0}.workflow-obsolete{opacity:.12}}

@media(max-width:500px){.workflow-node .workflow-icon+text{font-size:24px}}
/* One clock keeps the moving cursor, rail, spark and completion checks aligned. */
.hero-system{--hero-cycle-opacity:1;overflow:visible}
.hero-system__rail{opacity:var(--hero-cycle-opacity)}
.hero-system__rail-fill{height:100%;transform-origin:center top;transform:scaleY(var(--hero-fill-progress,0));transition:none;will-change:transform}
.hero-system__spark{width:44px;height:44px;border:1.5px solid var(--red);border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:none;box-shadow:0 0 0 5px #d9272e08}
.hero-system__spark-mark{width:30px;height:30px;overflow:visible;transform-origin:50% 50%;will-change:transform}
.hero-system .hero-system__spark-mark .hero-system__ray{stroke:var(--green);stroke-width:5.5;transform-origin:24px 24px}
.hero-system .hero-system__spark-mark .hero-system__ray--red{stroke:var(--red)}
.hero-system__port{display:grid;place-items:center;opacity:var(--hero-cycle-opacity);transition:border-color .45s ease,background-color .45s ease}
.hero-system__stage.is-active .hero-system__port{border-color:#c5d2c5;box-shadow:none}
.hero-system__stage.is-done .hero-system__port{border-color:#91b39b;background:#edf3ec}
.hero-system__check{display:block;width:22px;height:22px;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:var(--check-progress,0)}
.hero-system__check path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--check-progress,0))}
.hero-system.is-static .hero-system__spark{display:none}
.hero-system.is-static .hero-system__port,.hero-system.is-static .hero-system__stage:first-child .hero-system__port{border-color:#91b39b;background:#edf3ec;box-shadow:none}
@media(max-width:400px){.hero-system__spark{width:40px;height:40px}.hero-system__spark-mark{width:26px;height:26px}}
/* Give the process flows 25% more time and let them float on the page. */
.workflow-art{border:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.workflow-trace,.workflow-check,.workflow-hub{animation-duration:4.75s}
.workflow-return{animation-duration:6.25s}
.workflow-obsolete,.workflow-bars rect{animation-duration:5s}
.workflow-node>rect{fill:var(--paper);filter:drop-shadow(0 3px 3px #102d2905)}
.workflow-node--dark>rect{fill:var(--ink)}
.workflow-art--implement .workflow-node--dark .workflow-icon>path{transform-origin:12px 12px;animation:workflow-spark-turn 6.25s ease-in-out infinite}
@keyframes workflow-spark-turn{0%,18%{transform:rotate(0deg) scale(1)}40%{transform:rotate(8deg) scale(1.06)}65%,100%{transform:rotate(0deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.workflow-canvas *{animation:none!important}}
/* Keep the introduction and complete four-step process together on phones. */
@media(max-width:600px){
  body:not(.consultation-page) .site-header .header-row{height:62px;min-height:62px;padding-block:0}
  .hero{padding:clamp(12px,2.4svh,22px) 0 20px}
  .hero-grid{gap:clamp(16px,2.4svh,22px)}
  .hero h1{font-size:clamp(32px,min(9.6vw,4.8svh),42px);line-height:1.04;margin-bottom:16px}
  .hero h1::after{width:40px;height:3px;margin-top:14px}
  .hero-copy>.hero-subheadline{font-size:clamp(14px,4.1vw,17px);line-height:1.4;margin-bottom:18px;max-width:none}
  .hero-actions .button{min-height:50px;padding:11px 17px;font-size:14px;gap:22px}
  .hero-system{padding:0;width:100%;margin:0}
  .hero-system__stages{gap:clamp(10px,1.8svh,15px)}
  .hero-system__stage{grid-template-columns:36px minmax(0,1fr) 32px;gap:12px}
  .hero-system__copy{gap:2px}
  .hero-system__step{font-size:10px;line-height:1.2;letter-spacing:.06em}
  .hero-system__title,.hero-system__stage.is-active .hero-system__title{font-size:15px;line-height:1.2}
  .hero-system__detail{font-size:12.5px;line-height:1.25}
  .hero-system__port,.hero-system__spark{width:36px;height:36px}
  .hero-system__tile{width:32px;height:32px}
  .hero-system__glyph{width:26px;height:26px}
  .hero-system__spark-mark{width:24px;height:24px}
  .hero-system__check{width:20px;height:20px}
}
@media(max-width:600px) and (max-height:680px){
  .hero{padding-top:12px;padding-bottom:14px}.hero-grid{gap:16px}
  .hero h1{margin-bottom:14px}.hero h1::after{margin-top:10px}
  .hero-copy>.hero-subheadline{margin-bottom:14px}
  .hero-system__stages{gap:10px}
}
@media(max-width:600px){
  body:not(.consultation-page) .site-header .header-row{flex-wrap:nowrap;gap:8px}
  body:not(.consultation-page) .site-header .brand{font-size:20px}
  body:not(.consultation-page) .site-header .nav-contact{font-size:11px;padding:10px 7px;gap:6px;white-space:nowrap;min-height:44px}
}
@media(max-width:350px){
  body:not(.consultation-page) .site-header .brand{font-size:16px}
  body:not(.consultation-page) .site-header .nav-contact{font-size:10.5px;padding-inline:5px;gap:5px}
  .hero-copy>.hero-subheadline{font-size:14px}
}

@media(max-width:600px) and (max-height:600px){
  .hero{padding-top:10px;padding-bottom:12px}.hero-grid{gap:14px}
  .hero h1{font-size:29px;margin-bottom:12px}.hero h1::after{margin-top:8px}
  .hero-copy>.hero-subheadline{margin-bottom:10px}
  .hero-system__stages{gap:8px}
}

/* Brand signal: a short moving trail arrives at our eight-ray spark. */
.button>span .action-signal,.audit .text-link>span .action-signal{width:18px;height:18px}
.action-signal .signal-spark{transform-origin:16px 12px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.action-signal .signal-trail{stroke-dasharray:5;stroke-dashoffset:0}
a:hover .action-signal .signal-spark,a:focus-visible .action-signal .signal-spark,button:not(:disabled):hover .action-signal .signal-spark,button:focus-visible .action-signal .signal-spark{transform:rotate(90deg)}
a:hover .action-signal .signal-trail,a:focus-visible .action-signal .signal-trail,button:not(:disabled):hover .action-signal .signal-trail,button:focus-visible .action-signal .signal-trail{animation:signal-arrival .6s ease-out}
@keyframes signal-arrival{0%{stroke-dashoffset:5;opacity:.25}100%{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){.action-signal .signal-spark{transition:none;transform:none!important}.action-signal .signal-trail{animation:none!important}}

/* A closer mobile rhythm: less empty space, full-size text and touch controls. */
@media(max-width:780px){
  .brand-proof{padding-block:14px}.proof-heading{margin-bottom:6px}
  .logo-item{height:70px}.logo-item img{height:40px}.logo-item.shf img{width:56px;height:56px}
  .approach{padding:44px 0 28px}.experience,.audit,.questions,.contact{padding-block:44px}
  .section-intro{gap:16px;margin-bottom:16px}.section-intro>p{font-size:16px;line-height:1.5}
  .process-controls{margin-bottom:6px}.process-toggle{min-height:44px;padding-block:10px}
  .process-layout{gap:22px}.stage-tab{min-height:60px;padding-block:12px}
  .stage-panel{padding-bottom:4px}.stage-panel h3{font-size:24px;line-height:1.2;margin-bottom:12px}
  .stage-panel>p{font-size:16px;line-height:1.5;margin-bottom:14px}
  .workflow-art{margin-block:18px}.stage-result{padding-top:14px;line-height:1.5}
  .outcome-section{padding-block:40px}.outcome-section h2::before,.contact-copy h2::before{margin-bottom:16px}
  .outcomes{margin-top:24px;gap:20px}.outcomes article{padding-top:18px}
  .outcomes p{line-height:1.5}
  .experience-grid{gap:18px}.experience-grid p{font-size:16px;line-height:1.5;margin-bottom:16px}
  .experience-grid p:last-of-type{margin-bottom:0}.founder{margin-top:18px}
  .testimonials{margin-top:28px;gap:16px}.testimonials figure{padding:20px}
  .testimonials figure::before{left:20px}.testimonials blockquote{font-size:21px;line-height:1.35;margin-bottom:18px}
  .audit-grid{gap:24px}.audit-grid>div>p:not(.audit-price){margin-top:16px;font-size:16px;line-height:1.5}
  .audit-price{margin:20px 0 16px}.audit-deliverables{padding:22px}
  .audit-deliverables h3{margin-bottom:14px}.audit-deliverables li{padding-block:12px;line-height:1.5}
  .audit-deliverables li>.ui-icon{top:1em}
  .questions-grid{gap:20px}.questions summary{min-height:56px;padding-block:16px}
  .questions details p{margin-bottom:18px;font-size:16px;line-height:1.5}
  .lead-grid{gap:24px}.contact-copy>p,.lead-grid .contact-copy>p{margin:18px 0;font-size:16px;line-height:1.5}
  .contact-links{gap:8px}.contact-links a{min-height:44px;align-items:center;padding-bottom:8px}
  .lead-form{padding:22px}.booking-steps{margin-bottom:22px}.lead-form .field{margin-bottom:16px}
  .lead-form .field input{height:52px}.field label{margin-bottom:6px}
  .form-note{margin-top:12px}.footer-row{min-height:76px;padding-block:18px}
  .consultation-page .header-row{min-height:64px;padding-block:8px}
  .consultation-page .back-link{min-height:44px;display:inline-flex;align-items:center;gap:6px}
  .consultation-shell{padding:28px 0 40px}.consultation-shell h1{margin-bottom:16px}
  .consultation-heading>p{font-size:16px;line-height:1.5;margin-bottom:22px}
  .details-form .field{margin-bottom:16px}.details-form .field input,.details-form .field textarea{font-size:16px}
  .details-form textarea{min-height:96px}.preferred-time{margin:24px 0 18px;padding-top:18px}
  .preferred-time>p{margin-bottom:16px}.consultation-success{padding:28px 0 40px}
  .consultation-success h2{margin-block:18px}.consultation-success p{font-size:16px}
}
@media(max-width:500px){
  .approach{padding-top:36px}.experience,.audit,.questions,.contact{padding-block:36px}
  main>section:not(.hero) h2{font-size:30px;line-height:1.1}
  .brand-proof{padding-block:12px}.logo-item{height:64px;width:118px}.logo-group{gap:20px;padding-right:20px}
  .stage-tab{padding-inline:6px}.stage-panel h3{font-size:23px}
  .outcome-section{padding-block:36px}.outcomes{gap:18px}.outcomes article{gap:6px 16px;padding-top:16px}
  .outcomes h3{font-size:21px}.lead-form{padding:20px 18px}
  .audit-deliverables{padding:20px}.audit-price strong{font-size:32px}
}

/* Mobile navigation opens below the header, spanning the screen. */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:780px){
 .site-header.has-mobile-menu{position:relative;z-index:10}
 .site-header.has-mobile-menu .desktop-nav{display:none}
 .site-header .mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:8px;background:transparent;border:0;border-radius:0;color:var(--ink);cursor:pointer;flex:none}
 .mobile-menu-toggle svg{width:28px;height:24px;display:block}
 .mobile-menu-toggle path{transform-origin:14px 12px;transition:transform .25s ease,opacity .2s ease}
 .mobile-menu-toggle .menu-line-top{transform-origin:14px 5px}
 .mobile-menu-toggle .menu-line-bottom{transform-origin:14px 19px}
 .menu-open .mobile-menu-toggle .menu-line-top{transform:translateY(7px) rotate(45deg)}
 .menu-open .menu-line-middle{opacity:0}
 .menu-open .mobile-menu-toggle .menu-line-bottom{transform:translateY(-7px) rotate(-45deg)}
 .site-header .mobile-menu{display:grid;position:absolute;top:100%;left:0;right:0;grid-template-rows:0fr;background:#16754c;color:#faf8f3;visibility:hidden;pointer-events:none;transition:grid-template-rows .32s cubic-bezier(.22,.61,.36,1),visibility .32s;box-shadow:0 12px 20px rgba(0,0,0,.10)}
 .site-header.menu-open .mobile-menu{grid-template-rows:1fr;visibility:visible;pointer-events:auto}
 .mobile-menu-inner{min-height:0;overflow:hidden}
 body:not(.consultation-page) .site-header .mobile-menu nav{display:grid;gap:0;padding-block:18px 22px;font-family:var(--sans);font-size:clamp(25px,6.8vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.2}
 body:not(.consultation-page) .site-header .mobile-menu nav>a{display:flex;align-items:center;min-height:64px;padding-block:14px;white-space:normal;color:#faf8f3}
 .mobile-menu nav>a+a{border-top:1px solid #faf8f326}
 .mobile-menu nav>a:hover{color:#fff}
 .mobile-menu nav>a:focus-visible{outline-color:#faf8f3;outline-offset:2px}
}

/* The mobile introduction ends with its consultation action, after the four steps. */
.hero-grid{grid-template-areas:"copy system" "actions system";row-gap:0}
.hero-copy{grid-area:copy}.hero-system{grid-area:system}.hero-actions{grid-area:actions}
@media(max-width:780px){
  .hero-grid{grid-template-areas:"copy" "system" "actions";row-gap:22px}
  .hero-copy>.hero-subheadline{margin-bottom:0}
  .hero-actions{justify-content:center}
}
@media(max-width:600px){.hero-grid{row-gap:clamp(16px,2.4svh,22px)}}
@media(max-width:600px) and (max-height:680px){.hero-grid{row-gap:16px}}
@media(max-width:600px) and (max-height:600px){.hero-grid{row-gap:14px}}

/* A little air around the mobile workflow and its concluding action. */
.contact-copy>p:last-child{margin-bottom:0}
@media(max-width:780px){.hero-grid{row-gap:28px}.hero{padding-bottom:64px}}
@media(max-width:600px){.hero-grid{row-gap:clamp(18px,3svh,26px)}.hero{padding-bottom:28px}}
@media(max-width:600px) and (max-height:680px){.hero-grid{row-gap:18px}.hero{padding-bottom:18px}}
@media(max-width:600px) and (max-height:600px){.hero-grid{row-gap:16px}.hero{padding-bottom:16px}}

/* Logo-green actions, with the uncluttered white/red brand spark. */
.button,.audit .text-link,.nav-contact,.lead-form .button,#confirm-booking,#meeting-link{
 background:#16754c;border-color:#16754c;color:#fff;
}
.button:hover,.audit .text-link:hover,.nav-contact:hover,.lead-form .button:hover,#confirm-booking:not(:disabled):hover,#meeting-link:hover{
 background:#115f3e;border-color:#115f3e;color:#fff;
}
.button>span,.audit .text-link>span,.nav-contact>span,.lead-form .button>span,#confirm-booking>span,#meeting-link>span{
 background:transparent;border-radius:0;color:#fff;
}
.button>span .cta-spark,.audit .text-link>span .cta-spark,.nav-contact>span .cta-spark{
 width:23px;height:23px;display:block;transition:transform .25s ease;
}
a:hover .cta-spark,a:focus-visible .cta-spark,button:not(:disabled):hover .cta-spark,button:focus-visible .cta-spark{transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){.cta-spark{transition:none!important;transform:none!important}}

/* Soft pill actions with restrained depth, rather than a glossy surface. */
.button,.audit .text-link,.nav-contact,.lead-form .button,#confirm-booking,#meeting-link{
 border-radius:999px;
 background:linear-gradient(180deg,#208354 0%,#105436 100%);
 box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.button:hover,.audit .text-link:hover,.nav-contact:hover,.lead-form .button:hover,#confirm-booking:not(:disabled):hover,#meeting-link:hover{
 background:linear-gradient(180deg,#1c774c 0%,#0d472d 100%);
 box-shadow:0 5px 16px rgba(0,0,0,.10);
}
.button:disabled{box-shadow:none}

/* Make the lead capture and booking sequence explicit on both pages. */
.booking-steps,.lead-form .booking-steps{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.booking-steps li,.lead-form .booking-steps li{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;line-height:1.4}
.booking-steps li>.booking-step-label{width:auto;height:26px;padding:3px 10px;font-size:12px;font-weight:500;border-radius:999px;white-space:nowrap;color:var(--muted);border-color:#bdc7b8;background:transparent}
.booking-steps li[aria-current]>.booking-step-label{background:var(--ink);border-color:var(--ink);color:#fff}
.booking-steps .is-complete>.booking-step-label{background:#e8f0e8;border-color:#9bbca7;color:#146443}
.booking-steps li>strong{font-size:14px;font-weight:500}
.booking-step-arrow{position:absolute;top:3px;left:calc(50% - 12px);width:24px;height:24px;color:var(--green)}
@media(max-width:600px){.booking-steps li>strong{font-size:13px}.booking-steps,.lead-form .booking-steps{gap:24px}}

/* iOS date controls must stay inside the same column as the other fields. */
.preferred-time .field{min-width:0}
#booking-date{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;appearance:none;-webkit-appearance:none;text-align:center;min-height:52px;font-size:16px}
#booking-date::-webkit-date-and-time-value{min-width:0;text-align:center;margin:0}
#booking-date::-webkit-datetime-edit{min-width:0;padding:0;text-align:center}

/* Chattanooga calling options — October 11, 2026 */
.nav-phone{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--green)}
.call-icon{width:20px;height:20px;flex:none}
.mobile-call{display:none}
.contact-call{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);text-align:center;font-size:16px;line-height:1.5}
.contact-call a{color:var(--green);font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
@media(min-width:781px) and (max-width:1100px){.desktop-nav{font-size:12px;gap:14px}.desktop-nav .nav-contact{font-size:12px;gap:8px}.desktop-nav .nav-contact .ui-icon{width:22px;height:22px}.desktop-nav .call-icon{width:17px;height:17px}.header-row{gap:14px}.brand{font-size:22px}}
@media(max-width:780px){
 .header-row .brand{margin-right:auto}
 .site-header .mobile-call{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 11px;border:1px solid #16754c33;border-radius:999px;color:var(--green);font-size:13px;font-weight:600;white-space:nowrap;flex:none}
 .mobile-call:hover{background:#16754c0a}
 .site-header .mobile-menu nav>.mobile-menu-call{font-family:var(--body);font-size:clamp(18px,5.1vw,25px);letter-spacing:-.02em;gap:12px}
 .mobile-menu-call .call-icon{width:23px;height:23px}
}

/* The accent ticks clockwise; the CTA spark itself stays still. */
.cta-spark-node{animation:spark-node-tick 2s steps(1,end) infinite;animation-delay:calc((var(--node-index) - 7)*.25s)}
@keyframes spark-node-tick{0%{stroke:#D9272E}12.5%,100%{stroke:#fff}}
@media(prefers-reduced-motion:reduce){.cta-spark-node{animation:none!important}}

/* Give the hero process real presence, with its glyphs beside the copy. */
@media(min-width:781px){
 .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);column-gap:48px}
 .hero-system{padding:12px 0 12px 6px;max-width:470px}
 .hero-system__stages{gap:28px}
 .hero-system__stage{grid-template-columns:48px minmax(0,250px) 58px;gap:16px;min-height:76px}
 .hero-system__title,.hero-system__stage.is-active .hero-system__title{font-size:21px;line-height:1.18}
 .hero-system__detail{font-size:15px;line-height:1.35}
 .hero-system__step{font-size:12px}
 .hero-system__port{width:48px;height:48px}
 .hero-system__tile{width:58px;height:58px;justify-self:start}
 .hero-system__glyph{width:48px;height:48px}
 .hero-system__spark{width:48px;height:48px}
 .hero-system__spark-mark{width:34px;height:34px}
}
@media(max-width:780px){
 .hero-system{max-width:440px}
 .hero-system__stage{grid-template-columns:40px minmax(0,1fr) 44px;gap:10px}
 .hero-system__tile{width:44px;height:44px;justify-self:start}
 .hero-system__glyph{width:40px;height:40px}
 .hero-system__port{width:40px;height:40px}
 .hero-system__spark{width:40px;height:40px}
 .hero-system__spark-mark{width:28px;height:28px}
}
@media(min-width:601px) and (max-width:780px){.hero-system{margin-inline:auto}}

/* Business results precede the explanation of our process. */
.outcome-section .outcomes{gap:36px;margin-top:38px}
.outcome-section .outcomes article{display:block;padding-top:24px}
.outcome-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.outcome-section .outcomes h3{font-size:clamp(28px,2.6vw,34px);letter-spacing:-.04em;line-height:1.12;margin:0}
.outcome-section .outcome-symbol{margin:0;flex:none;width:44px;height:44px;color:#f2ebdd}
.outcome-section .outcome-symbol .ui-icon{width:44px;height:44px;display:block}
.outcome-section .outcomes ul{margin:0;padding:0;list-style:none;display:grid;gap:15px;color:#dce7df;font-size:17px;line-height:1.5}
.outcome-section .outcomes li{position:relative;padding-left:18px}
.outcome-section .outcomes li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#e85658}
@media(max-width:780px){.outcome-section .outcomes{grid-template-columns:1fr;gap:26px}.outcome-section .outcomes article{padding-top:21px}.outcome-heading{margin-bottom:16px}.outcome-section .outcomes h3{font-size:30px}.outcome-section .outcomes ul{font-size:16px;gap:11px}}
@media(max-width:500px){.outcome-section .outcomes{margin-top:28px;gap:24px}.outcome-section .outcomes h3{font-size:29px}.outcome-section .outcome-symbol,.outcome-section .outcome-symbol .ui-icon{width:38px;height:38px}}
@media(max-width:360px){
 .hero-system__stage{grid-template-columns:36px minmax(0,1fr) 40px;gap:8px}
 .hero-system__port,.hero-system__spark{width:36px;height:36px}
 .hero-system__spark-mark{width:26px;height:26px}
 .hero-system__tile{width:40px;height:40px}
}
@media(min-width:781px) and (max-width:1050px){
 .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:28px}
 .hero-system__stage{grid-template-columns:38px minmax(0,1fr) 44px;gap:10px}
 .hero-system__title,.hero-system__stage.is-active .hero-system__title{font-size:18px}
 .hero-system__detail{font-size:13px}
 .hero-system__port{width:38px;height:38px}
 .hero-system__tile{width:44px;height:44px}
 .hero-system__glyph{width:40px;height:40px}
 .hero-system__spark{width:40px;height:40px}
 .hero-system__spark-mark{width:28px;height:28px}
}

/* Compact benefits and a branded bridge from process to experience. */
.approach{padding-bottom:40px}
.experience{padding-top:40px}
.process-divider{display:flex;align-items:center;gap:18px;height:32px}
.process-divider span{height:1px;flex:1;background:#D9272E;opacity:.65}
.process-divider img{display:block;flex:none;width:32px;height:32px}
@media(max-width:780px){
 .outcome-section{padding-block:28px}
 .outcome-section h2::before{margin-bottom:12px}
 .outcome-section .outcomes{margin-top:20px;gap:16px}
 .outcome-section .outcomes article{padding-top:14px}
 .outcome-section .outcome-heading{margin-bottom:8px;gap:12px}
 .outcome-section .outcomes h3{font-size:24px;line-height:1.15}
 .outcome-section .outcome-symbol,.outcome-section .outcome-symbol .ui-icon{width:30px;height:30px}
 .outcome-section .outcomes ul{font-size:16px;line-height:1.4;gap:5px}
 .outcome-section .outcomes li{padding-left:14px}
 .approach{padding-bottom:8px}
 .experience{padding-top:12px}
 .process-divider{height:28px;gap:14px}
 .process-divider img{width:28px;height:28px}
}

/* Direct footer contacts and compact mobile proof. */
.contact-footer .footer-row{display:block;padding-block:28px;min-height:0}
.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-contacts{display:flex;gap:30px;color:var(--ink);font-size:16px}
.footer-contacts a{display:inline-flex;align-items:center;min-height:44px}
.footer-contacts a:hover{color:var(--green)}
.footer-bottom{padding-top:16px;border-top:1px solid var(--line);margin-top:16px;font-size:13px}
@media(max-width:780px){
 .experience{padding-bottom:28px}
 .experience #experience-title{font-size:28px;line-height:1.1}
 .experience-grid{gap:12px}
 .experience-grid p{line-height:1.45;margin-bottom:10px}
 .founder{margin-top:12px;gap:10px}
 .founder img{width:32px;height:32px}
 .founder strong{font-size:16px}
 .founder span{font-size:13px}
 .testimonials{margin-top:22px;gap:14px}
 .testimonials figure{padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
 .testimonials figure::before{left:0;width:26px;height:2px}
 .testimonials blockquote{font-size:18px;line-height:1.38;margin-bottom:10px;max-width:none;letter-spacing:-.025em}
 .testimonials figcaption{font-size:13px;line-height:1.35;gap:0}
 .contact-footer .footer-row{padding-block:20px}
 .footer-top{align-items:flex-start}
 .footer-contacts{flex-direction:column;gap:0;font-size:15px}
 .footer-bottom{gap:10px;margin-top:12px;padding-top:12px;font-size:12px}
}
@media(max-width:500px){
 .footer-top{flex-direction:column;gap:12px}
 .footer-contacts{width:100%;flex-direction:row;justify-content:space-between;gap:12px;flex-wrap:wrap}
 .footer-bottom{align-items:flex-start;flex-wrap:wrap}
}

/* Consultation invitation and form read as one paired composition. */
.consultation-spark-detail{display:flex;align-items:center;gap:22px;margin-bottom:32px}
.consultation-spark-detail svg{display:block;width:48px;height:48px;flex:none}
.consultation-spark-detail>span{height:1px;background:#D9272E;flex:1;max-width:100px;opacity:.85}
.consultation-panel h2::before{display:none}
.contact .consultation-panel>.consultation-meta{font-size:16px;line-height:1.4;margin:18px 0 0;color:inherit;opacity:.85}
.consultation-agenda{list-style:none;padding:0;margin:38px 0 0;display:grid}
.consultation-agenda li{position:relative;padding:18px 0 18px 20px;border-top:1px solid #ffffff26;font-size:20px;line-height:1.3;letter-spacing:-.02em}
.consultation-agenda li::before{content:'';position:absolute;left:0;top:1.42em;width:5px;height:5px;border-radius:50%;background:#e85658}
@media(min-width:781px){
 .contact .lead-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0;align-items:stretch;border:1px solid #d6d7ca;border-radius:14px;overflow:hidden;background:var(--paper);box-shadow:0 12px 32px #102d2907}
 .consultation-panel{padding:44px;background:#102d29;color:#faf8f3;display:flex;flex-direction:column;align-items:stretch}
 .consultation-panel h2{font-size:clamp(36px,3.6vw,48px);line-height:1.08}
 .consultation-panel .consultation-agenda{margin-top:auto;padding-top:32px}
 .contact .lead-form{max-width:none;padding:40px;border:0;border-radius:0;background:transparent;box-shadow:none}
}
@media(min-width:781px) and (max-width:1050px){
 .consultation-panel{padding:32px}
 .contact .lead-form{padding:28px}
 .consultation-agenda li{font-size:18px}
}
@media(max-width:780px){
 .consultation-spark-detail{display:none}
 .consultation-agenda{margin-top:16px;gap:5px}
 .consultation-agenda li{font-size:16px;padding:0 0 0 14px;border:0;line-height:1.4;letter-spacing:0}
 .consultation-agenda li::before{top:.6em}
 .contact .consultation-panel>.consultation-meta{margin-top:14px;font-size:15px}
}

/* Compact, paired booking layout and a distinct finished state. */
.consultation-shell{width:min(980px,calc(100% - 64px));padding:36px 0 44px}
.consultation-page .header-row{height:76px}
#consultation-content>.booking-steps{max-width:420px;margin-bottom:24px}
.consultation-heading h1{font-size:42px;margin-bottom:10px;letter-spacing:-.045em}
.consultation-heading>p{max-width:none;margin-bottom:26px;font-size:16px}
.details-form{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:0 36px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fffdf9;box-shadow:0 10px 30px #102d2905}
.booking-business{grid-column:1;grid-row:1 / span 2;padding-right:28px;border-right:1px solid var(--line)}
.booking-business h2{font-size:22px;letter-spacing:-.025em;margin:0 0 22px}
.booking-business h2::before,.consultation-success h2::before{display:none}
.details-form .field{margin-bottom:16px}
.details-form .field label{font-size:14px;margin-bottom:8px}
.details-form .field input{min-height:48px;background:var(--paper)}
.booking-notes summary{font-size:14px;color:var(--green);cursor:pointer;padding:12px 0;min-height:44px}
.booking-notes summary span{color:var(--muted)}
.booking-notes .field{margin-top:8px}
.business-note{font-size:14px;color:var(--muted);line-height:1.5;padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}
.details-form .preferred-time{grid-column:2;grid-row:1;margin:0;padding:0;border:0}
.preferred-time legend{font-family:var(--heading);font-size:22px;margin-bottom:8px}
.preferred-time>p{font-size:14px;margin-bottom:18px}
.preferred-time #slots-status{font-size:13px;line-height:1.4;margin:12px 0 0;min-height:18px}
.preferred-time #booking-date{min-height:48px;max-width:100%;width:100%}
.details-form .booking-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.booking-slot{font-size:13px;min-height:42px;border-radius:6px;background:#fffdf9}
.preferred-time .selected-time{font-size:13px;line-height:1.4;margin:10px 0 0;color:var(--green)}
.booking-actions{grid-column:2;margin-top:20px}
.booking-actions .button{min-height:52px;width:100%;font-size:16px;border-radius:999px}
.booking-actions .skip-booking{margin:10px auto 0;font-size:14px;min-height:44px}
.booking-actions .flow-status{font-size:14px;line-height:1.4;margin-top:10px}
.consultation-success{max-width:620px;margin:28px auto;padding:32px;text-align:center;background:#fffdf9;border:1px solid var(--line);border-radius:16px}
.success-check{display:grid;place-items:center;margin:0 auto 22px;width:56px;height:56px;border-radius:50%;color:var(--green);background:#e8f0e8;border:1px solid #a8c6b6}
.success-check svg{width:32px;height:32px}
.consultation-success h2{font-size:42px;letter-spacing:-.045em;margin:0 0 18px;outline:none}
.consultation-success .success-time{font-weight:500;font-size:18px;line-height:1.5;color:var(--green);padding:14px;border-block:1px solid var(--line);margin:0 0 18px}
.consultation-success #success-copy{font-size:16px;line-height:1.5;margin:0 auto 20px;max-width:450px}
.consultation-success .text-link{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:780px){
 .consultation-title-break{display:none}
 .contact .consultation-panel h2{font-size:clamp(22px,6.3vw,32px);line-height:1.15;letter-spacing:-.04em}
 .consultation-shell{width:calc(100% - 36px);padding:24px 0 28px}
 .consultation-page .header-row{min-height:68px;height:68px}
 #consultation-content>.booking-steps{margin-bottom:20px;max-width:380px}
 .consultation-heading h1{font-size:32px;margin-bottom:8px}
 .consultation-heading>p{font-size:15px;line-height:1.4;margin-bottom:20px}
 .details-form{grid-template-columns:1fr;padding:18px;gap:20px;border-radius:12px}
 .booking-business{grid-column:1;grid-row:1;padding:0;border:0}
 .booking-business h2{display:none}
 .booking-business .field{margin-bottom:4px}
 .booking-notes summary{padding-bottom:0}
 .business-note{display:none}
 .details-form .preferred-time{grid-column:1;grid-row:2;padding-top:18px;border-top:1px solid var(--line)}
 .preferred-time legend{font-size:20px}
 .preferred-time>p{margin-bottom:12px;font-size:13px}
 .details-form .preferred-time .field label{font-size:13px}
 .preferred-time #booking-date{min-height:46px;padding:10px;font-size:16px}
 .details-form .booking-slots{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .booking-slot{min-height:44px;font-size:12px;padding:0 3px}
 .booking-actions{grid-column:1;grid-row:3;margin-top:0}
 .booking-actions .button{min-height:50px}
 .booking-actions .skip-booking{margin-top:8px}
 .consultation-success{margin:12px auto;padding:26px 20px}
 .consultation-success h2{font-size:34px}
 .consultation-success .success-time{font-size:17px}
 .consultation-success #success-copy{font-size:15px}
}
@media(max-width:350px){.details-form{padding:14px}.details-form .booking-slots{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}}
.booking-notes{border:0;padding:0;margin:0}
.booking-notes summary{display:list-item;font-family:var(--body);font-weight:500;font-size:14px;letter-spacing:0;line-height:1.4;min-height:44px;border:0;padding:12px 0}
.booking-notes summary>span{display:inline;font:inherit;float:none;margin-left:4px}
.booking-actions .skip-booking{width:auto;border:0;border-radius:0;background:transparent;padding:4px 0;box-shadow:none;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.preferred-time legend{font-family:var(--sans)}
@media(max-width:780px){
 .consultation-shell{padding-top:20px}
 .consultation-heading>p{margin-bottom:16px}
 .details-form{gap:14px}
 .booking-notes summary{padding-bottom:4px}
}
.booking-date-field label,.preferred-time #slots-status.is-ready{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.preferred-time .booking-date-field{margin-bottom:12px}
.booking-actions .button{padding:12px 20px}

/* Four founder/team reviews added October 12; exact supplied quotations. */
.wall-of-love-title{font-family:var(--sans);font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.035em;margin:48px 0 0}
.wall-of-love-title+.testimonials{margin-top:24px}
.testimonials--additional{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
.testimonials--additional blockquote{font-size:clamp(20px,2vw,24px);max-width:none}
@media(max-width:780px){.wall-of-love-title{font-size:26px;margin-top:28px}.wall-of-love-title+.testimonials{margin-top:18px}.testimonials--additional{grid-template-columns:1fr;margin-top:14px}.testimonials--additional blockquote{font-size:18px;line-height:1.38}}
