/* Brightly Found: a more direct story, with motion that visitors can control. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{grid-template-columns:1fr 1fr;gap:54px;padding-block:64px 70px}
.hero h1{font-size:clamp(3rem,5.2vw,4.7rem);letter-spacing:-2.8px}
.hero-description{max-width:510px;margin-bottom:26px}.hero-description strong{display:block;font-weight:600;line-height:1.65;margin-bottom:10px}.hero-platforms{font-size:.9375rem;line-height:1.85}.hero-platforms>span{font-size:.75rem;letter-spacing:1px}.hero-note{max-width:420px;font-size:.875rem}
.hero-visual{min-width:0;min-height:600px;padding:25px;align-items:flex-end}.hero-photo{object-position:52% center}
.chat-demo{position:relative;z-index:1;width:100%;background:#fffffff7;border:1px solid #fff;border-radius:15px;box-shadow:0 15px 55px #061f2430;overflow:hidden;backdrop-filter:blur(12px)}
.chat-top{display:flex;align-items:center;gap:9px;padding:16px 19px;border-bottom:1px solid var(--line);font:650 .875rem/1.4 var(--display)}.chat-symbol{font-size:1.3rem}.chat-example{margin-left:auto;font:600 .6875rem/1.4 var(--body);letter-spacing:1px;color:var(--text)}
.chat-stage{padding:23px 20px 20px;min-height:310px}.chat-label{display:block;font-size:.6875rem;letter-spacing:1.15px;font-weight:700;color:var(--text);margin-bottom:9px}.chat-question{position:relative;background:var(--soft);padding:16px 42px 16px 16px;border:1px solid #dbe3dd;border-radius:12px 12px 3px 12px;min-height:112px}.chat-question p{font:550 1.0625rem/1.55 var(--display);margin:0;min-height:3.1em}.chat-question.is-typing p:after{content:'';display:inline-block;width:2px;height:1em;background:var(--ink);margin-left:2px;vertical-align:-2px;animation:cursor-blink .8s steps(1) infinite}.chat-send{position:absolute;right:13px;bottom:16px;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:var(--ink);color:white;font-size:1rem}
.chat-response{padding-top:21px;opacity:1;transform:none;transition:opacity .3s,transform .3s}.chat-response.is-waiting{opacity:0;transform:translateY(8px);pointer-events:none}.chat-response>p{font-size:.875rem;line-height:1.6;margin:0 0 12px}.chat-response .chat-label{margin-bottom:5px}.chat-business{display:flex;align-items:center;gap:11px;padding:14px;background:var(--lime);border-radius:8px}.chat-business-icon{font-size:1.6rem}.chat-business strong,.chat-business div>span{display:block}.chat-business strong{font:700 1rem/1.5 var(--display)}.chat-business div>span{font-size:.8125rem;line-height:1.5}
.chat-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 19px;border-top:1px solid var(--line);font-size:.75rem;line-height:1.5;color:var(--text)}.motion-control{flex:none;background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;font:600 .75rem/1.4 var(--body);color:var(--ink);cursor:pointer;min-height:32px}
.audience-refresh{background:var(--soft)}.audience-refresh .audience-inner{gap:30px;padding-block:23px}.audience-refresh p{min-width:175px;font-size:.875rem}.audience-refresh .audience-window{display:block;min-width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}.audience-track{display:flex;width:max-content;gap:0;align-items:center}.audience-track>span{display:inline-flex;align-items:center;gap:36px;white-space:nowrap;padding-right:36px;font:600 1rem/1.5 var(--display)}.audience-track>span:after{content:'✳';font-size:1.05rem;color:#638c36}.audience-track.is-moving{animation:business-scroll 36s linear infinite}.audience-track.is-paused{animation-play-state:paused}.audience-control{font-size:.75rem}.audience-window:hover .audience-track{animation-play-state:paused}
.audience-refresh .audience-window:has(.audience-track:not(.is-moving)){overflow-x:auto;mask-image:none}
@keyframes cursor-blink{50%{opacity:0}}
@keyframes business-scroll{to{transform:translateX(-50%)}}

/* Clear outcomes and a visible path from a first project to ongoing care. */
.visibility-steps article p{font-size:1rem}.visibility-steps article:last-child{border-bottom:0;padding-bottom:0}.visibility-grid .text-link{margin-top:16px}.services-grid .service p{font-size:1rem}.audit-deliverables strong{font-size:1rem}.audit-deliverables li div>span{font-size:.9375rem}.audit-copy .audit-sampling-note{font-size:.8125rem}.audit-form-intro{font-size:1rem}.plan-intro{min-height:88px;font-size:1rem;line-height:1.6}.plan-intro strong{font-weight:600;color:var(--ink)}.plan .eyebrow{min-height:37px;line-height:1.6}.plan-badge{font-size:.6875rem;letter-spacing:.8px}.plan-cost{min-height:132px}.plan-features{font-size:.9375rem}.plan.featured{box-shadow:0 12px 28px #193c361a}.plan.featured .plan-intro{color:#e1eae4}.scope{margin-top:25px}.scope>div p{font-size:.875rem;line-height:1.75}.pricing-aside{padding:20px 0 20px 24px;border-left:3px solid var(--lime)}
.process-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:34px}.process-heading h2{margin-bottom:0}.process-heading>p{font-size:1.125rem;line-height:1.8;color:var(--text);margin:0 0 3px;max-width:495px}.process-heading .eyebrow{margin-bottom:18px}.process-grid{gap:18px}.process-grid article{border-radius:14px;padding:29px 28px 32px;min-width:0;background:#eef3e8;border:1px solid #d9e3d2}.process-grid article:nth-child(2){background:var(--lime);border-color:var(--lime)}.process-grid article:nth-child(3){background:var(--ink);border-color:var(--ink);color:#fff}.process-grid article>span{background:#fff;color:var(--ink);width:43px;height:43px}.process-grid article:nth-child(2)>span{background:var(--ink);color:var(--lime)}.process-grid article:nth-child(3)>span{background:#31564b;color:var(--lime)}.process-grid article .process-label{font-size:.6875rem;letter-spacing:1px;line-height:1.6;font-weight:700;margin:27px 0 10px;color:var(--ink)}.process-grid h3{font-size:1.3rem;margin:0 0 13px;letter-spacing:-.5px;line-height:1.4}.process-grid p{font-size:1rem;line-height:1.75}.process-grid article:nth-child(2)>p{color:var(--ink)}.process-grid article:nth-child(3)>p{color:#d6e4dc}.process-grid article:nth-child(3) .process-label{color:var(--lime)}
.faq-section{display:block;border:0;padding:0;margin-block:10px 70px;border-radius:17px;background:var(--soft);overflow:hidden}.faq-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;background:var(--ink);color:#fff;padding:34px 38px}.faq-heading .eyebrow{font-size:.75rem;color:var(--lime);margin-bottom:13px}.faq-heading h2{font-size:2.2rem;line-height:1.2;letter-spacing:-1.2px;margin:0;color:#fff}.faq-heading>p{font-size:1rem;line-height:1.7;margin:0;color:#d9e6df}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:14px 34px 27px}.faq-column{min-width:0}.faq-list details,.faq-list details:first-child{border-top:0;border-bottom:1px solid #c7d5cb}.faq-list details:last-child{border-bottom:0}.faq-list summary{font-size:1rem;padding:21px 0;line-height:1.55;font-weight:600}.faq-list summary>span{flex:none;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e2edce;color:var(--ink);font-size:1.1rem}.faq-list details[open] summary>span{background:var(--ink);color:var(--lime);transform:rotate(45deg)}.faq-list details>p{font-size:.9375rem;line-height:1.8;padding:0 20px 22px 0;margin:0;color:var(--text)}.faq-list .faq-featured summary{color:#274f39}.faq-list .faq-featured summary>span{background:var(--lime)}.faq-list .faq-featured[open] summary>span{background:var(--ink)}
@media(max-width:1100px){.process-heading{gap:45px}.process-grid article{padding:25px 21px}.process-grid h3{font-size:1.2rem}.process-grid article .process-label{font-size:.6875rem;letter-spacing:.75px}.faq-heading{padding:30px}.faq-list{padding-inline:27px;gap:27px}.faq-heading h2{font-size:2rem}}
@media(max-width:1000px){.plan-intro,.plan .eyebrow{min-height:0}.plan-cost{min-height:0}.plan-intro br{display:none}.plan-intro strong{display:block}.plan-intro strong+br{display:none}.plan-badge{font-size:.75rem}.process-heading{gap:30px}.process-heading h2{font-size:2.4rem}}
@media(max-width:1000px){.plan .scope{margin-top:0}}
@media(max-width:760px){.process-heading{grid-template-columns:1fr;gap:19px;margin-bottom:27px}.process-heading>p{font-size:1.0625rem;max-width:600px}.process-heading h2{font-size:2.3rem}.process-heading h2 br{display:none}.process-grid{grid-template-columns:1fr;gap:15px}.process-grid article{padding:25px}.process-grid article .process-label{margin-top:22px;font-size:.75rem}.process-grid h3{font-size:1.35rem}.faq-section{margin-bottom:50px}.faq-heading{grid-template-columns:1fr;gap:17px;padding:27px 24px}.faq-heading h2{font-size:2rem}.faq-heading>p br{display:none}.faq-list{grid-template-columns:1fr;gap:0;padding:5px 24px 17px}.faq-column:first-child details:last-child{border-bottom:1px solid #c7d5cb}.faq-list summary{padding-block:20px;font-size:.9375rem}.faq-list details>p{padding-right:0}.pricing-aside{border:0;padding:0}.plan-badge{font-size:.6875rem}}
@media(max-width:1100px){.hero{gap:30px}.hero h1{font-size:clamp(3rem,5.4vw,4.3rem)}.hero-visual{padding:18px;min-height:610px}.chat-top{padding-inline:15px}.chat-stage{padding-inline:15px}.chat-bottom{padding-inline:15px}.chat-bottom>span{max-width:160px}.audience-refresh .audience-inner{gap:20px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-block:40px 44px;gap:32px}.hero h1{font-size:clamp(2.8rem,9.4vw,4rem);letter-spacing:-2px}.hero-description{max-width:560px}.hero-visual{min-height:560px;max-width:620px;width:100%;justify-self:center}.chat-demo{max-width:470px;margin-inline:auto}.chat-stage{min-height:300px}.audience-refresh .audience-inner{flex-wrap:wrap;align-items:center;gap:15px}.audience-refresh p{flex:1;min-width:0}.audience-refresh p br{display:none}.audience-refresh p strong{margin-left:5px}.audience-refresh .audience-window{order:3;flex-basis:100%}.audience-track>span{font-size:.9375rem;gap:27px;padding-right:27px}}
@media(max-width:400px){.hero-visual{min-height:550px;padding:12px}.chat-top{gap:7px;font-size:.8125rem}.chat-example{font-size:.625rem}.chat-stage{padding:18px 13px}.chat-question{padding-left:13px}.chat-question p{font-size:1rem}.chat-bottom{padding-inline:13px;font-size:.75rem}.chat-business{padding:12px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chat-question.is-typing p:after{animation:none}.chat-response{transition:none}.audience-track.is-moving{animation:none}.audience-refresh .audience-window{overflow-x:auto;mask-image:none}.audience-track>span[aria-hidden="true"]{display:none}}

/* A quieter frame for the chat, and section introductions that belong together. */
.hero-visual{min-height:0;align-self:center;align-items:center;padding:36px 26px;background:linear-gradient(145deg,#193c36 0%,#315b46 68%,#7a9951 100%)}
.chat-demo{background:#fff;backdrop-filter:none;box-shadow:0 16px 36px #0c261e30}
.services-heading{max-width:960px;margin:0 auto 38px;text-align:center}
.services-heading h2{max-width:900px;margin-inline:auto;text-wrap:balance}
.section-heading.services-heading>p:last-child{max-width:750px;margin-inline:auto}
.services-grid{gap:20px}
.services-grid .service{min-width:0;border:0;border-radius:14px;padding:30px 28px 32px;background:#f1f6df}
.services-grid .service:nth-child(2){background:#eaf1e8}
.services-grid .service:nth-child(3){background:#dcebe2}
.service-number{display:inline-block;font-size:.75rem;letter-spacing:1px;color:var(--ink)}
.services-grid .service h3{margin-top:24px;font-size:1.4rem;line-height:1.4}
.services-grid .service p{max-width:none;margin-bottom:0;color:#405b4e}
.pricing-heading{display:block;text-align:center}
.pricing-heading .section-heading{max-width:830px;margin:0 auto 50px}
.pricing-heading .section-heading>p:last-child{max-width:760px;margin-inline:auto}
.process-heading{display:block;text-align:center;max-width:900px;margin:0 auto 35px}
.process-heading h2{font-size:clamp(2.3rem,3.4vw,3.2rem);margin:0 0 18px;text-wrap:balance}
.process-heading>p:not(.eyebrow){max-width:640px;margin:0 auto;color:var(--text);font-size:1.125rem;line-height:1.65}
.process-heading>.eyebrow{max-width:none;font-size:.75rem;line-height:1.5;letter-spacing:1.5px;margin:0 0 18px;color:var(--ink)}
.faq-heading{display:block;padding:32px 38px}
.faq-heading .eyebrow{margin-bottom:12px}
@media(max-width:1100px){.services-grid .service{padding:26px 22px}.services-grid .service h3{font-size:1.3rem}}
@media(max-width:760px){
  .hero-visual{padding:28px 18px;min-height:0}
  .services-heading{margin-bottom:28px}.services-heading h2{font-size:2.2rem}
  .services-heading h2 br{display:none}.services-heading .eyebrow{max-width:290px;margin-inline:auto;line-height:1.7}
  .services-grid{gap:16px}.services-grid .service{padding:28px 25px}.services-grid .service h3{font-size:1.4rem;margin-top:18px}
  .pricing-heading .section-heading{margin-bottom:42px}
  .process-heading{margin-bottom:28px}.process-heading>p:not(.eyebrow){font-size:1.0625rem}.process-heading>p br{display:none}
  .faq-heading{padding:27px 24px}.faq-heading h2{max-width:400px;text-wrap:balance}
}
@media(max-width:400px){.hero-visual{padding:21px 12px}}

/* Let the business types carry the banner on their own. */
.audience-refresh .audience-inner{padding-block:24px}
.audience-refresh .audience-window{flex:1;flex-basis:100%;width:100%}
.audience-window:focus .audience-track{animation-play-state:paused}
.audience-window:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:4px}

/* Keep the three AI visibility offers aligned in the existing card system. */
.pricing-section .plan-cost{min-height:100px}
.pricing-section .plan-features{flex:1}
@media(min-width:1001px){.pricing-section .plan-intro{min-height:104px}}

.closing .button{max-width:360px;text-align:center}
@media(max-width:760px){.hero .button{text-align:center}.closing .button{max-width:none}.nav .button{max-width:165px}}

/* One inquiry form for the three services, within the existing brand system. */
.plan-cta{width:100%;margin-top:20px;text-align:center}
.plan.featured .plan-cta:focus-visible{outline-color:var(--lime)}
.inquiry-interest{grid-column:1/-1}
.audit-field select{font:inherit;width:100%;min-height:47px;padding:10px 12px;border:1px solid #aebeb4;border-radius:5px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5}
.audit-field select:focus{outline:3px solid var(--lime);outline-offset:1px;border-color:var(--ink)}

/* Emphasize the service context and the value of ongoing support. */
.section-heading.services-heading>p.service-context{max-width:800px;font:500 clamp(1.2rem,1.65vw,1.45rem)/1.6 var(--display);color:var(--ink);text-wrap:balance}
.message-highlight{font-weight:650;background:var(--lime);padding:.04em .16em .08em;border-radius:.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.highlight-phrase{white-space:nowrap}
.ongoing-message .message-highlight{display:inline-block;max-width:100%;line-height:1.4;vertical-align:baseline}
.service-context .context-next{display:block;margin-top:18px;font:500 clamp(1.125rem,1.4vw,1.25rem)/1.5 var(--display);color:var(--ink)}
.pricing-heading .section-heading>p.pricing-context{max-width:800px;margin-top:24px}
.pricing-snapshot{display:block;font:500 clamp(1.125rem,1.4vw,1.25rem)/1.5 var(--display);color:var(--ink)}
.ongoing-message{display:block;margin-top:12px;font:600 clamp(1.25rem,1.8vw,1.6rem)/1.65 var(--display);color:var(--ink);text-wrap:balance}
.included-cadence{display:block;margin-top:5px;font-size:.875rem;line-height:1.6;color:#d6e0db}
@media(max-width:760px){.pricing-heading .section-heading>p.pricing-context{margin-top:20px}.service-context .context-next{margin-top:16px}.ongoing-message{margin-top:10px}}

/* Keep the hero emphasis behind the whole phrase at every viewport size. */
.hero h1>.hero-highlight{display:inline-block;max-width:100%;padding:.02em .1em .07em;border-radius:.08em;background:var(--lime);line-height:1.05}
.hero h1>.hero-highlight:after{content:none}

/* Booking CTAs retain the existing buttons and their arrow at small sizes. */
.booking-cta{max-width:100%;text-align:center}
.booking-cta>span{flex:none}
.nav .booking-cta>span{display:inline}
.pricing-credit{margin:26px 0 0;color:var(--ink);font-weight:500}
